]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
(top level)
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
5395b47b
NN
12005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
2 Partial merge from libada-gnattools-branch:
3
4 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
5 * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
6 into code in gnattools/Makefile.in. Remove direct dependencies on
7 stamp-tools by tools clauses.
8 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
9 * config-lang.in: Add gnattools to $lang_dirs.
10
4fa0972f
AP
112005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
12
13 PR ada/19942
14 * utils.c (gnat_type_for_mode): Return null instead of ICE because we asked
15 for an unknown mode.
16
bd0b34a8
RH
172005-02-12 Richard Henderson <rth@redhat.com>
18
19 * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
20 validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
21
0ebbef54
AJ
222005-02-10 Andreas Jaeger <aj@suse.de>
23
24 * init.c (__gnat_initialize): Mark parameter as unused.
25
fc5a191d
AC
262005-02-09 Doug Rupp <rupp@adacore.com>
27
28 * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
29 * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
30
312005-02-09 Doug Rupp <rupp@adacore.com>
32
33 * gnatchop.adb (dup, dup2),
34 g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
35
36 * gnatlbr.adb (mkdir),
37 mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
38
39 * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
40
412005-02-09 Doug Rupp <rupp@adacore.com>
42
43 * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
44
452005-02-09 Robert Dewar <dewar@adacore.com>
46 Thomas Quinot <quinot@adacore.com>
47 Javier Miranda <miranda@adacore.com>
48 Pascal Obry <obry@adacore.com>
49 Ed Schonberg <schonberg@adacore.com>
50 Doug Rupp <rupp@adacore.com>
51 Gary Dismukes <dismukes@adacore.com>
52 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
53
54 * g-zstspl.ads: New file.
55
56 * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
57
58 * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
59 Ada 95 mode
60 Add definition of Wide_Wide_Space for AI-285
61
62 * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
63 interface (to support Ada 95 and Ada 2005 units).
64 Add Unbounded_IO files
65 Add entries for Wide_Wide packages for AI-285
66 Add list of containers packages to Ada 2005 unit list
67
68 * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
69 support new Unbounded_IO package cleanly.
70
71 * g-utf_32.ads, g-utf_32.adb: New files.
72
73 * Makefile.rtl: Add entry for g-utf_32
74 Add new files for Unbounded_IO
75 Adjust make file for new AI-285 wide wide packages
76 Add AI-302 containers to the run time.
77
78 * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
79 a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
80 subprograms for AI-301.
81
82 * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
83
84 * a-stunau.ads: Minor comment correction
85
86 * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
87 etc.
88 Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
89 (Check_RPC): Update to match changes in expanded code.
90 Clean up unused entity.
91
92 * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
93 was not taken into account.
94 This includes proper initialization with Normalize_Scalars.
95 (Get_Simple_Init_Val): Major rewrite for initialize scalars and
96 normalize scalars cases (particularly the latter) to do a better job
97 of finding invalid representations.
98
99 * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
100
101 * s-strops.ads, s-strops.adb: Remove string normalize routines, never
102 used
103
104 * exp_dist.adb: Add support for wide wide character type
105 (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
106 private part, generate stub bodies at the end of the private part,
107 not the visible part.
108 (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
109 PolyORB support.
110 (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
111 generic wrapper to execute final processing after completing the
112 expansion of the RPC receiver for an RACW.
113
114 * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
115 packages and attributes.
116 (Preset_Names): Addition of the new reserved words of Ada 2005,
117 that is interface, overriding and synchronized.
118 (Get_Pragma_Id): Give support to the use of the new reserved word
119 "interface" as a pragma name.
120 (Is_Pragma_Name): Give support to the use of the new reserved word
121 "interface" as a pragma name.
122 (Preset_Names): Add stream_size string for the Stream_Size Ada2005
123 attribute implementation.
124
125 * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
126 checks to entities that are output parameters of Asm operations.
127 Handle the Stream_Size attribute.
128 Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
129
130 * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
131
132 * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
133 for second parameter being 0.0.
134 Add support for wide wide character type.
135 (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
136
137 * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
138 s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
139 s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
140 s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
141 for wide wide character cases.
142
143 * cstand.adb: Create entities for Wide_Wide_Character and
144 Wide_Wide_String.
145
146 * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
147 accordance with AI-258.
148 Add new declarations for 16/32 bit C character types (Part of AI285)
149
150 * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
151 (Obsolescent_Warning): New field
152 (Rep_Clause): New local subprogram used to share code. Returns the rep
153 clause for which the name is given in parameter.
154 (Has_Stream_Size_Clause): New routine.
155 (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
156 (Address_Clause): Implementation is now using Rep_Clause.
157 (Alignment_Clause): Idem.
158 (Size_Clause): Idem.
159
160 * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
161 entity in non-Ada 2005 mode and generate warning.
162
163 * par-prag.adb: Add handling of one argument form for pragma Ada_05.
164 (Prag): Code cleanup. Remove old gnat pragma "overriding"
165
166 * sem_prag.adb: Add handling of one argument form for pragma Ada_05
167 (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
168 on the named unit if the pragma is not in the current compilation unit,
169 so that elaboration calls in the current unit can set up an elaboration
170 dependency on the named unit, as needed.
171 (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
172 subprogram as well as for subprograms declared within a package.
173 (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
174 pragma overriding.
175
176 * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
177 to z) to avoid some instances of duplication for Wide_Wide packages.
178
179 * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
180 characters.
181
182 * scn.adb: Char_Literal_Value field is now a Uint
183
184 * scng.adb: Significant rewrite to handle new Ada 2005 features
185 allowing wide and wide wide characters in program text, e.g. for
186 identifiers, as described in AI-285.
187 (Set_Reserved): New procedure, makes setting up keywords cleaner.
188 (Initialize_Scanner): Register the new reserved words of Ada 2005.
189 (Scan): Give support to the new reserved words.
190
191 * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
192 warning notifying that interface, overriding, and synchronized are
193 new reserved words.
194 (P_Pragma): Allow the use of the new reserved word "interface" as
195 a pragma name.
196
197 * gnatls.adb, gnatbind.adb,
198 ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
199 identifiers named "interface" to "SAL_Interface".
200
201 * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
202 (Structured Exception handling).
203 (Gen_Main_C): Idem.
204
205 * bindgen.adb:
206 (Gen_Main_Ada): Set the default exit code if specified.
207 (Gen_Main_C): Likewise.
208 Part of *DC20-006.
209 (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
210 Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
211
212 * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
213 new -Xnnn switch.
214
215 * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
216 has a collision with the new Ada 2005 "interface" reserved word.
217
218 * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
219 generate a warning notifying that interface, overriding, and
220 synchronized are new reserved words.
221
222 * scans.ads (Token_Type): Addition of the tokens corresponding to the
223 new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
224 and Tok_Synchronized.
225
226 * sem_res.adb (Resolve_Actuals): Change error messages to refer to
227 "dispatching" rather than "primitive" operations, since dispatching
228 calls are now allowed to abstract formal subprograms (which are not
229 primitive).
230 Char_Literal_Value field is now a Uint
231 (Resolve_Slice): If the prefix is an access to an unconstrained array,
232 compute the actual subtype of the designated object to impose the proper
233 index constraints.
234 (Resolve_Selected_Component): Do not insert an access check if the
235 prefix is an access type: such a node is expanded into an explicit
236 dereference, on which the access check is performed anyway. Removes
237 expensive duplicate checks.
238 (Resolve_Call): Use new flag Is_Obsolescent and field
239 Obsolescent_Warning so that pragma Obsolescent works on library
240 subprograms.
241 Add support for wide wide character type
242 (Resolve_Allocator): Replace the error message on wrong null-exclusion
243 value by a warning message.
244 (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
245 as fixed-point, and one of the operands is non-static and universal, it
246 can only be an illegal exponentiation operation, in which case there is
247 no real value to retrieve.
248
249 * exp_strm.adb: Add support for wide wide character type
250 (Build_Elementary_Input_Call): Compute the size of the stream element by
251 querying the rep chain to find the Stream_Attribute attribute value.
252 (Build_Elementary_Write_Call): Ditto.
253
254 * sem_aggr.adb: Char_Literal_Value field is now a Uint
255 Add support for wide wide character type
256 Replace the error messages on wrong null-exclusion value by warnings
257 as described in Ada 2005.
258 (Resolve_Extension_Aggregate): Document the fact that the error
259 message on class-wide expressions in extensions aggregates.
260
261 * sem_case.adb: Add support for wide wide character type
262
263 * sem_ch13.adb: Add support for wide wide character type
264 (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
265
266 * sem_ch3.adb: Add support for wide wide character type
267 (Process_Subtype): If constraint is illegal for the type, set Ekind of
268 now-useless Itype, to prevent cascaded errors on a compiler built
269 without -gnatp.
270
271 * sem_ch8.adb: Add with and use of Sem_Disp.
272 (Analyze_Subprogram_Renaming): Replace unclean uses of
273 Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
274 of Corresponding_Spec to Empty).
275 (Attribute_Renaming): Replace use of Corresponding_Spec with
276 Corresponding_ Formal_Spec and simplify condition.
277 (Use_One_Package): Check that scope of homonym of identifier is defined,
278 before checking whether it is a wrapper package.
279 Add support for wide wide character type
280
281 * sem_eval.adb: Add support for wide wide character type.
282 (Eval_Arithmetic_Op): Check for compile time known signed integer
283 overflow in the non-static case.
284 (Subtypes_Statically_Match): A formal scalar type and its base type do
285 not statically match.
286
287 * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
288 "not in" for test of N_Formal_Subprogram_Declaration (which is now a
289 subtype).
290 (Unit_Declaration_Node): Ditto.
291 (Is_Variable_Prefix): For the case of an indexed component whose prefix
292 has a packed array type, the prefix has been rewritten into a type
293 conversion. Determine variable-ness from the converted expression.
294 Handle wide wide character cases.
295
296 * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
297
298 * stringt.ads, stringt.adb: Handle full UTF-32 range.
299 Remove ["0A"] from comment, since it can look like a line terminator.
300 Currently we don't permit this, but this is under discussion by the
301 ARG, and it is easy enough to use a different example.
302
303 * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
304 handling UTF-32 encoding for wide wide character.
305 Implement new brackets coding ["hhhhhhhh"]
306 Add UTF-8 encodings for full UTF-32 range
307
308 * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
309
310 * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
311 bit range Add full UTF-32 support.
312 (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
313 notify that constraint error will be raised at run-time
314 because a null value is assigned to a null-excluding object.
315 Remove some obsolete declarations and make Char_Code
316 unsigned.
317
318 * a-except.adb (Rcheck_30): New subprogram. Addition of the message
319 corresponding to CE_Null_Not_Allowed, and adjust the output of all the
320 Rcheck subprograms.
321
322 * checks.adb (Check_Null_Not_Allowed): Replace the error message on
323 wrong null-exclusion value by a warning message.
324 (Enable_Range_Check): Do range check if the prefix is an
325 explicit dereference whose designated object is an unconstrained array.
326 Current algorithm for removing duplicate checks is over-eager in this
327 case.
328
329 * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
330 null-exclusion value by a warning message
331
332 * atree.h, atree.ads, atree.adb: Remove Char_Code field support
333 completely. Add support for Uint2 field
334
335 sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
336 exp_prag.adb: Char_Literal_Value field is now a Uint.
337
338 * exp_util.adb (Insert_Actions): Replace
339 N_Formal_Subprogram_Declaration by
340 N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
341 Char_Literal_Value field is now a Uint.
342
343 * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
344 defined for subprogram renaming declarations. When set, the field
345 indicates the defining entity of a corresponding formal subprogram
346 when the renaming corresponds to a formal subprogram association in an
347 instantiation.
348 (Set_Corresponding_Formal_Spec): New procedure to return
349 Corresponding_Formal_Spec field.
350 Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
351 (which is now a subtype).
352 Char_Literal_Value field is now a Uint
353
354 * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
355 pointer to the base of the dispatch table.
356 Minor changes to comments.
357 (Controlling_Type): New function for determining the tagged type
358 associated with a tagged primitive subprogram.
359 (Expand_Dispatching_Call): Add support for a controlling actual that is
360 directly a value of type Ada.Tag rather than a tagged object.
361
362 * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
363 describing the new layout.
364 (Dispatch_Table): The expander computes the actual array size, allocates
365 the Dispatch_Table record accordingly, and generates code that displaces
366 the base of the record after the Typeinfo_Ptr component. The access to
367 these components is done by means of local functions.
368 (Offset_To_Top): New function.
369 (Typeinfo_Ptr): New function.
370 (Get_TSD): Modified to access the new position of the TSD.
371 (Set_TSD): Modified to save the TSD in its new position.
372
373 * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
374 case of formal abstract subprograms. Add check and message for -gnat05.
375 Update comments.
376
377 * sem_ch12.adb: Add with and use for Sem_Disp.
378 (Analyze_Associations): Minor change from "=" to "in" for use of
379 N_Formal_Subtype_Declaration (which is now a subtype).
380 (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
381 N_Formal_Subtype_Declaration (which is now a subtype).
382 (Analyze_Formal_Subprogram): Add handling for
383 N_Formal_Abstract_Subprogram, marking the formal as abstract and
384 dispatching, setting the controlling status of the formal parameters
385 and result, and issuing an error if there is no controlling type for
386 the formal subprogram.
387 (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
388 which is an unclean use of that field, we set the new field
389 Corresponding_Formal_Spec to make the formal subprogram available to
390 processing in Analyze_Subprogram_Declaration.
391 (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
392 Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
393 Constrained, so that it is is does not statically match its anonymous
394 base type.
395
396 * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
397 abstract formal subprograms in error check for functions returning
398 abstract types. Set scope of new designator for
399 a parameterless subprogram, so that it is available when checking the
400 body for nested subprograms, before full analysis of said body.
401 (Analyze_Subprogram_Body): Warn on inlining bodies with nested
402 subprogram only if inner one comes from source.
403 (Analyze_Function_Call): If the call is given in object notation, the
404 analysis of the name rewrites the node and analyzes it with the proper
405 argument list. After analyzing the name, if the call has been rewritten
406 and the result type is set, no further analysis is needed.
407 (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
408 mark in function specification, in a context where the formals are
409 visible and hide outer homographs.
410
411 * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
412 as the tagged type for the cases of abstract formal subprograms and
413 renamings of those. Clean up spec comments.
414 (Check_Dispatching_Context): Add error message to indicate "abstract
415 procedure", covering the case of a call to a formal abstract procedure
416 that has statically tagged operands.
417 (Check_Dispatching_Call): Check for the case of an actual given by
418 a tag-indeterminate function call whose type is an ancestor of the
419 containing call's associated tagged type. This situation can occur
420 for inherited primitives with function defaults. In this case we
421 use the tagged type's tag directly as the controlling argument for
422 the calls.
423 (Expand_Call): Name change on call to Expand_Dispatch_Call.
424
425 * sprint.adb (Sprint_Node_Actual): Split
426 N_Formal_Subprogram_Declaration into two alternatives for the new
427 cases N_Formal_Abstract_Subprogram_Declaration and
428 N_Formal_Concrete_Subprogram_Declaration.
429 Char_Literal_Value field is now a Uint.
430
431 * trans.c: Get rid of junk Uint2 reference.
432 Char_Literal_Value field is now a Uint.
433 (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
434 (gigi): Correct third arg to gimplify_body.
435
436 * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
437 (TYPE_LANG_FLAG_0): Check for record or union.
438
439 * treepr.adb: Char_Literal_Value field is now a Uint
440
441 * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
442 UI_From_CC.
443
444 * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
445 Add full UTF-32 support
446 Char_Code is now 32 bits
447
448 * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
449 wide character UTF_32 line terminators.
450 Initialize Main_Source_File to avoid error when no main
451 source is loaded.
452
453 * errout.adb (Finalize): Do not check Num_SRef_Pragmas
454 (Main_Source_File) when no main source has been loaded, to avoid
455 potential crash.
456
4572005-02-09 Robert Dewar <dewar@adacore.com>
458
459 * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
460 Fix name of Set routine
461
462 * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
463 fixed packages.
464
465 * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
466 a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
467 fixed packages
468
469 * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
470 forms of Get_Line subprograms for AI-301.
471
472 * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
473 a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
474 a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
475 a-stwima.ads: Minor reformatting.
476
4772005-02-09 Doug Rupp <rupp@adacore.com>
478 Thomas Quinot <quinot@adacore.com>
479
480 * adaint.c, adaint.h
481 [VMS] (to_ptr32): New function.
482 (MAYBE_TO_PTR32): New macro.
483 (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
484 for pointer size.
485 [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
486 [VMS] (#define fork()): Remove since unneccessary.
487 (__gnat_set_close_on_exec): New routine to support
488 GNAT.OS_Lib.Set_Close_On_Exec.
489
490 * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
491 the parent side as close-on-exec so that they are not inherited by the
492 child.
493
494 * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
495 set or clear the FD_CLOEXEC flag on a file descriptor.
496
4972005-02-09 Eric Botcazou <ebotcazou@adacore.com>
498 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
499
500 Fix for c330001 - PR ada/19386
501
502 * decl.c:
503 (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
504 on the field if Pragma Component_Alignment (Storage_Unit).
505 (gnat_to_gnu_entity, case object): Do not treat a renaming that has
506 side-effects as if it were a constant; also make SAVE_EXPR to protect
507 side-effects.
508 (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
509 UNION_TYPE.
510 (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
511 (components_to_record): Test it.
512 Fix improper usage of REFERENCE_CLASS_P.
513
514 * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
515 RECORD_TYPE.
516
517 * utils2.c: Minor reformatting.
518
519 * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
520 handle other cases like RECORD_TYPE.
521
522 * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
523
5242005-02-09 Ed Schonberg <schonberg@adacore.com>
525
526 * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
527 component of an array of arrays in an assignment context, and the
528 aggregate has component associations that require sliding on
529 assignment, force reanalysis of the aggregate to generate a temporary
530 before the assignment.
531 (Must_Slide): Make global to the package, for use in Gen_Assign.
532
5332005-02-09 Ed Schonberg <schonberg@adacore.com>
534
535 * exp_ch4.adb (Expand_Composite_Equality): If a component is an
536 unchecked union with no inferable discriminants, return a
537 Raise_Program_Error node, rather than inserting it at the point the
538 type is frozen.
539 (Expand_Record_Equality, Component_Equality): Handle properly the case
540 where some subcomponent is an unchecked union whose generated equality
541 code raises program error.
542
5432005-02-09 Doug Rupp <rupp@adacore.com>
544
545 * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
546 [VMS] (#define exit hack): Remove.
547
5482005-02-09 Pascal Obry <obry@adacore.com>
549 Arnaud Charlet <charlet@adacore.com>
550
551 * init.c (__gnat_initialize): Add a new parameter eh which contains the
552 address of the exception registration. The Win32 version of this
553 routine calls __gnat_install_SEH_handler() to initialize the SEH
554 (Structured Exception Handling) handler.
555 (__gnat_error_handler) [Win32]: Removed. Not needed as we use
556 SEH (Structured Exception Handling) now.
557 (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
558 (__gnat_initialize for ppc-vxworks): Adjust comments and the
559 preprocessor condition protecting the call to the extra eh setup
560 subprogram, which is only available for the ppc target.
561 (__gnat_clear_exception_count): replaced reference to
562 variable taskIdCurrent by call to taskIdSelf(), cleaner.
563
564 * seh_init.c: New file.
565
566 * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
567 (GNATBIND_OBJS): Idem.
568
569 * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
570 routine takes a new parameter (a pointer to the exception registration
571 for the SEH (Structured Exception Handling) support.
572
573 * raise.h: (__gnat_install_SEH_handler): New prototype.
574 Update copyright notice.
575
576 * s-tassta.adb (Task_Wrapper): Declare the exception registration
577 record and initialize it by calling __gnat_install_SEH_handler.
578
5792005-02-09 Vincent Celier <celier@adacore.com>
580
581 * make.adb (Gnatmake): Do not fail when the main project has no object
582 directory.
583
5842005-02-09 Doug Rupp <rupp@adacore.com>
585
586 * Makefile.in [VMS] (LN,LN_S): Define as cp -p
587 Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
588 [VMS]: Add translations for g-enblsp.adb.
589
590 * s-asthan-vms.adb: Removed.
591 * s-asthan-vms-alpha.adb: Added.
592
5932005-02-09 Pascal Obry <obry@adacore.com>
594
595 * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
596 (LIBGNAT_OBJS): Add seh_init.o.
597
5982005-02-09 Arnaud Charlet <charlet@adacore.com>
599
600 PR ada/16592
601
602 * Makefile.in: Link all gnat tools with -static-libgcc, since
603 -shared-libgcc is now used by default on some systems (e.g. linux with
604 recent binutils).
605 Remove references to Makefile.prolog/generic, no longer used.
606
6072005-02-09 Vincent Celier <celier@adacore.com>
608
609 * prj-makr.adb (Process_Directory): Put file name in canonical case
610 before matching against the patterns.
611 If gnatname has been invoked as <prefix>-gnatname
612 then invoke the compiler as <prefix>-gcc, not just "gcc".
613
6142005-02-09 Ed Schonberg <schonberg@adacore.com>
615
616 * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
617 with expansion disabled. The actual subtype is needed among other
618 places when the selected component appears in the context of a loop
619 bound, and denotes a packed array.
620 (Operator_Check): Always use the first subtype in the
621 error message, to avoid the appearance of internal base types.
622 (Transform_Object_Operation): Copy each actual in full
623 to the parameter associations of the constructed call, rather than
624 using the shallow copy mechanism of New_Copy_List. This ensures that
625 the chaining of named associations is done properly.
626 (Complete_Object_Operation): Rewrite node, rather than
627 replacing it, so that we can trace back to the original selected
628 component.
629
630 * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
631 and calls that use object notation, if the called function is not
632 declared in a withed unit, place the elaboration constraint on the
633 unit in the context that makes the function accessible.
634 (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
635 imposes an elaboration constraint between two packages.
636
6372005-02-09 Ed Schonberg <schonberg@adacore.com>
638
639 * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
640 views of a private type after handling its private dependents, to
641 maintain proper stack discipline between entry and exit from the
642 package.
643
6442005-02-09 Cyrille Comar <comar@adacore.com>
645
646 * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
647 Minor reformatting.
648
6492005-02-09 Arnaud Charlet <charlet@adacore.com>
650
651 * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
652 fields for foreign threads.
653
6542005-02-09 Doug Rupp <rupp@adacore.com>
655
656 * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
657 recursion warnings when compiled with -gnatdm.
658
6592005-02-09 Robert Dewar <dewar@adacore.com>
660
661 * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
662 Slight fix to documentation of -gnaty with no parameters
663
664 * xr_tabls.ads: Add ??? comment for missing overall comment
665
666 * xsinfo.adb: Make default file name be sinfo.h, since this is what
667 we now use by default.
668
669 * xsnames.adb: Adjust end of file test to look for five space followed
670 by '#' instead of six spaces. The format of xsnames.adb was modified
671 in the last update.
672
673 * a-numeri.ads: Add reference to AI-388 for greek letter pi
674 identifier.
675
676 * clean.adb: Minor reformatting.
677
678 * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
679 gnatname.adb: Minor reformatting
680 Add 2005 to copyright output when utility is run
681
682 * csets.adb: Eliminate obsolete comment
683
684 * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
685 Update comments.
686
687 * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
688
6892005-02-09 Sergey Rybin <rybin@adacore.com>
690
691 * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
692 the difference between compact and incompact layout and add the record
693 representation clause to the example illustrating different layouts.
694 Add the description of '-A5' gnatpp option ("align 'AT' keywords in
695 component clauses").
696
6972005-02-09 Florian Villoing <villoing@adacore.com>
698
699 * gnat_ugn.texi: Fix typos.
700 Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
701 @file.
702 Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
703 in the generated documentation.
704
7052005-02-09 Arnaud Charlet <charlet@adacore.com>
706
707 * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
708 longer supported.
709 Update linker wrapper when linking with non GNU C++.
710
7112005-02-09 Pascal Obry <obry@adacore.com>
712
713 * gnat_ugn.texi:
714 Document the procedure to debug the DllMain routine on Windows.
715 Add note about -funwind-tables and mixed Ada and C/C++ programming in
716 ZCX mode.
717 Document new BIND qualifer /RETURN_CODES=VMS.
718
7192005-02-09 Ben Brosgol <brosgol@adacore.com>
720
721 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
722 Edited gnatmetric chapter
723
7242005-02-09 Robert Dewar <dewar@adacore.com>
725
726 * gnat_rm.texi:
727 Changes to document new wide wide character support
728 For AI-285
729 Update documentation on Normalize_Scalars and Initialize_Scalars
730
7312005-02-09 Pascal Obry <obry@adacore.com>
732
733 * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
734
7352005-02-09 Jose Ruiz <ruiz@adacore.com>
736
737 * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
738 from the VxWorks kernel) that is needed for getting the active
739 priority of the different tasks.
740
741 * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
742 Use a pragma Elaborate_Body in the spec file instead.
743 Noticed by code reading.
744
7452005-02-09 Thomas Quinot <quinot@adacore.com>
746
747 * exp_util.ads: Minor correction in comment.
748
7492005-02-09 Arnaud Charlet <charlet@adacore.com>
750
751 * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
752 since this procedure is now too complex to be worth inlining.
753
c6a912da
RH
7542005-02-09 Richard Henderson <rth@redhat.com>
755
756 * utils.c (gnat_define_builtin): Remove.
757 (gnat_install_builtins): Use build_common_builtin_nodes.
758
4c2d6a70
AC
7592005-02-09 Arnaud Charlet <charlet@adacore.com>
760
761 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
762 a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
763 a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
764 a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
765 a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
766 a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
767 a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
768 a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
769 a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
770 a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
771 a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
772 a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
773 a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
774 a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
775 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
776 a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
777 a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
778 a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
779 a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
780 a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
781 a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
782 a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
783 a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
784 a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
785 a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
786 a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
787 a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
788 a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
789 a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
790 a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
791 a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
792 a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
793 a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
794 a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
795 library.
796
74a22497
LG
7972005-01-27 Laurent GUERBY <laurent@guerby.net>
798
799 * Makefile.in: Fix a-intnam.ads from previous commit,
800 add 2005 to copyright.
801 * a-intman-rtems.ads: Renamed to...
802 * a-intnam-rtems.ads:
803
7d921ba4
LG
8042005-01-27 Laurent GUERBY <laurent@guerby.net>
805
806 * Makefile.in: Rename GNAT RTEMS specific files.
807 * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
808 5rosinte.ads, 5rparame.adb: Replaced by files below.
809 * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
810 s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
811
9011d4bb
JS
8122005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
813 Laurent GUERBY <laurent@guerby.net>
814
815 PR ada/19488
816 * 5rosinte.ads: Add No_Key constant.
817 * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
818 * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
819
d487e3c1
LG
8202005-01-26 Laurent GUERBY <laurent@guerby.net>
821
822 PR ada/19414
823 * i-cobol.adb (Valid_Numeric): Handle zero length case.
824
3f38e738
RH
8252005-01-20 Richard Henderson <rth@redhat.com>
826
827 * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
828 a-intnam-linux.ads and system-linux-alpha.ads.
829 * a-intnam-linux-alpha.ads: Remove file.
830 * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
831 * system-linux-alpha.ads: New file.
832
4d960a7e
JJ
8332005-01-18 Jakub Jelinek <jakub@redhat.com>
834
835 PR ada/13470
836 * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
837 set to the new string.
838
b4c6a3a2
TM
8392005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
840
841 * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
842 to True.
843
8d5e1df2
RH
8442005-01-18 Richard Henderson <rth@redhat.com>
845
846 * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
847 THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
848 for alpha-linux.
849 * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
850
03eef11c
AP
8512005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
852
853 * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
854 (GCC_ZCX_Support): Likewise.
855
bc7566ca
BB
8562005-01-11 Bastian Blank <waldi@debian.org>
857
858 * system-linux-s390.ads: Define Preallocated_Stacks.
859 * system-linux-s390x.ads: Likewise.
860
e550819c
AC
8612005-01-04 Arnaud Charlet <charlet@adacore.com>
862
863 * gnat_ugn.texi: Fix texi errors with null variables.
864
376a74d4
AC
8652005-01-03 Thomas Quinot <quinot@adacore.com>
866
867 * gen-soccon.c: New utility program to generate g-soccon.ads
868 automatically.
869
870 * socket.c, gsocket.h: Split inclusion of system header files into a
871 gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
872
873 * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
874 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
875 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
876 g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
877 should not be edited by hand anymore, but should be regenerated using
878 gen-soccon.
879
8802005-01-03 Robert Dewar <dewar@adacore.com>
881 Ed Schonberg <schonberg@adacore.com>
882 Vincent Celier <celier@adacore.com>
883
884 * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
885 on/off, since this is an obsolescent feature, for which we now generate
886 a warning.
887
888 * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
889 warning mode is set and obsolescent usage of this attribute occurs.
890 (Resolve_Access, case 'Access): Note that GNAT uses the context type to
891 disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
892 predates, and partly motivates, the adoption of the AI.
893 Implement new Ada 2005 attribute Mod
894
895 * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
896 attribute Mod.
897
898 * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
899
900 * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
901 pragma restrictions.
902 New entry for Ada 2005 attribute Mod.
903
904 * par-prag.adb:
905 Add recognition of new pragma Restrictions No_Dependence
906 Recognize restriction No_Obsolescent_Features at parse time
907
908 * bcheck.adb: Add circuitry for checking for consistency of
909 No_Dependence restrictions.
910
911 * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
912 restrictions.
913
914 * restrict.ads, restrict.adb: Add subprograms to deal with
915 No_Dependence restrictions.
916
917 * rtsfind.adb: Check that implicit with's do not violate No_Dependence
918 restrictions.
919
920 * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
921 sem_attr.adb: Add check for new restriction No_Obsolescent_Features
922
923 * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
924 dummy parameter to scng instantiation.
925 Needed for new restriction No_Obsolescent_Features
926
927 * scn.adb: (Obsolescent_Check): New procedure
928 Needed for new restriction No_Obsolescent_Features
929
930 * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
931 specified by AI-285, needed for implementation of AI-388 (adding greek
932 pi to Ada.Numerics).
933 Add new generic formal to scng, needed for new restriction
934 No_Obsolescent_Features.
935
936 * s-rident.ads: Add new restriction No_Obsolescent_Features.
937
938 * ali.ads, ali.adb: Adjustments for reading new No_Dependence
939 restrictions lines.
940 (Scan_ALI): When finding an unexpected character on an R line, raise
941 exception Bad_R_Line, instead of calling Fatal_Error, so that, when
942 Ignore_Errors is True, default restrictions are set and scanning of the
943 ALI file continues with the next line. Also, when Bad_R_Line is raised
944 and Ignore_Errors is True, skip to the end of le line.
945
946 * sem_ch10.adb: Check that explicit with's do not violate
947 No_Dependence restrictions.
948 (Install_Withed_Unit): Add code to implement AI-377 and diagnose
949 illegal context clauses containing child units of instance.
950
951 * sem_prag.adb: Processing and checking for new No_Dependence
952 restrictions.
953 (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
954 analyze and check the External argument.
955
956 * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
957
9582005-01-03 Robert Dewar <dewar@adacore.com>
959
960 * atree.adb: Add a fifth component to entities
961 This allows us to add 32 flags and four new fields
962
963 * atree.ads: Add a fifth component to entities
964 This allows us to add 32 flags and four new fields
965
966 * einfo.ads, einfo.adb: Document new fields and new flags now available
967 Add routines for printing new fields
968
969 * treepr.adb: Call routines to print out additional fields if present
970
9712005-01-03 Arnaud Charlet <charlet@adacore.com>
972
973 * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
974 gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
975
976 * Makefile.in: Add support to build shared Ada libraries on solaris x86
977 Remove gpr2make, replaced by gprmake.
978 Remove references to gnatmem and libaddr2line.
979 Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
980 (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
981 Add support for specialized version of Ada.Numerics.Aux for Darwin: use
982 a-numaux-darwin.ads and a-numaux-darwin.adb
983 Enable mlib-tgt-lynxos.adb on lynxos.
984
985 * Make-lang.in: Remove rules for gpr2make.
986 When generating sdefault.adb, do not call Relocate_Path
987 on S3 for function Target_Name, as it is not a path.
988 Remove references to gnatmem and libaddr2line.
989
990 * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
991 files.
992
9932005-01-03 Samuel Tardieu <tardieu@adacore.com>
994
995 * checks.adb (Apply_Alignment_Check): Generate a warning if an object
996 address is incompatible with its base type alignment constraints when
997 this can be decided statically.
998
9992005-01-03 Olivier Hainque <hainque@adacore.com>
1000
1001 * decl.c (compatible_signatures_p): New function. The intended purpose
1002 is to check if two function signatures for a call-site and a callee are
1003 compatible enough for the call to be valid. The underlying purpose is
1004 to check if a call to a mapped builtin is using the right interface.
1005 The current code actually does not check antyhing - this a placeholder
1006 for future refinements.
1007 (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
1008 builtin calls for convention Intrinsic.
1009
1010 * gigi.h (builtin_decl_for): Declare (new function).
1011
1012 * utils.c (gnat_install_builtins): Install the target specific builtins.
1013 (builtin_decl_for): New function, provide a dummy body for now.
1014
10152005-01-03 Geert Bosch <bosch@adacore.com>
1016
1017 * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
1018 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
1019 (Pred): Implement in terms of Succ.
1020
1021 * trans.c (convert_with_check): Reimplement conversion of float to
1022 integer.
1023
10242005-01-03 Ed Schonberg <schonberg@adacore.com>
1025 Vincent Celier <celier@adacore.com>
1026
1027 * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
1028 bounds can be negative, and must be declared Int, not Nat.
1029
1030 * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
1031 array is checked after using the index in the array.
1032
1033 * makegpr.adb (Add_Switches): Check if there is a package for the
1034 processor. If there is no package, do not look for switches.
1035
10362005-01-03 Ed Schonberg <schonberg@adacore.com>
1037
1038 * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
1039 generation of predefined stream operations (specs and bodies) should
1040 proceed. Under various restrictions these subprograms must not be
1041 generated.
1042
10432005-01-03 Thomas Quinot <quinot@adacore.com>
1044
1045 * exp_dist.adb:
1046 Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
1047 amount of PCS-specific code in RACW stubs generation.
1048 (Copy_Specification): Set Etype on copied formal parameter entities, as
1049 this information is needed for PolyORB stubs generation.
1050 (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
1051 variable Dynamic_Async.
1052 (Build_Subprogram_Receiving_Stubs): Make PCS-specific
1053 (Build_RPC_Receiver_Specification): Make generic again, as recent
1054 changes have allowed RPC receivers to have the same profile for both
1055 variants of the PCS.
1056 Reorganise RPC receiver generation to reduce differences between the
1057 structure of GARLIC and PolyORB RPC receivers.
1058 (Add_Receiving_Stubs_To_Declarations): Make this subprogram
1059 PCS-specific.
1060 Simplify elaboration code for RCI packages.
1061
1062 * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
1063 generation to reduce differences between the structure of GARLIC and
1064 PolyORB RPC receivers.
1065
1066 * s-stratt.adb: Fix typo in comment.
1067
10682005-01-03 Thomas Quinot <quinot@adacore.com>
1069
1070 * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
1071 copied from Make_Init_Call).
1072
1073 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
1074 reads and assignments on a temporary variable declared with appropriate
1075 discriminants.
1076
10772005-01-03 Robert Dewar <dewar@adacore.com>
1078
1079 * i-c.adb (To_C): Raise CE if string is null and Append_Null
1080
10812005-01-03 Robert Dewar <dewar@adacore.com>
1082
1083 * i-cstrin.adb (Update): Do not append a null in form called with a
1084 String. This avoids unintended behavior.
1085
10862005-01-03 Arnaud Charlet <charlet@adacore.com>
1087
1088 PR ada/17527
1089 * init.c: Fix warnings on Free BSD section.
1090
10912005-01-03 Arnaud Charlet <charlet@adacore.com>
1092
1093 PR ada/16949
1094 * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
1095 xsinfo.adb).
1096
10972005-01-03 Vincent Celier <celier@adacore.com>
1098
1099 * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
1100 libraries when Unique_Compile is True (-u switch).
1101 (Gnatmake): ditto.
1102
11032005-01-03 Robert Dewar <dewar@adacore.com>
1104
1105 * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
1106 upper case letter or underscore after W, as allowed by spec.
1107
11082005-01-03 Arnaud Charlet <charlet@adacore.com>
1109
1110 * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
1111 darwin port by using proper type definitions from header files.
1112 Use SIGTERM instead of SIGABRT for SIGADAABORT.
1113
11142005-01-03 Robert Dewar <dewar@adacore.com>
1115
1116 * par.adb: Enhance error message handling for configuration file
1117 pragmas.
1118
11192005-01-03 Robert Dewar <dewar@adacore.com>
1120
1121 * s-arit64.adb (Double_Divide): Put back changes that got accidentally
1122 removed during the previous update (test properly for case of dividing
1123 largest negative number by -1, which generates overflow).
1124
11252005-01-03 Ed Schonberg <schonberg@adacore.com>
1126 Sergey Rybin <rybin@adacore.com>
1127
1128 * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
1129 to use as the defining identifier for a formal package.
1130 (Remove_Parent): If the instance takes place within (an instance of)
1131 a sibling, preserve private declarations of common parent.
1132
11332005-01-03 Ed Schonberg <schonberg@adacore.com>
1134
1135 * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
1136 to determine whether one of the operands is a fixed-point type for
1137 which a user-defined multiplication or division operation might be
1138 defined.
1139
1140 * sem_res.adb (Valid_Conversion): The legality rules for conversions
1141 of access types are symmetric in Ada 2005: either designated type can
1142 be unconstrained.
1143
11442005-01-03 Vincent Celier <celier@adacore.com>
1145
1146 * s-fileio.adb (Temp_File_Record): Change length of string component
1147 Name from L_tmpnam + 1 to max_path_len + 1.
1148
11492005-01-03 Arnaud Charlet <charlet@adacore.com>
1150
1151 * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
1152 Self_Id.Deferral_Level = 0.
1153 (Do_Pending_Action): Move this function to the spec.
1154
1155 * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
1156 Do_Pending_Action explicitely when needed, in case we're using
1157 No_Abort restrictions.
1158
1159 * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
1160 deferral level since it will not get changed by the generated code.
1161 Keeping a default value of 1 would prevent some operations (e.g.
1162 select or delay) to proceed successfully.
1163
11642005-01-03 Ben Brosgol <brosgol@adacore.com>
1165 Robert Dewar <dewar@adacore.com>
1166 Cyrille Comar <comar@adacore.com>
1167
1168 * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
1169 porting guide chapter (vms version).
1170 Revised doc title (removed "for native platforms") and subtitle.
1171 Add discussion on warning flag for obsolescent features. First we
1172 note that it applies to obsolete GNAT features, which was previously
1173 omitted. Second we contrast the behavior with that of the new
1174 Ada 2005 AI-368 restriction No_Obsolescent_Features.
1175 Preliminary rewriting of GNAT & libraries chapter in order to take
1176 into account default project locations & new project manager
1177 capabilities.
1178
11792005-01-03 Robert Dewar <dewar@adacore.com>
1180
1181 * cstand.adb (Create_Operators): Clean up format and documentation of
1182 unary and binary operator result tables. No change in code, just
1183 reformatting and addition of comments.
1184
1185 * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
1186 sem_ch2.adb: Minor reformatting
1187
1188 * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
1189 sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
1190 comments for Tree_Read and Tree_Write.
1191
11922005-01-03 Pascal Obry <obry@adacore.com>
1193
1194 * exp_attr.ads: Minor reformatting.
1195
11962005-01-03 Romain Berrendonner <berrendo@adacore.com>
1197
1198 * comperr.adb (Compiler_Abort): Add specialized message for GAP
1199 versions.
1200
12012005-01-03 Ed Schonberg <schonberg@adacore.com>
1202
1203 * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
1204 whether the ancestor type is private, as may be the case with nested
1205 instantiations.
1206
15cd18b9
SS
12072004-12-30 Sohail Somani <sohail@sohailsomani.com>
1208
1209 PR ada/19128
1210 * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
1211
2614034e 12122004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
15cd18b9 1213
2614034e
EB
1214 * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
1215 * utils2.c (build_unary_op): Likewise.
1216
ad50bc8d
RH
12172004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1218
1219 * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
1220
ed9c846c
RH
12212004-12-19 Richard Henderson <rth@redhat.com>
1222
1223 * trans.c (gigi): Update gimplify_body call.
1224
08f2586c
NS
12252004-12-09 Nathan Sidwell <nathan@codesourcery.com>
1226
1227 * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
1228
180684eb
AC
12292004-12-07 Ed Falis <falis@adacore.com>
1230
1231 * s-intman-vxworks.adb (Notify_Exception): removed useless check for
1232 current task being suspended.
1233
1234 * init.c (__gnat_clear_exception): added to reset VxWorks exception
1235 count.
1236 (__gnat_map_signal): removed test for current task being suspended.
1237
12382004-12-07 Gary Dismukes <dismukes@adacore.com>
1239
1240 * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
1241 from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
1242 targets (such as AAMP).
1243
12442004-12-07 Ed Schonberg <schonberg@adacore.com>
1245
1246 * atree.adb (Visit_Itype): Create a new name for the generated itype,
1247 because the back-end may otherwise treat it as a redefinition of the
1248 old symbol.
1249
12502004-12-07 Eric Botcazou <ebotcazou@adacore.com>
1251
1252 * back_end.adb (Scan_Back_End_Switches): Accept --param.
1253
1254 * lang-specs.h: Accept --param.
1255
12562004-12-07 Vincent Celier <celier@adacore.com>
1257
1258 * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
1259 package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
1260 Current_Body_Suffix => Ada_Body_Suffix).
1261 Take into account Externally_Built attribute.
1262
1263 * clean.adb (In_Extension_Chain): Always return False when one of the
1264 parameter is No_Project.
1265 (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
1266 Ada_Language_Index).
1267 (Gnatclean): Adapt to change in package Prj.Pars (no parameter
1268 Process_Languages for procedure Parse).
1269
1270 * gnatcmd.adb (Carg_Switches): New table.
1271 (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
1272 Adapt to name changes in package Prj (Current_Spec_Suffix =>
1273 Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
1274
1275 * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
1276 Header_Num and function Hash are now declared in package Prj,
1277 not Prj.Com.
1278
1279 * prj.adb (Suffix_Of): New function.
1280 (Set (Suffix)): New procedure.
1281 (Hash): One function moved from Prj.Com
1282 (Is_Present, Language_Processing_Data_Of): New functions
1283 (Set): Two new procedures
1284 (Add_Language_Name, Display_Language_Name): New procedures
1285
1286 * prj.ads: (Suffix_Of): New function
1287 (Set (Suffix)): New procedure
1288 Add several types and tables for multi-language support.
1289 (Header_Num): Type moved from Prj.Com
1290 (Hash): Two functions moved from Prj.Com
1291 (Is_Present, Language_Processing_Data_Of): New functions
1292 (Set): Two new procedures
1293 (Add_Language_Name, Display_Language_Name): New procedures
1294 (Naming): Component name changes:
1295 Current_Spec_Suffix => Ada_Spec_Suffix,
1296 Current_Body_Suffix => Ada_Body_Suffix. Add new components:
1297 Impl_Suffixes, Supp_Suffixes.
1298 (Project_Data): New components: Externally_Built, Supp_Languages,
1299 First_Language_Processing, Supp_Language_Processing, Default_Linker,
1300 Default_Linker_Path.
1301
1302 * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
1303 new package Language_Processing with its attributes (Compiler_Driver,
1304 Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
1305 Binder_Driver, Default_Linker).
1306
1307 * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
1308 (Header_Num): Type moved to package Prj
1309
1310 * prj-env.adb: Adapt to name changes in package Prj
1311 (Current_Spec_Suffix => Ada_Spec_Suffix,
1312 Current_Body_Suffix => Ada_Body_Suffix).
1313
1314 * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
1315 default to the project path, except the "-" is one of the directories
1316 in env var ADA_PROJECT_PATH.
1317 (Current_Project_Path): Global variable, replacing Project_Path
1318 that was in the body of Prj.Part.
1319 (Project_Path): New function
1320 (Set_Project_Path): New procedure
1321 Initialize Current_Project_Path during elaboration of the package
1322 Remove dependency on Prj.Com, no longer needed
1323
1324 * prj-ext.ads (Project_Path): New function
1325 (Set_Project_Path): New procedure
1326
1327 * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
1328 suffix is defined for language <lang>.
1329 (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
1330 accessing directly the components of Naming.
1331 (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
1332 Reorganise of this package.
1333 Break procedure Check in several procedures.
1334
1335 * prj-nmsc.ads: Replace all procedures (Ada_Check,
1336 Other_Languages_Check and Language_Independent_Check) with a single
1337 procedure Check.
1338
1339 * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
1340 Process_Languages, no longer needed.
1341
1342 * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
1343 Current_Project_Path.
1344 Remove elaboration code, moved to the body of Prj.Ext
1345 Use new function Prj.Ext.Project_Path instead of old variable
1346 Project_Path.
1347 (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
1348 When comparing with project paths on the stack, first put the resolved
1349 path in canonical case.
1350 (Parse_Single_Project): Set the path name of the project file in the
1351 tree to the normalized path.
1352
1353 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
1354 parameter Process_Languages, no longer needed.
1355 (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
1356 Other_Languages_Check.
1357
1358 * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
1359 to store the resolved canonical path of the project file.
1360 Remove dependency to Prj.Com, no longer needed
1361
1362 * prj-util.adb: Adapt to name changes in package Prj
1363 (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
1364 Ada_Body_Suffix).
1365
1366 * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
1367 Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
1368 Externally_Built, Include_Option, Language_Processing.
1369
1370 * makegpr.adb: Numerous changes due to changes in packages
1371 Prj and Prj.Nmsc.
1372
1373 * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
1374 default to the project path, except whe "-" is one of the directories
1375 in env var ADA_PROJECT_PATH.
1376 (Gnatls): In verbose mode, add the new section "Project Search Path:"
1377
13782004-12-07 Robert Dewar <dewar@adacore.com>
1379
1380 * debug.adb: Document that -gnatdA automatically sets -gnatR3m
1381
1382 * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
1383 set -gnatR3m mode.
1384
1385 * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
1386 flag. No longer needed now that we handle this in gnat1drv.adb.
1387
1388 * repinfo.ads: Minor reformatting
1389
13902004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1391 Olivier Hainque <hainque@adacore.com>
1392 Eric Botcazou <ebotcazou@adacore.com>
1393
1394 * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
1395 TYPE_SIZE_UNIT of result type if SIZE is not specified.
1396 (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
1397 of a bitfield, which we know is useless and causes trouble because of
1398 alignment implications.
1399
1400 * utils.c (create_var_decl): Set DECL_COMMON again on targets without
1401 BSS sections.
1402 (process_attributes): Clear DECL_COMMON again when a section attribute
1403 is present.
1404 (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
1405 SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
1406 (create_field_decl): Special case ADDRESSABLE negative to mean
1407 "no bitfield creation", to be used by make_aligning_type. Don't
1408 restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
1409 fields claimed addressable still have to be bitfields. Use
1410 value_factor_p instead of a raw binop construction to check for the
1411 position's alignment.
1412
14132004-12-07 Geert Bosch <bosch@adacore.com>
1414
1415 * eval_fat.adb: Revert previous change.
1416
14172004-12-07 Thomas Quinot <quinot@adacore.com>
1418 Ed Schonberg <schonberg@adacore.com>
1419
1420 * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
1421 with an implicit dereference as its prefix, use
1422 Insert_Explicit_Dereference instead of merely rewriting the prefix into
1423 an explicit dereference. This ensures that a reference to the original
1424 prefix is generated, if appropriate.
1425
1426 * sem_util.adb (Insert_Explicit_Dereference): When an implicit
1427 dereference is rewritten to an explicit one, generate a reference to
1428 the entity denoted by its prefix using the original prefix node, so
1429 the dereference can be properly recorded as a read of the denoted
1430 access value, if appropriate.
1431
1432 * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
1433 emitting 'assigned but never read' warning on a variable on the basis
1434 that it has an access type.
1435 (Check_References): Emit unreferenced warning when the scope is a
1436 subprogram body.
1437
14382004-12-07 Robert Dewar <dewar@adacore.com>
1439 Ed Schonberg <schonberg@adacore.com>
1440
1441 * exp_ch6.adb (Expand_Call): Add comment on handling of back end
1442 intrinsic
1443
1444 * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
1445 leaving call unchanged.
1446 This deals with the case where the pragma Import specified
1447 an external name, to be handled by the back end.
1448
1449 * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
1450 subprogram which is Imported with convention Intrinsic if an
1451 External_Name argument is specified.
1452 (Process_Import_Or_Interface): Properly diagnose link name argument.
1453 (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
1454 with Sem_Ch6.Cannot_Inline.
1455 (Process_Inline): Provide separate warning for inapplicable inline
1456 pragma.
1457 (Cannot_Inline): Reject subprograms that have an at_end handler, so that
1458 treatment is uniform on different targets.
1459
14602004-12-07 Ed Schonberg <schonberg@adacore.com>
1461
1462 * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
1463 construct is rewritten, preserve end label to permit source navigation.
1464
14652004-12-07 Thomas Quinot <quinot@adacore.com>
1466
1467 * exp_dist.adb (Specific_Build_General_Calling_Stubs,
1468 Specific_Build_Stub_Target): New subprograms.
1469 (Build_Subprogram_Calling_Stubs): Make this procedure independent from
1470 the PCS implementation used, using the above PCS-customized subprograms.
1471 Minor reformatting.
1472 (PolyORB_Support.Helpers): New subunit containing supporting subprograms
1473 for generation of DSA code targeted to the PolyORB PCS.
1474 (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
1475 implementation of the partition communication subsystem in ancillary
1476 subprograms.
1477 (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
1478 PolyORB_Support.Build_Stub_Type): New subrograms containing the
1479 PCS-specific part of Add_Stub_Type.
1480 (Insert_Partition_Check): Use runtime library function to perform
1481 E.4(19) check.
1482
1483 * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
1484 (RE_Same_Partition): New entity, from s-parint.
1485
1486 * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
1487
14882004-12-07 Gary Dismukes <dismukes@adacore.com>
1489
1490 * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
1491 Output the copyright message on a separate line from the version
1492 message.
1493
14942004-12-07 Joel Brobecker <brobecker@adacore.com>
1495
1496 * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
1497 compile-time warning.
1498
14992004-12-07 Robert Dewar <dewar@adacore.com>
1500
1501 * g-regpat.adb: (Match): Change a misuse of or to or else
1502
15032004-12-07 Ed Schonberg <schonberg@adacore.com>
1504
15cd18b9 1505 * lib-xref.adb:
180684eb
AC
1506 (Generate_Reference): Handle properly a reference to an entry formal,
1507 when an accept statement has a pragma Unreferenced for it.
1508
1509 * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
1510 and the Has_Pragma_Unreferenced flag for each formal before analyzing
1511 the body, to ensure that warnings are properly emitted for each accept
1512 statement of a given task entry.
1513
15142004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
1515
1516 * Makefile.in: Add support for foreign threads on VMS.
1517
15182004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1519
1520 * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
1521 Remove.
1522 (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
1523
1524 * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
1525
1526 * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
1527 exception.
1528 (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
1529
15302004-12-07 Robert Dewar <dewar@adacore.com>
1531
1532 * nlists.adb (Prepend_Debug): Remove parameters and nest within
1533 Prepend.
1534 (Remove_Next_Debug): Same fix
1535
1536 * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
1537 maintain back pointers now, though we did not used to, and comments
1538 were out of date).
1539 (Prepend): Remove pragma Inline.
1540 (Remove_Next): Same cleanup
1541
15422004-12-07 Thomas Quinot <quinot@adacore.com>
1543
1544 * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
1545 used to record an implicit dereference as a read operation on its
1546 prefix when operating under -gnatc. Necessary to avoid spurious
1547 'variable assigned but never read' warnings in that mode.
1548 (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
1549 is a non-overloaded implicit dereference, call the above subprogram to
1550 ensure proper recording of references.
1551
15522004-12-07 Gary Dismukes <dismukes@adacore.com>
1553
1554 * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
1555 to be resolved later as part of Analyze_Iteration_Scheme's call to
1556 Make_Index.
1557
15582004-12-07 Ed Schonberg <schonberg@adacore.com>
1559
1560 * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
1561 prefix is not a scalar type, place error message on prefix, not on
1562 type entity.
1563
15642004-12-07 Bernard Banner <banner@adacore.com>
1565
1566 * vxaddr2line.adb: Add support for x86 vxworks
1567
15682004-12-07 Thomas Quinot <quinot@adacore.com>
1569
1570 * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
1571 documentation of the behaviour of these functions when passed an IP
1572 address that has no record in the system hosts database and no reverse
1573 record in the DNS.
1574
1575 * cstand.adb, a-tags.ads: Fix typos in comment.
1576
15772004-12-07 Robert Dewar <dewar@adacore.com>
1578
1579 * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
1580 exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
1581 sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
1582 s-poosiz.ads: Minor reformatting
1583
1584 * make.adb: Minor reformatting
1585 Add some ??? comments asking for more comments
1586
1587 * s-poosiz.adb: Minor reformatting
1588 Add comments on alignment requirement
1589
1590 * sinfo.ads: Remove obsolete comment and fix typo.
1591
15922004-12-07 Vincent Celier <celier@adacore.com>
1593 Sergey Rybin <rybin@adacore.com>
1594
1595 * gnat_ugn.texi: Update the section "The GNAT Driver and Project
1596 Files" with the new tool and package names.
1597 Reformatting to suppress most of the warnings for line too long
1598 Document the new section "Project Search Path:" in the output of
1599 gnatls -v.
1600 Add gnatmetric section
1601
16022004-12-07 Vincent Celier <celier@adacore.com>
1603
1604 * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
1605 -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
1606 and -eit to -ept. Added qualifier
1607 /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
1608
ed986c8e
AS
16092004-11-27 Andreas Schwab <schwab@suse.de>
1610
1611 * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
1612
3c13948a
AC
16132004-11-25 Arnaud Charlet <charlet@adacore.com>
1614
1615 * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
1616 internal implementation unit GNAT.Sockets.Thin,
1617 as their usage for sockets is non-portable (using the read and write
1618 functions from the system runtime library is fine on UNIX but won't
1619 work under Windows).
1620
1621 * mingw32.h: Update copyright notice.
1622
061fd2bf
AC
16232004-11-25 Arnaud Charlet <charlet@adacore.com>
1624
1625 * ada-tree.h: Minor reformatting of previous change to avoid lines
1626 longer than 79 characters.
1627
e850e1f4
OH
16282004-11-25 Olivier Hainque <hainque@adacore.com>
1629
1630 * tb-gcc.c: GCC infrastructure based implementation of
1631 __gnat_backtrace.
1632
39afeb1a
SB
16332004-11-24 Steven Bosscher <stevenb@suse.de>
1634
1635 * misc.c (gnat_post_options): Don't clear
1636 flag_inline_functions.
1637
9633a6ac
AP
16382004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
1639
1640 PR ada/17986
1641 * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
1642 tree.
1643
7fe16580
AJ
16442004-11-21 Andreas Jaeger <aj@suse.de>
1645
1646 * stylesw.adb: Change Style_Check_Subprogram_Order to
1647 Style_Check_Order_Subprograms.
1648
9716416b
AC
16492004-11-18 Arnaud Charlet <charlet@adacore.com>
1650
1651 * adaint.h, adaint.c
1652 (__gnat_portable_spawn): Fix cast of spawnvp third parameter
1653 to avoid warnings.
1654 Add also a cast to kill another warning.
1655 (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
1656 parameter with the priority class of the parent process instead of
1657 always using the NORMAL_PRIORITY_CLASS.
1658 (__gnat_dup): New function.
1659 (__gnat_dup2): New function.
1660 (__gnat_is_symbolic_link): Enable the effective body of this
1661 function when __APPLE__ is defined.
1662
1663 * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
1664 Update comments.
1665
16662004-11-18 Olivier Hainque <hainque@adacore.com>
1667
1668 * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
1669 address of which may be used to represent "others" and "all others"
1670 choices in exception tables, instead of the current harcoded
1671 (void *)0 and (void *)1.
1672 (Setup_Exception): Do nothing in the GNAT SJLJ case.
1673
1674 * gigi.h (others_decl, all_others_decl): New decls representing the
1675 new Others_Value and All_Others_Value objects.
1676 (struct attrib): Rename "arg" component as "args", since GCC expects a
1677 list of arguments in there.
1678
1679 * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
1680 corresponding objects exported by a-exexpr, instead of hardcoded dummy
1681 addresses.
1682
1683 * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
1684 others_decl and all_others_decl instead of hardcoded dummy addresses
1685 to represent "others" and "all others" choices, which is cleaner and
1686 more flexible with respect to the possible eh pointer encoding policies.
1687
1688 * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
1689 (process_attributes): Account for the naming change of the "args"
1690 attribute list entry component.
1691
1692 * decl.c (build_attr_list): Rename into prepend_attributes to allow
1693 cumulating attributes for different entities into a single list.
1694 (gnat_to_gnu_entity): Use prepend_attributes to build the list of
1695 attributes for the current entity and propagate first subtype
1696 attributes to other subtypes.
1697 <E_Procedure>: Attribute arguments are attr->args and not
1698 attr->arg any more.
1699 (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
1700 argument provided, as this is what GCC expects. Use NULL_TREE instead
1701 of 0 for trees.
1702
17032004-11-18 Robert Dewar <dewar@adacore.com>
1704
15cd18b9 1705 * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
9716416b
AC
1706 Minor reformatting througout (including new function specs)
1707 Add ??? comments asking for clarification.
1708
17092004-11-18 Thomas Quinot <quinot@adacore.com>
1710
1711 * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
1712 incomplete duplicate implementation of this subprogram from butil.
1713
17142004-11-18 Thomas Quinot <quinot@adacore.com>
1715
1716 * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
1717 procedures factors the common processing for building an RPC receiver
1718 for an RCI package or an RACW type.
1719 Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
1720 Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
1721 (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
1722 in use.
1723 (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
1724 Add_RACW_Features.
1725 (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
1726 Add_RAST_Features.
1727 (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
1728 distribution subprogram identifiers that are either subprogram numbers
1729 or strings.
1730 (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
1731 string distribution identifiers assigned to a given subprogram.
1732 (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
1733 (Add_RAS_Dereference_TSS): Add comments.
1734 (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
1735 is not referenced yet because it will be used by the PolyORB DSA
1736 implementation.
1737 (Insert_Partition_Check): Remove fossile code.
1738 (First_RCI_Subprogram_Id): Document this constant.
1739 (Add_RAS_Access_TSS): Correct the setting of the Etype of the
1740 RAS_Access TSS.
1741 (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
1742 replaced with calls to Get_Library_Unit_Name_String. Previously there
1743 were several instances of the same code in different locations in the
1744 compiler; this checkin completes the replacement of all of these
1745 instances with calls to a common subprogram.
1746 Minor reformatting.
1747
1748 * sem_dist.adb: Remove comment noting that RPC receiver generation
1749 should be disabled for RACWs that implement RASs.
1750 (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
1751
1752 * sem_util.ads, sem_util.adb (Has_Stream): New function
1753 (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
1754 qualified name of a library unit into the name buffer.
1755 (Note_Possible_Modification): Generate a reference only
1756 if the context comes from source.
1757
1758 * snames.ads (PCS_Names): New subtype corresponding to names of
1759 supported implementations of the Partition Communication Subsystem
1760 (PCS) (i.e. the runtime library support modules for the distributed
1761 systems annex).
1762
17632004-11-18 Robert Dewar <dewar@adacore.com>
1764 Ed Schonberg <schonberg@adacore.com>
1765
1766 * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
1767 (Has_Rep_Pragma): New function
1768 (Has_Attribute_Definition_Clause): New function
1769 (Record_Rep_Pragma): Moved here from sem_ch13.adb
1770 (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
1771
1772 * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
1773
1774 * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
1775 (Expand_Pragma_Psect_Object): New procedure
1776 These procedures contain the revised and cleaned up processing for
1777 these two pragmas. This processing was formerly in Sem_Prag, but
1778 is more appropriately moved here. The cleanup involves making sure
1779 that the pragmas are properly attached to the tree, and that no
1780 nodes are improperly shared.
1781
1782 * sem_prag.adb: Move expansion of Common_Object and Psect_Object
1783 pragmas to Exp_Prag, which is more appropriate.
1784 Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
1785 check for duplicates Remove use of Is_Psected flag, no longer needed.
1786 Use new Make_String_Literal function with string.
1787
1788 * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
1789 that are functions return universal values, that have to be converted
1790 to the context type.
1791 Use new Make_String_Literal function with string.
1792 (Get_Stream_Convert_Pragma): New function, replaces the use of
1793 Get_Rep_Pragma, which had to be kludged to work in this case.
1794
1795 * freeze.adb: Use new Has_Rep_Pragma function
1796
1797 * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
1798 function with string.
1799 Use new Has_Rep_Pragma function.
1800
1801 * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
1802 string argument.
1803
18042004-11-18 Robert Dewar <dewar@adacore.com>
1805
1806 * errout.ads, errout.adb: (First_Sloc): New function
1807
1808 * par-ch5.adb (P_Condition): Check for redundant parens is now a style
1809 check (-gnatyx) instead of being included as a redundant construct
1810 warning.
1811
1812 * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
1813 Style_Check_Order_Subprograms.
1814
1815 * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
1816 stylesw.adb: Add Style_Check_Xtra_Parens
1817
1818 * usage.adb: Add line for -gnatyx (check extra parens)
1819
1820 * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
1821
18222004-11-18 Ed Schonberg <schonberg@adacore.com>
1823 Robert Dewar <dewar@adacore.com>
1824
1825 * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
1826 discriminant of a constrained subtype, analyze the copy of the
1827 corresponding constraint, because in some cases it may be only
1828 partially analyzed.
1829 Removes long-lived ??? comments.
1830
1831 * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
1832 handled controlled or secondary-stack expressions within the
1833 iteration_scheme of a loop.
1834
1835 * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
1836 bounds that may contain functions calls, to prevent memory leaks when
1837 the bound contains a call to a function that uses the secondary stack.
1838 (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
1839 generate temporaries for loop bounds that might contain function calls
1840 that require secondary stack and/or finalization actions.
1841
1842 * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
1843 selected component and the selector is overloadable (not just a
1844 function) treat as function call, Analyze_Call will disambiguate if
1845 necessary.
1846 (Analyze_Selected_Component): Do not generate an actual subtype for the
1847 selected component if expansion is disabled. The actual subtype is only
1848 needed for constraint checks.
1849 (Analyze_Allocator): If restriction No_Streams is set, then do
1850 not permit objects to be declared of a stream type, or of a
1851 composite type containing a stream.
1852
1853 * restrict.ads: Remove the a-stream entry from Unit_Array, since
1854 No_Streams no longer prohibits with'ing this package.
1855
1856 * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
1857 discriminants, but the parent base has unknown discriminants, there is
1858 no discriminant constraint to inherit. Such a discrepancy can arise
1859 when the actual for a formal type with unknown discriminants is a
1860 similar private type whose full view has discriminants.
1861 (Analyze_Object_Declaration): If restriction No_Streams is set, then
1862 do not permit objects to be declared of a stream type, or of a
1863 composite type containing a stream.
1864
18652004-11-18 Ed Schonberg <schonberg@adacore.com>
1866
1867 * exp_dbug.ads: Update documentation to reflect simpler encoding for
1868 protected operations.
1869
1870 * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
1871 generated name, it complicates decoding in gdb and hinders debugging
1872 of protected operations.
1873 (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
1874 flag for the protected entry barrier function.
1875 (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
1876 flag for the protected entry function.
1877
18782004-11-18 Nicolas Setton <setton@adacore.com>
1879
1880 * expect.c: Define __unix__ when __APPLE__ is defined.
1881
1882 * Makefile.in: Inform the value of the variable GMEM_LIB in the
1883 Darwin-specific section.
1884
1885 * lang-specs.h: Change the placement of the %1 marker.
1886 Works around the fact that gcc adds -fPIC by default under Darwin.
1887
18882004-11-18 Ed Schonberg <schonberg@adacore.com>
1889
1890 * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
1891 type of the object with the packed array type, set the Analyzed flag
1892 on the object if it is an entity or simple indexed component, to avoid
1893 spurious type errors.
1894
18952004-11-18 Gary Dismukes <dismukes@adacore.com>
1896
1897 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
1898 gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
1899 separate line from the version message.
1900
19012004-11-18 Ed Falis <falis@adacore.com>
1902
1903 * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
1904 vthreads.
1905 (init_float): Eliminate initialization of floating point status for
1906 AE653. The instructions have no effect for vThreads.
1907
19082004-11-18 Vincent Celier <celier@adacore.com>
1909
1910 * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
1911 gnatbind is invoked with -shared.
1912
19132004-11-18 Jose Ruiz <ruiz@adacore.com>
1914
1915 * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
1916 for Detect_Blocking which is redundant with the check done within the
1917 procedure Protected_Single_Entry_Call.
1918 (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
1919 Detect_Blocking which is redundant with the check done within the
1920 procedure Protected_Single_Entry_Call.
1921
19222004-11-18 Vincent Celier <celier@adacore.com>
1923
1924 * makegpr.adb (Compile): Put the compiling switches (in package
1925 Compiler and on the command line) immediately after "-c", instead of
1926 at the end of the command line invocation of the compiler, when
1927 compiling a non-Ada file.
1928 (Build_Global_Archive): When there is no need to rebuild the archive,
1929 set Global_Archive_Exists, so that the archive is passed to the linker
1930 if one is needed.
1931
19322004-11-18 Robert Dewar <dewar@adacore.com>
1933 Sergey Rybin <rybin@adacore.com>
1934
15cd18b9 1935 * gnat_ugn.texi:
9716416b
AC
1936 Remove extra paren check from list of checks for redundant constructs
1937 Add documentation of new -gnatyx style check (check extra parens)
1938 Remove paragraph about gnatelim debug options.
1939
1940 * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
1941 objects rather than forbidding dependencies on the package Ada.Streams.
1942
1943 * sinfo.ads: Add ??? note that we should document pragmas passed to
1944 back end.
1945
1946 * g-expect.ads: Fix a few typos in the comments.
1947
9e637a26
JM
19482004-11-09 Joseph S. Myers <joseph@codesourcery.com>
1949
1950 * misc.c (gnat_handle_option): Use %< and %> for quoting in
1951 warning message.
1952
0506cb1c
RO
19532004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1954
1955 * a-numaux-x86.adb (Tan): Fix fdivp syntax.
1956
426e7d28
AS
19572004-11-07 Andreas Schwab <schwab@suse.de>
1958
1959 * Makefile.in (install-gnatlib): Remove spurious hyphen.
1960
8785609e 19612004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
bb342a77
AP
1962
1963 PR ada/18228
1964 * Makefile.in (darwin): Set soext to .dylib.
1965
0ca5fab2
AC
19662004-10-26 Vincent Celier <celier@gnat.com>
1967 Thomas Quinot <quinot@act-europe.fr>
1968
1969 * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
1970 (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
1971 there is no use of GNAT.Sockets.Constants.
1972 Remove remaining pragma Import for C_Write
1973 Remove C_Read and C_Write from internal implementation unit
1974 GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
1975 the read and write functions from the system runtime library is fine
1976 on UNIX but won't work under Windows).
1977
1978 * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
1979 (Check_Selector): Use C_Recv instead of C_Read.
1980 Selectors are the GNAT.Sockets abstraction to perform a select()
1981 call on a set of descriptors. To allow abortion of an ongoing
1982 select operation, some data is written to a dedicated socket that
1983 is always monitored.
1984 Under Windows, the write and read library functions cannot operate
1985 on sockets, so we need to use send and recv instead, which is portable
1986 across all supported platforms.
1987
1988 * g-socthi.ads: Remove C_Read and C_Write from internal implementation
1989 unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
1990 (using the read and write functions from the system runtime library is
1991 fine on UNIX but won't work under Windows).
1992
19932004-10-26 Nicolas Setton <setton@act-europe.fr>
1994
1995 * mlib-tgt-darwin.adb: New file.
1996
1997 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1998 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
1999 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
2000 mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
2001 subprogram body.
2002
2003 * Makefile.in: Add support for building shared libraries under Darwin.
2004 (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
2005 the low level EH init subprogram to be called from __gnat_initialize.
2006
2007 * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
2008 indicates which options to pass to the archive indexer.
2009
2010 * mlib-utl.adb: Add support for calling ranlib with additional
2011 options. This is needed for instance under Mac OS X.
2012 (Ranlib_Options): New global variable, used to store the potential
2013 options to pass to ranlib.
2014 (Ar): Use Ranlib_Options when spawning ranlib.
2015 (Initialize): Set the value of ranlib option.
2016
20172004-10-26 Olivier Hainque <hainque@act-europe.fr>
2018
2019 * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
2020 instead of 8K, to reflect the real potential needs for stack-checking
2021 in the ZCX case.
2022
20232004-10-26 Pascal Obry <obry@gnat.com>
2024
2025 * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
2026
2027 * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
2028 Windows only the initial thread stack size can be set so it is good to
2029 start we a low stack size.
2030 The OS will adjust the size as needed.
2031
20322004-10-26 Olivier Hainque <hainque@act-europe.fr>
2033 Nicolas Setton <setton@act-europe.fr>
2034
2035 * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
2036 "__unix__" instead of "unix".
2037 The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
2038 sections were just mistakenly ignored. The former is
2039 implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
2040 Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
2041 of hpux. This prevents an unwanted definition of the symbol
2042 convert_addresses in adaint.o.
2043
20442004-10-26 Gary Dismukes <dismukes@gnat.com>
2045
2046 * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
2047 compatibility with type Unwind_Word on 16-bit targets such as AAMP.
2048
20492004-10-26 Cyrille Comar <comar@act-europe.fr>
2050
2051 * a-filico.ads, a-filico.adb: fix incorrect header.
2052
20532004-10-26 Javier Miranda <miranda@gnat.com>
2054
2055 * a-ststio.ads: Fix typo in identifier
2056
20572004-10-26 Thomas Quinot <quinot@act-europe.fr>
2058
2059 * sem_ch4.adb: Minor reformatting.
2060
20612004-10-26 Ed Schonberg <schonberg@gnat.com>
2062
2063 * checks.adb (Expr_Known_Valid): If floating-point validity checks are
2064 enabled, check the result of unary and binary operations when the
2065 expression is the right-hand side of an assignment.
2066
20672004-10-26 Vincent Celier <celier@gnat.com>
2068
2069 * clean.adb (Delete): Do not output warnings when in quiet output and
2070 not in verbose mode.
2071 (Force_Deletions): New Boolean flag, defaulted to False
2072 (Delete): Only delete a file if it is writable, and when
2073 Force_Deletions is True.
2074 (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
2075 (Usage): Line for new switch -f
2076 (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
2077 own.
2078
20792004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
2080
2081 * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
2082 JM type only if its size matches that of the wrapper. When a size is
2083 prescribed and the field is not aliased, remove the wrapper of a JM
2084 type only if the size is not greater than that of the packed array.
2085 (gnat_to_gnu_entity): Change the extension of packed array wrappers
2086 from LJM to JM.
2087
20882004-10-26 Geert Bosch <bosch@gnat.com>
2089
2090 * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
2091 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
2092 (Pred): Implement in terms of Succ.
2093
20942004-10-26 Ed Schonberg <schonberg@gnat.com>
2095
2096 * exp_aggr.adb (Safe_Component): An aggregate component that is an
2097 unchecked conversion is safe for in-place use if the expression of the
2098 conversion is safe.
2099 (Expand_Array_Aggregate): An aggregate that initializes an allocator may
2100 be expandable in place even if the aggregate does not come from source.
2101 (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
2102 designated object of an allocator in place, rather than building it
2103 first on the stack. The previous scheme forces a full copy of the array,
2104 and may be altogether unsusable if the size of the array is too large
2105 for stack allocation.
2106
21072004-10-26 Robert Dewar <dewar@gnat.com>
2108
2109 * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
2110 compares if the component is atomic.
2111
2112 * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
2113 array assignment if the component type is atomic.
2114
21152004-10-26 Ed Schonberg <schonberg@gnat.com>
2116 Eric Botcazou <ebotcazou@act-europe.fr>
2117
2118 * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
2119 is aliased and is a by_reference type, do not pass by copy.
2120 (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
2121 detect whether the call is in the right side of an assignment or
2122 the expression of an object declaration. Recurse on component
2123 association within aggregates.
2124 Call it in the condition that determines whether the temporary is
2125 necessary for correct stack-checking.
2126
21272004-10-26 Thomas Quinot <quinot@act-europe.fr>
2128
2129 * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
2130 RACW_Type, used in the PolyORB version.
2131 Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
2132 version and the GARLIC version.
2133
15cd18b9 2134 * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
0ca5fab2
AC
2135 Rename RCI_Info to RCI_Locator for better consistency between the
2136 GARLIC and PolyORB versions of the distributed systems annex.
2137 (DSA_Implementation_Name): This enumeration lists the possible
2138 implementations of the Partition Communication Subsystem for the
2139 Distributed Systems Annex (DSA). The three available implementations
2140 are the dummy stub implementation (No_DSA), and two versions based on
2141 two different distribution runtime libraries: GARLIC and PolyORB. Both
2142 the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
2143 technology.
2144 Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
2145 that organization.
2146
2147 * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
2148 between the GARLIC and PolyORB versions of the distributed systems
2149 annex.
2150 Remove RE_Unbounded_Reclaim_Pool since it is unused.
2151
21522004-10-26 Gary Dismukes <dismukes@gnat.com>
2153
2154 * gnat1drv.adb: Suppress calling the back end when
2155 Frontend_Layout_On_Target is true.
2156
21572004-10-26 Thomas Quinot <quinot@act-europe.fr>
2158
2159 * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
2160 Set_Read_Only): New subprograms.
2161 These new routines allow the user to set or unset the Owner execute
2162 and Owner write permission flags on a file.
2163
2164 * makegpr.adb, mlib.adb, mlib-prj.adb: Use
2165 GNAT.OS_Lib.Set_Executable instead of rolling our own.
2166
21672004-10-26 Matthew Gingell <gingell@gnat.com>
2168
2169 * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
2170
21712004-10-26 Pascal Obry <obry@gnat.com>
2172
2173 * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
2174 memory before the faulting page we properly test the process read
2175 access for this address using appropriate Win32 routine.
2176 (HPUX sections): guard with "__hpux__" instead of "hpux".
2177
21782004-10-26 Robert Dewar <dewar@gnat.com>
2179
2180 * lib-xref.adb (Generate_Reference): Don't complain about reference to
2181 entry parameter if pragma Unreferenced set, since we do not properly
2182 handle the case of multiple parameters.
2183
21842004-10-26 Vincent Celier <celier@gnat.com>
2185
2186 * prj-env.adb: (Contains_ALI_Files): New Boolean function
2187 (Ada_Objects_Path.Add): For a library project, add to the object path
2188 the library directory only if there is no object directory or if the
2189 library directory contains ALI files.
2190 (Set_Ada_Paths.Add.Recursive_Add): Ditto
2191
21922004-10-26 Vincent Celier <celier@gnat.com>
2193
2194 * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
2195 extension of library projects.
2196
2197 * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
2198 path defaults to ".:<prefix>/lib/gnat".
2199 (Parse): For an extending all project, allow direct import of a project
2200 that is virtually extended.
2201
2202 * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
2203 the specified name is directly imported, return its ID. Otherwise, if
2204 an extension of this project is imported, return the ID of the
2205 extension.
2206
22072004-10-26 Robert Dewar <dewar@gnat.com>
2208
2209 * s-arit64.adb: (Le3): New function, used by Scaled_Divide
2210 (Sub3): New procedure, used by Scaled_Divide
2211 (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
2212 correct more than one instance of failure to propagate carries
2213 correctly.
2214 (Double_Divide): Handle overflow case of largest negative number
2215 divided by minus one.
2216
2217 * s-arit64.ads (Double_Divide): Document that overflow can occur in
2218 the case of a quotient value out of range.
2219 Fix comments.
2220
22212004-10-26 Robert Dewar <dewar@gnat.com>
2222
2223 * s-bitops.adb (Bit_Eq): Remove redundant check.
2224
2225 * s-bitops.ads: Minor comment updates
2226 Change some occurrences of Address to System.Address
2227
2228 * s-carsi8.ads: Fix minor cut-and-paste error in comments
2229
22302004-10-26 Ed Schonberg <schonberg@gnat.com>
2231
2232 * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
2233 accessibility check to prefix that is a protected operation.
2234
22352004-10-26 Ed Schonberg <schonberg@gnat.com>
2236
2237 * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
2238 empty, post message on stub.
2239
22402004-10-26 Ed Schonberg <schonberg@gnat.com>
2241 Javier Miranda <miranda@gnat.com>
2242
2243 * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
2244 current instance appears within a unit that is directly in the context
2245 of the main unit.
2246 Used to determine whether the body of the instance should be analyzed
2247 immediately after its spec, to make its subprogram bodies available
2248 for front-end inlining.
2249 (Analyze_Formal_Array_Type): Cleanup condition that checks that range
2250 constraint is not allowed on the component type (AARM 12.5.3(3))
2251
22522004-10-26 Cyrille Comar <comar@act-europe.fr>
2253
2254 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
2255 'Storage_Pool): enhance, document & limit detection of non-sharable
2256 internal pools.
2257
2258 * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
2259
2260 * s-pooglo.ads: Add more documentation now that this pool is properly
2261 documented.
2262
22632004-10-26 Ed Schonberg <schonberg@gnat.com>
2264
2265 * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
2266 or protected type with discriminants, do not constrain the
2267 corresponding record type if the subtype declaration has no
2268 discriminant constraints. This can be the case in source code, or in
2269 the subtype declaration created to rename an actual type within an
2270 instantiation.
2271
22722004-10-26 Ed Schonberg <schonberg@gnat.com>
2273
2274 * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
2275 different kind of stub (possibly wrong name for file), do not check
2276 for conformance.
2277 (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
2278 includes call to some function that returns an unconstrained type, do
2279 not inline.
2280
22812004-10-26 Ed Schonberg <schonberg@gnat.com>
2282
2283 * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
2284 appear in the code for the main unit. Dependencies among units in the
2285 context of the main unit are established when those other units are
2286 compiled. Otherwise spurious elaboration constraints can generate
2287 incorrect elaboration circularities.
2288
22892004-10-26 Thomas Quinot <quinot@act-europe.fr>
2290 Ed Schonberg <schonberg@gnat.com>
2291
2292 * sem_util.adb (Is_Aliased_View): Defend against the case where this
2293 subprogram is called with a parameter that is not an object name. This
2294 situation arises for some cases of illegal code, which is diagnosed
2295 later, and in this case it is wrong to call Is_Aliased, as that might
2296 cause a compiler crash.
2297 (Explain_Limited_Type): Refine previous fix to include
2298 inherited components of derived types, to provide complete information.
2299
2300 * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
2301 is the prival for a protected object.
2302 It is necessary to mark this entity as a variable, in addition to
2303 flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
2304 modified to avoid checking the Aliased flag on entities that are not
2305 objects. (Checking that flag for non-objects is erroneous and could
2306 lead to a compiler crash).
2307
23082004-10-26 Robert Dewar <dewar@gnat.com>
2309
2310 * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
2311 X_Frac = 0.5, then we know that the number X must be positive.
2312 (Succ): Remove the same redundant test, and also fix the primary test
2313 to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
2314 Minor reformatting
2315 (Decompose): Add fuller comments to spec
2316
23172004-10-26 Pascal Obry <obry@gnat.com>
2318
2319 * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
2320 validity (process must have read access). Set to 0 in all other cases.
2321 (STOP_FRAME): Now check for ptr validity to avoid a segmentation
2322 violation on Win32.
2323 (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
2324 segmentation violation.
2325
23262004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
2327
2328 * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
2329 whose type is a constructed subtype of an aliased object with an
2330 unconstrained nominal subtype, convert the actual to the constructed
2331 subtype before taking its address.
2332
23332004-10-26 Vincent Celier <celier@gnat.com>
2334
2335 * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
2336 (Is_Path_Name_Case_Sensitive): New function
2337
2338 * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
2339 (Base_Name, Simple_Name, Current_Directory, Compose,
2340 Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
2341 the result.
2342
23432004-10-26 Cyrille Comar <comar@act-europe.fr>
2344 Vasiliy Fofanov <fofanov@act-europe.fr>
2345 Vincent Celier <celier@gnat.com>
2346
2347 * gnat_ugn.texi: Generalize "finding memory problems" section into a
2348 "memory management issues" section and document some of the useful
2349 memory pools provided as part of the GNAT library.
2350 Remove "virtual" from declaration of A::method2 in
2351 the simple example of Ada/C++ mixed system.
2352 Library Projects may be virtually extended: their virtual extensions
2353 are not Library Projects.
2354 Added section on extending project hierarchies.
2355
d65c6710 23562004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
aa75e737
AL
2357
2358 * adaint.c (__gnat_get_libraries_from_registry): Cast value
2359 to LPBYTE.
2360 (__gnat_portable_spawn): Remove const.
2361
2362 * mingw32.h (MAXPATHLEN): Check for previous definition.
2363
95e19580
MK
23642004-10-17 Matthias Klose <doko@debian.org>
2365
2366 * gnatvsn.ads: Set gnat library version to 4.0.
2367
88a6ecb6
VC
23682004-10-05 Vincent Celier <celier@gnat.com>
2369
2370 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
2371
110aba14
LG
23722004-10-04 Laurent GUERBY <laurent@guerby.net>
2373
2374 PR ada/15156
2375 * Makefile.in: Define and use RANLIB_FLAGS.
88a6ecb6 2376
09552763
PO
23772004-10-04 Pascal Obry <obry@gnat.com>
2378
2379 * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
2380 other x86 platforms).
2381
a8e490b7
OH
23822004-10-04 Olivier Hainque <hainque@act-europe.fr>
2383
2384 * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
2385 in general and triggers stack alignment adjustment for thread entry
2386 points on targets where this is necessary.
2387
71c10a83
BB
23882004-10-04 Bernard Banner <banner@gnat.com>
2389
2390 PR ada/13897
2391
2392 * Makefile.in: Add section for powerpc linux
2393 Add variant i-vxwork-x86.ads
2394
2395 * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
2396
9a03df55
OH
23972004-10-04 Olivier Hainque <hainque@act-europe.fr>
2398
2399 * init.c (__gnat_initialize): Call an Ada subprogram to perform the
2400 table registration calls when need be. Ensures no reference to the crt
2401 ctors symbol are issued in the SJLJ case, which avoids possible
2402 undefined symbol errors in the case of modules to be statically linked
2403 with the kernel.
2404
28d6470f
JM
24052004-10-04 Javier Miranda <miranda@gnat.com>
2406
2407 * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
2408 in-line the code corresponding to subprogram Analyze_Actuals. In
2409 addition, analyze the actuals only in case of subprogram call.
2410
06237875
EF
24112004-10-04 Ed Falis <falis@gnat.com>
2412
2413 * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
2414
259d6c3a
SR
24152004-10-04 Sergey Rybin <rybin@act-europe.fr>
2416
2417 * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
2418 in the documentation.
2419
6f21ed26
RD
24202004-10-04 Robert Dewar <dewar@gnat.com>
2421
2422 * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
2423 IF and CASE.
2424 (Analyze_Block_Statement): Add circuitry to detect following dead code
2425 (Check_Unreachable_Code): Handle case of block exit
2426
4cded177
RD
24272004-10-04 Robert Dewar <dewar@gnat.com>
2428
2429 * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
2430 (XMatchD): Avoid warning for Logic_Error call
2431
c6a60aa1
RD
24322004-10-04 Robert Dewar <dewar@gnat.com>
2433
2434 * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
2435 consider expressions buried within a procedure actual to be an actual.
2436 This caused some blowups with uses of packed slices within a procedure
2437 actual.
2438
1fdebfe5
RD
24392004-10-04 Robert Dewar <dewar@gnat.com>
2440
2441 * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
2442 longer need to be initialized to zero.
2443 (Get_Simple_Init_Val): Modular packed arrays no longer need to be
2444 initialized to zero.
2445
2446 * checks.adb (Expr_Known_Valid): Packed arrays are now always
2447 considered valid, even if the representation is modular. That's correct
2448 now that we no longer initialize packed modular arrays to zero.
2449
2450 * exp_dbug.ads: Clarify documentation on handling of PAD and JM
2451 suffixes. These are now documented as the only cases in which the
2452 debugger ignores outer records.
2453 Previously, the spec allowed arbitrary suffixes for this purpose.
2454 Change name of LJM to JM for packed array pad records
2455 Create separate section on packed array handling, and add a whole new
2456 set of comments to this section describing the situation with packed
2457 modular types and justification requirements depending on endianness.
2458
cd91501c
RD
24592004-10-04 Robert Dewar <dewar@gnat.com>
2460
2461 * a-except.adb: Add a comment for last change
2462
2463 * einfo.ads: Minor spelling correction in comment
2464
2465 * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
2466
2467 * sem_ch11.adb: Fix a case of using | instead of \ for continuation
2468 messages.
2469
2470 * sem_util.ads: Minor comment update
2471
c71c53a8
ES
24722004-10-04 Ed Schonberg <schonberg@gnat.com>
2473
2474 * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
2475 Inline_Always when in Configurable_Run_Time mode.
2476
2477 * sem_prag.adb (Process_Convention): If entity is an inherited
2478 subprogram, apply convention to parent subprogram if in same scope.
2479 (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
2480 when in Configurable_Run_Time mode.
2481
71d9e9f2
ES
24822004-10-04 Ed Schonberg <schonberg@gnat.com>
2483
2484 * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
2485 class_wide type after component list has been inherited.
2486
0b525bee
ES
24872004-10-04 Ed Schonberg <schonberg@gnat.com>
2488
2489 * sem_ch12.adb (Check_Generic_Actuals): New predicate
2490 Denotes_Previous_Actual, to handle properly the case of a private
2491 actual that is also the component type of a subsequent array actual.
2492 The visibility status of the first actual is not affected when the
2493 second is installed.
2494 (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
2495 make fully recursive the treatment of formals of packages declared
2496 with a box.
2497 (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
2498 the above on exit from an instantiation.
2499 (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
2500 current instantiation which is now complete.
2501 (Analyze_Package_Instantiation): No instantiated body is needed if the
2502 main unit is generic. Efficient, and avoid anomalies when a instance
2503 appears in a package accessed through rtsfind.
2504
27ad9660
ES
25052004-10-04 Ed Schonberg <schonberg@gnat.com>
2506
2507 * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
2508 do not generate a declaration for a temporary if the call is part of a
2509 library-level instantiation.
2510
1c6c6771
ES
25112004-10-04 Ed Schonberg <schonberg@gnat.com>
2512
2513 * sem_util.adb (Explain_Limited_Type): Ignore internal components when
2514 searching for a limited component to flag.
2515
2516 * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
2517 expansion of Input, to account for the fact that the implicit call
2518 generated by the attribute reference must freeze the user-defined
2519 stream subprogram. This is only relevant to 'Input, because it can
2520 appear in an object declaration, prior to the body of the subprogram.
2521
2522 * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
2523 expansion can proceed and further errors uncovered.
2524 (Minor clean up): Fix cases of using | instead of \ for continuation
2525 messages.
2526
8005f3e5
RK
25272004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2528
2529 * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
2530
2531 * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
2532 (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
2533 Use gcc_assert and gcc_unreachable.
2534
2535 * decl.c (gnat_to_gnu_entity, case object): Check and process a
2536 specified alignment before validating size.
2537 (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
2538 stripped-down declaration for the type of the inner field when making
2539 a JM type.
2540
2541 * utils.c (finish_record_type): Do not compute the size in units
2542 incrementally. Instead compute it once for the rep clause case.
2543 Use gcc_assert and gcc_unreachable.
2544
6a294a29
VC
25452004-10-04 Vincent Celier <celier@gnat.com>
2546
2547 * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
2548 in file name.
2549 (Is_Valid_Path_Name): Take '/' as a directory separator.
2550
9a080ea3
VC
25512004-10-04 Vincent Celier <celier@gnat.com>
2552
2553 * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
2554 (Extended_Project) only if Extended_Project is defined, to avoid
2555 assertion error.
2556 (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
2557 resolved path.
2558 (Parse_Single_Project): Ditto.
2559
2560 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
2561 Add_To_Project_Path for virtual projects.
2562
51004cb5
VC
25632004-10-04 Vincent Celier <celier@gnat.com>
2564
15cd18b9
SS
2565 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
2566 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
2567 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
51004cb5
VC
2568 mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
2569 parameter Options_2.
2570
2571 * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
2572 Build_Dynamic_Library with an empty Options_2.
2573
2574 * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
2575 default anymore.
2576
2577 * makegpr.adb (Get_Imported_Directories.add): Remove trailing
2578 directory separator, if any.
2579 (Gprmake): Do not allow mains on the command line for library projects.
2580 Do not attempt to link when the project is a library project.
2581 (Library_Opts): New table to store Library_Options.
2582 (Build_Library): If Library_Options is specified, pass these options
2583 when building a shared library.
2584
3b37ffbf
JR
25852004-10-04 Jose Ruiz <ruiz@act-europe.fr>
2586
2587 * s-tposen.adb (Service_Entry): The object must be always unlocked at
2588 the end of this procedure now that the unlock operation was inserted
2589 by the expander.
2590
b23e28d5
JR
25912004-10-04 Jose Ruiz <ruiz@act-europe.fr>
2592
2593 * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
2594 corresponding to the Preallocated_Stacks flags in System.
2595 (Get_Target_Parameters): Including the processing for
2596 Preallocated_Stacks.
2597
15cd18b9
SS
2598 * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
2599 system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
2600 system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
2601 system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
2602 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
2603 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
2604 system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
2605 system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
2606 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
2607 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
b23e28d5
JR
2608 system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
2609 used to signal whether the compiler creates the required stacks and
2610 descriptors for the different tasks (when True) or it is done by the
2611 underlying operating system at run time (when False).
2612 It is initially set to False in all targets.
2613
2614 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
2615 if it is supported by the target.
2616 (Make_Task_Create_Call): Pass the stack address if it has been
2617 previously created. Otherwise pass a Null_Address.
2618
2619 * snames.adb: Add _stack.
2620
2621 * snames.ads: Add Name_uStack. Required to allow the expander to
2622 statically allocated task stacks.
2623
2624 * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
2625 Stack_Address argument.
2626 Check that its value is equal to Null_Address because this target does
2627 not support the static stack allocation.
2628
6fd459bb
TQ
26292004-10-04 Thomas Quinot <quinot@act-europe.fr>
2630
2631 * usage.adb: Change "pragma inline" to "pragma Inline" in information
2632 and error messages
2633
5885facb
TQ
26342004-10-04 Thomas Quinot <quinot@act-europe.fr>
2635
2636 * exp_dist.adb: Split declaration of asynchronous flag out of
2637 Add_RACW_Read_Attribute.
2638 Minor reformatting for better alignment with PolyORB version.
2639 Store the entity for the asynchronous flag of an RACW, rather than the
2640 expression, in the asynchronous flags table. This will allow this flag
2641 to be used in other subprograms beside Add_RACW_Read_Attribute.
2642
d6c7ed50
TQ
26432004-10-04 Thomas Quinot <quinot@act-europe.fr>
2644
2645 * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
15cd18b9
SS
2646 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
2647 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
2648 g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
d6c7ed50
TQ
2649 g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
2650 sockets constant MSG_NOSIGNAL (Linux-specific).
2651 Add new sockets constant MSG_Forced_Flags, list of flags to be set on
2652 all Send operations.
2653 For Linux, set MSG_NOSIGNAL on all send operations to prevent them
2654 from trigerring SIGPIPE.
2655 Rename components to avoid clash with Ada 2005 possible reserved
2656 word 'interface'.
2657 (Check_Selector): When the select system call returns with an error
2658 condition, propagate Socket_Error to the caller.
2659
0f0377f6
JH
26602004-10-01 Jan Hubicka <jh@suse.cz>
2661
2662 * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
2663
2c9beb8a
RD
26642004-09-23 Robert Dewar <dewar@gnat.com>
2665
2666 PR ada/17540
2667
2668 * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
2669 instead do this at freeze time (we won't do it if there is an address
2670 clause).
2671 Change "pragma inline" to "pragma Inline" in information and error
2672 messages.
2673 Minor reformatting.
2674
2675 * freeze.adb (Check_Address_Clause): Remove previous change, not the
2676 right way of doing things after all.
2677 (Freeze_Entity): For object, set Is_Public for imported entities
2678 unless there is an address clause present.
2679
2494e673
OH
26802004-09-21 Olivier Hainque <hainque@act-europe.fr>
2681
2682 * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
2683 dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
2684 ensures proper handling of types with rep clauses, which might have
2685 their TYPE_SIZE set already.
2686
910d20fc
RD
26872004-09-21 Robert Dewar <dewar@gnat.com>
2688
2689 * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
2690 packed array types in both little- and big-endian cases. This change
2691 ensures that we no longer count on the unused bits being initialized
2692 for such types (and in particular ensures that equality testing will
2693 only read the relevant bits).
2694 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
2695 These changes mean that we no longer need to initialize small packed
2696 arrays.
2697 (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
2698 optimization to an LJM field as to its parent field.
2699
2700 * ada-tree.h, trans.c, utils.c, utils2.c:
2701 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
2702
8f235343
JH
27032004-09-20 Jan Hubicka <jh@suse.cz>
2704
2705 * utils.c (gnat_finalize): Remove.
2706 (end_subprog_body): Directly call cgraph_finalize_function;
2707 do not lower the nested functions.
2708
bb9be5eb
RD
27092004-09-20 Robert Dewar <dewar@gnat.com>
2710
2711 PR ada/17540
2712
2713 * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
2714 if an address clause is present, since that means that the Import
2715 should be ignored.
2716
796ef2e2
AC
27172004-09-20 Arnaud Charlet <charlet@act-europe.fr>
2718
2719 * 5tsystem.ads: Removed, no longer used.
2720
6615c446
JO
27212004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
2722 Zack Weinberg <zack@codesourcery.com>
2723
2724 * ada-tree.def: Use tree_code_class enumeration constants
2725 instead of code letters.
2726 * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
2727 Update for new tree-class enumeration constants.
2728
93ed8a01
VC
27292004-09-17 Vincent Celier <celier@gnat.com>
2730
2731 * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
2732 capabilities of the general project manager.
2733
c885d7a1
AC
27342004-09-09 Vincent Celier <celier@gnat.com>
2735
2736 * a-direct.ads: Add pragma Ada_05
2737 (Directory_Entry_Type): Give default value to component Kind to avoid
2738 not initialized warnings.
2739
2740 * a-direct.adb (Current_Directory): Remove directory separator at the
2741 end.
2742 (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
2743 an existing directory.
2744 (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
2745 (Size (String)): Function C_Size returns Long_Integer, not File_Size.
2746 Convert the result to File_Size.
2747
2748 * prj.ads: (Project_Error): New exception
2749
2750 * prj-attr.adb: Except in procedure Initialize, Fail comes from
2751 Prj.Com, not from Osint.
2752 (Attrs, Package_Attributes): Tables moved to private part of spec
2753 (Add_Attribute, Add_Unknown_Package): Moved to new child package
2754 Prj.Attr.PM.
2755 (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
2756 Prj.Project_Error after call to Fail.
2757 (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
2758 Fail. Check that package name is not already in use.
2759
2760 * prj-attr.ads: Comment updates to indicate that all subprograms may be
2761 used by tools, not only by the project manager, and to indicate that
2762 exception Prj.Prj_Error may be raised in case of problem.
2763 (Add_Unknown_Package, Add_Attribute): Moved to new child package
2764 Prj.Attr.PM.
2765 (Attrs, Package_Attributes): Table instantiations moved from the body to
2766 the private part to be accessible from Prj.Attr.PM body.
2767
2768 * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
2769 from new package Prj.Attr.PM.
2770 (Parse_Attribute_Declaration): Call Add_Attribute from new package
2771 Prj.Attr.PM.
2772
2773 * Makefile.in: Add prj-attr-pm.o to gnatmake object list
2774
2775 * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
2776 instead of Elaboration_Checks).
2777
2778 * a-calend.adb: Minor reformatting
2779
27802004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2781
2782 * gigi.h (maybe_pad_type): New declaration.
2783 (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
2784
2785 * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
2786
2787 * cuintp.c: Convert to use buildN.
2788
2789 * decl.c (maybe_pad_type): No longer static.
2790 (gnat_to_gnu_entity, case E_Function): Handle case of returning by
2791 target pointer.
2792 Convert to use buildN.
2793
2794 * trans.c (call_to_gnu): Add arg GNU_TARGET; support
2795 TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
2796 (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
2797 RHS.
2798 (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
2799 (gnat_gimplify_expr, case ADDR_EXPR): New case.
2800 Convert to use buildN.
2801
2802 * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
2803 TREE_READONLY for const.
2804 Convert to use buildN.
2805
2806 * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
2807 (create_var_decl): Refine when TREE_STATIC is set.
2808 Convert to use buildN.
2809
28102004-09-09 Gary Dismukes <dismukes@gnat.com>
2811
2812 * gnat_ugn.texi: Delete text relating to checking of ali and object
2813 consistency.
2814
2815 * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
2816 routines.
2817
28182004-09-09 Jose Ruiz <ruiz@act-europe.fr>
2819
2820 * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
2821 pragmas recognized by GNAT.
2822
2823 * gnat_rm.texi: Document pragma Detect_Blocking.
2824
2825 * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
2826 raise Program_Error if called from a protected operation.
2827
2828 * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
2829 the protected action nesting level.
2830 (Lock_Read_Only): When pragma Detect_Blocking is active increase the
2831 protected action nesting level.
2832 (Unlock): When pragma Detect_Blocking is active decrease the protected
2833 action nesting level.
2834
2835 * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
2836 Protected_Action_Nesting.
2837
2838 * s-taskin.ads: Adding the field Protected_Action_Nesting to the
2839 Common_ATCB record. It contains the dynamic level of protected action
2840 nesting for each task. It is needed for checking whether potentially
2841 blocking operations are called from protected operations.
2842 (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
2843 Detect_Blocking is active or not in the partition.
2844
2845 * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
2846 raise Program_Error if called from a protected operation.
2847 (Task_Entry_Call): When pragma Detect_Blocking is active, raise
2848 Program_Error if called from a protected operation.
2849 (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
2850 Program_Error if called from a protected operation.
2851
2852 * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
2853 raise Program_Error if called from a protected operation.
2854
2855 * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
2856 raise Program_Error if called from a protected operation, and increase
2857 the protected action nesting level.
2858 (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
2859 Program_Error if called from a protected operation, and increase the
2860 protected action nesting level.
2861 (Unlock_Entries): When pragma Detect_Blocking is active decrease the
2862 protected action nesting level.
2863
2864 * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
2865 raise Program_Error if called from a protected operation, and increase
2866 the protected action nesting level.
2867 (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
2868 Program_Error if called from a protected operation, and increase the
2869 protected action nesting level.
2870 (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
2871 raise Program_Error if called from a protected operation.
2872 (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
2873 active, raise Program_Error if called from a protected operation.
2874 (Unlock_Entry): When pragma Detect_Blocking is active decrease the
2875 protected action nesting level.
2876
2877 * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
2878 insertion of the statement raising Program_Error. The run time
2879 contains the required machinery for handling that.
2880
2881 * sem_util.ads: Change comment associated to procedure
2882 Check_Potentially_Blocking_Operation.
2883 This procedure does not insert a call for raising the exception because
2884 that is currently done by the run time.
2885
2886 * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
2887
2888 * init.c: Add the global variable __gl_detect_blocking that indicates
2889 whether pragma Detect_Blocking is active (1) or not (0). Needed for
2890 making the pragma available at run time.
2891 (__gnat_set_globals): Pass and update the detect_blocking parameter.
2892
2893 * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
2894 pragma Detect_Blocking is active.
2895
2896 * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
2897
2898 * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
2899 DB is found in the ali file. Any unit compiled with pragma
2900 Detect_Blocking active forces its effect in the whole partition.
2901
2902 * a-retide.adb (Delay_Until): Raise Program_Error if pragma
2903 Detect_Blocking is active and delay is called from a protected
2904 operation.
2905
2906 * bindgen.adb (Gen_Adainit_Ada): When generating the call to
2907 __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
2908 Detect_Blocking is active (0 otherwise).
2909 (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
2910 as Detect_Blocking parameter if pragma Detect_Blocking is active (0
2911 otherwise).
2912
29132004-09-09 Thomas Quinot <quinot@act-europe.fr>
2914
2915 * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
2916 GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
2917 package.
2918
2919 * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
2920 (Register_Receiving_Stub): Add Subp_Info formal parameter.
2921 Update API in placeholder implemetation of s-parint to reflect changes
2922 in distribution runtime library.
2923
2924 * sem_ch3.adb (Expand_Derived_Record): Rename to
2925 Expand_Record_Extension.
2926
2927 * sem_disp.adb (Check_Controlling_Formals): Improve error message for
2928 primitive operations of potentially distributed object types that have
2929 non-controlling anonymous access formals.
2930
2931 * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
2932 subprogram.
2933 New implementation of expansion for remote access-to-subprogram types,
2934 based on the RACW infrastructure.
2935 This version of sem_dist is compatible with PolyORB/DSA as well as
2936 GLADE.
2937
2938 * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
2939 Asynchrronous that applies to a remote access-to-subprogram type, mark
2940 the underlying RACW type as asynchronous.
2941
2942 * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
2943 __gnat_using_gnu_linker to 1.
2944
2945 * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
2946 g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
2947 GNAT.Perfect_Hash_Generators, and remove the empty
2948 GNAT.Perfect_Hash package.
2949
2950 * atree.adb: Minor reformatting
2951
2952 * exp_ch3.adb (Expand_Derived_Record): Rename to
2953 Expand_Record_Extension.
2954 (Build_Record_Init_Proc.Build_Assignment): The default expression in
2955 a component declaration must remain attached at that point in the
2956 tree so New_Copy_Tree copies it if the enclosing record type is derived.
2957 It is therefore necessary to take a copy of the expression when building
2958 the corresponding assignment statement in the init proc.
2959 As a side effect, in the case of a derived record type, we now see the
2960 original expression, without any rewriting that could have occurred
2961 during expansion of the ancestor type's init proc, and we do not need
2962 to go back to Original_Node.
2963
2964 * exp_ch3.ads (Expand_Derived_Record): Rename to
2965 Expand_Record_Extension.
2966
2967 * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
2968 Returns the RACW type used to implement a remote access-to-subprogram
2969 type.
2970 (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
2971 New subprograms. Used to create a proxy tagged object for a remote
2972 subprogram. The proxy object is used as the designated object
2973 for RAS values on the same partition (unless All_Calls_Remote applies).
2974 (Build_Get_Unique_RP_Call): New subprogram. Build a call to
2975 System.Partition_Interface.Get_Unique_Remote_Pointer.
2976 (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
2977 Renamed from Add_RAS_*_Attribute.
2978 (Add_Receiving_Stubs_To_Declarations): Generate a table of local
2979 subprograms.
2980 New implementation of expansion for remote access-to-subprogram types,
2981 based on the RACW infrastructure.
2982
2983 * exp_dist.ads (Copy_Specification): Update comment to note that this
2984 function can copy the specification from either a subprogram
2985 specification or an access-to-subprogram type definition.
2986
29872004-09-09 Ed Schonberg <schonberg@gnat.com>
2988
2989 * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
2990 in an instance, between an explicit subprogram an one inherited from a
2991 type derived from an actual.
2992
2993 * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
2994 add a polling call if the subprogram is to be inlined by the back-end,
2995 to avoid repeated calls with multiple inlinings.
2996
2997 * checks.adb (Apply_Alignment_Check): If the expression in the address
2998 clause is a call whose name is not a static entity (e.g. a dispatching
2999 call), treat as dynamic.
3000
30012004-09-09 Robert Dewar <dewar@gnat.com>
3002
3003 * g-trasym.ads: Minor reformatting
3004
3005 * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
3006 packed arrays, since unused bits are expected to be zero for a
3007 comparison.
3008
30092004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
3010
3011 * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
3012 comment.
3013
30142004-09-09 Pascal Obry <obry@gnat.com>
3015
3016 * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
3017 enable map file generation. Add the right option to generate the map
3018 file if Map_File is set to True.
3019
3020 * gnatdll.adb (Gen_Map_File): New variable.
3021 (Syntax): Add info about new -m (Map_File) option.
3022 (Parse_Command_Line): Add support for -m option.
3023 (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
3024 Minor reformatting.
3025
30262004-09-09 Laurent Pautet <pautet@act-europe.fr>
3027
3028 * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
3029 new gnatdist implementation.
3030 Define a subpackage isolating the output routines specific to this
3031 verbose mode.
3032
30332004-09-09 Joel Brobecker <brobecker@gnat.com>
3034
3035 * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
3036
3037 * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
3038
30392004-09-09 Cyrille Comar <comar@act-europe.fr>
3040
3041 * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
3042 internal unit.
3043
3044 * opt.ads: Add Ada_Version_Runtime constant used to decide which
3045 version of the language is used to compile the run time.
3046
30472004-09-09 Arnaud Charlet <charlet@act-europe.fr>
3048
3049 * sem_util.adb (Requires_Transient_Scope): Re-enable handling
3050 of variable length temporaries for function return now that the
3051 back-end and gigi support it.
3052
23c7b149 30532004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6cdb2c6e
AC
3054
3055 * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
3056
3057 * trans.c (struct stmt_group): Delete field GLOBAL.
3058 (gnat_init_stmt_group): Do not initialize it.
3059 (call_to_gnu): Use save_expr, not protect_multiple_eval.
3060 (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
3061 (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
3062 (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
3063 (start_stmt_group): Likewise.
3064 (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
3065
3066 * utils2.c (ggc.h): Include.
3067 (build_call_raise): Call build_int_cst, not build_int_2.
3068
3069 * utils.c (gnat_init_decl_processing): Fix arg to
3070 build_common_tree_nodes.
3071 (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
3072 (gnat_define_builtin): Set built_in_decls.
3073 (init_gigi_decls): Call build_int_cst, not build_int_2.
3074
3075 * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
3076 (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
3077 (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
3078 (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
3079 SET_TYPE_MODULE): Use them.
3080 (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
3081 (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
3082 (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
3083 SET_TYPE_ADA_SIZE): Likewise.
3084 (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
3085 (DECL_CONST_CORRESPONDING_VAR,
3086 SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
3087 (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
3088 (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
3089 (TYPE_RM_SIZE_NUM): New macro.
3090 (TYPE_RM_SIZE): Modified to use above.
3091
3092 * cuintp.c: (build_cst_from_int): New function.
3093 (UI_To_gnu): Use it.
3094
3095 * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
3096 (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
3097 (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
3098 MIN_EXPR for the size, copy it into new.
3099
23c7b149 31002004-09-01 Robert Dewar <dewar@gnat.com>
6cdb2c6e
AC
3101
3102 * exp_ch6.adb (Expand_Call): Properly handle validity checks for
3103 packed indexed component where array is an IN OUT formal. This
3104 generated garbage code previously.
3105
3106 * gnat_ugn.texi: Document -fverbose-asm
3107
3108 * gnat-style.texi: Minor updates (note that boolean constants and
3109 variables are joined with AND/OR rather than short circuit forms).
3110
23c7b149 31112004-09-01 Ed Schonberg <schonberg@gnat.com>
6cdb2c6e
AC
3112
3113 * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
3114 it is an upward conversion of an untagged type with no representation
3115 change.
3116
23c7b149 31172004-09-01 Thomas Quinot <quinot@act-europe.fr>
6cdb2c6e
AC
3118
3119 * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
3120 System.Partition_Interface.
3121
3122 * checks.adb (Apply_Access_Checks): Do not generate checks when
3123 expander is not active (but check for unset reference to prefix of
3124 dereference).
3125
3126 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
3127 pragma Debug as an if statement with a constant condition, for
3128 consistent treatment of entity references contained within the
3129 enclosed procedure call.
3130
23c7b149 31312004-09-01 Vincent Celier <celier@gnat.com>
6cdb2c6e
AC
3132
3133 * bindgen.adb: (Set_EA_Last): New procedure
3134 (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
3135 Set_EA_Last.
3136 (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
3137 (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
3138 linked without errors.
3139 (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
3140 ST and EA.
3141 (Gen_Exception_Table_C): Correct same bugs
3142
3143 * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
3144
3145 * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
3146 on Windows, make sure that the drive letter is in upper case.
3147
3148 * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
3149 Windows, when the drive letter is added and Case_Sensitive is True, the
3150 drive letter is forced to upper case.
3151
3152 * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
3153 to Options_2 for the call to MLib.Utl.Gcc.
3154
3155 * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
3156 directory separator when defining BASE_DIR.
3157
23c7b149 31582004-09-01 Pascal Obry <obry@gnat.com>
6cdb2c6e
AC
3159
3160 * gprcmd.adb (Extend): Do not output trailing directory separator. This
3161 is not needed and it confuses Windows GNU/make which does not report
3162 directory terminated by a slash as a directory.
3163 (gprcmd): Idem for "pwd" internal command.
3164
3165 * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
3166 target names rewrite to fix regressions with recent version of
3167 GNU/make. Starting with GNU/make 3.80 the pipe character was not
3168 handled properly anymore.
3169
4eb104c1
AS
31702004-09-01 Andreas Schwab <schwab@suse.de>
3171
3172 * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
3173 * raise.c [!IN_RTS]: Undef abort.
3174
6a6bfc8e
NS
31752004-08-27 Nathan Sidwell <nathan@codesourcery.com>
3176
ce552f75
NS
3177 * utils2.c (build_allocator): Use ssize_int.
3178
6a6bfc8e
NS
3179 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
3180
f8b7bf58
AS
31812004-08-27 Andreas Schwab <schwab@suse.de>
3182
3183 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
3184
15793d0c
NS
31852004-08-25 Nathan Sidwell <nathan@codesourcery.com>
3186 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6615c446 3187
15793d0c
NS
3188 * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
3189
7d60be94
NS
31902004-08-25 Nathan Sidwell <nathan@codesourcery.com>
3191
3192 * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
3193 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
3194 * utils.c (init_gigi_decls): Likewise.
3195 * utils2.c (build_call_raise, build_allocator): Likewise.
6615c446 3196
8c1d6d62
NS
31972004-08-24 Nathan Sidwell <nathan@codesourcery.com>
3198
7d60be94 3199 * utils.c (gnat_init_decl_processing): Adjust
8c1d6d62
NS
3200 build_common_tree_nodes call.
3201
3224bead
NS
32022004-08-20 Nathan Sidwell <nathan@codesourcery.com>
3203
3204 * utils2.c (build_allocator): Use build_int_cst for negative
3205 size types.
3206
4766261d
RH
32072004-08-18 Richard Henderson <rth@redhat.com>
3208
3209 * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
3210
1f6c00df
NS
32112004-08-16 Nathan Sidwell <nathan@codesourcery.com>
3212
3213 * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
3214 call.s
3215 * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
3216 (gnat_to_gnu): Likewise.
3217
4c46b835
AC
32182004-08-16 Pascal Obry <obry@gnat.com>
3219
3220 * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
3221 backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
3222 option and not mdll anymore. Update comment.
3223
32242004-08-16 Pascal Obry <obry@gnat.com>
3225
3226 * bld.adb (Put_Include_Project): Properly handle directory separators
3227 on Windows.
3228
32292004-08-16 Ed Schonberg <schonberg@gnat.com>
3230
3231 * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
3232 decreasing the number of allocated junk nodes while searching for the
3233 appropriate subprogram.
3234
4a90aeeb
NS
32352004-08-15 Nathan Sidwell <nathan@codesourcery.com>
3236
3237 * cuintp.c (UI_To_gnu): Use build_int_cst..
3238 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
3239 * utils.c (init_gigi_decls): Likewise.
3240 * utils2.c (build_call_raise): Likewise.
3241
244e5a2c
AC
32422004-08-13 Olivier Hainque <hainque@act-europe.fr>
3243
3244 * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
3245 for a global aliased object with a variable size and an unconstrained
3246 nominal subtype, pretend there is no initializer if the one we have is
3247 incomplete, and avoid referencing an inexistant component in there. The
3248 part we have will be rebuilt anyway and the reference may confuse
3249 further operations.
3250
32512004-08-13 Thomas Quinot <quinot@act-europe.fr>
3252
3253 * einfo.ads: Minor reformatting
3254
3255 * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
3256 restrictions in the ALI if we only want to warn about violations.
3257
32582004-08-13 Vincent Celier <celier@gnat.com>
3259
3260 * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
3261 when creating a new Unit_Record in table Units.
3262
3263 * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
3264 that are violated, if any.
3265
3266 * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
3267 add directory separator if path already ends with a directory separator.
3268
32692004-08-13 Ed Schonberg <schonberg@gnat.com>
3270
3271 * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
3272 unit, this is an attempt to inline a construct that is not available in
3273 the current restricted mode, so abort rather than trying to continue.
3274
3275 * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
3276 discriminants that rename those of the parent, recover names of
3277 original discriminants for the constraint on the full view of the
3278 parent.
3279 (Complete_Private_Subtype): Do not create a subtype declaration if the
3280 subtype is an itype.
3281
3282 * gnat_rm.texi: Added section on implementation of discriminated
3283 records with default values for discriminants.
3284
32852004-08-13 Ed Schonberg <schonberg@gnat.com>
3286
3287 PR ada/15601
3288 * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
3289 the second operand is overloaded.
3290
1a186ec5
RH
32912004-08-10 Richard Henderson <rth@redhat.com>
3292
3293 * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
3294 add __builtin_alloca.
3295
89f1a702
RH
32962004-08-10 Richard Henderson <rth@redhat.com>
3297
3298 * config-lang.in (boot_language): Yes.
3299
5d09245e
AC
33002004-08-09 Thomas Quinot <quinot@act-europe.fr>
3301
3302 * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
3303 from complaining on potential uninitialized reference.
3304 Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
3305 new specification and test explicitly for non-zero return value.
3306
3307 * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
3308 returning C.int, to avoid using a derived boolean type.
3309
3310 * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
3311 Duplicate_Subexpr_No_Checks in preference to direct use of
3312 Remove_Side_Effects and New_Copy_Tree.
3313 Clear Comes_From_Source on prefix of 'Size attribute reference.
3314
3315 * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
3316 g-socthi-vxworks.adb: Change calls to
3317 GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
3318 and test explicitly for non-zero return value.
3319
6615c446 3320 * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
5d09245e
AC
3321 (Is_Socket_In_Set): Declare imported function as returning C.int, to
3322 avoid using a derived boolean type.
3323
33242004-08-09 Albert Lee <lee@gnat.com>
3325
3326 * system-irix-n32.ads: Refine tasking priority constants for IRIX.
3327
33282004-08-09 Pascal Obry <obry@gnat.com>
3329
3330 * gnat_ugn.texi: Document new way to build DLLs on Windows using
3331 GCC's -shared option.
3332
3333 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
3334 Options_2 parameter (options put after object files).
3335
33362004-08-09 Olivier Hainque <hainque@act-europe.fr>
3337
3338 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
3339 ignore overflows on low and high bounds of an index to also account for
3340 differences in signedness between sizetype and gnu_index_subtype.
3341 These are as legitimate as the ones caused by a lower TYPE_PRECISION
3342 on sizetype.
3343
33442004-08-09 Robert Dewar <dewar@gnat.com>
3345
3346 * s-solita.ads, s-solita.adb: Minor reformatting
3347
3348 * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
3349 Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
3350 obsolescent section
3351 Add note that No_Implicit_Conditionals does not suppress
3352 run time constraint checks.
3353
3354 * vms_conv.ads: Minor reformatting
3355
3356 * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
3357 and necessary for following change).
3358 (Mark): Return new format Mark_Id containing sec stack address
3359 (Release): Use sec stack address from Mark_Id avoiding Self call
3360
3361 * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
3362 pointer (cleanup and necessary for following change).
3363 Define Mark_Id as record containing address of secondary stack, that way
3364 Release does not need to find the stack again, decreasing the number of
3365 calls to Self and improving efficiency.
3366
3367 * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
3368
3369 * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
3370 case variable into the individual case branches when possible.
3371
3372 * sem_ch11.adb: Minor reformatting
3373
3374 * prj.ads: Correct spelling of suffixs
3375
3376 * prj-nmsc.adb: Minor reformatting
3377 Correct spelling suffixs throughout (also in identifiers)
3378
3379 * freeze.adb: Minor spelling correction
3380
3381 * exp_ch2.adb: Cleanups to handling of Current_Value
3382 (no functional effect).
3383
3384 * bld.adb: Correct spelling of suffixs
3385
3386 * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
3387
33882004-08-09 Ed Schonberg <schonberg@gnat.com>
3389
3390 PR ada/15408
3391
3392 * sem_ch7.adb (Install_Private_Declarations): In the body of the
3393 package or of a child, private entities are both immediately_visible
3394 and not hidden.
3395
33962004-08-09 Ed Schonberg <schonberg@gnat.com>
3397
3398 * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
3399 there are no range checks on the value of the literal.
3400
3401 * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
3402 wrapped is the triggering alternative of an asynchronous select, action
3403 statements mustbe inserted before the select itself.
3404
3405 * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
3406 case where the prefix is a protected function call.
3407 (Resolve_Attribute, case 'Access): The attribute reference on a
3408 subprogram is legal in a generic body if the subprogram is declared
3409 elsewhere.
3410
34112004-08-09 Vincent Celier <celier@gnat.com>
3412
3413 * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
3414 languages, otherwise building the library may fail with unresolved
3415 symbols.
3416 (Compile_Sources): Do not build libraries if -c switch is used
3417
3418 * gnatlink.adb (Process_Args): New switches -M and -Mmap
3419 (Write_Usage): If map file creation is supported, output new switches
3420 -M and -Mmap.
3421 (Gnatlink): When -M is specified, add the necessary switch(es) to the
3422 gcc call, when supported.
3423
3424 * Makefile.in: Added indepsw.o to the object list for gnatlink
3425 Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
3426
3427 * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
3428 indepsw.adb, indepsw.ads: New files.
3429
34302004-08-09 Bernard Banner <banner@gnat.com>
3431
3432 * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
3433
3434 * Makefile.in: add section for vxworks x86
3435
34362004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
3437
3438 * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
3439 per-object constrained components where the discriminant is of an
3440 Access type.
3441 (Build_Record_Init_Proc): Add condition to prevent the inheritance of
3442 the parent initialization procedure for derived Unchecked_Unions.
3443 Instead, derived Unchecked_Unions build their own initialization
3444 procedure.
3445 (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
3446 Check the body of the subprogram for details.
3447 (Freeze_Record_Type): Prevent the inheritance of discriminant checking
3448 functions for derived Unchecked_Union types by introducing a condition.
3449 Allow the creation of TSS equality functions for Unchecked_Unions.
3450 (Make_Eq_Case): Rename formal parameter Node to E in function signature.
3451 Add formal parameter Discr to function signature. Discr is used to
3452 control the generated case statement for Unchecked_Union types.
3453 (Make_Eq_If): Rename formal parameter Node to E in function signature.
3454
3455 * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
3456 Unchecked_Unions.
3457 Check the body of the subprogram for details.
3458 (Expand_Composite_Equality): Augment composite type equality to include
3459 correct handling of Unchecked_Union components.
3460 (Expand_N_In): Add condition to detect illegal membership tests when the
3461 subtype mark is a constrained Unchecked_Union and the expression lacks
3462 inferable discriminants, and build a Raise_Program_Error node.
3463 (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
3464 to detect types that contain components of unconstrained Unchecked_Union
3465 subtype. Add condition to detect equality between types that have an
3466 unconstrained Unchecked_Union component, and build a Raise_Program_Error
3467 node. Add condition to detect equality between Unchecked_Union types
3468 that lack inferable discriminants, and build a Raise_Program_Error node.
3469 Otherwise build a TSS equality function call.
3470 (Expand_N_Type_Conversion): Add condition to detect illegal conversions
3471 from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
3472 with the operand lacking inferable discriminants, and build a Raise_
3473 Program_Error node.
3474 (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
3475 composite equality.
3476 (Has_Inferable_Discriminants): Implement new predicate for objects and
3477 expressions of Unchecked_Union type. Check the body of subprogram for
3478 details.
3479 (Has_Unconstrained_UU_Components): Add function
3480 Component_Is_Unconstrained_UU. It is used to detect whether a single
3481 component is of an unconstrained Unchecked_Union subtype. Add function
3482 Variant_Is_Unconstrained_UU. It is used to detect whether a single
3483 component inside a variant is of an unconstrained Unchecked_Union type.
3484
3485 * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
3486 inferred discriminant values. Add condition to generate a case
3487 statement with an inferred discriminant as the switch.
3488 (Make_Component_List_Assign): Introduce a Boolean flag that determines
3489 the behaviour of the subprogram in the presence of an Unchecked_Union.
3490 Add condition to trigger the usage of the inferred discriminant value
3491 as the generated case statement switch.
3492 (Make_Field_Assign): Introduce a Boolean flag that determines the
3493 behaviour of the subprogram in the presence of an Unchecked_Union. Add
3494 condition to trigger the usage of the inferred discriminant value as
3495 the right-hand side of the generated assignment.
3496
3497 * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
3498 parameter generation when dealing with Unchecked_Unions.
3499
3500 * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
3501 checks for Unchecked_Unions.
3502
3503 * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
3504
3505 * exp_attr.adb (Expand_N_Attribute_Reference): Produce
3506 Raise_Program_Error nodes for the execution of Read and Write
3507 attributes of Unchecked_Union types and the execution of Input and
3508 Output attributes of Unchecked_Union types that lack default
3509 discriminant values.
3510
3511 * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
3512 Unchecked_Union. Add procedure Check_Component. It is used to inspect
3513 per-object constrained components of Unchecked_Unions for being
3514 Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
3515 check individual components withing a variant.
3516
3517 * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
3518 comparison of Unchecked_Unions.
3519 (Resolve_Equality_OP): Remove guard that prevents equality between
3520 Unchecked_Unions.
3521
3522 * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
3523 of component subtypes for Unchecked_Union components.
3524 (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
3525 since it is the actual subtype.
3526
3527 * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
3528 pass of Unchecked_Union subtypes as generic actuals to formal types
3529 that lack known_discriminant_parts or that are derived Unchecked_Union
3530 types, and do nothing. In any other case, produce an error message.
3531
3532 * sem_ch3.adb (Analyze_Component_Declaration): Add function
3533 Contains_POC. It determines whether a constraint uses the discriminant
3534 of an enclosing record type.
3535 Add condition to detect per-object constrained component and set the
3536 appropriate flag.
3537 (Derived_Type_Declaration): Remove guard that prevents derivation from
3538 Unchecked_Union types.
3539 (Process_Subtype): Remove quard that prevents the creation of Unchecked_
3540 Union subtypes.
3541
3542 * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
3543 references to Unchecked_Union discriminants.
3544
3545 * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
3546 formal generation when dealing with Unchecked_Unions.
3547 (Set_Actual_Subtypes): Add condition to prevent generation of actual
3548 subtypes for Unchecked_Unions.
3549
3550 * sem_ch7.adb (Analyze_Package_Specification): Add procedure
3551 Inspect_Unchecked_Union_Completion. It is used to detect incorrect
3552 completions of discriminated partial views by Unchecked_Unions and
3553 produce an error message.
3554
35552004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3556
3557 * trans.c (struct stmt_group): New field, GLOBAL.
3558 (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
3559 (struct elab_info): New struct.
3560 (elab_info_list, gnu_elab_proc_stack): New variables.
3561 (Compilation_Unit_to_gnu): New procedure.
3562 (gigi): Call it and also handle elaboration procs we've saved.
3563 (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
3564 global field from parent.
3565 (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
3566 (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
3567 (start_stmt_group): Initialize global field from parent.
3568 (add_decl_expr): Set to global for current statement group.
3569 (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
3570 post.
3571
3572 * utils.c (global_bindings_p): True when no current_function_decl; no
3573 longer check current_binding_level.
3574
35752004-08-09 Ben Brosgol <brosgol@gnat.com>
3576
3577 * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
3578 choice.
3579
3580 * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
3581
160ff372
AS
35822004-08-06 Andreas Schwab <schwab@suse.de>
3583
3584 * utils.c (gnat_define_builtin): Remove second parameter of
3585 make_decl_rtl.
3586 (begin_subprog_body): Likewise.
3587
615cbd95
AC
35882004-07-26 Arnaud Charlet <charlet@act-europe.fr>
3589
3590 * sem_util.adb (Requires_Transient_Scope): Temporarily disable
3591 optimization, not supported by the tree-ssa back-end.
3592
35932004-07-26 Olivier Hainque <hainque@act-europe.fr>
3594
3595 * s-mastop-irix.adb: Update comments.
3596
3597 * a-except.adb (Exception_Information): Raise Constraint_Error if
3598 exception Id is Null_Id.
3599 This is required behavior, which is more reliably and clearly checked
3600 at the top level interface level.
3601
36022004-07-26 Javier Miranda <miranda@gnat.com>
3603
3604 * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
3605 call if a component has no default_expression and the box is used.
3606
3607 * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
3608 default_expression and you use box, it behaves as if you had declared a
3609 stand-alone object.
3610 (Resolve_Record_Aggregate): If a component has no default_expression and
3611 you use box, it behaves as if you had declared a stand-alone object.
3612
3613 * sem_ch10.adb (Install_Siblings): Do not make visible the private
3614 entities of private-with siblings.
3615
36162004-07-26 Ed Schonberg <schonberg@gnat.com>
3617
3618 * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
3619 for a component of an itype, set the parent pointer for analysis,
3620 there is no list in which to insert it.
3621
3622 * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
3623 bona-fide renamings, not for inherited operations.
3624
3625 * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
3626 actual for a formal that is an access parameter, create local
3627 finalization list even if the expression is not an aggregate.
3628
36292004-07-26 Ed Schonberg <schonberg@gnat.com>
3630
3631 PR ada/16213
3632 * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
3633 Diagnose properly illegal subprogram renamings that are library units.
3634
36352004-07-26 Ed Schonberg <schonberg@gnat.com>
3636
3637 PR ada/15588
3638 * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
3639 conversion rewritten as an unchecked conversion, check that original
3640 expression is a variable.
3641
3642 * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
3643 unchecked_conversion, create new node rather than rewriting in place,
3644 to preserve original construct.
3645
36462004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3647
3648 * gigi.h (gnat_expand_body): Deleted.
3649
3650 * Make-lang.in: (trans.o): Depends on function.h.
3651
3652 * misc.c: (gnat_expand_body): Moved to here.
3653
3654 * trans.c (gnat_expand_body_1): Deleted.
3655 (gnat_expand_body): Moved from here.
3656 (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
3657 (add_stmt): Check for marked visited with global_bindings_p.
3658 (gnat_gimplify_expr, case COMPONENT_REF): New case.
3659 (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
3660
3661 * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
3662 VIEW_CONVERT_EXPR if not operation type.
3663
3664 * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
3665 fat pointer.
3666
3667 * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
3668 changes: reformatting of negation operators, removing unneeded
3669 inequality comparison with zero, converting equality comparisons with
3670 zero to negations, changing int/0/1 to bool/false/true, replace calls
3671 to gigi_abort with abort, and various other similar changes.
3672
36732004-07-26 Vincent Celier <celier@gnat.com>
3674
3675 * gnatcmd.adb (GNATCmd): Add processing for new built-in command
3676 "setup".
3677
3678 * make.adb (Gnatmake): Fail when a library is not present and there is
3679 no object directory.
3680
3681 * mlib-prj.adb (Check_Library): No need to check if the library needs
3682 to be rebuilt if there is no object directory, hence no object files
3683 to build the library.
3684
3685 * opt.ads (Setup_Projects): New Boolean flag.
3686
3687 * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
3688 Location.
3689 Create directory when Kind /= "" and in "gnat setup". Report error if
3690 directory cannot be created.
3691 (Ada_Check): Create library interface copy dir if it does not exist
3692 and we are in "gnat setup".
3693 (Find_Sources): No error if in "gnat setup" and no Ada sources were
3694 found.
3695 (Language_Independent_Check): Create object directory, exec directory
3696 and/or library directory if they do not exist and we are in
3697 "gnat setup".
3698
3699 * vms_conv.ads: (Command_Type): New command Setup.
3700
3701 * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
3702
3703 * vms_data.ads: Add qualifiers/switches for new built-in command
3704 "setup".
3705
b785f485
RH
37062004-07-25 Richard Henderson <rth@redhat.com>
3707
3708 * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
3709 DECL_IGNORED_P on RESULT_DECL.
3710
35ae2ed8
AC
37112004-07-20 Olivier Hainque <hainque@act-europe.fr>
3712
3713 * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
3714 allocation and potentially overflowing update with
3715 Tailored_Exception_Information. Use the sec-stack free procedural
3716 interface to output Exception_Information instead.
3717
3718 * a-except.adb (To_Stderr): New subprogram for character, and string
3719 version moved from a-exextr to be visible from other separate units.
3720 (Tailored_Exception_Information): Remove the procedural version,
3721 previously used by the default Last_Chance_Handler and not any more.
3722 Adjust various comments.
3723
3724 * a-exexda.adb: Generalize the exception information procedural
3725 interface, to minimize the use of secondary stack and the need for
3726 local buffers when the info is to be output to stderr:
3727 (Address_Image): Removed.
3728 (Append_Info_Character): New subprogram, checking for overflows and
3729 outputing to stderr if buffer to fill is of length 0.
3730 (Append_Info_String): Output to stderr if buffer to fill is of length 0.
3731 (Append_Info_Address, Append_Info_Exception_Name,
3732 Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
3733 Append_Info_Basic_Exception_Traceback,
3734 Append_Info_Exception_Information): New subprograms.
3735 (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
3736 (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
3737 Exception_Info_Maxlength, Exception_Name_Length,
3738 Exception_Message_Length): New subprograms.
3739 (Exception_Information): Use Append_Info_Exception_Information.
3740 (Tailored_Exception_Information): Use
3741 Append_Info_Basic_Exception_Information.
3742 Export services for the default Last_Chance_Handler.
3743
3744 * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
3745 other separate units.
3746
37472004-07-20 Vincent Celier <celier@gnat.com>
3748
3749 * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
3750
37512004-07-20 Ed Schonberg <schonberg@gnat.com>
3752
3753 * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
3754 emit itype references for the designated types of component types that
3755 are declared outside of the full record declaration, and that may
3756 denote a partial view of that record type.
3757
37582004-07-20 Ed Schonberg <schonberg@gnat.com>
3759
3760 PR ada/15607
3761 * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
3762 which is the designated type in an access component declaration, to the
3763 list of incomplete dependents of the parent type, to avoid elaboration
3764 issues with out-of-scope subtypes.
3765 (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
3766 full view of the parent.
3767
37682004-07-20 Ed Schonberg <schonberg@gnat.com>
3769
3770 PR ada/15610
3771 * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
3772 entities that are hidden, such as references to generic actuals
3773 outside an instance.
3774
37752004-07-20 Javier Miranda <miranda@gnat.com>
3776
3777 * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
3778 support to the new notation.
3779 (Analyze_Selected_Component): Add call to Try_Object_Operation.
3780
37812004-07-20 Jose Ruiz <ruiz@act-europe.fr>
3782
3783 * s-taprob.adb: Adding the elaboration code required for initializing
3784 the tasking soft links that are common to the full and the restricted
3785 run times.
3786
3787 * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
3788 restricted run time has been moved to the package
3789 System.Soft_Links.Tasking.
3790
3791 * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
3792 restricted run time has been moved to the package
3793 System.Soft_Links.Tasking.
3794
3795 * Makefile.rtl: Add entry for s-solita.o in run-time library list.
3796
3797 * s-solita.ads, s-solita.adb: New files.
3798
37992004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3800
3801 * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
3802 Case_Statement_to_gnu): Split off from gnat_to_gnu.
3803 (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
3804 Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
3805 Exception_Handler_to_gnu_zcx): Likewise.
3806
6e34d3a3
JM
38072004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
3808
3809 * gigi.h (builtin_function): Declare.
3810
523456db
AC
38112004-07-15 Robert Dewar <dewar@gnat.com>
3812
3813 * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
3814 reformatting
3815
3816 * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
3817 access values as an example of a warning.
3818
3819 * gnat_rm.texi: Document new attribute Has_Access_Values
3820
3821 * gnat-style.texi: Document that box comments belong on nested
3822 subprograms
3823
3824 * sem_util.ads (Has_Access_Values): Improved documentation
3825
3826 * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
3827
3828 * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
3829 (Process_Interface_Name): Call to this new procedure
3830 (Set_Extended_Import_Export_External_Name): Call to this new procedure
3831
3832 * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
3833
3834 * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
3835
3836 * einfo.ads: Minor comment typo fixed
3837
38382004-07-15 Jose Ruiz <ruiz@act-europe.fr>
3839
3840 * snames.adb: Add _atcb.
3841
3842 * snames.ads: Add Name_uATCB.
3843
3844 * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
3845 (in the expanded code) when using the restricted run time.
3846
3847 * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
3848 a in parameter in order to allow ATCBs to be preallocated (in the
3849 expanded code).
3850
3851 * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
3852 order to allow ATCBs to be preallocated. In case of error, the ATCB is
3853 deallocated in System.Tasking.Stages.
3854
3855 * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
3856 order to allow ATCBs to be preallocated.
3857
3858 * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
3859 here. It was previously done in Initialize_ATCB.
3860
3861 * rtsfind.ads: Make the Ada_Task_Control_Block visible.
3862
3863 * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
3864 Restricted run time.
3865
3866 * exp_ch3.adb: When using the Restricted run time, pass the
3867 preallocated Ada_Task_Control_Block when creating a task.
3868
38692004-07-15 Ed Schonberg <schonberg@gnat.com>
3870
3871 * sem_util.adb (Normalize_Actuals): If there are no actuals on a
3872 function call that is itself an actual in an enclosing call, diagnose
3873 problem here rather than assuming that resolution will catch it.
3874
3875 * sem_ch7.adb (Analyze_Package_Specification): If the specification is
3876 the local copy of a generic unit for a formal package, and the generic
3877 is a child unit, install private part of ancestors before compiling
3878 private part of spec.
3879
3880 * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
3881 use scope entities rather than tree structures, to handle properly
3882 parent units that are instances rewritten as bodies for inlining
3883 purposes.
3884
3885 * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
3886 Remove_Parents): Handle properly a parent unit that is an
3887 instantiation, when the unit has been rewritten as a body for inlining
3888 purposes.
3889
3890 * par.adb (Goto_List): Global variable to collect goto statements in a
3891 given unit, for use in detecting natural loops.
3892
3893 * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
3894 use in detecting natural loops.
3895
3896 * par-labl.adb (Find_Natural_Loops): Recognize loops create by
3897 backwards goto's, and rewrite as a infinite loop, to improve locality
3898 of temporaries.
3899
3900 * exp_util.adb (Force_Evaluation): Recognize a left-hand side
3901 subcomponent that includes an indexed reference, to prevent the
3902 generation of copies that would miscompile the desired assignment
3903 statement.
3904 (Build_Task_Image_Decls): Add a numeric suffix to
3905 generated name for string variable, to avoid spurious conflicts with
3906 the name of the type of a single protected object.
3907
3908 * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
3909 loop with an explicit exit statement, to avoid generating an
3910 out-of-range value with 'Succ leading to spurious constraint_errors
3911 when compiling with -gnatVo.
3912
39132004-07-15 Thomas Quinot <quinot@act-europe.fr>
3914
3915 * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
3916 might not be analyzed yet, even if its Etype is already set (case of an
3917 unchecked conversion built using Unchecked_Convert_To, for example).
3918 If the prefix has already been analyzed, this will be a nop anyway.
3919
3920 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
3921 controller type, or an assignment of a record type with controlled
3922 components, copy only user data, and leave the finalization chain
3923 pointers untouched.
3924
39252004-07-15 Vincent Celier <celier@gnat.com>
3926
3927 * make.adb (Collect_Arguments): Improve error message when attempting
3928 to compile a source not part of any project, when -x is not used.
3929
3930 * prj.ads: (Defined_Variable_Kind): New subtype
3931
3932 * prj-attr.adb (Register_New_Package): Two new procedures to register
3933 a package with or without its attributes.
3934 (Register_New_Attribute): Mew procedure to register a new attribute in a
3935 package.
3936 New attribute oriented subprograms: Attribute_Node_Id_Of,
3937 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
3938 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
3939 Next_Attribute.
3940 New package oriented subprograms: Package_Node_Id_Of,
3941 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
3942
3943 * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
3944 type.
3945 (Package_Node_Id): Now a private, self initialized type
3946 (Register_New_Package): New procedure to register a package with its
3947 attributes.
3948 New attribute oriented subprograms: Attribute_Node_Id_Of,
3949 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
3950 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
3951 Next_Attribute.
3952 New package oriented subprograms: Package_Node_Id_Of,
3953 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
3954
3955 * prj-dect.adb (Parse_Attribute_Declaration,
3956 Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
3957
3958 * prj-makr.adb (Make): Parse existing project file before creating
3959 other files. Fail if there was an error during parsing.
3960
3961 * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
3962 new spec of Prj.Attr.
3963
3964 * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
3965 to new spec of Prj.Attr.
3966
39672004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3968
3969 * utils2.c: Fix typo in comment.
3970
39712004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
54805e13
RK
3972
3973 * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
3974 * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
3975
a1c7af89
AS
39762004-07-14 Andreas Schwab <schwab@suse.de>
3977
3978 * trans.c (gnat_init_stmt_group): Remove duplicate definition.
3979
a5cb3b30
AC
39802004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3981
3982 * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
3983 object type.
3984 (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
3985 TYPE_STUB_DECL.
3986
3987 * misc.c (gnat_types_compatible_p): New function.
3988 (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
3989 (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
3990
3991 * trans.c (gigi): Move processing of main N_Compilation_Unit here.
3992 (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
3993 (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
3994 (mark_visited): Don't mark dummy type.
6615c446 3995 (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
a5cb3b30
AC
3996 parameter, we must remove any LJM building from GNU_NAME.
3997 (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
3998 (pos_to_constructor): Use int_const_binop.
3999 (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
4000 PARM_DECL.
4001
4002 * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
4003 (gnat_pushlevel): Set TREE_USE on BLOCK node.
4004 (gnat_install_builtins): Add __builtin_memset.
4005
40062004-07-13 Olivier Hainque <hainque@act-europe.fr>
4007
4008 * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
4009 for a renaming, stabilize the initialization expression if we are at a
4010 local level. At the local level, uses of the renaming may be performed
4011 by a direct dereference of the initializing expression, and we don't
4012 want possible variables there to be evaluated for every use.
4013
4014 * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
4015 Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
4016 them on the way. Account for the fact that we may introduce side
4017 effects in the process.
4018
0976078c
RH
40192004-07-13 Richard Henderson <rth@redhat.com>
4020
4021 * misc.c (default_pass_by_ref): Use pass_by_reference.
4022
9dcf6e73
JM
40232004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
4024
4025 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
4026 LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
4027
ac45df5d
RH
40282004-07-08 Richard Henderson <rth@redhat.com>
4029
4030 * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
4031 commentary.
4032
15ce9ca2
AC
40332004-07-06 Vincent Celier <celier@gnat.com>
4034
4035 * vms_conv.ads: Minor reformatting.
4036 Alphabetical order for enumerated values of type Command_Type, to have
4037 the command in alphabetical order for the usage.
4038
4039 * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
4040 the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
4041
4042 * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
4043
4044 * makegpr.adb (Global_Archive_Exists): New global Boolean variable
4045 (Add_Archive_Path): Only add the global archive if there is one.
4046 (Build_Global_Archive): Set Global_Archive_Exists depending if there is
4047 or not any object file to put in the global archive, and don't build
4048 a global archive if there is none.
4049 (X_Switches): New table
4050 (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
4051 in the X_Switches table, if any.
4052 (Initialize): Make sure the X_Switches table is empty
4053 (Scan_Arg): Record -X switches in table X_Switches
4054
4055 * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
4056
4057 * make.adb: Minor comment fix
4058
4059 * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
4060 invoked with directory information, add the directory in front of the
4061 path.
4062
4063 * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
4064 invoked with directory information, add the directory in front of the
4065 path.
4066
4067 * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
4068 when Keep_Temporary_Files is False.
4069 (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
4070 directory information, add the directory in front of the path.
4071 When not on VMS, handle new switch -dn before the command to set
4072 Keep_Temporary_Files to True.
4073 (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
4074 everywhere.
4075
4076 * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
4077 invoked with directory information, add the directory in front of the
4078 path.
4079
40802004-07-06 Thomas Quinot <quinot@act-europe.fr>
4081
4082 * snames.ads, snames.adb (Name_Stub): New name for the distributed
4083 systems annex.
4084
4085 * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
4086 New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
4087
4088 * g-socket.adb (To_Timeval): Fix incorrect conversion of
4089 Selector_Duration to Timeval for the case of 0.0.
4090
4091 * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
4092 documentation from Evolve_And_Then.
4093
40942004-07-06 Jose Ruiz <ruiz@act-europe.fr>
4095
4096 * s-taprop-tru64.adb, s-taprop-os2.adb,
4097 s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
4098
40992004-07-06 Robert Dewar <dewar@gnat.com>
4100
4101 * s-osinte-hpux.ads, s-osinte-freebsd.ads,
4102 s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
4103 s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
4104 s-interr-sigaction.adb, s-taprop-irix-athread.adb,
4105 s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
4106 s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
4107 s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
4108 s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
4109 a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
4110 a-tags.ads, bindgen.ads, checks.adb, checks.adb,
4111 csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
4112 exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
4113 g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
4114 i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
4115 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
4116 sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
4117 sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
4118 s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
4119 s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
4120 s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
4121 vms_data.ads: Minor reformatting,
4122 Fix bad box comment format.
4123
4124 * gnat_rm.texi: Fix minor grammatical error
4125
4126 * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
4127
4128 * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
4129 more cases of discriminated records to be recognized as not needing a
4130 secondary stack.
4131 (Has_Access_Values): New function.
4132
4133 * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
4134
4135 * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
4136 Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
4137 with LRM terminology).
4138 Change terminology in comments primitive type => elementary type.
4139
41402004-07-06 Ed Schonberg <schonberg@gnat.com>
4141
4142 PR ada/15602
4143 * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
4144 parameters do not impose any requirements on the presence of a body.
4145
41462004-07-06 Ed Schonberg <schonberg@gnat.com>
4147
4148 PR ada/15593
4149 * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
4150 compilation unit and is in an open scope at the point of instantiation,
4151 assume that a body may be present later.
4152
41532004-07-06 Ed Schonberg <schonberg@gnat.com>
4154
4155 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
4156 Improve error message when specified size is not supported.
4157
4158 * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
4159 is never a primitive operation.
4160
cb42deba
AS
41612004-07-05 Andreas Schwab <schwab@suse.de>
4162
4163 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
4164 RECORD_OR_UNION_CHECK.
4165 (TYPE_CONTAINS_TEMPLATE_P): Likewise.
4166
98877933
KC
41672004-07-04 Kelley Cook <kcook@gcc.gnu.org>
4168
4169 * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
4170 dependency on xgnatugn, instead build it via a submake.
4171 (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
4172
8fff4fc1
RH
41732004-07-04 Richard Henderson <rth@redhat.com>
4174
4175 * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
4176
4dfa0342
RH
41772004-07-01 Richard Henderson <rth@redhat.com>
4178
4179 * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
4180 * utils.c (max_size): Likewise.
4181
909f21b3
RK
41822004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4183
4184 * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
4185 and rest_of_type_compilation; add arg to create_*_decl.
15cd18b9 4186 (annotate_decl_with_node): Deleted.
909f21b3
RK
4187 (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
4188 * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
4189 (get_current_block_context, gnat_pushdecl): New declarations.
4190 (gnat_init_stmt_group): Likewise.
4191 (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
4192 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
4193 (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
4194 (gnat_init): Call gnat_init_stmt_group.
4195 * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
4196 (gnu_pending_elaboration_list): Deleted.
4197 (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
4198 (gigi): Rearrange initialization calls and move some to last above.
4199 (gnat_to_gnu): If statement and not in procedure, go into elab proc.
4200 Delete calls to add_decl_expr; add arg to create_*_decl.
4201 (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
6615c446 4202 (gnat_to_gnu, case N_Subprogram_Body): Move some code to
909f21b3
RK
4203 begin_subprog_body and call it.
4204 Don't push and pop ggc context.
4205 (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
4206 (add_stmt): Remove handling of DECL_EXPR from here.
4207 If not in function, mark visited.
4208 (add_decl_expr): Put global at top level.
4209 Check for cases of DECL_INITIAL we have to handle here.
4210 (process_type): Add extra arg to create_type_decl.
4211 (build_unit_elab): Rework to just gimplify.
4212 * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
4213 (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
4214 (get_pending_elaborations, pending_elaborations_p): Likewise.
4215 (push_pending_elaborations, pop_pending_elaborations): Likewise.
4216 (get_elaboration_location, insert_elaboration_list): Likewise.
4217 (gnat_binding_level): Renamed from ada_binding_level.
4218 (init_gnat_to_gnu): Don't clear pending_elaborations.
4219 (global_bindings_p): Treat as global if no current_binding_level.
4220 (set_current_block_context): New function.
4221 (gnat_pushdecl): Renamed from pushdecl; major rework.
4222 All callers changed.
4223 (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
4224 (finish_record_type): Call call pushdecl for stub decl.
4225 (function_nesting_depth): Deleted.
4226 (begin_subprog_body): Delete obsolete code.
4227 * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
6615c446 4228
246d2ceb
AC
42292004-06-28 Robert Dewar <dewar@gnat.com>
4230
4231 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
4232 mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
4233 mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
4234 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
4235 a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
4236
4237 * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
4238 deal with problem of inefficient slices on machines with strict
4239 alignment, when the slice is a component of a composite.
4240
4241 * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
4242 machines, we need the check there as well.
4243
42442004-06-28 Ed Schonberg <schonberg@gnat.com>
4245
4246 * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
4247 determine safe copying direction for overlapping slice assignments
4248 when component is controlled.
4249
4250 * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
4251 formal derived type in the actual for a formal package are visible in
4252 the enclosing instance.
4253
42542004-06-28 Ed Schonberg <schonberg@gnat.com>
4255
4256 PR ada/15600
4257 * sem_util.adb (Trace_Components): Diagnose properly an illegal
4258 circularity involving a private type whose completion includes a
4259 self-referential component.
4260 (Enter_Name): Use Is_Inherited_Operation to distinguish a source
4261 renaming or an instantiation from an implicit derived operation.
4262
42632004-06-28 Pascal Obry <obry@gnat.com>
4264
4265 * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
4266 DLL.
4267 (Library_File_Name_For): Idem.
4268
42692004-06-28 Matthew Gingell <gingell@gnat.com>
4270
4271 * g-traceb.ads: Add explanatory note on the format of addresses
4272 expected by addr2line.
4273
42742004-06-28 Jerome Guitton <guitton@act-europe.fr>
4275
4276 * Makefile.in: Force debugging information on s-tasdeb.adb,
4277 a-except.adb and s-assert.adb needed by the debugger.
4278
42792004-06-28 Vincent Celier <celier@gnat.com>
4280
4281 * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
4282 Need_To_Build_Lib.
4283 (Gnatmake): Ditto.
4284
4285 * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
4286
4287 * prj.adb: Minor reformatting
4288 (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
4289
4290 * prj.ads: Comment updates
4291 Minor reformatting
4292 (Project_Data): Change Flag1 to Need_To_Build_Lib.
4293 Remove Flag2: not used.
4294
4295 * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
4296 declaration.
4297
4298 * gnat_ugn.texi: Put a "null;" declaration in one project file example
4299
4300 * gnat_rm.texi: Document Empty declarations "null;".
4301
4302 * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
4303 front of the linker options.
4304 (Link_Foreign): Put the global archives and the libraries in front of
4305 the linker options.
4306
43072004-06-28 Javier Miranda <miranda@gnat.com>
4308
4309 * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
4310 (RTU_Loaded): Code cleanup
4311 (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
4312 withed predefined units.
4313
4314 * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
4315 explicitly withed predefined units.
4316 Fix typo in comment
4317
4318 * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
4319 explicitly withed predefined units.
4320
bce3da32
RK
43212004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4322
4323 * ada-tree.def (DECL_STMT): Deleted.
4324 * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
4325 (DECL_STMT_VAR): Deleted.
4326 * decl.c: add_decl_stmt now add_decl_expr.
4327 * gigi.h: Likewise.
4328 * trans.c: Likewise.
15cd18b9 4329 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
bce3da32
RK
4330 (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
4331 (add_stmt): Only handle padded type here.
4332 (add_stmt_with_node): Allow gnat_node to not be present.
4333 (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
4334 (gnat_gimplify_stmt, case DECL_STMT): Deleted.
4335 (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
4336 make a SAVE_EXPR for the entire fat pointer.
4337 * utils.c (pushdecl): Walk a DECL_EXPR in global case.
4338 (create_index_type): Make a DECL_EXPR.
4339 (end_subprog_body): Don't call allocate_struct_function here but
4340 do clear cfun.
4341
0da2c8ac
AC
43422004-06-25 Pascal Obry <obry@gnat.com>
4343
4344 * makegpr.adb (Build_Library): Remove parameter Lib_Address and
4345 Relocatable from Build_Dynamic_Library call.
4346
4347 * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
4348 Relocatable are now synonym.
4349
4350 * Makefile.in: Use s-parame-mingw.adb on MingW platform.
4351
4352 * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
4353 Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
4354 call.
4355
4356 * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
4357 Lib_Address and Relocatable.
4358 (Default_DLL_Address): Removed.
4359
6615c446
JO
4360 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
4361 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
0da2c8ac
AC
4362 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
4363 (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
4364 (Default_DLL_Address): Removed.
4365
4366 * mlib-tgt-mingw.adb: Ditto.
4367 (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
4368
4369 * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
4370 the initial thread stack size.
4371
4372 * a-strmap.ads: Move package L to private part as it is not used in
4373 the spec. Found while reading code.
4374
43752004-06-25 Olivier Hainque <hainque@act-europe.fr>
4376
4377 * tracebak.c: Introduce support for a GCC infrastructure based
4378 implementation of __gnat_backtrace.
4379
4380 * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
4381 any more. Use accessors instead. This eases maintenance and relaxes
4382 some alignment constraints.
4383 (_GNAT_Exception structure): Remove the Ada specific fields
4384 (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
4385 a-exexpr.adb.
4386 (is_handled_by, __gnat_eh_personality): Replace component references to
4387 exception structure by use of the new accessors.
4388
4389 * init.c (__gnat_initialize): Adjust comments to match the just
4390 reverted meaning of the -static link-time option.
4391
4392 * adaint.c (convert_addresses): Arrange not to define a stub for
4393 mips-irix any more, as we now want to rely on a real version from a
4394 recent libaddr2line.
4395
4396 * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
4397 the personality routine can use them and not have to rely on a C
4398 counterpart of the record anymore. This simplifies maintenance and
4399 relaxes the constraint of having Standard'Maximum_Alignment match
4400 BIGGEST_ALIGNMENT.
4401 Update comments, and add a section on the common header alignment issue.
4402
44032004-06-25 Geert Bosch <bosch@gnat.com>
4404
4405 * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
4406 polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
4407
44082004-06-25 Robert Dewar <dewar@gnat.com>
4409
4410 * gnat_rm.texi: Fix section on component clauses to indicate that the
4411 restriction on byte boundary placement still applies for bit packed
4412 arrays.
4413 Add comment on stack usage from Initialize_Scalars
4414
4415 * gnat_ugn.texi: Add documentation for -gnatyLnnn
4416
4417 * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
4418 limiting nesting level.
4419
4420 * usage.adb: Add line for -gnatyLnnn switch
4421
4422 * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
4423 sem_ch13.adb, exp_aggr.adb: Minor reformatting
4424
4425 * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
4426 type as well as on the subtype. This corrects a problem in freeze in
4427 setting alignments of atomic types.
4428
4429 * sem_eval.ads: Minor comment typo fixed
4430
4431 * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
4432 level. Minor reformatting.
4433
4434 * fname.adb (Is_Predefined_File_Name): Require a letter after the
4435 minus sign. This means that file names like a--b.adb will not be
4436 considered predefined.
4437
4438 * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
4439 record Test new flag and give diagnostic for bad component clause.
4440 (Freeze_Entity): Set alignment of array from component alignment in
4441 cases where this is safe to do.
4442
4443 * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
4444 arrays.
4445
4446 * cstand.adb: (Create_Standard): Set alignment of String to 1
4447
4448 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
4449
4450 * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
4451 code in the common constrained array cases.
4452
4453 * a-storio.adb: Change implementation to avoid possible alignment
4454 problems on machines requiring strict alignment (data should be moved
4455 as type Buffer, not type Elmt).
4456
4457 * checks.adb (Apply_Array_Size_Check): Improve these checks by
4458 killing the overflow checks which we really do not need (64-bits is
4459 enough).
4460
44612004-06-25 Vincent Celier <celier@gnat.com>
4462
4463 * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
4464 (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
4465 inconditionally for the main project.
4466 (Recursive_Add_Archives.Add_Archive_Path): New procedure
4467 (Link_Executables.Check_Time_Stamps): New procedure
4468 (Link_Executables.Link_Foreign): New procedure
4469 Changes made to reduce nesting level of this package
4470 (Check): New procedure
4471 (Add_Switches): When not in quiet output, check that a switch is not
4472 the concatenation of several valid switches. If it is, issue a warning.
4473 (Build_Global_Archive): If the global archive is rebuilt, linking need
4474 to be done.
4475 (Compile_Sources): Rebuilding a library archive does not imply
4476 rebuilding the global archive.
4477 (Build_Global_Archive): New procedure
4478 (Build_Library): New name for Build_Archive, now only for library
4479 project
4480 (Check_Archive_Builder): New procedure
4481 (Create_Global_Archive_Dependency_File): New procedure
4482 (Gprmake): Call Build_Global_Archive before linking
4483 * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
4484 throughout.
4485 (Scan_Arg): Display the Copyright notice when -v is used
4486
4487 * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
4488 for gnatls.
4489
4490 * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
4491 COMPILE.
4492 Add new GNAT LIST qualifier /FILES=
4493 Added qualifier /DIRECTORY= to GNAT METRIC
4494 Added qualifier /FILES= to GNAT METRIC
4495 Added qualifier /FILES to GNAT PRETTY
4496
4497 * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
4498 to take into account both versions of the switch.
4499
4500 * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
4501 always be the last switch to the gcc driver. Disable switch storing so
4502 that switches automatically added by the gcc driver are not put in the
4503 ALI file.
4504
4505 * prj.adb (Project_Empty): Take into account changes in components of
4506 Project_Data.
4507
4508 * prj.ads (Languages_Processed): New enumaration value All_Languages.
4509
4510 * prj.ads (Project_Data): Remove component Lib_Elaboration: never
4511 used. Split Boolean component Ada_Sources_Present in two Boolean
4512 components Ada_Sources_Present and Other_Sources_Present.
4513 Minor reformatting
4514
4515 * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
4516 instead of Sources_Present.
4517 (Set_Ada_Paths.Add.Recursive_Add): Ditto
4518
4519 * prj-nmsc.adb: Minor reformatting
4520 (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
4521 (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
4522 Check_Ada_Naming_Scheme.
4523 Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
4524 throughout.
4525
4526 * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
4527 In_Limited.
4528 Make sure that all cycles where there is at least one "limited with"
4529 are detected.
4530 (Parse_Single_Project): New Boolean parameter In_Limited
4531
4532 * prj-proc.adb (Recursive_Check): When Process_Languages is
4533 All_Languages, call first Prj.Nmsc.Ada_Check, then
4534 Prj.Nmsc.Other_Languages_Check.
4535
4536 * prj-proc.adb (Process): Use Ada_Sources_Present or
4537 Other_Sources_Present (instead of Sources_Present) depending on
4538 Process_Languages.
4539
4540 * lang-specs.h: Keep -g and -m switches in the same order, and as the
4541 last switches.
4542
4543 * lib.adb (Switch_Storing_Enabled): New global Boolean flag
4544 (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
4545 False.
4546 (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
4547 False.
4548
4549 * lib.ads (Disable_Switch_Storing): New procedure.
4550
4551 * make.adb: Modifications to reduce nesting level of this package.
4552 (Check_Standard_Library): New procedure
4553 (Gnatmake.Check_Mains): New procedure
4554 (Gnatmake.Create_Binder_Mapping_File): New procedure
4555 (Compile_Sources.Compile): Add switch -gnatez as the last option
4556 (Display): Never display -gnatez
4557
6615c446 4558 * Makefile.generic:
0da2c8ac
AC
4559 When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
4560
4561 * gnatcmd.adb (Check_Project): New function
4562 (Process_Link): New procedure to reduce nesting depth
4563 (Check_Files): New procedure to reduce the nesting depth.
4564 For GNAT METRIC, include the inherited sources in extending projects.
4565 (GNATCmd): When GNAT LS is invoked with a project file and no files,
4566 add the list of files from the sources of the project file. If this list
4567 is too long, put it in a temp text files and use switch -files=
4568 (Delete_Temp_Config_Files): Delete the temp text file that contains
4569 a list of source for gnatpp or gnatmetric, if one has been created.
4570 (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
4571 in the project file is too large, create a temporary text file that
4572 list them and pass it to the tool with "-files=<temp text file>".
4573 (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
4574
4575 * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
4576 generated file is in not in Ada.
4577
4578 * gnatls.adb: Remove all parameters And_Save that are no longer used.
4579 (Scan_Ls_Arg): Add processing for -files=
4580 (Usage): Add line for -files=
4581
4582 * g-os_lib.adb (On_Windows): New global constant Boolean flag
4583 (Normalize_Pathname): When on Windows and the path starts with a
4584 directory separator, make sure that the resulting path will start with
4585 a drive letter.
4586
4587 * clean.adb (Clean_Archive): New procedure
4588 (Clean_Project): When there is non-Ada code, delete the global archive,
4589 the archive dependency files, the object files and their dependency
4590 files, if they exist.
4591 (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
4592
45932004-06-25 Thomas Quinot <quinot@act-europe.fr>
4594
4595 * sinfo.ads: Fix typo in comment.
4596
4597 * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
4598 the TSS for remote access-to-subprogram types, since these TSS are
4599 always present once the type has been analyzed.
4600 (RAS_E_Dereference): Same.
4601
4602 * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
4603 reference raises Bad_Attribute, mark the reference as analyzed so the
4604 node (and any children resulting from rewrites that could have occurred
4605 during the analysis that ultimately failed) is not analyzed again.
4606
4607 * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
4608
4609 * exp_dist.adb: Minor comment fix.
4610
4611 * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
4612 type is an anonymous access type, no unchecked deallocation of the
4613 allocated object can occur. If the object is controlled, attach it with
4614 a count of 1. This allows attachment to the Global_Final_List, if
4615 no other relevant list is available.
4616 (Get_Allocator_Final_List): For an anonymous access type that is
4617 the type of a discriminant or record component, the corresponding
4618 finalisation list is the one of the scope of the type.
4619
46202004-06-25 Ed Schonberg <schonberg@gnat.com>
4621
4622 * sem_ch3.adb (Replace_Type): When computing the signature of an
4623 inherited subprogram, use the first subtype if the derived type
4624 declaration has no constraint.
4625
4626 * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
4627 before applying previous optimization. Minor code cleanup.
4628
4629 * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
4630 placed at the beginning of an unpacked record without explicit
4631 alignment, a slice of it will be aligned and does not need a copy when
4632 used as an actual.
4633
46342004-06-25 Ed Schonberg <schonberg@gnat.com>
4635
4636 PR ada/15591
4637 PR ada/15592
4638 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
4639 reference is written with expressions mimicking parameters.
4640
46412004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
4642
4643 PR ada/15589
4644 * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
4645 STEP 2a. The constraints of a full type declaration of a derived record
4646 type are checked for conformance with those declared in the
4647 corresponding private extension declaration. The message
4648 "not conformant with previous declaration" is emitted if an error is
4649 detected.
4650
46512004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
4652
4653 * g-traceb.ads: Document the need for -E binder switch in the spec.
4654
4655 * g-trasym.ads: Document the need for -E binder switch in the spec.
4656
46572004-06-25 Jose Ruiz <ruiz@act-europe.fr>
4658
4659 * sem_prag.adb: Add handling of pragma Detect_Blocking.
4660
4661 * snames.h, snames.ads, snames.adb: Add entry for pragma
4662 Detect_Blocking.
4663
4664 * s-rident.ads: Change reference to pragma Detect_Blocking.
4665
4666 * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
4667 system.ads.
4668
4669 * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
4670 to indicate whether pragma Detect_Blocking is active.
4671
4672 * par-prag.adb: Add entry for pragma Detect_Blocking.
4673
4674 * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
4675 of not handling WITH.
4676 Note that this replaces the previous update which was incorrect.
4677
46782004-06-25 Javier Miranda <miranda@gnat.com>
4679
4680 * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
4681 use-clauses to have a clean environment.
4682
4683 * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
4684 the installation of the use-clauses to stablish a clean environment in
4685 case of compilation of a separate unit; otherwise the call to
4686 use_one_package is protected by the barrier Applicable_Use.
4687
4688 * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
4689 the installation of the use-clauses to stablish a clean environment in
4690 case of compilation of a separate unit.
4691 (End_Use_Clauses): Minor comment cleanup.
4692
46932004-06-25 Sergey Rybin <rybin@act-europe.fr>
4694
4695 * gnat_ugn.texi: Add description of the gnatpp 'files' switch
4696
65355d53
RH
46972004-06-23 Richard Henderson <rth@redhat.com>
4698
4699 * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
4700
c0e3aa48
RK
47012004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4702
4703 * decl.c (elaborate_expression, elaborate_expression_1): Arguments
4704 now bool instead of int.
4705 (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
4706 * trans.c (gnu_switch_label_stack): New function.
4707 (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
4708 elaboration of renamed entity returns.
4709 (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
4710 (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
4711 (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
4712 (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
4713 DECL_SIZE_UNIT and simplify variable-sized case.
4714 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
4715 Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
4716 (gnat_stabilize_reference): Add arg to COMPONENT_REF.
4717 (build_unit_elab): Disable for now.
4718 * utils.c (mark_visited): New function.
4719 (pushdecl): Walk tree to call it for global decl.
4720 (update_pointer_to): Update all variants of pointer and ref types.
4721 Add arg to COMPONENT_REF.
4722 (convert): Likewise.
4723 Move check for converting between variants lower down.
4724 * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
4725 (build_allocator): Don't force type of MODIFY_EXPR.
4726 (gnat_mark_addressable, case VAR_DECL): Unconditionally call
4727 put_var_into_stack.
4728
966389ee
RK
47292004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4730
4731 * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
4732 * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
4733 * decl.c (gnat_to_gnu_entity): Also set force_global for imported
4734 subprograms.
4735 * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
4736 all callers changed.
4737 (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
4738 the way that EXIT_STMT finds the loop label.
4739 (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
4740 (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
4741 (add_stmt): Use annotate_with_locus insted of setting directly.
4742 (pos_to_construct): Set TREE_PURPOSE of each entry to index.
4743 (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
4744 * utils.c (gnat_install_builtins): Install __builtin_memcmp.
4745 (build_vms_descriptor): Add extra args to ARRAY_REF.
4746 (convert): Use VIEW_CONVERT_EXPR between aggregate types.
4747 * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
4748 New cases.
4749 (build_binary_op): Don't make explicit CONVERT_EXPR.
4750 Add extra rgs to ARRAY_REF.
4751
cc335f43
AC
47522004-06-14 Pascal Obry <obry@gnat.com>
4753
4754 * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
4755 Windows. Fix minor typo.
4756
4757 * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
4758 which is now supported on Windows. With this implementation using the
4759 Library Project feature is no different on Windows than on UNIX.
4760
47612004-06-14 Vincent Celier <celier@gnat.com>
4762
4763 * makegpr.adb (Compile_Sources): Nothing to do when there are no
4764 non-Ada sources.
4765
4766 * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
4767
4768 * prj-part.adb (Parse_Single_Project): When a duplicate project name is
4769 found, show the project name and the path of the previously parsed
4770 project file.
4771
47722004-06-14 Ed Schonberg <schonberg@gnat.com>
4773
4774 * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
4775 array, avoid copying the actual before the call.
4776
47772004-06-14 Thomas Quinot <quinot@act-europe.fr>
4778
4779 * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
4780 Instead, allocate memory on worst-case alignment assumptions, and then
4781 return an aligned address within the allocated zone.
4782
47832004-06-14 Robert Dewar <dewar@gnat.com>
4784
4785 * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
4786 elab entities in predefined units in No_Run_Time_Mode.
4787 (Gen_Adainit_C): Same fix
4788 (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
4789 units in No_Run_Time_Mode
4790 (Gen_Elab_Calls_C): Same fix
4791
4792 * symbols-vms-alpha.adb: Minor reformatting
4793
4794 * g-debpoo.ads: Minor reformatting
4795
4796 * lib.adb (In_Same_Extended_Unit): Version working on node id's
4797
4798 * lib.ads (In_Same_Extended_Unit): Version working on node id's
4799
4800 * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
4801 working on nodes.
4802
4803 * make.adb: Minor reformatting
4804
4805 * par-ch12.adb: Minor reformatting
4806
4807 * par-prag.adb: Add dummy entry for pragma Profile_Warnings
4808
4809 * prj-strt.adb: Minor reformatting
4810
4811 * restrict.ads, restrict.adb: Redo handling of profile restrictions to
4812 be more general.
4813
4814 * sem_attr.adb: Minor reformatting
4815
4816 * sem_ch7.adb: Minor reformatting
4817
4818 * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
4819 for type in the same unit as the object declaration.
4820
4821 * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
4822 static string expressions and not just string literals.
4823 Minor reformatting
4824 (Set_Warning): Reset restriction warning flag for restriction pragma
4825 Implement pragma Profile_Warnings
4826 Implement pragma Profile (Restricted)
4827 Give obolescent messages for old restrictions and pragmas
4828
4829 * snames.h, snames.ads, snames.adb: Add new entry for pragma
4830 Profile_Warnings.
4831
4832 * s-rident.ads: Add declarations for restrictions required by profile
4833 Restricted and profile Ravenscar.
4834
4835 * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
4836
4837 * gnat_ugn.texi: Correct some missing entries in the list of GNAT
4838 configuration pragmas.
4839
5453d5bd
AC
48402004-06-11 Vincent Celier <celier@gnat.com>
4841
4842 * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
4843 gnatsym, when symbol policy is Restricted.
4844
4845 * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
4846 gnatsym, when symbol policy is Restricted.
4847
4848 * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
4849 read the symbol file.
4850 (Finalize): Fail in symbol policy Restricted if a symbol in the original
4851 symbol file is not in the object files. Do not create a new symbol file
4852 when symbol policy is Restricted.
4853
4854 * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
4855 in Scng.
4856
4857 * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
4858 Restricted.
4859 (Usage): Line for new switch -R
4860
4861 * make.adb (Initialize): When the platform is not VMS, add the
4862 directory where gnatmake is invoked in the front of the path, if
4863 gnatmake is invoked with directory information. Change the Scan_Args
4864 while loop to a for loop.
4865 (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
4866 if Depth is equal or greater than the proposed depth, there is nothing
4867 to do.
4868 (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
4869 instead of 0.
4870
4871 * prj.ads: Add new symbol policy Restricted.
4872
4873 * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
4874 with the new parameters Check_All_Labels and Case_Location.
4875
4876 * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
4877 (Library_Symbol_File needs to be defined).
4878
4879 * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
4880 and Case_Location If Check_All_Labels is True, check that all values of
4881 the string type are used, and output warning(s) if they are not.
4882
4883 * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
4884 and Case_Location.
4885
4886 * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
4887
4888 * gnat_ugn.texi: Update documentation about the library directory in
4889 Library Projects.
4890
4891 * makegpr.adb (Display_Command): In verbose mode, also display the
4892 value of the CPATH env var, when the compiler is gcc.
4893 (Initialize): Change the Scan_Args while loop to a for loop
4894 (Compile_Individual_Sources): Change directory to object directory
4895 before compilations.
4896
4897 * symbols.ads: New symbol policy Restricted.
4898
48992004-06-11 Olivier Hainque <hainque@act-europe.fr>
4900
4901 * a-except.adb (Raise_After_Setup family): Remove. The responsibility
4902 is now taken care of internally in the Exception_Propagation package
4903 and does not require clients assistance any more.
4904
4905 * a-exexpr.adb (Is_Setup_And_Not_Propagated,
4906 Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
4907 functions. Helpers to maintain a predicate required in the handling of
4908 occurrence transfer between tasks.
4909 This is now handled internally and does not require clients assistance
4910 for the setup/propagate separation anymore.
4911 (Setup_Exception, Propagate_Exception): Simplify the Private_Data
4912 allocation strategy, handle the Setup_And_Not_Propagated predicate and
4913 document.
4914
4915 * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
4916 raise_after_setup, now that everything is handled internally within the
4917 setup/propagation engine.
4918
49192004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
4920
4921 * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
4922 Add additional conditions for the case of an actual being a simple
4923 name or literal. Improve inlining by preventing the generation
4924 of temporaries with a short lifetime (one use).
4925
49262004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
4927
4928 PR ada/15587
4929
4930 * einfo.ads: Minor comment updates for Has_Completion and
4931 E_Constant list of flags.
4932
4933 * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
4934 and constant redeclarations now set the Has_Completion flag of their
4935 defining identifiers.
4936
4937 * sem_ch7.adb (Analyze_Package_Spec): Add procedure
4938 Inspect_Deferred_Constant_Completion.
4939 Used to detect private deferred constants that have not been completed
4940 either by a constant redeclaration or pragma Import. Emits error message
4941 "constant declaration requires initialization expression".
4942
4943 * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
4944 completes a deferred constant.
4945
49462004-06-11 Geert Bosch <bosch@gnat.com>
4947
4948 * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
4949
4950 * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
4951 calculating exponent for scaling denormal numbers.
4952 (Leading_Part): Properly raise Constraint_Error for zero or negative
4953 Adjustment.
4954 (Remainder): Properly raise Constraint_Error for zero divisor.
4955
49562004-06-11 Thomas Quinot <quinot@act-europe.fr>
4957
4958 * sem_util.adb: Minor reformatting.
4959
4960 * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
4961 dereference when accessing the entry parameter record.
4962 (Check_Array_Type): Always check for possible implicit dereference.
4963 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
4964 Abort if a pointer is still present (denoting that an implicit
4965 dereference was left in the tree by the front-end).
4966
4967 * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
4968 dereference when accessing the entry parameter record.
4969 (Check_Array_Type): Always check for possible implicit dereference.
4970 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
4971 Abort if a pointer is still present (denoting that an implicit
4972 dereference was left in the tree by the front-end).
4973
49742004-06-11 Emmanuel Briot <briot@act-europe.fr>
4975
4976 * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
4977 message, like the compiler itself does. Easier to parse the output.
4978
4979 * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
4980
4981 * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
4982 be base names, and not includes directories.
4983
49842004-06-11 Arnaud Charlet <charlet@act-europe.fr>
4985
4986 * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
4987 so that dependencies are properly taken into account by make.
4988
49892004-06-11 Arnaud Charlet <charlet@act-europe.fr>
4990
4991 PR ada/15622
4992 * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
4993 exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
4994
49952004-06-11 Jerome Guitton <guitton@act-europe.fr>
4996
4997 * Makefile.in (install-gnatlib): install target-specific run-time files.
4998
4999 * Make-lang.in: Remove obsolete targets.
5000
50012004-06-11 Ed Schonberg <schonberg@gnat.com>
5002
5003 * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
5004 specification, to catch misuses of program unit names.
5005
5006 * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
5007 superfluous conversions in an instance.
5008
50092004-06-11 Ed Schonberg <schonberg@gnat.com>
5010
5011 PR ada/15403
5012
5013 * sem_ch12.adb (Save_References): If operator node has been folded to
5014 enumeration literal, associated_node must be discarded.
5015
50162004-06-11 Jose Ruiz <ruiz@act-europe.fr>
5017
5018 * s-stchop-vxworks.adb: Add required pragma Convention to
5019 Task_Descriptor because it is updated by a C function.
5020
a98f59be
AC
50212004-06-08 Arnaud Charlet <charlet@act-europe.fr>
5022
5023 PR ada/15568
5024
5025 * Makefile.in: Remove target specific SO_OPT on IRIX
5026
821e1ea1
RK
50272004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5028
5029 * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
5030 (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
5031 (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
5032 (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
5033 (STMT_STMT, USE_STMT): New statement codes.
5034 (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
5035 * ada-tree.h: Reflect above changes.
15cd18b9 5036 (struct tree_loop_id): Deleted.
821e1ea1
RK
5037 (union lang_tree_node, struct lang_decl, struct lang_type):
5038 Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
5039 and DECL_LANGUAGE_SPECIFIC to reflect these changes.
5040 (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
5041 (IS_ADA_STMT): New macro.
5042 * decl.c (annotate_decl_with_node): New function.
5043 (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
5044 (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
5045 Call add_stmt_with_node to do needed assignments.
5046 Add call to update setjmp buffer directly, not via EXPR_STMT.
5047 (maybe_variable): Argment GNAT_NODE deleted.
5048 * gigi.h (maybe_variable): Likewise.
5049 (make_transform, add_stmt_with_node, set_block_for_group): New.
5050 (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
5051 (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
5052 (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
5053 (set_lineno, set_lineno_from_sloc): Likewise.
5054 (record_code_position, insert_code_for): Likewise.
5055 (gnat_poplevel): Now returns void.
5056 (end_subprog_body): Now takes argument.
5057 * misc.c (cgraph.h, tree-inline.h): New includes.
5058 (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
5059 (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
5060 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
5061 (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
5062 (gnat_parse_file): Don't set immediate_size_expand.
5063 Call cgraph functions.
5064 (gnat_expand_expr): Remove most cases.
5065 (record_code_position, insert_code_for): Remove from here.
5066 * trans.c (toplev.h, tree-gimple.h): Now included.
5067 (discard_file_names): Deleted.
5068 (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
5069 (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
5070 (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
5071 (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
5072 (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
5073 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
5074 (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
5075 (set_block_for_group, add_stmt_list): Likewise.
5076 (start_stmt_group): Renamed from start_block_stmt.
5077 (end_stmt_group): Likewise, from end_block_stmt.
5078 (build_stmt_group): Likewise, from build_block_stmt, also add arg.
5079 (gigi): Don't set discard_file_names or call set_lineno.
5080 Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
5081 (tree_transform): Deleted, now renamed to be gnat_to_gnu.
5082 Numerous changes throughout to reflect new names and complete
5083 function-at-a-time implementation.
5084 (gnat_expand_stmt): Delete or comment out all cases.
5085 (process_inlined_subprograms): Use add_stmt.
5086 (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
5087 call set_lineno; also remove unneeded block handling.
5088 (process_type): Remove unneeded block handling.
5089 (build_unit_elab): Remove calls to deleted functions.
5090 * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
5091 (tree-dump.h): Likewise.
5092 (struct ada_binding_level): Add field jmpbuf_decl.
5093 (gnat_define_builtin, gnat_install_builtins): New.
5094 (gnat_gimplify_function, gnat_finalize): Likewise.
5095 (gnat_poplevel): No longer return BLOCK, set it instead.
5096 Remove code dealing with nested functions.
5097 (gnat_init_decl_processing): Also set size_type_node.
5098 Call gnat_install_builtins.
5099 (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
5100 (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
5101 Remove special-case for "main".
5102 (end_subprog_body): Add arg and rework for tree-ssa.
5103 (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
5104 Add case for BOOLEAN_TYPE.
5105 * utils2.c (rtl.h): Now include.
5106 (build_call_raise): Test Debug_Flag_NN directly.
5107 (build_call_alloc_dealloc): Don't use local stack allocation for now.
5108 (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
5109 (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
5110
0ab80019
AC
51112004-06-07 Robert Dewar <dewar@gnat.com>
5112
5113 * a-direct.ads, einfo.ads: Minor comment updates
5114
5115 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
5116 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
5117 s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
5118 s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
5119 s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
5120
5121 * s-interr-sigaction.adb: Remove unreferenced variable
5122 (Attached_Interrupts). Minor reformatting.
5123 Avoid use of variable I (replace by J).
5124
5125 * par-ch10.adb: Fix text of one error message
5126
5127 * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
5128 exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
5129 exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
5130 opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
5131 par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
5132 par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
6615c446 5133 sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
0ab80019
AC
5134 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
5135 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
5136 sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
5137 snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
5138 2005 support.
5139
51402004-06-07 Doug Rupp <rupp@gnat.com>
5141
5142 * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
5143
5144 * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
5145
5146 * mlib-tgt-vms-ia64.adb: New file.
5147
5148 * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
5149 Add mlib-tgt-vms-ia64.adb
5150 Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
5151 Move to alpha specific ifeq section.
5152 Add VMS specific versions of symbols.adb
5153 Renaming of 5q vms files.
5154
5155 * 5qsystem.ads renamed to system-vms_64.ads.
5156
51572004-06-07 Vincent Celier <celier@gnat.com>
5158
5159 * a-calend.ads: Add a GNAT Note comment after function Time_Of to
5160 explain that when a time of day corresponding to the non existing hour
5161 on the day switching to DST is specified, Split may return a different
5162 value for Seconds.
5163
5164 * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
5165 to GNAT PRETTY.
5166
5167 * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
5168 (Normalize_Pathname): Only resolve VMS logical names when on VMS.
5169
5170 * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
5171 to False.
5172 If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
5173 the linking options.
5174 (Build_Library.Check_Libs): On VMS, if there is a dependency on
5175 g-trasym.ads, set Gtrasymobj_Needed to True.
5176
5177 * prj-attr.adb: Add new package Metrics for gnatmetric
5178
5179 * prj-nmsc.adb (Record_Other_Sources): Put source file names in
5180 canonical case to take into account files with upper case characters on
5181 Windows.
5182 (Ada_Check): Load the reference symbol file name in the name buffer to
5183 check it, not the symbol file name.
5184
5185 * snames.ads, snames.adb: Add standard name Metrics (name of project
5186 file package for gnatmetric).
5187
5188 * vms_conv.ads: Add Metric to Comment_Type
5189
5190 * vms_conv.adb (Initialize): Add component dor Metric in Command_List
5191
5192 * vms_data.ads: Add qualifiers for GNAT METRIC
5193
5194 * makegpr.adb (Link_Executables): Take into account the switches
5195 specified in package Linker of the main project.
5196
51972004-06-07 Thomas Quinot <quinot@act-europe.fr>
5198
5199 * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
5200 the index of the last element is Units.Last, not Units.Table'Last
5201 (which is usually not a valid index within the actually allocated
5202 storage for the table).
5203
5204 * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
5205 determines whether to generate a call to a checked storage pool
5206 Dereference action.
5207 Generate such a call only for a dereference that either comes from
5208 source, or is the result of rewriting a dereference that comes from
5209 source.
5210
52112004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
5212
5213 * bindgen.adb (Gen_Output_File): Add support for GAP builds.
5214
52152004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
5216
5217 (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
5218 file level, elaborate the stride for inner dimensions in alignment
5219 units, not bytes.
5220
5221 * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
5222 in a comment.
5223
52242004-06-07 Javier Miranda <miranda@gnat.com>
5225
5226 * exp_ch6.adb: Correct wrong modification in previous patch
5227
52282004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
5229
5230 * g-trasym.ads: Corrected comment to properly reflect level of support
5231 on VMS.
5232
52332004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
5234
5235 * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
5236 includes case of a variable referenced on the left hand side of an
5237 assignment, therefore remove redundant code. Variables and prefixes of
5238 indexed or selected components are now marked as referenced on left
5239 hand side. Warnings are now properly emitted when variables or prefixes
5240 are assigned but not read.
5241
5242 * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
5243 left hand side referenced variables. Private access types do not
5244 produce the warning "variable ... is assigned but never read".
5245 Add also additional checks to left hand side referenced variables.
5246 Aliased, renamed objects and access types do not produce the warning
5247 "variable ... is assigned but never read" since other entities may read
5248 the memory location.
5249
52502004-06-07 Jerome Guitton <guitton@act-europe.fr>
5251
5252 * Makefile.in: In the powerpc/vxworks-specific section, restore
5253 EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
5254 by mistake).
5255
52562004-06-07 Ed Schonberg <schonberg@gnat.com>
5257
5258 * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
5259 predefined operators.
5260 Removes spurious type errors from g-trasym-vms.adb.
5261
5262 * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
5263 distinct from the operator appearing in the source, call appropriate
5264 routine to insert conversions when needed, and complete resolution of
5265 node.
5266 (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
5267 interpretations for rewritten right operand.
5268 (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
5269 the other operand is overloaded and the context is a type conversion.
5270
52712004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5272
5273 * ada-tree.def (BLOCK_STMT): Now has two operands.
5274 (BREAK_STMT): New.
5275
5276 * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
5277
5278 * gigi.h: (gnat_poplevel): Now returns a tree.
5279
5280 * trans.c (end_block_stmt): Add arg; all callers changed.
5281 (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
5282 (start_block_stmt): Clear BLOCK_STMT_BLOCK.
5283 (add_stmt): Set TREE_TYPE.
5284 (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
5285 (gnat_expand_stmt, case BREAK_STMT): New case.
5286
5287 * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
5288
52892004-06-07 Jose Ruiz <ruiz@act-europe.fr>
5290
5291 * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
5292 procedure Set_Stack_Size that is not needed.
5293
52942004-06-07 Sergey Rybin <rybin@act-europe.fr>
5295
5296 * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
5297 used for gnatpp input file and for the files upon which it depends
5298
52992004-06-07 Ben Brosgol <brosgol@gnat.com>
5300
5301 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
5302
53032004-06-07 Arnaud Charlet <charlet@act-europe.fr>
5304
5305 * gnatvsn.ads: Bump version numbers appropriately.
5306 Add new build type.
5307
53082004-06-07 Pascal Obry <obry@gnat.com>
5309
5310 * gnat_ugn.texi: Improve comments about imported names and link names
5311 on Windows. Add a note about the requirement to use -k gnatdll's option
5312 when working with a DLL which has stripped stdcall symbols (no @nn
5313 suffix).
5314
8a36a0cc
AC
53152004-05-27 Vincent Celier <celier@gnat.com>
5316
5317 * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
5318 COMMENTS_LAYOUT=UNTOUCHED
5319
5320 * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
5321 symbols-vms-alpha.adb
5322
53232004-05-27 Thomas Quinot <quinot@act-europe.fr>
5324
5325 * sem.ads: Clarify documentation on checks suppression.
5326
5327 * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
5328
53292004-05-27 Ed Schonberg <schonberg@gnat.com>
5330
5331 * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
5332 the case of multiple derivations.
5333 (Is_Object_Reference): For a selected component, verify that the prefix
5334 is itself an object and not a value.
5335
5336 * sem_ch12.adb (Same_Instantiated_Constant): New name for
5337 Same_Instantiated_Entity.
5338 (Same_Instantiated_Variable): Subsidiary to
5339 Check_Formal_Package_Instance, to recognize actuals for in-out generic
5340 formals that are obtained from a previous formal package.
5341 (Instantiate_Subprogram_Body): Emit proper error when
5342 generating code and the proper body of a stub is missing.
5343
5344 * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
5345 has a universal interpretation, do the disambiguation here.
5346
5347 * exp_ch4.adb (Expand_N_Type_Conversion,
5348 Expand_N_Unchecked_Type_Conversion): Special handling when target type
5349 is Address, to avoid typing anomalies when Address is a visible integer
5350 type.
5351
5352 * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
5353 to determine whether a subprogram should not be marked Pure, even when
5354 declared in a pure package.
5355
53562004-05-27 Jose Ruiz <ruiz@act-europe.fr>
5357
5358 * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
5359
5360 * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
5361 Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
5362 Update the documentation about the Ravenscar profile, following the
5363 definition found in AI-249.
5364
5365 * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
5366 setting the Profile (Ravenscar). This must be done in addition to
5367 setting the required restrictions.
5368
5369 * rtsfind.ads: Add the set of operations defined in package
5370 Ada.Interrupts.
5371
5372 * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
5373 restriction.
5374
53752004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
5376
5377 lang-specs.h: Always require -c or -S and always redirect to /dev/null
5378 if -gnatc or -gnats is passed.
5379
53802004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
5381
5382 * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
5383 a significant reference. Warnings are now properly emitted when a
5384 discriminated type is not referenced.
5385
5386 * lib-xref.adb (Generate_Reference): A deferred constant completion,
5387 record representation clause or record type discriminant does not
5388 produce a reference to its corresponding entity. Warnings are now
5389 properly emitted when deferred constants and record types are not
5390 referenced.
5391
53922004-05-27 Geert Bosch <bosch@gnat.com>
5393
5394 * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
5395 Fixes ACATS Annex G tests.
5396
53972004-05-27 Robert Dewar <dewar@gnat.com>
5398
5399 * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
5400 handling WITH
5401
54022004-05-27 Arnaud Charlet <charlet@act-europe.fr>
5403
5404 * s-interr.adb (Server_Task): Take into account case of early return
5405 from sigwait under e.g. linux.
5406
54072004-05-27 Sergey Rybin <rybin@act-europe.fr>
5408
5409 * gnat_ugn.texi: Add description for the new gnatpp options:
5410 -rnb - replace the original source without creating its backup copy
5411 -c0 - do not format comments
5412
0fb2ea01
AC
54132004-05-24 Geert Bosch <bosch@gnat.com>
5414
5415 * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
5416 with 192 bits of precision, sufficient to reduce a double-extended
5417 arguments X with a maximum relative error of T'Machine_Epsilon, for X
5418 in -2.0**32 .. 2.0**32.
5419 (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
5420 reduction by the processor, which only uses a 68-bit approximation of
5421 Pi.
5422 (Tan): Always reduce arguments and compute function either using
5423 the processor's fptan instruction, or by dividing sin and cos as needed.
5424
54252004-05-24 Doug Rupp <rupp@gnat.com>
5426
5427 * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
5428 gcc error on 32/64 bit VMS.
5429
54302004-05-24 Olivier Hainque <hainque@act-europe.fr>
5431
5432 * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
5433 since this is what we get for stack overflows although not documented
5434 as such.
5435 Document the issues which may require adjustments to our signal
5436 handlers.
5437
54382004-05-24 Ed Schonberg <schonberg@gnat.com>
5439
5440 * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
5441 enclosing dynamic scope if the instantiation is within a generic unit.
5442
54432004-05-24 Arnaud Charlet <charlet@act-europe.fr>
5444
5445 * exp_dbug.ads: Fix typo.
5446
5447 * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
5448 Rename it to its proper name: system-linux-ia64.ads
5449 (stamp-gnatlib1): Remove extra target specific run time files when
5450 setting up the rts directory.
5451
54522004-05-24 Javier Miranda <miranda@gnat.com>
5453
5454 * einfo.ads, einfo.adb (Limited_Views): Removed.
5455 (Limited_View): New attribute that replaces the previous one. It is
5456 now a bona fide package with the limited-view list through the
5457 first_entity and first_private attributes.
5458
5459 * sem_ch10.adb (Install_Private_With_Clauses): Give support to
5460 limited-private-with clause.
5461 (Install_Limited_Withed_Unit): Install the private declarations of a
5462 limited-private-withed package. Update the installation of the shadow
5463 entities according to the new structure (see Build_Limited_Views)
5464 (Build_Limited_Views): Replace the previous implementation of the
5465 limited view by a package entity that references the first shadow
5466 entity plus the first shadow private entity (required for limited-
5467 private-with clause)
5468 (New_Internal_Shadow_Entity): Code cleanup.
5469 (Remove_Limited_With_Clause): Update the implementation to undo the
5470 new work carried out by Build_Limited_Views.
5471 (Build_Chain): Complete documentation.
5472 Replace Ada0Y by Ada 0Y in comments
5473 Minor reformating
5474
5475 * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
5476 types the level of accessibility depends on the enclosing type
5477 declaration.
5478
5479 * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
5480 entities. Complete documentation of previous change.
5481
54822004-05-24 Robert Dewar <dewar@gnat.com>
5483
5484 * namet.adb: Minor reformatting
5485 Avoid use of name I (replace by J)
5486 Minor code restructuring
5487
5488 * sem_ch6.adb: Minor reformatting
5489
5490 * lib-writ.adb: Do not set restriction as active if this is a
5491 Restriction_Warning case.
5492
5493 * sem_prag.adb: Reset restriction warning flag if real pragma
5494 restriction encountered.
5495
5496 * s-htable.adb: Minor reformatting
5497 Change rotate count to 3 in Hash (improves hash for small strings)
5498
5499 * 5qsystem.ads: Add comments for type Address (no literals allowed).
5500
5501 * gnat_ugn.texi: Add new section of documentation "Code Generation
5502 Control", which describes the use of -m switches.
5503
55042004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
5505
a1db9d9c
AC
5506 trans.c (tree_transform) <N_Identifier>: Do the dereference directly
5507 through the DECL_INITIAL for renamed variables.
0fb2ea01 5508
7599f1b0
AC
55092004-05-24 Arnaud Charlet <charlet@act-europe.fr>
5510
5511 * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
5512
c37bb106
AC
55132004-05-19 Joel Brobecker <brobecker@gnat.com>
5514
5515 * exp_dbug.ads: Correct comments concerning handling of overloading,
5516 since we no longer use $ anymore.
5517
55182004-05-19 Sergey Rybin <rybin@act-europe.fr>
5519
5520 * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
5521 ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
5522 with illegal subunits.
5523
55242004-05-19 Ed Schonberg <schonberg@gnat.com>
5525
5526 * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
5527 body with front-end inlining enabled, check whether an inline pragma
5528 appears immediately after the body and applies to it.
5529
5530 * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
5531 enabled and the pragma appears after the body of the subprogram.
5532
b5e792e2
AC
55332004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5534
5535 Part of function-at-a-time conversion
5536
5537 * misc.c (adjust_decl_rtl): Deleted.
5538 (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
5539 Define.
5540
5541 * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
5542 (add_decl_stmt, add_stmt, block_has_vars): New functions.
5543 (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
5544
5545 * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
5546 when making a decl.
5547 (gnat_to_gnu_entity): Likewise.
5548 Use add_stmt to update setjmp buffer.
5549 Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
5550 flush_addressof.
5551 No longer call adjust_decl_rtl.
5552 (DECL_INIT_BY_ASSIGN_P): New macro.
5553 (DECL_STMT_VAR): Likewise.
5554
5555 * trans.c (gigi): Call start_block_stmt to make the outermost
5556 BLOCK_STMT.
5557 (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
5558 Call start_block_stmt and end_block_stmt temporarily.
5559 Use gnat_expand_stmt instead of expand_expr_stmt.
5560 (add_decl_stmt): New function.
5561 (tree_transform): Call it.
5562 (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
5563 (end_block_stmt): Set type and NULL_STMT.
5564 (gnat_expand_stmt): Make recursize call instead of calling
5565 expand_expr_stmt.
5566 (gnat_expand_stmt, case DECL_STMT): New case.
5567 (set_lineno_from_sloc): Do nothing if global.
5568 (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
5569 (start_block_stmt, add_stmt, end_block_stmt): New functions.
5570 (build_block_stmt): Call them.
5571 (gnat_to_code): Don't expand NULL_STMT.
5572 (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
5573 args.
5574 (tree_transform): Likewise.
5575 (tree_transform, case N_Null_Statement): Return NULL_STMT.
5576 (gnat_expand_stmt, case NULL_STMT): New case.
5577 (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
5578 IF_STMT_TRUE.
5579
5580 * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
5581 TREE_ADDRESSABLE.
5582
5583 * utils.c (create_var_decl): Do not call expand_decl or
5584 expand_decl_init.
5585 Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
5586 Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
5587 here.
5588 (struct e_stack): Add chain_next to GTY.
5589 (struct binding_level): Deleted.
5590 (struct ada_binding_level): New struct.
5591 (free_block_chain): New.
5592 (global_binding_level, clear_binding_level): Deleted.
5593 (global_bindings_p): Rework to see if no chain.
5594 (kept_level_p, set_block): Deleted.
5595 (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
5596 new data structure and work directly on BLOCK node.
5597 (gnat_poplevel): Similarly.
5598 (get_decls): Look at BLOCK_VARS.
5599 (insert_block): Work directly on BLOCK node.
5600 (block_has_var): New function.
5601 (pushdecl): Rework for new binding structures.
5602 (gnat_init_decl_processing): Rename and rework calls to pushlevel and
5603 poplevel.
5604 (build_subprog_body): Likewise.
5605 (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
5606
5607 * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
5608
5609 * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
5610 (DECL_STMT_VAR): Likewise.
5611
56122004-05-17 Robert Dewar <dewar@gnat.com>
5613
5614 * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
5615 procedure
5616
5617 * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
5618 of restriction synonyums by using
5619 Restrict.Process_Restriction_Synonyms.
5620
5621 * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
5622
5623 * s-restri.ads (Tasking_Allowed): Correct missing comment
5624
5625 * s-rident.ads: Add entries for restriction synonyms
5626
5627 * ali.adb: Fix some problems with badly formatted ALI files that can
5628 result in infinite loops.
5629
5630 * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
5631 s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
5632 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
5633 s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
5634 s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
5635 s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
5636 s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
5637 s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
5638 s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
5639 a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
5640 exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
5641 s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
5642 s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
5643 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
5644 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
5645 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
5646 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
5647 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
5648 s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
5649 s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
5650 to Task_Id (minor cleanup).
5651
56522004-05-17 Vincent Celier <celier@gnat.com>
5653
5654 * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
5655 directory separator.
5656
5657 * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
5658 project being extended, if Languages is not declared in extending
5659 project.
5660
56612004-05-17 Javier Miranda <miranda@gnat.com>
5662
5663 * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
5664 limited view of a visible sibling.
5665
9bc856dd
AC
56662004-05-14 Robert Dewar <dewar@gnat.com>
5667
5668 * gnat_ugn.texi: Minor change to -gnatS documentation
5669
5670 * sprint.adb: Remove some instances of Assert (False) and for this
5671 purpose replace them by output of a ??? string.
5672
5673 * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
5674 Assert (False).
5675
5676 * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
5677 flag processing. This was suppressing required dependencies in
5678 No_Run_Time mode and is not needed since the binder does not generate
5679 references for things in libgnat anyway.
5680
5681 * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
5682 warning.
5683
56842004-05-14 Thomas Quinot <quinot@act-europe.fr>
5685
5686 * gnat_ugn.texi: Document AIX-specific issue with initialization of
5687 resolver library.
5688
5689 * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
5690 action for the case of an actual parameter in an init proc call.
5691
56922004-05-14 Ed Schonberg <schonberg@gnat.com>
5693
5694 * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
5695 subtype, check visible entities in base type.
5696
5697 * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
5698 actions if the object is a renaming.
5699
5700 * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
5701 Check_Formal_Package_Instance, to determine more precisely when the
5702 formal and the actual denote the same entity.
5703
57042004-05-14 Javier Miranda <miranda@gnat.com>
5705
5706 * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
5707
5708 * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
5709 corresponding to a private_with must be removed from visibility; it
5710 will be made visible later, just before we analyze the private part of
5711 the package.
5712 (Check_Private_Child_Unit): Allow private_with clauses in public
5713 siblings.
5714 (Install_Siblings): Make visible the private entities of private-withed
5715 siblings.
5716 (Install_Withed_Unit): Do not install the private withed unit if we
5717 are compiling a package declaration and the Private_With_OK flag was
5718 not set by the caller. These declarations will be installed later,
5719 just before we analyze the private part of the package.
5720
5721 * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
5722 during the evaluation of the expression that initializes the object,
5723 decorate it with the expected type to avoid cascade errors.
5724 Code cleanup.
5725
5726 * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
5727 subprogram we have to install the private_with clauses after its
5728 specification has been analyzed (as documented in AI-262.TXT).
5729
5730 * sem_ch8.adb (Has_Private_With): New function. Determines if the
5731 current compilation unit has a private with on a given entity.
5732 (Find_Direct_Name): Detect the Beaujolais problem described in
5733 AI-262.TXT
5734
5735 * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
5736 provides the functionality of the function Is_Ancestor that was
5737 previously available in sem_ch10. It has been renamed to avoid
5738 overloading.
5739
5740 * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
5741
57422004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5743
5744 * utils.c (build_vms_descriptor): Use SImode pointers.
5745
57462004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
5747
5748 * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
5749
57502004-05-14 GNAT Script <nobody@gnat.com>
5751
5752 * Make-lang.in: Makefile automatically updated
5753
084c663c
AC
57542004-05-14 Arnaud Charlet <charlet@act-europe.fr>
5755
5756 Renaming of target specific files for clarity
5757
6615c446 5758 * Makefile.in: Rename GNAT target specific files.
084c663c
AC
5759
5760 * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
5761 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
5762 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
5763 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
5764 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
5765 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
5766 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
5767 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
5768 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
5769 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
5770 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
5771 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
5772 51osinte.adb, 51osinte.ads, 51system.ads,
5773 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
5774 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
5775 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
5776 56tpopsp.adb, 57system.ads, 58system.ads,
5777 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
5778 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
5779 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
5780 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
5781 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
5782 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
5783 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
5784 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
5785 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
5786 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
5787 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
5788 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
5789 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
5790 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
5791 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
5792 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
5793 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
5794 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
5795 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
5796 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
5797 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
5798 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
5799 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
5800 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
5801 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
5802 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
5803 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
5804 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
5805 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
5806 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
5807 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
5808 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
5809 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
5810 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
5811 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
5812 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
5813 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
5814 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
5815 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
5816 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
5817
5818 * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
5819 a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
5820 a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
5821 a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
5822 a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
5823 a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
5824 a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
5825 a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
5826 a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
5827 a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
5828 g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
5829 g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
5830 g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
5831 g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
5832 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
5833 g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
5834 g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
5835 g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
5836 interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
5837 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
5838 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
5839 mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
5840 s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
5841 s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
5842 s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
5843 s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
5844 s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
5845 s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
5846 s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
5847 s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
5848 s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
5849 s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
5850 s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
5851 s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
5852 s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
5853 s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
5854 s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
5855 s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
5856 s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
5857 s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
5858 s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
5859 s-osinte-vms.ads, s-osinte-vxworks.adb,
5860 s-osinte-vxworks.ads, s-osprim-mingw.adb,
5861 s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
5862 s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
5863 s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
5864 s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
5865 s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
5866 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
5867 s-stchop-vxworks.adb, s-taprop-dummy.adb,
5868 s-taprop-hpux-dce.adb, s-taprop-irix.adb,
5869 s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
5870 s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
5871 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
5872 s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
5873 s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
5874 s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
5875 s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
5876 s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
5877 s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
5878 s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
5879 s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
5880 s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
5881 s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
5882 s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
5883 s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
5884 s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
5885 s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
5886 symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
5887 system-hpux.ads, system-interix.ads, system-irix-n32.ads,
5888 system-irix-o32.ads, system-linux-x86_64.ads,
5889 system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
5890 system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
5891 system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
5892 system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
5893 system-vxworks-alpha.ads, system-vxworks-m68k.ads,
5894 system-vxworks-mips.ads, system-vxworks-ppc.ads,
5895 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
5896 above.
5897
90afe2c9
ZW
58982004-05-13 Zack Weinberg <zack@codesourcery.com>
5899
5900 * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
5901
6de9cd9a
DN
59022004-05-13 Diego Novillo <dnovillo@redhat.com>
5903
5904 Merge from tree-ssa-20020619-branch.
5905
5906 * config-lang.in (boot_language, build_by_default): Set
5907 to no.
5908 * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
5909 (max_size): Add static chain op for call_expr.
5910
f5657d67
RS
59112004-05-12 Richard Sandiford <rsandifo@redhat.com>
5912
5913 PR target/15331
5914 * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
5915
4413b636
RS
59162004-05-11 Roger Sayle <roger@eyesopen.com>
5917
5918 * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
5919 COND_EXPR.
5920
5950a3ac
AC
59212004-05-10 Doug Rupp <rupp@gnat.com>
5922
5923 * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
5924 system.aux_dec.
5925
5926 * s-auxdec.ads: Add Short_Address subtype (moved here from System).
5927
5928 * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
5929
5930 * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
5931 Fixes undefined symbols in IA64 gnatlib.
5932
5933 * 5vinmaop.adb: Reference s-auxdec for Short_Address.
5934
5935 * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
5936 Short_Address). This will be moved to system.auxdec.
5937
59382004-05-10 Thomas Quinot <quinot@act-europe.fr>
5939
5940 * sem_util.adb: Replace test for presence of a node that is always
5941 present with a call to Discard_Node.
5942
5943 * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
5944 Analyze on the library unit node after generation of distribution stub
5945 constructs. The call was a no-op because Unit_Node has already been
5946 Analyzed, and the tree fragments for the distribution stubs are
5947 analyzed as they are inserted in Exp_Dist.
5948 Update comment regarding to distribution stubs to reflect that we
5949 do not generate stub in separate files anymore.
5950
5951 * einfo.ads: Clarify the fact that a tagged private type has the
5952 E_Record_Type_With_Private Ekind.
5953
5954 * erroutc.adb: Minor reformatting
5955
5956 * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
5957 values if line length is increased using -gnatyM (noticed during code
5958 reading).
5959
5960 * eval_fat.adb: Minor reformatting
5961 Put spaces around exponentiation operator
5962
59632004-05-10 Ed Schonberg <schonberg@gnat.com>
5964
5965 PR ada/15005
5966 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
5967 has been rewritten as an explicit dereference, retrieve type of
5968 original node to check for possibly unconstrained record type.
5969
59702004-05-10 Ed Schonberg <schonberg@gnat.com>
5971
5972 * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
5973 overriding, use the operation of the parent unconditionally.
5974
5975 * sem_ch4.adb (Remove_Address_Interpretations): Remove address
5976 operation when either operand is a literal, to avoid further
5977 ambiguities.
5978
5979 * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
5980 overridden by a previous explicit declaration, mark the previous entity
5981 as overriding.
5982
5983 * sem_disp.adb (Check_Dispatching_Operation): New predicate
5984 Is_Visibly_Controlled, to determine whether a declaration of a
5985 primitive control operation for a derived type overrides an inherited
5986 one. Add warning if the explicit declaration does not override.
5987
59882004-05-10 Vincent Celier <celier@gnat.com>
5989
5990 * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
5991 some cases when the sources are no longer present.
5992
5993 * make.adb (Collect_Arguments): Fail if an external source, not part
5994 of any project need to be compiled, when switch -x has not been
5995 specified.
5996
5997 * makeusg.adb: Document new switch -x
5998
5999 * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
6000 defaulted to False.
6001
6002 * switch-m.adb (Scan_Make_Switches): New switch -x
6003
6004 * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
6005 gnatmake switch -x.
6006
6007 * gnat_ugn.texi: Document new gnatmake switch -x
6008
60092004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
6010
6011 * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
6012
6013 * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
6014 (process_attributes): Likewise.
6015
60162004-05-10 Joel Brobecker <brobecker@gnat.com>
6017
6018 * s-inmaop.ads: Fix spelling mistake in one of the comments.
6019
60202004-05-10 Robert Dewar <dewar@gnat.com>
6021
6022 * gnat_ugn.texi: Document that for config pragma files, the maximum
6023 line length is always 32767.
6024
6025 * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
6026 literals is now allowed.
6027
6028 * gnat-style.texi: Remove statement about splitting long lines before
6029 an operator rather than after, since we do not follow this rule at all.
6030 Clarify rule (really lack of rule) for spaces around exponentiation
6031
6032 * sem_elim.adb: Allow concatenation of string literals as well as a
6033 single string literal for pragma arguments.
6034
6035 * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
6036
6037 * a-textio.adb (Terminate_Line): Do not add line feed if nothing
6038 written for append case.
6039
6040 * frontend.adb: Changes to avoid checking max line length in config
6041 pragma files.
6042
6043 * g-os_lib.ads: Minor reformatting
6044
6045 * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
6046 wrong in any case. Instead use standard value. Noticed during code
6047 reading.
6048
6049 * opt.ads (Max_Line_Length): New field, used to implement removal of
6050 limitation on length of lines when scanning config pragma files.
6051
6052 * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
6053 makeutl.ads, makeutl.adb: Minor reformatting
6054
6055 * scn.adb: Do not check line length while scanning config pragma files
6056 Do not check line length while scanning out license information
6057
6058 * scng.adb: Changes to avoid line length checks while parsing config
6059 pragma files.
6060
60612004-05-10 GNAT Script <nobody@gnat.com>
6062
6063 * Make-lang.in: Makefile automatically updated
6064
48664302
AC
60652004-05-05 Arnaud Charlet <charlet@act-europe.fr>
6066
6067 * osint.adb (Find_Program_Name): Fix handling of VMS version
6068 number.
6069
aa720a54
AC
60702004-05-05 Emmanuel Briot <briot@act-europe.fr>
6071
6072 * g-os_lib.ads (Invalid_Time): New constant
6073
6074 * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
6075 return OS_Time instead of time_t to match what is imported by Ada.
6076 Now return -1 if the file doesn't exist, instead of a random value
6077
60782004-05-05 Robert Dewar <dewar@gnat.com>
6079
6080 * usage.adb: Add line for -gnatR?s switch
6081
6082 * sem_ch13.adb, exp_ch2.adb: Minor reformatting
6083
6084 * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
6085 and for Match (Data_First, Data_last)
6086
6087 * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
6088 written when we are dealing with multi-unit files.
6089
60902004-05-05 Jerome Guitton <guitton@act-europe.fr>
6091
6092 * Makefile.in: Remove unused targets and variables.
6093
60942004-05-05 Vincent Celier <celier@gnat.com>
6095
6096 * switch-m.adb: New gnatmake switch -eI
6097
6098 * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
6099 of new gnatmake switch -eInnn.
6100
6101 * makegpr.adb: Take into account new parameters Index and Src_Index in
6102 Prj.Util.
6103
6104 * clean.adb: Implement support for multi-unit sources, including new
6105 switch -i.
6106
6107 * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
6108 Src_Index.
6109
6110 * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
6111 (Extract_From_Q): New out parameter Index
6112 (Mark, Is_Marked): Subprograms moved to Makeutl
6113 (Switches_Of): New parameter Source_Index
6114 (Add_Switch): New parameter Index
6115 (Check): New parameter Source_Index
6116 (Collect_Arguments): New parameter Source_Index
6117 (Collect_Arguments_And_Compile): New parameter Source_Index
6118 (Compile): New parameter Source_Index
6119 Put subprograms in alphabetical order
6120 Add support for multi-source sources, including in project files.
6121
6122 * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
6123 (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
6124 Make.
6125
6126 * makeusg.adb: New gnatmake switch -eInnn
6127
6128 * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
6129 Prj.Util.Value_Of.
6130
6131 * opt.ads (Main_Index): New variable, defaulted to 0.
6132
6133 * osint.ads, osinte.adb (Add_File): New parameter Index
6134 (Current_Source_Index): New function
6135
6136 * prj.adb: Take into account new components Index and Src_Index
6137
6138 * prj.ads (String_Element): New component Index
6139 (Variable_Value): New component Index
6140 (Array_Element): New component Src_Index
6141
6142 * prj-attr.adb: Indicate that optional index may be specified for
6143 attributes Main, Executable, Spec, Body and some of Switches.
6144
6145 * prj-attr.ads (Attribute_Kind): New values for optional indexes
6146 (Attribute_Record): New component Optional_Index
6147
6148 * prj-com.ads (File_Name_Data): New component Index
6149
6150 * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
6151
6152 * prj-env.adb (Put): Output optional index
6153
6154 * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
6155 attributes Spec and Body.
6156
6157 * prj-nmsc.adb: Process optional indexes
6158
6159 * prj-pp.adb: Ouput "at" for optional indexes
6160
6161 * prj-proc.adb: Take into account optional indexes
6162
6163 * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
6164 Optional_Index. For string literal,
6165 process optional index when Optional_Index is True.
6166 (Parse_Expresion): New Boolean parameter Optional_Index
6167
6168 * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
6169 (Set_Source_Index_Of): New procedure
6170
6171 * prj-util.adb (Executable_Of, Value_Of): Take into account optional
6172 index.
6173
6174 * prj-util.ads (Executable_Of): New parameter Index
6175 (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
6176 New parameter Src_Index, defaulted to 0.
6177
61782004-05-05 Ed Schonberg <schonberg@gnat.com>
6179
6180 PR ada/15257
6181 * sem_ch3.adb (Access_Definition): If this is an access parameter
6182 whose designated type is imported through a limited_with clause, do
6183 not add the enclosing subprogram to the list of private dependents of
6184 the type.
6185
61862004-05-05 Ed Schonberg <schonberg@gnat.com>
6187
6188 PR ada/15258
6189 * sem_ch6.adb (Base_Types_Match): True if one type is imported through
6190 a limited_with clause, and the other is its non-limited view.
6191
61922004-05-05 Thomas Quinot <quinot@act-europe.fr>
6193
6194 * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
6195
90afe2c9 6196 * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
aa720a54
AC
6197 exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
6198 Stand.Boolean_Literals to produce references to entities
6199 Standard_False and Standard_True from compile-time computed boolean
6200 values.
6201
6202 * stand.ads (Boolean_Literals): New variable, provides the entity
6203 values for False and True, for use by the expander.
6204
62052004-05-05 Doug Rupp <rupp@gnat.com>
6206
6207 * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
6208 5vinmaop.adb: Unchecked convert Short_Address vice Address
6209
6210 * adaint.c, raise.c: Caste CRTL function return value
6211 to avoid gcc error on 32/64 bit IVMS.
6212
6213 * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
6214 target = IA64/VMS.
6215
6216 * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
6217
6218 * 5qsystem.ads (Address): Declare as Long_Integer
6219 (Short_Address): Declare as 32 bit subtype of Address
6220 Declare abstract address operations to avoid gratuitous ambiguities.
6221
62222004-05-05 Jose Ruiz <ruiz@act-europe.fr>
6223
6224 * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
6225 instead of the old Boolean_Entry_Barriers.
6226 Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
6227
62282004-05-05 GNAT Script <nobody@gnat.com>
6229
6230 * Make-lang.in: Makefile automatically updated
6231
1ab2888d
AC
62322004-05-03 Arnaud Charlet <charlet@act-europe.fr>
6233
6234 * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
6235
9f4fd324
AC
62362004-05-03 Olivier Hainque <hainque@act-europe.fr>
6237
6238 PR ada/15152
6239
6240 * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
6241 alone. Replacing object references by literals is inappropriate in a
6242 so low level context.
6243
62442004-05-03 Arnaud Charlet <charlet@act-europe.fr>
6245
6246 * a-exexpr.adb: Add comments
6247
62482004-05-03 Joel Brobecker <brobecker@gnat.com>
6249
6250 * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
6251 declare the Ancestor_Tags array in Type_Specific_Data with a small size
6252 without risking a bounds check error when accessing one of its
6253 components.
6254 (Type_Specific_Data): Define Ancestor_Tags as a small array.
6255 This prevents us from hitting a limitation during the debug info
6256 generation when using stabs.
6257
6258 * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
6259 small array.
6260 This prevents us from hitting a limitation during the debug info
6261 generation when using stabs.
6262
62632004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
6264
6265 lang-specs.h: Remove -gnatz* from specs.
6266
62672004-05-03 Vincent Celier <celier@gnat.com>
6268
6269 * gprmake.adb, makegpr.ads, makegpr.adb: New files.
6270
6271 * Make-lang.in, Makefile.in: Add gprmake
6272
62732004-05-03 Thomas Quinot <quinot@act-europe.fr>
6274
6275 * sem_aggr.adb: Fix typo in comment.
6276
62772004-05-03 Robert Dewar <dewar@gnat.com>
6278
6279 * make.adb: Minor reformatting
6280
6281 * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
6282
6283 * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
6284 so that it works when address is not a private type.
6285
6286 * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
6287 properly with rewritten unchecked conversions. This prevents
6288 order-of-elaboration issues that can otherwise arise.
6289 (Minimum_Size): Don't check size of access types under VMS
6290
6291 * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
6292 interpretations of integer literals as type System.Address.
6293
6294 * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
6295 (Is_Descendent_Of): New function
6296
62972004-05-03 Jose Ruiz <ruiz@act-europe.fr>
6298
6299 * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
6300 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
6301 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
6302
6303 * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
6304 of the old Max_Entry_Queue_Depth.
6305
6306 * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
6307 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
6308 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
6309
6310 * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
6311 New entry for proper handling of Max_Entry_Queue_Depth.
6312 New entry for proper handling of No_Dynamic_Interrupts.
6313
6314 * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
6315 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
6316 Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
6317 the GNAT specific restriction Max_Entry_Queue_Depth.
6318 Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
6319 the GNAT specific restriction No_Dynamic_Interrupts.
6320
6321 * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
6322 instead of the old Boolean_Entry_Barriers.
6323 Use the new restriction No_Dynamic_Attachment instead of the old
6324 No_Dynamic_Interrupts.
6325
6326 * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
6327 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
6328
6329 * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
6330 of the old Max_Entry_Queue_Depth.
6331
63322004-05-03 GNAT Script <nobody@gnat.com>
6333
6334 * Make-lang.in: Makefile automatically updated
6335
d935a36e
AC
63362004-04-29 Ed Schonberg <schonberg@gnat.com>
6337
6338 * checks.adb (Enable_Range_Check): If the prefix of an index component
6339 is an access to an unconstrained array, perform check unconditionally.
6340
63412004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6342
6343 * decl.c (gnat_to_gnu_field): Also call make_packable_type if
6344 Component_Clause.
6345
63462004-04-29 Olivier Hainque <hainque@act-europe.fr>
6347
6348 * init.c (__gnat_install_handler, __gnat_error_handler): Remove
6349 alternate stack setting. There was no support for the tasking cases
6350 and the changes eventually caused a number of side-effect failures in
6351 the non-tasking case too.
6352
63532004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
6354
6355 lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
6356 -gnats is passed.
6357
63582004-04-29 Vincent Celier <celier@gnat.com>
6359
6360 * make.adb (Gnatmake): Increase max size of argument array for
6361 gnatbind for the potential addition of -F.
6362 If there are Stand-Alone Library projects, invoke gnatbind with -F to
6363 be sure that elaboration flags will be checked.
6364
6365 * switch-c.adb: Correct call to Scan_Pos for -gnateI
6366
63672004-04-29 Thomas Quinot <quinot@act-europe.fr>
6368
6369 * sem_warn.adb (Check_References): Move '<access-variable> may be
6370 null' warning out of under Warn_On_No_Value_Assigned.
6371
63722004-04-29 Ed Falis <falis@gnat.com>
6373
6374 * gnat_ugn.texi: Fixed texi error
6375
63762004-04-29 Robert Dewar <dewar@gnat.com>
6377
6378 * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
6379 abstract operations if they come from predefined files.
6380
6381 * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
6382 Dynamic, not RM).
6383
6384 * s-addope.adb: Correct obvious error in mod function
6385
63862004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
6387
6388 * Makefile.in: Add target pairs for powerpc darwin*
6389 tasking support.
6390
6391 * a-intnam-darwin.ads, s-osinte-darwin.adb,
6392 s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
6393
ea16c81b
UW
63942004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
6395
6396 * Makefile.in: Add target macro definitions for s390*-linux*.
6397 * system-linux-s390.ads: New file.
6398 * system-linux-s390x.ads: New file.
6399
f0e6f845
JM
64002004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
6401
6402 * gnat_ugn.texi: Correct argument to @setfilename.
6403
e8c2eedc
UW
64042004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
6405
6406 * a-exexpr.adb (Unwind_Word): New data type.
6407 (Unwind_Exception): Use it as type of Private1 and Private2.
6408
6409 * raise.c (db_action_for): Fix debug printf.
6410
f2c9e65a
AC
64112004-04-27 Ed Schonberg <schonberg@gnat.com>
6412
6413 * a-wtmoio.ads: Formal type must be a modular type, not a signed
6414 integer type.
6415
64162004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6417
6418 * decl.c (gnat_to_gnu_entity, case object): Call
6419 __builtin_update_setjmp_buf.
6420
6421 * gigi.h (update_setjmp_buf): Deleted.
6422 (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
6423
6424 * misc.c: (update_setjmp_buf): Deleted.
6425
6426 * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
6427 around block of RTL.
6428
6429 * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
6430
35b7fa6a
AC
64312004-04-26 Thomas Quinot <quinot@act-europe.fr>
6432
6433 * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
6434 subprogram for which no pragma All_Calls_Remote applies, store the
6435 address of the real subprogram in the underlying record type, so local
6436 dereferences do not go through the PCS.
6437
64382004-04-26 Robert Dewar <dewar@gnat.com>
6439
6440 * i-c.ads: Add some type qualifications to avoid ambiguities when
6441 compiling with s-auxdec.ads and a non-private address type.
6442
64432004-04-26 Arnaud Charlet <charlet@act-europe.fr>
6444
6445 * Makefile.rtl: Fix error in previous check-in:
6446 Add s-addope.o to non tasking object list (rather than tasking object
6447 list).
6448
64492004-04-26 Javier Miranda <miranda@gnat.com>
6450
6451 * sem_aggr.adb: Fix typo in comments
6452 (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
6453 Required to check the null-exclusion attribute.
6454
6455 * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
6456 case of anonymous access types in record and array components. For a
6457 component definition the level is the same of the enclosing composite
6458 type.
6459
6460 * sem_ch3.adb (Analyze_Component_Declaration): In case of components
6461 that are anonymous access types the level of accessibility depends on
6462 the enclosing type declaration. In order to have this information, set
6463 the scope of the anonymous access type to the enclosing record type
6464 declaration.
6465 (Array_Type_Declaration): In case of components that are anonymous
6466 access types the level of accessibility depends on the enclosing type
6467 declaration. In order to have this information, set the scope of the
6468 anonymous access type to the enclosing array type declaration.
6469
6470 * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
6471 access type.
6472
6473 * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
6474 renaming of anonymous access-to-constant types allowed if and only if
6475 the renamed object is access-to-constant.
6476
6477 * sem_util.adb (Type_Access_Level): In case of anonymous access types
6478 that are component_definition or discriminants of a nonlimited type,
6479 the level is the same as that of the enclosing component type.
6480
64812004-04-26 Sergey Rybin <rybin@act-europe.fr>
6482
6483 * sem_elim.adb: Some minor code reorganization from code reading. Fix
6484 misprint in the function name (File_Name_Match).
6485
5a944040
LG
64862004-04-23 Laurent GUERBY <laurent@guerby.net>
6487
90afe2c9 6488 * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
5a944040 6489 install.
90afe2c9 6490
d0fd1344
RO
64912004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6492
6493 * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
6494
cc4f0de1
AC
64952004-04-23 Emmanuel Briot <briot@act-europe.fr>
6496
6497 * adaint.c (__gnat_try_lock): No longer requires that the parent
6498 directory be writable, the directory itself is enough.
6499 (gnat_is_absolute_path): Change profile, so that the call from
6500 GNAT.OS_Lib can be made more efficient.
6501
6502 * adaint.h (gnat_is_absolute_path): Change profile, so that the call
6503 from GNAT.OS_Lib can be made more efficient.
6504
6505 * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
6506 one copy of the file name. Found by code reading.
6507
65082004-04-23 Vincent Celier <celier@gnat.com>
6509
6510 * gnat_ugn.texi: Add documentation for gnatmake switch -eL
6511 Correct documentation on gnatmake switches transmitted to the compiler
6512
6513 * ali.ads: Minor comment fix
6514
65152004-04-23 Javier Miranda <miranda@gnat.com>
6516
6517 * sem_ch6.adb: (Confirming Types): Code cleanup
6518
6519 * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
6520 subprogram types: E_Anonymous_Access_Subprogram_Type and
6521 E_Anonymous_Access_Protected_Subprogram_Type.
6522
65232004-04-23 Thomas Quinot <quinot@act-europe.fr>
6524
6525 * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
6526 whether a pragma All_Calls_Remote applies to the subprogram on which
6527 'Access is taken.
6528 No functional change is introduced by this revision; the new parameter
6529 will be used to allow calls to local RCI subprograms to be optimized
6530 to not use the PCS in the case where no pragma All_Calls_Remote applies,
6531 as is already done in the PolyORB implementation of the DSA.
6532
6533 * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
6534 whether a pragma All_Calls_Remote applies to the subprogram on which
6535 'Access is taken.
6536 No functional change is introduced by this revision; the new parameter
6537 will be used to allow calls to local RCI subprograms to be optimized
6538 to not use the PCS in the case where no pragma All_Calls_Remote applies,
6539 as is already done in the PolyORB implementation of the DSA.
6540
65412004-04-23 Robert Dewar <dewar@gnat.com>
6542
6543 * Makefile.rtl: Add entry for s-addope.o in run time library list
6544 * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
6545 * s-addope.ads, s-addope.adb: New files.
6546
90afe2c9
ZW
6547 * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
6548 s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
cc4f0de1
AC
6549 s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
6550 System.Address to be non-private and signed.
6551
6552 * sem_elim.adb: Minor reformatting (fairly extensive)
6553 Some minor code reorganization from code reading
6554 Add a couple of ??? comments
6555
65562004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6557
6558 * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
90afe2c9 6559 (tree_transform, case N_If_Statement): Remove non-determinism.
cc4f0de1
AC
6560
6561 * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
6562
65632004-04-23 Sergey Rybin <rybin@act-europe.fr>
6564
6565 * gnat_rm.texi: Small fixes in the changes made in the 'pragma
6566 Eliminate' section.
6567
6568 * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
6569 no longer used as a parameter name for Eliminate pragma).
6570
78bad775
LG
65712004-04-22 Laurent GUERBY <laurent@guerby.net>
6572
6573 PR optimization/14984
6574 PR optimization/14985
6575 * trans.c (gigi): Fix non determinism leading to bootstrap
6576 comparison failures.
6577
af4b9434
AC
65782004-04-21 Pascal Obry <obry@gnat.com>
6579
6580 * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
6581 passed to spawnvp() to properly handle program pathname with spaces on
6582 Win32.
6583
65842004-04-21 Emmanuel Briot <briot@act-europe.fr>
6585
6586 * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
6587 (Allocate, Deallocate, Free_Physically): Make sure the tasks are
6588 unlocked in case of exceptions.
6589
65902004-04-21 Joel Brobecker <brobecker@gnat.com>
6591
6592 * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
6593 This function does not exist anymore.
6594
65952004-04-21 Thomas Quinot <quinot@act-europe.fr>
6596
6597 * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
6598
6599 * link.c: Move variables to the __gnat name space.
6600
6601 * Makefile.in: list link.o explicitly when needed.
6602
6603 * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
6604
66052004-04-21 Javier Miranda <miranda@gnat.com>
6606
6607 * einfo.adb (Original_Access_Type): New subprogram
6608 (Set_Original_Access_Type): New subprogram
6609 (Write_Field21_Name): Write the name of the new field
6610
6611 * einfo.ads (Original_Access_Type): New field present in access to
6612 subprogram types.
6613 Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
6614 E_Anonymous_Access_Protected_Subprogram_Type.
6615
6616 * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
6617 subprogram types.
6618
6619 * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
6620 to anonymous access to subprogram types.
6621
6622 * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
6623 to subprogram types.
6624
6625 * sem_ch3.adb (Access_Definition): Complete decoration of entities
6626 corresponding to anonymous access to subprogram types.
6627 (Analyze_Component_Declaration): Add new actual to the call to
6628 subprogram replace_anonymous_access_to_protected_subprogram.
6629 (Array_Type_Declaration): Add new actual to the call to subprogram
6630 replace_anonymous_access_to_protected_subprogram.
6631 (Process_Discriminants): Add new actual to the call to subprogram
6632 replace_anonymous_access_to_protected_subprogram.
6633 (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
6634
6635 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
6636 formal.
6637
6638 * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
6639 access to subprogram types.
6640
6641 * sem_util.adb (Has_Declarations): Addition of package_specification
6642 nodes.
6643
66442004-04-21 Ed Schonberg <schonberg@gnat.com>
6645
6646 * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
6647 inlined flags to renamed entity only if in current unit.
6648
66492004-04-21 Thomas Quinot <quinot@act-europe.fr>
6650
6651 * s-parint.ads: Add DSA implementation marker.
6652
6653 * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
6654 value of System.Partition_Interface.DSA_Implementation to determine
6655 what version of the distributed systems annex is available (no
6656 implementation, GLADE, or PolyORB).
6657
66582004-04-21 Joel Brobecker <brobecker@gnat.com>
6659
6660 * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
6661
66622004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6663
6664 * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
6665 with new type if alias sets differ.
6666 Fixes ACATS c41103b.
6667
66682004-04-21 Vincent Celier <celier@gnat.com>
6669
6670 * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
6671 Add array Lang_Args for the language specific compiling argument
6672 switches.
6673
6674 * gnat_ugn.texi: Explain in more details when a library is rebuilt.
6675
66762004-04-21 Sergey Rybin <rybin@act-europe.fr>
6677
6678 * gnat_rm.texi: Update the descripton of the Eliminate pragma
6679 according to the recent changes in the format of the parameters of the
6680 pragma (replacing Homonym_Number with Source_Location).
6681
7324bf49
AC
66822004-04-19 Arnaud Charlet <charlet@act-europe.fr>
6683
6684 * 5isystem.ads: Removed, unused.
6685
6686 * gnat_rm.texi: Redo 1.13 change.
6687
66882004-04-19 Robert Dewar <dewar@gnat.com>
6689
6690 * s-stoele.ads: Clean up definition of Storage_Offset (the new
6691 definition is cleaner, avoids the kludge of explicit Standard operator
6692 references, and also is consistent with a visible System.Address with
6693 no visible operations.
6694
6695 * s-geveop.adb: Add declarations to avoid assumption of visible
6696 operations on type System.Address (since these might not be available
6697 if Address is a non-private type for which the operations
6698 are made abstract).
6699
6700 * sem_eval.adb: Minor reformatting
6701
6702 * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
6703 s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
6704 reformatting (new function spec format).
6705
6706 * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
6707 s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
6708 s-caun64.adb: Add declarations to avoid assumption of visible
6709 operations on type System.Address (since these might not be available
6710 if Address is a non-private type for which the operations are made
6711 abstract).
6712
6713 * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
6714
6715 * exp_intr.adb: Minor comment update
6716
6717 * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
6718
6719 * 5omastop.adb: Add declarations to avoid assumption of visible
6720 operations on type System.Address (since these might not be available
6721 if Address is a non-private type for which the operations
6722 are made abstract).
6723
67242004-04-19 Vincent Celier <celier@gnat.com>
6725
6726 * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
6727
6728 * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
6729 defaulted to Ada.
6730
6731 * prj-proc.adb (Process): New Boolean parameter Process_Languages,
6732 defaulted to Ada.
6733 Call Check with Process_Languages.
6734 (Check): New Boolean parameter Process_Languages. Call Recursive_Check
6735 with Process_Languages.
6736 (Recursive_Check): New Boolean parameter Process_Languages. Call
6737 Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
6738 Process_Languages.
6739
6740 * prj-proc.ads (Process): New Boolean parameter Process_Languages,
6741
6742 * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
6743 parameter Ada_Main, defaulted to True.
6744 Check for Ada specific characteristics only when Ada_Main is True.
6745
6746 * opt.ads: (Follow_Links): New Boolean flag for gnatmake
6747
6748 * prj.adb: (Project_Empty): Add new Project_Data components.
6749
6750 * prj.ads: New types and tables for non Ada languages.
6751 (Project_Data): New components Languages, Impl_Suffixes,
6752 First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
6753 Include_Path, Include_Data_Set.
6754
6755 * prj-env.ads, prj-env.adb: Minor reformatting
6756
6757 * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
6758 Put subprograms in alphabetical order
6759
6760 * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
6761 defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
6762 Opt.Follow_Links.
6763
6764 * mlib-prj.adb: Back out modification in last version, as they are
6765 incorrect.
6766 (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
6767
6768 * make.adb: (Mains): Moved to package Makeutl
6769 (Linker_Opts): Moved to package Makeutl
6770 (Is_External_Assignment): Moved to package Makeutl
6771 (Test_If_Relative_Path): Moved to package Makeutl
6772 (Gnatmake): Move sorting of linker options to function
6773 Makeutl.Linker_Options_Switches.
6774
8f9df7d8
VC
6775 * makeutl.ads, makeutl.adb: New files.
6776
7324bf49
AC
6777 * Makefile.in: Add makeutl.o to the object files for gnatmake
6778
6779 * makeusg.adb: Add line for new switch -eL.
6780
6781 * gnatls.adb (Image): New function.
6782 (Output_Unit): If in verbose mode, output the list of restrictions
6783 specified by pragmas Restrictions.
6784
6785 * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
6786 Text_IO.
6787
6788 * a-calend.adb (Split): Shift the date by multiple of 56 years, if
6789 needed, to put it in the range 1970 (included) - 2026 (excluded).
6790 (Time_Of): Do not shift Unix_Min_Year (1970).
6791 Shift the date by multiple of 56 years, if needed, to put it in the
6792 range 1970 (included) - 2026 (excluded).
6793
6794 * adaint.h, adaint.c (__gnat_set_executable): New function.
6795
67962004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6797
6798 * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
6799 and pop GC context.
6800 (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
6801 (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
6802 (tree_transform, case N_Procedure_Call_Statement): Build a tree.
6803 (tree_transform, case N_Code_Statement): Likewise.
6804 (gnat_expand_stmt, case LABEL_STMT): Don't look at
6805 LABEL_STMT_FIRST_IN_EH.
6806 (gnat_expand_stmt, case ASM_STMT): New case.
6807
6808 * utils2.c (build_unary_op): Properly set TREE_READONLY of
6809 UNCONSTRAINED_ARRAY_REF.
6810
6811 * utils.c (poplevel): Temporarily push/pop GC context around inline
6812 function expansion.
6813
6814 * decl.c (maybe_variable): Properly set TREE_READONLY of
6815 UNCONSTRAINED_ARRAY_REF.
6816 (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
6817
6818 * ada-tree.def: (ASM_STMT): New.
6819
6820 * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
6821 (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
6822 ASM_STMT_INPUT): New.
6823 (ASM_STMT_CLOBBER): Likewise.
6824
68252004-04-19 Thomas Quinot <quinot@act-europe.fr>
6826
6827 * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
6828 general rcheck mechanism to raise Program_Error for E.4(18), instead
6829 of a custom raiser in System.Partition_Interface.
6830 Part of general cleanup work before PolyORB integration.
6831
6832 * snames.ads, snames.adb: Add new runtime library entities and names
6833 for PolyORB DSA.
6834
6835 * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
6836 exp_dist.
6837 (Build_Subprogram_Id): New subprogram provided by exp_dist
6838 Code reorganisation in preparation for PolyORB integration.
6839
6840 * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
6841 exp_dist.
6842 (Build_Subprogram_Id): New subprogram provided by exp_dist
6843
6844 * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
6845 actual parameter types for call to dereference of an
6846 access-to-subprogram type.
6847
6848 * rtsfind.ads: Add new runtime library entities and names for PolyORB
6849 DSA.
6850
6851 * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
6852 instead, which has the same behaviour here since we never pass it a
6853 NULL pointer.
6854
6855 * link.c (run_path_option, Solaris case): Use -Wl, as for other
6856 platforms.
6857
6858 * Makefile.in: adjust object file lists for gnatlink and gnatmake
6859 to account for new dependency upon Interfaces.C.Strings + link.o
6860 For x86 FreeBSD, use 86numaux.
6861
6862 * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
6863 from Mlib.Tgt to Mlib.
6864
6865 * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
6866 target-independent.
6867
6868 * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
6869 target-specific versions of this subprogram, now implemented as a
6870 target-independent function in Mlib.
6871
6872 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
6873 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
6874 (Linker_Library_Path_Option): Remove target-specific versions of this
6875 subprogram, now implemented as a target-independent function in Mlib.
6876
6877 * atree.adb: (Allocate_Initialize_Node): New subprogram.
6878 Factors out node table slots allocation.
6879 (Fix_Parents): New subprogram.
6880 Encapsulate the pattern of fixing up parent pointers for syntactic
6881 children of a rewritten node.
6882 (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
6883 (Rewrite): Use New_Copy when creating saved copy of original node.
6884 (Replace): Use Copy_Node to copy nodes.
6885
68862004-04-19 Javier Miranda <miranda@gnat.com>
6887
6888 * sprint.adb (Sprint_Node_Actual): Give support to the new
6889 Access_To_Subprogram node available in Access_Definition nodes. In
6890 addition, give support to the AI-231 node fields: null-exclusion,
6891 all-present, constant-present.
6892
6893 * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
6894
90afe2c9 6895 * sinfo.ads, sinfo.adb:
7324bf49
AC
6896 New field Access_To_Subprogram_Definition in Access_Definition nodes
6897
6898 * sem_ch6.adb (Process_Formals): Move here the code that creates and
6899 decorates internal subtype declaration corresponding to the
6900 null-excluding formal. This code was previously in Set_Actual_Subtypes.
6901 In addition, carry out some code cleanup on this code. In case of
6902 access to protected subprogram call
6903 Replace_Anonymous_Access_To_Protected_Subprogram.
6904 (Set_Actual_Subtypes): Code cleanup.
6905
6906 * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
6907 Find_Type in case of anonymous access renamings. Add warning in case of
6908 null-excluding attribute used in anonymous access renaming.
6909
6910 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
6911 subprogram
6912
6913 * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
6914 subprogram.
6915 (Access_Definition): In case of anonymous access to subprograms call
6916 the corresponding semantic routine to decorate the node.
6917 (Access_Subprogram_Declaration): Addition of some comments indicating
6918 some code that probably should be added here. Detected by comparison
6919 with the access_definition subprogram.
6920 (Analyze_Component_Declaration): In case of access to protected
6921 subprogram call Replace_Anonymous_Access_To_Protected.
6922 (Array_Type_Declaration): In case of access to protected subprogram call
6923 Replace_Anonymous_Access_To_Protected_Subprogram.
6924 (Process_Discriminants): In case of access to protected subprogram call
6925 Replace_Anonymous_Access_To_Protected_Subprogram.
6926
6927 * par.adb (P_Access_Definition): New formal that indicates if the
6928 null-exclusion part was present.
6929 (P_Access_Type_Definition): New formal that indicates if the caller has
6930 already parsed the null-excluding part.
6931
6932 * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
6933 (P_Identifier_Declarations): Code cleanup and give support to renamings
6934 of anonymous access to subprogram types.
6935 (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
6936 (P_Array_Type_Definition): Give support to AI-254.
6937 (P_Component_Items): Give support to AI-254.
6938 (P_Access_Definition): New formal that indicates if the header was
6939 already parsed by the caller.
6940 (P_Access_Type_Definition): New formal that indicates if the caller has
6941 already parsed the null-excluding part.
6942
6943 * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
6944 call to P_Access_Definition.
6945
69462004-04-19 Geert Bosch <bosch@gnat.com>
6947
6948 * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
6949 the delicate semantics of floating-point to integer conversion.
6950 (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
6951
6952 * eval_fat.adb (Machine_Mantissa): Moved to spec.
6953 (Machine_Radix): New function.
6954
6955 * eval_fat.ads (Machine_Mantissa): Moved from body for use in
6956 conversion checks.
6957 (Machine_Radix): New function also for use in conversion checks.
6958
69592004-04-19 Ed Schonberg <schonberg@gnat.com>
6960
6961 * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
6962
6963 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
6964 to decorate the access-to-protected subprogram and the equivalent type.
6965
6966 * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
6967 to anonymous access to subprogram types.
6968
6969 * exp_ch4.adb (Expand_N_In): Preserve Static flag before
6970 constant-folding, for legality checks in contexts that require an RM
6971 static expression.
6972
6973 * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
6974 temporary but stack checking is not enabled, increment serial number
6975 to so that symbol generation is consistent with and without stack
6976 checking.
6977
6978 * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
6979 independent on whether stack checking is enabled, caller must check
6980 the corresponding flag.
6981
6982 * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
6983 range checks.
6984 (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
6985 parent if it has discriminants.
6986 (Build_Derived_Private_Type): Constructed full view does
6987 not come from source.
6988 (Process_Discriminants): Default discriminants on a tagged type are
6989 legal if this is the internal completion of a private untagged
6990 derivation.
6991
6992 * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
6993 no constraint checks, because it corresponds to an existing object.
6994
6995 * sem_prag.adb (Process_Convention): Pragma applies
6996 only to subprograms in the same declarative part, i.e. the same unit,
6997 not the same scope.
6998
6999 * sem_res.adb (Valid_Conversion): In an instance or inlined body,
7000 ignore type mismatch on a numeric conversion if expression comes from
7001 expansion.
7002
70032004-04-19 Sergey Rybin <rybin@act-europe.fr>
7004
7005 * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
7006 Homonym_Number parameter, add processing for Source_Location parameter
7007 corresponding.
7008 (Check_Eliminated): Remove the check for homonym numbers, add the check
7009 for source location traces.
7010
7011 * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
7012 with Arg_Source_Location corresponding to the changes in the format of
7013 the pragma.
7014
7015 * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
7016 Eliminate pragma corresponding to the changes in the format of the
7017 pragma: Homonym_Number is replaced with Source_Location, two ways of
7018 distinguishing homonyms are mutially-exclusive.
7019
70202004-04-19 Joel Brobecker <brobecker@gnat.com>
7021
7022 * get_targ.ads (Get_No_Dollar_In_Label): Remove.
7023
7024 * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
7025 No_Dollar_In_Label, no longer necessary, as it is always True.
7026 (Strip_Suffixes): Likewise.
7027
70282004-04-19 Gary Dismukes <dismukes@gnat.com>
7029
7030 * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
7031 modulus for compatibility with size clause on targets with 16-bit
7032 Integer.
7033
7034 * layout.adb (Discrimify): In the case of private types, set Vtyp to
7035 full type to fix type mismatches on calls to size functions for
7036 discriminant-dependent array components.
7037
70382004-04-19 Jerome Guitton <guitton@act-europe.fr>
7039
7040 * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
7041 lib.
7042
70432004-04-19 Pascal Obry <obry@gnat.com>
7044
7045 * mdll-utl.adb (Locate): New version is idempotent.
7046
70472004-04-17 Laurent Guerby <laurent@guerby.net>
fa795c69
LG
7048
7049 PR ada/14988 (partial)
7050 * impunit.adb: Fix typo.
90afe2c9 7051
cce0244b
NN
70522004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
7053
7054 * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
7055 and install-rts-cert targets. Remove all gnatlib and gnattools
7056 targets and all other rts-* targets (moved to libada). Remove (now)
7057 unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
7058 TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
7059
af152989
AC
70602004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7061
7062 * trans.c (tree_transform): Shortcut returning error_mark_node for
7063 statements in annotate_only_mode.
7064 (tree_transform, case N_Label, case N_Return_Statement,
7065 N_Goto_Statement): Make statement tree instead of generating code.
7066 (tree_transform, case N_Assignment_Statement): No longer check
7067 type_annotate_only.
7068 (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
7069 RETURN_STMT): New.
7070 (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
7071 New fcns.
7072 (gnat_to_gnu): Collect any RTL generated and deal with it.
7073 (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
7074 (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
7075 (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
7076
7077 * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
7078
7079 * ada-tree.def (EXPR_STMT): Fix typo in name.
7080 (BLOCK_STMT, IF_STMT): New nodes.
7081
7082 * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
7083 LABEL_STMT_FIRST_IN_EH): New macros.
7084 (RETURN_STMT_EXPR): Likewise.
7085
7086 * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
7087 IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
7088
70892004-04-08 Thomas Quinot <quinot@act-europe.fr>
7090
7091 * atree.ads: Correct documentation on extended nodes.
7092
7093 * link.c: Set run_path_option for FreeBSD.
7094
70952004-04-08 Vincent Celier <celier@gnat.com>
7096
7097 * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
7098 one of the ALI file, do not link with DEC lib.
7099
7100 * par.adb Remove the last two characters ("%s" or "%b") when checking
7101 if a language defined unit may be recompiled.
7102
71032004-04-08 Ed Schonberg <schonberg@gnat.com>
7104
7105 * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
7106 removal of abstract operation leaves no possible interpretation for
7107 expression.
7108
7109 * sem_eval.adb (Eval_Qualified_Expression): Use
7110 Set_Raises_Constraint_Error on node when needed, so that it does not
7111 get optimized away by subsequent optimizations.
7112
7113 * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
7114 operands even when they are not wrapped in a type conversion.
7115
71162004-04-08 Olivier Hainque <hainque@act-europe.fr>
7117
7118 * sem_prag.adb (Set_Exported): Warn about making static as result of
7119 export only when the export is coming from source. This may be not
7120 be true e.g. on VMS where we expand export pragmas for exception codes
7121 together with imported or exported exceptions, and we don't want the
7122 user to be warned about something he didn't write.
7123
71242004-04-08 Thomas Quinot <quinot@act-europe.fr>
7125
7126 * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
7127 duplication between normal entities and those declared as renamings.
7128 No functional change.
7129
90afe2c9 7130 * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
af152989
AC
7131 inline functions returning an unconstrained result.
7132
71332004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
7134
7135 * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
7136 conform to what other front-ends do.
7137
71382004-04-08 Doug Rupp <rupp@gnat.com>
7139
7140 * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
7141 libraries.
7142
3984e89a
AC
71432004-04-06 Pascal Obry <obry@gnat.com>
7144
7145 * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
7146
7147 * osint.adb (Program_Name): Do not look past a directory separator.
7148
71492004-04-06 Thomas Quinot <quinot@act-europe.fr>
7150
7151 * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
7152
7153 * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
7154 requirement for preserving a copy of the original assignment node.
7155
7156 * sinfo.ads: Update comment (Original_Tree -> Original_Node).
7157
71582004-04-06 Olivier Hainque <hainque@act-europe.fr>
7159
7160 (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
7161 when supported.
7162
71632004-04-06 Ed Schonberg <schonberg@gnat.com>
7164
7165 * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
7166 operator calls in functional notation, and apply
7167 Universal_Interpretation to operands, not to their type.
7168
71692004-04-06 Robert Dewar <dewar@gnat.com>
7170
7171 * 5wdirval.adb: Minor reformatting
7172
71732004-04-06 Ed Falis <falis@gnat.com>
7174
7175 * gnat_rm.texi: Improve a reference to the GCC manual
7176
30c20106
AC
71772004-04-05 Vincent Celier <celier@gnat.com>
7178
7179 * adaint.h, adaint.c: Add function __gnat_named_file_length
7180
7181 * impunit.adb: Add Ada.Directories to the list
7182
7183 * Makefile.in: Add VMS and Windows versions of
7184 Ada.Directories.Validity package body.
7185
7186 * Makefile.rtl: Add a-direct and a-dirval
7187
7188 * mlib-tgt.ads: Minor comment update.
7189
7190 * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
7191 a-direct.ads, a-direct.adb: New files.
7192
71932004-04-05 Vincent Celier <celier@gnat.com>
7194
7195 PR ada/13620
7196 * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
7197 just to the compiler.
7198
71992004-04-05 Robert Dewar <dewar@gnat.com>
7200
7201 * a-except.adb (Exception_Name_Simple): Make sure lower bound of
7202 returned string is 1.
7203
7204 * ali-util.adb: Use proper specific form for Warnings (Off, entity)
7205
7206 * eval_fat.ads: Minor reformatting
7207
7208 * g-curexc.ads: Document that lower bound of returned string values
7209 is always one.
7210
7211 * gnatlink.adb: Add ??? comment for previous change
7212 (need to document why this is VMS specific)
7213
7214 * s-stoele.ads: Minor reformatting
7215
7216 * tbuild.ads: Minor reformatting throughout (new function specs)
7217
7218 * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
7219 after WITH.
7220
7221 * scng.adb: Minor reformatting
7222
72232004-04-05 Geert Bosch <bosch@gnat.com>
7224
7225 * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
7226 (Leading_Part): Still perform truncation to machine number if the
7227 specified radix_digits is greater or equal to machine_mantissa.
7228
72292004-04-05 Javier Miranda <miranda@gnat.com>
7230
7231 * par-ch3.adb: Complete documentation of previous change
7232 Correct wrong syntax documentation of the OBJECT_DECLARATION rule
7233 (aliased must appear before constant).
7234
7235 * par-ch4.adb: Complete documentation of previous change.
7236
7237 * par-ch6.adb: Complete documentation of previous change.
7238
7239 * sinfo.ads: Fix typo in commment.
7240
72412004-04-05 Ed Schonberg <schonberg@gnat.com>
7242
7243 * sem_ch3.adb (Inherit_Components): If derived type is private and has
7244 stored discriminants, use its discriminants to constrain parent type,
7245 as is done for non-private derived record types.
7246
7247 * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
7248 Ada 2005 AI-310: an abstract non-dispatching operation is not a
7249 candidate interpretation in an overloaded call.
7250
7251 * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
7252 expression is Null and target type is not an access type (e.g. a
7253 non-private address type).
7254
72552004-04-05 Thomas Quinot <quinot@act-europe.fr>
7256
7257 * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
7258 statement whose right-hand side is an inlined call, save a copy of the
7259 original assignment subtree to preserve enough consistency for
7260 Analyze_Assignment to proceed.
7261
7262 * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
7263 complete assignment subtree which is now unnecessary, as the expansion
7264 of inlined call has been improved to preserve a consistent assignment
7265 tree. Note_Possible_Modification must be called only
7266 after checks have been applied, or else unnecessary checks will
7267 be generated.
7268
7269 * sem_util.adb (Note_Possible_Modification): Reorganise the handling
7270 of explicit dereferences that do not Come_From_Source:
7271 - be selective on cases where we must go back to the dereferenced
7272 pointer (an assignment to an implicit dereference must not be
7273 recorded as modifying the pointer);
7274 - do not rely on Original_Node being present (Analyze_Assignment
7275 calls Note_Possible_Modification on a copied tree).
7276
7277 * sem_warn.adb (Check_References): When an unset reference to a pointer
7278 that is never assigned is encountered, prefer '<pointer> may be null'
7279 warning over '<pointer> is never assigned a value'.
7280
72812004-04-05 Ramon Fernandez <fernandez@gnat.com>
7282
7283 * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
7284 the ABI.
7285
72862004-04-05 Olivier Hainque <hainque@act-europe.fr>
7287
7288 * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
7289 libexc. We currently don't reference anything in this library and
7290 linking it in triggers linker warnings we don't want to see.
7291
7292 * init.c: Update comments.
7293
4f976745
RK
72942004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7295
7296 * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
7297 * utils.c (create_field_decl): Likewise.
7298 * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
7299
6da7d579
AC
73002004-04-02 Arnaud Charlet <charlet@act-europe.fr>
7301
7302 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
7303 Replace ifinfo by ifnottex, to make makeinfo --html happy again.
7304 Add info directory entry and category.
7305
18c6ada9
JH
73062004-04-02 Jan Hubicka <jh@suse.cz>
7307
7308 * utils.c: Include function.h
7309 (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
7310
7cd4527e
AC
73112004-04-01 Arnaud Charlet <charlet@act-europe.fr>
7312
7313 PR ada/14150
7314 * Make-lang.in: Clean up generation of documentation
7315
7316 * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
7317
7318 * xgnatug.adb: Removed, replaced by xgnatugn.adb
7319
7320 * xgnatugn.adb: Replaces xgnatug.adb
7321
7322 * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
7323
7324 * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
7325
7326 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
7327 gnat_ug_wnt.texi: Removed.
7328
0c250f07
AC
73292004-04-01 Arnaud Charlet <charlet@act-europe.fr>
7330
7331 * utils2.c: Update copyright notice.
7332
6b6fcd3e
AC
73332004-04-01 Robert Dewar <dewar@gnat.com>
7334
7335 * checks.adb: Minor reformatting throughout
7336 Note that prev checkin added RM reference to alignment warning
7337
73382004-04-01 Ed Schonberg <schonberg@gnat.com>
7339
7340 * exp_aggr.adb (Get_Component_Val): Treat a string literal as
7341 non-static when building aggregate for bit-packed array.
7342
7343 * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
7344 function call that is itself the actual in a procedure call, build
7345 temporary for it.
7346
7347 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
7348 a string literal, create a temporary for it, constant folding only
7349 handles scalars here.
7350
73512004-04-01 Vincent Celier <celier@gnat.com>
7352
7353 * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
7354 Error_Msg_SP): New empty procedures to instantiate the Scanner.
7355 (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
7356 tokens.
7357 (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
7358 (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
7359 and get the checksum.
7360
7361 * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
7362 already in the Q.
7363 Increase the Marking_Label at the end of the Multiple_Main_Loop,
7364 instead of at the beginning.
7365
7366 * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
7367 directly.
7368 (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
7369 on VMS.
7370
7371 * osint.ads (Multi_Unit_Index_Character): New Character global variable
7372
7373 * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
7374 not '~' directly.
7375
7376 * par.adb: Remove test on file name to detect language defined units.
7377 Add test on unit name, after parsing, to detect language defined units
7378 that are not compiled with -gnatg (except System.RPC and its children)
7379
7380 * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
7381 following units without style checking.
7382
7383 * switch-c.adb: Change -gnatC to -gnateI
7384
7385 * usage.adb: Document new switch -gnateInnn
7386
7387 * scng.adb (Accumulate_Token_Checksum): New procedure
7388 (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
7389 word or literal number.
7390 (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
7391 numbers.
7392
73932004-04-01 Thomas Quinot <quinot@act-europe.fr>
7394
7395 * a-tasatt.adb,
7396 g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
7397 switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
7398 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
7399 5vtpopde.adb: Add missing 'constant' keywords.
7400
74012004-04-01 Javier Miranda <miranda@gnat.com>
7402
7403 * par-ch4.adb: (P_Allocator): Code cleanup
7404
7405 * sem_ch3.adb (Access_Definition): Properly set the null-excluding
7406 attribute.
7407
7408 * sinfo.ads: Complete documentation of previous change
7409
74102004-04-01 Pascal Obry <obry@gnat.com>
7411
7412 * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
7413 only on VMS. This special handling was done because an old GNU/ld bug
7414 on Windows which has been fixed.
7415
74162004-04-01 GNAT Script <nobody@gnat.com>
7417
7418 * Make-lang.in: Makefile automatically updated
7419
8df83eae
RK
74202004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7421
7422 * decl.c (gnat_to_gnu_entity, make_type_from_size):
7423 Use TYPE_UNSIGNED, not TREE_UNSIGNED.
7424 * trans.c (tree_transform, convert_with_check): Likewise.
7425 * utils.c (gnat_signed_or_unsigned_type): Likewise.
7426 (build_vms_descriptor, unchecked_convert): Likewise.
7427 * utils2.c (nonbinary_modular_operation): Likewise.
7428
2820d220
AC
74292004-03-29 Javier Miranda <miranda@gnat.com>
7430
7431 * checks.adb (Null_Exclusion_Static_Checks): New subprogram
7432 (Install_Null_Excluding_Check): Local subprogram that determines whether
7433 an access node requires a runtime access check and if so inserts the
7434 appropriate run-time check.
7435 (Apply_Access_Check): Call Install_Null_Excluding check if required
7436 (Apply_Constraint_Check): Call Install_Null_Excluding check if required
7437
7438 * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
7439
7440 * einfo.ads: Fix typo in comment
7441
7442 * exp_ch3.adb (Build_Assignment): Generate conversion to the
7443 null-excluding type to force the corresponding run-time check.
7444 (Expand_N_Object_Declaration): Generate conversion to the null-excluding
7445 type to force the corresponding run-time check.
7446
7447 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
7448 the null-excluding type to force the corresponding run-time check.
7449
7450 * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
7451 case of access types unless they have the null-excluding attribute.
7452
7453 * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
7454 part.
7455
7456 * exp_util.ads: Fix typo in comment
7457
7458 * par.adb (P_Null_Exclusion): New subprogram
7459 (P_Subtype_Indication): New formal that indicates if the null-excluding
7460 part has been scanned-out and it was present
7461
7462 * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
7463
7464 * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
7465 (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
7466 type to force the corresponding run-time check
7467 (Resolve_Aggregate): Propagate the null-excluding attribute to the array
7468 components
7469 (Resolve_Array_Aggregate): Carry out some static checks
7470 (Resolve_Record_Aggregate.Get_Value): Carry out some static check
7471
7472 * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
7473 attribute must be set only if specified by means of the null-excluding
7474 part. In addition, we must also propagate the access-constant attribute
7475 if present.
7476 (Access_Subprogram_Declaration, Access_Type_Declaration,
7477 Analyze_Component_Declaration, Analyze_Object_Declaration,
7478 Array_Type_Declaration, Process_Discriminants,
7479 Analyze_Subtype_Declaration): Propagate the null-excluding attribute
7480 and carry out some static checks.
7481 (Build_Derived_Access_Type): Set the null-excluding attribute
7482 (Derived_Type_Declaration, Process_Subtype): Carry out some static
7483 checks.
7484
7485 * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
7486
7487 * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
7488
7489 * sem_ch6.adb (Process_Formals): Carry out some static checks.
7490 (Set_Actual_Subtypes): Generate null-excluding subtype if the
7491 null-excluding part was present; it is not required to be done here in
7492 case of anonymous access types.
7493 (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
7494 value.
7495
7496 * sem_res.adb (Resolve_Actuals): Carry out some static check
7497 (Resolve_Null): Allow null in anonymous access
7498
7499 * sinfo.adb: New subprogram Null_Exclusion_Present
7500 All_Present and Constant_Present available on access_definition nodes
7501
7502 * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
7503 object_declaration, derived_type_definition, component_definition,
7504 discriminant_specification, access_to_object_definition,
7505 access_function_definition, allocator, access_procedure_definition,
7506 access_definition, parameter_specification, All_Present and
7507 Constant_Present flags available on access_definition nodes.
7508
75092004-03-29 Robert Dewar <dewar@gnat.com>
7510
7511 * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
7512 gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
7513 opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
7514 par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
7515 sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
7516 sem_prag.adb: Updates to handle multiple units/file
7517
7518 * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
7519
7520 * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
7521 sem_util.adb: Minor reformatting
7522
7523 * sem_ch12.adb: Add comment for previous change
7524
75252004-03-29 Laurent Pautet <pautet@act-europe.fr>
7526
7527 * osint.adb (Executable_Prefix): Set Exec_Name to the current
7528 executable name when not initialized. Otherwise, use its current value.
7529
7530 * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
7531 initialize it to another executable name than the current one. This
7532 allows to configure paths for an executable name (gnatmake) different
7533 from the current one (gnatdist).
7534
75352004-03-29 Ed Schonberg <schonberg@gnat.com>
7536
7537 * exp_ch6.adb (Expand_Call): A call to a function declared in the
7538 current unit cannot be inlined if it appears in the body of a withed
7539 unit, to avoid order of elaboration problems in gigi.
7540
7541 * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
7542 information for protected (wrapper) operation as well, to simplify gdb
7543 use.
7544
7545 * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
7546 protected body, indicate that the entity for the generated spec comes
7547 from source, to ensure that references are properly generated for it.
7548 (Build_Body_To_Inline): Do not inline a function that returns a
7549 controlled type.
7550
7551 * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
7552 apply convention to homonyms that are declared explicitly.
7553
7554 * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
7555 that renames an equality operator and the operands are overloaded,
7556 resolve them with the declared formal types, before rewriting as an
7557 operator.
7558
75592004-03-29 GNAT Script <nobody@gnat.com>
7560
7561 * Make-lang.in: Makefile automatically updated
7562
6d11af89
AC
75632004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
7564
7565 * memtrack.adb: Log realloc calls, which are treated as free followed
7566 by alloc.
7567
75682004-03-25 Vincent Celier <celier@gnat.com>
7569
7570 * prj-makr.adb (Process_Directories): Detect when a file contains
7571 several units. Do not include such files in the config pragmas or
7572 in the naming scheme.
7573
7574 * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
7575 Resolve links only when not in Trusted_Mode.
7576 (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
7577 Do not resolve links for the display names.
7578
7579 * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
7580 resolve links when computing the display names.
7581
75822004-03-25 Thomas Quinot <quinot@act-europe.fr>
7583
7584 * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
7585 attribute reference does not denote a subtype, it can be any
7586 expression that has a classwide type, potentially after an implicit
7587 dereference. In particular, the prefix can be a view conversion for
7588 a classwide type (for which Is_Object_Reference holds), but it can
7589 also be a value conversion for an access-to-classwide type. In the
7590 latter case, there is an implicit dereference, and the original node
7591 for the prefix does not verify Is_Object_Reference.
7592
7593 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
7594 conversion of a discriminant-dependent component of a mutable object
7595 is one itself.
7596
75972004-03-25 Ed Schonberg <schonberg@gnat.com>
7598
7599 * freeze.adb (Freeze_Entity): When an inherited subprogram is
7600 inherited, has convention C, and has unconstrained array parameters,
7601 place the corresponding warning on the derived type declaration rather
7602 than the original subprogram.
7603
7604 * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
7605 indication on renaming declaration, if formal has a box and actual
7606 is absent.
7607
7608 * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
7609 determine whether to generate an implicit or explicit reference to
7610 the renamed entity.
7611
7612 * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
7613 subprogram renaming comes from a defaulted formal subprogram in an
7614 instance.
7615
76162004-03-25 Gary Dismukes <dismukes@gnat.com>
7617
7618 * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
7619 value expressions to ensure that calls within a component definition
7620 will be checked (since those are evaluated during the record type's
7621 elaboration).
7622
76232004-03-25 Arnaud Charlet <charlet@act-europe.fr>
7624
7625 * s-tpobop.adb: Code clean up:
7626 (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
7627 code.
7628 (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
7629
76302004-03-25 Jose Ruiz <ruiz@act-europe.fr>
7631
7632 * Makefile.in: Clean up in the ravenscar run time.
7633
22421b79
RK
76342004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7635
7636 * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
7637 of No_Strict_Aliasing to build_pointer_type_for_mode.
7638 * utils.c (update_pointer_to): Walk pointer and ref chains.
7639
24105bab
AC
76402004-03-22 Cyrille Comar <comar@act-europe.fr>
7641
7642 * ali.ads: Fix Comment about Dynamic_Elab.
7643
7644 * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
7645 Has_RACW, Is_Generic, etc.)
7646 (Output_Object, Gnatls): Take into account ALI files not attached to
7647 an object.
7648
76492004-03-22 Vincent Celier <celier@gnat.com>
7650
7651 * gprep.adb: Change all String_Access to Name_Id
7652 (Is_ASCII_Letter): new function
7653 (Double_File_Name_Buffer): New procedure
7654 (Preprocess_Infile_Name): New procedure
7655 (Process_Files): New procedure
7656 (Gnatprep): Check if output and input are existing directories.
7657 Call Process_Files to do the real job.
7658
76592004-03-22 Robert Dewar <dewar@gnat.com>
7660
7661 * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
7662 s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
7663
76642004-03-22 Sergey Rybin <rybin@act-europe.fr>
7665
7666 * scn.adb (Contains): Add check for EOF, is needed for a degenerated
7667 case when the source contains only comments.
7668
76692004-03-22 Ed Schonberg <schonberg@gnat.com>
7670
7671 * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
7672 declaration for a child subprogram body that acts as a spec, indicate
7673 that the entity in the declaration needs debugging information.
7674
7675 * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
7676 full view if the subtype is created for a constrained record component;
7677 gigi has enough information to construct the record, and there is no
7678 place in the tree for the declaration.
7679
7680 * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
7681 serial number for the dummy body that is built for analysis, to avoid
7682 inconsistencies in the generation of internal names when compiling
7683 with -gnatN.
7684
76852004-03-22 Thomas Quinot <quinot@act-europe.fr>
7686
7687 * sem_util.adb (Is_Object_Reference): A view conversion denotes an
7688 object.
7689
76902004-03-22 GNAT Script <nobody@gnat.com>
7691
7692 * Make-lang.in: Makefile automatically updated
7693
6fce44af
RK
76942004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7695
7696 * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
7697 * trans.c (tree_transform, emit_index_check): Likewise.
7698 * utils.c (build_template): Likewise.
7699 (max_size, convert): Remove handling of WITH_RECORD_EXPR.
7700 (maybe_unconstrained_array, unchecked_convert): Likewise.
7701 * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
7702 (build_unary_op): Likewise.
7703 (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
7704 (fill_vms_descriptor): Likewise.
7705 (build_call_alloc_dealloc): Likewise.
7706 ALIGN is unsigned.
7707 * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
7708
802f6d4b
JM
77092004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
7710
7711 PR other/14630
7712 * gnat_ug.texi: Add info directory category and entry.
7713 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
7714 gnat_ug_wnt.texi: Regenerate.
7715
30f3b32b
AC
77162004-03-19 Arnaud Charlet <charlet@act-europe.fr>
7717
7718 * ada-tree.h: Update copyright notice.
7719 Minor reformatting.
7720
77212004-03-19 Olivier Hainque <hainque@act-europe.fr>
7722
7723 * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
7724 as regular exception objects and not as mere integers representing the
7725 condition code. The latter approach required some dynamics to mask off
7726 severity bits, which did not fit well into the GCC table based model.
7727 (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
7728 exception data objects. We don't it and it would conflict with the other
7729 external symbol we have to generate for such exceptions.
7730
7731 * trans.c (tree_transform, case N_Exception_Handler): Remove part of
7732 the special code for VMS exceptions, since these are now represented
7733 as regular exceptions objects.
7734
7548281d
RK
77352004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7736
7737 * decl.c (debug_no_type_hash): Remove.
7738 (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
7739 * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
7740
7324bf49 77412004-03-19 Laurent Guerby <laurent@guerby.net>
dbee7ab9 7742
90afe2c9 7743 * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
dbee7ab9 7744 aggregate, allows bootstrap from 3.3 on powerpc-darwin.
90afe2c9 7745
eb34af89
RK
77462004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7747
7748 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
7749 (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
7750 (TYPE_RM_SIZE_INT): Directly use type.values.
7751 (TREE_LOOP_ID): Clean up check.
7752 * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
7753 TYPE_VALUES, not TYPE_FIELDS.
7754 * trans.c (convert_with_check): Delay access of bounds of basetype
7755 until sure is numeric.
7756
a336eaca
AC
77572004-03-18 Arnaud Charlet <charlet@act-europe.fr>
7758
7759 * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
7760
7761 Code clean up:
7762 * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
7763 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
7764 Specific.Set instead of direct call to e.g pthread_setspecific.
7765
77662004-03-18 Thomas Quinot <quinot@act-europe.fr>
7767
7768 * adaint.c: Update comments.
7769
7770 * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
7771 GNATLIB_SHARED for FreeBSD.
7772
77732004-03-18 Jose Ruiz <ruiz@act-europe.fr>
7774
7775 * init.c [VxWorks]: Do not fix the stack size for the environment task.
7776 When needed (stack checking) the stack size is retrieved
7777 from the VxWorks kernel.
7778
7779 * Makefile.in: Flag -nostdinc is required when building the run time
7780 for avoiding looking for files in the base compiler.
7781 Add the VxWorks specific version of the package body for
7782 System.Stack_checking.Operations (5zstchop.adb).
7783
7784 * Make-lang.in: Add the object file for
7785 System.Stack_Checking.Operations.
7786
7787 * Makefile.rtl: Add object file for the package
7788 System.Stack_Checking.Operations.
7789
7790 * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
7791
7792 * s-stache.ads, s-stache.adb: Move the operations related to stack
7793 checking from this package to package System.Stack_Checking.Operations.
7794 This way, stack checking operations are only linked in the final
7795 executable when using the -fstack-check flag.
7796
77972004-03-18 Doug Rupp <rupp@gnat.com>
7798
7799 * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
7800 Reorganize ifeq's.
7801
7802 * 5qsystem.ads, 5xcrtl.ads: New files.
7803
78042004-03-18 Vincent Celier <celier@gnat.com>
7805
7806 * prj.adb (Reset): Reset hash table Files_Htable
7807
7808 * prj-env.adb (Source_Paths, Object_Paths): New tables.
7809 (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
7810 the procedures Add_To_Path_File.
7811 (Set_Ada_Paths): Accumulate source and object dirs in the tables,
7812 making sure that each directory is present only once and, for object
7813 dirs, when a directory already present is added, the duplicate is
7814 removed and the directory is always put as the last in the table.
7815 Write the path files at the end of these accumulations.
7816
7817 * prj-nmsc.adb (Record_Source): Add source file name in hash table
7818 Files_Htable for all sources.
7819
7820 * prj-proc.adb (Process): Remove restrictions between not directly
7821 related extending projects.
7822
78232004-03-18 Emmanuel Briot <briot@act-europe.fr>
7824
7825 * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
7826 (Find_Sources): Minor speed optimization.
7827
7828 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
7829 parameter Trusted_Mode.
7830
78312004-03-18 Sergey Rybin <rybin@act-europe.fr>
7832
7833 * scn.adb (Determine_License): Take into account a degenerated case
7834 when the source contains only comments.
7835
78362004-03-18 Ed Schonberg <schonberg@gnat.com>
7837
7838 * sem_warn.adb (Check_References): For a warning on a selected
7839 component that does not come from source, locate an uninitialized
7840 component of the record type to produce a more precise error message.
7841
e6f69614
AC
78422004-03-15 Jerome Guitton <guitton@act-europe.fr>
7843
7844 * 3zsoccon.ads: Fix multicast options.
7845
7846 * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
7847 in the spec.
7848
78492004-03-15 Robert Dewar <dewar@gnat.com>
7850
7851 * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
7852 pragma used for a private type.
7853
7854 * lib-xref.adb (Generate_Reference): Do not generate warning if
7855 reference is in a different unit from the pragma Unreferenced.
7856
7857 * 5vtpopde.adb: Minor reformatting
7858 Fix casing of To_Task_ID
7859
7860 * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
7861 flag if we have an unchecked conversion to an access type in the same
7862 unit.
7863
78642004-03-15 Geert Bosch <bosch@gnat.com>
7865
7866 * a-ngcoty.adb (Modulus): In alternate formula for large real or
7867 imaginary parts, use Double precision throughout.
7868
7869 * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
7870 we want to be able to compile run-time with -gnata for testing, but
7871 this may also be instantiated in user code that is compiled with -gnata.
7872
78732004-03-15 Olivier Hainque <hainque@act-europe.fr>
7874
7875 * s-stalib.ads (Exception_Code): New type, to represent Import/Export
7876 codes. Having a separate type for this is useful to enforce consistency
7877 throughout the various run-time units.
7878 (Exception_Data): Use Exception_Code for Import_Code.
7879
7880 * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
7881 Natural and Integer in various places.
7882 (Register_VMS_Exception): Use Base_Code_In to compute the exception code
7883 with the severity bits masked off.
7884 (Register_VMS_Exception): Handle the additional exception data pointer
7885 argument.
7886
7887 * raise.c (_GNAT_Exception structure): Remove the handled_by_others
7888 component, now reflected by an exported accessor.
7889 (is_handled_by): New routine to compute whether the propagated
7890 occurrence matches some handler choice specification. Extracted out of
7891 get_action_description_for, and expanded to take care of the VMS
7892 specifities.
7893 (get_action_description_for): Use is_handled_by instead of an explicit
7894 complex condition to decide if the current choice at hand catches the
7895 propagated occurrence.
7896
7897 * raise.h (Exception_Code): New type for C.
7898
7899 * rtsfind.ads (RE_Id, RE_Unit_Table): Add
7900 System.Standard_Library.Exception_Code, to allow references from the
7901 pragma import/export expander.
7902
7903 * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
7904 New accessors to allow easy access to GNAT exception data
7905 characteristics.
7906 (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
7907 redundant Handled_By_Others component, helper for the personality
7908 routine which will now be able to call the appropriate exception data
7909 accessor instead.
7910
7911 * cstand.adb (Create_Standard): Adjust the type of the Import_Code
7912 component of Standard_Exception_Type to be the closest possible to
7913 Exception_Code in System.Standard_Library, that we cannot get at this
7914 point. Expand a ??? comment to notify that this type node should
7915 probably be rewritten later on.
7916
7917 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
7918 registration call to include a pointer to the exception object in the
7919 arguments.
7920
7921 * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
7922 instead of int and explicit bitmasks.
7923
79242004-03-15 Vincent Celier <celier@gnat.com>
7925
7926 * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
7927 equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
7928
7929 * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
7930 longer needed now that it is in the spec of
7931 System.Tasking.Task_Attributes.
7932
7933 * adaint.h, adaint.c: (__gnat_create_output_file): New function
7934
7935 * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
7936
7937 * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
7938
7939 * make.adb (Gnatmake): Do not check the executable suffix; it is being
7940 taken care of in Scan_Make_Arg.
7941 (Scan_Make_Arg): Add the executable suffix only if the argument
7942 following -o, in canonical case, does not end with the executable
7943 suffix. When in verbose mode and executable file name does not end
7944 with executable suffix, output the executable name, in canonical case.
7945
7946 * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
7947 to avoid warnings when instantiating Ada.Task_Attributes.
7948 Minor reformating.
7949
7950 * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
7951 in the correct order.
7952
7953 * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
7954 redirect standard output and error to a file for the invocation of the
7955 compiler, then read the file.
7956
7957 * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
7958 directory, instead of the Value.
7959 (Find_Source_Dirs): Remove useless code & comments.
7960
79612004-03-15 Ed Schonberg <schonberg@gnat.com>
7962
7963 * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
7964 tagged type is inherited, and the parent operation is not frozen yet,
7965 force generation of a freeze node for the inherited operation, so the
7966 corresponding dispatch entry is properly initialized.
7967 (Make_Predefined_Primitive_Specs): Check that return type is Boolean
7968 when looking for user-defined equality operation.
7969
7970 * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
7971 boolean when locating primitive equality of tagged component.
7972
7973 * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
7974 bit-aligned field and the right-hand side a string literal, introduce
7975 a temporary before expanding assignment into a loop.
7976
7977 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
7978 priority in full, to ensure that any expanded subepxressions of it are
7979 elaborated in the scope of the init_proc.
7980
7981 * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
7982 after object declaration, skipping over code that may have been
7983 generated for validity checks.
7984
7985 * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
7986 discriminants, ignore the known discriminants of its full view, if
7987 any, to check legality.
7988
7989 * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
7990 component if type has unknown discriminants.
7991 (Analyze_Private_Extension_Declaration): Discriminant constraint is
7992 null if type has unknown discriminants.
7993
7994 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
7995 for end label when present.
7996
7997 * s-fileio.adb (Open): When called with a C_Stream, use given name for
7998 temporary file, rather than an empty string.
7999
80002004-03-15 Ed Falis <falis@gnat.com>
8001
8002 * s-thread.adb: Removed, no longer used.
8003
80042004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8005
8006 * decl.c (target.h): Now include.
8007 (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
8008 in new build_pointer_from_mode calls for non-fat/non-thin pointer.
8009 (validate_size): For POINTER_TYPE, get smallest size permitted on
8010 machine.
8011
8012 * fe.h: Sort Einfo decls and add Set_Mechanism.
8013
8014 * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
8015 (ada/decl.o): Depends on target.h.
8016
8017 * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
8018 FUNCTION_BOUNDARY; always use TYPE_ALIGN.
8019
80202004-03-15 Thomas Quinot <quinot@act-europe.fr>
8021
8022 * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
8023
8024 * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
8025 Insert_Dereference_Action when rewriting an implicit dereference into
8026 an explicit one, this will be taken care of during expansion of the
8027 explicit dereference.
8028 (Expand_N_Slice): Same. Always do the rewriting, even for the case
8029 of non-packed slices, since the dereference action generated by
8030 expansion of the explicit dereference is needed in any case.
8031 (Expand_N_Selected_Component): When rewriting an implicit dereference,
8032 analyze and resolve the rewritten explicit dereference so it is seen
8033 by the expander.
8034 (Insert_Dereference_Action): This procedure is now called only for the
8035 expansion of an N_Explcit_Dereference_Node. Do insert a check even for
8036 dereferences that do not come from source (including explicit
8037 dereferences resulting from rewriting implicit ones), but do not
8038 recursively insert a check for the dereference nodes contained within
8039 the check.
8040 (Insert_Dereference_Action): Clarify and correct comment.
8041
e4c9c075
PB
80422004-03-08 Paolo Bonzini <bonzini@gnu.org>
8043
8044 PR ada/14131
8045 Move language detection to the top level.
8046 * config-lang.in: Build by default.
8047
8a6a52dc
AC
80482004-03-05 Robert Dewar <dewar@gnat.com>
8049
8050 * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
8051
8052 * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
8053 i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
90afe2c9 8054 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
8a6a52dc
AC
8055 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
8056 unchecked conversion to spec to avoid warnings.
8057
8058 * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
8059 to Task_ID
8060
8061 * 7stpopsp.adb: Correct casing in To_Task_ID call
8062
8063 * a-strsea.ads, a-strsea.adb: Minor reformatting
8064
8065 * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
8066
8067 * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
8068 Adjust Max_Msg_Length to be clearly large enough.
8069
8070 * fe.h: Define In_Same_Source_Unit
8071
8072 * osint.adb: Add pragma Warnings Off to suppress warnings
8073 * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
8074 aliasing warnings.
8075
8076 * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
8077
8078 * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
8079
8080 * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
8081
8082 * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
8083
8084 * sem_prag.adb: Implement pragma No_Strict_Aliasing.
8085
8086 * sinfo.ads: Remove obsolete comment on validate unchecked conversion
8087 node. We now do generate them for gcc back end.
8088
8089 * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
8090 warning.
8091
8092 * sinput-c.adb: Fix bad name in header.
8093 Add pragma Warnings Off to suppress aliasing warning.
8094
8095 * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
8096
8097 * snames.h, snames.ads, snames.adb: Add entry for pragma
8098 No_Strict_Aliasing.
8099
81002004-03-05 Vincent Celier <celier@gnat.com>
8101
8102 * prj-com.ads: Add hash table Files_Htable to check when a file name
8103 is already a source of another project.
8104
8105 * prj-nmsc.adb (Record_Source): Before recording a new source, check
8106 if its file name is not already a source of another project. Report an
8107 error if it is.
8108
8109 * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
8110 source file name, call gnatpp with all the sources of the main project.
8111
8112 * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
8113 of file names.
8114
8115 * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
8116 NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
8117 /RUNTIME_SYSTEM=, converted to --RTS=
8118 /NOTABS, converted to -notabs
8119
81202004-03-05 Pascal Obry <obry@gnat.com>
8121
8122 * make.adb: Minor reformatting.
8123
81242004-03-05 Ed Schonberg <schonberg@gnat.com>
8125
8126 Part of implemention of AI-262.
8127 * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
8128
8129 * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
8130 procedure.
8131
8132 * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
8133 when component type is a partially constrained class-wide subtype.
8134 (Constrain_Discriminated_Type): If parent type has unknown
8135 discriminants, a constraint is illegal, even if full view has
8136 discriminants.
8137 (Build_Derived_Record_Type): Inherit discriminants when deriving a type
8138 with unknown discriminants whose full view is a discriminated record.
8139
8140 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
8141 flag, to handle properly derivations of tagged types with unknown
8142 discriminants.
8143 (Analyze_Package_Spec, Analyze_Package_Body): Install
8144 Private_With_Clauses before analyzing private part or body.
8145
8146 * einfo.ads: Indicate that both Has_Unknown_Discriminants and
8147 Has_Discriminants can be true for a given type (documentation).
8148
81492004-03-05 Arnaud Charlet <charlet@act-europe.fr>
8150
8151 * s-restri.ads: Fix license (GPL->GMGPL).
8152
8153 * s-tassta.adb: Minor reformatting.
8154
8155 * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
8156 by calls to Exit_One_ATC_Level, since additional clean up is performed
8157 by this function.
8158
8159 * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
8160 by calls to Exit_One_ATC_Level, since additional clean up is performed
8161 by this function.
8162
81632004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8164
8165 * trans.c: Reflect GCC changes to fix bootstrap problem.
8166 Add warning for suspicious aliasing unchecked conversion.
8167
81682004-03-05 GNAT Script <nobody@gnat.com>
8169
8170 * Make-lang.in: Makefile automatically updated
8171
555360a5
AC
81722004-03-02 Emmanuel Briot <briot@act-europe.fr>
8173
8174 * ali.adb (Read_Instantiation_Instance): Do not modify the
8175 current_file_num when reading information about instantiations, since
8176 this corrupts files in later references.
8177
81782004-03-02 Vincent Celier <celier@gnat.com>
8179
8180 * bcheck.adb (Check_Consistency): Get the full path of an ALI file
8181 before checking if it is read-only.
8182
8183 * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
8184 of SRC_DIRS and eliminate duplicates.
8185
8186 * gprcmd.adb: Replace command "path" with command "path_sep" to return
8187 the path separator.
8188 (Usage): Document path_sep
8189
8190 * Makefile.generic: For Ada and GNU C++ cases, link directly with the
8191 C++ compiler. No need for a script.
8192 Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
8193 Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
8194 subst.
8195
8196 * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
8197 where there are Ada sources.
8198 (Set_Ada_Paths): Only add to the include path the source dirs of project
8199 with Ada sources.
8200 (Add_To_Path): Add the Display_Values of the directories, not their
8201 Values.
8202
8203 * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
8204 data.
8205
8206 * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
8207 is not No_Name.
8208 (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
8209 Value is canonicalized.
8210 (Language_Independent_Check): Do not copy Value to Display_Value when
8211 canonicalizing Value.
8212
8213 * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
8214 path to find limited with cycles.
8215 (Parse_Single_Project): Use canonical cased path to find the end of a
8216 with cycle.
8217
82182004-03-02 Ed Schonberg <schonberg@gnat.com>
8219
8220 * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
8221 and not a child unit.
8222
8223 * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
8224 appear in a with_clause.
8225
8226 * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
8227 only happen in type_annotate mode, do not try to elaborate it.
8228
8229 * exp_util.adb (Force_Evaluation): If expression is a selected
8230 component on the left of an assignment, use a renaming rather than a
8231 temporary to remove side effects.
8232
8233 * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
8234 inlined instance body, which is analyzed before the end of the
8235 enclosing scope.
8236
82372004-03-02 Robert Dewar <dewar@gnat.com>
8238
8239 * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
8240 sem_ch4.adb: Use new feature for substitution of keywords in VMS
8241
8242 * errout.ads, errout.adb: Implement new circuit for substitution of
8243 keywords in VMS.
8244
8245 * sem_case.adb (Analyze_Choices): Place message properly when case is
8246 a subtype reference rather than an explicit range.
8247
8248 * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
8249
82502004-03-02 Doug Rupp <rupp@gnat.com>
8251
8252 * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
8253
82542004-03-02 Thomas Quinot <quinot@act-europe.fr>
8255
8256 * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
8257
82582004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8259
8260 * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
8261 BLKmode bitfield.
8262
8a7988f5
AC
82632004-02-25 Robert Dewar <dewar@gnat.com>
8264
8265 * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
8266 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
8267 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
8268 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
8269 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
8270 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
8271 the defining instance of the type to avoid aliasing problems.
8272 Fix copyright header. Fix bad comments in package header.
8273
8274 * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
8275
82762004-02-25 Ed Schonberg <schonberg@gnat.com>
8277
8278 * exp_ch2.adb (Param_Entity): Handle properly formals that have been
8279 rewritten as references when aliased through an address clause.
8280
8281 * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
8282 whether call can be interpreted as an indirect call to the result of a
8283 parameterless function call returning an access subprogram.
8284
82852004-02-25 Arnaud Charlet <charlet@act-europe.fr>
8286
8287 Code clean up:
8288 * exp_ch7.adb (Make_Clean): Remove generation of calls to
8289 Unlock[_Entries], since this is now done by Service_Entries directly.
8290
8291 * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
8292
8293 * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
8294 Requeue_Call for better code readability. Change spec and update calls:
8295 PO_Service_Entries now unlock the PO on exit.
8296 (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
8297 PO_Service_Entries.
8298
8299 * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
8300
8301 * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
8302
83032004-02-25 Sergey Rybin <rybin@act-europe.fr>
8304
8305 * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
8306 protected subprogram call and analyzing the result of such expanding
8307 in case when the called protected subprogram is eliminated.
8308
8309 * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
8310 names.
8311
83122004-02-25 Jerome Guitton <guitton@act-europe.fr>
8313
8314 * Makefile.in: Clean ups.
8315
6871ba5f
AC
83162004-02-23 Ed Schonberg <schonberg@gnat.com>
8317
8318 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
8319 protected operations if original subprogram is flagged as eliminated.
8320 (Expand_N_Subprogram_Body): For a protected operation, create
8321 discriminals for next operation before checking whether the operation
8322 is eliminated.
8323
8324 * exp_ch9.adb (Expand_N_Protected_Body,
8325 Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
8326 for internal protected operations if the original subprogram is
8327 eliminated.
8328
8329 * sem_elim.adb (Check_Eliminated): Handle properly protected operations
8330 declared in a single protected object.
8331
83322004-02-23 Vincent Celier <celier@gnat.com>
8333
8334 * prj-attr.adb: Make attribute Builder'Executable an associative array,
8335 case insensitive if file names are case insensitive, instead of a
8336 standard associative array.
8337
8338 * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
8339 them as case insensitive on platforms where the file names are case
8340 sensitive.
8341
8342 * prj-part.adb (Parse_Single_Project): Make sure, when checking if
8343 project file has already been parsed that canonical path are compared.
8344
83452004-02-23 Robert Dewar <dewar@gnat.com>
8346
8347 * sinput-c.ads: Correct bad unit title in header
8348
8349 * freeze.adb: Minor reformatting
8350
83512004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8352
8353 * trans.c (tree_transform, case N_Procedure_Call_Statement): For
8354 nonaddressable COMPONENT_REF that is removing padding that we are
8355 taking the address of, take the address of the padded record instead
8356 if item is variable size.
8357
6e059adb
AC
83582004-02-20 Robert Dewar <dewar@gnat.com>
8359
8360 * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
8361
83622004-02-20 Ed Schonberg <schonberg@gnat.com>
8363
8364 * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
8365 itype references for the constrained designated type of a component
8366 whose base type is already frozen.
8367
83682004-02-20 Arnaud Charlet <charlet@act-europe.fr>
8369
8370 * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
8371 avoid GCC warnings.
8372
83732004-02-20 Sergey Rybin <rybin@act-europe.fr>
8374
8375 * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
8376 identifier for a phantom package that rewrites the formal package
8377 declaration with a box. The Add semantic decorations for the defining
8378 identifier from the original node (that represents the formal package).
8379
88e3a2a3
MK
83802004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
8381
8382 * Make-lang.in (ada/stamp-sdefault): Use the top level
8383 move-if-change.
8384
4221057e
RH
83852004-02-19 Richard Henderson <rth@redhat.com>
8386
8387 * misc.c (record_code_position): Add third build arg for RTL_EXPR.
8388
5c1c8a03
AC
83892004-02-18 Emmanuel Briot <briot@act-europe.fr>
8390
8391 * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
8392 Scan_ALI can be used for multiple ALI files without reinitializing
8393 between calls.
8394
83952004-02-18 Robert Dewar <dewar@gnat.com>
8396
8397 * debug.adb: Minor reformatting.
8398
83992004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8400
8401 * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
8402 to zero if there is an address clause.
8403
84042004-02-18 Thomas Quinot <quinot@act-europe.fr>
8405
8406 * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
8407
84082004-02-18 Gary Dismukes <dismukes@gnat.com>
8409
8410 * layout.adb (Layout_Component_List): Revise generation of call to
8411 discriminant-checking function to pass selections of all of the type's
8412 discriminants rather than just the variant-controlling discriminant.
8413
84142004-02-18 Olivier Hainque <hainque@act-europe.fr>
8415
8416 * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
8417 fail in the current setup and triggers spurious system error messages.
8418 Pretend it occurred and failed instead.
8419
84202004-02-18 Vincent Celier <celier@gnat.com>
8421
8422 * bld.adb: Mark FLDFLAGS as saved
8423 (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
8424 it is not the root project. Put each directory to be
8425 extended between double quotes to prevent it to be expanded on Windows.
8426 (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
8427 the project file. Set them back to their initial values if they have not
8428 been set in the project file.
8429
8430 * gprcmd.adb: (Gprdebug, Debug): New global variables
8431 (Display_Command): New procedure
8432 (Usage): Document new command "linkopts"
8433 Call Display_Command when env var GPRDEBUG has the value "TRUE"
8434 Implement new command "linkopts"
8435 Remove quotes that may be around arguments for "extend"
8436 Always call Normalize_Pathname with arguments formatted for the platform
8437
8438 * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
8439 Change @echo to @$(display) in target clean to be able to clean silently
8440
8441 * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
8442
8443 * prj-part.adb (Project_Path_Name_Of): Do not put final result in
8444 canonical case.
8445
8446 * prj-part.adb (Parse_Single_Project): Always call with From_Extended
8447 = Extending_All when current project is an extending all project.
8448
8449 * vms_conv.adb (Output_File_Expected): New Boolean global variable,
8450 set to True only for LINK command, after Unix switch -o.
8451 (Process_Arguments): Set Output_File_Expected to True for LINK command
8452 after Unix switch -o. When Output_File_Expected is True, never add an
8453 extension to a file name.
8454
8455 * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
8456 option file name, only to the --for-linker= switch.
8457 (Option_File_Name): If option file name do not end with ".opt", append
8458 "/OPTIONS".
8459
84602004-02-18 GNAT Script <nobody@gnat.com>
8461
8462 * Make-lang.in: Makefile automatically updated
8463
80bcb4d2
MK
84642004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
8465
8466 * Make-lang.in (stamp-sdefault): Do not depend on
8467 move-if-change.
8468
1daa84b6
ZW
84692004-02-12 Zack Weinberg <zack@codesourcery.com>
8470
8471 * config-lang.in: Disable Ada by default until probe logic for
8472 a bootstrap Ada compiler can be moved to the top level configure
8473 script.
8474
18c0ecbe
AC
84752004-02-12 Olivier Hainque <hainque@act-europe.fr>
8476
8477 * decl.c (components_to_record): Don't claim that the internal fields
8478 we make to hold the variant parts are semantically addressable, because
8479 they are not.
8480
8481 * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
8482 adjust the comment describing the modular type form when we can use it.
8483 (Install_PAT): Account for the Esiz renaming.
8484
8485 * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
8486 sc_onstack context indication before raising the exception to which
8487 the signal is mapped. Allows better handling of later signals possibly
8488 triggered by the resumed user code if the exception is handled.
8489
84902004-02-12 Arnaud Charlet <charlet@act-europe.fr>
8491
8492 * 5zinit.adb: Removed, no longer used.
8493
84942004-02-12 Robert Dewar <dewar@gnat.com>
8495
8496 * ali.adb: Remove separating space between parameters on R line. Makes
8497 format consistent with format used by the binder for Set_Globals call.
8498
8499 * atree.ads, atree.adb: Minor reformatting (new function header format)
8500
8501 * bindgen.adb: Add Run-Time Globals documentation section containing
8502 detailed documentation of the globals passed from the binder file to
8503 the run time.
8504
8505 * gnatls.adb: Minor reformatting
8506
8507 * init.c (__gnat_set_globals): Add note pointing to documentation in
8508 bindgen.
8509
8510 * lib-writ.ads, lib-writ.adb: Remove separating space between
8511 parameters on R line.
8512 Makes format consistent with format used by the binder for Set_Globals
8513 call.
8514
8515 * osint.ads: Add 2004 to copyright notice
8516 Minor reformatting
8517
8518 * snames.ads: Correct capitalization of FIFO_Within_Priorities
8519 Noticed during code reading, documentation issue only
8520
8521 * usage.adb: Remove junk line for obsolete C switch
8522 Noticed during code reading
8523
85242004-02-12 Vincent Celier <celier@gnat.com>
8525
8526 * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
8527 extend for each directory, so that multiple /** directories are
8528 extended individually.
8529 (Recursive_Process): Set the default for LANGUAGES to ada
8530
8531 * gprcmd.adb: Define new command "ignore", to do nothing.
8532 Implement new comment "path".
8533
8534 * Makefile.generic: Suppress output when SILENT is set
8535 Make sure that when compiler for C/C++ is gcc, the correct -x switch is
8536 used, so that the correct compiler is invoked.
8537 When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
8538 CXX_INCLUDE_PATH, to avoid failure with too long command lines.
8539
85402004-02-12 Jerome Guitton <guitton@act-europe.fr>
8541
8542 * Makefile.in: Clean ups and remove obsolete targets.
8543
85442004-02-12 Ed Schonberg <schonberg@gnat.com>
8545
8546 * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
8547 predicate declared in exp_util.
8548
8549 * exp_util.adb: Add comments.
8550
8551 * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
8552 visibility before compiling context of the subunit.
8553
8554 * sem_res.adb (Check_Parameterless_Call): If the context expects a
8555 value but the name is a procedure, do not attempt to analyze as a call,
8556 in order to obtain more telling diagnostics.
8557
8558 * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
8559 'Access on parameterless function calls.
8560 (Normalize_Actuals): For a parameterless function call with missing
8561 actuals, defer diagnostic until resolution of enclosing call.
8562
8563 * sem_util.adb (Wrong_Type): If the context type is an access to
8564 subprogram and the expression is a procedure name, suggest a missing
8565 'attribute.
8566
c1dcfa14
AC
85672004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
8568 Nathanael Nerode <neroden@gcc.gnu.org>
8569
8570 PR ada/6637, PR ada/5911
8571 Merge with libada-branch:
90afe2c9 8572 * config-lang.in: Build libada only when ada is built.
c1dcfa14 8573
2e071734
AC
85742004-02-09 Ed Schonberg <schonberg@gnat.com>
8575
8576 * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
8577 for a tagged type, verify that both formals have the same type.
8578
8579 * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
8580 temporary when the formal is an in-parameter and the actual a possibly
8581 unaligned slice.
8582
8583 * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
8584 when expansion is disabled, to ensure proper name capture with
8585 overloaded literals. Condition can be of any boolean type, resolve
8586 accordingly.
8587
8588 * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
8589 renaming is for a formal subprogram with a default operator name, and
8590 there is a usable operator that is visible at the point of
8591 instantiation.
8592
85932004-02-09 Robert Dewar <dewar@gnat.com>
8594
8595 * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
8596 rewrite to ignore errors in ali files, intended to allow tools downward
8597 compatibility with new versions of ali files.
8598
8599 * ali.ads: Add new parameter Ignore_Errors
8600
8601 * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
8602 duplicating the error message giving the file with restrictions.
8603
8604 * debug.adb: Add debug flag I for gnatbind
8605
8606 * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
8607 operators for the case where the operator is a defining operator.
8608
8609 * exp_ch3.adb: Minor reformatting (new function spec format).
8610
8611 * exp_ch4.adb: Add comment for previous change, and make minor
8612 adjustment to loop to always check for improper loop termination.
8613 Minor reformatting throughout (new function spec format).
8614
8615 * gnatbind.adb: Implement -di debug flag for gnatbind
8616
8617 * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
8618
8619 * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
8620
8621 * lib-load.adb: Fix bad assertion.
8622 Found by testing and code reading.
8623 Minor reformatting.
8624
8625 * lib-load.ads: Minor reformatting.
8626
8627 * lib-writ.adb: There is only one R line now.
8628
8629 * lib-writ.ads: Add documentation on making downward compatible changes
8630 to ali files so old tools work with new ali files.
8631 There is only one R line now.
8632 Add documentation on format incompatibilities (with special GPS note)
8633
8634 * namet.ads, namet.adb: (Is_Operator_Name): New procedure
8635
8636 * par-load.adb: Minor reformatting
8637
8638 * sem_ch8.adb: Fix to error message from last update
8639 Minor reformatting and restructuring of code from last update
8640
8641 * par-prag.adb, snames.adb, snames.ads, snames.h,
8642 sem_prag.adb: Implement pragma Profile.
8643
8644 * stylesw.adb: Implement -gnatyN switch to turn off all style check
8645 options.
8646
8647 * usage.adb: Add line for -gnatyN switch
8648
8649 * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
8650
a41ea816
AC
86512004-02-09 Albert Lee <lee@gnat.com>
8652
8653 * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
8654
86552004-02-09 Ed Schonberg <schonberg@gnat.com>
8656
8657 * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
8658 slices.
8659
8660 * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
8661 is nested in an instance that is not frozen yet, to avoid
8662 order-of-elaboration problems in gigi.
8663
8664 * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
8665 body the attribute is legal.
8666
86672004-02-09 Robert Dewar <dewar@gnat.com>
8668
8669 * s-rident.ads: Minor comment correction
8670
8671 * targparm.adb: Remove dependence on uintp completely. There was
8672 always a bug in Make in that it called Targparm before initializing
8673 the Uint package. The old code appeared to get away with this, but
8674 the new code did not! This caused an assertion error in gnatmake.
8675
8676 * targparm.ads: Fix bad comment, restriction pragmas with parameters
8677 are indeed fully supported.
8678
725c60f8
AM
86792004-02-06 Alan Modra <amodra@bigpond.net.au>
8680
8681 * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
8682
136e64db
KH
86832004-02-05 Kazu Hirata <kazu@cs.umass.edu>
8684
8685 * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
8686 with targetm.calls.promote_prototypes.
8687
06effe87
AC
86882004-02-04 Robert Dewar <dewar@gnat.com>
8689
8690 * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
8691 ali.ads, gprcmd.adb: Minor reformatting
8692
8693 * bindgen.adb: Output restrictions string for new style restrictions
8694 handling
8695
8696 * impunit.adb: Add s-rident.ads (System.Rident) and
8697 s-restri (System.Restrictions)
8698
8699 * lib-writ.adb: Fix bug in writing restrictions string (last few
8700 entries wrong)
8701
8702 * s-restri.ads, s-restri.adb: Change name Restrictions to
8703 Run_Time_Restrictions to avoid conflict with package name.
8704 Add circuit to read and acquire run time restrictions.
8705
87062004-02-04 Jose Ruiz <ruiz@act-europe.fr>
8707
8708 * restrict.ads, restrict.adb: Use the new restriction
8709 No_Task_Attributes_Package instead of the old No_Task_Attributes.
8710
8711 * sem_prag.adb: No_Task_Attributes is a synonym of
8712 No_Task_Attributes_Package.
8713
8714 * snames.ads, snames.adb: New entry for proper handling of
8715 No_Task_Attributes.
8716
8717 * s-rident.ads: Adding restriction No_Task_Attributes_Package
8718 (AI-00249) that supersedes the GNAT specific restriction
8719 No_Task_Attributes.
8720
87212004-02-04 Ed Schonberg <schonberg@gnat.com>
8722
90afe2c9 8723 * sem_prag.adb:
06effe87
AC
8724 (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
8725 body, an identifier may be wrapped in an unchecked conversion.
8726
87272004-02-04 Vincent Celier <celier@gnat.com>
8728
8729 * lib-writ.ads: Comment update for the W lines
8730
8731 * bld.adb: (Expression): An empty string list is static
8732
8733 * fname-uf.adb: Minor comment update
8734
8735 * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
8736
8737 * gnatbind.adb: Initialize Cumulative_Restrictions with the
8738 restrictions on the target.
8739
2fb00d7f
KH
87402004-02-03 Kazu Hirata <kazu@cs.umass.edu>
8741
8742 * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
8743 gen_rtx.
8744
5ed23e25
AC
87452004-02-02 Arnaud Charlet <charlet@gnat.com>
8746
8747 * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
8748
6e937c1c
AC
87492004-02-02 Vincent Celier <celier@gnat.com>
8750
8751 * gprcmd.adb (Check_Args): If condition is false, print the invoked
8752 comment before the usage.
8753 Gprcmd: Fail when command is not recognized.
8754 (Usage): Document command "prefix"
8755
8756 * g-md5.adb (Digest): Process last block.
8757 (Update): Do not process last block. Store remaining characters and
8758 length in Context.
8759
8760 * g-md5.ads (Update): Document that several call to update are
8761 equivalent to one call with the concatenated string.
8762 (Context): Add fields to allow new Update behaviour.
8763
8764 * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
8765 defaulted to False.
8766 When May_Fail is True and no existing file can be found, return No_File.
8767
8768 * 6vcstrea.adb: Inlined functions are now wrappers to implementation
8769 functions.
8770
8771 * lib-writ.adb (Write_With_Lines): When body file does not exist, use
8772 spec file name instead on the W line.
8773
87742004-02-02 Robert Dewar <dewar@gnat.com>
8775
8776 * ali.adb: Read and acquire info from new format restrictions lines
8777
8778 * bcheck.adb: Add circuits for checking restrictions with parameters
8779
8780 * bindgen.adb: Output dummy restrictions data
8781 To be changed later
8782
8783 * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
8784 exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
8785 freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
8786 sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
8787 sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
8788
8789 * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
8790 the warning message on access to possibly uninitialized variable S)
8791 Minor changes for new restrictions handling.
8792
8793 * gnatbind.adb: Minor reformatting
8794 Minor changes for new restrictions handling
8795 Move circuit for -r processing here from bcheck (cleaner)
8796
8797 * gnatcmd.adb, gnatlink.adb: Minor reformatting
8798
8799 * lib-writ.adb: Output new format restrictions lines
8800
8801 * lib-writ.ads: Document new R format lines for new restrictions
8802 handling.
8803
8804 * s-restri.ads/adb: New files
8805
8806 * Makefile.rtl: Add entry for s-restri.ads/adb
8807
8808 * par-ch3.adb: Fix bad error messages starting with upper case letter
8809 Minor reformatting
8810
8811 * restrict.adb: Major rewrite throughout for new restrictions handling
8812 Major point is to handle restrictions with parameters
8813
8814 * restrict.ads: Major changes in interface to handle restrictions with
8815 parameters. Also generally simplifies setting of restrictions.
8816
8817 * snames.ads/adb: New entry for proper handling of No_Requeue
8818
8819 * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
8820 restriction counting.
8821 Other minor changes for new restrictions handling
8822
8823 * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
8824 Restriction_Warnings now allows full parameter notation
8825 Major rewrite of Restrictions for new restrictions handling
8826
88272004-02-02 Javier Miranda <miranda@gnat.com>
8828
8829 * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
8830 syntax rule for object renaming declarations.
8831 (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
8832 component definitions.
8833
8834 * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
8835 components.
8836 (Array_Type_Declaration): Give support to access components. In addition
8837 it was also modified to reflect the name of the object in anonymous
8838 array types. The old code did not take into account that it is possible
8839 to have an unconstrained anonymous array with an initial value.
8840 (Check_Or_Process_Discriminants): Allow access discriminant in
8841 non-limited types.
8842 (Process_Discriminants): Allow access discriminant in non-limited types
8843 Initialize the new Access_Definition field in N_Object_Renaming_Decl
8844 node. Change Ada0Y to Ada 0Y in comments
8845
8846 * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
8847 equality operators.
8848 Change Ada0Y to Ada 0Y in comments
8849
8850 * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
8851 renamings Change Ada0Y to Ada 0Y in comments
8852
8853 * sem_type.adb (Find_Unique_Type): Give support to the equality
8854 operators for universal access types
8855 Change Ada0Y to Ada 0Y in comments
8856
8857 * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
8858
8859 * sinfo.ads (N_Component_Definition): Addition of Access_Definition
8860 field.
8861 (N_Object_Renaming_Declaration): Addition of Access_Definition field
8862 Change Ada0Y to Ada 0Y in comments
8863
8864 * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
8865 component definition and object renaming nodes
8866 Change Ada0Y to Ada 0Y in comments
8867
88682004-02-02 Jose Ruiz <ruiz@act-europe.fr>
8869
8870 * restrict.adb: Use the new restriction identifier
8871 No_Requeue_Statements instead of the old No_Requeue for defining the
8872 restricted profile.
8873
8874 * sem_ch9.adb (Analyze_Requeue): Check the new restriction
8875 No_Requeue_Statements.
8876
8877 * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
8878 that supersedes the GNAT specific restriction No_Requeue. The later is
8879 kept for backward compatibility.
8880
88812004-02-02 Ed Schonberg <schonberg@gnat.com>
8882
8883 * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
8884 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
8885 pragma and fix incorrect ones.
8886
8887 * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
8888 warning if the pragma is redundant.
8889
88902004-02-02 Thomas Quinot <quinot@act-europe.fr>
8891
8892 * 5staprop.adb: Add missing 'constant' keywords.
8893
8894 * Makefile.in: use consistent value for SYMLIB on
8895 platforms where libaddr2line is supported.
8896
88972004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8898
8899 * utils.c (end_subprog_body): Do not call rest_of_compilation if just
8900 annotating types.
8901
89022004-02-02 Olivier Hainque <hainque@act-europe.fr>
8903
8904 * init.c (__gnat_install_handler): Setup an alternate stack for signal
8905 handlers in the environment thread. This allows proper propagation of
8906 an exception on stack overflows in this thread even when the builtin
8907 ABI stack-checking scheme is used without support for a stack reserve
8908 region.
8909
8910 * utils.c (create_field_decl): Augment the head comment about bitfield
8911 creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
8912 here, because the former is not accurate enough at this point.
8913 Let finish_record_type decide instead.
8914 Don't make a bitfield if the field is to be addressable.
8915 Always set a size for the field if the record is packed, to ensure the
8916 checks for bitfield creation are triggered.
8917 (finish_record_type): During last pass over the fields, clear
8918 DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
8919 not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
8920 from DECL_BIT_FIELD.
8921
71cbe2c1
KC
89222004-01-30 Kelley Cook <kcook@gcc.gnu.org>
8923
90afe2c9 8924 * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
71cbe2c1
KC
8925 (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
8926 (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
8927
7f996f90
RO
89282004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8929
8930 * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
8931
8932 * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
8933 (ZCX_By_Default): Likewise.
8934 (Front_End_ZCX_Support): Likewise.
8935
8936 * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
8937 (Initialize_Lock): Mark Level unreferenced.
8938 (Sleep): Mark Reason unreferenced.
8939 (Timed_Sleep): Likewise.
8940 (Wakeup): Likewise.
8941 (Exit_Task): Use Result.
8942 (Check_No_Locks): Mark Self_ID unreferenced.
90afe2c9 8943
7f996f90
RO
8944 * 5gtasinf.adb (New_Sproc): Make Attr constant.
8945 (Bound_Thread_Attributes): Make Sproc constant.
8946 (New_Bound_Thread_Attributes): Likewise.
8947
26fd4eae
AC
89482004-01-26 Ed Schonberg <schonberg@gnat.com>
8949
8950 * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
8951 one-dimensional array an slice assignments, when component type is
8952 controlled.
8953
8954 * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
8955 component type is controlled, and control_actions are in effect, use
8956 TSS procedure rather than generating inline code.
8957
8958 * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
8959 arrays with controlled components.
8960
89612004-01-26 Vincent Celier <celier@gnat.com>
8962
8963 * gnatcmd.adb (GNATCmd): Add specification of argument file on the
8964 command line for the non VMS case.
8965
8966 * gnatlink.adb (Process_Binder_File): When building object file, if
8967 GNU linker is used, put all object paths between quotes, to prevent ld
8968 error when there are unusual characters (such as '!') in the paths.
8969
8970 * Makefile.generic: When there are sources in Ada and the main is in
8971 C/C++, invoke gnatmake with -B, instead of -z.
8972
8973 * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
8974 from VMS_Conversion.
8975 (Process_Argument): New procedure, extracted from VMS_Conversion. Add
8976 specification of argument file on the command line.
8977
89782004-01-26 Bernard Banner <banner@gnat.com>
8979
8980 * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
8981
89822004-01-26 Ed Schonberg <schonberg@gnat.com>
8983
8984 * snames.adb: Update copyright notice.
8985 Add info on slice assignment for controlled arrays.
8986
b7e429ab
AC
89872004-01-23 Robert Dewar <dewar@gnat.com>
8988
8989 * exp_aggr.adb: Minor reformatting
8990
8991 * exp_ch9.adb: Minor code clean up
8992 Minor reformatting
8993 Fix bad character in comment
8994
8995 PR ada/13471
8996 * targparm.adb (Get_Target_Parameters): Give clean abort error on
8997 unexpected end of file, along with more detailed message.
8998
89992004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9000
9001 * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
9002 PAT.
9003
9004 * decl.c (copy_alias_set): New function.
9005 (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
9006
90072004-01-23 Doug Rupp <rupp@gnat.com>
9008
9009 * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
9010 lib$${file} in case subsequent character is not a separator.
9011
90122004-01-23 Vincent Celier <celier@gnat.com>
9013
9014 * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
9015 when the GCC version is at least 3.
9016
9017 * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
9018 Remove all "Opt.", to prepare for opt split
9019
9020 * prj-part.adb (Parse_Single_Project): New Boolean out parameter
9021 Extends_All. Set to True when the project parsed is an extending all
9022 project. Fails for importing an extending all project only when the
9023 imported project is an extending all project.
9024 (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
9025 depending on the value of Extends_All returned.
9026
9027 * prj-proc.adb (Process): Check that no project shares its object
9028 directory with a project that extends it, directly or indirectly,
9029 including a virtual project.
9030 Check that no project extended by another project shares its object
9031 directory with another also extended project.
9032
9033 * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
9034 Kind = N_With_Clause
9035
9036 * prj-tree.ads: Minor reformatting
9037 Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
9038
90392004-01-23 Ed Schonberg <schonberg@gnat.com>
9040
9041 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
9042 applies to a type with an incomplete view, use full view in Name of
9043 clause, for consistency with uses of Get_Attribute_Definition_Clause.
9044
90452004-01-23 Arnaud Charlet <charlet@act-europe.fr>
9046
9047 * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
9048 SCHED_RR, since other values are not supported by this policy.
9049 (Initialize): Move initialization of mutex attribute to package
9050 elaboration, to prevent early access to this variable.
9051
9052 * Makefile.in: Remove mention of Makefile.adalib, unused.
9053
b291953f
AC
9054 * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
9055 1ssecsta.ads: Removed, unused.
b7e429ab 9056
adc04486
AC
90572004-01-21 Javier Miranda <miranda@gnat.com>
9058
9059 * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
9060 entity if already built in the current scope.
9061
9062 * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
9063 reminder in internal scopes. Required for nested limited aggregates.
9064
90652004-01-21 Doug Rupp <rupp@gnat.com>
9066
9067 * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
9068 VMS. Replace all occurences of libgnat- and libgnarl- with
9069 libgnat$(hyphen) and libgnarl$(hyphen).
9070 Fixed shared library build problem on VMS.
9071
90722004-01-21 Robert Dewar <dewar@gnat.com>
9073
9074 * mlib-prj.adb: Minor reformatting
9075
90762004-01-21 Thomas Quinot <quinot@act-europe.fr>
9077
9078 * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
9079 'constant' keywords for declaration of pointers that are not modified.
9080
9081 * exp_pakd.adb: Fix English in comment.
9082
90832004-01-21 Ed Schonberg <schonberg@gnat.com>
9084
9085 PR ada/10889
9086 * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
9087 copy all attributes of the parent, including the foreign language
9088 convention.
9089
90902004-01-21 Sergey Rybin <rybin@act-europe.fr>
9091
9092 PR ada/10565
9093 * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
9094 for 'delay until' statement.
9095
a541f69d
KC
90962004-01-20 Kelley Cook <kcook@gcc.gnu.org>
9097
9098 * Make-lang.in: Replace $(docdir) with doc.
9099 (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
9100 doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
9101 to use consistent MAKEINFO rule.
9102 (ada.man, ada.srcman): Dummy entry.
9103 (ADA_INFOFILES): Define.
9104 (ada.info, ada.srcinfo): New rules.
9105
c01a9391
AC
91062004-01-19 Arnaud Charlet <charlet@act-europe.fr>
9107
9108 * utils.c: Update copyright notice, missed in previous change.
9109
91102004-01-19 Vincent Celier <celier@gnat.com>
9111
9112 * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
9113 args if Bind is True. Set First_ALI, if not already done.
9114 (Build_Library): For Stand Alone Libraries, extract from one ALI file
9115 an eventual --RTS switch, for gnatbind, and all backend switches +
9116 --RTS, for linking.
9117
91182004-01-19 Robert Dewar <dewar@gnat.com>
9119
9120 * sem_attr.adb, memtrack.adb: Minor reformatting
9121
91222004-01-19 Ed Schonberg <schonberg@gnat.com>
9123
9124 * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
9125 that rename enumeration literals. This is properly done in sem_eval.
9126
9127 * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
9128 to functions that rename enumeration literals.
9129
9130 * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
9131 functions that rename enumeration literals.
9132
510d1e80
KH
91332004-01-16 Kazu Hirata <kazu@cs.umass.edu>
9134
9135 * Make-lang.in (utils.o): Depend on target.h.
9136 * utils.c: Include target.h.
9137 (process_attributes): Use targetm.have_named_sections instead
9138 of ASM_OUTPUT_SECTION_NAME.
9139
fbf3e0dd
AJ
91402004-01-16 Andreas Jaeger <aj@suse.de>
9141
9142 * Makefile.in: Add $(DESTDIR).
9143
acd47d2a
AC
91442004-01-15 Olivier Hainque <hainque@act-europe.fr>
9145
9146 * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
9147 also when not defining if a Size clause applies. That information is
9148 not to be ignored.
9149
91502004-01-15 Arnaud Charlet <charlet@act-europe.fr>
9151
9152 * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
9153 symbolic links for the shared gnat run time when needed.
9154
91552004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
9156
9157 * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
9158 for writing, and terminate with an error message if not.
9159
91602004-01-15 Ed Schonberg <schonberg@gnat.com>
9161
9162 * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
9163 warning on an access to subprogram in an instance, when the target
9164 type is declared in the same generic unit.
9165 (Eval_Attribute): If 'access is known to fail accessibility check,
9166 rewrite as a raise statement.
9167
91682004-01-15 GNAT Script <nobody@gnat.com>
9169
9170 * Make-lang.in: Makefile automatically updated
9171
03787dfd
KC
91722004-01-15 Kelley Cook <kcook@gcc.gnu.org>
9173
9174 * Make-lang.in (ada.srcextra): Dummy entry.
9175
73e232f0
KC
91762004-01-14 Kelley Cook <kcook@gcc.gnu.org>
9177
9178 * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
9179
9bc43c53
AC
91802004-01-13 Ed Schonberg <schonberg@gnat.com>
9181
9182 * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
9183 components that are initialized with aggregates.
9184
91852004-01-13 Vincent Celier <celier@gnat.com>
9186
9187 * gnatlink.adb (Process_Binder_File): To find directory of shared
9188 libgcc, if "gcc-lib" is not a subdirectory, look for the last
9189 subdirectory "lib" in the path of the shared libgnat or libgnarl.
9190
9191 * make.adb (Gnatmake): If GCC version is at least 3, link with
9192 -shared-libgcc, when there is at least one shared library project.
9193
9194 * opt.ads (GCC_Version): New integer constant.
9195
9196 * adaint.c (get_gcc_version): New function.
9197
91982004-01-13 Robert Dewar <dewar@gnat.com>
9199
9200 * sem_dist.adb, sem_res.adb, sem_util.adb,
9201 sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
9202 exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
9203
92042004-01-13 Thomas Quinot <quinot@act-europe.fr>
9205
9206 * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
9207 g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
9208 declarations.
9209
8b52de7b
AC
92102004-01-12 Arnaud Charlet <charlet@act-europe.fr>
9211
f6ea0188
AC
9212 * misc.c: Remove trailing spaces.
9213 Update copyright notice missed in previous change.
9214
8b52de7b
AC
9215 PR ada/13572
9216 * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
9217 prefix/share/make
9218
9219 * Makefile.generic: Update copyright.
9220 Add license notice.
9221
9222 * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
9223 of prefix/share/make.
9224
9225 * Makefile.prolog: Update copyright.
9226 Add license notice.
9227
92282004-01-12 Laurent Pautet <pautet@act-europe.fr>
9229
9230 * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
9231 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
9232 g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
9233 instead of String.
9234
9235 * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
9236 signature.
9237
92382004-01-12 Javier Miranda <miranda@gnat.com>
9239
9240 * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
9241 exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
9242 sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
9243 sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
9244 Component_Definition node.
9245
92462004-01-12 Ed Falis <falis@gnat.com>
9247
9248 * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
9249
92502004-01-12 Thomas Quinot <quinot@act-europe.fr>
9251
9252 * link.c: Change default libgnat kind to STATIC for FreeBSD.
9253
92542004-01-12 Bernard Banner <banner@gnat.com>
9255
9256 * Makefile.in: map 86numaux to a-numaux for x86_64
9257
92582004-01-12 Ed Schonberg <schonberg@gnat.com>
9259
9260 * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
9261 generated to rename a generic actual, go to the actual itself, the
9262 subtype is not a user-visible entity.
9263
9264 * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
9265 part is a private subtype, reset the visibility of its full view, if
9266 any, to be consistent.
9267
9268 PR ada/13417
9269 * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
9270 to use a generic package G as a formal package for another generic
9271 declared within G.
9272
92732004-01-12 Robert Dewar <dewar@gnat.com>
9274
9275 * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
9276
9277 * usage.adb: Remove mention of obsolete -gnatwb switch
9278 Noticed during code reading
9279
92802004-01-12 Jerome Guitton <guitton@act-europe.fr>
9281
9282 * 1ssecsta.adb: Minor changes for -gnatwa warnings
9283
92842004-01-12 GNAT Script <nobody@gnat.com>
9285
9286 * Make-lang.in: Makefile automatically updated
9287
0fab64a3
MM
92882004-01-09 Mark Mitchell <mark@codesourcery.com>
9289
9290 * misc.c (gnat_expand_expr): Add alt_rtl parameter.
9291
47527624
RO
92922004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9293
9294 * link.c [sgi] (shared_libgnat_default): Change to STATIC.
9295
dedebde1
KC
92962004-01-05 Kelley Cook <kcook@gcc.gnu.org>
9297
fbf3e0dd 9298 * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
dedebde1
KC
9299 Update comment and copyright date.
9300 * stamp-xgnatug: Delete.
9301
91b1417d
AC
93022004-01-05 Robert Dewar <dewar@gnat.com>
9303
9304 * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
9305 be modified by the binder generated main program if the -D switch is
9306 used.
9307
9308 * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
9309 imported functions (since now we expect this to be done for imported
9310 functions)
9311
9312 * 5vtaprop.adb: Add several ??? for sections requiring more comments
9313 Minor reformatting throughout
9314
9315 * 5zinit.adb: Minor reformatting
9316 Add 2004 to copyright date
9317 Minor changes to avoid -gnatwa warnings
9318 Correct some instances of using OR instead of OR ELSE (noted while
9319 doing reformatting)
9320
9321 * sprint.adb: Minor updates to avoid -gnatwa warnings
9322
fbf3e0dd 9323 * s-secsta.ads, s-secsta.adb:
91b1417d
AC
9324 (SS_Get_Max): New function to obtain high water mark for ss stack
9325 Default_Secondary_Stack is not a constant since it may be modified by
9326 the binder generated main program if the -D switch is used.
9327
9328 * switch-b.adb: New -Dnnn switch for binder
9329
fbf3e0dd 9330 * switch-c.adb:
91b1417d
AC
9331 Make -gnatg imply all warnings currently in -gnatwa
9332
9333 * vms_conv.adb: Minor reformatting
9334 Add 2004 to copyright notice
9335 Add 2004 to printed copyright notice
9336
9337 * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
9338 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
9339 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
9340 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
9341 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
9342 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
9343 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
9344 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
9345 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
9346 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
9347 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
9348 vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
9349 xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
9350 sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
9351 checks.adb, clean.adb, cstand.adb, einfo.ads,
9352 einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
9353 exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
9354 prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
9355 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
9356 g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
9357 lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
9358 Minor reformatting and code clean ups.
9359 Minor changes to prevent -gnatwa warnings
9360
9361 * ali.adb: Minor reformatting and cleanup of code
9362 Acquire new SS indication of secondary stack use from ali files
9363
9364 * a-numaux.ads: Add Pure_Function pragmas for all imported functions
9365 (since now we expect this to be done for imported functions)
9366
9367 * bindgen.adb: Generate call to modify default secondary stack size if
9368 -Dnnn switch given
9369
9370 * bindusg.adb: Add line for new -D switch
9371
9372 * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
9373 replacement name for Type_May_Have_Non_Bit_Aligned_Components!
9374 Add circuitry for both records and arrays to avoid gigi
9375 processing if the type involved has non-bit-aligned components
9376
9377 * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
9378 N_String_Literal node always references an E_String_Literal_Subtype
9379 entity. This may not be true in the future.
9380 (Possible_Bit_Aligned_Component): Move processing of
9381 Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
9382
9383 * exp_ch6.adb (Expand_Thread_Body): Pick up
9384 Default_Secondary_Stack_Size as variable so that we get value modified
9385 by possible -Dnnn binder parameter.
9386
9387 * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
9388 (Type_May_Have_Bit_Aligned_Components): New function.
9389
9390 * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
9391 (Type_May_Have_Bit_Aligned_Components): New function.
9392
9393 * fe.h: (Set_Identifier_Casing): Fix prototype.
9394 Add declaration for Sem_Elim.Eliminate_Error_Msg.
9395 Minor reformatting.
9396
9397 * freeze.adb (Freeze_Entity): Add RM reference to error message about
9398 importing constant atomic/volatile objects.
9399 (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
9400 unless explicit Pure_Function pragma given, to avoid insidious bug of
9401 call to non-pure imported function getting eliminated.
9402
9403 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
9404 gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
9405 gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
9406 Add 2004 to printed copyright notice
9407
9408 * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
9409 stack used.
9410
9411 * Makefile.rtl: Add entry for g-sestin.o
9412 g-sestin.ads: New file.
9413
9414 * mdll.adb: Minor changes to avoid -gnatwa warnings
9415
9416 * mlib-tgt.adb: Minor reformatting
9417
9418 * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
9419 New switch Sec_Stack_Used (GNAT, GNATBIND)
9420 Make Default_Secondary_Stack_Size a variable instead of a constant,
9421 so that it can be modified by the new -Dnnn bind switch.
9422
9423 * rtsfind.adb (Load_Fail): Give full error message in configurable
9424 run-time mode if all_errors mode is set. This was not done in the case
9425 of a file not found, which was an oversight.
9426 Note if secondary stack unit is used by compiler.
9427
9428 * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
9429 ineffective elaborate all pragmas on non-visible packages (this
9430 happened when a renamed subprogram was called). Now the elaborate all
9431 always goes on the package containing the renaming rather than the one
9432 containing the renamed subprogram.
9433
9434 * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
9435 (Process_Eliminate_Pragma): Add parameter to capture pragma location.
9436
9437 * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
9438 has an Etype that references an E_String_Literal.
9439 (Eval_String_Literal): Avoid assumption that N_String_Literal node
9440 always references an E_String_Literal_Subtype entity. This may not
9441 be true in the future.
9442
9443 * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
9444 pragma location.
9445
9446 * sem_res.adb (Resolve): Specialize msg for function name used in proc
9447 call.
9448
94492004-01-05 Ed Falis <falis@gnat.com>
9450
9451 * g-debuti.adb: Replaced direct boolean operator with short-circuit
9452 form.
9453
94542004-01-05 Vincent Celier <celier@gnat.com>
9455
9456 * bld.adb: Minor comment updates
9457 (Process_Declarative_Items): Correct incorrect name (Index_Name instead
9458 of Item_Name).
9459
9460 * make.adb (Gnatmake): Special process for files to compile/check when
9461 -B is specified. Fail when there are only foreign mains in attribute
9462 Main of the project file and -B is not specified. Do not skip bind/link
9463 steps when -B is specified.
9464
9465 * makeusg.adb: Document new switch -B
9466
9467 * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
9468
9469 * switch-m.adb: (Scan_Make_Switches): Process -B switch
9470
9471 * vms_data.ads: Add new GNAT PRETTY qualifier
9472 /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
9473
94742004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9475
9476 * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
9477 case.
9478
9479 * misc.c (gnat_printable_name): If VERBOSITY is 2, call
9480 Set_Identifier_Casing.
9481
9482 * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
9483 has size that overflows.
9484
94852004-01-05 Gary Dismukes <dismukes@gnat.com>
9486
9487 * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
9488 -gnatwa warning on static condition.
9489
94902004-01-05 Doug Rupp <rupp@gnat.com>
9491
9492 * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
9493
94942004-01-05 Arnaud Charlet <charlet@act-europe.fr>
9495
9496 * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
9497 all attributes, including read-only attribute.
9498
94992004-01-05 Pascal Obry <obry@gnat.com>
9500
9501 * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
9502 library naming scheme.
9503
9504 * mlib-prj.adb (Build_Library): Generate different names for the static
9505 or dynamic version of the GNAT runtime. This is needed to support the
9506 new shared library naming scheme.
9507 (Process_Binder_File): Add detection of shared library in binder file
9508 based on the new naming scheme.
9509
9510 * gnatlink.adb (Process_Binder_File): Properly detect the new naming
9511 scheme for the shared runtime libraries.
9512
9513 * Makefile.in:
9514 (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
9515 scheme.
9516 (install-gnatlib): Do not create symlinks for shared libraries.
9517 (gnatlib-shared-default): Idem.
9518 (gnatlib-shared-dual-win32): New target. Not used for now as the
9519 auto-import feature does not support arrays/records.
9520 (gnatlib-shared-win32): Do not create copy for the shared libraries.
9521 (gnatlib-shared-vms): Fix shared runtime libraries names.
9522
9523 * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
9524 dependent runtime shared library name.
9525
95262004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
9527
9528 * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
9529 than the object.
9530
95312004-01-05 Ed Schonberg <schonberg@gnat.com>
9532
9533 * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
9534 protected objects when allocator has a subtype indication, not a
9535 qualified expression. Note that qualified expressions may have to be
9536 checked when limited aggregates are implemented.
9537
9538 * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
9539 pure, emit warning.
9540 (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
9541 subprogram is imported, remove warning.
9542
95432004-01-05 Geert Bosch <bosch@gnat.com>
9544
9545 * s-poosiz.adb: Update copyright notice.
9546 (Allocate): Use Task_Lock to protect against concurrent access.
9547 (Deallocate): Likewise.
9548
95492004-01-05 Joel Brobecker <brobecker@gnat.com>
9550
9551 * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
9552 comment.
9553
2ab127f3
KC
95542003-12-23 Kelley Cook <kcook@gcc.gnu.org>
9555
9556 * gnat_ug.texi: Force a CVS commit by updating copyright.
9557 * gnat_ug_vxw.texi: Regenerate.
9558 * gnat_ug_wnt.texi: Regenerate.
9559 * gnat_ug_vms.texi: Regenerate.
9560 * gnat_ug_unx.texi: Regenerate.
9561
aed8bfdc
KH
95622003-12-20 Kazu Hirata <kazu@cs.umass.edu>
9563
9564 * trans.c: Remove uses of "register" specifier in
9565 declarations of local variables.
9566
90c2f1de
KC
95672003-12-18 Kelley Cook <kcook@gcc.gnu.org>
9568
9569 * stamp-xgnatug: New stamp file.
9570 * Make-lang.in (stamp-xgnatug): New stamp file and comment.
9571 (ada/doctools/xgnatug): Add $(build_exeext).
9572 (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
9573 ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
9574
891a6e79
AC
95752003-12-17 Ed Falis <falis@gnat.com>
9576
9577 * a-elchha.adb (Tailored_Exception_Information): made Info constant to
9578 eliminate warning.
9579
9580 * a-exextr.adb: Add context clause for
9581 Ada.Exceptions.Last_Chance_Handler.
9582
95832003-12-17 Sergey Rybin <rybin@act-europe.fr>
9584
9585 * cstand.adb (Create_Standard): Change the way how the declaration of
9586 the Duration type is created (making it the same way as it is for all
9587 the other standard types).
9588
95892003-12-17 Robert Dewar <dewar@gnat.com>
9590
9591 * s-crtl.ads: Fix header format
9592 Change Pure to Preelaborate
9593
95942003-12-17 Ed Schonberg <schonberg@gnat.com>
9595
9596 * checks.adb (Selected_Length_Checks): Generate an Itype reference for
9597 the expression type only if it is declared in the current unit.
9598
9599 * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
9600 are universal and already analyzed, as can occur in constrained
9601 subcomponents that depend on discriminants, when one constraint is a
9602 subtype mark.
9603
9604 * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
9605 type Any_Fixed is legal as the argument of a conversion, if only one
9606 fixed-point type is in context.
9607
96082003-12-17 GNAT Script <nobody@gnat.com>
9609
9610 * Make-lang.in: Makefile automatically updated
9611
209db2bf
AC
96122003-12-15 Robert Dewar <dewar@gnat.com>
9613
9614 * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
9615 sec stack size.
9616
96172003-12-15 Vincent Celier <celier@gnat.com>
9618
9619 * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
9620 (Gnatchop): Do not set failure status when reporting the number of
9621 warnings.
9622
96232003-12-15 Doug Rupp <rupp@gnat.com>
9624
9625 * s-ctrl.ads: New file.
9626
9627 * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
9628
9629 * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
9630 (GNATBIND_OBJS): Add ada/s-crtl.o.
9631
9632 * Makefile.in [VMS]: Clean up ifeq rules.
9633
9634 * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
9635 a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
9636 g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
9637 s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
9638 s-tasdeb.adb: Update copyright.
9639 Import System.CRTL.
9640 Make minor modifications to use System.CRTL declared functions instead
9641 of importing locally.
9642
96432003-12-15 GNAT Script <nobody@gnat.com>
9644
9645 * Make-lang.in: Makefile automatically updated
9646
a9f4e3d2
AC
96472003-12-11 Ed Falis <falis@gnat.com>
9648
9649 * 5zinit.adb: Clean up.
9650
9651 * 5zintman.adb (Notify_Exception): replaced case statement with a call
9652 to __gnat_map_signal, imported from init.c to support
9653 signal -> exception mappings that depend on the vxWorks version.
9654
fbf3e0dd 9655 * init.c:
a9f4e3d2
AC
9656 Created and exported __gnat_map_signal to support signal -> exception
9657 mapping that is dependent on the VxWorks version.
9658 Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
9659
96602003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
9661
9662 * 5wosinte.ads: Link with -mthreads switch.
9663
96642003-12-11 Arnaud Charlet <charlet@act-europe.fr>
9665
9666 * init.c (__gnat_install_handler [NetBSD]): Set
9667 __gnat_handler_installed, as done on all other platforms.
9668 Remove duplicated code.
9669
96702003-12-11 Jerome Guitton <guitton@act-europe.fr>
9671
9672 * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
9673
96742003-12-11 Thomas Quinot <quinot@act-europe.fr>
9675
9676 * sinfo.ads: Fix inconsistent example code in comment.
9677
96782003-12-11 Robert Dewar <dewar@gnat.com>
9679
9680 * a-tiinau.adb: Add a couple of comments
9681
9682 * sem_ch3.adb: Minor reformatting
9683
fbf3e0dd 9684 * sem_prag.adb:
a9f4e3d2
AC
9685 Fix bad prototype of Same_Base_Type in body (code reading cleanup)
9686 Minor reformatting throughout
9687
96882003-12-11 Ed Schonberg <schonberg@gnat.com>
9689
9690 * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
9691 bounds of a loop, create a separate block in order to generate proper
9692 cleanup actions to prevent memory leaks.
9693
9694 * sem_res.adb (Resolve_Call): After a call to
9695 Establish_Transient_Scope, the call may be rewritten and relocated, in
9696 which case no further processing is needed.
9697
9698 * sem_util.adb: (Wrong_Type): Refine previous fix.
9699 Fixes ACATS regressions.
9700
9701 PR ada/13353
9702
9703 * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
9704 be inlined.
9705
c45b6ae0
AC
97062003-12-08 Jerome Guitton <guitton@act-europe.fr>
9707
9708 * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
9709 i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
9710 obsolete files.
9711
9712 * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
9713 (rts-zfp): Ditto.
9714
97152003-12-08 Robert Dewar <dewar@gnat.com>
9716
9717 * 7sintman.adb: Minor reformatting
9718
9719 * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
9720 standard linker options to get standard libraries linked. We now plan
9721 to provide dummy versions of these libraries to match the appropriate
9722 configurable run-time (e.g. if a library is not needed at all, provide
9723 a dummy empty library).
9724
9725 * targparm.ads: Configurable_Run_Time mode no longer affects linker
9726 options (-L parameters and standard libraries). What we plan to do is
9727 to provide dummy libraries where the libraries are not required.
9728
9729 * gnatbind.adb: Minor comment improvement
9730
97312003-12-08 Javier Miranda <miranda@gnat.com>
9732
9733 * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
9734 aggregate in the parent. Otherwise constants with limited aggregates
9735 are not supported. Add new formal to pass the component type (Ctype).
9736 It is required to call the corresponding IP subprogram in case of
9737 default initialized components.
9738 (Gen_Assign): In case of default-initialized component, generate a
9739 call to the IP subprogram associated with the component.
9740 (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
9741 of aggregate with default initialized components.
9742 (Has_Default_Init_Comps): Improve implementation to recursively check
9743 all the present expressions.
9744
9745 * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
9746 to indicate that the initialization call corresponds to a
9747 default-initialized component of an aggregate.
9748 In case of default initialized aggregate with tasks this parameter is
9749 used to generate a null string (this is just a workaround that must be
9750 improved later). In case of discriminants, this parameter is used to
9751 generate a selected component node that gives access to the discriminant
9752 value.
9753
9754 * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
9755 subprogram, based on Build_Task_Allocate_Block, but adapted to expand
9756 allocated aggregates with default-initialized components.
9757
9758 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
9759 the box notation is used in positional aggregates.
9760
97612003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
9762
9763 * lib.ads: Fix typo in comment
9764
97652003-12-08 Vincent Celier <celier@gnat.com>
9766
9767 * prj.adb (Project_Empty): New component Unkept_Comments
9768 (Scan): Remove procedure; moved to Prj.Err.
9769
9770 * prj.ads (Project_Data): New Boolean component Unkept_Comments
9771 (Scan): Remove procedure; moved to Prj.Err.
9772
9773 * prj-dect.adb: Manage comments for the different declarations.
9774
9775 * prj-part.adb (With_Record): New component Node
9776 (Parse): New Boolean parameter Store_Comments, defaulted to False.
9777 Set the scanner to return ends of line and comments as tokens, if
9778 Store_Comments is True.
9779 (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
9780 comments are associated with these nodes. Store the node IDs in the
9781 With_Records.
9782 (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
9783 With_Records.
9784 (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
9785 the N_Project node. Call Tree.Save and Tree.Reset before scanning the
9786 current project. Call Tree.Restore afterwards. Set the various nodes
9787 for comment storage (Next_End, End_Of_Line, Previous_Line,
9788 Previous_End).
9789
9790 * prj-part.ads (Parse): New Boolean parameter Store_Comments,
9791 defaulted to False.
9792
9793 * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
9794 to False. When Truncated is True, truncate the string, never go to the
9795 next line.
9796 (Write_End_Of_Line_Comment): New procedure
9797 (Print): Process comments for nodes N_With_Clause,
9798 N_Package_Declaration, N_String_Type_Declaration,
9799 N_Attribute_Declaration, N_Typed_Variable_Declaration,
9800 N_Variable_Declaration, N_Case_Construction, N_Case_Item.
9801 Process nodes N_Comment.
9802
9803 * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
9804 without comments and there are some comments, set the flag
9805 Unkept_Comments to True.
9806 (Scan): If there are comments, set the flag Unkept_Comments to True and
9807 clear the comments.
9808 (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
9809 (Next_End_Nodes: New table
9810 (Comment_Zones_Of): New function
9811 (Scan): New procedure; moved from Prj. Accumulate comments in the
9812 Comments table and set end of line comments, comments after, after end
9813 and before end.
9814 (Add_Comments): New procedure
9815 (Save, Restore, Seset_State): New procedures
9816 (There_Are_Unkept_Comments): New function
9817 (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
9818 (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
9819 procedures.
9820 (First_Comment_After, First_Comment_After_End): New functions
9821 (First_Comment_Before, First_Comment_Before_End): New functions
9822 (Next_Comment): New function
9823 (End_Of_Line_Comment, Follows_Empty_Line,
9824 Is_Followed_By_Empty_Line): New functions
9825 (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
9826 (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
9827 (Set_Next_Comment): New procedure
9828 (Default_Project_Node): Associate comment before if the node can store
9829 comments.
9830
9831 * scans.ads (Token_Type): New enumeration value Tok_Comment
9832 (Comment_Id): New global variable
9833
9834 * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
9835 defaulted to False.
9836 (Scan): Store position of start of comment. If comments are tokens, set
9837 Comment_Id and set Token to Tok_Comment when scanning a comment.
9838 (Set_Comment_As_Token): New procedure
9839
9840 * sinput-p.adb: Update Copyright notice
9841 (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
9842 that no longer exists.
9843
98442003-12-08 Javier Miranda <miranda@gnat.com>
9845
9846 * sem_aggr.adb: Add dependence on Exp_Tss package
9847 Correct typo in comment
9848 (Resolve_Aggregate): In case of array aggregates set the estimated
9849 type of the aggregate before calling resolve. This is needed to know
9850 the name of the corresponding IP in case of limited array aggregates.
9851 (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
9852 in case of default initialized array components.
9853
9854 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
9855 types. Required to give support to limited aggregates in generic
9856 formals.
9857
98582003-12-08 Ed Schonberg <schonberg@gnat.com>
9859
9860 * sem_ch3.adb (Check_Initialization): For legality purposes, an
9861 inlined body functions like an instantiation.
9862 (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
9863 until bounds are analyzed, to diagnose premature use of type.
9864
9865 * sem_util.adb (Wrong_Type): Improve error message when the type of
9866 the expression is used prematurely.
9867
98682003-12-08 GNAT Script <nobody@gnat.com>
9869
9870 * Make-lang.in: Makefile automatically updated
9871
0875a894
AC
98722003-12-08 Arnaud Charlet <charlet@act-europe.fr>
9873
7618d510
AC
9874 * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
9875 they are automatically generated by Make-lang.in and cause nothing but
0875a894
AC
9876 maintenance troubles.
9877
5b4994bc
AC
98782003-12-05 Thomas Quinot <quinot@act-europe.fr>
9879
9880 * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
9881 version of this unit).
9882
98832003-12-05 Olivier Hainque <hainque@act-europe.fr>
9884
9885 * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
9886 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
9887 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
9888 the body of System.Interrupt_Management common to several targets.
9889 Update copyright notice when appropriate.
9890
9891 * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
9892 constant.
9893
9894 * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
9895 to ensure that the kernel fills in the interrupted context structure
9896 before calling a signal handler, which is necessary to be able to
9897 unwind past it. Update the copyright notice.
9898
98992003-12-05 Jerome Guitton <guitton@act-europe.fr>
9900
9901 * a-elchha.ads: New file.
9902
9903 * a-elchha.adb: New default last chance handler. Contents taken from
9904 Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
9905
9906 * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
9907 is moved to a-elchha.adb to provide a target-independent default last
9908 chance handler.
9909
9910 * Makefile.rtl: Add a-elchha.o
9911
9912 * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
9913
99142003-12-05 Ed Schonberg <schonberg@gnat.com>
9915
9916 * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
9917 declared in an instance, do not inline the call if the instance is not
9918 frozen yet, to prevent order of elaboration problems.
9919
9920 * sem_prag.adb: Add comments for previous fix.
9921
99222003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
9923
9924 * g-table.adb: Use the right variable in Set_Item.
9925 Update copyright notice.
9926
99272003-12-05 Arnaud Charlet <charlet@act-europe.fr>
9928
9929 * Makefile.in: Remove unused rules.
9930
99312003-12-05 Vincent Celier <celier@gnat.com>
9932
9933 * switch-c.adb (Scan_Front_End_Switches): Remove processing of
9934 -nostdlib. Not needed here after all.
9935
efdfd311
AC
99362003-12-03 Thomas Quinot <quinot@act-europe.fr>
9937
9938 PR ada/11724
9939
fbf3e0dd 9940 * adaint.h, adaint.c, g-os_lib.ads:
efdfd311
AC
9941 Do not assume that the offset argument to lseek(2) is a 32 bit integer,
9942 on some platforms (including FreeBSD), it is a 64 bit value.
9943 Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
9944
99452003-12-03 Arnaud Charlet <charlet@act-europe.fr>
9946
9947 * gnatvsn.ads (Library_Version): Now contain only the relevant
9948 version info.
9949 (Verbose_Library_Version): New constant.
9950
9951 * g-spipat.adb, g-awk.adb, g-debpoo.adb,
9952 g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
9953 s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
9954
9955 * gnatlbr.adb: Clean up: replace Library_Version by
9956 Verbose_Library_Version.
9957
fbf3e0dd 9958 * make.adb, lib-writ.adb, exp_attr.adb:
efdfd311
AC
9959 Clean up: replace Library_Version by Verbose_Library_Version.
9960
9961 * 5lintman.adb: Removed.
9962
fbf3e0dd 9963 * Makefile.in:
efdfd311
AC
9964 Update and simplify computation of LIBRARY_VERSION.
9965 Fix computation of GSMATCH_VERSION.
9966 5lintman.adb is no longer used: replaced by 7sintman.adb.
9967
99682003-12-03 Robert Dewar <dewar@gnat.com>
9969
fbf3e0dd 9970 * exp_ch5.adb:
efdfd311
AC
9971 (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
9972 name. Modified to consider small non-bit-packed arrays as troublesome
9973 and in need of component-by-component assigment expansion.
9974
99752003-12-03 Vincent Celier <celier@gnat.com>
9976
9977 * lang-specs.h: Process nostdlib as nostdinc
9978
9979 * back_end.adb: Update Copyright notice
9980 (Scan_Compiler_Arguments): Process -nostdlib directly.
9981
99822003-12-03 Jose Ruiz <ruiz@act-europe.fr>
9983
fbf3e0dd 9984 * Makefile.in:
efdfd311
AC
9985 When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
9986 redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
9987 included in HIE_NONE_TARGET_PAIRS.
9988
99892003-12-03 Ed Schonberg <schonberg@gnat.com>
9990
fbf3e0dd 9991 * sem_attr.adb:
efdfd311
AC
9992 (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
9993 is legal in an instance, because legality is cheched in the template.
9994
fbf3e0dd 9995 * sem_prag.adb:
efdfd311
AC
9996 (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
9997 appplied to an unchecked conversion of a formal parameter.
9998
fbf3e0dd 9999 * sem_warn.adb:
efdfd311
AC
10000 (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
10001 variables.
10002
100032003-12-03 Olivier Hainque <hainque@act-europe.fr>
10004
10005 * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
10006 routines. The second one is new functionality to deal with backtracing
10007 through signal handlers.
10008 (unwind): Split into the two separate subroutines above.
10009 Update the documentation, and deal properly with sizeof (REG) different
10010 from sizeof (void*).
10011
08aa9a4a
AC
100122003-12-01 Nicolas Setton <setton@act-europe.fr>
10013
10014 * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
10015 so that the debugger can reliably access the value of the parameter,
10016 and therefore is able to display the exception name when an exception
10017 breakpoint is reached.
10018
100192003-12-01 Thomas Quinot <quinot@act-europe.fr>
10020
10021 * fmap.adb: Fix typo in warning message.
10022
10023 * g-socket.ads, g-socket.adb: Make Free a visible instance of
10024 Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
10025
100262003-12-01 Vincent Celier <celier@gnat.com>
10027
10028 * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
10029 ther is no Afile.
10030 (Build_Library): Get the switches only if Default_Switches is declared
10031 in package Binder.
10032
100332003-12-01 Ed Schonberg <schonberg@gnat.com>
10034
10035 * exp_ch6.adb (Expand_Actuals): When applying validity checks to
10036 actuals that are indexed components, reanalyze actual to ensure that
10037 packed array references are properly expanded.
10038
10039 * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
10040 attempted assignment to a discriminant.
10041
100422003-12-01 Robert Dewar <dewar@gnat.com>
10043
10044 * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
10045 reformatting.
10046
10047 * switch-c.adb: Minor reformatting of comments
10048
100492003-12-01 Arnaud Charlet <charlet@act-europe.fr>
10050
10051 * Makefile.in: Clean ups.
10052
100532003-12-01 GNAT Script <nobody@gnat.com>
10054
10055 * Make-lang.in: Makefile automatically updated
10056
c6135994
AC
100572003-12-01 Arnaud Charlet <charlet@act-europe.fr>
10058
10059 * 5wsystem.ads: Disable zero cost exception, not ready yet.
10060
51a30506
UW
100612003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
10062
10063 * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
10064 to force serialization.
10065
81a5b587
AC
100662003-11-26 Thomas Quinot <quinot@act-europe.fr>
10067
fbf3e0dd 10068 * g-socket.ads, g-socket.adb:
81a5b587
AC
10069 Clarify documentation of function Stream. Introduce a Free procedure
10070 to release the returned Stream once it becomes unused.
10071
10072 * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
10073
100742003-11-26 Arnaud Charlet <charlet@act-europe.fr>
10075
10076 (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
10077 since NT 4 cannot handle timeout values that are too large,
10078 e.g. DWORD'Last - 1.
10079
100802003-11-26 Ed Schonberg <schonberg@gnat.com>
10081
fbf3e0dd 10082 * exp_ch4.adb:
81a5b587
AC
10083 (Expand_N_Slice): Recognize all cases of slices that appear as actuals
10084 in procedure calls and whose expansion must be deferred.
10085
10086 * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
10087 is in exp_ch4.
10088
fbf3e0dd 10089 * sem_ch3.adb:
81a5b587
AC
10090 (Build_Derived_Array_Type): Create operator for unconstrained type
10091 if ancestor is unconstrained.
10092
100932003-11-26 Vincent Celier <celier@gnat.com>
10094
10095 * make.adb (Project_Object_Directory): New global variable
10096 (Change_To_Object_Directory): New procedure
10097 (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
10098 of Change_Dir directly. Do not change working directory to object
10099 directory of main project after each compilation.
10100 (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
10101 directly.
10102 Change to object directory of main project before binding step.
10103 (Initialize): Initialize Project_Object_Directory to No_Project
10104
fbf3e0dd 10105 * mlib-prj.adb:
81a5b587
AC
10106 (Build_Library): Take into account Builder'Default_Switches ("Ada") when
10107 binding a Stand-Alone Library.
10108
10109 * output.adb: Update Copyright notice
10110 (Write_Char): Output buffer when full
10111
101122003-11-26 Robert Dewar <dewar@gnat.com>
10113
10114 * sem_ch13.adb: (Check_Size): Reset size if size is too small
10115
fbf3e0dd 10116 * sem_ch13.ads:
81a5b587
AC
10117 (Check_Size): Fix documentation to include bit-packed array case
10118
10119 * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
10120
10121 * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
10122
10123 * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
10124
d4c47b51
AC
101252003-11-24 Arnaud Charlet <charlet@act-europe.fr>
10126
10127 PR ada/13142
10128 * utils.c (init_gigi_decls): Change name of built-in setjmp to
10129 __builtin_setjmp, since this is apparently needed by recent
10130 non Ada changes.
10131
7677e9e0
RO
101322003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10133
d4c47b51 10134 * adadecode.c: Only include ctype.h if not IN_GCC.
7677e9e0
RO
10135 (__gnat_decode): Use ISDIGIT from safe-ctype.h.
10136
6c1e24d3
AC
101372003-11-24 Jose Ruiz <ruiz@act-europe.fr>
10138
fbf3e0dd 10139 * Makefile.in:
6c1e24d3
AC
10140 Use 5zintman.ads for VxWorks targets. This file avoid confusion between
10141 signals and interrupts.
10142
10143 * 5zintman.ads: New File.
10144
10145 * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
10146 add exception signals to the set of unmasked signals.
10147
fbf3e0dd 10148 * 5ztaprop.adb:
6c1e24d3
AC
10149 Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
10150 between signals and interrupts.
10151 Add to Unblocked_Signal_Mask the set of signals that are in
10152 Keep_Unmasked.
10153
fbf3e0dd 10154 * 7sinmaop.adb:
6c1e24d3
AC
10155 Adding a check to see whether the Interrupt_ID we want to unmask is in
10156 the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
10157 reason is that the index type of the Keep_Unmasked array is not always
10158 Interrupt_ID; it may be a subtype of Interrupt_ID.
10159
101602003-11-24 Gary Dismukes <dismukes@gnat.com>
10161
fbf3e0dd 10162 * exp_util.adb:
6c1e24d3
AC
10163 (Remove_Side_Effects): Condition constantness of object created for a
10164 an unchecked type conversion on the constantness of the expression
10165 to ensure the correct value for 'Constrained when passing components
10166 of view-converted class-wide objects.
10167
101682003-11-24 Robert Dewar <dewar@gnat.com>
10169
10170 * par-load.adb (Load): Improve handling of misspelled and missing units
10171 Removes several cases of compilation abandoned messages
10172
10173 * lib.adb: (Remove_Unit): New procedure
10174
10175 * lib.ads: (Remove_Unit): New procedure
10176
10177 * lib-load.adb: Minor reformatting
10178
101792003-11-24 Vincent Celier <celier@gnat.com>
10180
fbf3e0dd 10181 * make.adb:
6c1e24d3
AC
10182 (Gnatmake, Initialize): Call Usage instead of Makeusg directly
10183 (Marking_Label): Label to mark processed source files. Incremented for
10184 each executable.
10185 (Gnatmake): Increase Marking_Labet for each executable
10186 (Is_Marked): Compare against marking label
10187 (Mark): Mark with marking label
10188
101892003-11-24 Jerome Guitton <guitton@act-europe.fr>
10190
fbf3e0dd 10191 * s-thread.ads:
6c1e24d3
AC
10192 Move the declaration of the TSD for System.Threads to System.Soft_Links.
10193 Add some comments.
10194
10195 * Makefile.in: Added target pair for s-thread.adb for cert runtime.
10196 (rts-cert): build a single relocatable object for the run-time lib.
10197 Fix perms.
10198
101992003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
10200
fbf3e0dd 10201 * Make-lang.in:
6c1e24d3
AC
10202 Use gnatls rather than gcc to obtain the location of GNAT RTL for
10203 crosstools build.
10204
102052003-11-24 Sergey Rybin <rybin@act-europe.fr>
10206
10207 * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
10208 can not use it as before (that is, as a variable) when dumping it into
10209 the tree file. Add a local variable to store the result of this
10210 function and to be used as the string to be written into the tree.
10211
10212 * scn.adb (Initialize_Scanner): Add comments explaining the recent
10213 changes.
10214
10215 * sinput.adb (Source_First, Source_Last): In case of
10216 Internal_Source_File, replace returning attributes of
10217 Internal_Source_Ptr (which is wrong) with returning attributes of
10218 Internal_Source.
10219
102202003-11-24 Ed Schonberg <schonberg@gnat.com>
10221
fbf3e0dd 10222 * sem_ch3.adb:
6c1e24d3
AC
10223 (New_Concatenation_Op): Proper name for New_Binary_Operator, only
10224 used for implicit concatenation operators.
10225 Code cleanup.
10226
fbf3e0dd 10227 * sem_elab.adb:
6c1e24d3
AC
10228 (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
10229 task bodies that are in the scope of a Suppress pragma.
10230 (Check_A Call): Use the flag to prevent spurious elaboration checks.
10231
fbf3e0dd 10232 * sinfo.ads, sinfo.adb:
6c1e24d3
AC
10233 New flag No_Elaboration_Check on function/procedure calls, to properly
10234 suppress checks on calls in task bodies that are within a local suppress
10235 pragma.
10236
fbf3e0dd 10237 * exp_ch4.adb:
6c1e24d3
AC
10238 (Expand_Concatenate_Other): Use the proper integer type for the
10239 expression for the upper bound, to avoid universal_integer computations
10240 when possible.
10241
6f2aeb72
KC
102422003-11-21 Kelley Cook <kcook@gcc.gnu.org>
10243
10244 * .cvsignore: Delete.
10245
e9f85cd6
AS
102462003-11-21 Andreas Schwab <schwab@suse.de>
10247
10248 * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
10249
4e074baf
VF
102502003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
10251
10252 * 5wsystem.ads: Enable zero cost exception.
10253
f1f9fe30
AC
102542003-11-21 Jerome Guitton <guitton@act-europe.fr>
10255
10256 * 5ztiitho.adb: Remove an unreferenced variable.
10257
102582003-11-21 Thomas Quinot <quinot@act-europe.fr>
10259
10260 * adaint.c: For FreeBSD, use mkstemp.
10261
102622003-11-21 Arnaud Charlet <charlet@act-europe.fr>
10263
10264 * gnatlbr.adb: Now reference Gnat_Static_Version_String.
10265
102662003-11-21 Robert Dewar <dewar@gnat.com>
10267
10268 * bld.adb: Remove useless USE of gnatvsn
10269
10270 * gnatchop.adb: Minor reformatting
10271 Clean up version handling to be more consistent
10272
10273 * gnatxref.adb: Minor reformatting
10274
10275 * gprcmd.adb: Minor reformatting
10276 Fix output of copyright to be more consistent with other tools
10277
102782003-11-21 Vincent Celier <celier@gnat.com>
10279
10280 * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
10281
102822003-11-21 Sergey Rybin <rybin@act-europe.fr>
10283
10284 * atree.adb (Initialize): Add initializations for global variables
10285 used in New_Copy_Tree.
10286
10287 * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
10288 Internal_Source_File as the actual).
10289 Put the set of statements creating Any_Character before the set of
10290 statements creating Any_Array to have Any_Character fully initialized
10291 when it is used in creating Any_Array.
10292
10293 * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
10294 not call Scan in case if the actual is Internal_Source_File
10295 Add 2003 to copyright note.
10296
10297 * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
10298 processing Internal_Source_File.
10299
10300 * types.ads: Add the constant Internal_Source_File representing the
10301 source buffer for artificial source-code-like strings created within
10302 the compiler (the definition of Source_File_Index is changed).
10303
c5b2a8ae
AC
103042003-11-20 Arnaud Charlet <charlet@act-europe.fr>
10305
10306 * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
10307 56system.ads: New file, FreeBSD version.
10308
a03ad584
JM
103092003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
10310
10311 * Make-lang.in (ada.extraclean): Delete.
10312
19f0526a
AC
103132003-11-19 Arnaud Charlet <charlet@act-europe.fr>
10314
10315 * gnatmem.adb: Clean up verbose output.
10316
10317 * gprcmd.adb: Change copyright to FSF.
10318
103192003-11-19 Vincent Celier <celier@gnat.com>
10320
10321 * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
10322 and Version (ignored).
10323
10324 * symbols.ads: (Policy): New type
10325 (Initialize): New parameter Reference, Symbol_Policy and
10326 Library_Version.
10327 Remove parameter Force.
10328 Minor reformatting.
10329
10330 * snames.ads, snames.adbadb: New standard names
10331 Library_Reference_Symbol_File and Library_Symbol_Policy
10332
fbf3e0dd 10333 * mlib-prj.adb:
19f0526a
AC
10334 (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
10335 project.
10336
fbf3e0dd 10337 * mlib-tgt.adb:
19f0526a
AC
10338 (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
10339
10340 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
10341
10342 * prj.adb: (Project_Empty): New component Symbol_Data
10343
10344 * prj.ads: (Policy, Symbol_Record): New types
10345 (Project_Data): New component Symbol_Data
10346
fbf3e0dd 10347 * prj-attr.adb:
19f0526a
AC
10348 New attributes Library_Symbol_File, Library_Symbol_Policy and
10349 Library_Reference_Symbol_File.
10350
fbf3e0dd 10351 * prj-nmsc.adb:
19f0526a
AC
10352 (Ada_Check): When project is a Stand-Alone library project, process
10353 attribute Library_Symbol_File, Library_Symbol_Policy and
10354 Library_Reference_Symbol_File.
10355
10356 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
10357 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
10358 5sml-tgt.adb (Build_Dynamic_Library): New parameter
10359 Symbol_Data (ignored).
10360
10361 * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
10362 (Build_Dynamic_Library): New parameter Symbol_Data. New internal
10363 functions Option_File_Name and Version_String. Set new options of
10364 gnatsym related to symbol file, symbol policy and reference symbol
10365 file.
10366
fbf3e0dd 10367 * 5vsymbol.adb:
19f0526a
AC
10368 Extensive modifications to take into account the reference symbol file,
10369 the symbol policy, the library version and to put in the symbol file the
10370 minor and major IDs.
10371
10372 * bld.adb (Process_Declarative_Items): Put second argument of
10373 gprcmd to_absolute between single quotes, to avoid problems with
10374 Windows.
10375
10376 * bld-io.adb: Update Copyright notice.
10377 (Flush): Remove last character of a line, if it is a back slash, to
10378 avoid make problems.
10379
fbf3e0dd 10380 * gnatsym.adb:
19f0526a
AC
10381 Implement new scheme with reference symbol file and symbol policy.
10382
10383 * g-os_lib.ads: (Is_Directory): Clarify comment
10384
103852003-11-19 Robert Dewar <dewar@gnat.com>
10386
10387 * atree.adb: Move New_Copy_Tree global variables to head of package
10388
10389 * errout.adb: Minor reformatting
10390
103912003-11-19 Javier Miranda <miranda@gnat.com>
10392
10393 * sem_ch4.adb: (Diagnose_Call): Improve error message.
10394 Add reference to Ada0Y (AI-50217)
10395
10396 * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
10397 sem_util.adb: Add reference to AI-50217
10398
10399 * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
10400
10401 * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
10402
10403 * sem_aggr.adb: Complete documentation of AI-287 changes
10404
10405 * par-ch4.adb: Document previous changes.
10406
10407 * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
10408 sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
10409 Ada0Y (AI-50217)
10410
10411 * exp_aggr.adb: Add references to AI-287 in previous changes
10412
104132003-11-19 Ed Schonberg <schonberg@gnat.com>
10414
fbf3e0dd 10415 * exp_ch6.adb:
19f0526a
AC
10416 (Add_Call_By_Copy_Node): Do not original node of rewritten expression
10417 in the rewriting is the result of an inlined call.
10418
10419 * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
10420 parameter is a type conversion, use original node to construct the
10421 post-call assignment, because expression may have been rewritten, e.g.
10422 if it is a packed array.
10423
fbf3e0dd 10424 * sem_attr.adb:
19f0526a
AC
10425 (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
10426 body, just as it is in an instance.
10427 Categorization routines
10428
10429 * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
10430 Instantiate_Object): Set proper sloc reference for message on missing
10431 actual.
10432
104332003-11-19 Thomas Quinot <quinot@act-europe.fr>
10434
10435 * Makefile.in: Add FreeBSD libgnat pairs.
10436
10437 * usage.adb: Fix typo in usage message.
10438
104392003-11-19 Jerome Guitton <guitton@act-europe.fr>
10440
10441 * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
10442 s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
10443 pragma Thread_Body.
10444 Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
10445
10446 * s-thread.adb: This file is now a dummy implementation of
10447 System.Thread.
10448
104492003-11-19 Sergey Rybin <rybin@act-europe.fr>
10450
10451 * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
10452
104532003-11-19 Emmanuel Briot <briot@act-europe.fr>
10454
10455 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
10456 instanciation references in the parent type description.
10457
0d77ab84
AC
104582003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10459
10460 * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
10461
10462 * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
10463 TYPE_PRECISION directly from esize.
10464
104652003-11-18 Thomas Quinot <quinot@act-europe.fr>
10466
fbf3e0dd 10467 * cstreams.c:
0d77ab84
AC
10468 Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
10469
10470 * init.c: Initialization routines for FreeBSD
10471
10472 * link.c: Link info for FreeBSD
10473
10474 * sysdep.c: Add the case of FreeBSD
10475
cb7a5092
AC
104762003-11-17 Jerome Guitton <guitton@act-europe.fr>
10477
10478 * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
10479 already called in System.Threads.
10480
10481 * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
10482 environment task, as it has been moved to System.Threads.Initialization.
10483
104842003-11-17 Arnaud Charlet <charlet@act-europe.fr>
10485
10486 * adaint.c (__gnatlib_install_locks): Only reference
10487 __gnat_install_locks on VMS, since other platforms can avoid using
10488 --enable-threads=gnat
10489
104902003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10491
10492 * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
10493
10494 * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
10495 TYPE_PACKED_ARRAY_TYPE_P.
10496 (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
10497
10498 Part of PR ada/12806
10499 * utils.c (float_type_for_precision): Renamed from float_type_for_size.
10500 Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
10501
105022003-11-17 Vincent Celier <celier@gnat.com>
10503
10504 * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
10505 to False.
10506 Do not set exit status to Failure when Warning is True.
10507 (Gnatchop): Make errors "no compilation units found" and
10508 "no source files written" warnings only.
10509
10510 * make.adb (Gnatmake): When using a project file, set
10511 Look_In_Primary_Dir to False.
10512 (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
10513 and Local_Configuration_Pragmas in the project where they are declared
10514 not an extending project which might have inherited them.
10515
10516 * osint.adb (Locate_File): If Name is already an absolute path, do not
10517 look for a directory.
10518
10519 * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
10520 -gnats (Check_Syntax) is used, issue only a warning, not an error.
10521
10522 * prj.adb (Register_Default_Naming_Scheme): Add new component Project
10523 in objects of type Variable_Value.
10524
10525 * prj.ads: (Variable_Value): New component Project
10526
10527 * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
10528 is in a project extended by Project.
10529
10530 * prj-proc.adb (Add_Attributes): New parameter Project. Set component
10531 Project of Variable_Values to this new parameter value.
10532 (Expression): Set component Project of Variable_Values.
10533 (Process_Declarative_Items): Call Add_Attributes with parameter Project.
10534 Set the component Project in array elements.
10535
105362003-11-17 Sergey Rybin <rybin@act-europe.fr>
10537
10538 * errout.adb: (Initialize): Add initialization for error nodes.
10539
10540 * sem_ch12.adb (Initialize): Add missing initializations for
10541 Exchanged_Views and Hidden_Entities.
10542
105432003-11-17 Ed Schonberg <schonberg@gnat.com>
10544
10545 * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
10546 already instantiated tree for use in subsequent inlining.
10547 (Analyze_Associations, Instantiate_Formal_Subprogram,
10548 Instantiate_Object): improve error message for mismatch in
10549 instantiations.
10550
10551 * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
10552 instantiations of subprograms declared in instances.
10553
105542003-11-17 Javier Miranda <miranda@gnat.com>
10555
10556 * sem_ch4.adb (Analyze_Allocator): Previous modification must be
10557 executed only under the Extensions_Allowed flag.
10558
105592003-11-17 Robert Dewar <dewar@gnat.com>
10560
10561 * a-exexda.adb (Address_Image): Fix documentation to indicate leading
10562 zeroes suppressed.
10563 (Address_Image): Fix bug of returning 0x instead of 0x0
10564 Minor reformatting (function specs).
10565
10566 * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
10567 (missed case of 33-63)
10568
10569 * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
10570
10571 * s-thread.adb: Add comments for pragma Restriction
10572
10573 * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
10574 sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
10575
105762003-11-17 Ed Falis <falis@gnat.com>
10577
10578 * s-thread.adb: Added No_Tasking restriction for this implementation.
10579
105802003-11-17 Emmanuel Briot <briot@act-europe.fr>
10581
10582 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
10583 instanciation references in the parent type description.
10584
105852003-11-17 GNAT Script <nobody@gnat.com>
10586
10587 * Make-lang.in: Makefile automatically updated
10588
7d60db05
JM
105892003-11-16 Jason Merrill <jason@redhat.com>
10590
10591 * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
10592 and TAGS files that include them for each front end.
10593
c0040397
AJ
105942003-11-14 Andreas Jaeger <aj@suse.de>
10595
a477ab83 10596 * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
fbf3e0dd 10597 is the canonical version.
a477ab83
AJ
10598 * misc.c (gnat_handle_option): Likewise.
10599
c0040397
AJ
10600 * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
10601
10602 * 5nsystem.ads: New file for x86_64-linux-gnu.
10603
95a6aaf9
AC
106042003-11-14 Arnaud Charlet <charlet@act-europe.fr>
10605
262cc585 10606 * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
95a6aaf9 10607
4a4fe537
AC
10608 * comperr.adb: Fix logic in previous change.
10609
65356e64
AC
106102003-11-13 Vincent Celier <celier@gnat.com>
10611
10612 * 5bml-tgt.adb (Build_Dynamic_Library): Use
10613 Osint.Include_Dir_Default_Prefix instead of
10614 Sdefault.Include_Dir_Default_Name.
10615
10616 * gnatlbr.adb: Update Copyright notice
10617 (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
10618 Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
10619 instead of Sdefault.Object_Dir_Default_Name
10620
c0040397 10621 * gnatlink.adb:
65356e64
AC
10622 (Process_Binder_File): Never suppress the option following -Xlinker
10623
c0040397 10624 * mdll-utl.adb:
65356e64
AC
10625 (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
10626 Sdefault.Object_Dir_Default_Name.
10627
c0040397 10628 * osint.ads, osint.adb:
65356e64
AC
10629 (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
10630 Minor reformatting.
10631
10632 * vms_conv.ads: Minor reformating
10633 Remove GNAT STANDARD and GNAT PSTA
10634
c0040397 10635 * vms_conv.adb:
65356e64
AC
10636 Allow GNAT MAKE to have several files on the command line.
10637 (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
10638 Sdefault.Object_Dir_Default_Name.
10639 Minor Reformating
10640 Remove data for GNAT STANDARD
10641
c0040397 10642 * vms_data.ads:
65356e64
AC
10643 Add new compiler qualifier /PRINT_STANDARD (-gnatS)
10644 Remove data for GNAT STANDARD
10645 Remove options and documentation for -gnatwb/-gnatwB: these warning
10646 options no longer exist.
10647
106482003-11-13 Ed Falis <falis@gnat.com>
10649
10650 * 5zthrini.adb: (Init_RTS): Made visible
10651
c0040397 10652 * 5zthrini.adb:
65356e64
AC
10653 (Register): Removed unnecessary call to taskVarGet that checked whether
10654 an ATSD was already set as a task var for the argument thread.
10655
c0040397 10656 * s-thread.adb:
65356e64
AC
10657 Updated comment to reflect that this is a VxWorks version
10658 Added context clause for System.Threads.Initialization
10659 Added call to System.Threads.Initialization.Init_RTS
10660
106612003-11-13 Jerome Guitton <guitton@act-europe.fr>
10662
c0040397 10663 * 5zthrini.adb:
65356e64
AC
10664 (Init_RTS): New procedure, for the initialization of the run-time lib.
10665
c0040397 10666 * s-thread.adb:
65356e64
AC
10667 Remove dependancy on System.Init, so that this file can be used in the
10668 AE653 sequential run-time lib.
10669
106702003-11-13 Robert Dewar <dewar@gnat.com>
10671
10672 * bindgen.adb: Minor reformatting
10673
106742003-11-13 Ed Schonberg <schonberg@gnat.com>
10675
c0040397 10676 * checks.adb:
65356e64
AC
10677 (Apply_Discriminant_Check): Do no apply check if target type is derived
10678 from source type with no applicable constraint.
10679
c0040397 10680 * lib-writ.adb:
65356e64
AC
10681 (Ensure_System_Dependency): Do not apply the style checks that may have
10682 been specified for the main unit.
10683
c0040397 10684 * sem_ch8.adb:
65356e64
AC
10685 (Find_Selected_Component): Further improvement in error message, with
10686 RM reference.
10687
c0040397 10688 * sem_res.adb:
65356e64
AC
10689 (Resolve): Handle properly the case of an illegal overloaded protected
10690 procedure.
10691
106922003-11-13 Javier Miranda <miranda@gnat.com>
10693
c0040397 10694 * exp_aggr.adb:
65356e64
AC
10695 (Has_Default_Init_Comps): New function to check the presence of
10696 default initialization in an aggregate.
10697 (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
10698 extension aggregate of a limited record. In addition, a new formal
10699 was added to do not initialize the record controller (if any) during
10700 this recursive expansion of ancestors.
10701 (Init_Controller): Add support for limited record components.
10702 (Expand_Record_Aggregate): In case of default initialized components
10703 convert the aggregate into a set of assignments.
10704
10705 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
10706 describing the new syntax.
10707 Nothing else needed to be done because this subprogram delegates part of
10708 its work to P_Precord_Or_Array_Component_Association.
10709 (P_Record_Or_Array_Component_Association): Give support to the new
10710 syntax for default initialization of components.
10711
c0040397 10712 * sem_aggr.adb:
65356e64
AC
10713 (Resolve_Aggregate): Relax the strictness of the frontend in case of
10714 limited aggregates.
10715 (Resolve_Record_Aggregate): Give support to default initialized
10716 components.
10717 (Get_Value): In case of default initialized components, duplicate
10718 the corresponding default expression (from the record type
10719 declaration). In case of default initialization in the *others*
10720 choice, do not check that all components have the same type.
10721 (Resolve_Extension_Aggregate): Give support to limited extension
10722 aggregates.
10723
c0040397 10724 * sem_ch3.adb:
65356e64
AC
10725 (Check_Initialization): Relax the strictness of the front-end in case
10726 of aggregate and extension aggregates. This test is now done in
10727 Get_Value in a per-component manner.
10728
10729 * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
10730 expression corresponds to a limited aggregate. This test is now done
10731 in Get_Value.
10732
10733 * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
10734 Box_Present flag.
10735
10736 * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
10737 present in an N_Component_Association node
10738
107392003-11-13 Thomas Quinot <quinot@act-europe.fr>
10740
10741 * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
10742 type-conformant entry only if they are homographs.
10743
107442003-11-13 GNAT Script <nobody@gnat.com>
10745
10746 * Make-lang.in: Makefile automatically updated
10747
49add53f
RO
107482003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10749
10750 * adadecode.c: Use <> form of include for ctype.h.
10751 * sysdep.c [IN_RTS]: Use <> form of include for time.h.
10752
94bae1cc
RO
107532003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10754
10755 * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
10756 Works around PR middle-end/6552.
10757
463f452c
AC
107582003-11-10 Ed Falis <falis@gnat.com>
10759
10760 * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
10761
10762 * 5zinit.adb: (Install_Handler): Moved back to spec
10763 (Install_Signal_Handlers): Deleted
10764
10765 * 5zthrini.adb: Added context clause for System.Storage_Elements
10766 (Register): Only handles creation of taskVar; initialization moved to
10767 Thread_Body_Enter.
10768 (Reset_TSD): Deleted; replaced by Thread_Body_Enter
10769 Added declaration of environment task secondary stack and
10770 initialization.
10771
10772 * s-thread.adb: Implement bodies for thread body processing
10773
c0040397 10774 * s-thread.ads:
463f452c
AC
10775 Added comment identifying supported targets for pragma Thread_Body.
10776
107772003-11-10 Pascal Obry <obry@gnat.com>
10778
10779 * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
10780 GNAT_MAX_PATH_LEN.
10781
c0040397 10782 * s-fileio.adb:
463f452c
AC
10783 (Open): Properly check for string length before copying into the buffer.
10784 Raises Name_Error if buffer is too small. Note that this was a potential
10785 buffer overflow.
10786
107872003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
10788
10789 * bindgen.adb, comperr.adb: Code clean ups.
10790 * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
10791
107922003-11-10 Sergey Rybin <rybin@act-europe.fr>
10793
10794 * gnat1drv.adb: Add call to Sem_Elim.Initialize.
10795
107962003-11-10 Vincent Celier <celier@gnat.com>
10797
c0040397 10798 * gprcmd.adb:
463f452c
AC
10799 (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
10800 installation.
10801
10802 * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
10803
10804 * prj.adb: (Project_Empty): Add new boolean component Virtual
10805
10806 * prj.ads: (Virtual_Prefix): New constant string
10807 (Project_Data): New boolean component Virtual
10808
10809 * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
10810 a library project is extended by a virtual extending project.
10811
c0040397 10812 * prj-part.adb:
463f452c
AC
10813 Modifications throughout to implement extending-all project, including:
10814 (Virtual_Hash, Processed_Hash): New hash tables
10815 (Create_Virtual_Extending_Project): New procedure
10816 (Look_For_Virtual_Projects_For): New procedure
10817
c0040397 10818 * prj-proc.adb:
463f452c
AC
10819 (Process): After checking the projects, if main project is an
10820 extending-all project, set the object directory of all virtual extending
10821 project to the object directory of the main project.
10822 Adjust error message when a virtual extending project has the same
10823 object directory as an project being extended.
10824 (Recursive_Process): If name starts with the virtual prefix, set Virtual
10825 to True in the project data.
10826
c0040397 10827 * prj-tree.adb:
463f452c
AC
10828 (Default_Project_Node): Add new boolean component Extending_All
10829 (Is_Extending_All): New function
10830 (Set_Is_Extending_All): New procedure
10831
10832 * prj-tree.ads: (Is_Extending_All): New function
10833 (Set_Is_Extending_All): New procedure
10834 (Project_Node_Record): New boolean component Extending_All
10835
10836 * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
10837
c0040397 10838 * vms_data.ads:
463f452c
AC
10839 Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
10840
10841 * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
10842 "gprcmd prefix" to define it.
10843
108442003-11-10 Thomas Quinot <quinot@act-europe.fr>
10845
10846 * einfo.ads: Fix a typo and remove an extraneous word in comments.
10847
c0040397 10848 * lib-load.adb:
463f452c
AC
10849 (Create_Dummy_Package_Unit): Set the scope of the entity for the
10850 created dummy package to Standard_Standard, not to itself, to
10851 defend other parts of the front-end against encoutering a cycle in
10852 the scope chain.
10853
c0040397 10854 * sem_ch10.adb:
463f452c
AC
10855 (Analyze_With_Clause): When setting the entities for the successive
10856 N_Expanded_Names that constitute the name of a child unit, do not
10857 attempt to go further than Standard_Standard in the chain of scopes.
10858 This case arises from the placeholder units created by
10859 Create_Dummy_Package_Unit in the case of a with_clause for a
10860 nonexistent child unit.
10861
108622003-11-10 Ed Schonberg <schonberg@gnat.com>
10863
c0040397 10864 * exp_ch6.adb:
463f452c
AC
10865 (Expand_Thread_Body): Place subprogram on scope stack, so that new
10866 declarations are given the proper scope.
10867
c0040397 10868 * sem_ch13.adb:
463f452c
AC
10869 (Check_Expr_Constants): Reject an expression that contains a constant
10870 created during expansion, and that appears after the object to which
10871 the address clause applies.
10872
10873 * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
10874 Analyze_Iteration_Scheme, to rewrite a loop parameter specification
10875 that uses 'Range of a function call with controlled components, so
10876 that the function result can be finalized before starting the loop.
10877
c0040397 10878 * sem_ch8.adb:
463f452c
AC
10879 (Find_Selected_Component): Improve error message when prefix is
10880 an implicit dereference of an incomplete type.
10881
108822003-11-10 Robert Dewar <dewar@gnat.com>
10883
10884 * opt.ads: New Print_Standard flag for -gnatS switch
10885
10886 * sem_ch13.adb: Remove some additional checks for unaligned arrays
10887
10888 * cstand.adb (Create_Standard): Print out package standard if -gnatS
10889 switch set
10890
10891 * debug.adb: Update doc for -gnatds to discuss relationship with new
10892 -gnatS flag
10893
10894 * sinfo.adb: Add new field Entity_Or_Associated_Node
10895
10896 * sinfo.ads: Add new field Entity_Or_Associated_Node
10897 Update documentation for Associated_Node and Entity fields to clarify
10898 relationship and usage.
10899
c0040397 10900 * sprint.adb:
463f452c
AC
10901 (Write_Id): Properly process Associated_Node field in generic template
10902
c0040397 10903 * switch-c.adb:
463f452c
AC
10904 Recognize new -gnatS switch for printing package Standard
10905 This replaces gnatpsta
10906
c0040397 10907 * usage.adb:
463f452c
AC
10908 Add line for new -gnatS switch for printing package Standard
10909 This replaces gnatpsta
10910
c77c5f2e
AJ
109112003-11-10 Andreas Jaeger <aj@suse.de>
10912
10913 * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
10914 integer.
10915
5c90f17f
AC
109162003-11-10 Arnaud Charlet <charlet@act-europe.fr>
10917
10918 * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
10919 by gnat1.
10920
139f0d1e
AC
109212003-11-10 Arnaud Charlet <charlet@act-europe.fr>
10922
10923 * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
10924 no longer needed.
10925
10926 * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
10927
10928 * sysdep.c: Add handling of cygwin.
10929
f3e4c05c
GS
109302003-11-10 GNAT Script <nobody@gnat.com>
10931
10932 * Make-lang.in: Makefile automatically updated
10933
2cdc8909
AC
109342003-11-10 Arnaud Charlet <charlet@act-europe.fr>
10935
10936 PR 12950
10937 * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
10938 functions. Used to handle dynamic prefix relocation, via set_std_prefix.
10939 Replace GNAT_ROOT by GCC_ROOT.
10940
10941 * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
10942
37783865
ZW
109432003-11-06 Zack Weinberg <zack@codesourcery.com>
10944
10945 * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
10946 and update for changed meaning of GET_MODE_BITSIZE.
10947
6bc1c519
AC
109482003-11-04 Doug Rupp <rupp@gnat.com>
10949
10950 * sysdep.c: Problem discovered during IA64 VMS port.
10951 [VMS] #include <unixio.h> to get proper prototypes.
10952
37783865 10953 * adaint.c:
6bc1c519
AC
10954 Issues discovered/problems fixed during IA64 VMS port.
10955 [VMS] #define _POSIX_EXIT for proper semantics.
10956 [VMS] #include <unixio.h> for proper prototypes.
10957 [VMS] (fork): #define IA64 version.
10958 (__gnat_os_exit): Remove unnecessary VMS specific code.
10959
109602003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10961
10962 Part of PR ada/12806
10963
10964 * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
10965 tree, not integer.
10966
37783865 10967 * decl.c:
6bc1c519
AC
10968 (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
10969 not integer.
10970
10971 * targtyps.c, decl.c, misc.c,
10972 gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
10973 routines to work around change in FP sizing semantics in GCC.
10974
37783865 10975 * utils.c:
6bc1c519
AC
10976 (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
10977
10978 * gigi.h: (enumerate_modes): New function.
10979
10980 * Make-lang.in: (ada/misc.o): Add real.h.
10981
10982 * misc.c: (enumerate_modes): New function.
10983
109842003-11-04 Robert Dewar <dewar@gnat.com>
10985
10986 * 3vtrasym.adb: Minor reformatting
10987 Use terminology encoded/decoded name, rather than C++ specific notion
10988 of mangling (this is the terminology used throughout GNAT).
10989
10990 * einfo.h: Regenerated
10991
10992 * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
10993
37783865 10994 * exp_ch6.adb:
6bc1c519
AC
10995 (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
10996
10997 * par-prag.adb: Add dummy entry for Thread_Body pragma
10998
37783865 10999 * rtsfind.ads:
6bc1c519
AC
11000 Add entries for System.Threads entities for thread body processing
11001
37783865 11002 * sem_attr.adb:
6bc1c519
AC
11003 (Analyze_Pragma, Access attributes): Check these are not applied to a
11004 thread body, since this is not permitted
11005
11006 * sem_prag.adb: Add processing for Thread_Body pragma.
11007 Minor comment fix.
11008
37783865 11009 * sem_res.adb:
6bc1c519
AC
11010 (Resolve_Call): Check for incorrect attempt to call a thread body
11011 procedure with a direct call.
11012
11013 * snames.ads, snames.adb: Add entry for Thread_Body pragma
11014 Add names associated with thread body expansion
11015
11016 * snames.h: Add entry for Thread_Body pragma
11017
11018 * s-thread.adb: Add entries for thread body processing
11019 These are dummy bodies so far
11020
11021 * s-thread.ads: Add documentation on thread body handling.
11022 Add entries for thread body processing.
11023
110242003-11-04 Javier Miranda <miranda@gnat.com>
11025
37783865 11026 * sem_ch10.adb:
6bc1c519
AC
11027 (Build_Limited_Views): Return after posting an error in case of limited
11028 with_clause on subprograms, generics, instances or generic renamings
11029 (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
11030 on subprograms, generics, instances or generic renamings
11031
110322003-11-04 Arnaud Charlet <charlet@act-europe.fr>
11033
11034 * raise.c (setup_to_install): Correct mistake in last revision; two
11035 arguments out of order.
11036
11037 * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
11038 gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
11039 notice, missed in previous change.
11040 Remove trailing blanks and other style errors introduced in previous
11041 change.
11042
110432003-11-04 Olivier Hainque <hainque@act-europe.fr>
11044
11045 * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
11046 rid of the wrapper for a LJM type, ensuring we don't do that if the
11047 field is addressable. This avoids potential low level type view
11048 mismatches later on, for instance in a by-reference argument passing
11049 process.
11050
110512003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11052
11053 * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
11054 aligned at byte boundary.
11055
110562003-11-04 Joel Brobecker <brobecker@gnat.com>
11057
11058 * decl.c (components_to_record): Do not delete the empty variants from
11059 the end of the union type.
11060
110612003-11-04 Ed Schonberg <schonberg@gnat.com>
11062
11063 * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
11064 operation for a derived type, an explicit declaration may use a local
11065 subtype of Boolean.
11066
110672003-11-04 Vincent Celier <celier@gnat.com>
11068
11069 * make.adb (Gnatmake): Allow main sources on the command line with a
11070 library project when it is only for compilation (no binding or
11071 linking).
11072
487e9fff
RO
110732003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11074
11075 * Makefile.in: Remove many duplicate variables.
11076
63069342
KC
110772003-11-03 Kelley Cook <kcook@gcc.gnu.org>
11078
11079 * Make-lang.in (dvi): Move targets to $(docobjdir).
11080 (gnat_ug_vms.dvi): Simplify rule and adjust target.
11081 (gnat_ug_wnt.dvi): Likewise.
11082 (gnat_ug_unx.dvi): Likewise.
11083 (gnat_ug_vxw.dvi): Likewise.
11084 (gnat_rm.dvi): Likewise.
11085 (gnat-style.dvi): Likewise.
11086
c2edc52b
KC
110872003-10-31 Kelley Cook <kcook@gcc.gnu.org>
11088
11089 * gigi.h: Missed commit from update for C90.
11090
14df9585
KC
110912003-10-31 Kelley Cook <kcook@gcc.gnu.org>
11092
11093 * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
11094
acd8e984
AS
110952003-10-31 Andreas Schwab <schwab@suse.de>
11096
11097 * raise.c (get_action_description_for): Fix typo in last change.
11098
b2c62c45
NN
110992003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
11100
11101 PR ada/12761
11102 * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
11103 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
11104
9373164a
KC
111052003-10-30 Kelley Cook <kcook@gcc.gnu.org>
11106
11107 * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
11108 ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
11109 gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
11110 sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
11111 trans.c, utils.c, utils2.c: Convert function prototypes to C90.
11112
bde58e32
AC
111132003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
11114
37783865 11115 * 3vtrasym.adb:
bde58e32
AC
11116 Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
11117 numbers when symbol name is too long.
11118
111192003-10-30 Ed Falis <falis@gnat.com>
11120
11121 * g-signal.ads, g-signal.adb: New files
11122
11123 * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
11124
11125 * Makefile.rtl: Introduce GNAT.Signals
11126
111272003-10-30 Robert Dewar <dewar@gnat.com>
11128
11129 * freeze.adb: Minor reformatting
11130
11131 * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
11132
37783865
ZW
11133 * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
11134 par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
bde58e32
AC
11135 New handling of Id_Check parameter to improve recognition of keywords
11136 used as identifiers.
11137 Update copyright notice to include 2003
11138
657a9dd9
AC
111392003-10-29 Robert Dewar <dewar@gnat.com>
11140
11141 * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
11142 sem_ch10.adb: Minor reformatting
11143
11144 * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
11145 (Expand_Assign_Record): Test right hand side for bit unaligned as well
11146
111472003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
11148
37783865 11149 * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
657a9dd9
AC
11150 Support for TBK$SYMBOLIZE-based symbolic traceback.
11151
111522003-10-29 Jose Ruiz <ruiz@act-europe.fr>
11153
37783865 11154 * exp_disp.adb:
657a9dd9
AC
11155 Revert previous change, that did not work well when pragma No_Run_Time
11156 was used in conjunction with a run-time other than ZFP.
11157
111582003-10-29 Vincent Celier <celier@gnat.com>
11159
37783865 11160 * make.adb:
657a9dd9
AC
11161 (Gnatmake): When there are no Ada mains in attribute Main, disable the
11162 bind and link steps only is switch -z is not used.
11163
111642003-10-29 Arnaud Charlet <charlet@act-europe.fr>
11165
11166 * Makefile.generic: Remove duplicated setting of CC.
11167
11168 * Makefile.prolog: Set CC to gcc by default, to override make's
11169 default (cc).
11170
11171 * einfo.h: Regenerated.
11172
111732003-10-29 Ed Schonberg <schonberg@gnat.com>
11174
11175 * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
11176 current body, after compiling subunit.
11177
11178 * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
11179 when in deleted code, because gigi needs properly ordered freeze
11180 actions to annotate types.
11181
11182 * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
11183 prevent the premature freezing of record type that contains
11184 subcomponents with a private type that does not yet have a completion.
11185
111862003-10-29 Javier Miranda <miranda@gnat.com>
11187
37783865 11188 * sem_ch12.adb:
657a9dd9
AC
11189 (Analyze_Package_Instantiation): Check that instances can not be used in
11190 limited with_clauses.
11191
37783865 11192 * sem_ch8.adb:
657a9dd9
AC
11193 (Analyze_Package_Renaming): Check that limited withed packages cannot
11194 be renamed. Improve text on error messages related to limited
11195 with_clauses.
11196
11197 * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
11198
11199 * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
11200 Update copyright notice.
11201
11202 * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
11203 (Install_Limited_Context_Clauses): New subprogram that isolates all the
11204 checks required for limited context_clauses and installs the limited
11205 view.
11206 (Install_Limited_Withed_Unit): Complete its documentation.
11207 (Analyze_Context): Check that limited with_clauses are only allowed in
11208 package specs.
11209 (Install_Context): Call Install_Limited_Context_Clauses after the
11210 parents have been installed.
11211 (Install_Limited_Withed_Unit): Add documentation. Mark the installed
11212 package as 'From_With_Type'; this mark indicates that the limited view
11213 is installed. Used to check bad usages of limited with_clauses.
11214 (Build_Limited_Views): Do not add shadow entities to the scope's list
11215 of entities. Do not add real entities to the Non_Limited_Views chain.
11216 Improve error notification.
11217 (Remove_Context_Clauses): Remove context clauses in two phases:
11218 limited views first and regular views later (to maintain the
11219 stack model).
11220 (Remove_Limited_With_Clause): If the package is analyzed then reinstall
11221 its visible entities.
11222
112232003-10-29 Thomas Quinot <quinot@act-europe.fr>
11224
11225 * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
11226 with any type that Is_Fixed_Point_Type.
11227
11228 * sinfo.ads: Fix documentation for Associated_Node attribute.
11229
112302003-10-29 Sergey Rybin <rybin@act-europe.fr>
11231
11232 * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
11233 both '-gnatc' and '-gnatt' are specified.
11234
11235 * atree.adb (Initialize): Add initialization for Node_Count (set to
11236 zero).
11237
112382003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11239
11240 * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
11241 do not consider as Pure.
11242
11243 Part of implementation of function-at-a-time:
11244
11245 * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
11246 (tree_transform): Add new argument to build_component_ref.
11247 (tree_transform, case N_Assignment_Statement): Make and return an
11248 EXPR_STMT.
11249 (tree_transform): If result IS_STMT, set flags and return it.
11250 (gnat_expand_stmt, set_lineno_from_sloc): New functions.
11251
11252 * utils2.c (build_simple_component_ref, build_component_ref): Add new
11253 arg, NO_FOLD_P.
11254 (build_binary_op, case EQ_EXPR): Pass additional arg to it.
11255 (build_allocator): Likewise.
11256
11257 * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
11258 Add new arg to build_component_ref.
11259 (maybe_unconstrained_array, unchecked_convert): Likewise.
11260
11261 * ada-tree.def (EXPR_STMT): New code.
11262
11263 * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
11264
11265 * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
11266 build_component_ref calls.
11267
11268 * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
11269
11270 * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
11271 (build_component_ref): Add new argument, NO_FOLD_P.
11272
ecad994d
AC
112732003-10-27 Arnaud Charlet <charlet@act-europe.fr>
11274
11275 * Makefile.generic: Add missing substitution on object_deps handling.
11276
11277 PR ada/5909:
11278 * Make-lang.in (check-ada): Enable ACATS test suite.
11279
112802003-10-27 Robert Dewar <dewar@gnat.com>
11281
37783865 11282 * exp_ch3.adb:
ecad994d
AC
11283 (Freeze_Array_Type): We do not need an initialization routine for types
11284 derived from String or Wide_String. They should be treated the same
11285 as String and Wide_String themselves. This caused problems with the
11286 use of Initialize_Scalars.
11287
37783865 11288 * exp_ch5.adb:
ecad994d
AC
11289 (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
11290 composites. This allows use of component clauses that are not byte
11291 aligned.
11292
37783865 11293 * sem_prag.adb:
ecad994d
AC
11294 (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
11295 is an attempt to pack an array of atomic objects.
11296
11297 * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
11298
112992003-10-27 Pascal Obry <obry@gnat.com>
11300
37783865 11301 * g-dirope.adb:
ecad994d
AC
11302 (Basename): Check for drive letters in a pathname only on DOS based OS.
11303
113042003-10-27 Vincent Celier <celier@gnat.com>
11305
37783865 11306 * make.adb:
ecad994d
AC
11307 (Gnatmake): When unable to change dir to the object dir, display the
11308 content of the parent dir of the obj dir, to try to understand why this
11309 happens.
11310
113112003-10-27 GNAT Script <nobody@gnat.com>
11312
11313 * Make-lang.in: Makefile automatically updated
11314
113152003-10-27 Ed Schonberg <schonberg@gnat.com>
11316
37783865 11317 * sem_ch12.adb:
ecad994d
AC
11318 (Inline_Instance_Body): Indicate that the save/restore of use_clauses
11319 should not be done in Save/Restore_Scope_Stack, because it is performed
11320 locally.
11321
37783865 11322 * sem_ch8.adb:
ecad994d
AC
11323 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
11324 whether use clauses should be removed/restored.
11325
37783865 11326 * sem_ch8.ads:
ecad994d
AC
11327 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
11328 whether use clauses should be removed/restored.
11329
b6b3c138
AJ
113302003-10-26 Andreas Jaeger <aj@suse.de>
11331
11332 * Makefile.in: Remove duplicated lines.
11333
b6d83931
AC
113342003-10-24 Arnaud Charlet <charlet@act-europe.fr>
11335
11336 * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
11337 minimize the differences with ACT tree.
11338
11339 * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
11340 gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
11341 Gnatvsn.Gnat_Static_Version_String to reduce differences between
11342 ACT and FSF trees.
11343
113442003-10-24 Pascal Obry <obry@gnat.com>
11345
11346 * adadecode.c (ostrcpy): New function.
11347 (__gnat_decode): Use ostrcpy of strcpy.
11348 (has_prefix): Set first parameter a const.
11349 (has_suffix): Set first parameter a const.
11350 Update copyright notice. Fix source name in header.
11351 Removes a trailing space.
11352 PR ada/12014.
11353
113542003-10-24 Jose Ruiz <ruiz@act-europe.fr>
11355
b6b3c138 11356 * exp_disp.adb:
b6d83931
AC
11357 Remove the test against being in No_Run_Time_Mode before generating a
11358 call to Register_Tag. It is redundant with the test against the
11359 availability of the function Register_Tag.
11360
113612003-10-24 Vincent Celier <celier@gnat.com>
11362
11363 * g-catiio.adb: (Month_Name): Correct spelling of February
11364
11365 * make.adb: (Mains): New package
11366 (Initialize): Call Mains.Delete
11367 (Gnatmake): Check that each main on the command line is a source of a
11368 project file and, if there are several mains, each of them is a source
11369 of the same project file.
11370 (Gnatmake): When a foreign language is specified in attribute Languages,
11371 no main is specified on the command line and attribute Mains is not
11372 empty, only build the Ada main. If there is no Ada main, just compile
11373 the Ada sources and their closure.
11374 (Gnatmake): If a main is specified on the command line with directory
11375 information, check that the source exists and, if it does, that the path
11376 is the actual path of a source of a project.
11377
b6b3c138 11378 * prj-env.adb:
b6d83931
AC
11379 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
11380 Full_Path is True, return the full path instead of the simple file name.
11381 (Project_Of): New function
11382
b6b3c138 11383 * prj-env.ads:
b6d83931
AC
11384 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
11385 defaulted to False.
11386 (Project_Of): New function
11387
113882003-10-24 Arnaud Charlet <charlet@act-europe.fr>
11389
b6b3c138 11390 * Makefile.generic:
b6d83931
AC
11391 Ensure objects of main project are always checked and rebuilt if needed.
11392 Set CC to gcc by default.
11393 Prepare new handling of link by creating a global archive (not activated
11394 yet).
11395
11396 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
11397 stringt.h: Update copyright notice. Remove trailing blanks.
11398 Fix source name in header.
11399
114002003-10-24 Robert Dewar <dewar@gnat.com>
11401
11402 * sem_ch12.adb: Minor reformatting
11403
b6b3c138 11404 * sem_ch3.adb:
b6d83931
AC
11405 Minor reformatting (including new function return style throughout)
11406
b6b3c138 11407 * sem_ch3.ads:
b6d83931
AC
11408 Minor reformatting (including new function return style throughout)
11409
114102003-10-24 Arnaud Charlet <charlet@act-europe.fr>
11411
11412 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
11413 stringt.h: Update copyright notice. Remove trailing blanks.
11414 Fix source name in header.
11415
114162003-10-24 GNAT Script <nobody@gnat.com>
11417
11418 * Make-lang.in: Makefile automatically updated
11419
b4e2d709
NN
114202003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
11421
11422 * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
11423 stringt.h: Convert to ISO C90 declarations and definitions.
11424
9d7d51be
AC
114252003-10-23 Thomas Quinot <quinot@act-europe.fr>
11426
11427 PR ada/11978:
11428 * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
11429 External_Tag attribute definition clauses.
11430
114312003-10-23 Ed Schonberg <schonberg@gnat.com>
11432
11433 PR ada/7613:
11434 * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
11435 child unit, generate a fully qualified name to avoid spurious errors
11436 when the context contains renamings of different child units with
11437 the same simple name.
11438
11439 * exp_dbug.ads: Add documentation on name qualification for renamings
11440 of child units.
11441
114422003-10-23 Robert Dewar <dewar@gnat.com>
11443
11444 * g-regpat.ads, g-regpat.adb: Minor reformatting
11445
114462003-10-23 Jose Ruiz <ruiz@act-europe.fr>
11447
11448 * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
11449
114502003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11451
11452 * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
11453 Machine call.
11454
11455 * urealp.h: (Machine): Update to proper definition.
11456
6d244bbe
AC
114572003-10-23 Arnaud Charlet <charlet@act-europe.fr>
11458
11459 * init.c, adaint.c: Minor reformatting.
11460
8f4eb34b
DS
114612003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
11462
6d244bbe 11463 * adaint.c (w32_epoch_offset): Define static const at file level.
8f4eb34b
DS
11464 (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
11465 rather than t_create, t_access in call to GetFileTime. Use union
11466 to convert between FILETIME and unsigned long long.
11467 (__gnat_file_time_name): Test for invalid file handle.
11468 (__gnat_set_filetime_name): Support win32 targets using
11469 w32api SetFileTime.
11470
25412599
DS
114712003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
11472
11473 * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
11474
11475 * ctrl_c.c (__gnat_int_handler): Remove declaration.
11476
11477 * decl.c (creat_concat_name): Const-ify prefix.
11478
11479 * adaint.c: Include ctype.h if __MINGW32__.
11480 (__gnat_readlink): Mark arguments as possibly unused.
11481 (__gnat_symlink): Likewise.
11482 (__gnat_is_symbolic_link): Likewise.
11483 (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
11484 declaration
b6b3c138 11485 (__gnat_file_time_name): Don't declare struct stat statbuf when
25412599
DS
11486 not needed.
11487 (__gnat_is_absolute_path): Add parenthesis around condition of
11488 'if' statement to avoid warning.
11489 (__gnat_plist_init): Specify void as parameter.
11490 (plist_enter): Likewise.
11491 (plist_leave): Likewise.
11492 (remove_handle): Make static. Initialize prev.
11493
698a5e79
AC
114942003-10-22 Arnaud Charlet <charlet@act-europe.fr>
11495
6d244bbe 11496 * Makefile.in: Disable build of gnatpsta. PR ada/10110.
698a5e79
AC
11497 * cstreams.c (__gnat_full_name): Minor improvements and clean up
11498 of previous change.
11499
e97c30aa
RO
115002003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11501
11502 * tracebak.c (MAX): Avoid redefinition warning.
11503
11504 * init.c [sgi] (__gnat_error_handler): Remove i, unused.
11505 Change msg to const char *.
11506 (__gnat_install_handler): Remove ss, unused.
11507 [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
11508 to const char *.
11509 * cstreams.c (__gnat_full_name): Declare p only when used.
11510 (__gnat_full_name) [sgi] Return buffer.
11511
65f1ebd1
AC
115122003-10-22 Arnaud Charlet <charlet@act-europe.fr>
11513
11514 * mingw32.h: New file.
0c644933
AC
11515 * gnat_wrapper.adb: New file.
11516
6d244bbe 115172003-10-22 Jerome Roussel <roussel@act-europe.fr>
0c644933
AC
11518
11519 * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
11520 string match a pre compiled regular expression (the corresponding
11521 version of the function working on a raw regular expression)
11522 Fix typos in various comments
11523 Update copyright notice in spec
11524
6d244bbe 115252003-10-21 Gary Dismukes <dismukes@gnat.com>
0c644933 11526
b6b3c138 11527 * exp_ch3.adb:
0c644933
AC
11528 (Component_Needs_Simple_Initialization): Return False when the type is a
11529 packed bit array. Revise spec comments to document this case.
11530
b6b3c138 11531 * exp_prag.adb:
0c644933
AC
11532 (Expand_Pragma_Import): Set any expression on the imported object to
11533 empty to avoid initializing imported objects (in particular this
11534 covers the case of zero-initialization of bit arrays).
11535 Update copyright notice.
11536
6d244bbe 115372003-10-21 Ed Schonberg <schonberg@gnat.com>
0c644933 11538
b6b3c138 11539 * sem_ch12.adb:
0c644933
AC
11540 (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
11541 a subunit is missing.
11542 (Instantiate_Subprogram_Body): If body of function is missing, set type
11543 of return expression explicitly in dummy body, to prevent cascaded
11544 errors when a subunit is missing.
11545 Fixes PR 5677.
11546
b6b3c138 11547 * sem_ch3.adb:
0c644933
AC
11548 (Access_Subprogram_Declaration): Verify that return type is valid.
11549 Fixes PR 8693.
11550
b6b3c138 11551 * sem_elab.adb:
0c644933
AC
11552 (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
11553 generic.
11554 Fixes PR 12318.
11555
b6b3c138 11556 * sem_util.adb:
0c644933
AC
11557 (Corresponding_Discriminant): If the scope of the discriminant is a
11558 private type without discriminant, use its full view.
11559 Fixes PR 8247.
65f1ebd1 11560
fbf5a39b
AC
115612003-10-21 Arnaud Charlet <charlet@act-europe.fr>
11562
11563 * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
11564 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
11565 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
11566 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
11567 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
11568 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
11569 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
11570 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
11571 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
11572 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
11573 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
11574 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
11575 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
11576 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
11577 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
11578 a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
11579 a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
11580 a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
11581 bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
11582 erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
11583 err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
11584 g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
11585 g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
11586 g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
11587 g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
11588 g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
11589 g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
11590 gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
11591 g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
11592 g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
11593 i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
11594 prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
11595 prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
11596 s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
11597 s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
11598 s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
11599 s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
11600 s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
11601 s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
11602 s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
11603 s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
11604 socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
11605 s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
11606 s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
11607 s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
11608 styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
11609 s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
11610 tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
11611 vms_conv.ads, vms_conv.adb, vms_data.ads,
11612 vxaddr2line.adb: Files added. Merge with ACT tree.
11613
11614 * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
11615 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
11616 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
11617 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
11618 g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
11619 s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
11620 s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
11621 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
11622 s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
11623 s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
11624
11625 * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
11626 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
11627 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
11628 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
11629 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
11630 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
11631 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
11632 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
11633 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
11634 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
11635 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
11636 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
11637 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
11638 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
11639 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
11640 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
11641 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
11642 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
11643 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
11644 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
11645 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
11646 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
11647 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
11648 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
11649 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
11650 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
11651 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
11652 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
11653 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
11654 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
11655 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
11656 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
11657 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
11658 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
11659 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
11660 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
11661 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
11662 a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
11663 a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
11664 a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
11665 a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
11666 a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
11667 ali.adb, ali.ads, ali-util.adb, ali-util.ads,
11668 a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
11669 a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
11670 a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
11671 a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
11672 a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
11673 a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
11674 a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
11675 a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
11676 a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
11677 a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
11678 a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
11679 a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
11680 atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
11681 a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
11682 a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
11683 bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
11684 checks.adb, checks.ads, cio.c, comperr.adb,
11685 comperr.ads, csets.adb, cstand.adb, cstreams.c,
11686 debug_a.adb, debug_a.ads, debug.adb, decl.c,
11687 einfo.adb, einfo.ads, errout.adb, errout.ads,
11688 eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
11689 expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
11690 exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
11691 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
11692 exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
11693 exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
11694 exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
11695 exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
11696 exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
11697 fe.h, fmap.adb, fmap.ads, fname.adb,
11698 fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
11699 freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
11700 g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
11701 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
11702 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
11703 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
11704 g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
11705 g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
11706 g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
11707 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
11708 g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
11709 g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
11710 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
11711 g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
11712 gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
11713 gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
11714 gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
11715 gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
11716 gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
11717 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
11718 g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
11719 g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
11720 g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
11721 g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
11722 g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
11723 g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
11724 g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
11725 i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
11726 i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
11727 inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
11728 itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
11729 layout.adb, lib.adb, lib.ads, lib-list.adb,
11730 lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
11731 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
11732 link.c, live.adb, make.adb, make.ads,
11733 Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
11734 mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
11735 mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
11736 misc.c, mkdir.c, mlib.adb, mlib.ads,
11737 mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
11738 mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
11739 namet.adb, namet.ads, namet.h, nlists.ads,
11740 nlists.h, nmake.adt, opt.adb, opt.ads,
11741 osint.adb, osint.ads, osint-b.adb, osint-c.adb,
11742 par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
11743 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
11744 par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
11745 par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
11746 prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
11747 prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
11748 prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
11749 prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
11750 prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
11751 prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
11752 prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
11753 prj-util.adb, prj-util.ads, raise.c, raise.h,
11754 repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
11755 rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
11756 s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
11757 s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
11758 scans.ads, scn.adb, scn.ads, s-crc32.adb,
11759 s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
11760 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
11761 sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
11762 sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
11763 sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
11764 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
11765 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
11766 sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
11767 sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
11768 sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
11769 sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
11770 sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
11771 s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
11772 s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
11773 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
11774 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
11775 s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
11776 s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
11777 s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
11778 sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
11779 sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
11780 sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
11781 s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
11782 s-memory.adb, s-memory.ads, snames.adb, snames.ads,
11783 snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
11784 s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
11785 s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
11786 s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
11787 s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
11788 s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
11789 s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
11790 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
11791 s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
11792 s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
11793 s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
11794 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
11795 s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
11796 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
11797 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
11798 s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
11799 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
11800 stringt.adb, stringt.ads, stringt.h, style.ads,
11801 stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
11802 s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
11803 s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
11804 switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
11805 s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
11806 table.adb, table.ads, targparm.adb, targparm.ads,
11807 targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
11808 trans.c, tree_io.adb, treepr.adb, treeprs.adt,
11809 ttypes.ads, types.ads, types.h, uintp.adb,
11810 uintp.ads, uintp.h, uname.adb, urealp.adb,
11811 urealp.ads, urealp.h, usage.adb, utils2.c,
11812 utils.c, validsw.adb, validsw.ads, widechar.adb,
11813 xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
11814 xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
11815 einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
11816 gnatvsn.ads: Merge with ACT tree.
11817
11818 * gnatvsn.adb: Rewritten in a simpler and more efficient way.
11819
97ae108d
MM
118202003-10-20 Mark Mitchell <mark@codesourcery.com>
11821
de696511
MM
11822 * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
11823 (gnat_ug_vmx.info): Likewise.
11824 (gnat_ug_vxw.info): Likewise.
11825 (gnat_ug_wnt.info): Likewise.
11826 (gnat_rm.info): Likewise.
11827 (gnat-style.info): Likewise.
11828
97ae108d
MM
11829 * Make-lang.in (ada.install-info): Remove target.
11830 (info): New target.
11831 (install-info): Likewise.
11832 (gnat_ug_unx.info): Simplify rule.
11833 (gnat_ug_vmx.info): Likewise.
11834 (gnat_ug_vxw.info): Likewise.
11835 (gnat_ug_wnt.info): Likewise.
11836 (gnat_rm.info): Likewise.
11837 (gnat-style.info): Likewise.
11838
43aba518
NN
118392003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
11840
11841 * Make-lang.in: Replace uses of $(target_alias) with
11842 $(target_noncanonical).
11843 * ada/Makefile.in: Remove unused mention of $(target_alias).
11844
62b81e45
MM
118452003-10-06 Mark Mitchell <mark@codesourcery.com>
11846
11847 * Make-lang.in (ada.info): Replace with ...
11848 (info): ... this.
11849 (ada.dvi): Replace with ...
11850 (dvi): ... this.
11851
783be936
ZW
118522003-09-29 Zack Weinberg <zack@codesourcery.com>
11853
11854 * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
11855 initialize dconstp5 and dconstmp5.
11856
177560b2
RH
118572003-09-28 Richard Henderson <rth@redhat.com>
11858
11859 * trans.c (tree_transform): Update call to expand_asm_operands.
11860
f31686a3
RH
118612003-09-21 Richard Henderson <rth@redhat.com>
11862
11863 * trans.c, utils.c: Revert.
11864
7e2af53a
RH
118652003-09-21 Richard Henderson <rth@redhat.com>
11866
11867 * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
11868 change to const.
11869
5f1e32fa
MM
118702003-09-04 Michael Matz <matz@suse.de>
11871
11872 * misc.c: Include "target.h".
11873 * Make-lang.in (misc.o): Add dependency on target.h.
11874
61f71b34
DD
118752003-09-03 DJ Delorie <dj@redhat.com>
11876
11877 * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
11878 hook.
11879
2ed26f6b
ZW
118802003-08-30 Zack Weinberg <zack@codesourcery.com>
11881
11882 * Makefile.in: Update substitutions to match changes to
11883 configure. Use include directives instead of @-insertions
11884 to read in host and target fragments. Add a rule to
11885 regenerate ada/Makefile.
11886
b2e608ca
NB
118872003-07-18 Neil Booth <neil@daikokuya.co.uk>
11888
11889 * lang-options.h: Remove.
11890 * lang.opt: Add help text.
11891
0cea056b
NS
118922003-07-07 Nathan Sidwell <nathan@codesourcery.com>
11893
11894 * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
11895 calls.
11896
cb66e385
NB
118972003-07-06 Neil Booth <neil@daikokuya.co.uk>
11898
11899 * misc.c (gnat_handle_option): Don't handle filenames.
11900
8c90b13a
L
119012003-07-04 H.J. Lu <hongjiu.lu@intel.com>
11902
11903 * Make-lang.in: Replace PWD with PWD_COMMAND.
11904 * Makefile.adalib: Likewise.
11905 * Makefile.in: Likewise.
11906
9c286213
MK
119072003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
11908
11909 * misc.c (gnat_argv): Revert last change.
11910 (gnat_handle_option, gnat_init_options): Copy arguments.
11911
b9add449
NB
119122003-07-03 Neil Booth <neil@daikokuya.co.uk>
11913
9c286213 11914 * misc.c (gnat_argv): Make const.
b9add449 11915
836d77a9
NB
119162003-07-02 Neil Booth <neil@daikokuya.co.uk>
11917
11918 * misc.c (save_argc, save_argv): Keep non-static!
11919
b86f6cd9
NB
119202003-07-02 Neil Booth <neil@daikokuya.co.uk>
11921
11922 * misc.c (save_argc, save_argv): Make static.
11923 (gnat_init_options): New prototype.
11924 (gnat_init_options): Update.
11925
6344b1f1
MK
119262003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
11927
11928 * gnat_ug.texi: Remove unlikely characters from @vars.
11929 * gnat_ug_vms.texi: Regenerate.
11930
2e040219
NS
119312003-06-27 Nathan Sidwell <nathan@codesourcery.com>
11932
11933 * misc.c (record_code_position): Adjust emit_note call.
11934
9eee5e72
NB
119352003-06-26 Neil Booth <neil@daikokuya.co.uk>
11936
11937 * misc.c (gnat_handle_option): Don't check for missing arguments.
11938
1f9cc6db
NS
119392003-06-20 Nathan Sidwell <nathan@codesourcery.com>
11940
11941 * utils.c (end_subprog_body): Adjust expand_function_end call.
11942
23d6baa3
MK
119432003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
11944
11945 * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
11946 Bind_Main_Program.
11947
be43ab4e
NB
119482003-06-15 Neil Booth <neil@daikokuya.co.uk>
11949
11950 * lang.opt: Declare Ada.
11951 * misc.c (gnat_init_options): Update.
11952
ee6b0296
NS
119532003-06-14 Nathan Sidwell <nathan@codesourcery.com>
11954
11955 * utils.c (begin_subprog_body): Adjust init_function_start call.
11956
d7b42618
NB
119572003-06-14 Neil Booth <neil@daikokuya.co.uk>
11958
11959 * Make-lang.in: Update to use options.c and options.h.
11960 * misc.c: Include options.h not aoptions.h.
11961 (gnat_handle_option): Abort on unrecognized switch.
11962 (gnat_init_options): Request Ada switches.
11963
57eb6503
NB
119642003-06-14 Neil Booth <neil@daikokuya.co.uk>
11965
11966 * lang.opt: Add -Wall.
11967 * misc.c (gnat_handle_option): Handle it.
11968
70fd6569
NB
119692003-06-12 Neil Booth <neil@daikokuya.co.uk>
11970
11971 * misc.c (gnat_handle_option): Fix warnings.
11972
8cdea5a1
MK
119732003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
11974
11975 * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
11976
3c900cb5
NB
119772003-06-11 Neil Booth <neil@daikokuya.co.uk>
11978
11979 * Make-lang.in: Update to handle command-line options.
11980 * lang.opt: New file.
11981 * misc.c: Include aoptions.h.
11982 (cl_options_count, cl_options): Remove.
11983 (gnat_handle_option): New.
11984 (gnat_decode_option): Remove.
11985 (LANG_HOOKS_DECODE_OPTION): Remove.
11986 (LANG_HOOKS_HANDLE_OPTION): Override.
11987
e8face4c
NN
119882003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
11989
11990 * init.c, misc.c, trans.c, utils.c: Remove dead code.
11991
4665e56c
NN
119922003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
11993
11994 * Makefile.in: Replace "host_canonical" with "host" for autoconf
11995 substitution.
11996
a165c302
NB
119972003-06-08 Neil Booth <neil@daikokuya.co.uk>
11998
11999 * Make-lang.in: Update.
12000 * misc.c: Include opts.h. Define cl_options_count and cl_options.
12001
2772ef3e
NB
120022003-06-07 Neil Booth <neil@daikokuya.co.uk>
12003
12004 * misc.c (gnat_init_options): Update.
12005
d8277a55
MK
120062003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
12007
12008 * Make-lang.in (ada/b_gnatb.o-warn): Remove.
12009 * bindgen.adb (Gen_Main_C): Mark ensure_reference with
12010 __attribute__ ((__unused__)).
12011
602a82f3 120122003-06-05 Jan Hubicka <jh@suse.cz>
8f231b5d
JH
12013
12014 * Make-lang.in: Add support for stageprofile and stagefeedback
12015
3aa07c6d
MK
120162003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
12017
12018 * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
12019 (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
12020
f1093866
MK
120212003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
12022
12023 * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
12024 Remove non-VMS directive.
12025 (Switches for gnatlbr, Optimization Levels): Remove non-VMS
12026 alternatives.
12027 (Examples of gnatls Usage): Remove VMS alternative.
dee2df72
OH
12028
120292003-06-04 Olivier Hainque <hainque@act-europe.fr>
12030
2ed26f6b
ZW
12031 PR ada/9953:
12032 * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
12033 and turn ZCX_By_Default back to False since the underlying support
12034 is not quite there yet.
dee2df72 12035
80eaf415
AJ
120362003-06-01 Andreas Jaeger <aj@suse.de>
12037
12038 * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
12039 and ROUND_TYPE_SIZE_UNIT.
12040
36f9020c
GB
120412003-05-22 Geert Bosch <bosch@gnat.com>
12042
12043 * gnat_rm.texi : Remove reference to Ada Core Technologies.
12044
e7b5f0c9
NS
120452003-05-03 Nathan Sidwell <nathan@codesourcery.com>
12046
12047 * trans.c (tree_transform): Use location_t and input_location
12048 directly.
12049 (build_unit_elab): Likewise.
12050 * utils.c (create_label_decl): Likewise.
12051
d479d37f
NS
120522003-05-01 Nathan Sidwell <nathan@codesourcery.com>
12053
561712fe
NS
12054 * trans.c (tree_transform, build_unit_elab,
12055 set_lineno): Rename lineno to input_line.
d479d37f
NS
12056 * utils.c (pushdecl, create_label_decl, begin_subprog_body,
12057 end_subprog_body): Likewise.
12058 * utils2.c (build_call_raise): Likewise.
12059
4f9335cd
LG
120602003-05-01 Laurent Guerby <guerby@acm.org>
12061
2ed26f6b
ZW
12062 PR ada/10546
12063 * 5iosinte.ads: Increase pthread_cond_t size to match recent
12064 LinuxThread and NPTL version, merge from ACT.
80eaf415 12065
0864034e
ZW
120662003-04-28 Zack Weinberg <zack@codesourcery.com>
12067
12068 * utils.c (convert): No need to clear TREE_CST_RTL.
12069
bcea76b6
GB
120702003-04-23 Geert Bosch <bosch@gnat.com>
12071
12072 * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
12073 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
12074 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
12075 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
12076 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
12077 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
12078 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
12079 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
12080 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
12081 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
12082 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
12083 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
12084 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
12085 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
12086 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
12087 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
12088 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
12089 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
12090 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
12091 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
12092 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
12093 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
12094 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
12095 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
12096 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
12097 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
12098 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
12099 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
12100 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
12101 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
12102 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
12103 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
12104 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
12105 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
12106 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
12107 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
12108 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
12109 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
12110 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
12111 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
12112 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
12113 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
12114 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
12115 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
12116 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
12117 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
12118 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
12119 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
12120 a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
12121 a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
12122 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
12123 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
12124 a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
12125 a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
12126 a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
12127 a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
12128 a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
12129 a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
12130 a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
12131 a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
12132 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
12133 a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
12134 a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
12135 a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
12136 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
12137 a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
12138 a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
12139 a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
12140 a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
12141 a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
12142 a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
12143 a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
12144 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
12145 a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
12146 a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
12147 a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
12148 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
12149 a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
12150 a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
12151 a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
12152 a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
12153 a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
12154 a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
12155 a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
12156 a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
12157 a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
12158 a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
12159 a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
12160 a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
12161 a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
12162 a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
12163 a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
12164 a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
12165 a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
12166 a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
12167 a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
12168 a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
12169 a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
12170 a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
12171 a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
12172 a-wttest.ads, ada-tree.h, ada.ads, ada.h,
12173 adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
12174 ali.adb, ali.ads, alloc.ads, argv.c,
12175 atree.adb, atree.ads, atree.h, aux-io.c,
12176 back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
12177 binde.adb, binde.ads, binderr.adb, binderr.ads,
12178 bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
12179 butil.adb, butil.ads, cal.c, calendar.ads,
12180 casing.adb, casing.ads, ceinfo.adb, checks.adb,
12181 checks.ads, cio.c, comperr.adb, comperr.ads,
12182 config-lang.in, csets.adb, csets.ads, csinfo.adb,
12183 cstand.adb, cstand.ads, cuintp.c, debug.adb,
12184 debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
12185 dec-io.ads, dec.ads, deftarg.c, directio.ads,
12186 einfo.adb, einfo.ads, elists.adb, elists.ads,
12187 elists.h, errno.c, errout.adb, errout.ads,
12188 eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
12189 exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
12190 exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
12191 exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
12192 exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
12193 exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
12194 exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
12195 exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
12196 exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
12197 exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
12198 exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
12199 exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
12200 exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
12201 exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
12202 exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
12203 fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
12204 fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
12205 freeze.adb, freeze.ads, frontend.adb, frontend.ads,
12206 g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
12207 g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
12208 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
12209 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
12210 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
12211 g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
12212 g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
12213 g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
12214 g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
12215 g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
12216 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
12217 g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
12218 g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
12219 g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
12220 g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
12221 g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
12222 g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
12223 g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
12224 g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
12225 g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
12226 g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
12227 g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
12228 get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
12229 gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
12230 gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
12231 gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
12232 gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
12233 gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
12234 gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
12235 gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
12236 hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
12237 i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
12238 i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
12239 i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
12240 i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
12241 i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
12242 i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
12243 inline.adb, inline.ads, interfac.ads, ioexcept.ads,
12244 itypes.adb, itypes.ads, krunch.adb, krunch.ads,
12245 layout.adb, layout.ads, lib-list.adb, lib-load.adb,
12246 lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
12247 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
12248 lib.adb, lib.ads, live.adb, live.ads,
12249 machcode.ads, make.adb, make.ads, makeusg.adb,
12250 makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
12251 mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
12252 memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
12253 mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
12254 mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
12255 mlib.ads, namet.adb, namet.ads, nlists.adb,
12256 nlists.ads, opt.adb, opt.ads, osint-b.adb,
12257 osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
12258 osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
12259 osint.ads, output.adb, output.ads, par-ch10.adb,
12260 par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
12261 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
12262 par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
12263 par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
12264 par-tchk.adb, par-util.adb, par.adb, par.ads,
12265 prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
12266 prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
12267 prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
12268 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
12269 prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
12270 prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
12271 prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
12272 prj.adb, prj.ads, repinfo.adb, repinfo.ads,
12273 restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
12274 rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
12275 s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
12276 s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
12277 s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
12278 s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
12279 s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
12280 s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
12281 s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
12282 s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
12283 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
12284 s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
12285 s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
12286 s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
12287 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
12288 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
12289 s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
12290 s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
12291 s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
12292 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
12293 s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
12294 s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
12295 s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
12296 s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
12297 s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
12298 s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
12299 s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
12300 s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
12301 s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
12302 s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
12303 s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
12304 s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
12305 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
12306 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
12307 s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
12308 s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
12309 s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
12310 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
12311 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
12312 s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
12313 s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
12314 s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
12315 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
12316 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
12317 s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
12318 s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
12319 s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
12320 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
12321 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
12322 s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
12323 s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
12324 s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
12325 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
12326 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
12327 s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
12328 s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
12329 s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
12330 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
12331 s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
12332 s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
12333 s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
12334 s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
12335 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
12336 s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
12337 s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
12338 s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
12339 s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
12340 s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
12341 s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
12342 s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
12343 s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
12344 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
12345 s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
12346 s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
12347 s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
12348 s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
12349 s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
12350 s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
12351 s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
12352 s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
12353 s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
12354 s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
12355 s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
12356 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
12357 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
12358 s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
12359 s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
12360 s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
12361 s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
12362 s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
12363 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
12364 s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
12365 s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
12366 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
12367 s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
12368 scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
12369 sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
12370 sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
12371 sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
12372 sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
12373 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
12374 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
12375 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
12376 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
12377 sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
12378 sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
12379 sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
12380 sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
12381 sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
12382 sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
12383 sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
12384 sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
12385 sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
12386 sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
12387 sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
12388 sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
12389 snames.ads, sprint.adb, sprint.ads, stand.adb,
12390 stand.ads, stringt.adb, stringt.ads, style.adb,
12391 style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
12392 switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
12393 switch-m.ads, switch.adb, switch.ads, system.ads,
12394 table.adb, table.ads, targparm.adb, targparm.ads,
12395 tbuild.adb, tbuild.ads, text_io.ads, trans.c,
12396 tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
12397 tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
12398 ttypef.ads, ttypes.ads, types.adb, types.ads,
12399 uintp.adb, uintp.ads, uname.adb, uname.ads,
12400 unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
12401 usage.adb, usage.ads, validsw.adb, validsw.ads,
12402 widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
12403 xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
12404 xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
12405 formatting and other trivial changes from ACT.
12406
dcf92453
ZW
124072003-04-12 Zack Weinberg <zack@codesourcery.com>
12408
12409 * gigi.h, utils2.c (build_constructor):
12410 Rename gnat_build_constructor. Use build_constructor.
12411 * decl.c (gnat_to_gnu_entity)
12412 * trans.c (tree_transform, pos_to_constructor, extract_values)
12413 * ada/utils.c (build_template, convert_to_fat_pointer, convert)
12414 (unchecked_convert)
12415 * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
12416 (fill_vms_descriptor):
12417 Update to match.
12418
d78e771d
ZW
124192003-04-06 Zack Weinberg <zack@codesourcery.com>
12420
12421 * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
12422 * misc.c (gnat_tree_size): New function.
12423 (LANG_HOOKS_TREE_SIZE): Override.
12424
78d55cc8
JM
124252003-04-03 Jason Merrill <jason@redhat.com>
12426
12427 * misc.c (gnat_adjust_rli): #if 0.
12428
b174e2d4
GB
124292003-03-31 Geert Bosch <bosch@gnat.com>
12430
12431 PR ada/10020
12432 * link.c : Fix misspelled "const" keyword
12433
f29a2bd1
MM
124342003-03-23 Mark Mitchell <mark@codesourcery.com>
12435
12436 PR c++/7086
12437 * utils2.c: Adjust calls to put_var_into_stack.
12438
08e247b1
NN
124392003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
12440
12441 * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
12442
4bfec483
NB
124432003-03-08 Neil Booth <neil@daikokuya.co.uk>
12444
12445 * misc.c (gnat_init): Update for new prototype.
12446
3d713bb8
GB
124472003-03-05 Olivier Hainque <hainque@gnat.com>
12448
12449 ada/9961
78d55cc8
JM
12450 * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
12451 warning, and fix return type for the IN_RTS && !SJLJ case.
3d713bb8 12452
8b89fcdf
TT
124532003-03-04 Tom Tromey <tromey@redhat.com>
12454
12455 * Make-lang.in (ada.tags): New target.
12456
3d713bb8 124572003-03-04 Olivier Hainque <hainque@act-europe.fr>
23cae84f
OH
12458
12459 ada/9911
12460 * a-except.adb (Unwind_RaiseException): Import a GNAT specific
12461 wrapper, which name remains constant whatever underlying GCC
12462 scheme.
12463
12464 * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
12465 the stable interface needed for a-except.
12466
f4ae98be
AJ
124672003-03-02 Andreas Jaeger <aj@suse.de>
12468
12469 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
12470 gnat_ug_wnt.texi: Regenerate.
12471
5348742b
LG
124722003-03-02 Laurent Guerby <guerby@acm.org>
12473
f4ae98be 12474 * Makefile.in (install-gnatlib): Match previous change there
5348742b 12475 so it works.
f4ae98be 12476
8c108db2
AS
124772003-02-28 Andreas Schwab <schwab@suse.de>
12478
12479 * Make-lang.in (install-gnatlib): Change to ada directory before
12480 running make instead of using ada/Makefile directly.
12481
601d71bc
BE
124822003-02-18 Ben Elliston <bje@redhat.com>
12483
12484 Part of fix for PR ada/9406
12485 * gnat_ug.texi (Binder output file): Grammar fix.
12486
bf7c02dd
BE
124872003-02-18 Ben Elliston <bje@redhat.com>
12488
12489 PR other/7350
12490 * 5qtaprop.adb (Sleep): Fix typo in comment.
12491
b3a8389d
JM
124922003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
12493
12494 * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
12495 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
12496 gnat_ug_wnt.texi: Regenerate.
12497
5da14cb5
CC
124982003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
12499
12500 * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
12501 be created if necessary.
12502 (ada.install-common): Let $(DESTDIR)$(bindir) be created
12503 if necessary. Remove erroneous and redundant gnatchop
12504 installation commands. Test for gnatdll before attempting
12505 to install it.
12506 (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
12507 and gnatdll from all plausible locations.
12508
271bd540
RS
125092003-02-01 Richard Sandiford <rsandifo@redhat.com>
12510
12511 * utils2.c (build_unary_op): Don't check flag_volatile.
12512 * gnat_ug.texi: Remove -fvolatile from example.
12513 * gnat_ug_vxw.texi: Likewise.
12514
c1cc6a51
LG
125152003-01-29 Laurent Guerby <guerby@acm.org>
12516
d78e771d
ZW
12517 PR ada/8344
12518 * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
12519 * Makefile.in: match previous change.
12520 * Make-lang.in: match previous change.
c1cc6a51 12521
c4039eb0
JS
125222003-01-29 Joel Sherrill <joel@OARcorp.com>
12523
12524 * 5rosinte.ads: Add SIGXCPU.
12525 * 5rtpopsp.adb: New file.
12526 * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
12527 * Makefile.in: Recognize more RTEMS targets and add the RTEMS
12528 specific file 5rtpopsp.adb.
12529 * adaint.h: Add include of <stdio.h> when target is RTEMS. This
12530 is likely needed for all newlib targets.
12531 * init.c: Add RTEMS specific version of __gnat_initialize().
12532
00d29f7d
RO
125332003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12534
12535 * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
12536
437026ef
RO
125372003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12538
12539 * init.c (__gnat_error_handler): Make msg const.
12540
12541 * gmem.c (convert_addresses): Move declaration ...
12542 * adaint.h: ... here.
12543 * adaint.c (convert_addresses): Adapt addrs type to match
12544 prototype.
12545
12546 * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
12547
e12825cd
AS
125482003-01-24 Andreas Schwab <schwab@suse.de>
12549
12550 * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
12551 size_t to avoid warning.
12552
a8729406
ZW
125532003-01-21 Zack Weinberg <zack@codesourcery.com>
12554
b09b91b9 12555 * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
a8729406 12556
17211ab5
GK
125572003-01-09 Geoffrey Keating <geoffk@apple.com>
12558
12559 * gnat_rm.texi: Remove RCS version number.
12560
12561 * ada-tree.h (union lang_tree_node): Add chain_next option.
12562
1d27195c
CC
125632003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
12564
12565 * Make-lang.in (ada.install-info, ada.install-common,
12566 ada.uninstall): Prepend $(DESTDIR) to the destination
12567 directory in all (un)installation commands.
12568 * Makefile.in (install-gnatlib, install-rts): Ditto.
12569
bdefb2ab
JM
125702002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
12571
12572 * gnat_rm.texi, gnat_ug.texi: Use @copying.
12573 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
12574 gnat_ug_wnt.texi: Regenerate.
12575
46d40353
JM
125762002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
12577
12578 * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
12579 only.
12580 * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
12581 $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
12582 $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
12583 ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
12584 ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
12585 $(srcdir)/doc/include/gcc-common.texi.
12586
d2f97d3e
GB
125872002-12-15 Geert Bosch <bosch@gnat.com>
12588
12589 * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
12590
93a81b02
GB
125912002-12-14 Geert Bosch <bosch@gnat.com>
12592
4977bab6
ZW
12593 * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
12594 case of a body created for a Renaming_As_Body, on which
12595 conformance checks are not performed. Fixes PR ada/5690.
12596
125972002-11-30 Zack Weinberg <zack@codesourcery.com>
12598
12599 * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
12600 utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
12601 not already included.
12602 * Make-lang.in: Update dependencies.
93a81b02 12603
dfc15546
NN
126042002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
12605 * adaint.c (__gnat_tmp_name): Better, but good enough for now,
4977bab6 12606 solution to buffer overflow bug on GNU/Linux.
dfc15546 12607
8b54424d
NN
126082002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
12609 Closes PR ada/5856 and PR ada/6919 !
12610 * bindgen.adb: Remove all references to Public_Version.
12611 * comperr.adb: Remove all references to Public_Version and
12612 GNATPRO_Version; correct bug reporting instructions.
12613 * comperr.ads: Change to match bug box.
12614 * gnatvsn.ads: Remove all references to Public version and
12615 GNATPRO version.
12616
cc41268d 126172002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
1a083c0e
NN
12618 PR ada/6919
12619 * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
12620 GNU/Linux.
12621
cc41268d
NN
12622 PR ada/6558
12623 * config-lang.in: Remove diff_excludes.
12624
1c7b0712
GS
126252002-11-05 Graham Stott <graham.stott@btinternet.com>
12626 PR ada/8358
12627 * trans.c (gnu_pending_elaboration_lists): New GC root.
4977bab6 12628 (build_unit_elab): Use..
1c7b0712 12629
1c4048ca
GB
126302002-10-30 Geert Bosch <bosch@gnat.com>
12631 PR ada/6558
12632 * misc.c : Include optabs.h
12633
12634 * Make-lang.in (misc.o): Add dependency on optabs.h
12635
f0d96f9c 126362002-10-29 Geert Bosch <bosch@gnat.com>
4977bab6 12637 PR ada/6558
f0d96f9c
GB
12638 * Make-lang.in (gnatbind): Depend on CONFIG_H
12639
a7512dec 126402002-10-29 Geert bosch <bosch@gnat.com>
4977bab6
ZW
12641 PR ada/6558
12642 * misc.c: Unrevert misc.c (1.13)
a7512dec 12643
c6362f4f
NN
126442002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
12645
12646 * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
12647 maintainership comments.
12648
126492002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
91ed4b19 12650 PR ada/5904
4977bab6
ZW
12651 * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
12652 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
12653 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
12654 7staprop.adb: Correct statements in comments about
91ed4b19
NN
12655 maintainership of GNAT.
12656
1f02b6af 12657 PR ada/5904
4977bab6
ZW
12658 * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
12659 gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
12660 osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
12661 osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
12662 s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
12663 s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
12664 sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
1f02b6af
NN
12665 switch-c.ads switch-m.adb switch-m.ads: Correct statements in
12666 comments about maintainership of GNAT.
12667
71ff80dc 12668 PR ada/6919 (forward port of patch for PR ada/5904)
4977bab6
ZW
12669 * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
12670 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
12671 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
12672 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
12673 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
12674 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
12675 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
12676 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
12677 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
12678 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
12679 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
12680 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
12681 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
12682 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
12683 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
12684 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
12685 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
12686 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
12687 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
12688 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
12689 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
12690 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
12691 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
12692 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
12693 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
12694 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
12695 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
12696 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
12697 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
12698 a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
12699 a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
12700 a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
12701 a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
12702 a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
12703 a-except.adb a-except.ads a-excpol.adb a-exctra.adb
12704 a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
12705 a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
12706 a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
12707 a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
12708 a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
12709 a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
12710 a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
12711 a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
12712 a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
12713 a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
12714 a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
12715 a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
12716 a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
12717 a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
12718 a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
12719 a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
12720 a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
12721 a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
12722 a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
12723 a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
12724 a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
12725 a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
12726 a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
12727 a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
12728 a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
12729 a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
12730 a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
12731 a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
12732 a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
12733 a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
12734 a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
12735 a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
12736 a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
12737 adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
12738 alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
12739 back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
12740 binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
12741 bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
12742 ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
12743 csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
12744 cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
12745 debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
12746 einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
12747 errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
12748 exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
12749 exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
12750 exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
12751 exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
12752 exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
12753 exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
12754 exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
12755 exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
12756 exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
12757 exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
12758 exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
12759 exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
12760 exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
12761 final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
12762 fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
12763 freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
12764 g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
12765 g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
12766 gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
12767 gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
12768 gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
12769 gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
12770 gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
12771 gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
12772 i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
12773 i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
12774 i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
12775 i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
12776 impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
12777 itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
12778 lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
12779 lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
12780 lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
12781 lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
12782 makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
12783 namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
12784 nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
12785 osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
12786 par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
12787 par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
12788 par-endh.adb par-labl.adb par-load.adb par-prag.adb
12789 par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
12790 prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
12791 prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
12792 prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
12793 prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
12794 prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
12795 prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
12796 repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
12797 rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
12798 s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
12799 s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
12800 s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
12801 s-direio.adb s-direio.ads s-except.ads s-exctab.adb
12802 s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
12803 s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
12804 s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
12805 s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
12806 s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
12807 s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
12808 s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
12809 s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
12810 s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
12811 s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
12812 s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
12813 s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
12814 s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
12815 s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
12816 s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
12817 s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
12818 s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
12819 s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
12820 s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
12821 s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
12822 s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
12823 s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
12824 s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
12825 s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
12826 s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
12827 s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
12828 s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
12829 s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
12830 s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
12831 s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
12832 s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
12833 s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
12834 s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
12835 s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
12836 s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
12837 s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
12838 s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
12839 s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
12840 s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
12841 s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
12842 s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
12843 s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
12844 s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
12845 s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
12846 s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
12847 s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
12848 s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
12849 s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
12850 s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
12851 s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
12852 s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
12853 s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
12854 s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
12855 s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
12856 s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
12857 s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
12858 s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
12859 s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
12860 s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
12861 s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
12862 s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
12863 s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
12864 s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
12865 s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
12866 s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
12867 s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
12868 s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
12869 s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
12870 s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
12871 s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
12872 s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
12873 s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
12874 s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
12875 s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
12876 s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
12877 s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
12878 s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
12879 s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
12880 scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
12881 sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
12882 sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
12883 sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
12884 sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
12885 sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
12886 sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
12887 sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
12888 sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
12889 sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
12890 sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
12891 sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
12892 sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
12893 sem_type.adb sem_type.ads sem_util.adb sem_util.ads
12894 sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
12895 sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
12896 sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
12897 sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
12898 snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
12899 stringt.ads stringt.h style.adb style.ads stylesw.adb
12900 stylesw.ads switch.adb switch.ads sysdep.c system.ads
12901 table.adb table.ads targparm.adb targparm.ads targtyps.c
12902 tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
12903 tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
12904 treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
12905 types.adb types.ads types.h uintp.adb uintp.ads uintp.h
12906 uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
12907 usage.ads utils.c utils2.c validsw.adb validsw.ads
12908 widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
12909 xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
71ff80dc
NN
12910 xtreeprs.adb: Correct statements in comments about maintainership
12911 of GNAT.
12912
b4f94ac1
ZW
129132002-09-23 Zack Weinberg <zack@codesourcery.com>
12914
12915 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
12916 * Makefile.in (TOOLS_LIBS): Add ../../version.o.
12917 * gnatvsn.ads: Gnat_Version_String is now a function.
12918 * gnatvsn.adb: New file. When asked for Gnat_Version_String,
12919 copy the C version_string into a String and return it.
12920 * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
12921 gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
12922 Remove pragma Ident (Gnat_Version_String). If this was the
12923 sole use of package Gnatvsn, remove the with statement too.
12924 * gnat1drv.adb: Tweak -gnatv output.
12925
eaff3bf8
RH
129262002-09-17 Richard Henderson <rth@redhat.com>
12927
12928 * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
12929 * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
12930 * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
12931 (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
12932 * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
12933 and real_2expN instead of a loop.
12934 * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
12935 (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
12936
d241f75b 129372002-08-25 Andre Leis <a.leis@gmx.net>
f4ae98be 12938 David Billinghurst (David.Billinghurst@riotinto.com>
d241f75b 12939
f4ae98be 12940 * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
d241f75b 12941
4320085a
RO
129422002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12943
12944 * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
12945 Remove $(CONFIG_H) dependency.
12946
22aa533e
NS
129472002-08-08 Nathan Sidwell <nathan@codesourcery.com>
12948
12949 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
12950
1dcd444b
KG
129512002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12952
12953 * adadecode.c (ada_demangle): Use xstrdup in lieu of
12954 xmalloc/strcpy.
12955 * misc.c (gnat_decode_option): Likewise.
12956
7bc7d27b
FW
129572002-07-15 Florian Weimer <fw@deneb.enyo.de>
12958
12959 * make.adb (Add_Switch): Make Generic_Position a procedure. The
12960 function approach did not work well because of a side effect (the
12961 function call could reallocate the table which was being indexed
12962 using its result). Fixes ada/4851. [RESURRECTED]
12963
6a2dd09a
RS
129642002-07-01 Roger Sayle <roger@eyesopen.com>
12965
12966 * ada/utils.c (builtin_function): Accept an additional parameter.
12967
c168bbd7
AJ
129682002-06-28 Andreas Jaeger <aj@suse.de>
12969
12970 PR ada/7144
12971 * Makefile.in: Fix typo in comment, patch by Adrian Knoth
12972 <adi@thur.de>.
12973
b41e09a7
KG
129742002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12975
12976 * Makefile.in (SHELL): Set to @SHELL@.
12977
62c71f4b
KG
129782002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12979
12980 * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
12981 array size calculation.
12982
94213cff
AJ
129832002-06-04 Andreas Jaeger <aj@suse.de>
12984
12985 * Make-lang.in (gnatbind): Readd rule that has been lost in last
12986 patch.
12987
e2500fed
GK
129882002-06-03 Geoffrey Keating <geoffk@redhat.com>
12989
12990 Merge from pch-branch:
12991
12992 * config-lang.in (gtfiles): Add ada-tree.h.
12993 * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
12994 (SET_TYPE_MODULUS): New.
12995 (SET_TYPE_INDEX): New.
12996 (SET_TYPE_DIGITS_VALUE): New.
12997 (SET_TYPE_RM_SIZE): New.
12998 (SET_TYPE_UNCONSTRAINED_ARRAY): New.
12999 (SET_TYPE_ADA_SIZE): New.
13000 (SET_TYPE_ACTUAL_BOUNDS): New.
13001 (SET_DECL_CONST_CORRESPONDING_VAR): New.
13002 (SET_DECL_ORIGINAL_FIELD): New.
13003 (TREE_LOOP_ID): Correct typo.
13004 * decl.c: Use new macros.
13005 * utils.c: Include debug.h, use new macros.
94213cff 13006 * utils2.c: Use new macros.
e2500fed
GK
13007
13008 * ada-tree.h: Update all macros for new tree description.
13009 (struct tree_loop_id): New.
13010 (union lang_tree_node): New.
13011 (struct lang_decl): New.
13012 (struct lang_type): New.
13013 * misc.c (gnat_mark_tree): Delete.
13014 (LANG_HOOKS_MARK_TREE): Delete.
13015 * trans.c (tree_transform): No longer any need to cast
13016 for TREE_LOOP_ID.
13017
13018 * utils.c (struct language_function): New dummy structure.
13019
13020 * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
13021 (misc.o): Likewise.
13022 (utils.o): Likewise; also gtype-ada.h.
13023 * Make-lang.in (gnat1): Add dependency on s-gtype.
13024 (gnatbind): Add dependency on $(CONFIG_H).
13025 * utils.c: Correct last #include.
13026 (stuct e_stack): Remove unnecessary 'static'.
13027 (mark_e_stack): Remove unused prototype.
13028
13029 * scn-nlit.adb: Remove whitespace after version number to
13030 keep lines under 80 chars.
13031 * snames.adb: Likewise.
13032 * treepr.ads: Likewise.
94213cff 13033
e2500fed
GK
13034 * Makefile.in (decl.o): Include gt-ada-<filename>.h.
13035 (misc.o): Likewise.
13036 (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
13037 * config-lang.in (gtfiles): New.
13038 * decl.c: Use gengtype for roots.
13039 * gigi.h: Use gengtype for roots.
13040 * trans.c: Use gengtype for roots.
13041 * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
13042
27e511e0
GDR
130432002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
13044
13045 * misc.c (gnat_init): Adjust setting of internal_error_function.
13046
113dc143
JM
130472002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
13048
13049 * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
13050 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
13051 gnat_ug_wnt.texi: Regenerate.
13052
5321fb3e
FW
130532002-05-31 Florian Weimer <fw@deneb.enyo.de>
13054
15e6136e
FW
13055 * 5ntaprop.adb (with System.OS_Primitives): Remove.
13056
019310ac
FW
13057 * cstreams.c (max_path_len): Move from here ...
13058 * adaint.c (__gnat_max_path_len): ... to here.
13059 * adaint.c (__gnat_max_path_len): Declare.
13060 * g-dirope.adb (Max_Path): Adjust.
13061 * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
94213cff 13062 * i-cstrea.ads (max_path_len): Adjust.
019310ac
FW
13063 * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
13064 * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
13065
5321fb3e
FW
13066 * Makefile.in, Make-lang.in: Documentation is now built in
13067 Make-lang.in. Store Info and generated Texinfo files in the
13068 source directory.
13069 * gnat_ug.texi: Remove CVS keywords, correct version number.
13070 Set file name correctly.
13071
13072 * gnat_ug_*.texi: Add.
13073 * .cvsignore: Ignore generated Texinfo files.
13074
b1c12c4b
ZW
130752002-05-30 Zack Weinberg <zack@codesourcery.com>
13076
13077 * ada.h: Add MI guard macro.
13078 (SUBTYPE): Define constants with an anonymous enum, not static
13079 const variables.
13080 (IN): Cast constants to appropriate type before use.
13081
ead33da9
JM
130822002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
13083
13084 * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
13085 (experimental)".
13086
7d600178
RO
130872002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13088
13089 * Make-lang.in (CP, ECHO): Copy from Makefile.in.
13090 (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
13091 (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
13092 (ALL_ADA_CFLAGS): Likewise.
13093 (ADA_INCLUDES): Likewise.
13094 Adapt for new working dir.
13095 (GNATBIND): Use Makefile.in version.
13096 (.SUFFIXES): Copy from Makefile.in.
13097 (ada-warn): Define.
13098 (.adb.o, .ads.o): Copy from Makefile.in.
13099 Added $(OUTPUT_OPTION).
13100 (GNAT1_C_OBJS): Moved from Makefile.in.
13101 Prefix with ada subdir.
13102 (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
13103 (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
13104 Adapt for new working dir.
13105 (EXTRA_GNATBIND_OBJS): Likewise.
13106 (ADA_BACKEND): Moved from Makefile.in.
13107 Renamed to avoid conflict with global BACKEND.
13108 Use that one.
13109 (TARGET_ADA_SRCS): Moved from Makefile.in.
13110 (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
13111 Use ADA_BACKEND.
13112 (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
13113 (ada_extra_files): Moved from Makefile.in.
13114 Prefix with ada subdir.
13115 (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
13116 (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
13117 (ada/nmake.ads): Likewise.
13118 (update-sources): Moved from Makefile.in.
13119 Prefix with ada subdir.
13120 (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
13121 (ADA_TREE_H): Likewise.
13122 (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
13123 (ada/memtrack.o): Likewise.
13124 (ada/adadecode.o): Likewise.
13125 Update dependencies.
13126 (ada/adaint.o): New.
13127 (ada/argv.o): Moved from Makefile.in.
13128 Prefix with ada subdir.
94213cff 13129 Update dependencies.
7d600178
RO
13130 (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
13131 (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
13132 (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
13133 Prefix with ada subdir.
13134 (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
13135 (GNAT DEPENDENCIES): Regenerate.
13136 * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
13137 toplevel Makefile.in.
13138 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
13139 (TARGET_ADA_SRCS): Removed.
13140 (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
13141 (GNATBIND_OBJS): Likewise.
13142 (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
13143 (BACKEND): Removed.
13144 (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
13145 (TREE_H): Likewise.
13146 (ada_extra_files): Likewise.
13147 (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
13148 (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
13149 (update-sources): Likewise.
13150 (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
13151 (ADA_TREE_H): Likewise.
13152 (adadecoce.o): Likewise.
13153 (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
13154 (GNAT DEPENDENCIES): Likewise.
13155
1e6347d8
RO
131562002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13157
13158 * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
13159 * Makefile.in: Likewise.
13160
db80834f
RO
131612002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13162
13163 * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
13164 Restore $(CONFIG_H) and prefix.o dependencies.
13165 (ada.stage[1-4]): Depend on stage?-start.
13166
13167 * Makefile.in (b_gnatb.c): Depend on interfac.o.
13168
ac293f98
JW
131692002-05-02 Jim Wilson <wilson@redhat.com>
13170
13171 * utils.c (finish_record_type): Change record_size to record_type.
13172
b303008e
JDA
131732001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
13174
13175 * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
13176 (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
13177 ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
94213cff 13178
ff45c01e
NB
131792002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
13180
13181 * misc.c (gnat_parse_file): Update.
13182
349ae713
NB
131832002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
13184
13185 * misc.c (gnat_init): Don't set lang_attribute_common.
13186
ace133aa
JM
131872002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
13188
13189 * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
13190
5c558dd9
FW
131912002-04-21 Florian Weimer <fw@deneb.enyo.de>
13192
b4f94ac1 13193 * gnat_ug.texi: New file.
88e1739c 13194
5c558dd9
FW
13195 * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
13196 instead of gfdl.texi
13197
13198 * xgnatug.adb, ug_words: New files.
13199
13200 * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
b4f94ac1 13201 gnat_rm and gnat-style manuals.
5c558dd9 13202
7a228918
NB
132032002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
13204
13205 * gigi.h (incomplete_type_error): Remove.
13206 * utils.c (incomplete_type_error): Remove.
13207
b2123dc0
MM
132082002-04-16 Mark Mitchell <mark@codesourcery.com>
13209
13210 * trans.c (tree_transform): Add has_scope argument to
13211 expand_start_stmt_expr.
13212
78ef5b89
NB
132132002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
13214
13215 * gigi.h (truthvalue_conversion): Rename.
13216 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
13217 * trans.c (tree_transform): Update.
13218 * utils2.c (truthvalue_conversion): Rename, update.
13219 (build_binary_op, build_unary_op): Update.
13220
a71742a8
LG
132212002-04-04 Laurent Guerby <guerby@acm.org>
13222
13223 * make.adb: Implement -margs, remove restriction about file name placement.
13224 * makeusg.adb: Documentation update.
13225 * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
13226 * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
13227
82a4b025
NB
132282002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
13229
13230 * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
13231 (builtin_function): Similarly.
13232
dffd7eb6
NB
132332002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
13234
13235 * decl.c (gnat_to_gnu_entity): Update.
13236 * gigi.h (mark_addressable): Rename.
13237 * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
13238 * trans.c (tree_transform): Update.
13239 * utils.c (create_var_decl): Update.
13240 * util2.c (build_binary_op, build_unary_op,
13241 fill_vms_descriptor): Update.
13242 (mark_addressable): Rename, update.
13243
ceef8ce4
NB
132442002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
13245
13246 * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
13247 Rename.
13248 * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
13249 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
13250 * trans.c (tree_transform, convert_with_check): Update.
13251 * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
13252 Rename.
13253
48a7a235
NB
132542002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
13255
13256 * gigi.h (finish_incomplete_decl): Rename.
13257 * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
13258 * utils.c (gnat_init_decl_processing): Don't set hook.
13259 (finish_incomplete_decl): Rename.
13260
1d5af871
AS
132612002-03-29 Andreas Schwab <schwab@suse.de>
13262
13263 * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
13264 directory.
13265
8cbb664e
MG
132662001-03-28 Robert Dewar <dewar@gnat.com>
13267
13268 * checks.ads:
13269 (Remove_Checks): New procedure
13270
13271 * checks.adb:
13272 (Remove_Checks): New procedure
13273
13274 * exp_util.adb:
13275 Use new Duplicate_Subexpr functions
13276 (Duplicate_Subexpr_No_Checks): New procedure
13277 (Duplicate_Subexpr_No_Checks_Orig): New procedure
13278 (Duplicate_Subexpr): Restore original form (checks duplicated)
13279 (Duplicate_Subexpr): Call Remove_Checks
13280
82a4b025 13281 * exp_util.ads:
8cbb664e
MG
13282 (Duplicate_Subexpr_No_Checks): New procedure
13283 (Duplicate_Subexpr_No_Checks_Orig): New procedure
13284 Add 2002 to copyright notice
13285
13286 * sem_util.adb: Use new Duplicate_Subexpr functions
13287
82a4b025 13288 * sem_eval.adb:
8cbb664e
MG
13289 (Eval_Indexed_Component): This is the place to call
13290 Constant_Array_Ref and to replace the value. We simply merge
13291 the code of this function in here, since it is now no longer
13292 used elsewhere. This fixes the problem of the back end not
13293 realizing we were clever enough to see that this was
13294 constant.
13295 (Expr_Val): Remove call to Constant_Array_Ref
13296 (Expr_Rep_Val): Remove call to Constant_Array_Ref
13297 Minor reformatting
13298 (Constant_Array_Ref): Deal with string literals (patch
13299 suggested by Zack Weinberg on the gcc list)
13300
133012001-03-28 Ed Schonberg <schonber@gnat.com>
13302
82a4b025 13303 * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
8cbb664e
MG
13304 Duplicate_Subexpr_Move_Checks.
13305
82a4b025 13306 * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
8cbb664e
MG
13307 Duplicate_Subexpr_Move_Checks.
13308
82a4b025
NB
13309 * sem_eval.adb: (Constant_Array_Ref): Verify that constant
13310 value of array exists before retrieving it (it may a private
8cbb664e
MG
13311 protected component in a function).
13312
792c4e74
GB
133132002-03-28 Geert Bosch <bosch@gnat.com>
13314
13315 * prj-pp.adb : New file.
13316
13317 * prj-pp.ads : New file.
13318
915e8bad
AJ
133192002-03-28 Andreas Jaeger <aj@suse.de>
13320
13321 * Makefile.in (stamp-sdefault): Fix path for Makefile.
13322
0840811c
NB
133232002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
13324
13325 * misc.c (gnat_expand_expr): Move prototype.
13326
7ffb4fd2
NB
133272002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
13328
13329 * misc.c (insert_default_attributes): Remove.
13330
c9d892a8
NB
133312002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
13332
13333 * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
13334 (gnat_init): Don't set hook.
13335 (gnat_expand_expr): Fix prototype.
13336
31c816cf
NB
133372002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
13338
13339 * misc.c (ggc_p): Remove.
13340
ef83161c
GB
133412002-03-27 Geert Bosch <bosch@gnat.com>
13342
13343 * prj-makr.ads, prj-makr.adb : New files.
13344
4f0ade92
NB
133452002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
13346
13347 * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
13348 (lang_mark_tree): Make static, rename.
13349
c88770e9
NB
133502002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
13351
13352 * misc.c (maybe_build_cleanup): Remove.
13353
05671968
NB
133542002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
13355
13356 * gigi.h (yyparse): Remove.
13357
ad42149c
FW
133582002-03-23 Florian Weimer <fw@deneb.enyo.de>
13359
82a4b025 13360 * gnat_rm.texi: Sync with ACT version.
b4f94ac1 13361 (From Ben Brosgol <brosgol@gnat.com>)
ad42149c 13362
7afff7cf
NB
133632002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
13364
13365 * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
13366 (gnat_init): Remove old hook.
13367
52dabb6c
NB
133682002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
13369
13370 * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
13371 (yyparse): Rename gnat_parse_file.
13372
6cbcc541
GK
133732002-03-14 Geoffrey Keating <geoffk@redhat.com>
13374
13375 Delete all lines containing "$Revision:".
13376 * xeinfo.adb: Don't look for revision numbers.
13377 * xnmake.adb: Likewise.
13378 * xsinfo.adb: Likewise.
13379 * xsnames.adb: Likewise.
13380 * xtreeprs.adb: Likewise.
13381
2f9834e8
KG
133822002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13383
13384 * misc.c (gnat_tree_code_type, gnat_tree_code_length,
13385 gnat_tree_code_name): Delete.
13386 (tree_code_type, tree_code_length, tree_code_name): Define.
13387 (gnat_init): Don't try to copy into the various tree_code
13388 arrays.
13389
63adb4ff
RH
133902002-03-11 Richard Henderson <rth@redhat.com>
13391
13392 * Makefile.in (.NOTPARALLEL): Add fake tag.
13393
43ff4547
GB
133942002-03-07 Geert Bosch <bosch@gnat.com>
13395
82a4b025
NB
13396 * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
13397 s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
13398 switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
43ff4547
GB
13399 switch-m.adb, switch-m.ads : New files.
13400
07fc65c4
GB
134012002-03-07 Geert Bosch <bosch@gnat.com>
13402
13403 * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
13404 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
13405 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
13406 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
13407 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
13408 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
13409 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
13410 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
13411 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
13412 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
13413 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
13414 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
13415 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
13416 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
13417 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
13418 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
13419 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
13420 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
13421 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
13422 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
13423 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
13424 Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
13425 a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
13426 a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
13427 a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
13428 a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
13429 a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
13430 a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
13431 a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
13432 adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
13433 atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
13434 bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
13435 csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
13436 einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
13437 eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
13438 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
13439 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
13440 exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
13441 exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
13442 exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
13443 expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
13444 freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
13445 g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
13446 g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
13447 g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
13448 g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
13449 g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
13450 g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
13451 gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
13452 gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
13453 gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
13454 i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
13455 impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
13456 lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
13457 lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
13458 memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
13459 mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
13460 nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
13461 output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
13462 par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
13463 prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
13464 prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
13465 prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
13466 rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
13467 s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
13468 s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
13469 s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
13470 s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
13471 s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
13472 s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
13473 s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
13474 s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
13475 s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
13476 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
13477 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
13478 s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
13479 s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
13480 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
13481 s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
13482 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
13483 sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
13484 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
13485 sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
13486 sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
13487 sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
13488 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
13489 sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
13490 sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
13491 sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
13492 snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
13493 stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
13494 table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
13495 tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
13496 treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
13497 types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
13498 utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
13499 xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
13500
13501 * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
13502 g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
13503 mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
13504 osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
13505
13506 * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
13507 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
13508
13509 * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
13510 to mdll-fil.ad[bs] and mdll-util.ad[bs]
13511
13512 * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
13513 from mdllfile.ad[bs] and mdlltool.ad[bs]
13514
ca7558fc
KG
135152002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13516
13517 * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
13518 lieu of explicit sizeof/sizeof.
13519
63e1b1c4
NB
135202002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
13521
13522 * misc.c (copy_lang_decl): Remove.
13523
f458d1d5
ZW
135242002-02-27 Zack Weinberg <zack@codesourcery.com>
13525
13526 * misc.c: Delete traditional-mode-related code copied from the
13527 C front end but not used, or used only to permit the compiler
13528 to link.
13529
21e09952
RH
135302002-02-07 Richard Henderson <rth@redhat.com>
13531
13532 * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
13533 * adaint.h (__gnat_to_gm_time): Update prototype.
13534
ead39bdf 135352002-01-30 Richard Henderson <rth@redhat.com>
e803a64b
RH
13536
13537 * trans.c (tree_transform) [N_Loop_Statement]: Use
13538 expand_exit_loop_top_cond.
13539
72ac12bf
RH
135402001-12-23 Richard Henderson <rth@redhat.com>
13541
13542 * utils.c (end_subprog_body): Push GC context around
13543 rest_of_compilation for nested functions.
13544
14aacce7
RH
135452001-12-23 Richard Henderson <rth@redhat.com>
13546
13547 * 5nosinte.ads: Get definition of "int" from Interfaces.C.
13548
b3d45d87
FW
135492001-12-23 Florian Weimer <fw@deneb.enyo.de>
13550
ece2d1b8
FW
13551 * gnat-style.texi (Declarations and Types): Remove ancient style
13552 rule which was mandated by code generation issues.
82a4b025 13553
b3d45d87
FW
13554 * gnat-style.texi (header): Add @dircategory, @direntry.
13555 (title page): Remove date.
13556 (general) Add @./@: where approriate, and two spaces after the
13557 full stop at the end of a sentence. Use @samp markup when
13558 referring concrete lexical entities (keywords, attribute names
13559 etc.), and @syntax for ARM grammar elements. Use @r for English
13560 text in comments. Use @emph for emphasis. Change "if-statements"
13561 etc. to "if statements" (without @samp). Break long lines. Make
13562 casing of section names consistent.
13563 (Identifiers): Use @samp markup for variable names.
13564 (Comments): Use @samp markup for comment characters. Line-end
13565 comments may follow any Ada code, not just statements. Fix
13566 misspelling of "Integer" as "integer".
13567 (Loop statements): Do not use variable name "I", use "J".
13568 (Subprogram Declarations): Document alignment.
13569 (Subprogram Bodies, Block statements): Document empty line before
13570 "begin".
13571
7a73ad55
FW
135722001-12-22 Florian Weimer <fw@deneb.enyo.de>
13573
13574 * make.adb (Add_Switch): Make Generic_Position a procedure. The
13575 function approach did not work well because of a side effect (the
13576 function call could reallocate the table which was being indexed
13577 using its result). Fixes ada/4851.
13578
17c5c8a5
GB
135792001-12-19 Robert Dewar <dewar@gnat.com>
13580
13581 * bindgen.adb: Minor reformatting
82a4b025 13582
17c5c8a5 13583 * cstand.adb: Minor reformatting
82a4b025 13584
17c5c8a5
GB
13585 * fmap.adb: Minor reformatting
13586 Change name from Add for Add_To_File_Map (Add is much too generic)
13587 Change Path_Name_Of to Mapped_Path_Name
13588 Change File_Name_Of to Mapped_File_Name
13589 Fix copyright dates in header
82a4b025 13590
17c5c8a5
GB
13591 * fmap.ads:
13592 Change name from Add for Add_To_File_Map (Add is much too generic)
13593 Change Path_Name_Of to Mapped_Path_Name
13594 Change File_Name_Of to Mapped_File_Name
13595 Fix copyright dates in header
82a4b025 13596
17c5c8a5
GB
13597 * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
13598 Add use clause for Fmap.
82a4b025 13599
17c5c8a5 13600 * make.adb: Minor reformatting
82a4b025 13601
17c5c8a5
GB
13602 * osint.adb: Minor reformatting. Change of names in Fmap.
13603 Add use clause for Fmap.
82a4b025 13604
17c5c8a5 13605 * prj-env.adb: Minor reformatting
82a4b025 13606
17c5c8a5 13607 * prj-env.ads: Minor reformatting
82a4b025 13608
07fc65c4
GB
13609 * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
13610 error found (there were odd exceptions to this general rule in
17c5c8a5 13611 -gnatec/-gnatem processing)
82a4b025 13612
17c5c8a5
GB
136132001-12-19 Olivier Hainque <hainque@gnat.com>
13614
07fc65c4
GB
13615 * raise.c (__gnat_eh_personality): Exception handling personality
13616 routine for Ada. Still in rough state, inspired from the C++ version
17c5c8a5 13617 and still containing a bunch of debugging artifacts.
07fc65c4 13618 (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
17c5c8a5 13619 inspired from the C++ library.
82a4b025 13620
07fc65c4 13621 * raise.c (eh_personality): Add comments. Part of work for the GCC 3
17c5c8a5 13622 exception handling integration.
82a4b025 13623
17c5c8a5
GB
136242001-12-19 Arnaud Charlet <charlet@gnat.com>
13625
13626 * Makefile.in: Remove use of 5smastop.adb which is obsolete.
13627 (HIE_SOURCES): Add s-secsta.ad{s,b}.
13628 (HIE_OBJS): Add s-fat*.o
07fc65c4 13629 (RAVEN_SOURCES): Remove files that are no longer required. Add
17c5c8a5
GB
13630 interrupt handling files.
13631 (RAVEN_MOD): Removed, no longer needed.
82a4b025 13632
17c5c8a5
GB
136332001-12-19 Robert Dewar <dewar@gnat.com>
13634
13635 * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
13636 Add 2001 to copyright date
82a4b025 13637
07fc65c4 13638 * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
17c5c8a5 13639 need to force universal inlining for these cases.
82a4b025 13640
17c5c8a5
GB
136412001-12-19 Arnaud Charlet <charlet@gnat.com>
13642
07fc65c4 13643 * s-taprob.adb: Minor clean ups so that this unit can be used in
17c5c8a5 13644 Ravenscar HI.
82a4b025 13645
17c5c8a5
GB
13646 * exp_ch7.adb: Allow use of secondary stack in HI mode.
13647 Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
82a4b025 13648
17c5c8a5
GB
136492001-12-19 Vincent Celier <celier@gnat.com>
13650
07fc65c4 13651 * prj-tree.ads (Project_Node_Record): Add comments for components
17c5c8a5 13652 Pkg_Id and Case_Insensitive.
82a4b025 13653
17c5c8a5
GB
136542001-12-19 Pascal Obry <obry@gnat.com>
13655
13656 * g-socket.adb: Minor reformatting. Found while reading code.
82a4b025 13657
17c5c8a5
GB
136582001-12-19 Robert Dewar <dewar@gnat.com>
13659
13660 * prj-tree.ads: Minor reformatting
13661
38be19f6
JM
136622001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
13663
13664 * config-lang.in (diff_excludes): Remove.
13665
6510f4c9
GB
136662001-12-17 Ed Schonberg <schonber@gnat.com>
13667
07fc65c4
GB
13668 * sem_res.adb (Resolve_Selected_Component): do not generate a
13669 discriminant check if the selected component is a component of
6510f4c9
GB
13670 the argument of an initialization procedure.
13671
07fc65c4
GB
13672 * trans.c (tree_transform, case of arithmetic operators): If result
13673 type is private, the gnu_type is the base type of the full view,
6510f4c9 13674 given that the full view itself may be a subtype.
82a4b025 13675
6510f4c9
GB
136762001-12-17 Robert Dewar <dewar@gnat.com>
13677
13678 * sem_res.adb: Minor reformatting
82a4b025 13679
07fc65c4
GB
13680 * trans.c (tree_transform, case N_Real_Literal): Add missing third
13681 parameter in call to Machine (unknown horrible effects from this
6510f4c9 13682 omission).
82a4b025 13683
6510f4c9
GB
13684 * urealp.h: Add definition of Round_Even for call to Machine
13685 Add third parameter for Machine
82a4b025 13686
6510f4c9
GB
136872001-12-17 Ed Schonberg <schonber@gnat.com>
13688
07fc65c4 13689 * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
6510f4c9 13690 predefined units in No_Run_Time mode.
82a4b025 13691
6510f4c9
GB
136922001-12-17 Richard Kenner <kenner@gnat.com>
13693
13694 * misc.c (insn-codes.h): Now include.
82a4b025 13695
6510f4c9
GB
136962001-12-17 Olivier Hainque <hainque@gnat.com>
13697
07fc65c4 13698 * a-except.adb: Preparation work for future integration of the GCC 3
6510f4c9
GB
13699 exception handling mechanism
13700 (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
13701 to factorize previous code sequences and make them externally callable,
13702 e.g. for the Ada personality routine when the GCC 3 mechanism is used.
13703 (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
13704 Use the new notification routines.
82a4b025 13705
6510f4c9
GB
137062001-12-17 Emmanuel Briot <briot@gnat.com>
13707
13708 * prj-tree.ads (First_Choice_Of): Document the when others case
82a4b025 13709
6510f4c9
GB
137102001-12-17 Arnaud Charlet <charlet@gnat.com>
13711
07fc65c4 13712 * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
6510f4c9 13713 HI-E mode, in order to support Ravenscar profile properly.
82a4b025 13714
07fc65c4 13715 * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
6510f4c9 13716 mode on 32 bits targets.
82a4b025 13717
6510f4c9
GB
137182001-12-17 Vincent Celier <celier@gnat.com>
13719
13720 * fmap.adb: Initial version.
82a4b025 13721
6510f4c9 13722 * fmap.ads: Initial version.
82a4b025 13723
6510f4c9
GB
13724 * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
13725 If search is successfully done, add to mapping.
82a4b025 13726
6510f4c9 13727 * frontend.adb: Initialize the mapping if a -gnatem switch was used.
82a4b025 13728
6510f4c9
GB
13729 * make.adb:
13730 (Gnatmake): Add new local variable Mapping_File_Name.
13731 Create mapping file when using project file(s).
13732 Delete mapping file before exiting.
82a4b025 13733
6510f4c9 13734 * opt.ads (Mapping_File_Name): New variable
82a4b025 13735
6510f4c9 13736 * osint.adb (Find_File): Use path name found in mapping, if any.
82a4b025 13737
6510f4c9 13738 * prj-env.adb (Create_Mapping_File): New procedure
82a4b025 13739
6510f4c9 13740 * prj-env.ads (Create_Mapping_File): New procedure.
82a4b025 13741
07fc65c4 13742 * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
6510f4c9 13743 (Mapping_File)
82a4b025 13744
6510f4c9 13745 * usage.adb: Add entry for new switch -gnatem.
82a4b025 13746
6510f4c9 13747 * Makefile.in: Add dependencies for fmap.o.
82a4b025 13748
6510f4c9
GB
137492001-12-17 Ed Schonberg <schonber@gnat.com>
13750
07fc65c4 13751 * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
6510f4c9
GB
13752 is a package instantiation rewritten as a package body.
13753 (Install_Withed_Unit): Undo previous change, now redundant.
82a4b025 13754
6510f4c9
GB
137552001-12-17 Gary Dismukes <dismukes@gnat.com>
13756
13757 * layout.adb:
13758 (Compute_Length): Move conversion to Unsigned to callers.
13759 (Get_Max_Size): Convert Len expression to Unsigned after calls to
13760 Compute_Length and Determine_Range.
13761 (Layout_Array_Type): Convert Len expression to Unsigned after calls to
13762 Compute_Length and Determine_Range.
13763 Above changes fix problem with length computation for supernull arrays
07fc65c4 13764 where Max (Len, 0) wasn't getting applied due to the Unsigned
6510f4c9 13765 conversion used by Compute_Length.
82a4b025 13766
6510f4c9
GB
137672001-12-17 Arnaud Charlet <charlet@gnat.com>
13768
13769 * rtsfind.ads:
13770 (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
13771 System.Secondary_Stack.
13772 (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
13773 in HI-E mode.
13774 Remove unused entity RE_Exception_Data.
82a4b025 13775
6510f4c9 13776 * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
82a4b025 13777
6510f4c9
GB
13778 * rident.ads (No_Secondary_Stack): New restriction.
13779
3a77b68d
GB
137802001-12-17 Joel Brobecker <brobecke@gnat.com>
13781
07fc65c4 13782 * gnat_rm.texi: Fix minor typos. Found while reading the section
3a77b68d
GB
13783 regarding "Bit_Order Clauses" that was sent to a customer.
13784 Very interesting documentation!
82a4b025 13785
3a77b68d
GB
137862001-12-17 Robert Dewar <dewar@gnat.com>
13787
07fc65c4
GB
13788 * sem_case.adb (Choice_Image): Avoid creating improper character
13789 literal names by using the routine Set_Character_Literal_Name. This
3a77b68d 13790 fixes bombs in certain error message cases.
82a4b025 13791
3a77b68d
GB
137922001-12-17 Arnaud Charlet <charlet@gnat.com>
13793
13794 * a-reatim.adb: Minor reformatting.
82a4b025 13795
3a77b68d
GB
137962001-12-17 Ed Schonberg <schonber@gnat.com>
13797
07fc65c4
GB
13798 * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
13799 case where the formal is an extension of another formal in the current
3a77b68d 13800 unit or in a parent generic unit.
82a4b025 13801
3a77b68d
GB
138022001-12-17 Arnaud Charlet <charlet@gnat.com>
13803
07fc65c4 13804 * s-tposen.adb: Update comments. Minor reformatting.
3a77b68d 13805 Minor code clean up.
82a4b025 13806
3a77b68d 13807 * s-tarest.adb: Update comments. Minor code reorganization.
82a4b025 13808
3a77b68d
GB
138092001-12-17 Gary Dismukes <dismukes@gnat.com>
13810
07fc65c4 13811 * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
3a77b68d 13812 when Java_VM.
82a4b025 13813
3a77b68d
GB
138142001-12-17 Robert Dewar <dewar@gnat.com>
13815
13816 * exp_attr.adb: Minor reformatting
82a4b025 13817
3a77b68d
GB
138182001-12-17 Ed Schonberg <schonber@gnat.com>
13819
07fc65c4 13820 * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
3a77b68d
GB
13821 derivations nested within a child unit: verify that the parent
13822 type is declared in an outer scope.
82a4b025 13823
3a77b68d
GB
138242001-12-17 Robert Dewar <dewar@gnat.com>
13825
13826 * sem_ch12.adb: Minor reformatting
82a4b025 13827
3a77b68d
GB
138282001-12-17 Ed Schonberg <schonber@gnat.com>
13829
07fc65c4
GB
13830 * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
13831 warning if current unit is a predefined one, from which bodies may
3a77b68d 13832 have been deleted.
82a4b025 13833
3a77b68d
GB
138342001-12-17 Robert Dewar <dewar@gnat.com>
13835
13836 * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
13837 Fix header format. Add 2001 to copyright date.
82a4b025 13838
07fc65c4 13839 * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
3a77b68d
GB
13840 which caused CE during compilation if checks were enabled.
13841
79503fdd
GB
138422001-12-17 Vincent Celier <celier@gnat.com>
13843
13844 * make.adb:
13845 (Switches_Of): New function
13846 (Test_If_Relative_Path): New procedure
13847 (Add_Switches): Use new function Switches_Of
13848 (Collect_Arguments_And_Compile): Use new function Switches_Of.
13849 When using a project file, test if there are any relative
13850 search path. Fail if there are any.
07fc65c4
GB
13851 (Gnatmake): Only add switches for the primary directory when not using
13852 a project file. When using a project file, change directory to the
13853 object directory of the main project file. When using a project file,
13854 test if there are any relative search path. Fail if there are any.
13855 When using a project file, fail if specified executable is relative
13856 path with directory information, and prepend executable, if not
13857 specified as an absolute path, with the exec directory. Make sure
79503fdd 13858 that only one -o switch is transmitted to the linker.
82a4b025 13859
79503fdd 13860 * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
82a4b025 13861
79503fdd
GB
13862 * prj-nmsc.adb:
13863 (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
13864 when using a non standard naming scheme.
13865 (Check_Ada_Naming_Scheme): Make sure that error messages
13866 do not raise exceptions.
13867 (Is_Illegal_Append): Return True if there is no dot in the suffix.
13868 (Language_Independent_Check): Check the exec directory.
82a4b025 13869
79503fdd 13870 * prj.adb (Project_Empty): Add new component Exec_Directory
82a4b025 13871
79503fdd
GB
13872 * prj.ads:
13873 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
13874 (Project_Data): Add component Exec_Directory
82a4b025 13875
79503fdd 13876 * snames.adb: Updated to match snames.ads revision 1.215
82a4b025 13877
79503fdd 13878 * snames.ads: Added Exec_Dir
82a4b025 13879
79503fdd
GB
138802001-12-17 Robert Dewar <dewar@gnat.com>
13881
13882 * make.adb: Minor reformatting
82a4b025 13883
79503fdd 13884 * prj-nmsc.adb: Minor reformatting
82a4b025 13885
79503fdd 13886 * snames.adb: Updated to match snames.ads
82a4b025 13887
79503fdd
GB
13888 * snames.ads: Alphebetize entries for project file
13889
138902001-12-17 Ed Schonberg <schonber@gnat.com>
13891
07fc65c4 13892 * trans.c (process_freeze_entity): Do nothing if the entity is a
79503fdd 13893 subprogram that was already elaborated.
82a4b025 13894
79503fdd 138952001-12-17 Richard Kenner <kenner@gnat.com>
82a4b025 13896
07fc65c4 13897 * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
79503fdd
GB
13898 and Esize if object is referenced via pointer.
13899
855ff2e1
GB
139002001-12-17 Ed Schonberg <schonber@gnat.com>
13901
07fc65c4 13902 * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
855ff2e1 13903 is discrete before analyzing choices.
82a4b025 13904
855ff2e1
GB
139052001-12-17 Joel Brobecker <brobecke@gnat.com>
13906
07fc65c4
GB
13907 * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
13908 containing the name of the Ada Main Program. This string is mainly
855ff2e1
GB
13909 intended for the debugger.
13910 (Gen_Output_File_C): Do the equivalent change when generating a C file.
82a4b025 13911
855ff2e1
GB
139122001-12-17 Robert Dewar <dewar@gnat.com>
13913
13914 * ali.adb: Set new Dummy_Entry field in dependency entry
82a4b025 13915
855ff2e1 13916 * ali.ads: Add Dummy_Entry field to source dependency table
82a4b025 13917
855ff2e1 13918 * bcheck.adb (Check_Consistency): Ignore dummy D lines
82a4b025 13919
855ff2e1 13920 * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
82a4b025 13921
855ff2e1 13922 * lib-writ.ads: Document dummy D lines for missing files.
82a4b025 13923
855ff2e1
GB
13924 * types.ads: (Dummy_Time_Stamp): New value for non-existant files
13925
c1c22e7a
GB
139262001-12-17 Robert Dewar <dewar@gnat.com>
13927
13928 * ali.adb: Type reference does not reset current file.
82a4b025 13929
c1c22e7a 13930 * ali.adb: Recognize and scan renaming reference
82a4b025 13931
c1c22e7a 13932 * ali.ads: Add spec for storing renaming references.
82a4b025 13933
c1c22e7a 13934 * lib-xref.ads: Add documentation for handling of renaming references
82a4b025 13935
c1c22e7a 13936 * lib-xref.adb: Implement output of renaming reference.
82a4b025 13937
c1c22e7a
GB
13938 * checks.adb:
13939 (Determine_Range): Document local variables
13940 (Determine_Range): Make sure Hbound is initialized. It looks as though
13941 there could be a real problem here with an uninitialized reference
13942 to Hbound, but no actual example of failure has been found.
82a4b025 13943
c1c22e7a
GB
139442001-12-17 Laurent Pautet <pautet@gnat.com>
13945
13946 * g-socket.ads:
13947 Fix comment of Shutdown_Socket and Close_Socket. These functions
13948 should not fail silently because if they are called twice, this
13949 probably means that there is a race condition in the user program.
13950 Anyway, this behaviour is consistent with the rest of this unit.
13951 When an error occurs, an exception is raised with the error message
13952 as exception message.
13953
7eb7bb07
RD
139542001-12-17 Robert Dewar <dewar@gnat.com>
13955
07fc65c4 13956 * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
7eb7bb07 13957 that it happens before modification of Sloc values for -gnatD.
82a4b025 13958
07fc65c4 13959 * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
7eb7bb07 13960 so that it happens before modification of Sloc values for -gnatD.
82a4b025 13961
7eb7bb07
RD
13962 * switch.adb: Minor reformatting
13963
b6434700
RH
139642001-12-15 Richard Henderson <rth@redhat.com>
13965
13966 * sem_ch7.adb: Wrap comment.
13967
44d6a706
JM
139682001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
13969
13970 * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
13971 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
13972 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
13973 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
13974 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
13975 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
13976 a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
13977 a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
13978 cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
13979 exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
13980 exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
13981 g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
13982 gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
13983 make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
13984 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
13985 repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
13986 s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
13987 s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
13988 s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
13989 s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
13990 sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
13991 sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
13992 sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
13993 sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
13994 spelling errors.
13995
226ada7a
GB
139962001-12-14 Vincent Celier <celier@gnat.com>
13997
07fc65c4 13998 * osint.adb(Create_Debug_File): When an object file is specified,
226ada7a 13999 put the .dg file in the same directory as the object file.
82a4b025 14000
226ada7a
GB
140012001-12-14 Robert Dewar <dewar@gnat.com>
14002
14003 * osint.adb: Minor reformatting
82a4b025 14004
07fc65c4 14005 * lib-xref.adb (Output_Instantiation): New procedure to generate
226ada7a 14006 instantiation references.
82a4b025 14007
226ada7a 14008 * lib-xref.ads: Add documentation of handling of generic references.
82a4b025 14009
07fc65c4 14010 * ali.adb (Read_Instantiation_Ref): New procedure to read
226ada7a 14011 instantiation references
82a4b025 14012
226ada7a 14013 * ali.ads: Add spec for storing instantiation references
82a4b025 14014
226ada7a 14015 * bindusg.adb: Minor reformatting
82a4b025 14016
226ada7a 14017 * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 14018
226ada7a 14019 * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 14020
226ada7a 14021 * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 14022
226ada7a 14023 * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 14024
226ada7a
GB
14025 * csets.ads:
14026 Fix header format
14027 Add 2001 to copyright date
14028 Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 14029
226ada7a
GB
140302001-12-14 Matt Gingell <gingell@gnat.com>
14031
07fc65c4 14032 * adaint.c: mktemp is a macro on Lynx and can not be used as an
226ada7a 14033 expression.
82a4b025 14034
226ada7a
GB
140352001-12-14 Richard Kenner <kenner@gnat.com>
14036
07fc65c4 14037 * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
226ada7a 14038 if operand is CONSTRUCTOR.
82a4b025 14039
226ada7a
GB
140402001-12-14 Ed Schonberg <schonber@gnat.com>
14041
07fc65c4
GB
14042 * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
14043 before emiting check on right-hand side, so that exception information
226ada7a
GB
14044 is correct.
14045
140462001-12-14 Richard Kenner <kenner@gnat.com>
82a4b025 14047
07fc65c4 14048 * utils.c (create_var_decl): Throw away initializing expression
226ada7a 14049 if just annotating types and non-constant.
82a4b025 14050
226ada7a
GB
140512001-12-14 Vincent Celier <celier@gnat.com>
14052
14053 * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
14054 Default_Ada_...
82a4b025 14055
07fc65c4 14056 * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
226ada7a
GB
14057 Remove functions.
14058 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
82a4b025 14059
07fc65c4 14060 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
226ada7a
GB
14061 Remove functions.
14062 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
14063
9b94bf9e
JM
140642001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
14065
14066 * ChangeLog: Remove piece of diff output.
14067
449d2be3
GB
140682001-12-14 Geert Bosch <bosch@gnat.com>
14069
14070 * config-lang.in: Update copyright notice
14071
14072 * layout.adb: Remove commented out code.
14073
14074 * mdllfile.ads: Update copyright notice. Fix header format.
14075
14076 * sem_case.ads: Likewise.
14077
14078 * sem_ch3.adb: Minor reformatting.
14079
e5bd5cb4
GB
140802001-12-12 Geert Bosch <bosch@gnat.com>
14081
14082 * freeze.ads: Update copyright date.
14083
14084 * g-comlin.ads: Minor reformatting.
14085
14086 * gnat-style.texi: Fix typo.
14087
b468d8ec
GB
140882001-12-12 Geert Bosch <bosch@gnat.com>
14089
14090 * einfo.h: Regenerate.
14091
ed7da216
GB
140922001-12-12 Ed Schonberg <schonber@gnat.com>
14093
07fc65c4 14094 * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
ed7da216 14095 on known node types, rather than untyped fields. Further cleanups.
82a4b025 14096
ed7da216
GB
140972001-12-12 Robert Dewar <dewar@gnat.com>
14098
14099 * sem_ch12.adb:
14100 (Save_Entity_Descendant): Minor comment update.
14101 (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
07fc65c4 14102 of an N_Attribute_Reference node. As per note below, this does not
ed7da216 14103 eliminate need for Associated_Node in attribute ref nodes.
07fc65c4 14104 (Associated_Node): Documentation explicitly mentions attribute
ed7da216 14105 reference nodes, since this field is used in such nodes.
82a4b025 14106
ed7da216
GB
14107 * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
14108
de76a39c
GB
141092001-12-12 Robert Dewar <dewar@gnat.com>
14110
14111 * s-stalib.adb: Add more comments on with statements being needed
82a4b025 14112
de76a39c 14113 * par-ch12.adb: Minor reformatting
82a4b025 14114
de76a39c 14115 * prj-dect.ads: Fix copyright header
82a4b025 14116
07fc65c4 14117 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
de76a39c 14118 inputs fit in 32 bits, but the result still overflows.
82a4b025 14119
de76a39c 14120 * s-fatgen.ads: Minor comment improvement
82a4b025 14121
de76a39c
GB
141222001-12-12 Ed Schonberg <schonber@gnat.com>
14123
07fc65c4
GB
14124 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
14125 formal derived type, look for an inherited component from the full
de76a39c 14126 view of the parent, if any.
82a4b025 14127
de76a39c
GB
141282001-12-12 Robert Dewar <dewar@gnat.com>
14129
14130 * checks.ads (Apply_Alignment_Check): New procedure.
82a4b025 14131
07fc65c4
GB
14132 * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
14133 ensure that the alignment of objects with address clauses is
de76a39c
GB
14134 appropriate, and raise PE if not.
14135
07fc65c4 14136 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
de76a39c 14137 Exp_Pakd.Known_Aligned_Enough
82a4b025 14138
de76a39c
GB
14139 * mdllfile.ads: Minor reformatting
14140
14141 * mlib-fil.ads: Minor reformatting
82a4b025 14142
de76a39c
GB
141432001-12-12 Ed Schonberg <schonber@gnat.com>
14144
07fc65c4
GB
14145 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
14146 fix to any component reference if enclosing record has non-standard
de76a39c 14147 representation.
82a4b025 14148
de76a39c
GB
141492001-12-12 Vincent Celier <celier@gnat.com>
14150
07fc65c4 14151 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
de76a39c 14152 Iteration
82a4b025 14153
de76a39c
GB
141542001-12-12 Ed Schonberg <schonber@gnat.com>
14155
07fc65c4 14156 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
de76a39c 14157 sem_attr.
82a4b025 14158
de76a39c
GB
141592001-12-12 Robert Dewar <dewar@gnat.com>
14160
14161 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
82a4b025 14162
de76a39c
GB
141632001-12-12 Emmanuel Briot <briot@gnat.com>
14164
14165 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
14166 and it adds dependencies to system.io.
82a4b025 14167
de76a39c
GB
141682001-12-12 Pascal Obry <obry@gnat.com>
14169
07fc65c4 14170 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
de76a39c
GB
14171 variable name.
14172
0b09835f
ES
141732001-12-11 Ed Schonberg <schonber@gnat.com>
14174
14175 * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
07fc65c4
GB
14176 that is the parent of other generics, the instance body replaces the
14177 instance node. Retrieve the instance of the spec, which is the one
0b09835f
ES
14178 that is visible in clients and within the body.
14179
598c3446
GB
141802001-12-11 Vincent Celier <celier@gnat.com>
14181
14182 * gnatmain.adb: Initial version.
82a4b025 14183
598c3446 14184 * gnatmain.ads: Initial version.
82a4b025 14185
598c3446 14186 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
82a4b025 14187
598c3446 14188 * snames.adb: Updated to match snames.ads.
82a4b025 14189
598c3446 14190 * snames.ads: Added Gnatstub.
82a4b025 14191
598c3446
GB
141922001-12-11 Vincent Celier <celier@gnat.com>
14193
07fc65c4 14194 * prj-attr.adb (Initialization_Data): Change name from
598c3446 14195 Initialisation_Data.
82a4b025 14196
598c3446
GB
141972001-12-11 Emmanuel Briot <briot@gnat.com>
14198
14199 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
14200 + and * applied to backslashed expressions like \r.
82a4b025 14201
598c3446
GB
142022001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
14203
07fc65c4 14204 * g-os_lib.ads: String_List type added, Argument_List type is now
598c3446 14205 subtype of String_List.
82a4b025 14206
598c3446
GB
142072001-12-11 Robert Dewar <dewar@gnat.com>
14208
14209 * g-os_lib.ads: Change copyright to FSF
14210 Add comments for String_List type
82a4b025 14211
598c3446
GB
142122001-12-11 Vincent Celier <celier@gnat.com>
14213
07fc65c4 14214 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
598c3446
GB
14215 string to the buffer).
14216
7fb754a1
GB
142172001-12-11 Ed Schonberg <schonber@gnat.com>
14218
14219 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
14220 sem_attr.
82a4b025 14221
7fb754a1 14222 * sem_attr.adb: Simplify previous fix for Address.
07fc65c4
GB
14223 (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
14224 to avoid anomalies where the bound of the type appears to raise
7fb754a1
GB
14225 constraint error.
14226
142272001-12-11 Robert Dewar <dewar@gnat.com>
14228
07fc65c4 14229 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
7fb754a1 14230 handled.
82a4b025 14231
7fb754a1
GB
142322001-12-11 Ed Schonberg <schonber@gnat.com>
14233
07fc65c4 14234 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
7fb754a1 14235 renamed unit before checking for recursive instantiations.
82a4b025 14236
7fb754a1
GB
142372001-12-11 Emmanuel Briot <briot@gnat.com>
14238
14239 * prj.ads: Add comments for some of the fields.
14240
0873bafc
GB
142412001-12-11 Robert Dewar <dewar@gnat.com>
14242
07fc65c4 14243 * lib-xref.adb (Output_Refs): Don't output type references outside
0873bafc 14244 the main unit if they are not otherwise referenced.
82a4b025 14245
0873bafc
GB
142462001-12-11 Ed Schonberg <schonber@gnat.com>
14247
07fc65c4 14248 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
0873bafc 14249 code and diagnose additional illegal uses
82a4b025 14250
07fc65c4 14251 * sem_util.adb (Is_Object_Reference): An indexed component is an
0873bafc 14252 object only if the prefix is.
82a4b025 14253
0873bafc
GB
142542001-12-11 Vincent Celier <celier@gnat.com>
14255
14256 * g-diopit.adb: Initial version.
82a4b025 14257
0873bafc 14258 * g-diopit.ads: Initial version.
82a4b025 14259
0873bafc
GB
14260 * g-dirope.adb:
14261 (Expand_Path): Avoid use of Unbounded_String
14262 (Find, Wildcard_Iterator): Moved to child package Iteration
82a4b025 14263
0873bafc 14264 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
82a4b025 14265
7fb754a1 142662001-12-11 Robert Dewar <dewar@gnat.com>
0873bafc
GB
14267
14268 * sem_attr.adb: Minor reformatting
14269
d087cd96
GB
142702001-12-11 Ed Schonberg <schonber@gnat.com>
14271
14272 * sem_ch3.adb: Clarify some ???.
82a4b025 14273
d087cd96
GB
142742001-12-11 Robert Dewar <dewar@gnat.com>
14275
07fc65c4 14276 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
d087cd96 14277 Exp_Pakd.Known_Aligned_Enough
82a4b025 14278
07fc65c4 14279 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
d087cd96
GB
14280 version is moved to Exp_Ch13.
14281
142822001-12-11 Robert Dewar <dewar@gnat.com>
14283
14284 * einfo.ads: Minor reformatting
82a4b025 14285
d087cd96 14286 * exp_ch5.adb: Add comment for previous.change
82a4b025 14287
d087cd96 14288 * ali.adb: New interface for extended typeref stuff.
82a4b025 14289
d087cd96 14290 * ali.ads: New interface for typeref stuff.
82a4b025 14291
d087cd96 14292 * checks.adb (Apply_Alignment_Check): New procedure.
82a4b025 14293
d087cd96 14294 * debug.adb: Add -gnatdM for modified ALI output
82a4b025 14295
d087cd96 14296 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
82a4b025 14297
07fc65c4
GB
14298 * lib-xref.adb: Extend generation of <..> notation to cover
14299 subtype/object types. Note that this is a complete rewrite,
14300 getting rid of the very nasty quadratic algorithm previously
d087cd96 14301 used for derived type output.
82a4b025 14302
07fc65c4
GB
14303 * lib-xref.ads: Extend description of <..> notation to cover
14304 subtype/object types. Uses {..} for these other cases.
d087cd96 14305 Also use (..) for pointer types.
82a4b025 14306
d087cd96 14307 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
82a4b025 14308
07fc65c4 14309 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
d087cd96
GB
14310 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
14311
290986ed
GB
143122001-12-11 Vincent Celier <celier@gnat.com>
14313
14314 * gnatcmd.adb:
14315 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
14316 Changed /BIND_ONLY to /ACTIONS=BIND
14317 Changed /LINK_ONLY to /ACTIONS=LINK
82a4b025 14318
290986ed
GB
143192001-12-11 Ed Schonberg <schonber@gnat.com>
14320
14321 * sem_ch8.adb (Find_Selected_Component): improved search for a
14322 candidate package in case of error.
82a4b025 14323
290986ed
GB
14324 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
14325 chain back on scope stack before reinstalling use clauses.
82a4b025 14326
290986ed
GB
14327 * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
14328 is enabled, do not kill the code for the condition, to preserve
14329 warning.
14330
84157f51
GB
143312001-12-11 Robert Dewar <dewar@gnat.com>
14332
07fc65c4 14333 * checks.adb (Insert_Valid_Check): Apply validity check to expression
84157f51
GB
14334 of conversion, not to result of conversion.
14335
143362001-12-11 Ed Schonberg <schonber@gnat.com>
82a4b025 14337
07fc65c4
GB
14338 * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
14339 before freezing parent. If the declarations are mutually recursive,
14340 an access to the current record type may be frozen before the
84157f51
GB
14341 derivation is complete.
14342
7ffa903f
VC
143432001-12-05 Vincent Celier <celier@gnat.com>
14344
07fc65c4 14345 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
7ffa903f 14346 -c /COMPILE_ONLY, -l /LINK_ONLY
82a4b025 14347
7ffa903f
VC
14348 * opt.ads:
14349 (Bind_Only): New Flag
14350 (Link_Only): New flag
82a4b025 14351
07fc65c4 14352 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
7ffa903f 14353 and -l (Link_Only)
82a4b025 14354
7ffa903f 14355 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
82a4b025 14356
7ffa903f
VC
14357 * make.adb:
14358 (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
14359 (Gnatmake): Set the step flags. Only perform a step if the
14360 corresponding step flag is True.
14361 (Scan_Make_Arg): Reset the bind and link step flags when -u
14362 or -gnatc has been specified.
14363
f91b40db
GB
143642001-12-05 Ed Schonberg <schonber@gnat.com>
14365
07fc65c4 14366 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
f91b40db 14367 get bounds from right operand.
82a4b025 14368
f91b40db 14369 * sem_eval.adb: Minor reformatting
82a4b025 14370
07fc65c4 14371 * exp_util.adb (Make_Literal_Range): use bound of literal rather
f91b40db 14372 than Index'First, its lower bound may be different from 1.
82a4b025 14373
07fc65c4 14374 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
f91b40db 14375 and C48009J
82a4b025 14376
f91b40db
GB
143772001-12-05 Vincent Celier <celier@gnat.com>
14378
14379 * prj-nmsc.adb Minor reformatting
82a4b025 14380
07fc65c4 14381 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
f91b40db 14382 set and libraries are not supported.
82a4b025 14383
f91b40db
GB
143842001-12-05 Ed Schonberg <schonber@gnat.com>
14385
07fc65c4
GB
14386 * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
14387 private view explicitly, so the back-end can treat as a global
f91b40db
GB
14388 when appropriate.
14389
45d04cbb
GB
143902001-12-05 Ed Schonberg <schonber@gnat.com>
14391
14392 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
14393 unit, always replace instance node with new body, for ASIS use.
14394
143952001-12-05 Vincent Celier <celier@gnat.com>
82a4b025 14396
07fc65c4
GB
14397 * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
14398 libraries are not supported and both attributes Library_Name and
45d04cbb 14399 Library_Dir are specified.
82a4b025 14400
07fc65c4 14401 * prj-proc.adb (Expression): Set location of Result to location of
45d04cbb 14402 first term.
82a4b025 14403
45d04cbb
GB
14404 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
14405 (prj-nmsc is now importing MLib.Tgt)
82a4b025 14406
45d04cbb
GB
14407 * prj-proc.adb: Put the change indicated above that was forgotten.
14408
84436014
RD
144092001-12-05 Robert Dewar <dewar@gnat.com>
14410
14411 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
14412
7ae0dcd8
ES
144132001-12-05 Ed Schonberg <schonber@gnat.com>
14414
14415 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
14416 constraint, introduce explicit subtype declaration and derive from it.
82a4b025 14417
7ae0dcd8
ES
14418 * sem_ch3.adb: Minor reformatting
14419
c9a4817d
RD
144202001-12-05 Robert Dewar <dewar@gnat.com>
14421
07fc65c4 14422 * checks.adb (Determine_Range): Increase cache size for checks.
c9a4817d 14423 Minor reformatting
82a4b025 14424
c9a4817d
RD
14425 * exp_ch6.adb: Minor reformatting
14426 (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
14427 a parameter whose root type is System.Address, since treating such
14428 subprograms as pure in the code generator is almost surely a mistake
14429 that will lead to unexpected results.
82a4b025 14430
07fc65c4 14431 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
c9a4817d 14432 change handling of conversions.
82a4b025 14433
c9a4817d
RD
14434 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
14435
2514b839
ES
144362001-12-05 Ed Schonberg <schonber@gnat.com>
14437
07fc65c4
GB
14438 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
14439 aggregate with static wrong size, attach generated Raise node to
2514b839
ES
14440 declaration.
14441
457b6274
RD
144422001-12-05 Robert Dewar <dewar@gnat.com>
14443
07fc65c4 14444 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
457b6274
RD
14445 Fixes compilation abandoned bomb in B24009B.
14446
19349925
ES
144472001-12-05 Ed Schonberg <schonber@gnat.com>
14448
14449 * sem_ch12.adb:
14450 Document use of Associated_Node on Selected_Components.
14451 (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
14452 to clarify use of untyped descendant fields.
14453
6663c393
RD
144542001-12-05 Robert Dewar <dewar@gnat.com>
14455
14456 * prj-dect.ads: Add ??? comment
14457 Add 2001 to copyright notice (was not done in after all)
82a4b025 14458
6663c393 14459 * prj-part.adb: Minor reformatting. Reword one awkward error message.
82a4b025 14460
6663c393 14461 * prj.ads: Minor reformatting throughout, and add some ??? comments
82a4b025 14462
6663c393
RD
14463 * snames.ads: Minor reformatting
14464
d7b2a6af
GB
144652001-12-05 Geert Bosch <bosch@gnat.com>
14466
14467 * snames.adb: Autoupdate
14468
fbc9a404
VC
144692001-12-05 Vincent Celier <celier@gnat.com>
14470
14471 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
82a4b025 14472
fbc9a404 14473 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
82a4b025 14474
fbc9a404 14475 * prj-env.adb: Minor comment changes (modifying -> extends).
82a4b025 14476
fbc9a404 14477 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
82a4b025 14478
07fc65c4 14479 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
fbc9a404 14480 Tok_Extends.
82a4b025 14481
fbc9a404 14482 * prj.adb (Initialize): Change Modifying to Extends.
82a4b025 14483
fbc9a404 14484 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
82a4b025 14485
fbc9a404 14486 * prj.ads: Minor comment change (Modifying -> extending).
82a4b025 14487
fbc9a404
VC
14488 * snames.ads: Change modifying to extends.
14489
7cff0b1b
RD
144902001-12-05 Robert Dewar <dewar@gnat.com>
14491
07fc65c4 14492 * sem_warn.adb: Remove stuff for conditionals, we are not going to
7cff0b1b 14493 do this after all.
82a4b025 14494
07fc65c4 14495 * sem_warn.ads: Remove stuff for conditionals, we are not going to
7cff0b1b
RD
14496 do this after all. Add 2001 to copyright notice
14497
4f56ebb7
GB
144982001-12-04 Geert Bosch <bosch@gnat.com>
14499
14500 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
14501
053defdf
RD
145022001-12-04 Robert Dewar <dewar@gnat.com>
14503
07fc65c4
GB
14504 * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
14505 location if we already have errors. Stops some cases of cascaded
053defdf 14506 errors.
82a4b025 14507
053defdf
RD
14508 * errout.adb: Improve comment.
14509
f311e166
RD
145102001-12-04 Robert Dewar <dewar@gnat.com>
14511
14512 * sem_ch12.adb:
14513 (Analyze_Formal_Type_Definition): Defend against Error.
14514 (Analyze_Formal_Subprogram): Defend against Error.
82a4b025 14515
07fc65c4 14516 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
f311e166
RD
14517 remove following semicolon if present. Removes cascaded error.
14518
d61bd65a
DR
145192001-12-04 Douglas B. Rupp <rupp@gnat.com>
14520
14521 * bindgen.adb:
14522 (Gen_Exception_Table_Ada): Write "begin" and then return if Num
14523 exceptions equals 0.
14524 (Gen_Exception_Table_C): Return if Num exceptions equals 0.
14525 Fixes PIWG E tests (which have to be run with -gnatL).
14526
4ba603e2
RD
145272001-12-04 Robert Dewar <dewar@gnat.com>
14528
14529 * einfo.ads: Minor reformatting
14530
57568d91
ES
145312001-12-04 Ed Schonberg <schonber@gnat.com>
14532
07fc65c4
GB
14533 * einfo.ads: Block_Node points to the identifier of the block, not to
14534 the block node itself, to preserve the link when the block is
14535 rewritten, e.g. within an if-statement with a static condition.
82a4b025 14536
07fc65c4 14537 * inline.adb (Cleanup_Scopes): recover block statement from block
57568d91 14538 entity using new meaning of Block_Node.
82a4b025 14539
07fc65c4 14540 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
57568d91
ES
14541 identifier of block node, rather than to node itself.
14542
0815d36a 145432001-12-04 Gary Dismukes <dismukes@gnat.com>
82a4b025 14544
0815d36a
GD
14545 * layout.adb:
14546 (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
14547 (Discrimify): Go back to setting the Etypes of the selected component
07fc65c4 14548 because the Vname component does not exist at this point and will
0815d36a
GD
14549 fail name resolution. Also set Analyzed.
14550 Remove with and use of Sem_Res.
14551
edc0f304
AC
145522001-12-04 Arnaud Charlet <charlet@gnat.com>
14553
14554 * Makefile.in: (HIE_SOURCES): add s-fat*.
14555
32213142
RD
145562001-12-04 Robert Dewar <dewar@gnat.com>
14557
14558 * sem_attr.adb:
14559 (Compile_Time_Known_Attribute): New procedure.
14560 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
14561 proper range check.
14562
c0def2ad
ES
145632001-12-04 Ed Schonberg <schonber@gnat.com>
14564
07fc65c4 14565 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
c0def2ad
ES
14566 processing discriminants to diagnose illegal default values.
14567
ee0a48c5
ES
145682001-12-04 Ed Schonberg <schonber@gnat.com>
14569
07fc65c4
GB
14570 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
14571 access discriminant within a type extension that constrains its
ee0a48c5
ES
14572 parent discriminants.
14573
dd5875a6
ES
145742001-12-04 Ed Schonberg <schonber@gnat.com>
14575
07fc65c4 14576 * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
dd5875a6 14577 is malformed, use instance of Any_Id to allow analysis to proceed.
82a4b025 14578
07fc65c4 14579 * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
dd5875a6
ES
14580 type definition is illegal.
14581 (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
14582 misplaced.
14583
c2a41e57
ES
145842001-12-04 Ed Schonberg <schonber@gnat.com>
14585
07fc65c4 14586 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
c2a41e57
ES
14587 constants.
14588
0ae84753
RD
145892001-12-04 Robert Dewar <dewar@gnat.com>
14590
14591 * errout.adb: Minor reformatting
14592
63db260e
RD
145932001-12-04 Robert Dewar <dewar@gnat.com>
14594
14595 * exp_util.adb: Minor reformatting from last change
82a4b025 14596
07fc65c4
GB
14597 * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
14598 which is a rewriting of an expression, traverse the original
63db260e
RD
14599 expression to remove warnings that may have been posted on it.
14600
c6d289f4
ES
146012001-12-04 Ed Schonberg <schonber@gnat.com>
14602
07fc65c4 14603 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
c6d289f4
ES
14604 record that has other packed components.
14605
5917e80d
DR
146062001-12-04 Douglass B. Rupp <rupp@gnat.com>
14607
14608 * adaint.c: Minor cleanups.
14609
2c70f9dd
DR
146102001-12-04 Douglass B. Rupp <rupp@gnat.com>
14611
14612 * adaint.c: Do not use utime.h on vxworks.
14613
e59b3387
AC
146142001-12-04 Arnaud Charlet <charlet@gnat.com>
14615
07fc65c4 14616 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
e59b3387
AC
14617 more confusion than it solves.
14618
e288604a
GB
146192001-12-04 Geert bosch <bosch@gnat.com>
14620
14621 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
14622
5ac21013
GB
146232001-12-04 Geert Bosch <bosch@gnat.com>
14624
07fc65c4 14625 * Makefile.in (update-sources): New target.
5ac21013
GB
14626 For use by gcc_release script.
14627
7dd5bd5e
ES
146282001-12-04 Ed Schonberg <schonber@gnat.com>
14629
07fc65c4 14630 * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
7dd5bd5e
ES
14631 a configuration pragma, it is now legal wherever a pragma can appear.
14632
a078a589
ZW
146332001-12-04 Zack Weinberg <zack@codesourcery.com>
14634
14635 * Makefile.in: Don't set ALL. Delete @cross_defines@,
14636 @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
14637 is now @CROSS@ -DIN_GCC; update comment.
14638
0839863c
GB
146392001-12-04 Robert Dewar <dewar@gnat.com>
14640
14641 * einfo.adb (Has_Pragma_Pure_Function): New flag.
14642 Fix problem that stopped ceinfo from working
82a4b025 14643
0839863c 14644 * einfo.ads (Has_Pragma_Pure_Function): New flag.
82a4b025 14645
0839863c
GB
14646 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
14647
146482001-12-04 Douglas B. Rupp <rupp@gnat.com>
9678de49
DR
14649
14650 * gnatchop.adb:
14651 (File_Time_Stamp): New procedure.
14652 (Preserve_Mode): New boolean.
14653 (Write_Unit): Pass time stamp.
14654 Implement -p switch (preserve time stamps).
82a4b025 14655
9678de49 14656 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
82a4b025 14657
9678de49 14658 * gnatchop.adb: Do usage info for -p switch
82a4b025 14659
9678de49 14660 * adaint.h (__gnat_set_file_time_name): New function
82a4b025 14661
9678de49 14662 * adaint.c (__gnat_set_file_time_name): Implement
82a4b025 14663
9678de49
DR
14664 * adaint.h: Fix typo
14665
3b9a13c4
RD
146662001-12-03 Robert Dewar <dewar@gnat.com>
14667
667e5c5d 14668 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
b4f94ac1 14669 have Associated_Node.
3b9a13c4 14670
767b404e
RD
146712001-12-03 Robert Dewar <dewar@gnat.com>
14672
14673 * prj-proc.adb: Minor reformatting
667e5c5d 14674
767b404e
RD
14675 * make.adb: Minor reformatting
14676
11ac71ba
GB
146772001-12-03 Geert Bosch <bosch@gnat.com>
14678
667e5c5d 14679 * make.adb: Minor reformatting.
11ac71ba 14680
ef3d4d6e 146812001-12-03 Robert Dewar <dewar@gnat.com>
b1446533
RD
14682
14683 * sem_ch12.adb: Minor reformatting
14684
d6d32b24
ES
146852001-12-03 Ed Schonberg <schonber@gnat.com>
14686
667e5c5d
AJ
14687 * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
14688 push Standard on the stack before analyzing the instance body,
d6d32b24 14689 in order to have a clean visibility environment.
667e5c5d
AJ
14690
14691 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
d6d32b24 14692
13f08f03
ES
146932001-12-03 Ed Schonberg <schonber@gnat.com>
14694
667e5c5d 14695 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
13f08f03
ES
14696 instantiation of a body that contains an inlined body.
14697
3bd6c100
ES
146982001-12-03 Ed Schonberg <schonber@gnat.com>
14699
14700 * sem_ch12.adb:
14701 (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
14702 to prevent freezing within formal packages.
14703 (Freeze_Subprogram_Body): If body comes from another instance that
14704 appeared before its own body, place freeze node at end of current
14705 declarative part, to prevent a back-end crash.
14706 (Inline_Instance_Body): Handle properly a package instance within
14707 a subprogram instance that is a child unit.
14708
58d07d8f
GS
147092001-12-01 Graham Stott <grahams@redhat.com>
14710
14711 * Makefile.in (misc.o): Add missing $(srcdir) prefix
14712 and add optabs.h dependency.
14713
14714 * misc.c: Include optabs.h
14715 (gnat_tree_code_type): Make static and const.
14716 (gnat_tree_code_length): Likewise.
14717 (gnat_tree_code_name): Likewise.
14718 (update_setjmp_buf): Obtain operands mode from insn_data.
14719
c87222f0
RH
147202001-11-29 Richard Henderson <rth@redhat.com>
14721
14722 * init.c: Remove obsolete dwarf2 frame.h section.
14723
d3945f0a
JM
147242001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
14725
14726 * Make-lang.in (ada.generated-manpages): New dummy target.
14727
9f639397
ES
147282001-11-29 Ed Schonberg <schonber@gnat.com>
14729
667e5c5d
AJ
14730 * g-os_lib.adb (Add_To_Command): use explicit loop to move string
14731 into Command, an array conversion is illegal here. Uncovered by
9f639397
ES
14732 ACATS B460005.
14733
c835e5c6
GB
147342001/11/28 Geert Bosch <bosch@gnat.com>
14735
14736 * init.c: Minor whitespace changes.
14737
49bb4548
DR
147382001-11-28 Doug Rupp <rupp@gnat.com>
14739
667e5c5d 14740 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
49bb4548
DR
14741 signal stack.
14742
ea2417e5
ZW
147432001-11-28 Zack Weinberg <zack@codesourcery.com>
14744
14745 * misc.c (gnat_expand_constant): Move declaration above
14746 definition of lang_hooks.
14747 (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
14748 (gnat_init): lang_expand_constant no longer exists.
14749
14750 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
14751 always have vprintf.
14752 (gnat_init): Always call set_internal_error_function.
14753
f8e0aa73
AJ
147542001-11-27 Andreas Jaeger <aj@suse.de>
14755
14756 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
14757
d99b0e79
LG
147582001-11-27 Laurent Guerby <guerby@acm.org>
14759
14760 * Makefile.in: Regenerate Ada dependencies.
14761
3f0496e5
RH
147622001-11-26 Richard Henderson <rth@redhat.com>
14763
14764 * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
14765 gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
14766 gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
14767
92fa4733
LG
147682001-11-25 Laurent Guerby <guerby@acm.org>
14769
14770 * sysdep.c (rts_get_*): Fix style.
14771
07626501
LG
147722001-11-19 Laurent Guerby <guerby@acm.org>
14773
14774 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
14775 since it is of no apparent use and cause warnings.
14776
22703ccc
NB
147772001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
14778
14779 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
14780 static too.
14781 (gnat_init): Don't return NULL.
14782 (finish_parse): Remove.
14783
b0df4321
LG
147842001-11-17 Laurent Guerby <guerby@acm.org>
14785
14786 * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
14787 * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
14788 * io-aux.c: Provide K&R prototypes to all functions, reformat code.
14789 * lang-spec.h: Add missing struct field to silence warnings.
14790 * sysdep.c (rts_get_*): Provide K&R prototype.
14791 * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
14792 * traceback.c (Unlock_Task, Lock_Task): Likewise.
14793 * tracebak.c (__gnat_backtrace): Remove unused variable.
14794 * utils.c (end_subprog_body): Move to K&R style.
14795
d215024f
RK
14796Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14797
14798 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
14799
f5e99456
NB
148002001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
14801
14802 * misc.c (gnat_init): Change prototype. Include the
14803 functionality of the old init_parse and init_decl_processing.
14804 (gnat_init_decl_processing): New prototype.
14805 (init_parse): Remove.
14806 * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
14807
5d69f816
NB
148082001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
14809
14810 * misc.c (gnat_print_decl, gnat_print_type): Renamed.
14811 (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
14812 (print_lang_statistics, lang_print_xnode, print_lang_identifier,
14813 set_yydebug): Remove.
14814
3ac88239
NB
148152001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
14816
14817 * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
14818 (struct lang_hooks): Constify.
14819 (language_string, lang_identify): Remove.
14820 * utils.c (init_decl_processing): Update.
14821
d23c55c2
NB
148222001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14823
14824 * misc.c: Include langhooks-def.h.
14825 * Makefile.in: Update.
14826
04a1b79c
RD
148272001-10-30 Robert Dewar <dewar@gnat.com>
14828
14829 * style.adb:
14830 (Check_Identifier): Rewrite circuit to be compatible with use of letters
14831 in the upper half of ASCII.
14832 (Check_Identifier): Minor reformatting
14833
81fa2d39
GB
148342001-10-30 Geert Bosch <bosch@gnat.com>
14835
f8e0aa73 14836 * (Associated_Node, Set_Associated_Node): Do not check for
81fa2d39
GB
14837 Freeze_Entity.
14838
ffc5527f
RD
148392001-10-30 Robert Dewar <dewar@gnat.com>
14840
14841 * a-reatim.ads: Minor reformatting
14842
865335eb
RD
148432001-10-30 Robert Dewar <dewar@gnat.com>
14844
f8e0aa73 14845 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
865335eb
RD
14846 undocumented declarations.
14847
5e257178
PO
148482001-10-30 Pascal Obry <obry@gnat.com>
14849
f8e0aa73 14850 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
5e257178
PO
14851 to the binder and linker.
14852 Minor style fix.
f8e0aa73 14853
5e257178
PO
14854 * mdll.ads: Fix layout. Update copyright notice.
14855
14856 * mdll.adb: Fix layout. Update copyright notice.
14857
1753e0ad
RD
148582001-10-30 Robert Dewar <dewar@gnat.com>
14859
14860 * usage.adb: Minor fix to output for -gnaty.
14861
84bfdde0
ES
148622001-10-30 Ed Schonberg <schonber@gnat.com>
14863
f8e0aa73
AJ
14864 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
14865 to accommodate all its possible values.
84bfdde0 14866
f8e0aa73 14867 * a-reatim.adb (Split): Special-case handling of Time_Span_First
84bfdde0
ES
14868 and of small absolute values of T.
14869
c296e5fc
RK
148702001-10-30 Richard Kenner <kenner@gnat.com>
14871
f8e0aa73
AJ
14872 * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
14873 set_mem_attributes since not needed and wrong if RESULT if a REG;
c296e5fc
RK
14874 fixes ACATS failures.
14875
07c809df
GB
148762001-10-30 Geert Bosch <bosch@gnat.com>
14877
14878 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
14879 s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
14880
54d22416 148812001-10-30 Robert Dewar <dewar@gnat.com>
f8e0aa73 14882
54d22416 14883 * bindusg.adb: Undocument -f switch.
f8e0aa73 14884
54d22416 14885 * gnatcmd.adb: Remove /FULL_ELABORATION.
f8e0aa73
AJ
14886
14887 * opt.ads (Force_RM_Elaboration_Order): Document that this is
54d22416 14888 obsolescent.
f8e0aa73 14889
54d22416 14890 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
f8e0aa73 14891
54d22416
RD
14892 * gnatbind.adb: Minor update of warning msg.
14893
af5cf6f8
VC
148942001-10-30 Vincent Celier <celier@gnat.com>
14895
f8e0aa73 14896 * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
af5cf6f8 14897 for project file switches (-P (/PROJECT_FILE=),
f8e0aa73 14898 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
af5cf6f8
VC
14899 or MEDIUM or HIGH)
14900
984bc4c3
GB
149012001-10-30 Geert Bosch <bosch@gnat.com>
14902
14903 * decl.c: Minor whitespace fixes.
14904
5dece937
RK
149052001-10-30 Richard Kenner <kenner@gnat.com>
14906
14907 * utils2.c (build_allocator): Test for SIZE overflow in array case too
14908
de4bf6cb
GB
149092001-10-30 Geert Bosch <bosch@gnat.com>
14910
f8e0aa73 14911 * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
de4bf6cb 14912 Found due to GCC 3.0 warning of using uninitialized value.
f8e0aa73 14913
de4bf6cb
GB
14914 * layout.adb:
14915 (Get_Max_Size): Use variant record for tracking value/expression.
14916 Makes logic clearer and prevents warnings for uninitialized variables.
14917 (Layout_Array_Type): Use variant record for tracking value/expression.
14918 Makes logic clearer and prevents warnings for uninitialized variables.
14919
f5e44987
RD
149202001-10-30 Robert Dewar <dewar@gnat.com>
14921
14922 * lib.adb: Minor reformatting
14923
14924 * s-taprop.ads: Minor reformatting
14925
45659035 149262001-10-29 Laurent Guerby <guerby@acm.org>
f8e0aa73 14927
45659035
GB
14928 * init.c:
14929 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
14930 const.
14931 (_gnat_error_handler): Make MSG const.
14932
149332001-10-29 Richard Kenner <kenner@gnat.com>
14934
14935 * sysdep.c: Fix localtime_r problem on LynxOS.
14936 Also remove #elif to avoid warnings.
f8e0aa73
AJ
14937
14938 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
45659035 14939 used by this.
f8e0aa73 14940
45659035
GB
14941 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
14942
638e383e
JM
149432001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
14944
14945 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
14946 exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
14947 g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
14948 g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
14949 layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
14950 s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
14951 sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
14952 sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
14953 sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
14954 types.ads, urealp.adb: Fix spelling errors.
14955
97f6baa0
LG
149562001-10-27 Laurent Guerby <guerby@acm.org>
14957
14958 * trans.c (gigi): Fix non determinism leading to bootstrap
14959 comparison failures for debugging information.
14960
46b58b8c
FW
149612001-10-26 Florian Weimer <fw@deneb.enyo.de>
14962
14963 * gnat_rm.texi: Use @./@: where appropriate.
14964
30151c7b
RD
149652001-10-26 Robert Dewar <dewar@gnat.com>
14966
14967 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
14968
c0b1738d
RK
149692001-10-26 Richard Kenner <kenner@gnat.com>
14970
14971 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
14972
5b09c153
RK
149732001-10-26 Richard Kenner <kenner@gnat.com>
14974
f8e0aa73 14975 * decl.c (validate_size): Modify message for bad size to avoid
5b09c153
RK
14976 implication that compiler is modifying the size.
14977
4d553668
RD
149782001-10-26 Robert Dewar <dewar@gnat.com>
14979
14980 * prj-util.adb: Minor reformatting. Fix bad header format.
14981
3e542a58
RD
149822001-10-26 Robert Dewar <dewar@gnat.com>
14983
14984 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
f8e0aa73 14985
3e542a58 14986 * sinfo.ads: Clarify use of Associated_Node (documentation only).
f8e0aa73
AJ
14987
14988 * sem_ch12.adb: Change Node4 to Associated_Node. Change
14989 Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
3e542a58
RD
14990 much more narrowly in places where needed. These are cleanups.
14991
0bf08bfe
JB
149922001-10-26 Joel Brobecker <brobecke@gnat.com>
14993
14994 * 5zosinte.ads (null_pthread): new constant.
f8e0aa73 14995
0bf08bfe
JB
14996 * 5ztaprop.adb:
14997 (Initialize_TCB): Initialize thread ID to null, to be able to verify
14998 later that this field has been set.
14999 (Finalize_TCB): ditto.
15000 (Suspend_Task): Verify that the thread ID is not null before using it.
15001 (Resume_Task): ditto.
f8e0aa73 15002
0bf08bfe
JB
15003 * s-tasdeb.adb:
15004 (Resume_All_Tasks): Lock the tasks list before using it.
15005 (Suspend_All_Tasks): ditto.
15006
7a3a8c06
RK
150072001-10-26 Richard Kenner <kenner@gnat.com>
15008
f8e0aa73 15009 * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
7a3a8c06
RK
15010 Make constant variant of designated type for Is_Access_Constant.
15011 Call update_pointer_to with main variant.
f8e0aa73
AJ
15012
15013 * trans.c (process_freeze_entity, process_type):
7a3a8c06 15014 Call update_pointer_to on main variant.
f8e0aa73 15015
7a3a8c06
RK
15016 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
15017 If main variant, update all other variants.
f8e0aa73
AJ
15018
15019 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
7a3a8c06
RK
15020 TREE_STATIC.
15021
a160babb
RD
150222001-10-26 Robert Dewar <dewar@gnat.com>
15023
15024 * prj-util.adb: Minor reformatting
15025
b403bd17
RD
150262001-10-26 Robert Dewar <dewar@gnat.com>
15027
15028 * prj-util.adb: Minor reformatting
15029
5fc3b4c7
RD
150302001-10-26 Robert Dewar <dewar@gnat.com>
15031
15032 * prj-attr.adb: Minor reformatting throughout
15033
8c736034
RD
150342001-10-26 Robert Dewar <dewar@gnat.com>
15035
15036 * prj-attr.ads: Minor reformatting
15037 Add ??? comment (this whole spec has almost no comments)
15038
47d5b6ed
VC
150392001-10-26 Vincent Celier <celier@gnat.com>
15040
f8e0aa73 15041 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
b4f94ac1 15042 ("//") that precede the drive letter on Interix.
47d5b6ed 15043
41af791f
GB
150442001-10-26 Geert Bosch <bosch@gnat.com>
15045
15046 * gnat_rm.texi: Add GNAT Reference Manual.
15047
ed4a1468
RD
150482001-10-25 Robert Dewar <dewar@gnat.com>
15049
f8e0aa73 15050 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
b4f94ac1 15051 is Error. Similar change for other renaming cases.
ed4a1468 15052
24377ae4
RD
150532001-10-25 Robert Dewar <dewar@gnat.com>
15054
15055 * s-atacco.ads: Add pragma Inline_Always for functions.
15056 Fix header format. Add copyright 2001
15057
fef3204e
ES
150582001-10-25 Ed Schonberg <schonber@gnat.com>
15059
f8e0aa73 15060 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
b4f94ac1 15061 return Error rather than Empty so that analysis can proceed.
fef3204e 15062
dfc69d80
ES
150632001-10-25 Ed Schonberg <schonber@gnat.com>
15064
f8e0aa73 15065 * sem_util.adb (Enter_Name): better handling of cascaded error
b4f94ac1 15066 messages when a unit appears in its own context.
dfc69d80 15067
5a15af62
ES
150682001-10-25 Ed Schonberg <schonber@gnat.com>
15069
f8e0aa73 15070 * sem_util.adb (Defining_Entity): in case of error, attach created
b4f94ac1 15071 entity to specification, so that semantic analysis can proceed.
5a15af62 15072
2b881d53
RD
150732001-10-25 Robert Dewar <dewar@gnat.com>
15074
f8e0aa73 15075 * sem_util.adb
b4f94ac1 15076 (Defining_Entity): Deal with Error.
2b881d53
RD
15077 (Process_End_Label): Deal with bad end label for.
15078
578053f2
ES
150792001-10-25 Ed Schonberg <schonber@gnat.com>
15080
f8e0aa73 15081 * sem_elab.adb (Check_A_Call): refine message when call is in an
578053f2
ES
15082 instance but callee is not declared in the generic unit.
15083
0597ce0b 150842001-10-25 Ed Schonberg <schonber@gnat.com>
f8e0aa73
AJ
15085
15086 * sem_elab.adb (Check_A_Call): check for renaming before finding the
0597ce0b
ES
15087 enclosing unit, which may already be different from the calling unit.
15088
3de6e6da
GB
150892001-10-25 Geert Bosch <bosch@gnat.com>
15090
15091 * 4gintnam.ads: fix header format.
15092
6f311316
ES
150932001-10-25 Ed Schonberg <schonber@gnat.com>
15094
f8e0aa73 15095 * sem_res.adb (Resolve_Call): if the call is actually an indexing
b4f94ac1
ZW
15096 operation on the result of a parameterless call, perform elaboration
15097 check after the node has been properly rewritten.
f8e0aa73
AJ
15098
15099 * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
b4f94ac1
ZW
15100 inlined within the generic tree, the defining identifier is not a
15101 compilation_unit.
6f311316 15102
17be0cdf
ES
151032001-10-25 Ed Schonberg <schonber@gnat.com>
15104
f8e0aa73 15105 * sem_res.adb (Resolve): special-case resolution of Null in an
b4f94ac1 15106 instance or an inlined body to avoid view conflicts.
f8e0aa73
AJ
15107
15108 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
b4f94ac1 15109 compatibility by retrieving the access type of the generic copy.
17be0cdf 15110
ce9e9122
RD
151112001-10-25 Robert Dewar <dewar@gnat.com>
15112
15113 * sem_ch3.adb:
15114 (Analyze_Number_Declaration): Handle error expression.
15115 (Signed_Integer_Type_Declaration): Handle error bound.
15116 (Analyze_Subtype_Indication): Handle error range.
f8e0aa73 15117
ce9e9122
RD
15118 * sem_util.adb (Get_Index_Bounds): Check for Error.
15119
e12fbc9e
RD
151202001-10-25 Robert Dewar <dewar@gnat.com>
15121
f8e0aa73 15122 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
e12fbc9e
RD
15123 in no run time mode.
15124
52b80488
PO
151252001-10-25 Pascal Obry <obry@gnat.com>
15126
f8e0aa73 15127 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
b4f94ac1 15128 mode case for ALLOC case.
f8e0aa73
AJ
15129
15130 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
b4f94ac1 15131 all platforms. Improvement of last change.
52b80488 15132
316ad9c5
RD
151332001-10-25 Robert Dewar <dewar@gnat.com>
15134
15135 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
15136
1a7e4df4
GB
151372001-10-25 Geert Bosch <bosch@gnat.com>
15138
15139 * osint.adb (Is_Relative): Remove duplicate.
15140
90a9fff2
PO
151412001-10-25 Pascal Obry <obry@gnat.com>
15142
f8e0aa73 15143 * osint.adb (Read_Default_Search_Dirs): correctly detect relative
b4f94ac1 15144 pathnames in UNIX and DOS style with drive letter.
90a9fff2 15145 (Is_Relative): new routine.
f8e0aa73 15146
90a9fff2 15147 * osint.adb: Minor reformatting
f8e0aa73
AJ
15148
15149 * osint.adb (Is_Relative): implementation using
b4f94ac1 15150 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
90a9fff2 15151
5c1ba4cc
PO
151522001-10-25 Pascal Obry <obry@gnat.com>
15153
f8e0aa73 15154 * g-dirope.adb (Basename): correctly compute offset between the
b4f94ac1 15155 original Path and the translated one.
f8e0aa73 15156
5c1ba4cc
PO
15157 * g-dirope.adb: (Base_Name): add some comments.
15158
a7fb206d
RD
151592001-10-25 Robert Dewar <dewar@gnat.com>
15160
f8e0aa73 15161 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
b4f94ac1 15162 in HIE mode, avoids compilation abandoned message
f8e0aa73 15163
a7fb206d 15164 * exp_imgv.adb: Correct typo in previous change
f8e0aa73 15165
a7fb206d
RD
15166 * exp_imgv.adb: Correct typo in previous change (not my day!)
15167
e6a7e62e
RD
151682001-10-25 Robert Dewar <dewar@gnat.com>
15169
15170 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
15171
0d2b8e0b 151722001-10-25 Pascal Obry <obry@gnat.com>
75c09e7d 15173
f8e0aa73 15174 * g-awk.ads: Move all pragma inlines next to the routine
0d2b8e0b 15175 declarations. This is more uniform with other GNAT spec.
75c09e7d 15176
0d2b8e0b 151772001-10-22 Geert Bosch <bosch@gnat.com>
d2740a69
GB
15178
15179 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
15180
0d2b8e0b 151812001-10-19 Geert Bosch <bosch@gnat.com>
d7ac9bdd
GB
15182
15183 * Makefile.in (tools, gnattools): Remove gnatmem.
15184
17ed6335
RH
151852001-10-17 Richard Henderson <rth@redhat.com>
15186
15187 * Makefile.in (misc.o): Depend on langhooks.h.
15188 * misc.c: Include it.
15189 (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
15190 (LANG_HOOKS_DECODE_OPTION): New.
15191 (lang_hooks): Use LANG_HOOKS_INITIALIZER.
15192
f2436274
FW
151932001-10-16 Florian Weimer <fw@deneb.enyo.de>
15194
15195 * trans.c (tree_transform): Adjust to recent change in
15196 expand_asm_operands to implement named asm operands.
15197
b14127e6
ES
151982001-10-11 Ed Schonberg <schonber@gnat.com>
15199
f8e0aa73 15200 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
b14127e6
ES
15201 renaming of discriminant for mutable record type.
15202
e70ee92a
RD
152032001-10-11 Robert Dewar <dewar@gnat.com>
15204
15205 * validsw.adb: Properly save -gnatVn status.
15206
9a5621d7 152072001-10-11 Robert Dewar <dewar@gnat.com>
f8e0aa73 15208
9a5621d7
RD
15209 * usage.adb: Add lines for V switch.
15210
f8e0aa73 15211 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
9a5621d7
RD
15212 (/VALIDITY_CHECKING).
15213
45667f04
ES
152142001-10-11 Ed Schonberg <schonber@gnat.com>
15215
f8e0aa73 15216 * sem_type.adb (Add_One_Interp): an operator for a type declared in
45667f04
ES
15217 an extension of System is known to be visible.
15218
c3de5c4c
ES
152192001-10-11 Ed Schonberg <schonber@gnat.com>
15220
f8e0aa73 15221 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
c3de5c4c
ES
15222 properly. Fixes regression on ACATS C34005G.
15223
4fa964a6
RD
152242001-10-11 Robert Dewar <dewar@gnat.com>
15225
f8e0aa73 15226 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
4fa964a6
RD
15227 loop in generic instance, since this is likely not very useful.
15228
0868e09c
RD
152292001-10-11 Robert Dewar <dewar@gnat.com>
15230
f8e0aa73 15231 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
0868e09c 15232 the error message for high integrity mode.
f8e0aa73
AJ
15233
15234 * rtsfind.adb (RTE): Give message if we try to find an entity that
0868e09c 15235 is not available in high integrity mode.
f8e0aa73 15236
0868e09c
RD
15237 * rtsfind.ads:
15238 (OK_To_Use_In_HIE_Mode): New array.
15239 (RTE): May return Empty in high integrity mode.
f8e0aa73
AJ
15240
15241 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
15242 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
15243
15244 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
15245 unit if not inlined always and in no runtime mode. Fixes problem
0868e09c 15246 caused by new Rtsfind changes.
f8e0aa73
AJ
15247
15248 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
0868e09c 15249 body is deleted.
f8e0aa73
AJ
15250
15251 * rtsfind.adb (RTE): Make sure we do not try to load unit after
0868e09c
RD
15252 giving message for entity not available in high integrity mode.
15253
934abf9c 152542001-10-11 Pascal Obry <obry@gnat.com>
f8e0aa73 15255
934abf9c
PO
15256 * impunit.adb: Add GNAT.CRC32.
15257
3c72bea4
ES
152582001-10-11 Ed Schonberg <schonber@gnat.com>
15259
f8e0aa73
AJ
15260 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
15261 properly the case where one universal operand in a non-static
3c72bea4
ES
15262 exponentiation of a real literal.
15263
44d8d2bb
ES
152642001-10-11 Ed Schonberg <schonber@gnat.com>
15265
f8e0aa73
AJ
15266 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
15267 clause, return the gobal finalization list, for lack of anthing else.
44d8d2bb 15268
9e2b9627
ES
152692001-10-11 Ed Schonberg <schonber@gnat.com>
15270
f8e0aa73
AJ
15271 * exp_ch7.adb (Make_Transient_Block): if statement is within
15272 exception handler, always use new transient scope to place Clean
9e2b9627
ES
15273 procedure.
15274
cfac6e9f
PO
152752001-10-11 Pascal Obry <obry@gnat.com>
15276
15277 * Makefile.in:
15278 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
15279 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
15280 (GNATLS_RTL_OBJS): add g-crc32.o
15281 (GNATMAKE_RTL_OBJS): add g-crc32.o
f8e0aa73 15282
cfac6e9f
PO
15283 * ali-util.adb:
15284 (CRC_Match): new function.
f8e0aa73 15285 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
cfac6e9f
PO
15286 instead of the previous simple checksum algorithm.
15287 (Time_Stamp_Mismatch): use CRC_Match for comparison.
15288 (Set_Source_Table): idem.
f8e0aa73 15289
cfac6e9f 15290 * ali-util.ads:
f8e0aa73 15291 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
cfac6e9f
PO
15292 instead of simple checksum.
15293 (CRC_Match): new function.
15294 (CRC_Error): new constant.
f8e0aa73
AJ
15295
15296 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
15297 a CRC now and not a simple checksum. A CRC uses lower-case hex
cfac6e9f 15298 letters, fixes ambiguity in parsing.
f8e0aa73
AJ
15299
15300 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
cfac6e9f 15301 is what this variable will store.
f8e0aa73 15302
cfac6e9f 15303 * bcheck.adb: Change reference to chechsum in comments by CRC.
f8e0aa73
AJ
15304 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
15305 rename All_Checksum_Match to All_CRC_Match. Change due to API
15306 renaming since now GNAT does not use a simple checksum but a
cfac6e9f 15307 CRC using GNAT.CRC32.
f8e0aa73
AJ
15308
15309 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
cfac6e9f 15310 now and not anymore a simple checksum.
f8e0aa73
AJ
15311
15312 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
cfac6e9f 15313 places.
f8e0aa73 15314
cfac6e9f 15315 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
f8e0aa73 15316
cfac6e9f
PO
15317 * scans.adb:
15318 (Restore_Scan_State): rename Checksum to CRC.
15319 (Save_Scan_State): idem.
f8e0aa73 15320
cfac6e9f
PO
15321 * scans.ads:
15322 With GNAT.CRC32.
15323 (Checksum): rename to CRC.
15324 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
f8e0aa73
AJ
15325
15326 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
cfac6e9f 15327 GNAT.CRC32). Update copyright notice.
f8e0aa73
AJ
15328
15329 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
cfac6e9f 15330 GNAT.CRC32). Update copyright notice.
f8e0aa73 15331
cfac6e9f
PO
15332 * scn.adb:
15333 (Accumulate_Checksum): removed.
15334 (Update): new procedure. Add a wide-character into the CRC.
f8e0aa73 15335
cfac6e9f
PO
15336 * sinput-l.adb:
15337 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
f8e0aa73 15338 (Load_File): fix initialization of S (change Source_Checksum to
cfac6e9f 15339 Source_CRC)
f8e0aa73
AJ
15340
15341 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
cfac6e9f 15342 Source_CRC in S initialization.
f8e0aa73 15343
cfac6e9f 15344 * sinput.adb (Source_Checksum): renamed to Source_CRC.
f8e0aa73 15345
cfac6e9f
PO
15346 * sinput.ads (Source_Checksum): renamed to Source_CRC.
15347 Update comments for the CRC.
f8e0aa73 15348
cfac6e9f 15349 * types.adb (Hex): Use lowercase for the letter part.
f8e0aa73
AJ
15350
15351 * types.ads (Get_Hex_String): Returns the hexadecimal representation
15352 for a word. This is currently used only for CRC. In previous version,
15353 the checksum was using a representation with all letter being
15354 upper-case. With the new implementation (using CRC) we do not remove
15355 the 32th bit of the CRC, so we can have an upper-case starting letter
15356 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
15357 It is ambigous since the CRC was optional and could be followed by
15358 options like EB, EE. So now this routines uses lower-case letter for
15359 the hexadecimal representation. Strange enough only lower case letters
cfac6e9f 15360 where checked in Scan_ALI (even if this was not a possible case).
f8e0aa73 15361
cfac6e9f 15362 * gnatvsn.ads (Library_Version): changed to 3.15a.
f8e0aa73
AJ
15363
15364 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
cfac6e9f 15365 for the compiler.
f8e0aa73
AJ
15366
15367 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
cfac6e9f 15368 for the compiler.
f8e0aa73 15369
cfac6e9f
PO
15370 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
15371 Add 2001 to copyright notice
15372 (Accumulate_Checksum): Modify to use System.CRC32.
f8e0aa73
AJ
15373
15374 * ali-util.ads: Redo changes of previous revision to continue to use
cfac6e9f 15375 the word Checksum. Add 2001 to copyright notice.
f8e0aa73 15376
cfac6e9f
PO
15377 * ali.adb: Undo some of previous changes, not needed.
15378 Keep the change for lower case letters in the checksum.
f8e0aa73 15379
cfac6e9f
PO
15380 * ali.ads: Undo previous change not needed.
15381
15382 * bcheck.adb: Undo most of previous change, not needed.
15383 But do use Checksums_Match for checksum comparison.
f8e0aa73 15384
cfac6e9f
PO
15385 * gnatls.adb: Undo most of previous change, not needed.
15386 But do use Checksums_Match for comparing checksums.
f8e0aa73 15387
cfac6e9f 15388 * lib-load.adb: Undo previous change, not needed.
f8e0aa73 15389
cfac6e9f 15390 * lib-writ.adb: Undo previous change, not needed.
f8e0aa73
AJ
15391
15392 * lib-writ.ads: Document that checksums use lower case,
cfac6e9f 15393 not upper case letters.
f8e0aa73 15394
cfac6e9f 15395 * scans.adb: Undo previous change, not needed
f8e0aa73 15396
cfac6e9f 15397 * scans.ads: Undo previous change, not needed.
f8e0aa73 15398
cfac6e9f 15399 * scn-nlit.adb: Undo previous changes, not needed.
f8e0aa73 15400
cfac6e9f 15401 * scn-slit.adb: Undo previous change, not needed. Fix header format.
f8e0aa73 15402
cfac6e9f
PO
15403 * scn.adb:
15404 (Accumulate_Checksum): Use System.CRC32.
15405 (Initialize_Checksum): New procedure.
15406 Remove other changes of previous revision.
f8e0aa73 15407
cfac6e9f 15408 * sinput-p.adb: Undo previous change, not needed.
f8e0aa73 15409
cfac6e9f
PO
15410 * sinput.adb: Undo previous change, not needed.
15411
15412 * sinput-l.adb: Undo previous change, not needed.
f8e0aa73
AJ
15413
15414 * sinput.ads: Undo previous change, not needed. Keep only comment
cfac6e9f 15415 on new checksum algorithm
f8e0aa73 15416
cfac6e9f
PO
15417 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
15418 Also remove a-tags and a-stream from GNAT sources.
f8e0aa73 15419
cfac6e9f 15420 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
f8e0aa73 15421
cfac6e9f
PO
15422 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
15423
4d6d06a5
GB
154242001-10-11 Geert Bosch <bosch@gnat.com>
15425
15426 * einfo.h: Regenerate.
15427
15428 * nmake.ads: Regenerate.
15429
15430 * nmake.adb: Regenerate.
15431
15432 * sinfo.h: Regenerate.
15433
15434 * treeprs.adb: Regenerate.
15435
c97412e2
GB
154362001-10-10 Geert Bosch <bosch@gnat.com>
15437
15438 * gnat-style.texi: New file describing coding guidelines for Ada.
f8e0aa73 15439
b83018ca
ES
154402001-10-10 Ed Schonberg <schonber@gnat.com>
15441
f8e0aa73 15442 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
b83018ca
ES
15443 is Flag174.
15444
e834fe1f
GB
154452001-10-10 Geert Bosch <bosch@gnat.com>
15446
15447 * snames.ads: Add new names for project facility.
15448
15449 * snames.adb: Update to reflect snames.ads changes.
15450
15451 * snames.h: Update to reflect snames.ads changes.
15452
b30668b7
VC
154532001-10-10 Vincent Celier <celier@gnat.com>
15454
15455 * make.adb:
15456 (Add_Switches): reflect the changes for the switches attributes
15457 Default_Switches indexed by the programming language,
15458 Switches indexed by the file name.
15459 (Collect_Arguments_And_Compile): Idem.
15460 Reflect the attribute name changes.
f8e0aa73 15461
b30668b7
VC
15462 * prj-attr.adb:
15463 (Initialisation_Data): Change the names of some packages and
15464 attributes.
15465 (Initialize): process case insensitive associative arrays.
f8e0aa73 15466
b30668b7
VC
15467 * prj-attr.ads:
15468 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
f8e0aa73 15469
b30668b7
VC
15470 * prj-dect.adb:
15471 (Parse_Attribute_Declaration): For case insensitive associative
15472 arrays, set the index string to lower case.
f8e0aa73 15473
b30668b7
VC
15474 * prj-env.adb:
15475 Reflect the changes of the project attributes.
f8e0aa73 15476
b30668b7
VC
15477 * prj-nmsc.adb:
15478 Replace Check_Naming_Scheme by Ada_Check and
15479 Language_Independent_Check.
f8e0aa73 15480
b30668b7
VC
15481 * prj-nmsc.ads:
15482 Replaced Check_Naming_Scheme by 2 procedures:
15483 Ada_Check and Language_Independent_Check.
f8e0aa73 15484
b30668b7
VC
15485 * prj-proc.adb:
15486 (Process_Declarative_Items): For case-insensitive associative
15487 arrays, set the index string to lower case.
15488 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
15489 Prj.Nmsc.Check_Naming_Scheme.
f8e0aa73 15490
b30668b7
VC
15491 * prj-tree.adb:
15492 (Case_Insensitive): New function
15493 (Set_Case_Insensitive): New procedure
f8e0aa73 15494
b30668b7
VC
15495 * prj-tree.ads:
15496 (Case_Insensitive): New function
15497 (Set_Case_Insensitive): New procedure
15498 (Project_Node_Record): New flag Case_Insensitive.
f8e0aa73 15499
b30668b7
VC
15500 * prj-util.adb:
15501 (Value_Of): new function to get the string value of a single
15502 string variable or attribute.
f8e0aa73 15503
b30668b7
VC
15504 * prj-util.ads:
15505 (Value_Of): new function to get the string value of a single
15506 string variable or attribute.
f8e0aa73 15507
b30668b7
VC
15508 * prj.adb:
15509 (Ada_Default_Spec_Suffix): New function
15510 (Ada_Default_Impl_Suffix): New function
15511 Change definitions of several constants to reflect
15512 new components of record types.
f8e0aa73 15513
b30668b7
VC
15514 * prj.ads:
15515 (Naming_Data): Change several components to reflect new
15516 elements of naming schemes.
15517 (Project_Data): New flags Sources_Present and
15518 Language_Independent_Checked.
15519 (Ada_Default_Spec_Suffix): New function.
15520 (Ada_Default_Impl_Suffix): New function.
f8e0aa73 15521
b30668b7
VC
15522 * snames.ads:
15523 Modification of predefined names for project manager: added
15524 Implementation, Specification_Exceptions, Implementation_Exceptions,
15525 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
15526 Default_Switches, _Languages, Builder, Cross_Reference,
15527 Finder. Removed Body_Part, Specification_Append, Body_Append,
15528 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
15529 Gnatlink.
f8e0aa73 15530
b30668b7
VC
15531 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
15532 Add comments.
f8e0aa73 15533
b30668b7
VC
15534 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
15535 not that it is Nil_Variable_Value.
f8e0aa73 15536
b30668b7
VC
15537 * prj.ads: Add ??? for uncommented declarations
15538
662e57b4
ES
155392001-10-10 Ed Schonberg <schonber@gnat.com>
15540
f8e0aa73
AJ
15541 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
15542 constant, do not indicate possible modification, so that gigi can
662e57b4
ES
15543 treat it as a bona fide constant.
15544
72e4357f
RD
155452001-10-10 Robert Dewar <dewar@gnat.com>
15546
15547 * sem_prag.adb: Add processing for pragma External.
f8e0aa73 15548
72e4357f 15549 * snames.ads: Add entry for pragma External.
f8e0aa73 15550
72e4357f 15551 * par-prag.adb: Add pragma External.
f8e0aa73 15552
72e4357f
RD
15553 * snames.adb: Updated to match snames.ads.
15554
7bc1c7df
ES
155552001-10-10 Ed Schonberg <schonber@gnat.com>
15556
15557 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
15558 a dynamic task if the allocator appears in an indexed assignment
15559 or selected component assignment.
f8e0aa73
AJ
15560
15561 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
15562 For a dynamic task in an assignment statement, use target of
7bc1c7df
ES
15563 assignment to generate meaningful name.
15564
c84700e7
ES
155652001-10-10 Ed Schonberg <schonber@gnat.com>
15566
f8e0aa73 15567 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
c84700e7
ES
15568 a generic package.
15569
15570 * einfo.ads: Body_Entity is also defined for generic package.
15571 Documentation change only
f8e0aa73
AJ
15572
15573 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
15574 others_choice for a discriminated component initialization,
15575 convert discriminant references into the corresponding discriminals.
15576
15577 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
15578 only if original type is private and expression has to be wrapped
c84700e7 15579 in a conversion.
f8e0aa73
AJ
15580
15581 * checks.adb:
15582 (Apply_Constraint_Check): Do not perform length check
c84700e7 15583 if expression is an aggregate with only an others_choice.
f8e0aa73 15584 (Length_N_Cond): two references to the same in_parameter
c84700e7
ES
15585 (typically the discriminal in an init_proc) denote the same value.
15586 Two useful optimization uncovered by bugfixes above.
15587
d8d80dcd
RD
155882001-10-10 Robert Dewar <dewar@gnat.com>
15589
f8e0aa73 15590 * xeinfo.adb: Change int to char in translation of enumeration types.
d8d80dcd
RD
15591 This fixes a problem in the C representation of component alignment.
15592 Add 2001 to copyright notice
15593
a8fee948
RK
155942001-10-10 Richard Kenner <kenner@gnat.com>
15595
f8e0aa73 15596 * decl.c: (validate_size): Do check size of object of integral type
a8fee948
RK
15597 if it is a packed array type.
15598
c2d7fe59
RK
155992001-10-10 Richard Kenner <kenner@gnat.com>
15600
f8e0aa73 15601 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
c2d7fe59
RK
15602 VAR_DECL for constant if not Is_Public but -O0.
15603
fb75e100
RK
156042001-10-10 Richard Kenner <kenner@gnat.com>
15605
15606 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
15607
1724557a
GB
156082001-10-10 Geert Bosch <bosch@gnat.com>
15609
f8e0aa73 15610 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
1724557a
GB
15611 use '/' as switch character, allowing for absolute file names.
15612
9f2f9eb6
JM
156132001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
15614
15615 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
15616 FSF address.
15617
8fecf41d
GB
156182001-10-08 Geert Bosch <bosch@gnat.com>
15619
15620 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
15621 Automatically build utilities when files need to be regenerated.
15622
589f1edf
GB
156232001-10-08 Geert Bosch <bosch@gnat.com>
15624
15625 * xsnames.adb: New utility for updating snames.ads and snames.adb
15626
67f28219
ZW
156272001-10-08 Zack Weinberg <zack@codesourcery.com>
15628
15629 * Make-lang.in (ADAFLAGS): Add -W -Wall.
15630 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
15631 (gnat1): Also depend on attribs.o.
15632 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
15633 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
15634 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
15635 (ADAFLAGS): Add -W -Wall.
15636 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
15637 take out CFLAGS.
15638
15639 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
15640 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
15641 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
15642 Use $(ADAC), not $(CC), as compilation command.
15643
15644 (gnattools): Depend directly on tools to build, don't use
15645 recursive make.
15646 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
15647
15648 * einfo.h, sinfo.h: New files (autogenerated).
15649
295ef2bb
RH
156502001-10-08 Richard Henderson <rth@redhat.com>
15651
15652 * comperr.adb (Abort_In_Progress): New.
15653 (Compiler_Abort): Use it to prevent recursion.
15654
5c736541
RD
156552001-10-08 Robert Dewar <dewar@gnat.com>
15656
15657 * atree.adb: Set Error_Posted in Error node, helps error recovery.
67f28219
ZW
15658
15659 * par-endh.adb (Output_End_Expected): We should also not test
5c736541 15660 Error_Posted on the Error node, since now it is always set.
67f28219
ZW
15661
15662 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
5c736541 15663 to help error recovery. Part of general work on 9407-004.
67f28219 15664
5c736541 15665 * par.adb: Add ??? for misuse of error
67f28219 15666
5c736541
RD
15667 * sem_res.adb:
15668 (Resolve): Defend against Error, fixes 9407-003.
15669 (Resolve_Discrete_Subtype_Indication): Defend against Error.
67f28219
ZW
15670
15671 * sinfo.ads (N_Error): Now has Etype field (which will be set
5c736541
RD
15672 to Any_Type to help error recovery).
15673
a153ae15
RK
156742001-10-08 Richard Kenner (kenner@gnat.com)
15675
15676 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
15677 Consistently set MEM attributes from expression; fixes
15678 bootstrap failure on x86.
15679
743f3c7b
GB
156802001-10-08 Geert Bosch (bosch@gnat.com)
15681
15682 * 5oosinte.adb: Add 2001 to copyright notice.
15683
210c4ef4
GB
156842001-10-08 Geert Bosch (bosch@gnat.com)
15685
15686 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
15687
15688 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
15689
cc712abf
JM
156902001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
15691
15692 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
15693
4c4abc0f
GB
156942001-10-05 Geert Bosch (bosch@gnat.com)
15695
15696 * adaint.h: Small formatting fix.
15697
7f50e2e3
GB
156982001-10-04 Geert Bosch <bosch@gnat.com>
15699
15700 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
15701 Arg is int, not FILE *, in dummy version of functions.
67f28219 15702
7f50e2e3
GB
15703 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
15704 Arg is int, not FILE *.
15705
5d1a9698
GB
157062001-10-04 Geert Bosch <bosch@gnat.com>
15707
15708 * 3lsoccon.ads: Added file, missed with initial check ins.
67f28219 15709
5d1a9698
GB
15710 * 4lintnam.ads: Fix header format.
15711 Change Linux to GNU/Linux.
67f28219 15712
5d1a9698
GB
15713 * 5iosinte.adb: Change Linux to GNU/Linux.
15714
15715 * 5iosinte.ads: Change Linux to GNU/Linux.
67f28219 15716
5d1a9698 15717 * 5itaprop.adb: Change Linux to GNU/Linux.
67f28219 15718
5d1a9698
GB
15719 * 5itaspri.ads: Change Linux to GNU/Linux.
15720 Update copyright notice.
67f28219 15721
5d1a9698 15722 * 5lintman.adb: Change Linux to GNU/Linux.
67f28219 15723
5d1a9698 15724 * 5lml-tgt.adb: Change Linux to GNU/Linux.
67f28219 15725
5d1a9698 15726 * 5losinte.ads: Change Linux to GNU/Linux.
67f28219 15727
5d1a9698 15728 * 5lsystem.ads: Change Linux to GNU/Linux.
67f28219 15729
5d1a9698 15730 * 5qosinte.adb: Change Linux to GNU/Linux.
67f28219 15731
5d1a9698 15732 * 5qosinte.ads: Change Linux to GNU/Linux.
67f28219 15733
5d1a9698 15734 * 5qparame.ads: Change Linux to GNU/Linux.
67f28219 15735
5d1a9698 15736 * 5qtaprop.adb: Change Linux to GNU/Linux.
67f28219 15737
5d1a9698
GB
15738 * 5qtaspri.ads: Change Linux to GNU/Linux.
15739 Add 2001 to copyright notice.
67f28219 15740
5d1a9698
GB
15741 * 5vintman.ads: Change Linux to GNU/Linux.
15742 Fix header format. Add 2001 to copyright notice.
67f28219 15743
5d1a9698 15744 * g-soccon.ads: Change Linux to GNU/Linux.
67f28219 15745
5d1a9698
GB
15746 * g-trasym.ads: Change Linux to GNU/Linux.
15747 Add 2001 to copyright notice.
67f28219 15748
5d1a9698 15749 * memtrack.adb: Change Linux to GNU/Linux.
67f28219 15750
5d1a9698
GB
15751 * s-intman.ads: Change Linux to GNU/Linux.
15752 Add 2001 to copyright notice. Fix header format.
67f28219 15753
5d1a9698 15754 * s-stache.adb: Change Linux to GNU/Linux.
67f28219 15755
5d1a9698 15756 * adaint.c: Change Linux to GNU/Linux.
67f28219 15757
5d1a9698 15758 * cio.c: Change Linux to GNU/Linux.
67f28219 15759
5d1a9698 15760 * cstreams.c: Change Linux to GNU/Linux.
67f28219 15761
5d1a9698 15762 * init.c: Change Linux to GNU/Linux.
67f28219 15763
5d1a9698 15764 * gmem.c: Change Linux to GNU/Linux.
67f28219 15765
5d1a9698
GB
15766 * tracebak.c: Change Linux to GNU/Linux.
15767
15768
c25ca2d7
GB
157692001-10-02 Geert Bosch <bosch@gnat.com>
15770
15771 * misc.c (insert_default_attributes): Add dummy version.