]> gcc.gnu.org Git - gcc.git/blame - gcc/ada/ChangeLog
re PR c++/24817 (g++ accepts multiple function template declarations even if exceptio...
[gcc.git] / gcc / ada / ChangeLog
CommitLineData
f45ddfe0
EB
12005-11-10 Eric Botcazou <ebotcazou@adacore.com>
2
3 PR ada/23995
4 * trans.c (call_to_gnu): Restore statement lost in translation.
5
13bb031a
EB
62005-11-08 Eric Botcazou <ebotcazou@adacore.com>
7
8 * init.c: Use the Linux-specific section for the IA-64/Linux target.
9 (__gnat_adjust_context_for_raise): Add conditional code so that the
10 IA-64 is also supported.
11
72098128
JW
122005-11-03 James E Wilson <wilson@specifix.com>
13
14 PR ada/23427
13bb031a
EB
15 * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
16 TREE_OVERFLOW check.
72098128 17
8fafe21d
OH
182005-09-21 Olivier Hainque <hainque@adacore.com>
19
20 PR ada/22418
21 * decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
22 as we create them to store a size in bits.
23
552725e3
EB
242005-10-21 Eric Botcazou <ebotcazou@adacore.com>
25
26 PR ada/21937
27 PR ada/22328
28 PR ada/22381
29 PR ada/22383
30 PR ada/22419
31 PR ada/22420
32 * utils2.c (build_return_expr): New helper function.
33 * gigi.h (build_return_expr): Declare it.
34 * trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
35 of manually building the RETURN_EXPR tree.
36 (call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
37 (gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
8fafe21d 38 build_binary_op for the "target pointer" case. Use build_return_expr
552725e3
EB
39 instead of manually building the RETURN_EXPR tree.
40
ccdeca37
LG
412005-09-16 Laurent GUERBY <laurent@guerby.net>
42
43 PR ada/23788
44 * s-tpinop.ads: Make this unit Preelaborate.
45
da8f5fd9
AJ
462005-09-16 Andreas Jaeger <aj@suse.de>
47
48 * socket.c: Add string.h for memcpy.
49
98b40956
AC
502005-09-05 Arnaud Charlet <charlet@adacore.com>
51
52 * dec-io.ads, dec-io.adb: Removed, no longer used.
53
542005-09-01 Arnaud Charlet <charlet@adacore.com>
55
56 * a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
57
58 * s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
59 s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
60 s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
61 s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
62 dependent units are Preelaborate.
63 (Initialize): Call Interrupt_Managemeent.Initialize and
64 OS_Primitives.Initialize to ensure proper initialization of this unit.
65 Remove use of System.Soft_Links
66 Make this unit Preelaborate.
67
68 * s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
69 s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
70 s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
71 s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
72 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
73 s-tratas.ads, s-tasinf.ads: Minor reformatting.
74 Add pragma Preelaborate, since these packages are suitable for this
75 categorization.
76 Update comments.
77
78 * s-traent-vms.ads, s-intman-dummy.adb,
79 s-taprop-dummy.adb: Make this unit Preelaborate.
80
81 * s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
da8f5fd9 82 s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
98b40956
AC
83 s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
84 s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
85 s-intman-solaris.adb, s-intman-irix-athread.adb,
86 s-intman-irix.adb: Mark this unit Preelaborate.
87 (Initialize): New procedure.
88 Update comments.
89
90 * s-taspri-linux.ads: Removed.
91
92 * s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
93 as done by other implementations (e.g. posix).
94
95 * s-taprop.ads (Timed_Delay): Update spec since the caller now is
96 responsible for deferring abort.
97 Mark this unit Preelaborate.
98
99 * s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
100 proper initialization of the tasking run-time.
101
102 * s-tasdeb.ads: Mark this unit Preelaborate.
103 (Known_Tasks): Add explicit default value to avoid elaboration code.
104
105 * s-inmaop-vms.adb (Elaboration code): Add call to
106 Interrupt_Management.Initialize since the elaboration code depends on
107 proper initialization of this package.
108
109 * s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
110 s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
111 s-osprim-posix.adb: Make this unit Preelaborate.
112
113 * a-calend.adb: Add call to OS_Primitives.Initialize
114
115 * a-elchha.adb: Update use of Except.Id.Full_Name.
116 Minor reformatting.
117 Remove use of Ada.Exceptions.Traceback when possible, cleaner.
118
119 * a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
120 Move with clauses outside Warnings Off now that dependent units are
121 Preelaborate.
122 Use raise xxx with "..."; Ada 2005 form.
123
da8f5fd9 124 * a-taside.ads, a-taside.adb:
98b40956
AC
125 Remove some dependencies, to make it easier to make this unit truly
126 Preelaborate.
127 Rewrite some code to be conformant with Preelaborate rules.
128
129 * g-os_lib.adb: Remove non-preelaborate code so that this unit can be
130 marked Preelaborate in the future.
131
132 * s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
133 these units Preelaborate.
134
135 * s-exctab.adb: Update use of Except.Id.Full_Name.
136
137 * s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
138 (Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
139 Set_Exc_Stack_Addr): Removed, no longer used.
140 Remove reference to *Machine_State_Addr*, no longer needed.
141
142 * s-stalib.ads: Mark this unit as Preelaborate[_05].
143 (Exception_Data): Full_Name is now a System.Address so that this unit
144 can be made Preelaborate.
145 Clean up/simplify code thanks to Full_Name being a System.Address.
146 Remove obsolete pragma Suppress (All_Checks), no longer needed.
147
da8f5fd9 148 * s-taskin.ads, s-taskin.adb:
98b40956
AC
149 Move with clauses outside Warnings Off now that dependent units are
150 Preelaborate.
151 Make this unit Preelaborate.
152 (Initialize): New proceduure, replace elaboration code and makes the
153 set up of the tasking run-time cleaner.
154 (Detect_Blocking): Now a function instead of a deferred boolean, to
155 obey Preelaborate rules.
156
157 * s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
158 soft links, no longer used.
159
160 * s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
161 packages are suitable for this categorization.
162
163 * s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
164 since we compile run-time sources in Ada 2005 mode.
165 (Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
166 avoid having s-taprop*.adb depend on s-soflin and to avoid code
167 duplication.
168 Remove reference to *Machine_State_Addr*, no longer needed.
169
1702005-09-01 Arnaud Charlet <charlet@adacore.com>
171
172 * s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
173 (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
174 Remove reference to System.Exceptions.
175
176 * s-mastop-x86.adb: Removed, no longer used.
177
178 * s-traceb-mastop.adb: Adjust calls to Pop_Frame.
179
180 * a-excach.adb: Minor reformatting.
181
182 * a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
183 instead fix new warnings that were hidden by this change.
184 (AAA, ZZZ): Removed, replaced by...
185 (Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
186 are used instead of constants, to help make Ada.Exception truly
187 preelaborate.
188 (Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
189 Raise_Storage_Error): File is now a System.Address, to simplify code.
190 (Elab code): Removed, no longer used.
191 (Null_Occurrence): Remove Warnings Off and make this construct
192 preelaborate.
193 Remove code related to front-end zero cost exception handling, since
194 it is no longer used.
195 Remove -gnatL/-gnatZ switches.
196
197 * a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
198 Update use of Except.Msg.
199
200 * gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
201 freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
202 to front-end zero cost exception handling, since it is no longer used.
203 Remove -gnatL/-gnatZ switches.
204
205 * lib-writ.ads: Minor reformatting
206 Remove doc of UX
207
208 * Makefile.rtl: Remove references to s-except*, s-mastop-x86*
209
210 * Make-lang.in: Remove references to s-except.ads
211
212 * s-except.ads: Removed, no longer used.
213
da8f5fd9 214 * s-mastop.ads, s-mastop.adb:
98b40956
AC
215 (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
216 Remove reference to System.Exceptions.
217
218 * raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
219 switch-b.adb: Remove code related to front-end zero cost exception
220 handling, since it is no longer used.
221 Remove -gnatL/-gnatZ switches.
222
2232005-09-01 Robert Dewar <dewar@adacore.com>
224 Gary Dismukes <dismukes@adacore.com>
225 Javier Miranda <miranda@adacore.com>
226
227 * exp_ch4.adb (Expand_N_In): Replace test of expression in its own
228 type by valid test and generate warning.
229 (Tagged_Membership): Generate call to the run-time
230 subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
231 Change formal name Subtype_Mark to Result_Definition in several calls to
232 Make_Function_Specification.
233 (Expand_Allocator_Expression): Add tests for suppression of the AI-344
234 check for proper accessibility of the operand of a class-wide allocator.
235 The check can be left out if checks are suppressed or if the expression
236 has a specific tagged type whose level is known to be safe.
237
238 * exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
239 generates the run-time check associated with null-excluding entities.
240 (Expand_N_Return_Statement): Add tests to determine if the accessibility
241 check on the level of the return expression of a class-wide function
242 can be elided. The check usually isn't needed if the expression has a
243 specific type (unless it's a conversion or a formal parameter). Also
244 add a test for whether accessibility checks are suppressed. Augment
245 the comments to describe the conditions for performing the check.
246
2472005-09-01 Hristian Kirtchev <kirtchev@adacore.com>
248 Javier Miranda <miranda@adacore.com>
249 Gary Dismukes <dismukes@adacore.com>
250 Ed Schonberg <schonberg@adacore.com>
251
252 * a-tags.adb (IW_Membership): Give support to
253 "Iface_CW_Typ in T'Class". For this purpose the functionality of this
254 subprogram has been extended to look for the tag in the ancestors tag
255 table.
256 Update the structure of the GNAT Dispatch Table to reflect the
257 additional two tables used in dispatching selects.
258 Introduce appropriate array types and record components in
259 Type_Specific_Data to reflect the two tables.
260 (Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
261 the TSD of a tag, indexed by position.
262 (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
263 operation kind in the TSD of a tag, indexed by position.
264
265 * a-tags.ads: Introduce an enumeration type to capture different
266 primitive operation kinds. Define a constant reflecting the number of
267 predefined primitive operations.
268 (Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
269 of an entry wrapper.
270 (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
271 callable entity of a primitive operation.
272
273 * exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
274 primitive operations used in dispatching selects for limited
275 interfaces, limited tagged, task and protected types what implement a
276 limited interface.
277 (Freeze_Type): Generate the bodies of the primitive operations used in
278 dispatching selects for limited tagged, task and protected types that
279 implement a limited interface. Generate statements to populate the two
280 auxiliary tables used for dispatching in select statements.
281 (Freeze_Record_Type): Add call to initialize the dispatch table entries
282 associated with predefined interface primitive operations.
283 (Build_Dcheck_Function): Change Set_Subtype_Mark to
284 Set_Result_Definition.
285 (Build_Variant_Record_Equality): Change Subtype_Mark to
286 Result_Definition.
287 (Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
288 (Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
289 (Build_Assignment): Simplify the code that adds the run-time-check.
290 (Expand_N_Object_Declaration): Code cleanup.
291
292 * exp_ch7.adb (Make_Clean): Select the appropriate type for locking
293 entries when there is a protected type that implements a limited
294 interface.
295
296 * exp_ch9.adb: Add package Select_Expansion_Utilities that contains
297 common routines used in expansion of dispatching selects.
298 (Add_Private_Declarations): Select the appropriate protection type when
299 there is a protected type that implements a limited interface.
300 (Build_Parameter_Block): Generate a wrapped parameter block.
301 (Build_Protected_Subprogram_Body): Select the appropriate type for
302 locking entries when there is a protected type that implements a
303 limited interface.
304 (Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
305 classified as entry wrappers.
306 (Expand_N_Asynchronous_Select): Add support for expansion of dispatching
307 asynchronous selects.
308 (Expand_N_Conditional_Entry_Call): Add support for expansion of
309 dispatching conditional selects.
310 (Expand_N_Protected_Type_Declaration): Select the appropriate type for
311 protection when there is a protected type that implements limited
312 interfaces.
313 (Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
314 timed selects.
315 (Extract_Dispatching_Call): Extract the entity of the name of a
316 dispatching call, the object parameter, actual parameters and
317 corresponding formals.
318 (Make_Initialize_Protection): Correct logic of protection initialization
319 when there is a protected type that implements a limited interface.
320 (Parameter_Block_Pack): Populate a wrapped parameter block with the
321 values of actual parameters.
322 (Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
323 block and assign them to the original actual parameters.
324
325 * exp_ch9.ads (Subprogram_Protection_Mode): New type.
326 (Build_Protected_Sub_Specification): Change the type and name of the
327 last formal to account for the increased variety of protection modes.
328
329 * einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
330 entities. Used to save the value of the Is_Hidden attribute when the
331 limited-view is installed.
332 (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
333 the attribute of procedures classified as entry wrappers.
334 (Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
335 entity of a primitive wrapper.
336 (Write_Entity_Flags): Output the name and value of the
337 Is_Primitive_Wrapper attribute.
338 (Write_Field27_Name): Output the name and entity of the field Wrapped_
339 Entity.
340 (Underlying_Type): If we have an incomplete entity that comes from
341 the limited view then we return the Underlying_Type of its non-limited
342 view if it is already available.
343 (Abstract_Interface_Alias): Flag applies to all subrogram kinds,
344 including operators.
345 (Write_Field26_Name): Add entry for Overridden_Operation
346 (Overridden_Operation): New attribute of functions and procedures.
347
348 * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
349 predefined position in the dispatch table for the primitive operations
350 used in dispatching selects.
351 (Init_Predefined_Interface_Primitives): Remove the hardcoded number of
352 predefined primitive operations and replace it with
353 Default_Prim_Op_Count.
354 (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
355 Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
356 the names of the generated primitive operations used in dispatching
357 selects.
358 (Init_Predefined_Interface_Primitives): No need to inherit primitives in
359 case of abstract interface types. They will be inherit by the objects
360 implementing the interface.
361 (Make_DT): There is no need to inherit the dispatch table of the
362 ancestor interface for the elaboration of abstract interface types.
363 The dispatch table will be inherited by the object implementing the
364 interface.
365 (Copy_Secondary_DTs): Add documentation.
366 (Validate_Position): Improve this static check in case of
367 aliased subprograms because aliased subprograms must have
368 the same position.
369 (Init_Predefined_Interface_Primitives): New subprogram that initializes
370 the entries associated with predefined primitives of all the secondary
371 dispatch tables.
372 (Build_Anonymous_Access_Type): Removed.
373 (Expand_Interface_Actuals): With the previous cleanup there is no need
374 to build an anonymous access type. This allows further cleanup in the
375 code generated by the expander.
376 (Expand_Interface_Conversion): If the actual is an access type then
377 build an internal function to handle the displacement. If the actual
378 is null this function returns null because no displacement is
379 required; otherwise performs a type conversion that will be
380 expanded in the code that returns the value of the displaced actual.
381 (Expand_Interface_Actuals): Avoid the generation of unnecessary type
382 conversions that have no effect in the generated code because no
383 displacement is required. Code cleanup; use local variables to
384 avoid repeated calls to the subprogram directly_designated_type().
385
386 * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
387 Classify the primitive operations used in dispatching selects as
388 predefined.
389 (Implements_Limited_Interface): Determine whether some type either
390 directly implements a limited interface or extends a type that
391 implements a limited interface.
392 (Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
393 (Expand_Subtype_From_Expr): Do not build actual subtype if the
394 expression is limited.
395 (Find_Interface_Tag): Add code to handle class-wide types and
396 entities from the limited-view.
397
398 * rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
399 Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
400 POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
401 POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
402 Set_Prim_Op_Kind.
403
404 * sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
405 of procedure name or prefix that appears as a trigger in a triggering
406 alternative.
407
408 * uintp.ads: Introduce constants Uint_11 and Uint_13.
409
4102005-09-01 Arnaud Charlet <charlet@adacore.com>
411
412 * s-tataat.adb, a-tasatt.adb:
413 Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
414
415 * s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
416 these procedures to body, and renamed Abort_Defer, Abort_Undefer.
417 (Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
418 longer used.
419
4202005-09-01 Arnaud Charlet <charlet@adacore.com>
421 Jose Ruiz <ruiz@adacore.com>
422
da8f5fd9 423 * s-taprop-vxworks.adb:
98b40956
AC
424 Move with clauses outside Warnings Off now that dependent units are
425 Preelaborate.
426 (Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
427 initialization of this unit.
428 (Specific): Add new procedures Initialize and Delete so that this
429 package can be used for VxWorks 5.x and 6.x
430 (ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
431 differences between VxWorks 5.x and 6.x
432 Minor reformatting.
433 (Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
434 caller.
435 Use only Preelaborate-compatible constructs.
436
437 * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
438 Primitives.Operations.
439 (Delete, Initialize): New procedures.
440
441 * s-osinte-vxworks.adb: Body used to handle differences between
442 VxWorks 5.x and 6.x
443 (kill, Set_Time_Slice, VX_FP_TASK): New functions.
444
445 * s-osinte-vxworks.ads: Minor reformatting.
446 Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
447 (VX_FP_TASK): Now a function, to handle differences between VxWorks 5
448 and 6.
449 (Set_Time_Slice): New function, replacing kerneltimeSlice to share code
450 between Vxworks 5 and 6.
451 (taskLock, taskUnlock): Removeed, no longer used.
452
453 * adaint.c: The wait.h header is not located in the sys directory on
454 VxWorks when using RTPs.
455 (__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
456 using RTPs.
457 (__gnat_dup): dup is available on Vxworks when using RTPs.
458 (__gnat_dup2): dup2 is available on Vxworks when using RTPs.
459
460 * cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.
461
462 * expect.c: The wait.h header is not located in the sys directory on
463 VxWorks when using RTPs.
464
4652005-09-01 Thomas Quinot <quinot@adacore.com>
466
467 * g-soccon-vms.adb: Renamed to g-soccon-vms.ads
468
469 * g-soccon-vms.ads: Renamed from g-soccon-vms.adb
470
471 * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
472 g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
473 g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
474 g-soccon-freebsd.ads: Add new constants:
475 IP_MULTICAST_IF
476 SO_RCVTIMEO/SO_SNDTIMEO
477 IOV_MAX
478
da8f5fd9 479 * gen-soccon.c:
98b40956
AC
480 Move all target-specific file inclusions and macro definitions to
481 gsocket.h, in order to ensure that any C code in socket.c will see a
482 set of constants that is consistent with the contents of g-soccon.ads.
483
484 * gsocket.h: Code imported from gen-soccon.c:
485 Move all target-specific file inclusions and macro definitions to
486 gsocket.h, in order to ensure that any C code in socket.c will see a set
487 of constants that is consistent with the contents of g-soccon.ads.
488 This change also makes gen-soccon self-contained (removing dependencies
489 upon GCC internal headers).
490
491 * g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
492 iovecs at a time.
493 (To_Inet_Addr): Now a procedure instead of a function, more efficient.
494
495 * socket.c: Minor reformatting.
496
4972005-09-01 Ed Schonberg <schonberg@adacore.com>
498 Thomas Quinot <quinot@adacore.com>
499
500 * fname-sf.adb, mlib-tgt.ads,
501 back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
502 g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
503 osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
504 prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
505 prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
506 prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
507 sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
508 makegpr.adb: Remove redundant use_clauses.
509
5102005-09-01 Arnaud Charlet <charlet@adacore.com>
511
da8f5fd9
AJ
512 * s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
513 s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
514 s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
515 s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
516 s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
517 s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
518 s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
519 table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
520 s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
521 s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
522 a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
523 a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
524 a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
525 a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
526 system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
98b40956 527 system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
da8f5fd9
AJ
528 s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
529 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
530 s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
531 s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
532 s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
533 s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
534 system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
535 s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
536 system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
537 s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
538 a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
539 a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
98b40956
AC
540 a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
541 a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
da8f5fd9
AJ
542 a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
543 a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
544 a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
545 a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
546 a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
547 a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
548 csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
549 g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
550 a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
551 a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
552 a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
553 a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
554 g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
555 i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
556 interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
557 i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
558 s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
559 s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
560 s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
561 s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
562 s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
563 s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
564 s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
565 s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
566 s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
567 s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
568 s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
569 s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
570 s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
571 s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
572 s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
573 s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
574 s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
575 s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
576 s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
577 s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
578 s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
98b40956
AC
579 s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
580 and always use the no parameter form for consistency.
581
582 * gnat-style.texi: Document rules about Preelaborate/Pure pragmas.
583
5842005-09-01 Robert Dewar <dewar@adacore.com>
585
586 * binde.adb: Minor reformatting
587 (Find_Elab_Order): Output warning if -p used with static elab order
588
5892005-09-01 Robert Dewar <dewar@adacore.com>
590
591 * checks.adb (Check_Needed): New procedure, deals with removing checks
592 based on analysis of short-circuited forms. Also generates warnings for
593 improper use of non-short-circuited forms.
594 Code clean ups.
595
5962005-09-01 Robert Dewar <dewar@adacore.com>
597
598 * a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
599 with 'Valid tests.
600
6012005-09-01 Robert Dewar <dewar@adacore.com>
602
603 * errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
604 spec.
605 Implement new insertion char < (conditional warning)
606 * errutil.adb, erroutc.adb: Implement new insertion char <
607 (conditional warning).
608 * sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
609 (Error_Msg_Warn): New variable for < insertion char.
610 * prj-nmsc.adb: Implement new errout insertion char < (conditional
611 warning).
612 (Check_For_Source): Change value of Source_Id only after the current
613 source has been dealt with.
614
6152005-09-01 Robert Dewar <dewar@adacore.com>
616 Doug Rupp <rupp@adacore.com>
617
618 * exp_attr.adb: Handle vax fpt for 'Valid attribute
619 * exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
620 * s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
621 (Valid_D, Valid_F, Valid_G): New functions
622
6232005-09-01 Ed Schonberg <schonberg@adacore.com>
624 Hristian Kirtchev <kirtchev@adacore.com>
625 Javier Miranda <miranda@adacore.com>
626
627 * exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
628 from object notation, the original node is unanalyzed and carries no
629 semantic information, so that accessiblity checks must be performed on
630 the type of the actual itself.
631 (Expand_N_Subprogram_Declaration): Change last actual parameter for
632 compatibility with Build_Protected_Sub_Specification.
633 (Check_Overriding_Inherited_Interfaces): Add suport to handle
634 overloaded primitives.
635 (Register_Interface_DT_Entry): Use the new name of the formal
636 the the calls to Expand_Interface_Thunk
637
638 * exp_dbug.ads: Augment comments on encoding of protected types to
639 include the generation of dispatching subprograms when the type
640 implements at least one interface.
641
642 * lib.ads: Extend information in Load_Stack to include whether a given
643 load comes from a Limited_With_Clause.
644
645 * lib-load.adb (From_Limited_With_Chain): New predicate to determine
646 whether a potential circularity is harmless, because it includes units
647 loaded through a limited_with clause. Extends previous treatment which
648 did not handle properly arbitrary combinations of limited and
649 non-limited clauses.
650
6512005-09-01 Nicolas Setton <setton@adacore.com>
652
653 * exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
654 to be encoded as typ___XBLU_lowerbound__upperbound instead of
655 typ___XB_lowerbound__upperbound.
656
6572005-09-01 Thomas Quinot <quinot@adacore.com>
658
659 * exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
660 dummy access formal for RACW/RAS TypeCode TSS.
661 (Build_TypeCode_Call): Do not generate dummy null access actual for
662 calls to the TypeCode TSS.
663
6642005-09-01 Ed Schonberg <schonberg@adacore.com>
665
666 * exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
667 fully qualified name, to distinguish instances with the same local name.
668
669 * g-souinf.ads (Enclosing_Entity): Document that entity name is now
670 fully qualified.
671
6722005-09-01 Robert Dewar <dewar@adacore.com>
673
674 * exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
675 packed arrays.
676
6772005-09-01 Jerome Lambourg <lambourg@adacore.com>
678
679 * g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
680 (Free): New deallocation procedure for filter elements
681 (Close): Deallocate any existing filter for the concerned connection
682
6832005-09-01 Laurent Pautet <pautet@adacore.com>
684
685 * g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
686 position set is provided, we compute one in order to reduce the maximum
687 length of the keys. This computation first selects a character
688 position between 1 and the minimum length of the keys in order to
689 avoid reducing one of the keys to an empty string.
690 (Initialize, Compute): When the ratio V to K is too low, the algorithm
691 does not converge. The initialization procedure now comes with a
692 maximum number of iterations such that when exceeded, an exception is
693 raised in Compute. The user can initialize this ratio to another value
694 and try again
695 Reformating and updated headers.
696
6972005-09-01 Javier Miranda <miranda@adacore.com>
698
699 * itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
700 that given an entity T creates and returns an Itype that duplicates the
701 contents of T. The returned Itype has the null-exclusion
702 attribute set to True, and its Etype attribute references T
703 to keep the association between the two entities.
704 Update copyright notice
705
706 * sem_aggr.adb (Check_Can_Never_Be_Null,
707 Aggregate_Constraint_Checks, Resolve_Aggregate,
708 Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.
709
710 * sem_ch5.adb (Analyze_Assignment): Code cleanup.
711
7122005-09-01 Gary Dismukes <dismukes@adacore.com>
713 Robert Dewar <dewar@adacore.com>
714 Hristian Kirtchev <kirtchev@adacore.com>
715
716 * layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
717 Result_Definition.
718
719 * par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
720 function specs.
721 Call Set_Result_Definition instead of Set_Subtype_Mark.
722 (P_Subprogram_Specification): Add parsing of anonymous access result
723 plus null exclusions. Call Set_Result_Definition instead of
724 Set_Subtype_Mark.
725
726 * par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
727 (P_Access_Type_Definition): Add parsing for an anonymous access result
728 subtype, plus parsing for null exclusions. Call Set_Result_Definition
729 instead of Set_Subtype_Mark.
730
731 * sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
732 (Null_Exclusion_Present): Allow this flag for N_Function_Specification.
733 (Result_Definition): New function for N_Function_Specifications.
734 (Subtype_Mark): No longer allowed for N_Access_Function_Definition and
735 N_Function_Specification.
736 (Set_Null_Exclusion_Present): Allow this flag for
737 N_Function_Specification.
738 (Set_Result_Definition): New procedure for N_Function_Specifications.
739 (Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
740 and N_Function_Specification.
741
742 * sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
743 Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
744 Add support for LIMITED NEW for Ada 2005 AI-419
745 Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
746 syntax for anonymous access results.
747 Replace Subtype_Mark field by Result_Definition in
748 N_Function_Specification and N_Access_Definition specs.
749 Add Null_Exclusion_Present to spec of N_Function_Specification.
750 (Result_Definition): New function for N_Function_Specification and
751 N_Access_Function_Definition.
752 (Set_Result_Definition): New procedure for N_Function_Specification and
753 N_Access_Function_Definition.
754
755 * sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
756 Result_Definition for cases of N_Access_Function_Definition and
757 N_Function_Specification.
758 Print "not null" if Null_Exclusion_Present on N_Function_Specification.
759
7602005-09-01 Vincent Celier <celier@adacore.com>
761
762 * lib-writ.adb: Update Copyright notice
763 (Write_With_Lines): On platforms where file names are case-insensitive,
764 record the file names in lower case.
765 (Write_ALI): For D lines, on platforms where file names are
766 case-insensitive, record the file names in lower case.
767
7682005-09-01 Ed Schonberg <schonberg@adacore.com>
769 Emmanuel Briot <briot@adacore.com>
770
771 * lib-xref.adb (Output_Overridden_Op): Display information on
772 overridden operation.
773
774 * lib-xref.ads: Add documentation on overridden operations.
775
776 * ali.ads (Xref_Entity_Record): Add support for storing the overriding
777 information.
778
779 * ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
780 overriding entity information.
781
7822005-09-01 Vincent Celier <celier@adacore.com>
783
784 * mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
785 including those that are inherited.
786
7872005-09-01 Robert Dewar <dewar@adacore.com>
788
789 * opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
790
791 * par-prag.adb: Implement new pragma Debug_Policy
792
793 * sem_prag.adb Implement new pragma Debug_Policy
794 (Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
795 Component_Size attribute specification. Give warning for ignored pragma
796 Pack.
797
798 * snames.h, snames.ads, snames.adb: Introduce entries in
799 Preset_Names for Name_Disp_Asynchronous_Select,
800 Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
801 Name_Disp_Timed_Select.
802 New pragma Debug_Policy
803
804 * switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
805 explicitly.
806 Switch -gnata also sets Debug_Pragmas_Enabled
807
808 * sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
809 handle an explicit -gnata when compiling predefined files.
810
8112005-09-01 Vincent Celier <celier@adacore.com>
812
813 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
814 directories of projects that have no Ada sources.
815
8162005-09-01 Robert Dewar <dewar@adacore.com>
817
818 * scng.adb (Check_End_Of_Line): Count characters, rather than bytes
819 (makes a difference for wide characters)
820
da8f5fd9 821 * widechar.adb, widechar.ads:
98b40956
AC
822 Add Wide_Char_Byte_Count feature to count chars vs bytes
823
8242005-09-01 Thomas Quinot <quinot@adacore.com>
825 Ed Schonberg <schonberg@adacore.com>
826 Robert Dewar <dewar@adacore.com>
827
828 * sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
829 'Address attribute reference with an overloaded prefix, use the
830 location of the prefix (not the location of the attribute reference) as
831 the error location.
832 (Analyze_Attribute, case 'Size): The name of an enumeration literal, or
833 a function renaming thereof, is a valid prefix for 'Size (where it is
834 intepreted as a function call).
835 (Statically_Denotes_Entity): New predicate to determine whether the
836 prefix of an array attribute can be considered static.
837
838 PR ada/9087
839 (Eval_Attr): Fix failure to evaluate Component_Size for
840 unconstrained arrays (resulted in wrong value in packed case, since
841 back end cannot handle this case)
842
8432005-09-01 Robert Dewar <dewar@adacore.com>
844
845 * sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
846 error msgs for most common cases.
847 Use new errout insertion char < (conditional warning)
848
8492005-09-01 Javier Miranda <miranda@adacore.com>
850 Ed Schonberg <schonberg@adacore.com>
851
852 * sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
853 become local to the whole package.
854 (Install_Limited_Withed_Unit): Instead of unchaining real entities if
855 the package was already analyzed the new algorithm "replaces" the
856 real entities by the shadow ones. This is required to ensure that
857 the order of these entities in the homonym chains does not change;
858 otherwise we can have undefined references at linking time because
859 in case of conflicts the external name of the entities will have
860 a suffix that depends on the order of the entities in the chain.
861 (Remove_Limited_With_Clause): Complementary code that completes the
862 new algorithm and replaces the shadow entities by the real ones.
863 (Install_Limited_Withed_Unit): When unchaining entities before the
864 installation of the shadow entities, only regular entities of the
865 public part must be taken into account. This is required to
866 keep this routine in synch with the work done by Remove_Limited_
867 With_Clause
868 (Install_Limited_With_Clause): Introduce implicit limited_with_clause
869 even if unit is analyzed, because the analysis of the unit is
870 idempotent in any case, and the limited view of the unit may have to
871 be installed for proper visibility.
872 (Expand_Limited_With_Clause): Even if the unit in the implicit
873 with_clause has been analyzed already, a limited view of the package
874 must be built for the current context, if it does not exist yet.
875
8762005-09-01 Ed Schonberg <schonberg@adacore.com>
877 Javier Miranda <miranda@adacore.com>
878 Gary Dismukes <dismukes@adacore.com>
879
880 * sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
881 defining entity for the instance body, make a new defining identifier
882 rather than copying the entity of the spec, to prevent accidental
883 sharing of the entity list.
884 (Check_Private_View): When exchanging views of private types, build the
885 list of exchanged views as a stack, to ensure that on exit the exchanges
886 are undone in the proper order.
887 (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
888 Restore the compilation environment in case of instantiation_error.
889 (Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
890 for an anonymous access result.
891 (Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
892 (Formal_Entity): Handle properly the case of a formal package that
893 denotes a generic package renaming.
894
8952005-09-01 Thomas Quinot <quinot@adacore.com>
896
897 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
898 clause if the array aggregate is surrounded by parentheses.
899
9002005-09-01 Cyrille Comar <comar@adacore.com>
901 Gary Dismukes <dismukes@adacore.com>
902 Ed Schonberg <schonberg@adacore.com>
903 Javier Miranda <miranda@adacore.com>
904
905 * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
906 underlying type
907 to check if a type is Constrained in cases related to code generation
908 (rather than semantic checking) since otherwise we do not generate
909 similar code for mutable private types depending if their
910 discriminants are visible or not.
911 (Check_Abstract_Overriding): Do not complain about failure to override
912 the primitive operations used in dispatching selects since they will
913 always be overriden at the freeze point of the type.
914 (Access_Definition): Separate out handling for resetting the scope
915 of an anonymous access function result type. Retrieve the scope
916 of the associated function rather than using Current_Scope, which
917 does not have a consistent value (depends on whether we're in the
918 middle of analyzing formal parameters). Add ??? comment about
919 finding a cleaner way to handle the special cases of scope setting.
920 (Process_Incomplete_Dependents): A protected operation is never a
921 dispatching operation (only its wrapper may be).
922 (Build_Derived_Record_Type): In case of tagged private types that
923 implement interfaces add derivation of predefined primitive
924 operations.
925 (Derive_Subprograms): Replace the Is_Interface_Derivation parameter
926 by two parameters that are used in case of derivation from abstract
927 interface types: No_Predefined_Prims is used to avoid the derivation
928 of predefined primitives from the interface, and Predefined
929 Prims_Only is used to complete the derivation predefined primitives
930 in case of private tagged types implementing interfaces.
931 Fix typo in comments
932 (Find_Interface_In_Descendant): Protect the frontend against
933 wrong code with large circularity chains.
934 (Is_Private_Overriding): Add support for entities overriding interface
935 subprograms. The test failed because Entities associated with overriden
936 interface subprograms are always marked as hidden (and used to build
937 the secondary dispatch table); in this case the overriden entity is
938 available through the field abstract_interface_alias (cf. override_
939 dispatching_operation)
940 (Access_Definition): Set the scope of the type to Current_Scope for the
941 case of a function with an anonymous access result type.
942 (Access_Subprogram_Declaration): Handle creation of the type entity for
943 an access-to-function type with an anonymous access result.
944 (Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
945 in handling for N_Access_Function_Definition.
946 (Analyze_Subtype_Declaration): Modify the text of error message.
947 (Derived_Type_Declaration): Modify the text of error message.
948 (Process_Subtype): Modify the text of error message plus cleanup
949 of one redundant error message.
950 (Analyze_Component_Declaration): Code cleanup.
951 (Analyze_Object_Declaration): Code cleanup.
952 (Analyze_Subtype_Declaration): Propagate the null-exclusion
953 attribute in case of access types. Code cleanup.
954 (Array_Type_Declaration): Code cleanup.
955 (Process_Discriminants): Create the new null-excluding itype
956 if required. Code cleanup.
957 (Process_Subtype): Create the new null-excluding itype if
958 required. Code cleanup.
959 (Build_Derived_Record_Type): Code cleanup to avoid calling
960 twice the subprogram derive_subprograms in case of private
961 types that implement interfaces. In this particular case the
962 subprogram Complete_Subprograms_Derivation already does the
963 job associated with the second call.
964
965 * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
966 conversion to the full view when generating an operation for a
967 discriminant whose type may currently be private.
968
9692005-09-01 Ed Schonberg <schonberg@adacore.com>
970 Javier Miranda <miranda@adacore.com>
971
972 * sem_ch4.adb (Transform_Object_Operation): In a context off the form
973 V (Obj.F), the rewriting does not involve the indexed component, but
974 only the selected component itself.
975 Do not apply the transformation if the analyzed node is an actual of a
976 call to another subprogram.
977 (Complete_Object_Operation): Retain the entity of the
978 dispatching operation in the selector of the rewritten node. The
979 entity will be used in the expansion of dispatching selects.
980 (Analyze_One_Call): Improve location of the error message associated
981 with interface.
982 (Analyze_Selected_Component): No need to resolve prefix when it is a
983 function call, resolution is done when parent node is resolved, as
984 usual.
985 (Analyze_One_Call): Add a flag to suppress analysis of the first actual,
986 when attempting to resolve a call transformed from its object notation.
987 (Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
988 of the argument list for each interpretation of the operation.
989 (Try_Object_Operation): The designated type of an access parameter may
990 be an incomplete type obtained through a limited_with clause, in which
991 case the primitive operations of the type are retrieved from its full
992 view.
993 (Analyze_Call): If this is an indirect call, and the return type of the
994 access_to_subprogram is incomplete, use its full view if available.
995
9962005-09-01 Javier Miranda <miranda@adacore.com>
997 Gary Dismukes <dismukes@adacore.com>
998
999 * sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
1000 access types the null-exclusion and access-to-constant attributes must
1001 also match.
1002 (Analyze_Return_Statement): When the result type is an anonymous access
1003 type, apply a conversion of the return expression to the access type
1004 to ensure that appropriate accessibility checks are performed.
1005 (Analyze_Return_Type): For the case of an anonymous access result type,
1006 generate the Itype and set Is_Local_Anonymous_Access on the type.
1007 Add ??? placeholder for check to disallow returning a limited object
1008 in Ada 2005 unless it's an aggregate or a result of a function call.
1009 Change calls from Subtype_Mark to Result_Definition.
1010 (Analyze_Subprogram_Body): Change formal Subtype_Mark to
1011 Result_Definition in call to Make_Function_Specification.
1012 (Build_Body_To_Inline): Change Set_Subtype_Mark to
1013 Set_Result_Definition.
1014 (Make_Inequality_Operator): Change formal Subtype_Mark to
1015 Result_Definition in call to Make_Function_Specification.
1016 (Process_Formals): Create the new null-excluding itype if required.
1017 (New_Overloaded_Entity): For an entity overriding an interface primitive
1018 check if the entity also covers other abstract subprograms in the same
1019 scope. This is required to handle the general case, that is, overriding
1020 other interface primitives and overriding abstract subprograms inherited
1021 from some abstract ancestor type.
1022 (New_Overloaded_Entity): For an overriding entity that comes from
1023 source, note the operation that it overrides.
1024 (Check_Conformance, Type_Conformant): Addition of one new formal
1025 to skip controlling formals in the analysis. This is used to
1026 handle overloading of abstract interfaces.
1027 (Base_Types_Match): Add missing case for types imported from
1028 limited-with clauses
1029 (New_Overloaded_Entity): Add barrier to protect the use of
1030 the "alias" attribute.
1031
10322005-09-01 Ed Schonberg <schonberg@adacore.com>
1033
1034 * sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
1035 verify that the procedure and the entry are mode conformant.
1036 (Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
1037 as a different operator, which is often a cut-and-paste error.
1038
10392005-09-01 Javier Miranda <miranda@adacore.com>
1040 Ed Schonberg <schonberg@adacore.com>
1041
1042 * sem_disp.adb (Check_Controlling_Formals): Anonymous access types
1043 used in controlling parameters exclude null because it is necessary to
1044 read the tag to dispatch, and null has no tag.
1045 (Override_Dispatching_Operation): If the previous operation is inherited
1046 from an interface, it becomes hidden and does not participate in later
1047 name resolution.
1048
10492005-09-01 Javier Miranda <miranda@adacore.com>
1050 Ed Schonberg <schonberg@adacore.com>
1051 Gary Dismukes <dismukes@adacore.com>
1052
1053 * sem_res.adb (Resolve_Membership_Op): In case of the membership test
1054 "Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
1055 the expander will generate the corresponding run-time check to evaluate
1056 the expression.
1057 (Resolve_Call): Check for legal type of procedure name or prefix that
1058 appears as a trigger in a triggering alternative.
1059 (Valid_Conversion): If expression is ambiguous and the context involves
1060 an extension of System, remove System.Address interpretations.
1061 (Resolve_Qualified_Expression): Reject the case of a specific-type
1062 qualification applied to a class-wide argument. Enhance comment
1063 to explain checking of Original_Node.
1064 (Resolve_Type_Conversion): The location of the error message was not
1065 general enough to handle the general case and hence it has been removed.
1066 In addition, this patch improves the text of the message.
1067 (Resolve_Type_Conversion): Add missing support for access to interface
1068 types.
1069 (Resolve_Type_Conversion): If the target is a class-wide interface type,
1070 do not expand if the expression is the actual in a call, because proper
1071 expansion will take place when the call itself is expanded.
1072 (Resolve_Allocator): If the context is an unchecked conversion, the
1073 allocator inherits its storage pool, if any, from the target type of
1074 the conversion.
1075
10762005-09-01 Ed Schonberg <schonberg@adacore.com>
1077 Javier Miranda <miranda@adacore.com>
1078
1079 * sem_type.adb (Add_One_Interp): If a candidate operation is an
1080 inherited interface operation that has an implementation, use the
1081 implementation to avoid spurious ambiguities.
1082 (Interface_Present_In_Ancestor): In case of concurrent types we can't
1083 use the Corresponding_Record_Typ attribute to look for the interface
1084 because it is set by the expander (and hence it is not always
1085 available). For this reason we traverse the list of interfaces
1086 (available in the parent of the concurrent type).
1087 (Interface_Present_In_Ancestor): Handle entities from the limited view
1088
10892005-09-01 Ed Schonberg <schonberg@adacore.com>
1090
1091 * sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
1092 from the list of required components.
1093 (Is_Controlling_Limited_Procedure): Determine whether an entity is a
1094 primitive procedure of a limited interface with a controlling first
1095 parameter.
1096 (Is_Renamed_Entry): Determine whether an entry is a procedure renaming
1097 of an entry.
1098 (Safe_To_Capture_Value): A value (such as non_null) is not safe to
1099 capture if it is generated in the second operand of a short-circuit
1100 operation.
1101 Do not capture values for variables with address clauses.
1102 (Is_Object_Reference): Treat a function call as an object reference only
1103 if its type is not Standard_Void_Type.
1104
11052005-09-01 Ed Schonberg <schonberg@adacore.com>
1106
1107 * sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
1108 to a variable that is statically known to be constant.
1109
11102005-09-01 Geert Bosch <bosch@adacore.com>
1111 Robert Dewar <dewar@adacore.com>
1112
1113 * ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
1114 (VAXGF_Safe_First): Idem.
1115
11162005-09-01 Robert Dewar <dewar@adacore.com>
1117 Arnaud Charlet <charlet@adacore.com>
1118
1119 * g-dirope.ads: Minor reformatting
1120 Document that bounds of result of Base_Name match the input index
1121 positions.
1122 Add documentation on environment variable syntax for Expand_Path
1123
1124 * gnat_ugn.texi: Update documentation to include mention of -m switches
1125 Document new treatment of wide characters in max line length
1126 style check.
1127 Remove -gnatL/-gnatZ switches, no longer used.
1128 Add note on pragmas Assertion_Policy and Debug_Policy in discussion
1129 of -gnata switch.
1130
1131 * gnat_rm.texi: Add doc for two argument form of pragma
1132 Float_Representation.
1133 Add documentation for pragma No_Strict_Aliasing
1134 Add note that explicit component clause overrides pragma Pack.
1135 Add documentation of pragma Debug_Policy
1136
11372005-09-01 Matthew Heaney <heaney@adacore.com>
1138
da8f5fd9
AJ
1139 * a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
1140 a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
1141 a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
98b40956
AC
1142 a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
1143 draft (Draft 13, August 2005) of Ada Amendment 1.
1144
11452005-09-01 Arnaud Charlet <charlet@adacore.com>
1146
1147 * Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
1148 Note that the platform-specific version of g-soccon.ads for VMS is now
1149 named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
1150 really is a package spec).
1151 Replace s-taspri-linux.ads by s-taspri-posix.ads
1152 Remove references to s-mastop-x86.adb
1153
1154 * system-vxworks-xscale.ads: Removed, no longer used.
1155 * s-vxwork-xscale.ads: Removed, no longer used.
1156
11572005-09-01 Robert Dewar <dewar@adacore.com>
1158
1159 * a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
1160 g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
1161 g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
1162 exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
1163 g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
1164 g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
1165 g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
1166 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
1167 g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
1168 g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
1169 sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
1170 a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
1171 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
1172 a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
1173 a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
1174 a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
1175 g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
1176 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
1177 g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
1178 i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
1179 a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting
1180
332a1c2e
AC
11812005-08-29 Arnaud Charlet <charlet@adacore.com>
1182
1183 PR ada/23187
1184 * adaint.c
da8f5fd9 1185 (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
332a1c2e
AC
1186
11872005-08-29 Arnaud Charlet <charlet@adacore.com>
1188 Doug Rupp <rupp@adacore.com>
1189
1190 * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
1191 when needed.
1192 (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
1193 this code in the GNAT run-time.
1194
1195 * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
1196
1197 PR ada/21053
1198 * init.c (__gnat_error_handler [many]): Mark "msg" as const
1199 (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
1200
1201 (__gnat_inside_elab_final_code): Moved here from
1202 Standard_Library and only defined for the compiler.
1203 __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
1204 (__gnat_inum_to_ivec): Do not define this function on VxWorks when
1205 using RTPs because directly vectored Interrupt routines are not
1206 supported on this configuration.
1207 (getpid): Do not redefine this function on VxWorks when using RTPs
1208 because this primitive is well supported by the RTP libraries.
1209 (copy_msg): Correct the code that checks for buffer overflow.
1210 Discovered during code reading.
1211
12122005-08-29 Olivier Hainque <hainque@adacore.com>
1213
1214 * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
1215 a library level mutable variable with an initializer, tell
1216 build_allocator to ignore the initializer's size. It may not be large
1217 enough for all the values that might be assigned to the variable later
1218 on.
1219
12202005-08-29 Arnaud Charlet <charlet@adacore.com>
1221 Eric Botcazou <ebotcazou@adacore.com>
1222
1223 * trans.c: Protect < in error msg with quote
1224 Replace GCC_ZCX by Back_End_Exceptions.
1225 (addressable_p) <COMPONENT_REF>: Also return 1 if the field
1226 has been sufficiently aligned in the record.
1227
35fd1d77
JW
12282005-08-15 James E. Wilson <wilson@specifix.com>
1229
1230 * system-linux-alpha.ads: Change ia64 to alpha.
1231
b15341b8
KH
12322005-08-01 Kazu Hirata <kazu@codesourcery.com>
1233
1234 * decl.c, utils.c: Fix comment typos.
1235
9e4eb559
KH
12362005-07-29 Kazu Hirata <kazu@codesourcery.com>
1237
1238 * decl.c, init.c, initialize.c: Fix comment typos.
1239
4038c495
GB
12402005-07-20 Giovanni Bajo <giovannibajo@libero.it>
1241
1242 Make CONSTRUCTOR use VEC to store initializers.
1243 * decl.c (gnat_to_gnu_entity): Update to cope with VEC in
1244 CONSTRUCTOR_ELTS.
1245 * trans.c (extract_values): Likewise.
1246 * utils.c (convert, remove_conversions): Likewise.
1247 * utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
1248 gnat_build_constructor): Likewise.
1249
f685a2e6
AP
12502005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
1251
1252 * decl.c (components_to_record): Use DECL_FCONTEXT instead of
1253 DECL_SECTION_NAME.
1254 (compare_field_bitpos): Likewise.
1255
7c6ef73e
AP
12562005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
1257
1258 * utils.c (create_var_decl): Only set DECL_COMMON on
1259 VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
1260 VAR_OR_FUNCTION_DECL_P.
1261
820cc88f 12622005-07-08 Daniel Berlin <dberlin@dberlin.org>
da8f5fd9 1263
820cc88f
DB
1264 * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
1265 removed.
1266
1a9cb483
AC
12672005-07-07 Pascal Obry <obry@adacore.com>
1268
1269 * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
1270 returned type on Windows.
1271
1272 * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
1273 routine.
1274
1275 * g-socket.adb (Inet_Addr): Check for empty Image and raises an
1276 exception in this case.
1277 Simplify the code as "Image (Image'Range)" = "Image".
1278
12792005-07-07 Vincent Celier <celier@adacore.com>
1280
1281 * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
1282 the destructor/constructor attributes for <lib>final/<lib>init.
1283
1284 * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
1285
12862005-07-07 Eric Botcazou <ebotcazou@adacore.com>
1287
1288 * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
1289 type if the parameter is not passed by copy but reference by default.
1290
12912005-07-07 Javier Miranda <miranda@adacore.com>
1292
1293 * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
1294 Reimplementation of the support for abstract interface types in order
1295 to leave the code more clear and easy to maintain.
1296
1297 * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
1298 abstract interface types in order to leave the code clearer and easier
1299 to maintain.
1300
1301 * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
1302 is now implemented by the new subprogram Fill_Secondary_DT_Entry.
1303 (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
1304 appropriate entry of the secondary dispatch table.
1305 (Make_DT): Add code to inherit the secondary dispatch tables of
1306 the ancestors.
1307
1308 * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
1309 implementing both functionalities by means of a common routine, each
1310 routine has its own code.
1311
13122005-07-07 Javier Miranda <miranda@adacore.com>
1313
1314 * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
1315
1316 * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
1317 types:
1318 --
1319 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
1320 --
1321
1322 * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
1323 use of tag incomplete types.
1324
1325 * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
1326 give support to tagged incomplete types.
1327
1328 * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
1329 expression is a discriminant reference and its type is private, as can
1330 happen within a stream operation for a mutable record, use the full
1331 view of the type to resolve the case alternatives.
1332 (Analyze_Assignment): Check wrong dereference of incomplete types.
1333
1334 * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
1335 types.
1336
1337 * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
1338 incomplete types.
1339
1340 * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
1341 N_Incomplete_Type_Declaration nodes.
1342
1343 * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
1344 Tag_Present to give support to tagged incomplete types:
1345 --
1346 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
1347 --
1348
13492005-07-07 Olivier Hainque <hainque@adacore.com>
1350
1351 PR ada/22301
1352
1353 * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
1354 definitions for the Unwind wrappers in the compiler case.
1355
13562005-07-07 Ed Schonberg <schonberg@adacore.com>
1357 Javier Miranda <miranda@adacore.com>
1358
1359 * par-load.adb (Load): If a child unit is loaded through a limited_with
1360 clause, each parent must be loaded as a limited unit as well.
1361
1362 * sem_ch10.adb (Previous_Withed_Unit): Better name for
1363 Check_Withed_Unit. Return true if there is a previous with_clause for
1364 this unit, whether limited or not.
1365 (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
1366 the current unit.
1367 (Is_Visible_Through_Renamings): New local subprogram of install_limited
1368 _withed_unit that checks if some package installed through normal with
1369 clauses has a renaming declaration of package whose limited-view is
1370 ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
1371 of the current Draft document for Ada 2005.
1372 (Analyze_Context): Complete the list of compilation units that
1373 are allowed to contain limited-with clauses. It also contains
1374 checks that were previously done by Install_Limited_Context_Clauses.
1375 This makes the code more clear and easy to maintain.
1376 (Expand_Limited_With_Clause) It is now a local subprogram of
1377 Install_Limited_Context_Clauses, and contains the code that adds
1378 the implicit limited-with clauses for parents of child units.
1379 This functionality was prevously done by Analyze_Context.
1380
1381 * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
1382 incomplete type.
1383
1384 * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
1385 been erroneously named in a limited-with clause of its own context.
1386 In this case the error has been previously notified by Analyze_Context.
1387
13882005-07-07 Ed Schonberg <schonberg@adacore.com>
1389
1390 * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
1391 generic package that contains local declarations with the same name.
1392 (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
1393
13942005-07-07 Bernard Banner <banner@adacore.com>
1395
1396 * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
1397 ia64 platform only on platforms that you the GCC unwind library
1398 rather than the system unwind library.
1399
14002005-07-07 Thomas Quinot <quinot@adacore.com>
1401
1402 * expect.c: Minor reformatting
1403
14042005-07-07 Sergey Rybin <rybin@adacore.com>
1405
1406 * vms_data.ads: Add VMS qualifiers for new gnatpp switch
1407 --no-separate-is
1408
1409 * gnat_ugn.texi: Add description for new gnatpp option
1410 (--no-separate-is)
1411
7d300a99
AC
14122005-07-04 Thomas Quinot <quinot@adacore.com>
1413
1414 * g-expect-vms.adb, g-expect.ads, g-expect.adb
1415 (Get_Command_Output): New subprogram to launch a process and get its
1416 standard output as a string.
1417
14182005-07-04 Eric Botcazou <ebotcazou@adacore.com>
9bae2797 1419 Olivier Hainque <hainque@adacore.com>
7d300a99
AC
1420
1421 * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
1422 fetch a code-range descriptor associated with the machine state. On
1423 failure set the machine state's PC to 0; on success, pass the
1424 descriptor to exc_virtual_unwind.
1425
1426 * init.c (Tru64 section): New function __gnat_set_code_loc.
1427
14282005-07-04 Vincent Celier <celier@adacore.com>
1429
da8f5fd9
AJ
1430 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
1431 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
7d300a99
AC
1432 mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
1433 Remove all auto-initialization code, as this is now done through the
1434 constructor mechanism.
1435
1436 * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
1437 __gnat_sals_init_using_constructors): New functions.
1438
1439 * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
1440 Linker_Constructor and Linker_Destructor when switch -a is used.
1441
1442 * bindusg.adb: Add line for new switch -a
1443
1444 * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
1445 (Gnatbind): When switch -a is used, check if it is allowed
1446
1447 * switch-b.adb (Scan_Binder_Switches): Process new switch -a
1448
14492005-07-04 Joel Brobecker <brobecker@adacore.com>
1450
1451 * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
1452 This prevents us from hitting a limitation during the debug info
1453 generation when using stabs.
1454 (Prims_Ptr): Likewise.
1455
14562005-07-04 Gary Dismukes <dismukes@adacore.com>
1457 Ed Schonberg <schonberg@adacore.com>
1458 Javier Miranda <miranda@adacore.com>
1459
1460 * checks.adb (Null_Exclusion_Static_Checks): In the case of
1461 N_Object_Declaration, only perform the checks if the Object_Definition
1462 is not an Access_Definition.
1463
1464 * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
1465 where the parent of an the access definition is an N_Object_Declaration
1466 when determining the Associated_Node_For_Itype and scope of an
1467 anonymous access-to-subprogram type.
1468
1469 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
1470 Corresponding_Spec on the body created for a null procedure. Add ???
1471 comment. Remove New_Copy_Tree call on body argument to
1472 Set_Body_To_Inline.
1473
1474 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
1475 discriminants, use the type of the actual as well, because the
1476 discriminants may be read by the called subprogram.
1477
1478 * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
1479 access type we do not need to handle non-limited views.
1480 (Build_Derived_Record_Type): Additional check to check that in case of
1481 private types, interfaces are only allowed in private extensions.
1482
14832005-07-04 Eric Botcazou <ebotcazou@adacore.com>
1484
1485 * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
1486 <Pragma_Linker_Destructor>: Likewise.
1487
1488 * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
1489 Pragma_Linker_Destructor.
1490
1491 * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
1492 ATTR_LINK_DESTRUCTOR.
1493 (static_ctors, static_dtors): New variables.
1494
1495 * misc.c (gnat_expand_body): Output current function as constructor
1496 and destructor if requested.
1497
1498 * par-prag.adb: Add processing for pragma Linker_Constructor and
1499 Linker_Destructor.
1500
1501 * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
1502 extracted from Check_Interrupt_Or_Attach_Handler.
1503 (Check_Interrupt_Or_Attach_Handler): Invoke it.
1504 Implement pragma Linker_Constructor and Linker_Destructor with the
1505 help of Find_Unique_Parameterless_Procedure.
1506 Replace Name_Alias with Name_Target for pragma Linker_Alias.
1507
da8f5fd9 1508 * snames.h, snames.ads, snames.adb:
7d300a99
AC
1509 Add Name_Linker_Constructor and Name_Linker_Destructor.
1510 Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
1511 * snames.adb: Remove Name_Alias.
1512
1513 * trans.c: Include cgraph.h.
1514 (build_global_cdtor): New function.
1515 (Compilation_Unit_to_gnu): Build global constructor and destructor if
1516 needed.
1517 (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
1518 of objects too.
1519 (addressable_p) <COMPONENT_REF>: Unconditionally test
1520 DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
1521
1522 * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
1523 variable if it is external.
1524
1525 (static_ctors, static_dtors): New global variables.
1526 (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
1527 <ATTR_LINK_DESTRUCTOR>: Likewise.
1528 (end_subprog_body): Chain function as constructor and destructor
1529 if requested.
1530
1531 * exp_util.adb (Force_Evaluation): Unconditionally invoke
1532 Remove_Side_Effects with Variable_Ref set to true.
1533 (Remove_Side_Effects): Handle scalar types first. Use a renaming
1534 for non-scalar types even if Variable_Ref is true and for class-wide
1535 expressions.
1536
15372005-07-04 Ed Schonberg <schonberg@adacore.com>
1538
1539 * exp_attr.adb (Mod): Evaluate condition expression with checks off,
1540 to prevent spurious warnings.
1541
15422005-07-04 Thomas Quinot <quinot@adacore.com>
1543
1544 * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
1545 Itypes. Itypes are really unexpected there.
1546 (Build_TypeCode_Function): Generalise special processing for Itypes to
1547 handle the case of numeric implicit base types as well as enumerated
1548 ones.
1549
15502005-07-04 Ed Schonberg <schonberg@adacore.com>
1551
1552 * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
1553 controlled, indicate the expected type of the dereference that is
1554 created for the call to Deep_Finalize, to prevent spurious errors when
1555 the designated type is private and completed with a derivation from
1556 another private type.
1557
15582005-07-04 Vincent Celier <celier@adacore.com>
1559
1560 * make.adb (Change_To_Object_Directory): When unable to change the
1561 current dir to the object directory, output the full path of the
1562 directory.
1563
15642005-07-04 Matthew Gingell <gingell@adacore.com>
1565
1566 * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
1567
1568 * indepsw-linux.adb: Replace by...
1569
1570 * indepsw-gnu.adb: ...this new file
1571
15722005-07-04 Vincent Celier <celier@adacore.com>
1573
1574 * mlib-prj.adb (Auto_Initialize): New constant String
1575 (SALs_Use_Constructors): New Boolean function
1576 (Build_Library): Call gnatbind with Auto_Initialize switch when
1577 SALs_Use_Constructors returns True.
1578
1579 * mlib-tgt.ads: Minor reformatting
1580
1581 * mlib-utl.ads: Minor reformatting
1582
1583 * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
1584
15852005-07-04 Ed Schonberg <schonberg@adacore.com>
1586
1587 * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
1588 single protected declarations can have an interface list.
1589 (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
1590 with seriously malformed entry declarations, and lead to compilation
1591 abandoned messages.
1592
15932005-07-04 Javier Miranda <miranda@adacore.com>
1594
1595 * par-load.adb: Load the context items in two rounds.
1596
15972005-07-04 Robert Dewar <dewar@adacore.com>
1598
1599 * scng.adb: Do not consider Mod used as an attribute to be a keyword
1600
16012005-07-04 Ed Schonberg <schonberg@adacore.com>
1602 Javier Miranda <miranda@adacore.com>
1603
1604 * sem_ch10.adb (Build_Limited_Views): A type declared with a private
1605 type extension needs a limited view.
1606 Remove previous restriction on private types available through the
1607 limited-view (only tagged private types were previously allowed).
1608 (Install_Withed_Unit): In the code that implements the
1609 legality rule given in AI-377, exclude a child unit with the name
1610 Standard, because it is a homonym of the Standard environment package.
1611
16122005-07-04 Thomas Quinot <quinot@adacore.com>
1613
1614 * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
1615 overloaded function call, carry interpretations from the original tree
1616 to the copy.
1617
16182005-07-04 Ed Schonberg <schonberg@adacore.com>
1619
1620 * sem_ch6.adb (Conforming_Types): If the types are anonymous access
1621 types check whether some designated type is a limited view, and use
1622 the non-limited view if available.
1623
16242005-07-04 Gary Dismukes <dismukes@adacore.com>
1625
1626 * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
1627 constraint of full view of a private view T1 if present, when T2 is a
1628 discriminated full view.
1629
16302005-07-04 Thomas Quinot <quinot@adacore.com>
1631
1632 * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
1633 actual that is a view conversion of a bit packed array reference.
1634
16352005-07-04 Ed Schonberg <schonberg@adacore.com>
1636
1637 * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
1638 present before checking whether an interface type covers a synchronized
1639 type.
1640
16412005-07-04 Ed Schonberg <schonberg@adacore.com>
1642
1643 * sem_util.adb (Is_Object_Reference): An indexed or selected component
1644 whose prefix is an implicit dereference is an object reference. Removes
1645 spurious errors when compiling with -gnatc.
1646
16472005-07-04 Robert Dewar <dewar@adacore.com>
1648
1649 PR ada/22039
1650
1651 * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
1652
16532005-07-04 Matthew Gingell <gingell@adacore.com>
1654
1655 * tracebak.c: Enable tracebacks on ia64 platforms
1656
16572005-07-04 Vincent Celier <celier@adacore.com>
1658
1659 * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
1660 the GNAT BIND command, as gnatbind accepts multiples ALI files with
1661 the -L or -n switches.
1662
16632005-07-04 Vincent Celier <celier@adacore.com>
1664
1665 * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
1666 correctly computed and the main project data is not modified while
1667 doing so.
1668 (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
1669 (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
1670 c++linker as this does not work on some platforms.
1671
16722005-07-04 Matthew Heaney <heaney@adacore.com>
1673
1674 * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
1675 was changed.
1676 * a-coinve.adb: Perform constraint checks explicitly.
1677
16782005-07-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1679 Thomas Quinot <quinot@adacore.com>
1680
1681 * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
1682 new target gen-soccon.
1683
16842005-07-04 Robert Dewar <dewar@adacore.com>
1685
1686 * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
1687
16882005-07-04 Thomas Quinot <quinot@adacore.com>
1689
1690 * g-socket.ads (Check_Selector): Minor rewording of comment.
1691
16922005-07-04 Vincent Celier <celier@adacore.com>
1693
1694 * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
1695
16962005-07-04 Thomas Quinot <quinot@adacore.com>
1697
1698 * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
1699
17002005-07-04 Sergey Rybin <rybin@adacore.com>
1701
1702 * gnat_ugn.texi: Add description of --eol gnatpp option
1703
17042005-07-04 Eric Botcazou <ebotcazou@adacore.com>
1705 Thomas Quinot <quinot@adacore.com>
1706
1707 * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
1708 if the user wants all calls of a subprogram to be flagged,
1709 independently of whether they are made from within the same unit or
1710 another unit.
1711 Mention restriction for pragma Linker_Alias on some platforms.
1712 Document pragma Linker_Constructor and Linker_Destructor.
1713 Rewrite documentation of Weak_External, Linker_Section and
1714 Linker_Alias pragmas.
1715
fc64d83c
AC
17162005-07-04 Arnaud Charlet <charlet@adacore.com>
1717
1718 * s-stausa.ads, s-stausa.adb: New files.
1719
cb5fee25
KC
17202005-06-30 Kelley Cook
1721
1722 * all files: Update FSF address in copyright headers.
1723 * gen-soccon.co (main): Output new FSF address in generated files.
1724
617a1b71
PB
17252005-06-28 Paul Brook <paul@codesourcery.com>
1726
1727 * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
1728
0adcdb66
AC
17292005-06-14 Olivier Hainque <hainque@adacore.com>
1730 Eric Botcazou <ebotcazou@adacore.com>
1731
1732 * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
1733 exc_unwind, now that we are generating proper .debug_frame output for
1734 that target.
1735
1736 * tracebak.c: Remove the mips-irix section, as we are now using the
1737 s-mastop based unwinder again.
1738 Under SPARC/Solaris, take into account the stack bias to compute the
1739 frame offset. The stack bias is 0 for the V8 ABI and 2047 for the V9
1740 ABI.
1741
17422005-06-14 Doug Rupp <rupp@adacore.com>
1743
1744 * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
1745
1746 * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
1747
17482005-06-14 Pascal Obry <obry@adacore.com>
1749
1750 * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
1751 a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
1752 a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
1753 package name).
1754
da8f5fd9
AJ
1755 * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
1756 a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
1757 a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
1758 a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
0adcdb66 1759 a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
da8f5fd9
AJ
1760 a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
1761 a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
1762 s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
1763 s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
1764 s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
1765 s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
1766 s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
1767 s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
1768 s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
1769 s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
1770 s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
1771 s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
1772 s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
1773 s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
1774 s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
1775 s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
1776 s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
1777 s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
1778 s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
1779 s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
1780 s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
1781 s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
1782 s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
1783 s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
0adcdb66
AC
1784 s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
1785 a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
1786 a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
1787 a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
1788 a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
1789 a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
1790 a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
1791 a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
1792 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
1793 a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
1794 a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
1795 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
1796 a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
1797 a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
1798 a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
1799 a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
1800 a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
1801 a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
1802 a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
1803 a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
1804 a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
1805 a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
1806 a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
1807 a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
1808 a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
1809 a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
1810 a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
1811 a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
1812 dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
1813 g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
1814 g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
1815 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
1816 g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
1817 g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
1818 gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
1819 g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
1820 i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
da8f5fd9
AJ
1821 s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
1822 s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
0adcdb66 1823 s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
da8f5fd9 1824 s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
0adcdb66
AC
1825 s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
1826 s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
1827 s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
1828 s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
1829 s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
1830 s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
1831 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
1832 s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
1833 s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
1834 s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
1835 s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
1836 s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
1837 s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
1838 s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
1839 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
1840 s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
1841 s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
1842 s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
1843 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
1844 s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
1845 s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
1846 s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
1847 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
1848 s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
1849 s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
1850 s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
1851 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
1852 s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
1853 s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
1854 s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
1855 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
1856 s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
1857 s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
1858 s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
1859 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
1860 s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
1861 s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
da8f5fd9
AJ
1862 s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
1863 s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
1864 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
1865 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
1866 s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
1867 s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
1868 s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
0adcdb66
AC
1869 s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
1870 s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
1871 s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
1872 s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
1873 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
1874 s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
da8f5fd9
AJ
1875 s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
1876 s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
0adcdb66
AC
1877 s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
1878 a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
1879 a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
1880 a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
1881 a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
1882 a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
1883 a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
1884 a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
1885 a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
1886 a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
1887 "GNU Ada" to GNAT, use proper casing for RUN-TIME.
1888
18892005-06-14 Jose Ruiz <ruiz@adacore.com>
1890 Arnaud Charlet <charlet@adacore.com>
1891
1892 * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
1893 longer protected objects. They have been replaced by lower-level
1894 suspension objects made up by a mutex and a condition variable (or
1895 their equivalent given a particular OS) plus some internal data to
1896 reflect the state of the suspension object.
1897 (Initialize, Finalize): Add this initialization procedure for
1898 Suspension_Object, which is a controlled type.
1899 (Finalize): Add the finalization procedure for Suspension_Object,
1900 which is a controlled type.
1901
1902 * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
1903 Ada.Synchronous_Task_Control because there is no longer a need for a
1904 VxWorks specific version of this package. Target dependencies
1905 has been moved to System.Task_Primitives.Operations.
1906
1907 * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
1908 longer needed.
1909 (InitializeCriticalSection, EnterCriticalSection,
1910 LeaveCriticalSection, DeleteCriticalSection): Replace the type
1911 pCriticalSection by an anonymous access type so that we avoid problems
1912 of accessibility to local objects.
1913
1914 * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
1915 s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
1916 s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
1917 s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
1918 s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
1919 set the environment task mask here.
1920 (Current_State): Add this function that returns the state of the
1921 suspension object.
1922 (Set_False): Add this procedure that sets the state of the suspension
1923 object to False.
1924 (Set_True): Add this procedure that sets the state of the suspension
1925 object to True, releasing the task that was suspended, if any.
1926 (Suspend_Until_True): Add this procedure that blocks the calling task
1927 until the state of the object is True. Program_Error is raised if
1928 another task is already waiting on that suspension object.
1929 (Initialize): Add this procedure for initializing the suspension
1930 object. It initializes the mutex and the condition variable which are
1931 used for synchronization and queuing, and it sets the internal state
1932 to False.
1933 (Finalize): Add this procedure for finalizing the suspension object,
1934 destroying the mutex and the condition variable.
1935
1936 * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
1937 s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
1938 s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
1939 s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
1940 which provides a low-level abstraction (using operating system
1941 primitives) for Ada.Synchronous_Task_Control.
1942 This object is made up by a mutex (for ensuring mutual exclusion), a
1943 condition variable (for queuing threads until the condition is
1944 signaled), a Boolean (State) indicating whether the object is open,
1945 and a Boolean (Waiting) reflecting whether there is a task already
1946 suspended on this object.
1947
1948 * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
1949 s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
1950 s-intman-vms.ads, s-intman-mingw.adb,
1951 (Initialize_Interrupts): Removed, no longer used.
1952
1953 * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
1954 (Setup_Interrupt_Mask): New procedure.
1955
1956 * s-intman-vxworks.ads, s-intman-vxworks.adb: Update comments.
1957
1958 * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
1959
1960 * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
1961 this is no longer done in the body of s-taprop
1962 (Server_Task): Explicitely test for Pending_Action in case
1963 System.Parameters.No_Abort is True.
1964
1965 * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
1966 is no longer done in the body of s-taprop
1967
19682005-06-14 Robert Dewar <dewar@adacore.com>
1969
1970 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
1971 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
1972 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
1973 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
1974 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
1975 system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
1976 system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
1977 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
1978 system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
1979 system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
1980 system-linux-hppa.ads, system-vms_64.ads,
1981 system-vxworks-alpha.ads: Minor comment update for
1982 AI-362 (unit is Pure).
1983
1984 * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
1985 Add pragma Pure_05 for AI-362
1986 Make remaining conversion functions obsolescent in Ada 95
1987
1988 * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
1989 Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
1990 Add entries for a-wichun and a-zchuni
1991 Add a-widcha a-zchara for AI-395
1992 Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
1993
1994 * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
1995 Add entries for a-wichun.o and a-zchuni.o
1996 Entries for a-widcha.o and a-zchara.o
1997 Add entry for a-chacon.o
1998
1999 * a-ztenau.adb: Add with of Ada.Characters.Conversions
2000
2001 * a-chacon.ads, a-chacon.adb: New files.
2002
2003 * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
2004 categorization violations.
2005
2006 * a-strmap.ads: Add pragma Pure_05 for AI-362
2007 * a-strmap.ads: Add note on implicit categorization for AI-362
2008
2009 * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
2010
2011 * par-prag.adb: Dummy entry for pragma Persistent_BSS
2012 Set Ada_Version_Explicit, for implementation of AI-362
2013 Add processing for pragma Pure_05 and Preelaborate_05
2014 Add entry for Assertion_Policy pragma
2015
2016 * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
2017 when needed for proper processing of categorization stuff
2018
da8f5fd9 2019 * sem_cat.adb:
0adcdb66
AC
2020 For several cases, make errors in preealborate units warnings,
2021 instead of errors, if GNAT_Mode is set. For AI-362.
2022
2023 * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
2024 preelaborate unit is now warning if in GNAT mode
2025
2026 * s-stoele.ads: Document AI-362 for pragma preelaborate
2027
20282005-06-14 Doug Rupp <rupp@adacore.com>
2029
2030 * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
2031 s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
2032 Default_Exception_Msg_Max_Length: new parameter.
2033
2034 * a-except.ads: (Exception_Msg_Max_Length): Set to
2035 System.Parameters.Default_Exception_Msg_Max_Length
2036 Add pragma Preelaborate_05 for AI-362
2037 Add warnings off to allow categorization violations for AI-362
2038
20392005-06-14 Vincent Celier <celier@adacore.com>
2040
2041 * gnatsym.adb: Adapt to modification of package Symbols: procedure
2042 Process is now in package Processing.
2043
2044 * symbols.ads, symbols.adb:
2045 (Processing): New package, containing procedure Process
2046
da8f5fd9 2047 * symbols-vms-alpha.adb:
0adcdb66
AC
2048 Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
2049
2050 * symbols-vms.adb, symbols-processing-vms-alpha.adb,
2051 symbols-processing-vms-ia64.adb: New files.
2052
20532005-06-14 Pascal Obry <obry@adacore.com>
2054
2055 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
2056 implementation. This new version generates the proper DllMain routine
2057 to initialize the SAL. The DllMain is generated in Ada and compiled
2058 before being added as option to the library build command.
2059
20602005-06-14 Doug Rupp <rupp@adacore.com>
2061 Pascal Obry <obry@adacore.com>
2062
2063 * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
2064 call to decc$translate_vms.
2065 (__gnat_locate_regular_file): Check if the path_val contains quotes. We
2066 need to remove those quotes before catenating the filename.
2067 (__gnat_locate_exec_on_path): improvements to the Win32 section:
2068 * avoid allocating the memory twice for better efficiency;
2069 * allocate 32K buffer for environment expansion as suggested by MSDN;
2070 * prepend ".;" to the path so that current directory is searched too.
2071
20722005-06-14 Robert Dewar <dewar@adacore.com>
2073
2074 * a-except.adb (Exception_Identity): return Null_Id for null occurrence
2075 instead of raising CE (AI-241)
2076 Add warnings off to allow categorization violations for AI-362
2077
20782005-06-14 Robert Dewar <dewar@adacore.com>
2079
2080 * ali-util.adb, gnatbind.adb: Remove references to
2081 Force_RM_Elaboration_Order.
2082
2083 * switch-b.adb: Remove recognition of -f switch
2084
20852005-06-14 Pascal Obry <obry@adacore.com>
2086
2087 * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
2088 implementation which is slightly more efficient.
2089
20902005-06-14 Gary Dismukes <dismukes@adacore.com>
2091 Javier Miranda <miranda@adacore.com>
2092 Ed Schonberg <schonberg@adacore.com>
2093 Hristian Kirtchev <kirtchev@adacore.com>
2094
2095 * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
2096 allocator's designated type is a class-wide type, and compiling for
2097 Ada 2005, emit a run-time check that the accessibility level of the
2098 type given in the allocator's expression is not deeper than the level
2099 of the allocator's access type.
2100
2101 (Tagged_Membership): Modified to gives support to abstract interface
2102 types.
2103
2104 * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
2105 Access_Level.
2106 (Descendant_Tag): New predefined function
2107 (Is_Descendant_At_Same_Level): New predefined function
2108 (Get_Access_Level): New private function
2109 (Set_Access_Level): New private procedure
2110 (IW_Membership): New function. Given the tag of an object and the tag
2111 associated with an interface, evaluate if the object implements the
2112 interface.
2113 (Register_Interface_Tag): New procedure used to initialize the table of
2114 interfaces used by the IW_Membership function.
2115 (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
2116 of the dispatch table.
2117 (Inherit_TSD): Modified to copy the table of ancestor tags plus the
2118 table of interfaces of the parent.
2119 (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
2120 (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
2121 (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
2122 and raise Tag_Error if the passed tag equalis No_Tag, to conform with
2123 Ada 2005 semantics for the new predefined function.
2124
2125 * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
2126 call to Descendant_Tag rather than Internal_Tag.
2127 (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
2128 the accessibility level of the attribute's Item parameter is not deeper
2129 than the level of the attribute's prefix type. Tag_Error is raised if
2130 the check fails. The check is only emitted for Ada_05.
2131 (Find_Stream_Subprogram): If a TSS exists on the type itself for the
2132 requested stream attribute, use it.
2133 (Expand_N_Attribute_Reference): If the designated type is an interface
2134 then rewrite the referenced object as a conversion to force the
2135 displacement of the pointer to the secondary dispatch table.
2136 (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
2137 is a dereference of an object with a constrained partial view.
2138
2139 * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
2140 type is a class-wide type, emit a run-time check that the accessibility
2141 level of the returned object is not deeper than the level of the
2142 function's master (only when compiling for Ada 2005).
2143
2144 * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
2145 Action_Nb_Arg): Add entries for new Get_Access_Level and
2146 Set_Access_Level routines in these tables.
2147 (Make_DT): Generate a call to set the accessibility level of the
2148 tagged type in its TSD.
2149 (Make_DT): Code cleanup. The functionality of generating all the
2150 secondary dispatch tables has been moved to freeze_record_type.
2151 (Make_Abstract_Interface_DT): Minor code cleanup.
2152 (Set_All_DT_Position): Code cleanup. As part of the code cleanup
2153 this subprogram implements a new algorithm that provides the
2154 same functionality and it is more clear in case of primitives
2155 associated with abstract interfaces.
2156 (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
2157 clean up, the functionality of this subprogram is now provided
2158 by Set_All_DT_Position.
2159 (Write_DT): New subprogram: a debugging procedure designed to be called
2160 within gdb to display the dispatch tables associated with a tagged
2161 type.
2162 (Collect_All_Interfaces): New subprogram that collects the whole list
2163 of interfaces that are directly or indirectly implemented by a tagged
2164 type.
2165 (Default_Prim_Op_Position): New subprogram that returns the fixed
2166 position in the dispatch table of the default primitive operations.
2167 (Expand_Interface_Actuals): New subprogram to generate code that
2168 displaces all the actuals corresponding to class-wide interfaces to
2169 reference the interface tag of the actual object.
2170 (Expand_Interface_Conversion): New subprogram. Reference the base of
2171 the object to give access to the interface tag associated with the
2172 secondary dispatch table.
2173 (Expand_Interface_Thunk): New subprogram that generates the code of the
2174 thunk. This is required for compatibility with the C+ ABI.
2175 (Make_Abstract_Interface_DT): New subprogram that generate the
2176 declarations for the secondary dispatch tables associated with an
2177 abstract interface.
2178 (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
2179 attribute for each primitive operation covering interface subprograms
2180 (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
2181 These subprograms were upgraded to give support to abstract interfaces
2182
2183 * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
2184 RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
2185 RE_Set_Access_Level.
2186 (RE_Unit_Table): Add entries for new Ada.Tags operations.
2187 Add support to call the followig new run-time subprograms:
2188 IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
2189
2190 * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
2191 match its full declaration when both have an access definition with
2192 statically matching designated subtypes.
2193 (Analyze_Component_Declaration): Delete commented out code that was
2194 incorrectly setting the scope of an anonymous access component's type.
2195 (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
2196 an access discriminant when the containing type is nonlimited.
2197 (Make_Incomplete_Type_Declaration): Create an incomplete type
2198 declaration for a record type that includes self-referential access
2199 components.
2200 (Check_Anonymous_Access_Types): Before full analysis of a record type
2201 declaration, create anonymous access types for each self-referential
2202 access component.
2203 (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
2204 an access component in this context is a Local_Anonymous_Access, for
2205 proper accessibility checks.
2206 (Access_Definition): Set properly the scope of the anonymous access type
2207 created for a stand-alone access object.
2208 (Find_Type_Of_Object): An object declaration may be given with an access
2209 definition.
2210 (Complete_Subprograms_Derivation): New subprogram used to complete
2211 type derivation of private tagged types implementing interfaces.
2212 In this case some interface primitives may have been overriden
2213 with the partial-view and, instead of re-calculating them, they
2214 are included in the list of primitive operations of the full-view.
2215 (Build_Derived_Record_Type): Modified to give support to private
2216 types implemening interfaces.
2217 (Access_Definition): Reject ALL on anonymous access types.
2218 (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
2219 type derivation to occur at a deeper accessibility level than the
2220 parent type.
2221 For the case of derivation within a generic body however, disallow the
2222 derivation if the derived type has an ancestor that is a formal type
2223 declared in the formal part of an enclosing generic.
2224 (Analyze_Object_Declaration): For protected objects, remove the check
2225 that they cannot contain interrupt handlers if not declared at library
2226 level.
2227 (Add_Interface_Tag_Components): New subprogram to add the tag components
2228 corresponding to all the abstract interface types implemented by a
2229 record type or a derived record type.
2230 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
2231 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
2232 Process_Full_View, Record_Type_Declaration): Modified to give
2233 support to abstract interface types
2234 (Collect_Interfaces): New subprogram that collects the list of
2235 interfaces that are not already implemented by the ancestors
2236 (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
2237 when partial view has no discriminants and full view has defaults.
2238 (Constrain_Access): Reject a constraint on a general access type
2239 if the discriminants of the designated type have defaults.
2240 (Access_Subprogram_Declaration): Associate the Itype node with the inner
2241 full-type declaration or subprogram spec. This is required to handle
2242 nested anonymous declarations.
2243 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
2244 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
2245 Process_Full_View, Record_Type_Declaration): Modified to give
2246 support to abstract interface types
2247 (Derive_Subprograms): Addition of a new formal to indicate if
2248 we are in the case of an abstact-interface derivation
2249 (Find_Type_Of_Subtype_Indic): Moved from the body of the package
2250 to the specification because it is requied to analyze all the
2251 identifiers found in a list of interfaces
2252
2253 * debug.adb: Complete documentation of flag "-gnatdZ"
2254
2255 * exp_ch3.adb: Implement config version of persistent_bss pragma
2256 (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
2257 testing for TSS presence to properly enforce visibility rules.
2258 (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
2259 Make_Abstract_Interfaces_DT to generate the secondary tables
2260 associated with abstract interfaces.
2261 (Build_Init_Procedure): Modified to initialize all the tags
2262 corresponding.
2263 (Component_Needs_Simple_Initialization): Similar to other tags,
2264 interface tags do not need initialization.
2265 (Freeze_Record_Type): Modified to give support to abstract interface
2266 types.
2267 (Expand_N_Object_Declaration): Do not generate an initialization for
2268 a scalar temporary marked as internal.
2269
2270 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
2271 in-out parameter that is a component in an initialization procedure,
2272 whose constraint might depend on discriminants, and that may be
2273 misaligned because of packing or representation clauses.
2274 (Is_Legal_Copy): New predicate to determine whether a possibly
2275 misaligned in-out actual can actually be passed by copy/return. This
2276 is an error in case the type is by_reference, and a warning if this is
2277 the consequence of a DEC import pragma on the subprogram.
2278 (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
2279 interface types
2280 (Expand_Inlined_Call): Mark temporary generated for the return value as
2281 internal, so that no useless scalar normalization is generated for it.
2282 (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
2283 null procedure can always be inlined.
2284 (Expand_N_Subprogram_Declaration): If this is the declaration of a null
2285 procedure, generate an explicit empty body for it.
2286
2287 * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
2288 Given a type implementing an interface, returns the corresponding
2289 access_disp_table value.
2290 (Find_Interface_Tag): New subprogram. Given a type implementing an
2291 interface, returns the record component containing the tag of the
2292 interface.
2293 (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
2294 previous ones that return the corresponding tag and access_disp_table
2295 entities.
2296 (Is_Predefined_Dispatching_Operation): Determines if a subprogram
2297 is a predefined primitive operation.
2298 (Expand_Subtype_From_Expr): If the expression is a selected component
2299 within an initialization procedure, compute its actual subtype, because
2300 the component may depend on the discriminants of the enclosing record.
2301
da8f5fd9 2302 * i-cpp.ads, i-cpp.adb:
0adcdb66
AC
2303 This package has been left available for compatibility with previous
2304 versions of the frontend. As part of the new layout this is now a
2305 dummy package that uses declarations available at a-tags.ads
2306
2307 * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
2308 "constant access" and "aliased [constant] access" when not compiling
2309 with -gnat05.
2310 Suppress Ada 2005 keyword warning if -gnatwY used
2311 (P_Identifier_Declarations): Add support for object declarations with
2312 access definitions.
2313 (Private_Extension_Declaration): Complete the documentation
2314 (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
2315 attribute in case of private extension declaration
2316 (P_Type_Declaration): Mark as "abstract" the type declarations
2317 corresponding with protected, synchronized and task interfaces
2318 (P_Declarative_Items): "not" and "overriding" are overriding indicators
2319 for a subprogram or instance declaration.
2320
2321 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
2322 instantiation that is a dispatching operation has controlling access
2323 parameters that are null excluding.
2324 Save and restore Ada_Version_Explicit, for implementation of AI-362
2325 (Validate_Derived_Type_Instance): Add check for abstract interface
2326 types.
2327 (Analyze_Formal_Package): Establish Instantiation source for the copy of
2328 the generic that is created to represent the formal package.
2329 (Analyze_Package_Instantiation): Instantiate body immediately if the
2330 package is a predefined unit that contains inlined subprograms, and
2331 we are compiling for a Configurable_Run_Time.
2332 (Instantiate_Formal_Subprogram): Indicate that null default subprogram
2333 If the program has a null default, generate an empty body for it.
2334
2335 * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
2336 error message condition, null procedures are correctly detected now.
2337 (New_Overloaded_Entity): Bypass trivial overriding indicator check
2338 for subprograms in the context of protected types. Instead, the
2339 indicator is examined in Sem_Ch9 while analysing the subprogram
2340 declaration.
2341 (Check_Overriding_Indicator): Check consistency of overriding indicator
2342 on subprogram stubs as well.
2343 (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
2344 the library level.
2345 (Analize_Subprogram_Specification): When analyzing a subprogram in which
2346 the type of the first formal is a concurrent type, replace this type
2347 by the corresponding record type.
2348 (Analyze_Subprogram_Body): Undo the previous work.
2349 (Analyze_Procedure_Call): If the call has the form Object.Op, the
2350 analysis of the prefix ends up analyzing the call itself, after which
2351 we are done.
2352 (Has_Interface_Formals): New subprogram subsidiary to analyze
2353 subprogram_specification that returns true if some non
2354 class-wide interface subprogram is found
2355 (New_Overloaded_Entity): Modified to give support to abstract
2356 interface types
2357 (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
2358 access to subprograms must be recursive.
2359 (Is_Unchecked_Conversion): Improve the test that recognizes
2360 instantiations of Unchecked_Conversion, and allows them in bodies that
2361 are to be inlined by the front-end. When the body comes from an
2362 instantiation, a reference to Unchecked_Conversion will be an
2363 Expanded_Name, even though the body has not been analyzed yet.
2364 Replace Is_Overriding and Not_Overriding in subprogram_indication with
2365 Must_Override and Must_Not_Override, to better express intent of AI.
2366 (Analyze_Subprogram_Body): If an overriding indicator is given, check
2367 that it is consistent with the overrinding status of the subprogram
2368 at this point.
2369 (Analyze_Subprogram_Declaration): Indicate that a null procedure is
2370 always inlined.
2371 If the subprogram is a null procedure, indicate that it does not need
2372 a completion.
2373
2374 * sem_disp.adb (Check_Controlling_Type): Give support to entities
2375 available through limited-with clauses.
2376 (Check_Dispatching_Operation): A stub acts like a body, and therefore is
2377 allowed as the last primitive of a tagged type if it has no previous
2378 spec.
2379 (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
2380 to give support to abstract interface types
2381
2382 * sem_res.adb (Valid_Conversion): Perform an accessibility level check
2383 in the case where the target type is an anonymous access type of an
2384 object or component (that is, when Is_Local_Anonymous_Access is true).
2385 Prevent the special checks for conversions of access discriminants in
2386 the case where the discriminant belongs to a nonlimited type, since
2387 such discriminants have their accessibility level defined in the same
2388 way as a normal component of an anonymous access type.
2389 (Resolve_Allocator): When an allocator's designated type is a class-wide
2390 type, check that the accessibility level of type given in the
2391 allocator's expression or subtype indication is not statically deeper
2392 than the level of the allocator's access type.
2393 (Check_Discriminant_Use): Diagnose discriminant given by an expanded
2394 name in a discriminant constraint of a record component.
2395 (Resolve_Explicit_Dereference): Do not check whether the type is
2396 incomplete when the dereference is a use of an access discriminant in
2397 an initialization procedure.
2398 (Resolve_Type_Conversion): Handle conversions to abstract interface
2399 types.
2400 (Valid_Tagged_Conversion): The conversion of a tagged type to an
2401 abstract interface type is always valid.
2402 (Valid_Conversion): Modified to give support to abstract interface types
2403 (Resolve_Actuals): Enable full error reporting on view conversions
2404 between unrelated by_reference array types.
2405 The rule for view conversions of arrays with aliased components is
2406 weakened in Ada 2005.
2407 Call to obsolescent subprogram is now considered to be a violation of
2408 pragma Restrictions (No_Obsolescent_Features).
2409 (Check_Direct_Boolean_Operator): If the boolean operation has been
2410 constant-folded, there is nothing to check.
2411 (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
2412 check on possible violation of restriction No_Direct_Boolean_Operators
2413 until after expansion of operands, to prevent spurious errors when
2414 operation is constant-folded.
2415
2416 * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
2417 Has_Compatible_Type): Modified to give support to abstract interface
2418 types.
2419 (Interface_Present_In_Ancestor): New function to theck if some ancestor
2420 of a given type implements a given interface
2421
2422 * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
2423 prefix is a parameterless function that returns an access_to_procedure.
2424 (Transform_Object_Operation): Handle properly function calls of the
2425 form Obj.Op (X), which prior to analysis appear as indexed components.
2426 (Analyze_One_Call): Complete the error notification to help new Ada
2427 2005 users.
2428 (Analyze_Allocator): For an allocator without an initial value, where
2429 the designated type has a constrained partial view, a discriminant
2430 constraint is illegal.
2431
24322005-06-14 Robert Dewar <dewar@adacore.com>
2433
2434 * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
2435 do with treatment of Set_Col when positioned at end of line character.
2436
24372005-06-14 Robert Dewar <dewar@adacore.com>
2438
2439 * atree.adb: (Elist*): Protect against uninitialized field
2440
24412005-06-14 Ed Schonberg <schonberg@adacore.com>
2442
2443 * checks.adb (Install_Null_Excluding_Check): Do not generate checks
2444 for an attribute reference that returns an access type.
2445 (Apply_Discriminant_Check): No need for check if (designated) type has
2446 constrained partial view.
2447
2448 (Apply_Float_Conversion_Check): Generate a short-circuit expression for
2449 both bound checks, rather than a conjunction.
2450 (Insert_Valid_Check): If the expression is an actual that is an indexed
2451 component of a bit-packed array, force expansion of the packed element
2452 reference, because it is specifically inhibited elsewhere.
2453
24542005-06-14 Vincent Celier <celier@adacore.com>
2455
2456 * clean.adb (Clean_Project): Correctly delete executable specified as
2457 absolute path names.
2458
2459 * make.adb (Gnatmake): Allow relative executable path names with
2460 directory information even when project files are used.
2461 (Change_To_Object_Directory): Fail gracefully when unable to change
2462 current working directory to object directory of a project.
2463 (Gnatmake): Remove exception handler that could no longer be exercized
2464 (Compile_Sources.Compile): Use deep copies of arguments, as some of them
2465 may be deallocated by Normalize_Arguments.
2466 (Collect_Arguments): Eliminate empty arguments
2467
2468 * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
2469 and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
2470 (Check_Project): Return False when Project is No_Project. Return True
2471 when All_Projects is True.
2472 (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
2473 All_Projects to True.
2474 Minor reformatting
2475
24762005-06-14 Ed Schonberg <schonberg@adacore.com>
2477 Javier Miranda <miranda@adacore.com>
2478 Thomas Quinot <quinot@adacore.com>
2479 Robert Dewar <dewar@adacore.com>
2480 Hristian Kirtchev <kirtchev@adacore.com>
2481 Gary Dismukes <dismukes@adacore.com>
2482
2483 * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
2484 anonymous access types, to indicate that the accessibility level of
2485 the type is determined by that of the enclosing declaration.
2486 (Has_Persistent_BSS): New flag
2487 (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
2488 of this attribute with functions.
2489 (Is_Primitive_Wrapper): Remove the barrier.
2490 (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
2491 Has_Specified_Stream_Read, Has_Specified_Stream_Write):
2492 New subprograms.
2493 (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
2494 Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
2495 New subprograms.
2496 (Is_Pure_Unit_Access_Type): New flag
2497 (Abstract_Interfaces): Complete the assertion to cover all usages.
2498 (Set_Is_Interface): Complete the assertion to cover all usages.
2499 (Is_Primitive_Wrapper): New attribute.
2500 (Is_Obsolescent): Now applies to all entities (though it is only set
2501 for subprograms currently)
2502 New flag: Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
2503 which solves various problems concerning access subtypes.
2504 (Has_Persistent_BSS): New flag
2505 (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
2506 Remove these subprograms because this attribute is currently
2507 not used.
2508 New entity flags:
2509 Has_Specified_Stream_Input (Flag190)
2510 Has_Specified_Stream_Output (Flag191)
2511 Has_Specified_Stream_Read (Flag192)
2512 Has_Specified_Stream_Write (Flag193)
2513 Present in all type and subtype entities. Set for a given view if the
2514 corresponding stream-oriented attribute has been defined by an
2515 attribute definition clause. When such a clause occurs, a TSS is set
2516 on the underlying full view; the flags are used to track visibility of
2517 the attribute definition clause for partial or incomplete views.
2518 (Is_Pure_Unit_Access_Type): New flag
2519 Clarify use of Is_Internal.
2520 (Is_Primitive_Wrapper): New attribute present in primitive subprograms
2521 internally generated to wrap the invocation of tasks and protected
2522 types that implement interfaces.
2523 (Implementation_Base_Type): Documentation correction
2524 (Is_Obsolescent): Now applies to all entities (though it is only set
2525 for subprograms currently)
2526 New flag: Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
2527 which solves various problems concerning access subtypes.
2528
2529 * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
2530 for examined parameters. Identify unequal parameter list lengths as
2531 non-conformant parameters.
2532 (Overriding_Possible): Do not check for "All" qualifier in declaration
2533 of controlling access parameter, following prescription of AI-404.
2534 (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
2535 that build the procedure body that wraps an entry invocation
2536 (Build_Corresponding_Record, Build_Protected_Sub_Specification,
2537 Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
2538 Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
2539 give support to abstract interface types
2540
2541 * freeze.adb (Freeze_Entity): Issue error message if
2542 Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
2543 type has no storage pool (Ada 2005) AI-366.
2544 Also modified to give support to abstract interface types
2545 (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
2546 Inline_Always pragma.
2547
2548 * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
2549 now begin an entry declaration.
2550 (P_Entry_Or_Subprogram_With_Indicator): New procedure in
2551 P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
2552 a subprogram declaration preceded by an overriding indicator.
2553 (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
2554 declarations or subprogram declarations preceded by reserved words
2555 "not" or "overriding".
2556 (P_Entry_Declaration): Update comment. Parse and check overriding
2557 indicator, set semantic flags of entry declarations.
2558 (P_Task): New error message in case of private applied
2559 to a task type declaration.
2560 (P_Protected): New error message in case of private applied
2561 to a task type declaration.
2562
2563 * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
2564 in which the full view of a type implementing an interface is a
2565 concurrent type.
2566 (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
2567 Declare_Inherited_Private_Subprograms): If an explicit operation
2568 overrides an operation that is inherited in the private part, mark the
2569 explicit one as overriding, to enable overriding indicator checks.
2570 (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
2571 full view to partial view, to simplify handling in back-end.
2572
2573 * sprint.adb: Print interface lists where needed: derived types,
2574 protected types, task types.
2575 output "is null" for null procedures. Part of implementation of
2576
2577 * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
2578 relaxation of rules for access types in pure, shared passive partitions.
2579
2580 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
2581 first read discriminants into temporary objects, performing checks on
2582 the read values, then possibly performing discriminant checks on the
2583 actual (if it is constrained), and only finally reading the components
2584 into a constrained temporary object.
2585 (Build_Elementary_Input_Call): Adjust the specific circuitry for the
2586 case of reading discriminants of a mutable record type to recognize
2587 the new form of the code generated by
2588 Build_Mutable_Record_Read_Procedure.
2589
2590 * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
2591 of a simple call to Make_TSS_Name.
2592 (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
2593 buffer, in order for Is_TSS to work correctly on local TSS names.
2594
2595 * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
2596 Is_Local_Anonymous_Access to check legaliy of attributes in the
2597 context of access components and stand-alone access objects.
2598 (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
2599 treated as available for a limited private type if there is an
2600 attribute_definition_clause that applies to its full view, but not in
2601 other cases where the attribute is available for the full view
2602 (specifically, the sole fact that the full view is non-limited does not
2603 make the attribute available for the partial view).
2604 (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
2605 non-overloaded intrinsic subprogram.
2606 (Check_Stream_Attribute): Reject an attribute reference for an
2607 unavailable stream attribute even if the prefix is not a limited type
2608 (case of a 'Input attribute reference for an abstract, non-classwide
2609 type)
2610 (Stream_Attribute_Available): New function to determine whether a stream
2611 attribute is available at a place.
2612 (Check_Attribute): Use Stream_Attribute_Available instead of just
2613 testing for TSS presence on the implementation base type.
2614 (Analyze_Attribute): Modified to give support to task interfaces.
2615 (Analyze_Access_Attribute): Add error check for use of an Access (or
2616 Unrestricted_Access) attribute with a subprogram marked as
2617 Inline_Always.
2618 (Analyze_Attribute, case Attribute_Address): Add error check for use of
2619 an Address attribute with a subprogram marked as Inline_Always.
2620 Update Eval_Attribute to handle new value of Width from AI-395
2621
2622 * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
2623 (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
2624 Factor common code across the stream-oriented attribute circcuits into
2625 a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
2626 processing is functionally identical to the previous duplicated one,
2627 except that an expression that denotes an abstract subprogram will now
2628 be rejected, as mandated by AI-195 item 5.
2629
2630 * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
2631 Is_Local_Anonymous_Access to apply accessibility checks to access
2632 components and stand-alone access objects.
2633 (Has_Discriminant_Dependent_Constraint): Moved to spec for use
2634 elsewhere.
2635 (Is_Potentially_Persistent_Type): New function
2636 (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
2637 a heap-object whose type has a constrained partial view, the object is
2638 unconstrained and the component may depend on a discriminant, making its
2639 renaming illegal.
2640
2641 * sinfo.ads, sinfo.adb
2642 (Must_Not_Override): Flag applicable to N_Entry_Declaration.
2643 (Must_Override): Flag applicable to N_Entry_Declaration.
2644 Indicate that interface_list can appear in single task and single
2645 protected declarations.
2646 Replace Is_Overriding and Not_Overriding with Must_Override and
2647 Must_Not_Override, to better express intent of AI.
2648 Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
2649 of an overriding indicator in a subprogram or instance.
2650 Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
2651 Add the overriding indicator [[not] overriding] construct to the
2652 following grammar productions:
2653 ENTRY_DECLARATION
2654 GENERIC_INSTANTIATION
2655 SUBPROGRAM_SPECIFICATION
2656
2657 * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
2658 can start with an overriding indicator.
2659
2660 * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
2661 flags accordingly on subrogram specifications or instances.
2662
da8f5fd9 2663 * sem_ch8.adb:
0adcdb66
AC
2664 (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
2665 overriding_indicator, if present, is consistent with status of spec.
2666 Improve error message for null-excluding checks on controlling access
2667 parameters.
2668 (Check_In_Previous_With_Clause): Protect the frontend against
2669 previously reported critical errors in the context clauses.
2670 Save and restore Ada_Version_Explicit, for implementation of AI-362
2671 (Analyze_Subprogram_Renaming): If the new entity is a dispatching
2672 operation verify that controlling formals of the renamed entity that
2673 are access parameters are explicitly non-null.
2674 (Find_Expanded_Name): Improve error message when prefix is an illegal
2675 reference to a private child unit.
2676
2677 * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
da8f5fd9 2678 s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
0adcdb66
AC
2679 Rewrite to correspond to new wide character names in AI-395
2680
2681 * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
2682 default procedures.
2683
26842005-06-14 Ed Schonberg <schonberg@adacore.com>
2685 Robert Dewar <dewar@adacore.com>
2686
2687 * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
2688 code, not on the bodies of predefined operations, to cut down on
2689 spurious noise.
2690
26912005-06-14 Ed Schonberg <schonberg@adacore.com>
2692
2693 * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
2694 be expanded in place. The size computation does not require a
2695 subtraction, which would raise an exception on a compiler built with
2696 assertions when the upper bound is Integer'first.
2697 (Flatten): For an array of composite components, take into account the
2698 size of the components to determine whether it is safe to expand the
2699 array into a purely positional representation.
2700
27012005-06-14 Thomas Quinot <quinot@adacore.com>
2702
2703 * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
2704 denoting a formal parameter into account.
2705
27062005-06-14 Ed Schonberg <schonberg@adacore.com>
2707
2708 * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
2709 the entry_call alternative of a conditional entry call, wrap the
2710 conditional entry call itself.
2711
27122005-06-14 Nicolas Setton <setton@adacore.com>
2713 Ed Schonberg <schonberg@adacore.com>
2714
2715 * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
2716 the "simple_choice" member in a variant record, in accordance with the
2717 description in the package spec: the information output for a constant
2718 should be "S number", not "SS number".
2719 (Get_Encoded_Name): Return at once if not generating code. Avoids name
2720 overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
2721
27222005-06-14 Thomas Quinot <quinot@adacore.com>
2723
2724 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
2725 RACW without any primitives, do not generate the if statement for
2726 dispatching by name in the PolyORB/DSA case, as it would be malformed
2727 (it would have an Elsif_Parts list that is not No_List, but with a
2728 length of 0).
2729
27302005-06-14 Robert Dewar <dewar@adacore.com>
2731
2732 * exp_intr.adb, par-ch5.adb: Minor fix to error message text
2733
27342005-06-14 Jose Ruiz <ruiz@adacore.com>
2735
2736 * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
2737 can determine whether pragma Suppress_Exception_Locations is in effect.
2738
2739 * utils2.c (build_call_raise): Do not pass the file name to the
2740 exception handler if pragma Suppress_Exception_Locations is in effect.
2741 (build_allocator): Add and process arg IGNORE_INIT_TYPE.
2742
27432005-06-14 Emmanuel Briot <briot@adacore.com>
2744
2745 * g-debpoo.adb (Deallocate, Dereference): Improve output.
2746
27472005-06-14 Nicolas Roche <roche@adacore.com>
2748
2749 * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
2750 to ""
2751 (Next_Level): Fix minor bug in handling of ../dir case
2752 (Read): Add dir separator to Directory name so that "" is understood as
2753 "/"
2754
27552005-06-14 Pascal Obry <obry@adacore.com>
2756
2757 * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
2758 releasing the items.
2759
27602005-06-14 Vincent Celier <celier@adacore.com>
2761 Cyrille Comar <comar@adacore.com>
2762
2763 * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
2764 with output file descriptor and with output file name.
2765 (Dup, Dup2): Now global procedures as they are used by two subprograms
2766 (Copy): Allocate the 200K buffer on the heap rather than on the stack.
2767
27682005-06-14 Thomas Quinot <quinot@adacore.com>
2769
2770 PR ada/6717
2771
2772 * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
2773 broadcast address.
2774 (Create_Selector): Bind listening socket used to create the signalling
2775 socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
2776 Set listen backlog to 1 to ensure that we detect socket theft by a
2777 failure of our own connect(2) call.
2778 (Check_Selector): Improve documentation of the selector mechanism.
2779 (Broadcast_Inet_Addr): New constant.
2780
27812005-06-14 Gary Dismukes <dismukes@adacore.com>
2782
2783 * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
2784 type which turns out to be an incomplete and incorrect fix.
2785 (Layout_Array_Type): Use Underlying_Type when checking whether the scope
2786 of the type is declared in a record (for determination of insertion
2787 type).
2788 (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
2789 a private type and ensure that the primary entity is used for the type
2790 of the newly created function's V formal by taking the Etype of the
2791 view.
2792
27932005-06-14 Javier Miranda <miranda@adacore.com>
2794 Jose Ruiz <ruiz@adacore.com>
2795 Robert Dewar <dewar@adacore.com>
2796 Ed Schonberg <schonberg@adacore.com>
2797
2798 * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
2799 that indicates if we are parsing a compilation unit found in a
2800 limited-with clause.
2801 It is use to avoid the circularity check.
2802
2803 * par.ads, par.adb (Par): Addition of a new parameter to indicate if
2804 we are parsing a compilation unit found in a limited-with clause. This
2805 is use to avoid the circularity check.
2806
2807 * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
2808 unit as a consequence of parsing a limited-with clause. This is used
2809 to avoid the circularity check.
2810
2811 * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
2812 (Analyze_Context): Limited-with clauses are now allowed
2813 in more compilation units.
2814 (Analyze_Subunit_Context, Check_Parent): Protect the frontend
2815 againts previously reported critical errors in context clauses
2816 (Install_Limited_Withed_Unit): Code cleanup plus static detection
2817 of two further errors: renamed subprograms and renamed packages
2818 are not allowed in limited with clauses.
2819 (Install_Siblings): Do not install private_with_clauses on the package
2820 declaration for a non-private child unit.
2821 (Re_Install_Parents): When a parent of the subunit is reinstalled,
2822 reset visibility of child units properly.
2823 (Install_Withed_Unit): When a child unit appears in a with_clause of its
2824 parent, it is immediately visible.
2825
28262005-06-14 Ed Schonberg <schonberg@adacore.com>
2827 Emmanuel Briot <briot@adacore.com>
2828
2829 * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
2830 declared within an inlined body as referenced, to prevent spurious
2831 warnings.
2832 (Output_One_Ref): If an entity renames an array component, indicate in
2833 the ALI file that this aliases (renames) the array. Capture as well
2834 function renamings that rename predefined operations.
2835 Add information about generic parent for package and subprogram
2836 instances.
2837 (Get_Type_Reference): For a subtype that is the renaming of an actual in
2838 an instantiation, use the first_subtype to ensure that we don't generate
2839 cross-reference information for internal types.
2840 For objects and parameters of a generic private type, retain the '*'
2841 indicator to distinguish such an entity from its type.
2842
2843 * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
2844 to store information about instantiated entities.
2845
2846 * ali.adb (Scan_ALI): Add support for parsing the reference to the
2847 generic parent
2848
2849 * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
2850 (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
2851 information.
2852
28532005-06-10 Doug Rupp <rupp@adacore.com>
2854 Arnaud Charlet <charlet@adacore.com>
2855 Olivier Hainque <hainque@adacore.com>
2856 Jose Ruiz <ruiz@adacore.com>
2857
2858 * Make-lang.in: Add initialize.o when needed.
2859 Remove obsolete references to RT_FLAGS.
2860 Add missing dependencies for sdefault.o
2861
2862 * initialize.c: New file.
2863
2864 * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
2865 [VMS] cond_signal_table: Fix problem in declaration.
2866 [VMS] __gnat_error_handler: rewrite.
2867 Move all __gnat_initialize() routines to initialize.c
2868 Specialize the former "hpux" section to "hppa hpux", as this is what the
2869 section really is here for and we now have other hpux ports that need
2870 different contents.
2871 (__gnat_adjust_context_for_raise) i386-linux: First version of this
2872 function for this target. Adjust PC by one in the machine context. This
2873 adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
2874 it is more reliable to do that in the signal handler itself.
2875 (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
2876 flags, so that the handler is passed the context structure to adjust
2877 prior to the raise.
2878 (__gnat_error_handler) i386-linux: Adjust the signature to match what a
2879 SA_SIGINFO sigaction should look like. Call
2880 __gnat_adjust_context_for_raise before actually raising. Cleanup unused
2881 Machine_State_Operations stuff.
2882 Add conditional code so that the x86_64 is also supported.
2883
28842005-06-14 Pascal Obry <obry@adacore.com>
2885
2886 * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
2887 the library name.
2888
28892005-06-14 Robert Dewar <dewar@adacore.com>
2890
2891 * opt.ads, opt.adb: New flags for persistent_bss mode
2892 Add Ada_Version_Explicit, for implementation of AI-362
2893 Add Assertions_Enabled_Config and associated handling
2894 Needed since setting can be changed with Assertion_Policy pragma
2895 Add new flag Warn_On_Ada_2005_Compatibility
2896
2897 * switch-c.adb: Recognize -gnatwy/Y
2898 Set Ada_Version_Explicit, for implementation of AI-362
2899 The -gnatg switch now includes -gnatyu
2900
2901 * usage.adb: Add -gnatwy/Y
2902 Remove wrong asterisk on -gnatwX line
2903 Add line for -gnatyu switch
2904
29052005-06-14 Vincent Celier <celier@adacore.com>
2906
2907 * osint.adb (Add_Default_Search_Dirs): Put source and object
2908 directories of project files before directories coming from
2909 ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
2910
29112005-06-14 Robert Dewar <dewar@adacore.com>
2912
2913 PR ada/15613
2914
2915 * par-ch2.adb (Scan_Pragma_Argument): New procedure
2916 (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
2917
29182005-06-14 Vincent Celier <celier@adacore.com>
2919
2920 * prep.adb (Preprocess): Ignore error when scanning the first token of
2921 a line.
2922
29232005-06-14 Vincent Celier <celier@adacore.com>
2924
2925 * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
2926 (Check_Stand_Alone_Library): If the specified reference symbol file does
2927 not exist, only issue a warning when the symbol policy is not
2928 Controlled. And, when symbol policy is Compliant, set the symbol
2929 policy to Autonomous.
2930
29312005-06-14 Vincent Celier <celier@adacore.com>
2932
2933 * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
2934 when the project file in a with clause is not the last one, that is the
2935 project file name is followed by a comma.
2936 * prj-pp.adb: (First_With_In_List): New Boolean global variable
2937 (Print): Issue list of project files separated by commas in with clauses
2938 according to the values returned by Is_Not_Last_In_List.
2939 * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
2940 (Set_Is_Not_Last_In_List): New procedure
2941
29422005-06-14 Eric Botcazou <ebotcazou@adacore.com>
2943
2944 * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
2945
29462005-06-14 Robert Dewar <dewar@adacore.com>
2947
2948 * scng.adb: Add call to new Check_EOF routine
2949 (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
2950 Add some comments regarding wide character handling
2951
2952 * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
2953
2954 * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
2955
2956 * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
2957 characters are now considered graphic characters and hence yield false
2958 in this call.
2959
2960 * nmake.adt: Modify header so that xnmake does not generate output
2961 files with multiple blank lines.
2962
2963 * treeprs.adt: Remove a blank line so that output from xtreeprs does
2964 not have an extra blank line
2965
29662005-06-14 Gary Dismukes <dismukes@adacore.com>
2967
2968 * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
2969 expression when the component type is an anonymous access type to
2970 ensure that appropriate accessibility checks are done.
2971
2972 * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
2973 expression of an assignment when the target object is of an anonymous
2974 access type. This ensures that required accessibility checks are done.
2975 (One_Bound): Move the check for type Universal_Integer to
2976 Process_Bounds.
2977 (Process_Bounds): Check whether the type of the preanalyzed range is
2978 Universal_Integer, and in that case set Typ to Integer_Type prior
2979 to setting the type of the original range and the calls to One_Bound.
2980
29812005-06-14 Ed Schonberg <schonberg@adacore.com>
2982
2983 * sem_case.adb (Expand_Others_Choice): Improve warning.
2984
29852005-06-14 Ed Schonberg <schonberg@adacore.com>
2986
2987 * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
2988 constraint of full view if present, when other type is discriminated.
2989 (Eval_Relational_Op): Recognize tests of pointer values against Null,
2990 when the pointer is known to be non-null, and emit appropriate warning.
2991
29922005-06-14 Robert Dewar <dewar@adacore.com>
2993 Ed Schonberg <schonberg@adacore.com>
2994
2995 PR ada/10671
2996
2997 * sem_prag.adb: Implement pragma Persistent_BSS
2998 Remove obsolete pragma Persistent_Data, Persistent_Object
2999 Set Ada_Version_Explicit, for implementation of AI-362
3000 Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
3001 Add processing for pragma Pure_05 and Preelaborate_05
3002 Add processing for Assertion_Policy pragma
3003 Add pragma identifiers for Assert
3004 (Analyze_Pragma, case Assert): Check number of arguments
3005 (Process_Inline): Additional guard against an illegal program, where the
3006 argument of the pragma is undefined, and warnings on redundant
3007 constructs are enabled.
3008 (Analyze_Pragma, case Obsolescent): Allow an optional second argument
3009 Ada_05 to this pragma, specifying that the pragma is only active in
3010 Ada_05 mode.
3011 (Check_Arg_Order): New procedure
3012 Add appropriate calls to this procedure throughout
3013 Also throughout, check entity name before doing any other checks
3014
3015 * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
3016 Remove obsolete pragma Persistent_Data, Persistent_Object
3017 Add entries for pragma Pure_05 and Preelaborate_05
3018 Add entries for Assertion_Policy pragma and associated names
3019 Add some names for pragma argument processing
3020
3021 * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
3022
30232005-06-14 Ed Schonberg <schonberg@adacore.com>
3024
3025 * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
3026 appears within a negation (either from source or as a rewriting of
3027 inequality) adjust text of warning accordingly.
3028
30292005-06-14 Thomas Quinot <quinot@adacore.com>
3030
3031 * s-strxdr.adb: Follow AI95-00132
3032
30332005-06-14 Arnaud Charlet <charlet@adacore.com>
3034
3035 * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
3036
30372005-06-14 Arnaud Charlet <charlet@adacore.com>
3038 Jose Ruiz <ruiz@adacore.com>
3039
3040 * s-tposen.adb, s-tpobop.adb
3041 (Exceptional_Complete_Rendezvous): Save the occurrence and not only
3042 the exception id.
3043 (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
3044 there is no violation of the Max_Entry_Queue_Length restriction (if it
3045 has been set); Program_Error is raised otherwise.
3046 (Requeue_Call): Before requeuing the task on the target entry queue we
3047 check that there is no violation of the Max_Entry_Queue_Length
3048 restriction (if it has been set); Program_Error is raised otherwise.
3049
30502005-06-14 Robert Dewar <dewar@adacore.com>
3051
3052 * styleg.adb: Fix several remaining problems in -gnatyu switch
3053 Blank line count not reset at start
3054 Scanning outside source buffer in some cases
3055 Confusing message for blanks at end of file
3056 Non-empty blank lines not recognized
3057
3058 * nmake.adt: Modify header so that xnmake does not generate output
3059 files with multiple blank lines.
3060
3061 * treeprs.adt: Remove a blank line so that output from xtreeprs does
3062 not have an extra blank line
3063
30642005-06-14 Sergey Rybin <rybin@adacore.com>
3065
3066 * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
3067
30682005-06-14 Doug Rupp <rupp@adacore.com>
3069 Vincent Celier <celier@adacore.com>
3070
3071 * vms_conv.ads, vms_conv.adb: Remove "Library" command.
3072 Update copyright.
3073
3074 * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
3075 Remove "Library" command.
3076 Change keyword for style check -gnatyd from NOCRLF to
3077 DOS_LINE_ENDINGS.
3078 Remove useless second style check keyword NONE
3079 Remove help documentation for inexistent style check keyword
3080 RM_COLUMN_LAYOUT.
3081 Add help documentation for style check keywords DOS_LINE_ENDINGS,
3082 UNNECESSARY_BLANK_LINES and XTRA_PARENS
3083 Add UNNECESSARY_BLANK_LINES for -gnatyu
3084 Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
3085
3086 * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
3087
30882005-06-14 Vincent Celier <celier@adacore.com>
3089
3090 * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
3091 gprmake was invoked with -d.
3092 (Compile_Sources): If -d was used, output the "completed ..." message
3093 for each compilation.
3094 (Scan_Arg): Recognize new switch -d
3095 When -c and at least one main is specified, set
3096 Unique_Compile to True to guarantee that no other sources will be
3097 compiled.
3098
30992005-06-14 Matthew Heaney <heaney@adacore.com>
3100
3101 * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
3102 * a-swuwha.ads, a-swuwha.adb: New files
3103
3104 * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
3105 * a-szuzha.ads, a-szuzha.adb: New files.
3106
3107 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
da8f5fd9
AJ
3108 a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
3109 a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
3110 a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
3111 a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
0adcdb66 3112 a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
da8f5fd9 3113 a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
0adcdb66
AC
3114 a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
3115 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
3116 a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
3117 Ada 2005 RM.
3118
31192005-06-10 Eric Botcazou <ebotcazou@adacore.com>
3120 Olivier Hainque <hainque@adacore.com>
3121 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3122 Pascal Obry <obry@adacore.com>
3123
3124 * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
3125
3126 * trans.c (call_to_gnu): Issue a warning for users of Starlet when
3127 making a temporary around a procedure call because of non-addressable
3128 actual parameter.
3129 (process_freeze_entity): If entity is a private type, capture size
3130 information that may have been computed for the full view.
3131 (tree_transform, case N_Allocator): If have initializing expression,
3132 check type for Has_Constrained_Partial_View and pass that to
3133 build_allocator.
3134 (tree_transform, case N_Return_Statement): Pass extra arg to
3135 build_allocator.
3136
3137 * decl.c (annotate_value): Remove early return if -gnatR is not
3138 specified.
3139 (gnat_to_gnu_field): Don't make a packable type for a component clause
3140 if the position is byte aligned, the field is aliased, and the clause
3141 size isn't a multiple of the packable alignment. It serves no useful
3142 purpose packing-wise and would be rejected later on.
3143 (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
3144
3145 PR ada/20515
3146 (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
3147 context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
3148 instead.
3149 (create_concat_name): Idem.
3150
31512005-06-10 Robert Dewar <dewar@adacore.com>
3152 Eric Botcazou <ebotcazou@adacore.com>
3153 Ben Brosgol <brosgol@adacore.com>
3154 Cyrille Comar <comar@adacore.com>
3155 Sergey Rybin <rybin@adacore.com>
3156 Pascal Obry <obry@adacore.com>
3157
3158 * gnat_rm.texi: Add documentation for pragma Persistent_BSS
3159 Document second argument (Ada_05) of pragma Obsolescent
3160 Add note that call to subprogram marked with pragma Obsolescent
3161 is now considered to be a violation of program Restrictions
3162 (No_Obsolescent_Features).
3163 (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
3164 that only machine-dependent attributes are supported.
3165
da8f5fd9 3166 * gnat_ugn.texi:
0adcdb66
AC
3167 Commented out menu lines and empty section for gnatclean examples
3168 Document -gnatwy/Y
3169 Fix some over long lines
3170 Clarify and enhance documentation of ADA_PROJECT_PATH.
3171 Rework section 2.11.2(3) about linking with a non-GNU compiler.
3172 Mention new switch -fcallgraph-info.
3173 Mention new switch -fstack-usage.
3174 For gnatpp, replace '-notab' with '-N' and add this option to Index
3175 Corrected VMS example.
3176 VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
3177 Minor reformatting
3178 Add documentation for -gnatyu switch (unnecessary blank lines)
3179 Document new switch -U for GNAT PRETTY and GNAT METRIC
3180 Add note about Stdcall being handled as C convention on non Windows OS.
3181 Remove some junk typo in description of gnatbind -S switch
3182 Remove reference to Extensions_Allowed pragma
3183 Document the new order of the directories to be searched (source and
3184 object directories of project files before directories in ADA_*_PATH
3185 environment variables.
3186
3187 * g-trasym.ads: Document that IRIX is supported
3188
31892005-06-10 Arnaud Charlet <charlet@adacore.com>
3190
3191 * Makefile.in: Add initialize.o when needed.
3192 Adapt to new VMS package body Symbols and subunits
3193 No specialized version of a-sytaco is needed for VxWorks.
3194
3195 * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
3196 * a-zchara.ads, a-widcha.ads: New files.
3197
3198 * system-hpux-ia64.ads: New file.
3199
3200 * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
3201 is imported from the VxWorks kernel.
3202
32032005-06-14 Robert Dewar <dewar@adacore.com>
3204
3205 * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
3206 fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
3207 a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
3208 s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
3209 a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
3210 g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
3211 i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
3212 namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
3213 sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
3214 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
3215 s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
3216 xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
3217
32182005-06-14 Thomas Quinot <quinot@adacore.com>
3219
3220 * xeinfo.adb: Fix typo in comment
3221
32222005-06-14 Javier Miranda <miranda@adacore.com>
3223
3224 * repinfo.ads: Fix typo in comment
3225
32262005-06-14 Gary Dismukes <dismukes@adacore.com>
3227
3228 * s-finimp.adb (Parent_Tag): Delete this imported function (function
3229 Parent_Tag is now in the visible part of Ada.Tags).
3230 (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
3231 using imported function.
3232
32332005-06-14 Bernard Banner <banner@adacore.com>
3234
3235 * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
3236 also apply for handling support for VxSim 653.
3237
32382005-06-14 Eric Botcazou <ebotcazou@adacore.com>
3239
3240 * xsnames.adb: Add automatic generation of snames.h.
3241
32422005-06-14 Thomas Quinot <quinot@adacore.com>
3243
3244 * gen-soccon.c: Add IP_MULTICAST_IF constant
3245 Minor reformatting and adjustments to prevent warnings.
3246
32472005-06-14 Pascal Obry <obry@adacore.com>
3248
3249 * seh_init.c: Do not include <sys/stat.h>. This is not needed.
3250
e0d161cf
AP
32512005-06-03 Andrew Pinski <pinskia@physics.uc.edu>
3252
3253 * trans.c (gnat_gimplify_expr): Call
3254 recompute_tree_invarant_for_addr_expr when we change
3255 the operand of the ADDR_EXPR.
3256
4c714dd4
KG
32572005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3258
3259 * misc.c: Don't include errors.h.
3260
7b9997f3
KG
32612005-05-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3262
3263 * raise.c (db): Add ATTRIBUTE_PRINTF_2.
3264
5ff62c2e
KH
32652005-05-29 Kazu Hirata <kazu@cs.umass.edu>
3266
3267 * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
3268 comment typos.
3269 * gnat_rm.texi, gnat_ugn.texi: Fix typos.
3270
8b37cc64
NN
32712005-05-16 Nathanael Nerode <neroden@gcc.gnu.org>
3272
3273 PR ada/20270
3274 * Makefile.in: Make TGT_LIB behave correctly.
3275
d4ee4d25
DD
32762005-04-23 DJ Delorie <dj@redhat.com>
3277
3278 * misc.c: Adjust warning() callers.
3279
159921c0
LG
32802005-04-16 Laurent GUERBY <laurent@guerby.net>
3281
3282 PR ada/18847
3283 * a-nudira.adb (Value): Check for valid string.
3284 * a-nuflra.adb (Value): Likewise.
3285
0b026622
RS
32862005-04-11 Richard Sandiford <rsandifo@redhat.com>
3287
3288 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
3289
bde83138
KH
32902005-04-10 Kazu Hirata <kazu@cs.umass.edu>
3291
3292 * adaint.c, init.c, tracebak.c: Fix comment typos.
3293 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
3294
ad9945b5
LG
32952005-04-07 Laurent GUERBY <laurent@guerby.net>
3296 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3297
3298 * Makefile.in: Add make ifeq define for hppa linux tasking support.
3299 * system-hpux.ads: Define Signed_Zeros to be True.
3300 * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
3301
45f7cb60
KH
33022005-04-01 Kazu Hirata <kazu@cs.umass.edu>
3303
3304 * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
3305 raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
3306 typos.
3307
5662a50d
TT
33082005-03-30 Tom Tromey <tromey@redhat.com>
3309
3310 * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
3311
e6e375cc
AL
33122005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
3313
3314 * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
3315
5db8bc34
AC
33162005-03-29 Robert Dewar <dewar@adacore.com>
3317
3318 * sem_res.adb (Resolve_Real_Literal): Generate warning if static
3319 fixed-point expression has value that is not a multiple of the Small
3320 value.
3321
3322 * opt.ads (Warn_On_Bad_Fixed_Value): New flag
3323
3324 * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
3325 nanoseconds.
3326
3327 * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
3328
33292005-03-29 Vincent Celier <celier@adacore.com>
3330
3331 * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
3332 (Build_Dynamic_Library.Version_String): Return the empty string when
3333 Lib_Version is empty or when the symbol policy is not Autonomous.
3334
3335 * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
3336 a symbol is not in the reference symbol file, increase the Major ID
3337 and set the Minor ID to 0.
3338 Use gsmatch=lequal instead of gsmatch=equal
3339
33402005-03-29 Doug Rupp <rupp@adacore.com>
3341
3342 * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
3343 name and translate.
3344
33452005-03-29 Javier Miranda <miranda@adacore.com>
3346
3347 * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
3348 (Inherit_DT): The first formal has been redefined as a Tag.
3349 This allows us the removal of the subprogram Get_TSD.
3350 (TSD): Replace the call to Get_TSD by the actual code.
3351
3352 * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
3353 (Make_DT): Upgrade the call to Inherit_TSD according to the
3354 new interface: the first formal is now a Tag.
3355
3356 * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
3357 redefined as a Tag.
3358 This change allows us to remove the subprogram Get_TSD.
3359 (CPP_Get_TSD): Subprogram removed.
3360 (TSD): Replace the call to CPP_Get_TSD by the actual code.
3361
3362 * rtsfind.ads: Remove support to call the run-time
3363 subprogram Get_TSD
3364
33652005-03-29 Robert Dewar <dewar@adacore.com>
3366
da8f5fd9 3367 * errutil.adb, errout.adb:
5db8bc34
AC
3368 Minor comment updates on Line_Terminator references
3369
3370 * par-ch10.adb: Add ??? comment about line terminator
3371
3372 * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
3373 (check dos line terminator).
3374 (Check_Line_Max_Length): New procedure, split off from the existing
3375 Check_Line_Terminator routine. Separating this out allows -gnatyf to
3376 be properly recognized.
3377
3378 * styleg.adb: Add ??? comment for line terminator reference
3379
3380 * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
3381 (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
3382
3383 * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
3384 (check dos line terminator).
3385 (Check_Line_Max_Length): New procedure, split off from the existing
3386 Check_Line_Terminator routine. Separating this out allows -gnatyf to
3387 be properly recognized.
3388
da8f5fd9 3389 * stylesw.ads, stylesw.adb:
5db8bc34
AC
3390 Add handling for new -gnatyd switch (check dos line terminator)
3391
3392 * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
3393 Recognize -gnatwb/-gnatwB switches
3394 Include Warn_On_Bad_Fixed_Value for -gnatg
3395
da8f5fd9 3396 * usage.adb:
5db8bc34
AC
3397 Add line for new -gnatyd switch (check dos line terminator)
3398
3399 * usage.adb: Add lines for -gnatwb/-gnatwB
3400
3401 * vms_data.ads: Add entry for NOCRLF (-gnatyd)
3402
3403 * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
3404
3405 * gnat_ugn.texi: Fix overlong lines
3406 Document new -gnatyd switch
3407 Document new -gnatwb/-gnatwB switches
3408
34092005-03-29 Ed Schonberg <schonberg@adacore.com>
3410
3411 * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
3412 order to retrieve the component list of the type, before examining
3413 individual components.
3414
3415 * sem_type.adb (Covers): Types are compatible if one is the base type
3416 of the other, even though their base types might differ when private
3417 views are involved.
3418
34192005-03-29 Thomas Quinot <quinot@adacore.com>
3420
3421 * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
3422 To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
3423 of using Set_Renaming_TSS. This ensures that the TSS bodies are not
3424 analyzed if expansion is disabled (which could otherwise cause spurious
3425 error messages if expansion has been disabled due to previous
3426 (unrelated) errors).
3427
3428 * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
3429 is disabled, the entity denoted by the argument is the access type
3430 itself, not an underlying record type, so there is no need to go back
3431 to the Corresponding_Remote_Type.
3432
34332005-03-29 Gary Dismukes <dismukes@adacore.com>
3434 Robert Dewar <dewar@adacore.com>
3435
3436 * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
3437 expand a call to an instance of
3438 Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
3439 Constructor actual of the instance. A class-wide membership
3440 check is also generated, to ensure that the tag passed to the instance
3441 denotes a type in the class.
3442 (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
3443 of Name_Generic_Dispatching_Constructor.
3444
3445 * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
3446 05 unit for AI-260-02).
3447
3448 * a-tgdico.ads: New file.
3449
3450 * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
3451 predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
3452
3453 * snames.ads, snames.adb (Preset_Names): Add entry for
3454 Generic_Dispatching_Constructor.
3455
3456 PR ada/20300
3457
3458 * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
3459 character type cases.
3460 (Analyze_Subprogram_Renaming): Add special handling for
3461 the case of renaming of stream attributes when the renaming denotes a
3462 generic formal subprogram association for an abstract formal subprogram.
3463 Check that the attribute is a primitive stream attribute (and not
3464 a class-wide stream attribute) and then rewrite the attribute name
3465 as the name of the appropriate compiler-generated stream primitive.
3466
34672005-03-29 Robert Dewar <dewar@adacore.com>
3468
3469 * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
3470 recursive calls.
3471 (Is_Possibly_Unaligned_Object): Correct typo that
3472 resulted in inaccurate result for unaligned scalars within records.
3473
34742005-03-29 Ed Schonberg <schonberg@adacore.com>
3475
3476 * freeze.adb (Freeze_Record_Type): If the type of the component is an
3477 itype whose parent is controlled and not yet frozen, do not create a
3478 freeze node for the itype if expansion is disabled.
3479
34802005-03-29 Vincent Celier <celier@adacore.com>
3481
3482 * make.adb (Gnatmake): Don't fail if the main project file is declared
3483 as having no Ada sources. Do not display message "no sources to
3484 compile" in quiet output.
3485
34862005-03-29 Doug Rupp <rupp@adacore.com>
3487
3488 * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
3489 extra tools.
3490
34912005-03-29 Robert Dewar <dewar@adacore.com>
3492
3493 * par-ch12.adb (P_Generic): Give better msg for illegal private generic
3494 child.
3495
34962005-03-29 Robert Dewar <dewar@adacore.com>
3497
3498 * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
3499 missing TYPE Improve the error message generated when compiling a
3500 limited interface in Ada83 or Ada95 mode.
3501
35022005-03-29 Robert Dewar <dewar@adacore.com>
3503
3504 * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
3505 rather than proceed ahead using a junk attribute name.
3506
35072005-03-29 Vincent Celier <celier@adacore.com>
3508
3509 * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
3510
3511 * prj-part.adb (Parse_Single_Project): Set the location of a project
3512 on its defining identifier, rather than on the reserved word "project".
3513
3514 * prj-proc.adb (Expression): Adapt to the fact that default of external
3515 references may be string expressions, not always literal strings.
3516 (Recursive_Process): Set Display_Name equal to Name
3517 when Location is No_Location, that is when there is no actual file.
3518 Get the Display_Name of the project from the source, when it is not a
3519 virtual project.
3520 (Process): Use the Display_Name in error messages
3521
3522 * prj-strt.adb (External_Reference): Allow default to be string
3523 expressions, not only literal strings.
3524
35252005-03-29 Vincent Celier <celier@adacore.com>
3526
3527 * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
3528 file and the reference symbol file to be the same file.
3529
35302005-03-29 Thomas Quinot <quinot@adacore.com>
3531
3532 * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
3533 forbid conversion of a local access-to-subprogram type to a remote one.
3534
3535 * sem_util.adb (Wrong_Type): For a record type that is the expanded
3536 equivalent type for a remote access-to-subprogram type, go back to the
3537 original RAS entity when displaying an error message, so the casing is
3538 the original source casing.
3539
35402005-03-29 Robert Dewar <dewar@adacore.com>
3541
3542 * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
3543 on param update.
3544
35452005-03-29 Ed Schonberg <schonberg@adacore.com>
3546
3547 * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
3548 subtype if code is being pre-analyzed, to prevent un-expanded
3549 references to protected formals, among others.
3550 (Analyze_Explicit_Dereference): If the overloaded prefix includes some
3551 interpretation that can be a call, include the result of the call as a
3552 possible interpretation of the dereference.
3553
3554 * sem_ch5.adb (Process_Bounds): Determine type of range by
3555 pre-analyzing a copy of the original range, and then analyze the range
3556 with the expected type.
3557
3558 * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
3559 with an overloaded prefix where not all interpretations yield an
3560 access to subprogram, do not rewrite node as a call.
3561 (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
3562 the node as a call once the context identifies the interpretation of
3563 the prefix whose call yields the context type.
3564 (Valid_Conversion): For the case of a conversion between
3565 local access-to-subprogram types, check subtype conformance using
3566 Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
3567 detailed error message.
3568
35692005-03-29 Ed Schonberg <schonberg@adacore.com>
3570
3571 * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
3572 indicator, indicate that the formal can never be null.
3573 (Process_Formals): If a formal has a non_null indicator, insert the
3574 resulting subtype immediately before the enclosing subprogram decl,
3575 and not at the beginning of the corresponding declarative part, to
3576 prevent access before elaboration (Ada2005).
3577
35782005-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3579
3580 PR ada/19956
3581 * utils.c (finish_record_type): Use variable_size when setting sizes.
3582
35832005-03-29 Robert Dewar <dewar@adacore.com>
3584
3585 * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
3586 guarantee Unix style line terminators for the output files, even when
3587 running on windows.
3588
35892005-03-29 Robert Dewar <dewar@adacore.com>
3590
3591 * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
3592 buffer if an exception is raised.
3593
35942005-03-29 Ed Falis <falis@adacore.com>
3595
3596 * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
3597 VxWorks 653 1.4
3598
35992005-03-29 Robert Dewar <dewar@adacore.com>
3600
3601 * sem_util.ads: Minor reformatting
3602 * gnat_rm.texi: Minor editing.
3603
36042005-03-29 Eric Botcazou <ebotcazou@adacore.com>
3605
3606 * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
3607 * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
3608
aad9ff31
AL
36092005-03-24 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
3610
3611 * adaint.c (__gnat_portable_spawn): Adjust cast.
3612
d101034c
JM
36132005-03-23 Joseph S. Myers <joseph@codesourcery.com>
3614
3615 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
3616
3a0c4f5a
AC
36172005-03-17 Pascal Obry <obry@adacore.com>
3618
3619 * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
3620 used.
3621
3622 * expect.c (__gnat_waitpid): Moved here from adaint.c.
3623 Reimplement under Win32 using Win32 API.
3624
3625 (__gnat_kill) [Win32]: Properly close the process handle before leaving
3626 this routine.
3627
36282005-03-17 Eric Botcazou <ebotcazou@adacore.com>
3629
3630 * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
3631 (DECL_RENAMED_OBJECT): New accessor macro.
3632 (SET_DECL_RENAMED_OBJECT): New setter macro.
3633
3634 * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
3635 object in all cases. Attach the renamed object to the VAR_DECL.
3636 (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
3637 field is not prescribed.
3638
3639 * misc.c (gnat_handle_option): Handle -gnatO separately.
3640 (gnat_print_decl) <VAR_DECL>: New case.
3641 Print the DECL_RENAMED_OBJECT node.
3642
3643 * lang.opt: Declare separate -gnatO option.
3644
3645 * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
3646 pointer, replace it with the renamed object.
3647 <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
3648 pointer type if the source is not a fat pointer type whose underlying
3649 array has the same non-zero alias set as that of the destination array.
3650
36512005-03-17 Javier Miranda <miranda@adacore.com>
3652
3653 * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
3654 (Get_Inheritance_Depth): Removed.
3655 (Set_Inheritance_Depth): Removed.
3656
3657 * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
3658 subprogram Get_Expanded_Name because it is not referenced by the
3659 frontend.
3660
3661 * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
3662 (CPP_Get_Inheritance_Depth): Removed.
3663 (CPP_Set_Inheritance_Depth): Removed.
3664
3665 * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
3666
36672005-03-17 Robert Dewar <dewar@adacore.com>
3668
3669 * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
3670 3, since we now expect GCC 3 to do all the work.
3671
36722005-03-17 Javier Miranda <miranda@adacore.com>
3673
3674 * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
3675 of one barrier to avoid wrong usage of this attribute.
3676
3677 * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
3678 First_Private_Entity.
3679
3680 * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
3681 the subprogram against wrong usage.
3682 Adapt the code to traverse the entities in the
3683 scope of a record_type because in addition to its usage regarding
3684 packages, this subprogram is also called by Expand_N_Freeze_Entity
3685 to install the visible declarations of the enclosing scope of a
3686 record_type_with_private to establish the proper visibility before
3687 freezing the entity and related subprograms.
3688
36892005-03-17 Ed Schonberg <schonberg@adacore.com>
3690
3691 * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
3692 entry formals.
3693
36942005-03-17 Thomas Quinot <quinot@adacore.com>
3695
3696 * exp_ch3.adb (Check_Attr): New subprogram.
3697 (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
3698 into a new Check_Attr subprogram, in order to provide a more
3699 explanatory error message (including the name of the missing attribute).
3700 (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
3701 subprogram determines whether a default implementation exists for a
3702 given stream attribute.
3703 (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
3704 Determine whether to generate a default implementation for each stream
3705 attribute separately, as this depends on the specific attribute.
3706
3707 * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
3708 limited extension where a stream attribute is missing for a limited
3709 component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
3710 generate a bogus reference to the missing attribute to prevent
3711 cascaded errors. Instead, generate a null statement.
3712
3713 * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
3714 available for a limited type if it has been specified for an ancestor
3715 of the type.
3716
37172005-03-17 Ed Schonberg <schonberg@adacore.com>
3718
3719 * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
3720 entity is an operator.
3721
37222005-03-17 Thomas Quinot <quinot@adacore.com>
3723
3724 * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
3725 spec, to make this predicate available to other units.
3726
3727 * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
3728 reimplementing it.
3729
3730 * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
3731 when no distribution runtime library is available.
3732
3733 * sem_res.adb, sem_dist.adb: Disable expansion of remote
3734 access-to-subprogram types when no distribution runtime library is
3735 available.
3736 (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
3737 predicate available to other units.
3738
3739 * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
3740 spec, to make this predicate available to other units.
3741
37422005-03-17 Vincent Celier <celier@adacore.com>
3743
3744 * make.adb (Insert_Project_Sources): Make sure the Q is always
3745 initialized.
3746
3747 * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
3748 the default for the tree, not the global default naming.
3749
3750 * prj-proc.adb (Recursive_Process): No need to put the default naming
3751 in the project data, it's already there.
3752
37532005-03-17 Doug Rupp <rupp@adacore.com>
3754
3755 * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
3756
3757 * 5xcrtl.ads: Renamed to...
3758 * s-crtl-vms64.ads: ...this new file
3759
37602005-03-17 Robert Dewar <dewar@adacore.com>
3761
3762 PR ada/19519
3763
3764 * namet.adb (Copy_One_Character): Set proper wide character encoding
3765 for upper half character if we have upper half encoding.
3766
37672005-03-17 Robert Dewar <dewar@adacore.com>
3768
3769 * par.adb (Par): Improved msg for attempt to recompile predefined unit
3770
37712005-03-17 Thomas Quinot <quinot@adacore.com>
3772
3773 * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
3774 tagged limited type, the TSS is a newly built renaming declaration:
3775 insert it using Set_TSS, not Copy_TSS.
3776
37772005-03-17 Javier Miranda <miranda@adacore.com>
3778
3779 * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
3780 Try_Object_Operation): Analyze the object that is accessible
3781 through the prefix of the subprogram call before we apply
3782 the transformation of the object-operation notation.
3783
37842005-03-17 Jose Ruiz <ruiz@adacore.com>
3785
3786 * s-taprob.adb (Initialize_Protection): Initialize the protected
3787 object's owner to Null_Task.
3788 (Lock): If pragma Detect_Blocking is in effect and the caller of this
3789 procedure is already the protected object's owner then Program_Error
3790 is raised. In addition the protected object's owner is updated.
3791 (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
3792 of this procedure is already the protected object's owner then
3793 Program_Error is raised.
3794 In addition the protected object's owner is updated.
3795 (Unlock): Remove the ownership of the protected object.
3796
3797 * s-taprob.ads (Protection): Add the field Owner, used to store the
3798 protected object's owner.
3799 This component is needed for detecting one type of potentially blocking
3800 operations (external calls on a protected subprogram with the same
3801 target object as that of the protected action). Document the rest of
3802 the components.
3803
3804 * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
3805 Initialize the protected object's owner to Null_Task.
3806 (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
3807 caller of this procedure is already the protected object's owner then
3808 Program_Error is raised.
3809 Do not raise Program_Error when this procedure is called from a
3810 protected action.
3811 (Unlock_Entries): Remove the ownership of the protected object.
3812 (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
3813 of this procedure is already the protected object's owner then
3814 Program_Error is raised.
3815 Do not raise Program_Error when this procedure is called from
3816 a protected action.
3817
3818 * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
3819 used to store the protected object's owner.
3820
3821 * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
3822 effect and this procedure (a potentially blocking operation) is called
3823 from whithin a protected action, Program_Error is raised.
3824 (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
3825 and this procedure (a potentially blocking operation) is called from
3826 whithin a protected action, Program_Error is raised.
3827
38282005-03-17 Vincent Celier <celier@adacore.com>
3829 Nicolas Setton <setton@adacore.com>
3830
3831 * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
3832 switch, not supported by the linker on Darwin. Add '_' before
3833 <library>init, as this character is added unconditionally by the
3834 compiler.
3835 (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
3836 correct one ".dylib". This fixes detection of the archive files when
3837 building library projects.
3838
38392005-03-17 Vincent Celier <celier@adacore.com>
3840
3841 * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
3842 -gnat83, -gnat95 and -gnat05.
3843
38442005-03-17 Vasiliy Fofanov <fofanov@adacore.com>
3845
3846 * gnat_ugn.texi: Document gnatmem restriction
3847
38482005-03-17 Thomas Quinot <quinot@adacore.com>
3849
3850 * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
3851 cleanup
3852
38532005-03-17 Robert Dewar <dewar@adacore.com>
3854
3855 * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
3856 a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
3857 s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
3858
3859 * casing.adb: Comment improvements
3860
38612005-03-17 Pascal Obry <obry@adacore.com>
3862
3863 * g-expect.adb: Minor reformatting.
3864
a1286ef5
ZW
38652005-03-15 Zack Weinberg <zack@codesourcery.com>
3866
3867 * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
3868 (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
3869 to dependencies.
3870
2532808d
VC
38712005-03-15 Vincent Celier <celier@adacore.com>
3872
a1286ef5
ZW
3873 * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
3874 Add new parameter In_Tree to specify the project tree: needed
3875 by the project manager. Adapt to changes in project manager
3876 using new parameter In_Tree.
2532808d 3877
e2d6b9b9
JJ
38782005-03-15 Jakub Jelinek <jakub@redhat.com>
3879
3880 * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
3881 ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
3882 ada/bldtools to avoid make -jN failures.
3883
813edff1
EB
38842005-03-15 Eric Botcazou <ebotcazou@adacore.com>
3885
3886 * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
3887 to NULL_TREE on entry.
3888
4f51c6e7
AC
38892005-03-15 Robert Dewar <dewar@adacore.com>
3890
3891 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
3892 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
3893 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
3894 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
3895 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
3896 system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
3897 system-interix.ads, system-solaris-sparc.ads,
3898 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
3899 system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
3900 system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
3901 system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
3902 system-linux-s390.ads, system-linux-s390x.ads: Add line defining
3903 Compiler_System_Version to be False.
3904
3905 * opt.ads: Add new flag Opt.Address_Is_Private
3906
3907 * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
3908 Add new parameter Compiler_System_Version to avoid checking for
3909 completeness of parameters when compiler is compiling itself.
3910 Allows old versions of GNAT to be compiled with new compiler.
3911
39122005-03-15 Eric Botcazou <ebotcazou@adacore.com>
3913
3914 * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
3915 (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
3916 calling thread.
3917 (Stack_Base_Available): New flag.
3918 (Get_Page_Size): New overloaded functions imported from C.
3919 (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
3920 PROT_ON, PROT_OFF): New constants.
3921 (mprotect): New function imported from C.
3922 (pthread_teb_t): New record type.
3923
3924 * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
3925 (Create_Task): Account for the Yellow Zone and the guard page.
3926
39272005-03-15 Vincent Celier <celier@adacore.com>
3928
3929 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
3930 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
3931 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
3932 mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
3933 Library_File_Name_For): Add new parameter In_Tree
3934 to specify the project tree: needed by the project manager.
3935 Adapt to changes in project manager using new parameter In_Tree.
3936 Remove local imports, use functions in System.CRTL.
3937
3938 * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
3939 to use the project manager.
3940
3941 * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
3942 In_Tree to designate the project tree. Adapt to changes in the project
3943 manager, using In_Tree.
3944
3945 * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
3946 Copy_Interface_Sources): Add new parameter In_Tree to specify the
3947 project tree: needed by the project manager.
3948 (Build_Library): Check that Arg'Length >= 6 before checking if it
3949 contains "--RTS=...".
3950
3951 * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
3952 Library_File_Name_For): Add new parameter In_Tree to specify the
3953 project tree: needed by the project manager.
3954
3955 * prj.ads, prj.adb: Major modifications to allow several project trees
3956 in memory at the same time.
3957 Change tables to dynamic tables and hash tables to dynamic hash
3958 tables. Move tables and hash tables from Prj.Com (in the visible part)
3959 and Prj.Env (in the private part). Move some constants from the visible
3960 part to the private part. Make other constants deferred.
3961 (Project_Empty): Make it a variable, not a function
3962 (Empty_Project): Add parameter Tree. Returns the data with the default
3963 naming data of the project tree Tree.
3964 (Initialize): After updating Std_Naming_Data, copy its value to the
3965 component Naming of Project Empty.
3966 (Register_Default_Naming_Scheme): Use and update the default naming
3967 component of the project tree, instead of the global variable
3968 Std_Naming_Data.
3969 (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
3970 Tree is not defaulted, return the default naming data of the Tree.
3971 (Initial_Buffer_Size): Constant moved from private part
3972 (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
3973 variables initialized in procedure Initialize.
3974 (Add_To_Buffer): Add two in out parameters to replace global variables
3975 Buffer and Buffer_Last.
3976 (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
3977 functions.
3978 Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
3979 hash tables.
3980 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
3981 for the project tree.
3982 (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
3983 constant at the beginning of the package spec, so that they cane be used
3984 in subprograms before their full declarations.
3985 (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
3986 (Empty_Project): Add parameter of type Project_Node_Ref
3987 (Private_Project_Tree_Data): Add component Default_Naming of type
3988 Naming_Data.
3989 (Buffer, Buffer_Last): remove global variables
3990 (Add_To_Buffer): Add two in out parameters to replace global variables
3991 Buffer and Buffer_Last.
3992 (Current_Packages_To_Check): Remove global variable
3993 (Empty_Name): Move to private part
3994 (No-Symbols): Make it a constant
3995 (Private_Project_Tree_Data): New type for the private part of the
3996 project tree data.
3997 (Project_Tree_Data): New type for the data of a project tree
3998 (Project_Tree_Ref): New type to designate a project tree
3999 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
4000 for the project tree.
4001
4002 * prj-attr.ads: Add with Table; needed, as package Prj no longer
4003 imports package Table.
4004
4005 * prj-com.adb: Remove empty, no longer needed body
4006
4007 * prj-com.ads: Move most of the content of this package to package Prj.
4008
4009 * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
4010 designate the project node tree and Packages_To_Check to replace
4011 global variable Current_Packages_To_Check.
4012 Add new parameters In_Tree and Packages_To_Check to local subprograms,
4013 when needed. Adapt to changes in project manager with project node tree
4014 In_Tree.
4015
4016 * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
4017 project tree to most subprograms. Move tables and hash tables to
4018 private part of package Prj.
4019 Adapt to changes in project manager using project tree In_Tree.
4020
4021 * prj-makr.adb (Tree): New constant to designate the project node tree
4022 Adapt to change in project manager using project node tree Tree
4023
4024 * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
4025 display the Library_Src_Dir and the Library_Dir.
4026 Add new parameter In_Tree to designate the project node tree to most
4027 subprograms. Adapt to changes in the project manager, using project tree
4028 In_Tree.
4029 (Check_Naming_Scheme): Do not alter the casing on platforms where
4030 the casing of file names is not significant.
4031 (Check): Add new parameter In_Tree to designate the
4032
4033 * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
4034 designate the project tree.
4035 Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
4036
4037 * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
4038 to replace those that were in the private part of package Prj.
4039 Add new parameter In__Tree to designate the project node tree to most
4040 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
4041 (Post_Parse_Context_Clause): When specifying the project node of a with
4042 clause, indicate that it is a limited with only if there is "limited"
4043 in the with clause, not necessarily when In_Limited is True.
4044 (Parse): Add new parameter In_Tree to designate the project node tree
4045
4046 * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
4047 designate the project node tree. Adapt to change in Prj.Tree with
4048 project node tree In_Tree.
4049
4050 * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
4051 tree In_Tree in the call to function Empty_Process to give its initial
4052 value to the project data Processed_Data.
4053 Add new parameters In_Tree to designate the project tree and
4054 From_Project_Node_Tree to designate the project node tree to several
4055 subprograms. Adapt to change in project manager with project tree
4056 In_Tree and project node tree From_Project_Node_Tree.
4057
4058 * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
4059 to replace those that were in the private part of package Prj.
4060 Add new parameter In_Tree to designate the project node tree to most
4061 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
4062
4063 * prj-tree.ads, prj-tree.adb: Add new parameter of type
4064 Project_Node_Tree_Ref to most subprograms.
4065 Use this new parameter to store project nodes in the designated project
4066 node tree.
4067 (Project_Node_Tree_Ref): New type to designate a project node tree
4068 (Tree_Private_Part): Change table to dynamic table and hash tables to
4069 dynamic hash tables.
4070
4071 * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
4072 the project tree to most subprograms. Adapt to changes in project
4073 manager using project tree In_Tree.
4074
4075 * makegpr.adb (Project_Tree): New constant needed to use project
4076 manager.
4077
40782005-03-15 Olivier Hainque <hainque@adacore.com>
4079
4080 * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
4081 for sigactions with SA_SIGINFO set. Call
4082 __gnat_adjust_context_for_raise before raising, to perform the
4083 potentially required adjustments to the machine context for the GCC
4084 unwinder.
4085
4086 * raise.h (__gnat_adjust_context_for_raise): New prototype.
4087
4088 * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
4089 Adjust PC by one in the provided machine context.
4090 (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
4091 so that the handler is passed the context structure to adjust prior to
4092 the raise.
4093 (__gnat_error_handler) HPUX: Adjust the signature to match what an
4094 SA_SIGINFO sigaction should look like. Call
4095 __gnat_adjust_context_for_raise before actually raising.
4096 (__gnat_adjust_context_for_raise): Default noop to help PC
4097 adjustments before raise from signal handlers.
4098 (__gnat_error_handler): Indirectly call a predicate function to
4099 determine if a condition should be resignaled or not.
4100 (__gnat_set_resignal_predicate): User interface to modify the predicate.
4101 (__gnat_default_resignal_p): Default GNAT predicate.
4102
41032005-03-15 Doug Rupp <rupp@adacore.com>
4104
4105 * adaint.c: Prefix #include of VMS system header files with vms/
4106 [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
4107 Do not define a dummy function "convert_addresses" under Darwin,
4108 not needed.
4109
4110 * tb-alvms.c, expect.c: Prefix #include of VMS system header files
4111 with vms/
4112
41132005-03-15 Nicolas Setton <setton@adacore.com>
4114
4115 * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
4116 PPC/AIX.
4117
41182005-03-15 Robert Dewar <dewar@adacore.com>
4119
4120 * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
4121 AI-386.
4122
4123 * a-retide.ads: Minor comment changes
4124
41252005-03-15 Robert Dewar <dewar@adacore.com>
4126
4127 * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
4128 a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
4129 Realloc_For_Chunk to private part of package.
4130 New subprograms for AI-301
4131
4132 * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
4133 Get_Line procedure.
4134 Avoid unnecessary use of Get/Set_Wide_String
4135
41362005-03-15 Robert Dewar <dewar@adacore.com>
4137
4138 PR ada/13470
4139
a1286ef5 4140 * a-stunau.ads, a-stunau.adb:
4f51c6e7
AC
4141 Change interface to allow efficient (and correct) implementation
4142 The previous changes to allow extra space in unbounded strings had
4143 left this interface a bit broken.
4144
4145 * a-suteio.adb: Avoid unnecessary use of Get/Set_String
4146
4147 * g-spipat.ads, g-spipat.adb: New interface for Get_String
4148 Minor reformatting (function specs)
4149
4150 * g-spitbo.adb: New interface for Get_String
4151
4152 * g-spitbo.ads: Minor reformatting
4153
4154 * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
4155
4156 * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
4157
41582005-03-15 Javier Miranda <miranda@adacore.com>
4159 Robert Dewar <dewar@adacore.com>
4160 Thomas Quinot <quinot@adacore.com>
4161 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4162
4163 * atree.ads, atree.adb: Add support for Elist24 field
4164
4165 * atree.h: Fix wrong definition of Field27
4166 Add support for Elist16 field
4167 Add support for Elist24 field
4168
4169 * einfo.ads, einfo.adb (Abstract_Interfaces,
4170 Set_Abstract_Interfaces): New subprograms.
4171 (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
4172 subprograms.
4173 (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
4174 entities rather than a single node.
4175 (Is_Interface, Set_Is_Interface): New subprogram
4176 (First_Tag_Component): New syntesized attribute
4177 (Next_Tag_Component): New synthesized attribute
4178 (Write_Entity_Flags): Upgraded to write Is_Interface
4179 (Write_Field24_Name): Upgraded to write Abstract_Interfaces
4180 (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
4181 (Task_Body_Procedure): New subprogram to read this attribute.
4182 (Set_Task_Body_Procedure): New subprogram to set this attribute.
4183 (Has_Controlled_Component): Now applies to all entities.
4184 This is only a documentation change, since it always worked to apply
4185 this to other than composite types (yielding false), but now this is
4186 official.
4187 Update documentation on Must_Be_Byte_Aligned for new spec
4188
4189 * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
4190 exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
4191 uses of the Access_Disp_Table attribute to reference the first dispatch
4192 table associated with a tagged type. As
4193 part of the implementation of abstract interface types,
4194 Access_Disp_Table has been redefined to contain a list of dispatch
4195 tables (rather than a single dispatch table).
4196 Similarly, upgrade all the references to Tag_Component by the
4197 new attribute First_Tag_Component.
4198 (Find_Inherited_TSS): Moved to exp_tss.
4199 Clean up test in Expand_N_Object_Declaration for cases
4200 where we need to do a separate assignment of the initial value.
4201 (Expand_N_Object_Declaration): If the expression in the
4202 declaration of a tagged type is an aggregate, no need to generate an
4203 additional tag assignment.
4204 (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
4205 is to be deleted.
4206 Bit packed array ops are only called if operands are known to be
4207 aligned.
4208 (Component_Equality): When returning an N_Raise_Program_Error statement,
4209 ensure that its Etype is set to Empty to avoid confusing GIGI (which
4210 expects that only expressions have a bona fide type).
4211 (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
4212 determine the amount of data to be copied.
4213
4214 * par.adb (P_Interface_Type_Definition): New subprogram that parses the
4215 new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
4216 INTERFACE_TYPE_DEFINITION ::=
4217 [limited | task | protected | synchronized] interface
a1286ef5 4218 [AND interface_list]
4f51c6e7
AC
4219
4220 * par-ch3.adb (P_Type_Declaration): Modified to give support to
4221 interfaces.
4222 (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
4223 interfaces.
4224 (P_Interface_Type_Definition): New subprogram that parses the new
4225 syntax rule of Ada 2005 interfaces
4226 (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
4227 messages by the correct RENAMES (quotes removed).
4228
4229 * sem_prag.adb: Upgrade all the references to Tag_Component by the new
4230 attribute First_Tag_Component.
4231
4232 * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
4233 (Interface_List, Set_Interface_List): New subprograms.
4234 (Interface_Present, Set_Interface_Present): New subprograms.
4235 (Limited_Present, Set_Limited_Present): Available also in derived
4236 type definition nodes.
4237 (Protected_Present, Set_Protected_Present): Available also in
4238 record type definition and
4239 derived type definition nodes.
4240 (Synchronized_Present, Set_Synchronized_Present): New subprograms.
4241 (Task_Present, Set_Task_Present): New subprogram.
4242 (Task_Body_Procedure): Removed.
4243 (Set_Task_Body_Procedure): Removed.
4244 These subprogram have been removed because the attribute
4245 Task_Body_Procedure has been moved to the corresponding task type
4246 or task subtype entity to leave a field free to store the list
4247 of interfaces implemented by a task (for AI-345)
4248 Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
4249 (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
4250 expression flag Do_Range_Check
4251 (Exception_Junk): Change to Flag7 to accomodate above change
4252 (Box_Present, Default_Name, Specification, Set_Box_Present,
4253 Set_Default_Name, Set_Specification): Expand the expression
4254 "X in N_Formal_Subprogram_Declaration" into the corresponding
4255 two comparisons. Required to use the csinfo tool.
4256
4257 * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
4258 "with string" given.
4259
a1286ef5
ZW
4260 * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
4261 expression given.
4f51c6e7
AC
4262
4263 * par-ch11.adb (P_Raise_Statement): Recognize with string expression
4264 in 2005 mode
4265
4266 * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
4267 attribute Task_Body_Procedure rather than the old semantic field that
4268 was available in the task_type_declaration node.
4269
4270 * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
4271 interface type definitions.
4272 (P_Formal_Derived_Type_Definition): Modified to handle the list of
4273 interfaces.
4274
4275 * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
4276 task type declaration.
4277 (P_Protected): Modified to handle the list of interfaces in a
4278 protected type declaration.
4279
42802005-03-15 Doug Rupp <rupp@adacore.com>
4281 Vincent Celier <celier@adacore.com>
4282
4283 * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
4284 (Gen_Output_File_C): Likewise.
4285 (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
4286
42872005-03-15 Thomas Quinot <quinot@adacore.com>
4288
4289 * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
4290 is an N_Raise_Constraint_Error node, create a new copy of it without
4291 going through a call to Duplicate_Subexpr.
4292
42932005-03-15 Eric Botcazou <ebotcazou@adacore.com>
4294 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4295 Nicolas Setton <setton@adacore.com>
4296 Ed Schonberg <schonberg@adacore.com>
4297
4298 PR ada/19900
4299 PR ada/19408
4300 PR ada/19140
4301 PR ada/20255
4302
4303 * decl.c (gnat_to_gnu_field): Reject aliased components with a
4304 representation clause that prescribes a size not equal to the rounded
4305 size of their types.
4306 (gnat_to_gnu_entity, case E_Component): Always look at
4307 Original_Record_Component if Present and not the entity.
4308 (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
4309 of tagged extension types by not making field for components that are
4310 inside the parent.
4311 (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
4312 (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
4313 expression to the type of the object when the object is constant.
4314 Reverse defer_debug_incomplete_list before traversing it, so that trees
4315 are processed in the order at which they were added to the list. This
4316 order is important when using the stabs debug format.
4317 If we are deferring the output of debug information, also defer this
4318 output for a function return type.
4319 When adding fields to a record, prevent emitting debug information
4320 for incomplete records, emit the information only when the record is
4321 complete.
4322 (components_to_record): New parameter defer_debug.
4323 (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
4324 (gnat_to_gnu_field_decl): New function.
4325 (substitution_list, annotate_rep): Call it.
4326 (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
4327 (gnat_to_gnu_entity, case E_Record_Type): Likewise.
4328 No longer update discriminants to not be a COMPONENT_REF.
4329 (copy_alias_set): Strip padding from input type; also handle
4330 unconstrained arrays properly.
4331
4332 * gigi.h (write_record_type_debug_info): New function.
4333 Convert to use ANSI-style prototypes. Remove unused
4334 declarations for emit_stack_check, elab_all_gnat and
4335 set_second_error_entity.
4336 (gnat_to_gnu_field_decl): New decl.
4337
4338 * utils.c (write_record_type_debug_info): New function.
4339 (finish_record_type): Delegate generation of debug information to
4340 write_record_type_debug_info.
4341 (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
4342 (update_pointer_to): Fix pasto.
4343 (convert) <UNION_TYPE>: Accept slight type variations when
4344 converting to an unchecked union type.
4345
4346 * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
4347 replace the N_Freeze_Entity with a null statement.
4348
4349 * freeze.adb (Freeze_Expression): If the freeze nodes are generated
4350 within a constrained subcomponent of an enclosing record, place the
4351 freeze nodes in the scope stack entry for the enclosing record.
4352 (Undelay_Type): New Subprogram.
4353 (Set_Small_Size): Pass T, the type to modify; all callers changed.
4354 (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
4355 within records; allow them to have freeze nodes if their base types
4356 aren't frozen yet.
4357
017205f5
EB
4358 * exp_util.adb (Remove_Side_Effects): Properly test for
4359 Expansion_Delayed and handle case when it's inside an
4360 N_Qualified_Expression.
4361
4f51c6e7
AC
4362 * sem_ch3.adb (Derived_Type_Declaration): New predicate
4363 Comes_From_Generic, to recognize accurately that the parent type in a
4364 derived type declaration can be traced back to a formal type, because
4365 it is one or is derived from one, or because its completion is derived
4366 from one.
4367 (Constrain_Component_Type): If component comes from source and has no
4368 explicit constraint, no need to constrain in in a subtype of the
4369 enclosing record.
4370 (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
4371 Minor change to propagate Is_Ada_2005 flag
4372
4373 * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
4374 Expansion_Delayed is False.
4375 (assoc_to_constructor): Ignore fields that have a
4376 Corresponding_Discriminant.
4377 (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
4378 function returns "by target", dereference the target pointer using the
4379 type of the actual return value.
4380 <all>: Be prepared for a null gnu_result.
4381 (processed_inline_subprograms): Check flag_really_no_inline
4382 instead of flag_no_inline.
4383 (set_second_error_entity): Remove unused function.
4384 (gnat_to_gnu, case N_Selected_Component): Call
4385 gnat_to_gnu_field_decl.
4386 (assoc_to_constructor): Likewise.
4387
43882005-03-15 Robert Dewar <dewar@adacore.com>
4389 Ed Schonberg <schonberg@adacore.com>
4390 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4391
4f51c6e7
AC
4392 * exp_pakd.adb (Create_Packed_Array_Type): Do not set
4393 Must_Be_Byte_Aligned for cases where we do not need to use a
4394 System.Pack_nn unit.
4395
4396 * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
4397 as procedures.
4398 Needed now that we do some processing for IN parameters as well. This
4399 may well fix some unrelated errors.
4400 (Expand_Call): Handle case of unaligned objects (in particular those
4401 that come from packed arrays).
4402 (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
4403 renamed entity is an inherited operation, re-expand the call using the
4404 original operation, which is the one to call.
4405 Detect attempt to inline parameterless recursive subprogram.
4406 (Represented_As_Scalar): Fix to work properly with private types
4407 (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
4408 accurate estimate. Yields True in far fewer cases than before,
4409 improving the quality of code that depends on this test.
4f51c6e7
AC
4410
4411 * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
4412 over both visible and private declarations to remove them from tree,
4413 and mark subprograms declared in package as eliminated, to prevent
4414 spurious use in subsequent compilation of generic units in the context.
4415
4416 * exp_util.ads: Minor cleanup in variable names
4417
4418 * sem_eval.ads, sem_eval.adb: Minor reformatting
4419 (Compile_Time_Known_Bounds): New function
4420
44212005-03-15 Ed Schonberg <schonberg@adacore.com>
4422
4423 * exp_ch7.adb (Convert_View): Use base types of underlying types when
4424 determining whether an unchecked conversion is needed for the argument
4425 of an initialization call.
4426
44272005-03-15 Ed Schonberg <schonberg@adacore.com>
4428
4429 * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
4430 that appears in the instantiation rather than the internal subtype
4431 generated in the wrapper package, to avoid anomalies in gigi when the
4432 target is derived from a private type whose full view is an access type.
4433
44342005-03-15 Robert Dewar <dewar@adacore.com>
4435
4436 * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
4437 not needed.
4438 Add documentation to replace the use of this flag
4439 Fix kludge for Maximum_Alignment on x86 so that it does not apply to
4440 the x86_64.
4441
44422005-03-15 Thomas Quinot <quinot@adacore.com>
4443
4444 * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
4445 here from exp_attr so it can be shared between exp_attr and exp_dist.
4446 (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
4447 all TSS names, not a subset thereof, and the previous name introduced
4448 an unnecessarily confusion that a distinction might exist between
4449 "OK" TSS names and some "not OK" TSS names.
4450
44512005-03-15 Doug Rupp <rupp@adacore.com>
4452
4453 * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
4454 Command_Name.
4455
44562005-03-15 Pascal Obry <obry@adacore.com>
4457 Eric Botcazou <ebotcazou@adacore.com>
4458
4459 PR ada/20226
4460 PR ada/20344
4461
4462 * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
4463 when IN_RTS. This is to work around a bootstrap path problem.
4464
4465 * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
4466 table and pass it to __gnat_install_SEH_handler().
4467 (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
4468
4469 * lang.opt: Fix specification of -fRTS=.
4470
44712005-03-15 Doug Rupp <rupp@adacore.com>
4472 Bernard Banner <banner@adacore.com>
4473 Vincent Celier <celier@adacore.com>
4474 Arnaud Charlet <charlet@adacore.com>
4475
4476 PR ada/6852
4477 This change works fine when gnatlib is built from the gcc directory,
4478 but does not work when using the libada Makefile, since GCC_FOR_TARGET
4479 is not passed to ada/Makefile.in, so more work is needed by a
4480 Makefile/configure expert.
4481
4482 * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
4483 set GMEM_LIB on ia64 linux to add optional support for gnatmem.
4484 Setup gnatlink switch -M for x86_64 linux, as it is already setup
4485 for Linux x86.
4486 (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
4487 Run ranlib on libgccprefix.a
4488 Define PREFIX_OBJS for Darwin, to build libgccprefix.
4489 (ADA_INCLUDE_SRCS): Split Ada packages.
4490
44912005-03-15 Robert Dewar <dewar@adacore.com>
4492
4493 * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
4494
4495 * impunit.adb: Add GNAT.UTF_32
4496
4497 * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
4498
4499 * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
4500 now uses GNAT.UTF_32).
4501
4502 * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
4503 capabilities for categorizing characters using Unicode categories
4504
45052005-03-15 Ed Schonberg <schonberg@adacore.com>
4506
4507 * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
4508 instantiation that has been rewritten as a package body, retrieve spec
4509 to generate proper name for implicit_with_clause.
4510 (Install_Parents): Recognize a parent that is an instantiation but has
4511 been rewritten as a package declaration during analysis.
4512
45132005-03-15 Javier Miranda <miranda@adacore.com>
4514 Ed Schonberg <schonberg@adacore.com>
4515
4516 * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
4517 parameter reported some error we immediately return. This improves the
4518 behaviour of the frontend in case of errors.
4519 (Install_Parent, Remove_Parent): Introduce new flag
4520 Parent_Unit_Visible, to preserve the proper visibility of the ultimate
4521 ancestor of a generic child unit, when the child is being instantiated.
4522 (Inline_Instance_Body): If we are compiling the private
4523 part or the body of a child unit, restore the proper visibility of the
4524 parents after compiling the instance body.
4525
45262005-03-15 Ed Schonberg <schonberg@adacore.com>
4527 Javier Miranda <miranda@adacore.com>
4528
4529 PR ada/15608
4530 * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
4531 of a private type, in which case it is underlying_type that denotes
4532 the proper task. Also modified to use the new entity attribute
4533 that is directly available in the task type and task subtype entities
4534 (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
4535 arrays when other dimensions than the first are constrained by
4536 discriminants of an enclosing record.
4537 (Insert_Explicit_Dereference): If the prefix is an indexed component or
4538 a combination of indexed and selected components, find ultimate entity
4539 and generate the appropriate reference for it, to suppress spurious
4540 warnings.
4541 (Note_Possible_Modification): If an entity name has no entity, return.
4542 (Is_Variable): A function call never denotes a variable.
4543 (Requires_Transient_Scope): For record types, recurse only on
4544 components, not on internal subtypes that may have been generated for
4545 constrained components.
4546
45472005-03-15 Ed Schonberg <schonberg@adacore.com>
4548
4549 * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
4550 Eliminated as candidates for resolution. Both efficient, and avoids
4551 anomalies with operators declared in deleted code.
4552 (Process_Implicit_Dereference_Prefix): Use this procedure whenever
4553 expansion is disabled (as when compiling a generic) to prevent spurious
4554 warnings on prefixes of selected components.
4555
45562005-03-15 Ed Schonberg <schonberg@adacore.com>
4557
4558 * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
4559 attached to a list before checking whether it appears in the private
4560 declarations of the current package.
4561 (Make_Inequality_Operator): Insert declaration in proper declarative
4562 list rather than just setting the Parent field, so that
4563 Is_Private_Declaration can handle it properly.
4564
45652005-03-15 Ed Schonberg <schonberg@adacore.com>
4566
4567 * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
4568 a renaming a body, check that the renamed subprogram in not intrinsic.
4569 (Find_Direct_Name): If several use_visible entities hide
4570 each other, and the context is a predefined file compiled through
4571 rtsfind, keep only the entity that comes from a predefined file.
4572
45732005-03-15 Geert Bosch <bosch@adacore.com>
4574
4575 * s-fatgen.adb (Valid): Extend special exceptions to account for long
4576 long float padding to also cover AMD64 and IA64.
4577
45782005-03-15 Gary Dismukes <dismukes@adacore.com>
4579
4580 * s-imgwch.adb: Add with and use of Interfaces.
4581 (Img_Wide_Character): Change type of Val to Unsigned_16.
4582 (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
4583
45842005-03-15 Matthew Gingell <gingell@adacore.com>
4585
4586 * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
4587
45882005-03-15 Robert Dewar <dewar@adacore.com>
4589
4590 * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
4591
4592 * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
4593
4594 * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
4595
45962005-03-15 Robert Dewar <dewar@adacore.com>
4597
4598 * s-bitops.adb, s-bitops.ads,
4599 s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
4600 s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
4601 tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
4602 s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
4603 s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
4604 s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
4605 s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
4606 s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
4607 reformatting.
4608
46092005-03-15 Eric Botcazou <ebotcazou@adacore.com>
4610
4611 * utils2.c (build_binary_op): Fix typo.
4612
46132005-03-15 Doug Rupp <rupp@adacore.com>
4614
4615 * s-crtl.ads (popen,pclose): New imports.
4616
46172005-03-15 Cyrille Comar <comar@adacore.com>
4618
4619 * comperr.adb (Compiler_Abort): remove references to obsolete
4620 procedures in the bug boxes for various GNAT builds.
4621
46222005-03-15 Vincent Celier <celier@adacore.com>
4623
4624 * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
4625
46262005-03-15 Geert Bosch <bosch@adacore.com>
4627 Arnaud Charlet <charlet@adacore.com>
4628 Robert Dewar <dewar@adacore.com>
4629 Cyrille Comar <comar@adacore.com>
4630 Sergey Rybin <rybin@adacore.com>
4631
4632 * gnat_ugn.texi: Remove extended inline assembly example, as it was far
4633 too specific and long-winded to be appropriate for the GNAT User's
4634 Guide.
4635 Warn about use of GCC switches not documented in the GNAT User's Guide,
4636 as these may cause generated code to not conform to Ada semantics.
4637 Remove mention of -gdwarf-2 for sparc64, since this is now the default.
4638 Add documentation for -gnat95 and -gnat05 switches
4639 Remove paragraph documenting obsolete way to refer to third party
4640 libraries.
4641 Add a few references to Ada_05 that were missing.
4642 Update documentation on -gnatZ/-gnatL.
4643 Document limitation when using -m64 under Solaris.
4644 Change the "Name Casing" subsection of the pretty-printer section
4645 according to the changes in the dictionary processing.
4646
4647 * gnat_rm.texi: Document the Ada_05 pragma.
4648 Section on record representation clauses describes the new more
4649 relaxed rules about placement of large packed bit array components.
4650 Add documentation of GNAT.UTF_32
4651
c75ab022
DB
46522005-03-12 Daniel Berlin <dberlin@dberlin.org>
4653
4654 * misc.c (gnat_post_options): Turn off structural
4655 aliasing for now.
4f51c6e7 4656
391bdf45
LG
46572005-03-08 Laurent Guerby <laurent@guerby.net>
4658
4659 * system-linux-sparc.ads: Fix typo in previous commit.
4660
fe8a06f2 46612005-03-07 James A. Morrison <phython@gcc.gnu.org>
a1286ef5 4662 Laurent Guerby <laurent@guerby.net>
fe8a06f2 4663
a1286ef5
ZW
4664 PR ada/20035
4665 * system-linux-sparc.ads: New.
4666 * Makefile.in: Add sparc linux entry.
fe8a06f2 4667
a1286ef5 46682005-02-27 Danny Smith <dannysmith@users.sourceforge.net>
9811fd17 4669
a1286ef5 4670 * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
9811fd17
DS
4671 parameters as unused.
4672
5395b47b
NN
46732005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
4674 Partial merge from libada-gnattools-branch:
4675
4676 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
a1286ef5
ZW
4677 * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
4678 into code in gnattools/Makefile.in. Remove direct dependencies on
4679 stamp-tools by tools clauses.
5395b47b 4680 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
a1286ef5 4681 * config-lang.in: Add gnattools to $lang_dirs.
5395b47b 4682
4fa0972f
AP
46832005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
4684
4685 PR ada/19942
2532808d 4686 * utils.c (gnat_type_for_mode): Return null instead of ICE because
a1286ef5 4687 we asked for an unknown mode.
4fa0972f 4688
bd0b34a8
RH
46892005-02-12 Richard Henderson <rth@redhat.com>
4690
4691 * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
4692 validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
4693
0ebbef54
AJ
46942005-02-10 Andreas Jaeger <aj@suse.de>
4695
4696 * init.c (__gnat_initialize): Mark parameter as unused.
4697
fc5a191d
AC
46982005-02-09 Doug Rupp <rupp@adacore.com>
4699
4700 * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
4701 * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
4702
47032005-02-09 Doug Rupp <rupp@adacore.com>
4704
4705 * gnatchop.adb (dup, dup2),
4706 g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
4707
4708 * gnatlbr.adb (mkdir),
4709 mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
4710
4711 * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
4712
47132005-02-09 Doug Rupp <rupp@adacore.com>
4714
4715 * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
4716
47172005-02-09 Robert Dewar <dewar@adacore.com>
4718 Thomas Quinot <quinot@adacore.com>
4719 Javier Miranda <miranda@adacore.com>
4720 Pascal Obry <obry@adacore.com>
4721 Ed Schonberg <schonberg@adacore.com>
4722 Doug Rupp <rupp@adacore.com>
4723 Gary Dismukes <dismukes@adacore.com>
4724 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4725
4726 * g-zstspl.ads: New file.
4727
4728 * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
4729
4730 * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
4731 Ada 95 mode
4732 Add definition of Wide_Wide_Space for AI-285
4733
4734 * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
4735 interface (to support Ada 95 and Ada 2005 units).
4736 Add Unbounded_IO files
4737 Add entries for Wide_Wide packages for AI-285
4738 Add list of containers packages to Ada 2005 unit list
4739
4740 * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
4741 support new Unbounded_IO package cleanly.
4742
4743 * g-utf_32.ads, g-utf_32.adb: New files.
4744
4745 * Makefile.rtl: Add entry for g-utf_32
4746 Add new files for Unbounded_IO
4747 Adjust make file for new AI-285 wide wide packages
4748 Add AI-302 containers to the run time.
4749
4750 * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
4751 a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
4752 subprograms for AI-301.
4753
4754 * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
4755
4756 * a-stunau.ads: Minor comment correction
4757
4758 * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
4759 etc.
4760 Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
4761 (Check_RPC): Update to match changes in expanded code.
4762 Clean up unused entity.
4763
4764 * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
4765 was not taken into account.
4766 This includes proper initialization with Normalize_Scalars.
4767 (Get_Simple_Init_Val): Major rewrite for initialize scalars and
4768 normalize scalars cases (particularly the latter) to do a better job
4769 of finding invalid representations.
4770
4771 * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
4772
4773 * s-strops.ads, s-strops.adb: Remove string normalize routines, never
4774 used
4775
4776 * exp_dist.adb: Add support for wide wide character type
4777 (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
4778 private part, generate stub bodies at the end of the private part,
4779 not the visible part.
4780 (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
4781 PolyORB support.
4782 (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
4783 generic wrapper to execute final processing after completing the
4784 expansion of the RPC receiver for an RACW.
4785
4786 * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
4787 packages and attributes.
4788 (Preset_Names): Addition of the new reserved words of Ada 2005,
4789 that is interface, overriding and synchronized.
4790 (Get_Pragma_Id): Give support to the use of the new reserved word
4791 "interface" as a pragma name.
4792 (Is_Pragma_Name): Give support to the use of the new reserved word
4793 "interface" as a pragma name.
4794 (Preset_Names): Add stream_size string for the Stream_Size Ada2005
4795 attribute implementation.
4796
4797 * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
4798 checks to entities that are output parameters of Asm operations.
4799 Handle the Stream_Size attribute.
4800 Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
4801
4802 * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
4803
4804 * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
4805 for second parameter being 0.0.
4806 Add support for wide wide character type.
4807 (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
4808
4809 * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
4810 s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
4811 s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
4812 s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
4813 for wide wide character cases.
4814
4815 * cstand.adb: Create entities for Wide_Wide_Character and
4816 Wide_Wide_String.
4817
4818 * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
4819 accordance with AI-258.
4820 Add new declarations for 16/32 bit C character types (Part of AI285)
4821
4822 * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
4823 (Obsolescent_Warning): New field
4824 (Rep_Clause): New local subprogram used to share code. Returns the rep
4825 clause for which the name is given in parameter.
4826 (Has_Stream_Size_Clause): New routine.
4827 (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
4828 (Address_Clause): Implementation is now using Rep_Clause.
4829 (Alignment_Clause): Idem.
4830 (Size_Clause): Idem.
4831
4832 * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
4833 entity in non-Ada 2005 mode and generate warning.
4834
4835 * par-prag.adb: Add handling of one argument form for pragma Ada_05.
4836 (Prag): Code cleanup. Remove old gnat pragma "overriding"
4837
4838 * sem_prag.adb: Add handling of one argument form for pragma Ada_05
4839 (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
4840 on the named unit if the pragma is not in the current compilation unit,
4841 so that elaboration calls in the current unit can set up an elaboration
4842 dependency on the named unit, as needed.
4843 (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
4844 subprogram as well as for subprograms declared within a package.
4845 (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
4846 pragma overriding.
4847
4848 * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
4849 to z) to avoid some instances of duplication for Wide_Wide packages.
4850
4851 * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
4852 characters.
4853
4854 * scn.adb: Char_Literal_Value field is now a Uint
4855
4856 * scng.adb: Significant rewrite to handle new Ada 2005 features
4857 allowing wide and wide wide characters in program text, e.g. for
4858 identifiers, as described in AI-285.
4859 (Set_Reserved): New procedure, makes setting up keywords cleaner.
4860 (Initialize_Scanner): Register the new reserved words of Ada 2005.
4861 (Scan): Give support to the new reserved words.
4862
4863 * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
4864 warning notifying that interface, overriding, and synchronized are
4865 new reserved words.
4866 (P_Pragma): Allow the use of the new reserved word "interface" as
4867 a pragma name.
4868
4869 * gnatls.adb, gnatbind.adb,
4870 ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
4871 identifiers named "interface" to "SAL_Interface".
4872
4873 * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
4874 (Structured Exception handling).
4875 (Gen_Main_C): Idem.
4876
a1286ef5 4877 * bindgen.adb:
fc5a191d
AC
4878 (Gen_Main_Ada): Set the default exit code if specified.
4879 (Gen_Main_C): Likewise.
4880 Part of *DC20-006.
4881 (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
4882 Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
4883
4884 * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
4885 new -Xnnn switch.
4886
4887 * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
4888 has a collision with the new Ada 2005 "interface" reserved word.
4889
4890 * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
4891 generate a warning notifying that interface, overriding, and
4892 synchronized are new reserved words.
4893
4894 * scans.ads (Token_Type): Addition of the tokens corresponding to the
4895 new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
4896 and Tok_Synchronized.
4897
4898 * sem_res.adb (Resolve_Actuals): Change error messages to refer to
4899 "dispatching" rather than "primitive" operations, since dispatching
4900 calls are now allowed to abstract formal subprograms (which are not
4901 primitive).
4902 Char_Literal_Value field is now a Uint
4903 (Resolve_Slice): If the prefix is an access to an unconstrained array,
4904 compute the actual subtype of the designated object to impose the proper
4905 index constraints.
4906 (Resolve_Selected_Component): Do not insert an access check if the
4907 prefix is an access type: such a node is expanded into an explicit
4908 dereference, on which the access check is performed anyway. Removes
4909 expensive duplicate checks.
4910 (Resolve_Call): Use new flag Is_Obsolescent and field
4911 Obsolescent_Warning so that pragma Obsolescent works on library
4912 subprograms.
4913 Add support for wide wide character type
4914 (Resolve_Allocator): Replace the error message on wrong null-exclusion
4915 value by a warning message.
4916 (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
4917 as fixed-point, and one of the operands is non-static and universal, it
4918 can only be an illegal exponentiation operation, in which case there is
4919 no real value to retrieve.
4920
4921 * exp_strm.adb: Add support for wide wide character type
4922 (Build_Elementary_Input_Call): Compute the size of the stream element by
4923 querying the rep chain to find the Stream_Attribute attribute value.
4924 (Build_Elementary_Write_Call): Ditto.
4925
4926 * sem_aggr.adb: Char_Literal_Value field is now a Uint
4927 Add support for wide wide character type
4928 Replace the error messages on wrong null-exclusion value by warnings
4929 as described in Ada 2005.
4930 (Resolve_Extension_Aggregate): Document the fact that the error
4931 message on class-wide expressions in extensions aggregates.
4932
4933 * sem_case.adb: Add support for wide wide character type
4934
4935 * sem_ch13.adb: Add support for wide wide character type
4936 (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
4937
4938 * sem_ch3.adb: Add support for wide wide character type
4939 (Process_Subtype): If constraint is illegal for the type, set Ekind of
4940 now-useless Itype, to prevent cascaded errors on a compiler built
4941 without -gnatp.
4942
4943 * sem_ch8.adb: Add with and use of Sem_Disp.
4944 (Analyze_Subprogram_Renaming): Replace unclean uses of
4945 Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
4946 of Corresponding_Spec to Empty).
4947 (Attribute_Renaming): Replace use of Corresponding_Spec with
4948 Corresponding_ Formal_Spec and simplify condition.
4949 (Use_One_Package): Check that scope of homonym of identifier is defined,
4950 before checking whether it is a wrapper package.
4951 Add support for wide wide character type
4952
4953 * sem_eval.adb: Add support for wide wide character type.
4954 (Eval_Arithmetic_Op): Check for compile time known signed integer
4955 overflow in the non-static case.
4956 (Subtypes_Statically_Match): A formal scalar type and its base type do
4957 not statically match.
4958
4959 * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
4960 "not in" for test of N_Formal_Subprogram_Declaration (which is now a
4961 subtype).
4962 (Unit_Declaration_Node): Ditto.
4963 (Is_Variable_Prefix): For the case of an indexed component whose prefix
4964 has a packed array type, the prefix has been rewritten into a type
4965 conversion. Determine variable-ness from the converted expression.
4966 Handle wide wide character cases.
4967
4968 * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
4969
4970 * stringt.ads, stringt.adb: Handle full UTF-32 range.
4971 Remove ["0A"] from comment, since it can look like a line terminator.
4972 Currently we don't permit this, but this is under discussion by the
4973 ARG, and it is easy enough to use a different example.
4974
4975 * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
4976 handling UTF-32 encoding for wide wide character.
4977 Implement new brackets coding ["hhhhhhhh"]
4978 Add UTF-8 encodings for full UTF-32 range
4979
4980 * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
4981
4982 * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
4983 bit range Add full UTF-32 support.
4984 (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
4985 notify that constraint error will be raised at run-time
4986 because a null value is assigned to a null-excluding object.
4987 Remove some obsolete declarations and make Char_Code
4988 unsigned.
4989
4990 * a-except.adb (Rcheck_30): New subprogram. Addition of the message
4991 corresponding to CE_Null_Not_Allowed, and adjust the output of all the
4992 Rcheck subprograms.
4993
4994 * checks.adb (Check_Null_Not_Allowed): Replace the error message on
4995 wrong null-exclusion value by a warning message.
4996 (Enable_Range_Check): Do range check if the prefix is an
4997 explicit dereference whose designated object is an unconstrained array.
4998 Current algorithm for removing duplicate checks is over-eager in this
4999 case.
5000
5001 * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
5002 null-exclusion value by a warning message
5003
5004 * atree.h, atree.ads, atree.adb: Remove Char_Code field support
5005 completely. Add support for Uint2 field
5006
5007 sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
5008 exp_prag.adb: Char_Literal_Value field is now a Uint.
5009
5010 * exp_util.adb (Insert_Actions): Replace
5011 N_Formal_Subprogram_Declaration by
5012 N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
5013 Char_Literal_Value field is now a Uint.
5014
5015 * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
5016 defined for subprogram renaming declarations. When set, the field
5017 indicates the defining entity of a corresponding formal subprogram
5018 when the renaming corresponds to a formal subprogram association in an
5019 instantiation.
5020 (Set_Corresponding_Formal_Spec): New procedure to return
5021 Corresponding_Formal_Spec field.
5022 Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
5023 (which is now a subtype).
5024 Char_Literal_Value field is now a Uint
5025
5026 * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
5027 pointer to the base of the dispatch table.
5028 Minor changes to comments.
5029 (Controlling_Type): New function for determining the tagged type
5030 associated with a tagged primitive subprogram.
5031 (Expand_Dispatching_Call): Add support for a controlling actual that is
5032 directly a value of type Ada.Tag rather than a tagged object.
5033
5034 * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
5035 describing the new layout.
5036 (Dispatch_Table): The expander computes the actual array size, allocates
5037 the Dispatch_Table record accordingly, and generates code that displaces
5038 the base of the record after the Typeinfo_Ptr component. The access to
5039 these components is done by means of local functions.
5040 (Offset_To_Top): New function.
5041 (Typeinfo_Ptr): New function.
5042 (Get_TSD): Modified to access the new position of the TSD.
5043 (Set_TSD): Modified to save the TSD in its new position.
5044
5045 * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
5046 case of formal abstract subprograms. Add check and message for -gnat05.
5047 Update comments.
5048
5049 * sem_ch12.adb: Add with and use for Sem_Disp.
5050 (Analyze_Associations): Minor change from "=" to "in" for use of
5051 N_Formal_Subtype_Declaration (which is now a subtype).
5052 (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
5053 N_Formal_Subtype_Declaration (which is now a subtype).
5054 (Analyze_Formal_Subprogram): Add handling for
5055 N_Formal_Abstract_Subprogram, marking the formal as abstract and
5056 dispatching, setting the controlling status of the formal parameters
5057 and result, and issuing an error if there is no controlling type for
5058 the formal subprogram.
5059 (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
5060 which is an unclean use of that field, we set the new field
5061 Corresponding_Formal_Spec to make the formal subprogram available to
5062 processing in Analyze_Subprogram_Declaration.
5063 (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
5064 Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
5065 Constrained, so that it is is does not statically match its anonymous
5066 base type.
5067
5068 * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
5069 abstract formal subprograms in error check for functions returning
5070 abstract types. Set scope of new designator for
5071 a parameterless subprogram, so that it is available when checking the
5072 body for nested subprograms, before full analysis of said body.
5073 (Analyze_Subprogram_Body): Warn on inlining bodies with nested
5074 subprogram only if inner one comes from source.
5075 (Analyze_Function_Call): If the call is given in object notation, the
5076 analysis of the name rewrites the node and analyzes it with the proper
5077 argument list. After analyzing the name, if the call has been rewritten
5078 and the result type is set, no further analysis is needed.
5079 (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
5080 mark in function specification, in a context where the formals are
5081 visible and hide outer homographs.
5082
5083 * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
5084 as the tagged type for the cases of abstract formal subprograms and
5085 renamings of those. Clean up spec comments.
5086 (Check_Dispatching_Context): Add error message to indicate "abstract
5087 procedure", covering the case of a call to a formal abstract procedure
5088 that has statically tagged operands.
5089 (Check_Dispatching_Call): Check for the case of an actual given by
5090 a tag-indeterminate function call whose type is an ancestor of the
5091 containing call's associated tagged type. This situation can occur
5092 for inherited primitives with function defaults. In this case we
5093 use the tagged type's tag directly as the controlling argument for
5094 the calls.
5095 (Expand_Call): Name change on call to Expand_Dispatch_Call.
5096
5097 * sprint.adb (Sprint_Node_Actual): Split
5098 N_Formal_Subprogram_Declaration into two alternatives for the new
5099 cases N_Formal_Abstract_Subprogram_Declaration and
5100 N_Formal_Concrete_Subprogram_Declaration.
5101 Char_Literal_Value field is now a Uint.
5102
5103 * trans.c: Get rid of junk Uint2 reference.
5104 Char_Literal_Value field is now a Uint.
5105 (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
5106 (gigi): Correct third arg to gimplify_body.
5107
5108 * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
5109 (TYPE_LANG_FLAG_0): Check for record or union.
5110
5111 * treepr.adb: Char_Literal_Value field is now a Uint
5112
5113 * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
5114 UI_From_CC.
5115
5116 * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
5117 Add full UTF-32 support
5118 Char_Code is now 32 bits
5119
5120 * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
5121 wide character UTF_32 line terminators.
5122 Initialize Main_Source_File to avoid error when no main
5123 source is loaded.
5124
5125 * errout.adb (Finalize): Do not check Num_SRef_Pragmas
5126 (Main_Source_File) when no main source has been loaded, to avoid
5127 potential crash.
5128
51292005-02-09 Robert Dewar <dewar@adacore.com>
5130
a1286ef5
ZW
5131 * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
5132 Fix name of Set routine
fc5a191d
AC
5133
5134 * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
5135 fixed packages.
5136
5137 * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
5138 a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
5139 fixed packages
5140
5141 * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
5142 forms of Get_Line subprograms for AI-301.
5143
5144 * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
5145 a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
5146 a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
5147 a-stwima.ads: Minor reformatting.
5148
51492005-02-09 Doug Rupp <rupp@adacore.com>
5150 Thomas Quinot <quinot@adacore.com>
5151
5152 * adaint.c, adaint.h
5153 [VMS] (to_ptr32): New function.
5154 (MAYBE_TO_PTR32): New macro.
5155 (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
5156 for pointer size.
5157 [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
5158 [VMS] (#define fork()): Remove since unneccessary.
5159 (__gnat_set_close_on_exec): New routine to support
5160 GNAT.OS_Lib.Set_Close_On_Exec.
5161
5162 * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
5163 the parent side as close-on-exec so that they are not inherited by the
5164 child.
5165
5166 * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
5167 set or clear the FD_CLOEXEC flag on a file descriptor.
5168
51692005-02-09 Eric Botcazou <ebotcazou@adacore.com>
5170 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5171
5172 Fix for c330001 - PR ada/19386
5173
a1286ef5 5174 * decl.c:
fc5a191d
AC
5175 (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
5176 on the field if Pragma Component_Alignment (Storage_Unit).
5177 (gnat_to_gnu_entity, case object): Do not treat a renaming that has
5178 side-effects as if it were a constant; also make SAVE_EXPR to protect
5179 side-effects.
5180 (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
5181 UNION_TYPE.
5182 (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
5183 (components_to_record): Test it.
5184 Fix improper usage of REFERENCE_CLASS_P.
5185
5186 * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
5187 RECORD_TYPE.
5188
5189 * utils2.c: Minor reformatting.
5190
5191 * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
5192 handle other cases like RECORD_TYPE.
5193
5194 * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
5195
51962005-02-09 Ed Schonberg <schonberg@adacore.com>
5197
5198 * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
5199 component of an array of arrays in an assignment context, and the
5200 aggregate has component associations that require sliding on
5201 assignment, force reanalysis of the aggregate to generate a temporary
5202 before the assignment.
5203 (Must_Slide): Make global to the package, for use in Gen_Assign.
5204
52052005-02-09 Ed Schonberg <schonberg@adacore.com>
5206
5207 * exp_ch4.adb (Expand_Composite_Equality): If a component is an
5208 unchecked union with no inferable discriminants, return a
5209 Raise_Program_Error node, rather than inserting it at the point the
5210 type is frozen.
5211 (Expand_Record_Equality, Component_Equality): Handle properly the case
5212 where some subcomponent is an unchecked union whose generated equality
5213 code raises program error.
5214
52152005-02-09 Doug Rupp <rupp@adacore.com>
5216
5217 * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
5218 [VMS] (#define exit hack): Remove.
5219
52202005-02-09 Pascal Obry <obry@adacore.com>
5221 Arnaud Charlet <charlet@adacore.com>
5222
5223 * init.c (__gnat_initialize): Add a new parameter eh which contains the
5224 address of the exception registration. The Win32 version of this
5225 routine calls __gnat_install_SEH_handler() to initialize the SEH
5226 (Structured Exception Handling) handler.
5227 (__gnat_error_handler) [Win32]: Removed. Not needed as we use
5228 SEH (Structured Exception Handling) now.
5229 (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
5230 (__gnat_initialize for ppc-vxworks): Adjust comments and the
5231 preprocessor condition protecting the call to the extra eh setup
5232 subprogram, which is only available for the ppc target.
5233 (__gnat_clear_exception_count): replaced reference to
5234 variable taskIdCurrent by call to taskIdSelf(), cleaner.
5235
5236 * seh_init.c: New file.
5237
5238 * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
5239 (GNATBIND_OBJS): Idem.
5240
5241 * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
5242 routine takes a new parameter (a pointer to the exception registration
5243 for the SEH (Structured Exception Handling) support.
5244
5245 * raise.h: (__gnat_install_SEH_handler): New prototype.
5246 Update copyright notice.
5247
5248 * s-tassta.adb (Task_Wrapper): Declare the exception registration
5249 record and initialize it by calling __gnat_install_SEH_handler.
5250
52512005-02-09 Vincent Celier <celier@adacore.com>
5252
5253 * make.adb (Gnatmake): Do not fail when the main project has no object
5254 directory.
5255
52562005-02-09 Doug Rupp <rupp@adacore.com>
5257
5258 * Makefile.in [VMS] (LN,LN_S): Define as cp -p
5259 Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
5260 [VMS]: Add translations for g-enblsp.adb.
5261
5262 * s-asthan-vms.adb: Removed.
5263 * s-asthan-vms-alpha.adb: Added.
5264
52652005-02-09 Pascal Obry <obry@adacore.com>
5266
5267 * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
5268 (LIBGNAT_OBJS): Add seh_init.o.
5269
52702005-02-09 Arnaud Charlet <charlet@adacore.com>
5271
5272 PR ada/16592
5273
5274 * Makefile.in: Link all gnat tools with -static-libgcc, since
5275 -shared-libgcc is now used by default on some systems (e.g. linux with
5276 recent binutils).
5277 Remove references to Makefile.prolog/generic, no longer used.
5278
52792005-02-09 Vincent Celier <celier@adacore.com>
5280
5281 * prj-makr.adb (Process_Directory): Put file name in canonical case
5282 before matching against the patterns.
5283 If gnatname has been invoked as <prefix>-gnatname
5284 then invoke the compiler as <prefix>-gcc, not just "gcc".
5285
52862005-02-09 Ed Schonberg <schonberg@adacore.com>
5287
5288 * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
5289 with expansion disabled. The actual subtype is needed among other
5290 places when the selected component appears in the context of a loop
5291 bound, and denotes a packed array.
5292 (Operator_Check): Always use the first subtype in the
5293 error message, to avoid the appearance of internal base types.
5294 (Transform_Object_Operation): Copy each actual in full
5295 to the parameter associations of the constructed call, rather than
5296 using the shallow copy mechanism of New_Copy_List. This ensures that
5297 the chaining of named associations is done properly.
5298 (Complete_Object_Operation): Rewrite node, rather than
5299 replacing it, so that we can trace back to the original selected
5300 component.
5301
5302 * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
5303 and calls that use object notation, if the called function is not
5304 declared in a withed unit, place the elaboration constraint on the
5305 unit in the context that makes the function accessible.
5306 (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
5307 imposes an elaboration constraint between two packages.
5308
53092005-02-09 Ed Schonberg <schonberg@adacore.com>
5310
5311 * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
5312 views of a private type after handling its private dependents, to
5313 maintain proper stack discipline between entry and exit from the
5314 package.
5315
53162005-02-09 Cyrille Comar <comar@adacore.com>
5317
5318 * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
5319 Minor reformatting.
5320
53212005-02-09 Arnaud Charlet <charlet@adacore.com>
5322
5323 * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
5324 fields for foreign threads.
5325
53262005-02-09 Doug Rupp <rupp@adacore.com>
5327
5328 * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
5329 recursion warnings when compiled with -gnatdm.
5330
53312005-02-09 Robert Dewar <dewar@adacore.com>
5332
5333 * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
5334 Slight fix to documentation of -gnaty with no parameters
5335
5336 * xr_tabls.ads: Add ??? comment for missing overall comment
5337
5338 * xsinfo.adb: Make default file name be sinfo.h, since this is what
5339 we now use by default.
5340
5341 * xsnames.adb: Adjust end of file test to look for five space followed
5342 by '#' instead of six spaces. The format of xsnames.adb was modified
5343 in the last update.
5344
5345 * a-numeri.ads: Add reference to AI-388 for greek letter pi
5346 identifier.
5347
5348 * clean.adb: Minor reformatting.
5349
5350 * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
5351 gnatname.adb: Minor reformatting
5352 Add 2005 to copyright output when utility is run
5353
5354 * csets.adb: Eliminate obsolete comment
5355
5356 * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
5357 Update comments.
5358
5359 * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
5360
53612005-02-09 Sergey Rybin <rybin@adacore.com>
5362
5363 * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
5364 the difference between compact and incompact layout and add the record
5365 representation clause to the example illustrating different layouts.
5366 Add the description of '-A5' gnatpp option ("align 'AT' keywords in
5367 component clauses").
5368
53692005-02-09 Florian Villoing <villoing@adacore.com>
5370
5371 * gnat_ugn.texi: Fix typos.
5372 Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
5373 @file.
5374 Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
5375 in the generated documentation.
5376
53772005-02-09 Arnaud Charlet <charlet@adacore.com>
5378
5379 * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
5380 longer supported.
5381 Update linker wrapper when linking with non GNU C++.
5382
53832005-02-09 Pascal Obry <obry@adacore.com>
5384
a1286ef5 5385 * gnat_ugn.texi:
fc5a191d
AC
5386 Document the procedure to debug the DllMain routine on Windows.
5387 Add note about -funwind-tables and mixed Ada and C/C++ programming in
5388 ZCX mode.
5389 Document new BIND qualifer /RETURN_CODES=VMS.
5390
53912005-02-09 Ben Brosgol <brosgol@adacore.com>
5392
5393 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
5394 Edited gnatmetric chapter
5395
53962005-02-09 Robert Dewar <dewar@adacore.com>
5397
a1286ef5 5398 * gnat_rm.texi:
fc5a191d
AC
5399 Changes to document new wide wide character support
5400 For AI-285
5401 Update documentation on Normalize_Scalars and Initialize_Scalars
5402
54032005-02-09 Pascal Obry <obry@adacore.com>
5404
5405 * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
5406
54072005-02-09 Jose Ruiz <ruiz@adacore.com>
5408
5409 * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
5410 from the VxWorks kernel) that is needed for getting the active
5411 priority of the different tasks.
5412
5413 * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
5414 Use a pragma Elaborate_Body in the spec file instead.
5415 Noticed by code reading.
5416
54172005-02-09 Thomas Quinot <quinot@adacore.com>
5418
5419 * exp_util.ads: Minor correction in comment.
5420
54212005-02-09 Arnaud Charlet <charlet@adacore.com>
5422
5423 * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
5424 since this procedure is now too complex to be worth inlining.
5425
c6a912da
RH
54262005-02-09 Richard Henderson <rth@redhat.com>
5427
5428 * utils.c (gnat_define_builtin): Remove.
5429 (gnat_install_builtins): Use build_common_builtin_nodes.
5430
4c2d6a70
AC
54312005-02-09 Arnaud Charlet <charlet@adacore.com>
5432
5433 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
5434 a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
5435 a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
5436 a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
5437 a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
5438 a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
5439 a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
5440 a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
5441 a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
5442 a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
5443 a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
5444 a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
5445 a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
5446 a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
5447 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
5448 a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
5449 a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
5450 a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
5451 a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
5452 a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
5453 a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
5454 a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
5455 a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
5456 a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
5457 a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
5458 a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
5459 a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
5460 a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
5461 a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
5462 a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
5463 a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
5464 a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
5465 a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
5466 a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
5467 library.
5468
74a22497
LG
54692005-01-27 Laurent GUERBY <laurent@guerby.net>
5470
5471 * Makefile.in: Fix a-intnam.ads from previous commit,
5472 add 2005 to copyright.
5473 * a-intman-rtems.ads: Renamed to...
5474 * a-intnam-rtems.ads:
5475
7d921ba4
LG
54762005-01-27 Laurent GUERBY <laurent@guerby.net>
5477
5478 * Makefile.in: Rename GNAT RTEMS specific files.
a1286ef5 5479 * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
da8f5fd9 5480 5rosinte.ads, 5rparame.adb: Replaced by files below.
7d921ba4
LG
5481 * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
5482 s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
5483
9011d4bb
JS
54842005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
5485 Laurent GUERBY <laurent@guerby.net>
5486
5487 PR ada/19488
5488 * 5rosinte.ads: Add No_Key constant.
a1286ef5
ZW
5489 * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
5490 * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
9011d4bb 5491
d487e3c1
LG
54922005-01-26 Laurent GUERBY <laurent@guerby.net>
5493
5494 PR ada/19414
5495 * i-cobol.adb (Valid_Numeric): Handle zero length case.
a1286ef5 5496
3f38e738
RH
54972005-01-20 Richard Henderson <rth@redhat.com>
5498
5499 * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
5500 a-intnam-linux.ads and system-linux-alpha.ads.
5501 * a-intnam-linux-alpha.ads: Remove file.
5502 * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
5503 * system-linux-alpha.ads: New file.
5504
4d960a7e
JJ
55052005-01-18 Jakub Jelinek <jakub@redhat.com>
5506
5507 PR ada/13470
5508 * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
5509 set to the new string.
5510
b4c6a3a2
TM
55112005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
5512
5513 * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
5514 to True.
5515
8d5e1df2
RH
55162005-01-18 Richard Henderson <rth@redhat.com>
5517
5518 * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
5519 THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
5520 for alpha-linux.
5521 * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
5522
03eef11c
AP
55232005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
5524
5525 * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
5526 (GCC_ZCX_Support): Likewise.
5527
bc7566ca
BB
55282005-01-11 Bastian Blank <waldi@debian.org>
5529
5530 * system-linux-s390.ads: Define Preallocated_Stacks.
5531 * system-linux-s390x.ads: Likewise.
5532
e550819c
AC
55332005-01-04 Arnaud Charlet <charlet@adacore.com>
5534
5535 * gnat_ugn.texi: Fix texi errors with null variables.
5536
376a74d4
AC
55372005-01-03 Thomas Quinot <quinot@adacore.com>
5538
5539 * gen-soccon.c: New utility program to generate g-soccon.ads
5540 automatically.
5541
5542 * socket.c, gsocket.h: Split inclusion of system header files into a
5543 gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
5544
5545 * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
5546 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
5547 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
5548 g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
5549 should not be edited by hand anymore, but should be regenerated using
5550 gen-soccon.
5551
55522005-01-03 Robert Dewar <dewar@adacore.com>
5553 Ed Schonberg <schonberg@adacore.com>
5554 Vincent Celier <celier@adacore.com>
5555
5556 * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
5557 on/off, since this is an obsolescent feature, for which we now generate
5558 a warning.
5559
5560 * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
5561 warning mode is set and obsolescent usage of this attribute occurs.
5562 (Resolve_Access, case 'Access): Note that GNAT uses the context type to
5563 disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
5564 predates, and partly motivates, the adoption of the AI.
5565 Implement new Ada 2005 attribute Mod
5566
5567 * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
5568 attribute Mod.
5569
5570 * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
5571
5572 * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
5573 pragma restrictions.
5574 New entry for Ada 2005 attribute Mod.
5575
a1286ef5 5576 * par-prag.adb:
376a74d4
AC
5577 Add recognition of new pragma Restrictions No_Dependence
5578 Recognize restriction No_Obsolescent_Features at parse time
5579
5580 * bcheck.adb: Add circuitry for checking for consistency of
5581 No_Dependence restrictions.
5582
5583 * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
5584 restrictions.
5585
5586 * restrict.ads, restrict.adb: Add subprograms to deal with
5587 No_Dependence restrictions.
5588
5589 * rtsfind.adb: Check that implicit with's do not violate No_Dependence
5590 restrictions.
5591
5592 * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
5593 sem_attr.adb: Add check for new restriction No_Obsolescent_Features
5594
5595 * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
5596 dummy parameter to scng instantiation.
5597 Needed for new restriction No_Obsolescent_Features
5598
5599 * scn.adb: (Obsolescent_Check): New procedure
5600 Needed for new restriction No_Obsolescent_Features
5601
5602 * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
5603 specified by AI-285, needed for implementation of AI-388 (adding greek
5604 pi to Ada.Numerics).
5605 Add new generic formal to scng, needed for new restriction
5606 No_Obsolescent_Features.
5607
5608 * s-rident.ads: Add new restriction No_Obsolescent_Features.
5609
5610 * ali.ads, ali.adb: Adjustments for reading new No_Dependence
5611 restrictions lines.
5612 (Scan_ALI): When finding an unexpected character on an R line, raise
5613 exception Bad_R_Line, instead of calling Fatal_Error, so that, when
5614 Ignore_Errors is True, default restrictions are set and scanning of the
5615 ALI file continues with the next line. Also, when Bad_R_Line is raised
5616 and Ignore_Errors is True, skip to the end of le line.
5617
5618 * sem_ch10.adb: Check that explicit with's do not violate
5619 No_Dependence restrictions.
5620 (Install_Withed_Unit): Add code to implement AI-377 and diagnose
5621 illegal context clauses containing child units of instance.
5622
5623 * sem_prag.adb: Processing and checking for new No_Dependence
5624 restrictions.
5625 (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
5626 analyze and check the External argument.
5627
5628 * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
5629
56302005-01-03 Robert Dewar <dewar@adacore.com>
5631
5632 * atree.adb: Add a fifth component to entities
5633 This allows us to add 32 flags and four new fields
5634
5635 * atree.ads: Add a fifth component to entities
5636 This allows us to add 32 flags and four new fields
5637
5638 * einfo.ads, einfo.adb: Document new fields and new flags now available
5639 Add routines for printing new fields
5640
5641 * treepr.adb: Call routines to print out additional fields if present
5642
56432005-01-03 Arnaud Charlet <charlet@adacore.com>
5644
5645 * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
5646 gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
5647
5648 * Makefile.in: Add support to build shared Ada libraries on solaris x86
5649 Remove gpr2make, replaced by gprmake.
5650 Remove references to gnatmem and libaddr2line.
5651 Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
5652 (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
5653 Add support for specialized version of Ada.Numerics.Aux for Darwin: use
5654 a-numaux-darwin.ads and a-numaux-darwin.adb
5655 Enable mlib-tgt-lynxos.adb on lynxos.
5656
5657 * Make-lang.in: Remove rules for gpr2make.
5658 When generating sdefault.adb, do not call Relocate_Path
5659 on S3 for function Target_Name, as it is not a path.
5660 Remove references to gnatmem and libaddr2line.
5661
5662 * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
5663 files.
5664
56652005-01-03 Samuel Tardieu <tardieu@adacore.com>
5666
5667 * checks.adb (Apply_Alignment_Check): Generate a warning if an object
5668 address is incompatible with its base type alignment constraints when
5669 this can be decided statically.
5670
56712005-01-03 Olivier Hainque <hainque@adacore.com>
5672
5673 * decl.c (compatible_signatures_p): New function. The intended purpose
5674 is to check if two function signatures for a call-site and a callee are
5675 compatible enough for the call to be valid. The underlying purpose is
5676 to check if a call to a mapped builtin is using the right interface.
5677 The current code actually does not check antyhing - this a placeholder
5678 for future refinements.
5679 (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
5680 builtin calls for convention Intrinsic.
5681
5682 * gigi.h (builtin_decl_for): Declare (new function).
5683
5684 * utils.c (gnat_install_builtins): Install the target specific builtins.
5685 (builtin_decl_for): New function, provide a dummy body for now.
5686
56872005-01-03 Geert Bosch <bosch@adacore.com>
5688
5689 * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
5690 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
5691 (Pred): Implement in terms of Succ.
a1286ef5 5692
376a74d4
AC
5693 * trans.c (convert_with_check): Reimplement conversion of float to
5694 integer.
5695
56962005-01-03 Ed Schonberg <schonberg@adacore.com>
5697 Vincent Celier <celier@adacore.com>
5698
5699 * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
5700 bounds can be negative, and must be declared Int, not Nat.
5701
5702 * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
5703 array is checked after using the index in the array.
5704
5705 * makegpr.adb (Add_Switches): Check if there is a package for the
5706 processor. If there is no package, do not look for switches.
5707
57082005-01-03 Ed Schonberg <schonberg@adacore.com>
5709
5710 * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
5711 generation of predefined stream operations (specs and bodies) should
5712 proceed. Under various restrictions these subprograms must not be
5713 generated.
5714
57152005-01-03 Thomas Quinot <quinot@adacore.com>
5716
a1286ef5 5717 * exp_dist.adb:
376a74d4
AC
5718 Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
5719 amount of PCS-specific code in RACW stubs generation.
5720 (Copy_Specification): Set Etype on copied formal parameter entities, as
5721 this information is needed for PolyORB stubs generation.
5722 (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
5723 variable Dynamic_Async.
5724 (Build_Subprogram_Receiving_Stubs): Make PCS-specific
5725 (Build_RPC_Receiver_Specification): Make generic again, as recent
5726 changes have allowed RPC receivers to have the same profile for both
5727 variants of the PCS.
5728 Reorganise RPC receiver generation to reduce differences between the
5729 structure of GARLIC and PolyORB RPC receivers.
5730 (Add_Receiving_Stubs_To_Declarations): Make this subprogram
5731 PCS-specific.
5732 Simplify elaboration code for RCI packages.
5733
5734 * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
5735 generation to reduce differences between the structure of GARLIC and
5736 PolyORB RPC receivers.
5737
5738 * s-stratt.adb: Fix typo in comment.
5739
57402005-01-03 Thomas Quinot <quinot@adacore.com>
5741
5742 * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
5743 copied from Make_Init_Call).
5744
5745 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
5746 reads and assignments on a temporary variable declared with appropriate
5747 discriminants.
5748
57492005-01-03 Robert Dewar <dewar@adacore.com>
5750
5751 * i-c.adb (To_C): Raise CE if string is null and Append_Null
5752
57532005-01-03 Robert Dewar <dewar@adacore.com>
5754
5755 * i-cstrin.adb (Update): Do not append a null in form called with a
5756 String. This avoids unintended behavior.
5757
57582005-01-03 Arnaud Charlet <charlet@adacore.com>
5759
5760 PR ada/17527
5761 * init.c: Fix warnings on Free BSD section.
5762
57632005-01-03 Arnaud Charlet <charlet@adacore.com>
5764
5765 PR ada/16949
5766 * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
5767 xsinfo.adb).
5768
57692005-01-03 Vincent Celier <celier@adacore.com>
5770
5771 * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
5772 libraries when Unique_Compile is True (-u switch).
5773 (Gnatmake): ditto.
5774
57752005-01-03 Robert Dewar <dewar@adacore.com>
5776
5777 * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
5778 upper case letter or underscore after W, as allowed by spec.
5779
57802005-01-03 Arnaud Charlet <charlet@adacore.com>
5781
5782 * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
5783 darwin port by using proper type definitions from header files.
5784 Use SIGTERM instead of SIGABRT for SIGADAABORT.
5785
57862005-01-03 Robert Dewar <dewar@adacore.com>
5787
5788 * par.adb: Enhance error message handling for configuration file
5789 pragmas.
5790
57912005-01-03 Robert Dewar <dewar@adacore.com>
5792
5793 * s-arit64.adb (Double_Divide): Put back changes that got accidentally
5794 removed during the previous update (test properly for case of dividing
5795 largest negative number by -1, which generates overflow).
5796
57972005-01-03 Ed Schonberg <schonberg@adacore.com>
5798 Sergey Rybin <rybin@adacore.com>
5799
5800 * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
5801 to use as the defining identifier for a formal package.
5802 (Remove_Parent): If the instance takes place within (an instance of)
5803 a sibling, preserve private declarations of common parent.
5804
58052005-01-03 Ed Schonberg <schonberg@adacore.com>
5806
5807 * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
5808 to determine whether one of the operands is a fixed-point type for
5809 which a user-defined multiplication or division operation might be
5810 defined.
5811
5812 * sem_res.adb (Valid_Conversion): The legality rules for conversions
5813 of access types are symmetric in Ada 2005: either designated type can
5814 be unconstrained.
5815
58162005-01-03 Vincent Celier <celier@adacore.com>
5817
5818 * s-fileio.adb (Temp_File_Record): Change length of string component
5819 Name from L_tmpnam + 1 to max_path_len + 1.
5820
58212005-01-03 Arnaud Charlet <charlet@adacore.com>
5822
5823 * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
5824 Self_Id.Deferral_Level = 0.
5825 (Do_Pending_Action): Move this function to the spec.
5826
5827 * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
5828 Do_Pending_Action explicitely when needed, in case we're using
5829 No_Abort restrictions.
5830
5831 * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
5832 deferral level since it will not get changed by the generated code.
5833 Keeping a default value of 1 would prevent some operations (e.g.
5834 select or delay) to proceed successfully.
5835
58362005-01-03 Ben Brosgol <brosgol@adacore.com>
5837 Robert Dewar <dewar@adacore.com>
5838 Cyrille Comar <comar@adacore.com>
5839
5840 * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
5841 porting guide chapter (vms version).
5842 Revised doc title (removed "for native platforms") and subtitle.
5843 Add discussion on warning flag for obsolescent features. First we
5844 note that it applies to obsolete GNAT features, which was previously
5845 omitted. Second we contrast the behavior with that of the new
5846 Ada 2005 AI-368 restriction No_Obsolescent_Features.
5847 Preliminary rewriting of GNAT & libraries chapter in order to take
5848 into account default project locations & new project manager
5849 capabilities.
5850
58512005-01-03 Robert Dewar <dewar@adacore.com>
5852
5853 * cstand.adb (Create_Operators): Clean up format and documentation of
5854 unary and binary operator result tables. No change in code, just
5855 reformatting and addition of comments.
5856
5857 * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
5858 sem_ch2.adb: Minor reformatting
5859
5860 * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
5861 sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
5862 comments for Tree_Read and Tree_Write.
5863
58642005-01-03 Pascal Obry <obry@adacore.com>
5865
5866 * exp_attr.ads: Minor reformatting.
5867
58682005-01-03 Romain Berrendonner <berrendo@adacore.com>
5869
5870 * comperr.adb (Compiler_Abort): Add specialized message for GAP
5871 versions.
5872
58732005-01-03 Ed Schonberg <schonberg@adacore.com>
5874
5875 * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
5876 whether the ancestor type is private, as may be the case with nested
5877 instantiations.
5878
15cd18b9
SS
58792004-12-30 Sohail Somani <sohail@sohailsomani.com>
5880
5881 PR ada/19128
5882 * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
5883
2614034e 58842004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
15cd18b9 5885
2614034e
EB
5886 * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
5887 * utils2.c (build_unary_op): Likewise.
5888
ad50bc8d
RH
58892004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5890
5891 * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
5892
ed9c846c
RH
58932004-12-19 Richard Henderson <rth@redhat.com>
5894
5895 * trans.c (gigi): Update gimplify_body call.
5896
08f2586c
NS
58972004-12-09 Nathan Sidwell <nathan@codesourcery.com>
5898
5899 * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
5900
180684eb
AC
59012004-12-07 Ed Falis <falis@adacore.com>
5902
5903 * s-intman-vxworks.adb (Notify_Exception): removed useless check for
5904 current task being suspended.
5905
5906 * init.c (__gnat_clear_exception): added to reset VxWorks exception
5907 count.
5908 (__gnat_map_signal): removed test for current task being suspended.
5909
59102004-12-07 Gary Dismukes <dismukes@adacore.com>
5911
5912 * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
5913 from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
5914 targets (such as AAMP).
5915
59162004-12-07 Ed Schonberg <schonberg@adacore.com>
5917
5918 * atree.adb (Visit_Itype): Create a new name for the generated itype,
5919 because the back-end may otherwise treat it as a redefinition of the
5920 old symbol.
5921
59222004-12-07 Eric Botcazou <ebotcazou@adacore.com>
5923
5924 * back_end.adb (Scan_Back_End_Switches): Accept --param.
5925
5926 * lang-specs.h: Accept --param.
5927
59282004-12-07 Vincent Celier <celier@adacore.com>
5929
5930 * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
5931 package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
5932 Current_Body_Suffix => Ada_Body_Suffix).
5933 Take into account Externally_Built attribute.
5934
5935 * clean.adb (In_Extension_Chain): Always return False when one of the
5936 parameter is No_Project.
5937 (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
5938 Ada_Language_Index).
5939 (Gnatclean): Adapt to change in package Prj.Pars (no parameter
5940 Process_Languages for procedure Parse).
5941
5942 * gnatcmd.adb (Carg_Switches): New table.
5943 (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
5944 Adapt to name changes in package Prj (Current_Spec_Suffix =>
5945 Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
5946
5947 * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
5948 Header_Num and function Hash are now declared in package Prj,
5949 not Prj.Com.
5950
5951 * prj.adb (Suffix_Of): New function.
5952 (Set (Suffix)): New procedure.
5953 (Hash): One function moved from Prj.Com
5954 (Is_Present, Language_Processing_Data_Of): New functions
5955 (Set): Two new procedures
5956 (Add_Language_Name, Display_Language_Name): New procedures
5957
5958 * prj.ads: (Suffix_Of): New function
5959 (Set (Suffix)): New procedure
5960 Add several types and tables for multi-language support.
5961 (Header_Num): Type moved from Prj.Com
5962 (Hash): Two functions moved from Prj.Com
5963 (Is_Present, Language_Processing_Data_Of): New functions
5964 (Set): Two new procedures
5965 (Add_Language_Name, Display_Language_Name): New procedures
5966 (Naming): Component name changes:
5967 Current_Spec_Suffix => Ada_Spec_Suffix,
5968 Current_Body_Suffix => Ada_Body_Suffix. Add new components:
5969 Impl_Suffixes, Supp_Suffixes.
5970 (Project_Data): New components: Externally_Built, Supp_Languages,
5971 First_Language_Processing, Supp_Language_Processing, Default_Linker,
5972 Default_Linker_Path.
5973
5974 * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
5975 new package Language_Processing with its attributes (Compiler_Driver,
5976 Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
5977 Binder_Driver, Default_Linker).
5978
5979 * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
5980 (Header_Num): Type moved to package Prj
5981
5982 * prj-env.adb: Adapt to name changes in package Prj
5983 (Current_Spec_Suffix => Ada_Spec_Suffix,
5984 Current_Body_Suffix => Ada_Body_Suffix).
5985
5986 * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
5987 default to the project path, except the "-" is one of the directories
5988 in env var ADA_PROJECT_PATH.
5989 (Current_Project_Path): Global variable, replacing Project_Path
5990 that was in the body of Prj.Part.
5991 (Project_Path): New function
5992 (Set_Project_Path): New procedure
5993 Initialize Current_Project_Path during elaboration of the package
5994 Remove dependency on Prj.Com, no longer needed
5995
5996 * prj-ext.ads (Project_Path): New function
5997 (Set_Project_Path): New procedure
5998
5999 * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
6000 suffix is defined for language <lang>.
6001 (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
6002 accessing directly the components of Naming.
6003 (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
6004 Reorganise of this package.
6005 Break procedure Check in several procedures.
6006
6007 * prj-nmsc.ads: Replace all procedures (Ada_Check,
6008 Other_Languages_Check and Language_Independent_Check) with a single
6009 procedure Check.
6010
6011 * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
6012 Process_Languages, no longer needed.
6013
6014 * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
6015 Current_Project_Path.
6016 Remove elaboration code, moved to the body of Prj.Ext
6017 Use new function Prj.Ext.Project_Path instead of old variable
6018 Project_Path.
6019 (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
6020 When comparing with project paths on the stack, first put the resolved
6021 path in canonical case.
6022 (Parse_Single_Project): Set the path name of the project file in the
6023 tree to the normalized path.
6024
6025 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
6026 parameter Process_Languages, no longer needed.
6027 (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
6028 Other_Languages_Check.
6029
6030 * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
6031 to store the resolved canonical path of the project file.
6032 Remove dependency to Prj.Com, no longer needed
6033
6034 * prj-util.adb: Adapt to name changes in package Prj
6035 (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
6036 Ada_Body_Suffix).
6037
6038 * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
6039 Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
6040 Externally_Built, Include_Option, Language_Processing.
6041
6042 * makegpr.adb: Numerous changes due to changes in packages
6043 Prj and Prj.Nmsc.
6044
6045 * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
6046 default to the project path, except whe "-" is one of the directories
6047 in env var ADA_PROJECT_PATH.
6048 (Gnatls): In verbose mode, add the new section "Project Search Path:"
6049
60502004-12-07 Robert Dewar <dewar@adacore.com>
6051
6052 * debug.adb: Document that -gnatdA automatically sets -gnatR3m
6053
6054 * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
6055 set -gnatR3m mode.
6056
6057 * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
6058 flag. No longer needed now that we handle this in gnat1drv.adb.
6059
6060 * repinfo.ads: Minor reformatting
6061
60622004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6063 Olivier Hainque <hainque@adacore.com>
6064 Eric Botcazou <ebotcazou@adacore.com>
6065
6066 * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
6067 TYPE_SIZE_UNIT of result type if SIZE is not specified.
6068 (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
6069 of a bitfield, which we know is useless and causes trouble because of
6070 alignment implications.
6071
6072 * utils.c (create_var_decl): Set DECL_COMMON again on targets without
6073 BSS sections.
6074 (process_attributes): Clear DECL_COMMON again when a section attribute
6075 is present.
6076 (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
6077 SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
6078 (create_field_decl): Special case ADDRESSABLE negative to mean
6079 "no bitfield creation", to be used by make_aligning_type. Don't
6080 restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
6081 fields claimed addressable still have to be bitfields. Use
6082 value_factor_p instead of a raw binop construction to check for the
6083 position's alignment.
6084
60852004-12-07 Geert Bosch <bosch@adacore.com>
6086
6087 * eval_fat.adb: Revert previous change.
6088
60892004-12-07 Thomas Quinot <quinot@adacore.com>
6090 Ed Schonberg <schonberg@adacore.com>
6091
6092 * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
6093 with an implicit dereference as its prefix, use
6094 Insert_Explicit_Dereference instead of merely rewriting the prefix into
6095 an explicit dereference. This ensures that a reference to the original
6096 prefix is generated, if appropriate.
6097
6098 * sem_util.adb (Insert_Explicit_Dereference): When an implicit
6099 dereference is rewritten to an explicit one, generate a reference to
6100 the entity denoted by its prefix using the original prefix node, so
6101 the dereference can be properly recorded as a read of the denoted
6102 access value, if appropriate.
6103
6104 * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
6105 emitting 'assigned but never read' warning on a variable on the basis
6106 that it has an access type.
6107 (Check_References): Emit unreferenced warning when the scope is a
6108 subprogram body.
6109
61102004-12-07 Robert Dewar <dewar@adacore.com>
6111 Ed Schonberg <schonberg@adacore.com>
6112
6113 * exp_ch6.adb (Expand_Call): Add comment on handling of back end
6114 intrinsic
6115
6116 * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
6117 leaving call unchanged.
6118 This deals with the case where the pragma Import specified
6119 an external name, to be handled by the back end.
6120
6121 * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
6122 subprogram which is Imported with convention Intrinsic if an
6123 External_Name argument is specified.
6124 (Process_Import_Or_Interface): Properly diagnose link name argument.
6125 (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
6126 with Sem_Ch6.Cannot_Inline.
6127 (Process_Inline): Provide separate warning for inapplicable inline
6128 pragma.
6129 (Cannot_Inline): Reject subprograms that have an at_end handler, so that
6130 treatment is uniform on different targets.
6131
61322004-12-07 Ed Schonberg <schonberg@adacore.com>
6133
6134 * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
6135 construct is rewritten, preserve end label to permit source navigation.
6136
61372004-12-07 Thomas Quinot <quinot@adacore.com>
6138
6139 * exp_dist.adb (Specific_Build_General_Calling_Stubs,
6140 Specific_Build_Stub_Target): New subprograms.
6141 (Build_Subprogram_Calling_Stubs): Make this procedure independent from
6142 the PCS implementation used, using the above PCS-customized subprograms.
6143 Minor reformatting.
6144 (PolyORB_Support.Helpers): New subunit containing supporting subprograms
6145 for generation of DSA code targeted to the PolyORB PCS.
6146 (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
6147 implementation of the partition communication subsystem in ancillary
6148 subprograms.
6149 (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
6150 PolyORB_Support.Build_Stub_Type): New subrograms containing the
6151 PCS-specific part of Add_Stub_Type.
6152 (Insert_Partition_Check): Use runtime library function to perform
6153 E.4(19) check.
6154
a1286ef5
ZW
6155 * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
6156 (RE_Same_Partition): New entity, from s-parint.
180684eb 6157
a1286ef5 6158 * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
180684eb
AC
6159
61602004-12-07 Gary Dismukes <dismukes@adacore.com>
6161
6162 * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
6163 Output the copyright message on a separate line from the version
6164 message.
6165
61662004-12-07 Joel Brobecker <brobecker@adacore.com>
6167
6168 * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
6169 compile-time warning.
6170
61712004-12-07 Robert Dewar <dewar@adacore.com>
6172
6173 * g-regpat.adb: (Match): Change a misuse of or to or else
6174
61752004-12-07 Ed Schonberg <schonberg@adacore.com>
6176
15cd18b9 6177 * lib-xref.adb:
180684eb
AC
6178 (Generate_Reference): Handle properly a reference to an entry formal,
6179 when an accept statement has a pragma Unreferenced for it.
6180
6181 * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
6182 and the Has_Pragma_Unreferenced flag for each formal before analyzing
6183 the body, to ensure that warnings are properly emitted for each accept
6184 statement of a given task entry.
6185
61862004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
6187
6188 * Makefile.in: Add support for foreign threads on VMS.
6189
61902004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6191
6192 * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
6193 Remove.
6194 (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
6195
6196 * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
6197
6198 * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
6199 exception.
6200 (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
6201
62022004-12-07 Robert Dewar <dewar@adacore.com>
6203
6204 * nlists.adb (Prepend_Debug): Remove parameters and nest within
6205 Prepend.
6206 (Remove_Next_Debug): Same fix
6207
6208 * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
6209 maintain back pointers now, though we did not used to, and comments
6210 were out of date).
6211 (Prepend): Remove pragma Inline.
6212 (Remove_Next): Same cleanup
6213
62142004-12-07 Thomas Quinot <quinot@adacore.com>
6215
6216 * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
6217 used to record an implicit dereference as a read operation on its
6218 prefix when operating under -gnatc. Necessary to avoid spurious
6219 'variable assigned but never read' warnings in that mode.
6220 (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
6221 is a non-overloaded implicit dereference, call the above subprogram to
6222 ensure proper recording of references.
6223
62242004-12-07 Gary Dismukes <dismukes@adacore.com>
6225
6226 * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
6227 to be resolved later as part of Analyze_Iteration_Scheme's call to
6228 Make_Index.
6229
62302004-12-07 Ed Schonberg <schonberg@adacore.com>
6231
6232 * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
6233 prefix is not a scalar type, place error message on prefix, not on
6234 type entity.
6235
62362004-12-07 Bernard Banner <banner@adacore.com>
6237
6238 * vxaddr2line.adb: Add support for x86 vxworks
6239
62402004-12-07 Thomas Quinot <quinot@adacore.com>
6241
6242 * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
6243 documentation of the behaviour of these functions when passed an IP
6244 address that has no record in the system hosts database and no reverse
6245 record in the DNS.
6246
6247 * cstand.adb, a-tags.ads: Fix typos in comment.
6248
62492004-12-07 Robert Dewar <dewar@adacore.com>
6250
6251 * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
6252 exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
6253 sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
6254 s-poosiz.ads: Minor reformatting
6255
6256 * make.adb: Minor reformatting
6257 Add some ??? comments asking for more comments
6258
6259 * s-poosiz.adb: Minor reformatting
6260 Add comments on alignment requirement
6261
6262 * sinfo.ads: Remove obsolete comment and fix typo.
6263
62642004-12-07 Vincent Celier <celier@adacore.com>
6265 Sergey Rybin <rybin@adacore.com>
6266
6267 * gnat_ugn.texi: Update the section "The GNAT Driver and Project
6268 Files" with the new tool and package names.
6269 Reformatting to suppress most of the warnings for line too long
6270 Document the new section "Project Search Path:" in the output of
6271 gnatls -v.
6272 Add gnatmetric section
6273
62742004-12-07 Vincent Celier <celier@adacore.com>
6275
6276 * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
6277 -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
6278 and -eit to -ept. Added qualifier
6279 /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
6280
ed986c8e
AS
62812004-11-27 Andreas Schwab <schwab@suse.de>
6282
6283 * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
6284
3c13948a
AC
62852004-11-25 Arnaud Charlet <charlet@adacore.com>
6286
6287 * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
6288 internal implementation unit GNAT.Sockets.Thin,
6289 as their usage for sockets is non-portable (using the read and write
6290 functions from the system runtime library is fine on UNIX but won't
6291 work under Windows).
6292
6293 * mingw32.h: Update copyright notice.
6294
061fd2bf
AC
62952004-11-25 Arnaud Charlet <charlet@adacore.com>
6296
6297 * ada-tree.h: Minor reformatting of previous change to avoid lines
6298 longer than 79 characters.
6299
e850e1f4
OH
63002004-11-25 Olivier Hainque <hainque@adacore.com>
6301
6302 * tb-gcc.c: GCC infrastructure based implementation of
6303 __gnat_backtrace.
6304
39afeb1a
SB
63052004-11-24 Steven Bosscher <stevenb@suse.de>
6306
6307 * misc.c (gnat_post_options): Don't clear
6308 flag_inline_functions.
6309
9633a6ac
AP
63102004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
6311
6312 PR ada/17986
6313 * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
6314 tree.
6315
7fe16580
AJ
63162004-11-21 Andreas Jaeger <aj@suse.de>
6317
6318 * stylesw.adb: Change Style_Check_Subprogram_Order to
6319 Style_Check_Order_Subprograms.
6320
9716416b
AC
63212004-11-18 Arnaud Charlet <charlet@adacore.com>
6322
6323 * adaint.h, adaint.c
6324 (__gnat_portable_spawn): Fix cast of spawnvp third parameter
6325 to avoid warnings.
6326 Add also a cast to kill another warning.
6327 (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
6328 parameter with the priority class of the parent process instead of
6329 always using the NORMAL_PRIORITY_CLASS.
6330 (__gnat_dup): New function.
6331 (__gnat_dup2): New function.
6332 (__gnat_is_symbolic_link): Enable the effective body of this
6333 function when __APPLE__ is defined.
6334
6335 * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
6336 Update comments.
6337
63382004-11-18 Olivier Hainque <hainque@adacore.com>
6339
6340 * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
6341 address of which may be used to represent "others" and "all others"
6342 choices in exception tables, instead of the current harcoded
6343 (void *)0 and (void *)1.
6344 (Setup_Exception): Do nothing in the GNAT SJLJ case.
6345
6346 * gigi.h (others_decl, all_others_decl): New decls representing the
6347 new Others_Value and All_Others_Value objects.
6348 (struct attrib): Rename "arg" component as "args", since GCC expects a
6349 list of arguments in there.
6350
6351 * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
6352 corresponding objects exported by a-exexpr, instead of hardcoded dummy
6353 addresses.
6354
6355 * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
6356 others_decl and all_others_decl instead of hardcoded dummy addresses
6357 to represent "others" and "all others" choices, which is cleaner and
6358 more flexible with respect to the possible eh pointer encoding policies.
6359
6360 * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
6361 (process_attributes): Account for the naming change of the "args"
6362 attribute list entry component.
6363
6364 * decl.c (build_attr_list): Rename into prepend_attributes to allow
6365 cumulating attributes for different entities into a single list.
6366 (gnat_to_gnu_entity): Use prepend_attributes to build the list of
6367 attributes for the current entity and propagate first subtype
6368 attributes to other subtypes.
6369 <E_Procedure>: Attribute arguments are attr->args and not
6370 attr->arg any more.
6371 (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
6372 argument provided, as this is what GCC expects. Use NULL_TREE instead
6373 of 0 for trees.
6374
63752004-11-18 Robert Dewar <dewar@adacore.com>
6376
15cd18b9 6377 * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
9716416b
AC
6378 Minor reformatting througout (including new function specs)
6379 Add ??? comments asking for clarification.
6380
63812004-11-18 Thomas Quinot <quinot@adacore.com>
6382
6383 * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
6384 incomplete duplicate implementation of this subprogram from butil.
6385
63862004-11-18 Thomas Quinot <quinot@adacore.com>
6387
6388 * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
6389 procedures factors the common processing for building an RPC receiver
6390 for an RCI package or an RACW type.
6391 Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
6392 Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
6393 (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
6394 in use.
6395 (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
6396 Add_RACW_Features.
6397 (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
6398 Add_RAST_Features.
6399 (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
6400 distribution subprogram identifiers that are either subprogram numbers
6401 or strings.
6402 (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
6403 string distribution identifiers assigned to a given subprogram.
6404 (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
6405 (Add_RAS_Dereference_TSS): Add comments.
6406 (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
6407 is not referenced yet because it will be used by the PolyORB DSA
6408 implementation.
6409 (Insert_Partition_Check): Remove fossile code.
6410 (First_RCI_Subprogram_Id): Document this constant.
6411 (Add_RAS_Access_TSS): Correct the setting of the Etype of the
6412 RAS_Access TSS.
6413 (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
6414 replaced with calls to Get_Library_Unit_Name_String. Previously there
6415 were several instances of the same code in different locations in the
6416 compiler; this checkin completes the replacement of all of these
6417 instances with calls to a common subprogram.
6418 Minor reformatting.
6419
6420 * sem_dist.adb: Remove comment noting that RPC receiver generation
6421 should be disabled for RACWs that implement RASs.
6422 (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
6423
6424 * sem_util.ads, sem_util.adb (Has_Stream): New function
6425 (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
6426 qualified name of a library unit into the name buffer.
6427 (Note_Possible_Modification): Generate a reference only
6428 if the context comes from source.
6429
6430 * snames.ads (PCS_Names): New subtype corresponding to names of
6431 supported implementations of the Partition Communication Subsystem
6432 (PCS) (i.e. the runtime library support modules for the distributed
6433 systems annex).
6434
64352004-11-18 Robert Dewar <dewar@adacore.com>
6436 Ed Schonberg <schonberg@adacore.com>
6437
6438 * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
6439 (Has_Rep_Pragma): New function
6440 (Has_Attribute_Definition_Clause): New function
6441 (Record_Rep_Pragma): Moved here from sem_ch13.adb
6442 (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
6443
6444 * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
6445
6446 * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
6447 (Expand_Pragma_Psect_Object): New procedure
6448 These procedures contain the revised and cleaned up processing for
6449 these two pragmas. This processing was formerly in Sem_Prag, but
6450 is more appropriately moved here. The cleanup involves making sure
6451 that the pragmas are properly attached to the tree, and that no
6452 nodes are improperly shared.
6453
6454 * sem_prag.adb: Move expansion of Common_Object and Psect_Object
6455 pragmas to Exp_Prag, which is more appropriate.
6456 Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
6457 check for duplicates Remove use of Is_Psected flag, no longer needed.
6458 Use new Make_String_Literal function with string.
6459
6460 * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
6461 that are functions return universal values, that have to be converted
6462 to the context type.
6463 Use new Make_String_Literal function with string.
6464 (Get_Stream_Convert_Pragma): New function, replaces the use of
6465 Get_Rep_Pragma, which had to be kludged to work in this case.
6466
6467 * freeze.adb: Use new Has_Rep_Pragma function
6468
6469 * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
6470 function with string.
6471 Use new Has_Rep_Pragma function.
6472
6473 * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
6474 string argument.
6475
64762004-11-18 Robert Dewar <dewar@adacore.com>
6477
6478 * errout.ads, errout.adb: (First_Sloc): New function
6479
6480 * par-ch5.adb (P_Condition): Check for redundant parens is now a style
6481 check (-gnatyx) instead of being included as a redundant construct
6482 warning.
6483
6484 * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
6485 Style_Check_Order_Subprograms.
6486
6487 * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
6488 stylesw.adb: Add Style_Check_Xtra_Parens
6489
6490 * usage.adb: Add line for -gnatyx (check extra parens)
6491
6492 * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
6493
64942004-11-18 Ed Schonberg <schonberg@adacore.com>
6495 Robert Dewar <dewar@adacore.com>
6496
6497 * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
6498 discriminant of a constrained subtype, analyze the copy of the
6499 corresponding constraint, because in some cases it may be only
6500 partially analyzed.
6501 Removes long-lived ??? comments.
6502
6503 * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
6504 handled controlled or secondary-stack expressions within the
6505 iteration_scheme of a loop.
6506
6507 * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
6508 bounds that may contain functions calls, to prevent memory leaks when
6509 the bound contains a call to a function that uses the secondary stack.
6510 (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
6511 generate temporaries for loop bounds that might contain function calls
6512 that require secondary stack and/or finalization actions.
6513
6514 * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
6515 selected component and the selector is overloadable (not just a
6516 function) treat as function call, Analyze_Call will disambiguate if
6517 necessary.
6518 (Analyze_Selected_Component): Do not generate an actual subtype for the
6519 selected component if expansion is disabled. The actual subtype is only
6520 needed for constraint checks.
6521 (Analyze_Allocator): If restriction No_Streams is set, then do
6522 not permit objects to be declared of a stream type, or of a
6523 composite type containing a stream.
6524
6525 * restrict.ads: Remove the a-stream entry from Unit_Array, since
6526 No_Streams no longer prohibits with'ing this package.
6527
6528 * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
6529 discriminants, but the parent base has unknown discriminants, there is
6530 no discriminant constraint to inherit. Such a discrepancy can arise
6531 when the actual for a formal type with unknown discriminants is a
6532 similar private type whose full view has discriminants.
6533 (Analyze_Object_Declaration): If restriction No_Streams is set, then
6534 do not permit objects to be declared of a stream type, or of a
6535 composite type containing a stream.
6536
65372004-11-18 Ed Schonberg <schonberg@adacore.com>
6538
6539 * exp_dbug.ads: Update documentation to reflect simpler encoding for
6540 protected operations.
6541
6542 * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
6543 generated name, it complicates decoding in gdb and hinders debugging
6544 of protected operations.
6545 (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
6546 flag for the protected entry barrier function.
6547 (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
6548 flag for the protected entry function.
6549
65502004-11-18 Nicolas Setton <setton@adacore.com>
6551
6552 * expect.c: Define __unix__ when __APPLE__ is defined.
6553
6554 * Makefile.in: Inform the value of the variable GMEM_LIB in the
6555 Darwin-specific section.
6556
6557 * lang-specs.h: Change the placement of the %1 marker.
6558 Works around the fact that gcc adds -fPIC by default under Darwin.
6559
65602004-11-18 Ed Schonberg <schonberg@adacore.com>
6561
6562 * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
6563 type of the object with the packed array type, set the Analyzed flag
6564 on the object if it is an entity or simple indexed component, to avoid
6565 spurious type errors.
6566
65672004-11-18 Gary Dismukes <dismukes@adacore.com>
6568
6569 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
6570 gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
6571 separate line from the version message.
6572
65732004-11-18 Ed Falis <falis@adacore.com>
6574
6575 * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
6576 vthreads.
6577 (init_float): Eliminate initialization of floating point status for
6578 AE653. The instructions have no effect for vThreads.
6579
65802004-11-18 Vincent Celier <celier@adacore.com>
6581
6582 * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
6583 gnatbind is invoked with -shared.
6584
65852004-11-18 Jose Ruiz <ruiz@adacore.com>
6586
6587 * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
6588 for Detect_Blocking which is redundant with the check done within the
6589 procedure Protected_Single_Entry_Call.
6590 (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
6591 Detect_Blocking which is redundant with the check done within the
6592 procedure Protected_Single_Entry_Call.
6593
65942004-11-18 Vincent Celier <celier@adacore.com>
6595
6596 * makegpr.adb (Compile): Put the compiling switches (in package
6597 Compiler and on the command line) immediately after "-c", instead of
6598 at the end of the command line invocation of the compiler, when
6599 compiling a non-Ada file.
6600 (Build_Global_Archive): When there is no need to rebuild the archive,
6601 set Global_Archive_Exists, so that the archive is passed to the linker
6602 if one is needed.
6603
66042004-11-18 Robert Dewar <dewar@adacore.com>
6605 Sergey Rybin <rybin@adacore.com>
6606
15cd18b9 6607 * gnat_ugn.texi:
9716416b
AC
6608 Remove extra paren check from list of checks for redundant constructs
6609 Add documentation of new -gnatyx style check (check extra parens)
6610 Remove paragraph about gnatelim debug options.
6611
6612 * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
6613 objects rather than forbidding dependencies on the package Ada.Streams.
6614
6615 * sinfo.ads: Add ??? note that we should document pragmas passed to
6616 back end.
6617
6618 * g-expect.ads: Fix a few typos in the comments.
6619
9e637a26
JM
66202004-11-09 Joseph S. Myers <joseph@codesourcery.com>
6621
6622 * misc.c (gnat_handle_option): Use %< and %> for quoting in
6623 warning message.
6624
0506cb1c
RO
66252004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6626
6627 * a-numaux-x86.adb (Tan): Fix fdivp syntax.
6628
426e7d28
AS
66292004-11-07 Andreas Schwab <schwab@suse.de>
6630
6631 * Makefile.in (install-gnatlib): Remove spurious hyphen.
6632
8785609e 66332004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
bb342a77
AP
6634
6635 PR ada/18228
6636 * Makefile.in (darwin): Set soext to .dylib.
6637
0ca5fab2
AC
66382004-10-26 Vincent Celier <celier@gnat.com>
6639 Thomas Quinot <quinot@act-europe.fr>
6640
6641 * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
6642 (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
6643 there is no use of GNAT.Sockets.Constants.
6644 Remove remaining pragma Import for C_Write
6645 Remove C_Read and C_Write from internal implementation unit
6646 GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
6647 the read and write functions from the system runtime library is fine
6648 on UNIX but won't work under Windows).
6649
6650 * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
6651 (Check_Selector): Use C_Recv instead of C_Read.
6652 Selectors are the GNAT.Sockets abstraction to perform a select()
6653 call on a set of descriptors. To allow abortion of an ongoing
6654 select operation, some data is written to a dedicated socket that
6655 is always monitored.
6656 Under Windows, the write and read library functions cannot operate
6657 on sockets, so we need to use send and recv instead, which is portable
6658 across all supported platforms.
6659
6660 * g-socthi.ads: Remove C_Read and C_Write from internal implementation
6661 unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
6662 (using the read and write functions from the system runtime library is
6663 fine on UNIX but won't work under Windows).
6664
66652004-10-26 Nicolas Setton <setton@act-europe.fr>
6666
6667 * mlib-tgt-darwin.adb: New file.
6668
6669 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
6670 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
6671 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
6672 mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
6673 subprogram body.
6674
6675 * Makefile.in: Add support for building shared libraries under Darwin.
6676 (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
6677 the low level EH init subprogram to be called from __gnat_initialize.
6678
6679 * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
6680 indicates which options to pass to the archive indexer.
6681
6682 * mlib-utl.adb: Add support for calling ranlib with additional
6683 options. This is needed for instance under Mac OS X.
6684 (Ranlib_Options): New global variable, used to store the potential
6685 options to pass to ranlib.
6686 (Ar): Use Ranlib_Options when spawning ranlib.
6687 (Initialize): Set the value of ranlib option.
6688
66892004-10-26 Olivier Hainque <hainque@act-europe.fr>
6690
6691 * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
6692 instead of 8K, to reflect the real potential needs for stack-checking
6693 in the ZCX case.
6694
66952004-10-26 Pascal Obry <obry@gnat.com>
6696
6697 * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
6698
6699 * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
6700 Windows only the initial thread stack size can be set so it is good to
6701 start we a low stack size.
6702 The OS will adjust the size as needed.
6703
67042004-10-26 Olivier Hainque <hainque@act-europe.fr>
6705 Nicolas Setton <setton@act-europe.fr>
6706
6707 * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
6708 "__unix__" instead of "unix".
6709 The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
6710 sections were just mistakenly ignored. The former is
6711 implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
6712 Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
6713 of hpux. This prevents an unwanted definition of the symbol
6714 convert_addresses in adaint.o.
6715
67162004-10-26 Gary Dismukes <dismukes@gnat.com>
6717
6718 * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
6719 compatibility with type Unwind_Word on 16-bit targets such as AAMP.
6720
67212004-10-26 Cyrille Comar <comar@act-europe.fr>
6722
6723 * a-filico.ads, a-filico.adb: fix incorrect header.
6724
67252004-10-26 Javier Miranda <miranda@gnat.com>
6726
6727 * a-ststio.ads: Fix typo in identifier
6728
67292004-10-26 Thomas Quinot <quinot@act-europe.fr>
6730
6731 * sem_ch4.adb: Minor reformatting.
6732
67332004-10-26 Ed Schonberg <schonberg@gnat.com>
6734
6735 * checks.adb (Expr_Known_Valid): If floating-point validity checks are
6736 enabled, check the result of unary and binary operations when the
6737 expression is the right-hand side of an assignment.
6738
67392004-10-26 Vincent Celier <celier@gnat.com>
6740
6741 * clean.adb (Delete): Do not output warnings when in quiet output and
6742 not in verbose mode.
6743 (Force_Deletions): New Boolean flag, defaulted to False
6744 (Delete): Only delete a file if it is writable, and when
6745 Force_Deletions is True.
6746 (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
6747 (Usage): Line for new switch -f
6748 (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
6749 own.
6750
67512004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
6752
6753 * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
6754 JM type only if its size matches that of the wrapper. When a size is
6755 prescribed and the field is not aliased, remove the wrapper of a JM
6756 type only if the size is not greater than that of the packed array.
6757 (gnat_to_gnu_entity): Change the extension of packed array wrappers
6758 from LJM to JM.
6759
67602004-10-26 Geert Bosch <bosch@gnat.com>
6761
6762 * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
6763 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
6764 (Pred): Implement in terms of Succ.
6765
67662004-10-26 Ed Schonberg <schonberg@gnat.com>
6767
6768 * exp_aggr.adb (Safe_Component): An aggregate component that is an
6769 unchecked conversion is safe for in-place use if the expression of the
6770 conversion is safe.
6771 (Expand_Array_Aggregate): An aggregate that initializes an allocator may
6772 be expandable in place even if the aggregate does not come from source.
6773 (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
6774 designated object of an allocator in place, rather than building it
6775 first on the stack. The previous scheme forces a full copy of the array,
6776 and may be altogether unsusable if the size of the array is too large
6777 for stack allocation.
6778
67792004-10-26 Robert Dewar <dewar@gnat.com>
6780
6781 * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
6782 compares if the component is atomic.
6783
6784 * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
6785 array assignment if the component type is atomic.
6786
67872004-10-26 Ed Schonberg <schonberg@gnat.com>
6788 Eric Botcazou <ebotcazou@act-europe.fr>
6789
6790 * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
6791 is aliased and is a by_reference type, do not pass by copy.
6792 (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
6793 detect whether the call is in the right side of an assignment or
6794 the expression of an object declaration. Recurse on component
6795 association within aggregates.
6796 Call it in the condition that determines whether the temporary is
6797 necessary for correct stack-checking.
6798
67992004-10-26 Thomas Quinot <quinot@act-europe.fr>
6800
6801 * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
6802 RACW_Type, used in the PolyORB version.
6803 Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
6804 version and the GARLIC version.
6805
15cd18b9 6806 * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
0ca5fab2
AC
6807 Rename RCI_Info to RCI_Locator for better consistency between the
6808 GARLIC and PolyORB versions of the distributed systems annex.
6809 (DSA_Implementation_Name): This enumeration lists the possible
6810 implementations of the Partition Communication Subsystem for the
6811 Distributed Systems Annex (DSA). The three available implementations
6812 are the dummy stub implementation (No_DSA), and two versions based on
6813 two different distribution runtime libraries: GARLIC and PolyORB. Both
6814 the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
6815 technology.
6816 Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
6817 that organization.
6818
6819 * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
6820 between the GARLIC and PolyORB versions of the distributed systems
6821 annex.
6822 Remove RE_Unbounded_Reclaim_Pool since it is unused.
6823
68242004-10-26 Gary Dismukes <dismukes@gnat.com>
6825
6826 * gnat1drv.adb: Suppress calling the back end when
6827 Frontend_Layout_On_Target is true.
6828
68292004-10-26 Thomas Quinot <quinot@act-europe.fr>
6830
6831 * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
6832 Set_Read_Only): New subprograms.
6833 These new routines allow the user to set or unset the Owner execute
6834 and Owner write permission flags on a file.
6835
6836 * makegpr.adb, mlib.adb, mlib-prj.adb: Use
6837 GNAT.OS_Lib.Set_Executable instead of rolling our own.
6838
68392004-10-26 Matthew Gingell <gingell@gnat.com>
6840
6841 * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
6842
68432004-10-26 Pascal Obry <obry@gnat.com>
6844
6845 * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
6846 memory before the faulting page we properly test the process read
6847 access for this address using appropriate Win32 routine.
6848 (HPUX sections): guard with "__hpux__" instead of "hpux".
6849
68502004-10-26 Robert Dewar <dewar@gnat.com>
6851
6852 * lib-xref.adb (Generate_Reference): Don't complain about reference to
6853 entry parameter if pragma Unreferenced set, since we do not properly
6854 handle the case of multiple parameters.
6855
68562004-10-26 Vincent Celier <celier@gnat.com>
6857
6858 * prj-env.adb: (Contains_ALI_Files): New Boolean function
6859 (Ada_Objects_Path.Add): For a library project, add to the object path
6860 the library directory only if there is no object directory or if the
6861 library directory contains ALI files.
6862 (Set_Ada_Paths.Add.Recursive_Add): Ditto
6863
68642004-10-26 Vincent Celier <celier@gnat.com>
6865
6866 * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
6867 extension of library projects.
6868
6869 * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
6870 path defaults to ".:<prefix>/lib/gnat".
6871 (Parse): For an extending all project, allow direct import of a project
6872 that is virtually extended.
6873
6874 * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
6875 the specified name is directly imported, return its ID. Otherwise, if
6876 an extension of this project is imported, return the ID of the
6877 extension.
6878
68792004-10-26 Robert Dewar <dewar@gnat.com>
6880
6881 * s-arit64.adb: (Le3): New function, used by Scaled_Divide
6882 (Sub3): New procedure, used by Scaled_Divide
6883 (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
6884 correct more than one instance of failure to propagate carries
6885 correctly.
6886 (Double_Divide): Handle overflow case of largest negative number
6887 divided by minus one.
6888
6889 * s-arit64.ads (Double_Divide): Document that overflow can occur in
6890 the case of a quotient value out of range.
6891 Fix comments.
6892
68932004-10-26 Robert Dewar <dewar@gnat.com>
6894
6895 * s-bitops.adb (Bit_Eq): Remove redundant check.
6896
6897 * s-bitops.ads: Minor comment updates
6898 Change some occurrences of Address to System.Address
6899
6900 * s-carsi8.ads: Fix minor cut-and-paste error in comments
6901
69022004-10-26 Ed Schonberg <schonberg@gnat.com>
6903
6904 * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
6905 accessibility check to prefix that is a protected operation.
6906
69072004-10-26 Ed Schonberg <schonberg@gnat.com>
6908
6909 * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
6910 empty, post message on stub.
6911
69122004-10-26 Ed Schonberg <schonberg@gnat.com>
6913 Javier Miranda <miranda@gnat.com>
6914
6915 * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
6916 current instance appears within a unit that is directly in the context
6917 of the main unit.
6918 Used to determine whether the body of the instance should be analyzed
6919 immediately after its spec, to make its subprogram bodies available
6920 for front-end inlining.
6921 (Analyze_Formal_Array_Type): Cleanup condition that checks that range
6922 constraint is not allowed on the component type (AARM 12.5.3(3))
6923
69242004-10-26 Cyrille Comar <comar@act-europe.fr>
6925
6926 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
6927 'Storage_Pool): enhance, document & limit detection of non-sharable
6928 internal pools.
6929
6930 * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
6931
6932 * s-pooglo.ads: Add more documentation now that this pool is properly
6933 documented.
6934
69352004-10-26 Ed Schonberg <schonberg@gnat.com>
6936
6937 * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
6938 or protected type with discriminants, do not constrain the
6939 corresponding record type if the subtype declaration has no
6940 discriminant constraints. This can be the case in source code, or in
6941 the subtype declaration created to rename an actual type within an
6942 instantiation.
6943
69442004-10-26 Ed Schonberg <schonberg@gnat.com>
6945
6946 * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
6947 different kind of stub (possibly wrong name for file), do not check
6948 for conformance.
6949 (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
6950 includes call to some function that returns an unconstrained type, do
6951 not inline.
6952
69532004-10-26 Ed Schonberg <schonberg@gnat.com>
6954
6955 * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
6956 appear in the code for the main unit. Dependencies among units in the
6957 context of the main unit are established when those other units are
6958 compiled. Otherwise spurious elaboration constraints can generate
6959 incorrect elaboration circularities.
6960
69612004-10-26 Thomas Quinot <quinot@act-europe.fr>
6962 Ed Schonberg <schonberg@gnat.com>
6963
6964 * sem_util.adb (Is_Aliased_View): Defend against the case where this
6965 subprogram is called with a parameter that is not an object name. This
6966 situation arises for some cases of illegal code, which is diagnosed
6967 later, and in this case it is wrong to call Is_Aliased, as that might
6968 cause a compiler crash.
6969 (Explain_Limited_Type): Refine previous fix to include
6970 inherited components of derived types, to provide complete information.
6971
6972 * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
6973 is the prival for a protected object.
6974 It is necessary to mark this entity as a variable, in addition to
6975 flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
6976 modified to avoid checking the Aliased flag on entities that are not
6977 objects. (Checking that flag for non-objects is erroneous and could
6978 lead to a compiler crash).
6979
69802004-10-26 Robert Dewar <dewar@gnat.com>
6981
6982 * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
6983 X_Frac = 0.5, then we know that the number X must be positive.
6984 (Succ): Remove the same redundant test, and also fix the primary test
6985 to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
6986 Minor reformatting
6987 (Decompose): Add fuller comments to spec
6988
69892004-10-26 Pascal Obry <obry@gnat.com>
6990
6991 * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
6992 validity (process must have read access). Set to 0 in all other cases.
6993 (STOP_FRAME): Now check for ptr validity to avoid a segmentation
6994 violation on Win32.
6995 (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
6996 segmentation violation.
6997
69982004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
6999
7000 * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
7001 whose type is a constructed subtype of an aliased object with an
7002 unconstrained nominal subtype, convert the actual to the constructed
7003 subtype before taking its address.
7004
70052004-10-26 Vincent Celier <celier@gnat.com>
7006
7007 * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
7008 (Is_Path_Name_Case_Sensitive): New function
7009
7010 * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
7011 (Base_Name, Simple_Name, Current_Directory, Compose,
7012 Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
7013 the result.
7014
70152004-10-26 Cyrille Comar <comar@act-europe.fr>
7016 Vasiliy Fofanov <fofanov@act-europe.fr>
7017 Vincent Celier <celier@gnat.com>
7018
7019 * gnat_ugn.texi: Generalize "finding memory problems" section into a
7020 "memory management issues" section and document some of the useful
7021 memory pools provided as part of the GNAT library.
7022 Remove "virtual" from declaration of A::method2 in
7023 the simple example of Ada/C++ mixed system.
7024 Library Projects may be virtually extended: their virtual extensions
7025 are not Library Projects.
7026 Added section on extending project hierarchies.
7027
d65c6710 70282004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
aa75e737
AL
7029
7030 * adaint.c (__gnat_get_libraries_from_registry): Cast value
7031 to LPBYTE.
7032 (__gnat_portable_spawn): Remove const.
7033
7034 * mingw32.h (MAXPATHLEN): Check for previous definition.
7035
95e19580
MK
70362004-10-17 Matthias Klose <doko@debian.org>
7037
7038 * gnatvsn.ads: Set gnat library version to 4.0.
7039
88a6ecb6
VC
70402004-10-05 Vincent Celier <celier@gnat.com>
7041
a1286ef5 7042 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
88a6ecb6 7043
110aba14
LG
70442004-10-04 Laurent GUERBY <laurent@guerby.net>
7045
7046 PR ada/15156
7047 * Makefile.in: Define and use RANLIB_FLAGS.
88a6ecb6 7048
09552763
PO
70492004-10-04 Pascal Obry <obry@gnat.com>
7050
7051 * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
7052 other x86 platforms).
7053
a8e490b7
OH
70542004-10-04 Olivier Hainque <hainque@act-europe.fr>
7055
7056 * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
7057 in general and triggers stack alignment adjustment for thread entry
7058 points on targets where this is necessary.
7059
71c10a83
BB
70602004-10-04 Bernard Banner <banner@gnat.com>
7061
7062 PR ada/13897
7063
7064 * Makefile.in: Add section for powerpc linux
7065 Add variant i-vxwork-x86.ads
7066
7067 * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
7068
9a03df55
OH
70692004-10-04 Olivier Hainque <hainque@act-europe.fr>
7070
7071 * init.c (__gnat_initialize): Call an Ada subprogram to perform the
7072 table registration calls when need be. Ensures no reference to the crt
7073 ctors symbol are issued in the SJLJ case, which avoids possible
7074 undefined symbol errors in the case of modules to be statically linked
7075 with the kernel.
7076
28d6470f
JM
70772004-10-04 Javier Miranda <miranda@gnat.com>
7078
7079 * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
7080 in-line the code corresponding to subprogram Analyze_Actuals. In
7081 addition, analyze the actuals only in case of subprogram call.
7082
06237875
EF
70832004-10-04 Ed Falis <falis@gnat.com>
7084
7085 * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
7086
259d6c3a
SR
70872004-10-04 Sergey Rybin <rybin@act-europe.fr>
7088
7089 * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
7090 in the documentation.
7091
6f21ed26
RD
70922004-10-04 Robert Dewar <dewar@gnat.com>
7093
7094 * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
7095 IF and CASE.
7096 (Analyze_Block_Statement): Add circuitry to detect following dead code
7097 (Check_Unreachable_Code): Handle case of block exit
7098
4cded177
RD
70992004-10-04 Robert Dewar <dewar@gnat.com>
7100
7101 * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
7102 (XMatchD): Avoid warning for Logic_Error call
7103
c6a60aa1
RD
71042004-10-04 Robert Dewar <dewar@gnat.com>
7105
7106 * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
7107 consider expressions buried within a procedure actual to be an actual.
7108 This caused some blowups with uses of packed slices within a procedure
7109 actual.
7110
1fdebfe5
RD
71112004-10-04 Robert Dewar <dewar@gnat.com>
7112
7113 * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
7114 longer need to be initialized to zero.
7115 (Get_Simple_Init_Val): Modular packed arrays no longer need to be
7116 initialized to zero.
7117
7118 * checks.adb (Expr_Known_Valid): Packed arrays are now always
7119 considered valid, even if the representation is modular. That's correct
7120 now that we no longer initialize packed modular arrays to zero.
7121
7122 * exp_dbug.ads: Clarify documentation on handling of PAD and JM
7123 suffixes. These are now documented as the only cases in which the
7124 debugger ignores outer records.
7125 Previously, the spec allowed arbitrary suffixes for this purpose.
7126 Change name of LJM to JM for packed array pad records
7127 Create separate section on packed array handling, and add a whole new
7128 set of comments to this section describing the situation with packed
7129 modular types and justification requirements depending on endianness.
7130
cd91501c
RD
71312004-10-04 Robert Dewar <dewar@gnat.com>
7132
7133 * a-except.adb: Add a comment for last change
7134
7135 * einfo.ads: Minor spelling correction in comment
7136
7137 * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
7138
7139 * sem_ch11.adb: Fix a case of using | instead of \ for continuation
7140 messages.
7141
7142 * sem_util.ads: Minor comment update
7143
c71c53a8
ES
71442004-10-04 Ed Schonberg <schonberg@gnat.com>
7145
7146 * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
7147 Inline_Always when in Configurable_Run_Time mode.
7148
7149 * sem_prag.adb (Process_Convention): If entity is an inherited
7150 subprogram, apply convention to parent subprogram if in same scope.
7151 (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
7152 when in Configurable_Run_Time mode.
7153
71d9e9f2
ES
71542004-10-04 Ed Schonberg <schonberg@gnat.com>
7155
7156 * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
7157 class_wide type after component list has been inherited.
7158
0b525bee
ES
71592004-10-04 Ed Schonberg <schonberg@gnat.com>
7160
7161 * sem_ch12.adb (Check_Generic_Actuals): New predicate
7162 Denotes_Previous_Actual, to handle properly the case of a private
7163 actual that is also the component type of a subsequent array actual.
7164 The visibility status of the first actual is not affected when the
7165 second is installed.
7166 (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
7167 make fully recursive the treatment of formals of packages declared
7168 with a box.
7169 (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
7170 the above on exit from an instantiation.
7171 (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
7172 current instantiation which is now complete.
7173 (Analyze_Package_Instantiation): No instantiated body is needed if the
7174 main unit is generic. Efficient, and avoid anomalies when a instance
7175 appears in a package accessed through rtsfind.
7176
27ad9660
ES
71772004-10-04 Ed Schonberg <schonberg@gnat.com>
7178
7179 * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
7180 do not generate a declaration for a temporary if the call is part of a
7181 library-level instantiation.
7182
1c6c6771
ES
71832004-10-04 Ed Schonberg <schonberg@gnat.com>
7184
7185 * sem_util.adb (Explain_Limited_Type): Ignore internal components when
7186 searching for a limited component to flag.
7187
7188 * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
7189 expansion of Input, to account for the fact that the implicit call
7190 generated by the attribute reference must freeze the user-defined
7191 stream subprogram. This is only relevant to 'Input, because it can
7192 appear in an object declaration, prior to the body of the subprogram.
7193
7194 * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
7195 expansion can proceed and further errors uncovered.
7196 (Minor clean up): Fix cases of using | instead of \ for continuation
7197 messages.
7198
8005f3e5
RK
71992004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7200
7201 * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
7202
7203 * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
7204 (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
7205 Use gcc_assert and gcc_unreachable.
7206
7207 * decl.c (gnat_to_gnu_entity, case object): Check and process a
7208 specified alignment before validating size.
7209 (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
7210 stripped-down declaration for the type of the inner field when making
7211 a JM type.
7212
7213 * utils.c (finish_record_type): Do not compute the size in units
7214 incrementally. Instead compute it once for the rep clause case.
7215 Use gcc_assert and gcc_unreachable.
7216
6a294a29
VC
72172004-10-04 Vincent Celier <celier@gnat.com>
7218
7219 * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
7220 in file name.
7221 (Is_Valid_Path_Name): Take '/' as a directory separator.
7222
9a080ea3
VC
72232004-10-04 Vincent Celier <celier@gnat.com>
7224
7225 * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
7226 (Extended_Project) only if Extended_Project is defined, to avoid
7227 assertion error.
7228 (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
7229 resolved path.
7230 (Parse_Single_Project): Ditto.
7231
7232 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
7233 Add_To_Project_Path for virtual projects.
7234
51004cb5
VC
72352004-10-04 Vincent Celier <celier@gnat.com>
7236
15cd18b9
SS
7237 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
7238 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
7239 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
51004cb5
VC
7240 mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
7241 parameter Options_2.
7242
7243 * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
7244 Build_Dynamic_Library with an empty Options_2.
7245
7246 * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
7247 default anymore.
7248
7249 * makegpr.adb (Get_Imported_Directories.add): Remove trailing
7250 directory separator, if any.
7251 (Gprmake): Do not allow mains on the command line for library projects.
7252 Do not attempt to link when the project is a library project.
7253 (Library_Opts): New table to store Library_Options.
7254 (Build_Library): If Library_Options is specified, pass these options
7255 when building a shared library.
7256
3b37ffbf
JR
72572004-10-04 Jose Ruiz <ruiz@act-europe.fr>
7258
7259 * s-tposen.adb (Service_Entry): The object must be always unlocked at
7260 the end of this procedure now that the unlock operation was inserted
7261 by the expander.
7262
b23e28d5
JR
72632004-10-04 Jose Ruiz <ruiz@act-europe.fr>
7264
7265 * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
7266 corresponding to the Preallocated_Stacks flags in System.
7267 (Get_Target_Parameters): Including the processing for
7268 Preallocated_Stacks.
7269
15cd18b9
SS
7270 * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
7271 system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
7272 system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
7273 system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
7274 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
7275 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
7276 system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
7277 system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
7278 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
7279 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
b23e28d5
JR
7280 system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
7281 used to signal whether the compiler creates the required stacks and
7282 descriptors for the different tasks (when True) or it is done by the
7283 underlying operating system at run time (when False).
7284 It is initially set to False in all targets.
7285
7286 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
7287 if it is supported by the target.
7288 (Make_Task_Create_Call): Pass the stack address if it has been
7289 previously created. Otherwise pass a Null_Address.
7290
7291 * snames.adb: Add _stack.
7292
7293 * snames.ads: Add Name_uStack. Required to allow the expander to
7294 statically allocated task stacks.
7295
7296 * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
7297 Stack_Address argument.
7298 Check that its value is equal to Null_Address because this target does
7299 not support the static stack allocation.
7300
6fd459bb
TQ
73012004-10-04 Thomas Quinot <quinot@act-europe.fr>
7302
7303 * usage.adb: Change "pragma inline" to "pragma Inline" in information
7304 and error messages
7305
5885facb
TQ
73062004-10-04 Thomas Quinot <quinot@act-europe.fr>
7307
7308 * exp_dist.adb: Split declaration of asynchronous flag out of
7309 Add_RACW_Read_Attribute.
7310 Minor reformatting for better alignment with PolyORB version.
7311 Store the entity for the asynchronous flag of an RACW, rather than the
7312 expression, in the asynchronous flags table. This will allow this flag
7313 to be used in other subprograms beside Add_RACW_Read_Attribute.
7314
d6c7ed50
TQ
73152004-10-04 Thomas Quinot <quinot@act-europe.fr>
7316
7317 * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
15cd18b9
SS
7318 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
7319 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
7320 g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
d6c7ed50
TQ
7321 g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
7322 sockets constant MSG_NOSIGNAL (Linux-specific).
7323 Add new sockets constant MSG_Forced_Flags, list of flags to be set on
7324 all Send operations.
7325 For Linux, set MSG_NOSIGNAL on all send operations to prevent them
7326 from trigerring SIGPIPE.
7327 Rename components to avoid clash with Ada 2005 possible reserved
7328 word 'interface'.
7329 (Check_Selector): When the select system call returns with an error
7330 condition, propagate Socket_Error to the caller.
7331
0f0377f6
JH
73322004-10-01 Jan Hubicka <jh@suse.cz>
7333
7334 * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
7335
2c9beb8a
RD
73362004-09-23 Robert Dewar <dewar@gnat.com>
7337
7338 PR ada/17540
7339
7340 * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
7341 instead do this at freeze time (we won't do it if there is an address
7342 clause).
7343 Change "pragma inline" to "pragma Inline" in information and error
7344 messages.
7345 Minor reformatting.
7346
7347 * freeze.adb (Check_Address_Clause): Remove previous change, not the
7348 right way of doing things after all.
7349 (Freeze_Entity): For object, set Is_Public for imported entities
7350 unless there is an address clause present.
7351
2494e673
OH
73522004-09-21 Olivier Hainque <hainque@act-europe.fr>
7353
7354 * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
7355 dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
7356 ensures proper handling of types with rep clauses, which might have
7357 their TYPE_SIZE set already.
7358
910d20fc
RD
73592004-09-21 Robert Dewar <dewar@gnat.com>
7360
7361 * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
7362 packed array types in both little- and big-endian cases. This change
7363 ensures that we no longer count on the unused bits being initialized
7364 for such types (and in particular ensures that equality testing will
7365 only read the relevant bits).
7366 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
7367 These changes mean that we no longer need to initialize small packed
7368 arrays.
7369 (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
7370 optimization to an LJM field as to its parent field.
7371
7372 * ada-tree.h, trans.c, utils.c, utils2.c:
7373 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
7374
8f235343
JH
73752004-09-20 Jan Hubicka <jh@suse.cz>
7376
7377 * utils.c (gnat_finalize): Remove.
7378 (end_subprog_body): Directly call cgraph_finalize_function;
7379 do not lower the nested functions.
7380
bb9be5eb
RD
73812004-09-20 Robert Dewar <dewar@gnat.com>
7382
7383 PR ada/17540
7384
7385 * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
7386 if an address clause is present, since that means that the Import
7387 should be ignored.
7388
796ef2e2
AC
73892004-09-20 Arnaud Charlet <charlet@act-europe.fr>
7390
7391 * 5tsystem.ads: Removed, no longer used.
7392
6615c446
JO
73932004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
7394 Zack Weinberg <zack@codesourcery.com>
7395
7396 * ada-tree.def: Use tree_code_class enumeration constants
7397 instead of code letters.
7398 * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
7399 Update for new tree-class enumeration constants.
7400
93ed8a01
VC
74012004-09-17 Vincent Celier <celier@gnat.com>
7402
7403 * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
7404 capabilities of the general project manager.
7405
c885d7a1
AC
74062004-09-09 Vincent Celier <celier@gnat.com>
7407
7408 * a-direct.ads: Add pragma Ada_05
7409 (Directory_Entry_Type): Give default value to component Kind to avoid
7410 not initialized warnings.
7411
7412 * a-direct.adb (Current_Directory): Remove directory separator at the
7413 end.
7414 (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
7415 an existing directory.
7416 (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
7417 (Size (String)): Function C_Size returns Long_Integer, not File_Size.
7418 Convert the result to File_Size.
7419
7420 * prj.ads: (Project_Error): New exception
7421
7422 * prj-attr.adb: Except in procedure Initialize, Fail comes from
7423 Prj.Com, not from Osint.
7424 (Attrs, Package_Attributes): Tables moved to private part of spec
7425 (Add_Attribute, Add_Unknown_Package): Moved to new child package
7426 Prj.Attr.PM.
7427 (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
7428 Prj.Project_Error after call to Fail.
7429 (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
7430 Fail. Check that package name is not already in use.
7431
7432 * prj-attr.ads: Comment updates to indicate that all subprograms may be
7433 used by tools, not only by the project manager, and to indicate that
7434 exception Prj.Prj_Error may be raised in case of problem.
7435 (Add_Unknown_Package, Add_Attribute): Moved to new child package
7436 Prj.Attr.PM.
7437 (Attrs, Package_Attributes): Table instantiations moved from the body to
7438 the private part to be accessible from Prj.Attr.PM body.
7439
7440 * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
7441 from new package Prj.Attr.PM.
7442 (Parse_Attribute_Declaration): Call Add_Attribute from new package
7443 Prj.Attr.PM.
7444
7445 * Makefile.in: Add prj-attr-pm.o to gnatmake object list
7446
7447 * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
7448 instead of Elaboration_Checks).
7449
7450 * a-calend.adb: Minor reformatting
7451
74522004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7453
7454 * gigi.h (maybe_pad_type): New declaration.
7455 (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
7456
7457 * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
7458
7459 * cuintp.c: Convert to use buildN.
7460
7461 * decl.c (maybe_pad_type): No longer static.
7462 (gnat_to_gnu_entity, case E_Function): Handle case of returning by
7463 target pointer.
7464 Convert to use buildN.
7465
7466 * trans.c (call_to_gnu): Add arg GNU_TARGET; support
7467 TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
7468 (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
7469 RHS.
7470 (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
7471 (gnat_gimplify_expr, case ADDR_EXPR): New case.
7472 Convert to use buildN.
7473
7474 * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
7475 TREE_READONLY for const.
7476 Convert to use buildN.
7477
7478 * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
7479 (create_var_decl): Refine when TREE_STATIC is set.
7480 Convert to use buildN.
7481
74822004-09-09 Gary Dismukes <dismukes@gnat.com>
7483
7484 * gnat_ugn.texi: Delete text relating to checking of ali and object
7485 consistency.
7486
7487 * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
7488 routines.
7489
74902004-09-09 Jose Ruiz <ruiz@act-europe.fr>
7491
7492 * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
7493 pragmas recognized by GNAT.
7494
7495 * gnat_rm.texi: Document pragma Detect_Blocking.
7496
7497 * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
7498 raise Program_Error if called from a protected operation.
7499
7500 * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
7501 the protected action nesting level.
7502 (Lock_Read_Only): When pragma Detect_Blocking is active increase the
7503 protected action nesting level.
7504 (Unlock): When pragma Detect_Blocking is active decrease the protected
7505 action nesting level.
7506
7507 * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
7508 Protected_Action_Nesting.
7509
7510 * s-taskin.ads: Adding the field Protected_Action_Nesting to the
7511 Common_ATCB record. It contains the dynamic level of protected action
7512 nesting for each task. It is needed for checking whether potentially
7513 blocking operations are called from protected operations.
7514 (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
7515 Detect_Blocking is active or not in the partition.
7516
7517 * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
7518 raise Program_Error if called from a protected operation.
7519 (Task_Entry_Call): When pragma Detect_Blocking is active, raise
7520 Program_Error if called from a protected operation.
7521 (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
7522 Program_Error if called from a protected operation.
7523
7524 * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
7525 raise Program_Error if called from a protected operation.
7526
7527 * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
7528 raise Program_Error if called from a protected operation, and increase
7529 the protected action nesting level.
7530 (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
7531 Program_Error if called from a protected operation, and increase the
7532 protected action nesting level.
7533 (Unlock_Entries): When pragma Detect_Blocking is active decrease the
7534 protected action nesting level.
7535
7536 * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
7537 raise Program_Error if called from a protected operation, and increase
7538 the protected action nesting level.
7539 (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
7540 Program_Error if called from a protected operation, and increase the
7541 protected action nesting level.
7542 (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
7543 raise Program_Error if called from a protected operation.
7544 (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
7545 active, raise Program_Error if called from a protected operation.
7546 (Unlock_Entry): When pragma Detect_Blocking is active decrease the
7547 protected action nesting level.
7548
7549 * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
7550 insertion of the statement raising Program_Error. The run time
7551 contains the required machinery for handling that.
7552
7553 * sem_util.ads: Change comment associated to procedure
7554 Check_Potentially_Blocking_Operation.
7555 This procedure does not insert a call for raising the exception because
7556 that is currently done by the run time.
7557
7558 * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
7559
7560 * init.c: Add the global variable __gl_detect_blocking that indicates
7561 whether pragma Detect_Blocking is active (1) or not (0). Needed for
7562 making the pragma available at run time.
7563 (__gnat_set_globals): Pass and update the detect_blocking parameter.
7564
7565 * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
7566 pragma Detect_Blocking is active.
7567
7568 * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
7569
7570 * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
7571 DB is found in the ali file. Any unit compiled with pragma
7572 Detect_Blocking active forces its effect in the whole partition.
7573
7574 * a-retide.adb (Delay_Until): Raise Program_Error if pragma
7575 Detect_Blocking is active and delay is called from a protected
7576 operation.
7577
7578 * bindgen.adb (Gen_Adainit_Ada): When generating the call to
7579 __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
7580 Detect_Blocking is active (0 otherwise).
7581 (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
7582 as Detect_Blocking parameter if pragma Detect_Blocking is active (0
7583 otherwise).
7584
75852004-09-09 Thomas Quinot <quinot@act-europe.fr>
7586
7587 * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
7588 GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
7589 package.
7590
7591 * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
7592 (Register_Receiving_Stub): Add Subp_Info formal parameter.
7593 Update API in placeholder implemetation of s-parint to reflect changes
7594 in distribution runtime library.
7595
7596 * sem_ch3.adb (Expand_Derived_Record): Rename to
7597 Expand_Record_Extension.
7598
7599 * sem_disp.adb (Check_Controlling_Formals): Improve error message for
7600 primitive operations of potentially distributed object types that have
7601 non-controlling anonymous access formals.
7602
7603 * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
7604 subprogram.
7605 New implementation of expansion for remote access-to-subprogram types,
7606 based on the RACW infrastructure.
7607 This version of sem_dist is compatible with PolyORB/DSA as well as
7608 GLADE.
7609
7610 * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
7611 Asynchrronous that applies to a remote access-to-subprogram type, mark
7612 the underlying RACW type as asynchronous.
7613
7614 * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
7615 __gnat_using_gnu_linker to 1.
7616
7617 * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
7618 g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
7619 GNAT.Perfect_Hash_Generators, and remove the empty
7620 GNAT.Perfect_Hash package.
7621
7622 * atree.adb: Minor reformatting
7623
7624 * exp_ch3.adb (Expand_Derived_Record): Rename to
7625 Expand_Record_Extension.
7626 (Build_Record_Init_Proc.Build_Assignment): The default expression in
7627 a component declaration must remain attached at that point in the
7628 tree so New_Copy_Tree copies it if the enclosing record type is derived.
7629 It is therefore necessary to take a copy of the expression when building
7630 the corresponding assignment statement in the init proc.
7631 As a side effect, in the case of a derived record type, we now see the
7632 original expression, without any rewriting that could have occurred
7633 during expansion of the ancestor type's init proc, and we do not need
7634 to go back to Original_Node.
7635
7636 * exp_ch3.ads (Expand_Derived_Record): Rename to
7637 Expand_Record_Extension.
7638
7639 * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
7640 Returns the RACW type used to implement a remote access-to-subprogram
7641 type.
7642 (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
7643 New subprograms. Used to create a proxy tagged object for a remote
7644 subprogram. The proxy object is used as the designated object
7645 for RAS values on the same partition (unless All_Calls_Remote applies).
7646 (Build_Get_Unique_RP_Call): New subprogram. Build a call to
7647 System.Partition_Interface.Get_Unique_Remote_Pointer.
7648 (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
7649 Renamed from Add_RAS_*_Attribute.
7650 (Add_Receiving_Stubs_To_Declarations): Generate a table of local
7651 subprograms.
7652 New implementation of expansion for remote access-to-subprogram types,
7653 based on the RACW infrastructure.
7654
7655 * exp_dist.ads (Copy_Specification): Update comment to note that this
7656 function can copy the specification from either a subprogram
7657 specification or an access-to-subprogram type definition.
7658
76592004-09-09 Ed Schonberg <schonberg@gnat.com>
7660
7661 * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
7662 in an instance, between an explicit subprogram an one inherited from a
7663 type derived from an actual.
7664
7665 * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
7666 add a polling call if the subprogram is to be inlined by the back-end,
7667 to avoid repeated calls with multiple inlinings.
7668
7669 * checks.adb (Apply_Alignment_Check): If the expression in the address
7670 clause is a call whose name is not a static entity (e.g. a dispatching
7671 call), treat as dynamic.
7672
76732004-09-09 Robert Dewar <dewar@gnat.com>
7674
7675 * g-trasym.ads: Minor reformatting
7676
7677 * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
7678 packed arrays, since unused bits are expected to be zero for a
7679 comparison.
7680
76812004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
7682
7683 * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
7684 comment.
7685
76862004-09-09 Pascal Obry <obry@gnat.com>
7687
7688 * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
7689 enable map file generation. Add the right option to generate the map
7690 file if Map_File is set to True.
7691
7692 * gnatdll.adb (Gen_Map_File): New variable.
7693 (Syntax): Add info about new -m (Map_File) option.
7694 (Parse_Command_Line): Add support for -m option.
7695 (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
7696 Minor reformatting.
7697
76982004-09-09 Laurent Pautet <pautet@act-europe.fr>
7699
7700 * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
7701 new gnatdist implementation.
7702 Define a subpackage isolating the output routines specific to this
7703 verbose mode.
7704
77052004-09-09 Joel Brobecker <brobecker@gnat.com>
7706
7707 * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
7708
7709 * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
7710
77112004-09-09 Cyrille Comar <comar@act-europe.fr>
7712
7713 * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
7714 internal unit.
7715
7716 * opt.ads: Add Ada_Version_Runtime constant used to decide which
7717 version of the language is used to compile the run time.
7718
77192004-09-09 Arnaud Charlet <charlet@act-europe.fr>
7720
7721 * sem_util.adb (Requires_Transient_Scope): Re-enable handling
7722 of variable length temporaries for function return now that the
7723 back-end and gigi support it.
7724
23c7b149 77252004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6cdb2c6e
AC
7726
7727 * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
7728
7729 * trans.c (struct stmt_group): Delete field GLOBAL.
7730 (gnat_init_stmt_group): Do not initialize it.
7731 (call_to_gnu): Use save_expr, not protect_multiple_eval.
7732 (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
7733 (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
7734 (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
7735 (start_stmt_group): Likewise.
7736 (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
7737
7738 * utils2.c (ggc.h): Include.
7739 (build_call_raise): Call build_int_cst, not build_int_2.
7740
7741 * utils.c (gnat_init_decl_processing): Fix arg to
7742 build_common_tree_nodes.
7743 (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
7744 (gnat_define_builtin): Set built_in_decls.
7745 (init_gigi_decls): Call build_int_cst, not build_int_2.
7746
7747 * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
7748 (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
7749 (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
7750 (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
7751 SET_TYPE_MODULE): Use them.
7752 (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
7753 (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
7754 (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
7755 SET_TYPE_ADA_SIZE): Likewise.
7756 (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
7757 (DECL_CONST_CORRESPONDING_VAR,
7758 SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
7759 (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
7760 (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
7761 (TYPE_RM_SIZE_NUM): New macro.
7762 (TYPE_RM_SIZE): Modified to use above.
7763
7764 * cuintp.c: (build_cst_from_int): New function.
7765 (UI_To_gnu): Use it.
7766
7767 * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
7768 (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
7769 (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
7770 MIN_EXPR for the size, copy it into new.
7771
23c7b149 77722004-09-01 Robert Dewar <dewar@gnat.com>
6cdb2c6e
AC
7773
7774 * exp_ch6.adb (Expand_Call): Properly handle validity checks for
7775 packed indexed component where array is an IN OUT formal. This
7776 generated garbage code previously.
7777
7778 * gnat_ugn.texi: Document -fverbose-asm
7779
7780 * gnat-style.texi: Minor updates (note that boolean constants and
7781 variables are joined with AND/OR rather than short circuit forms).
7782
23c7b149 77832004-09-01 Ed Schonberg <schonberg@gnat.com>
6cdb2c6e
AC
7784
7785 * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
7786 it is an upward conversion of an untagged type with no representation
7787 change.
7788
23c7b149 77892004-09-01 Thomas Quinot <quinot@act-europe.fr>
6cdb2c6e
AC
7790
7791 * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
7792 System.Partition_Interface.
7793
7794 * checks.adb (Apply_Access_Checks): Do not generate checks when
7795 expander is not active (but check for unset reference to prefix of
7796 dereference).
7797
7798 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
7799 pragma Debug as an if statement with a constant condition, for
7800 consistent treatment of entity references contained within the
7801 enclosed procedure call.
7802
23c7b149 78032004-09-01 Vincent Celier <celier@gnat.com>
6cdb2c6e
AC
7804
7805 * bindgen.adb: (Set_EA_Last): New procedure
7806 (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
7807 Set_EA_Last.
7808 (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
7809 (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
7810 linked without errors.
7811 (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
7812 ST and EA.
7813 (Gen_Exception_Table_C): Correct same bugs
7814
7815 * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
7816
7817 * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
7818 on Windows, make sure that the drive letter is in upper case.
7819
7820 * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
7821 Windows, when the drive letter is added and Case_Sensitive is True, the
7822 drive letter is forced to upper case.
7823
7824 * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
7825 to Options_2 for the call to MLib.Utl.Gcc.
7826
7827 * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
7828 directory separator when defining BASE_DIR.
7829
23c7b149 78302004-09-01 Pascal Obry <obry@gnat.com>
6cdb2c6e
AC
7831
7832 * gprcmd.adb (Extend): Do not output trailing directory separator. This
7833 is not needed and it confuses Windows GNU/make which does not report
7834 directory terminated by a slash as a directory.
7835 (gprcmd): Idem for "pwd" internal command.
7836
7837 * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
7838 target names rewrite to fix regressions with recent version of
7839 GNU/make. Starting with GNU/make 3.80 the pipe character was not
7840 handled properly anymore.
7841
4eb104c1
AS
78422004-09-01 Andreas Schwab <schwab@suse.de>
7843
7844 * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
7845 * raise.c [!IN_RTS]: Undef abort.
7846
6a6bfc8e
NS
78472004-08-27 Nathan Sidwell <nathan@codesourcery.com>
7848
ce552f75
NS
7849 * utils2.c (build_allocator): Use ssize_int.
7850
6a6bfc8e
NS
7851 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
7852
f8b7bf58
AS
78532004-08-27 Andreas Schwab <schwab@suse.de>
7854
7855 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
7856
15793d0c
NS
78572004-08-25 Nathan Sidwell <nathan@codesourcery.com>
7858 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6615c446 7859
15793d0c
NS
7860 * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
7861
7d60be94
NS
78622004-08-25 Nathan Sidwell <nathan@codesourcery.com>
7863
7864 * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
7865 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
7866 * utils.c (init_gigi_decls): Likewise.
7867 * utils2.c (build_call_raise, build_allocator): Likewise.
6615c446 7868
8c1d6d62
NS
78692004-08-24 Nathan Sidwell <nathan@codesourcery.com>
7870
7d60be94 7871 * utils.c (gnat_init_decl_processing): Adjust
8c1d6d62
NS
7872 build_common_tree_nodes call.
7873
3224bead
NS
78742004-08-20 Nathan Sidwell <nathan@codesourcery.com>
7875
7876 * utils2.c (build_allocator): Use build_int_cst for negative
7877 size types.
7878
4766261d
RH
78792004-08-18 Richard Henderson <rth@redhat.com>
7880
7881 * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
7882
1f6c00df
NS
78832004-08-16 Nathan Sidwell <nathan@codesourcery.com>
7884
7885 * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
7886 call.s
7887 * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
7888 (gnat_to_gnu): Likewise.
7889
4c46b835
AC
78902004-08-16 Pascal Obry <obry@gnat.com>
7891
7892 * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
7893 backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
7894 option and not mdll anymore. Update comment.
7895
78962004-08-16 Pascal Obry <obry@gnat.com>
7897
7898 * bld.adb (Put_Include_Project): Properly handle directory separators
7899 on Windows.
7900
79012004-08-16 Ed Schonberg <schonberg@gnat.com>
7902
7903 * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
7904 decreasing the number of allocated junk nodes while searching for the
7905 appropriate subprogram.
7906
4a90aeeb
NS
79072004-08-15 Nathan Sidwell <nathan@codesourcery.com>
7908
7909 * cuintp.c (UI_To_gnu): Use build_int_cst..
7910 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
7911 * utils.c (init_gigi_decls): Likewise.
7912 * utils2.c (build_call_raise): Likewise.
7913
244e5a2c
AC
79142004-08-13 Olivier Hainque <hainque@act-europe.fr>
7915
7916 * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
7917 for a global aliased object with a variable size and an unconstrained
7918 nominal subtype, pretend there is no initializer if the one we have is
7919 incomplete, and avoid referencing an inexistant component in there. The
7920 part we have will be rebuilt anyway and the reference may confuse
7921 further operations.
7922
79232004-08-13 Thomas Quinot <quinot@act-europe.fr>
7924
7925 * einfo.ads: Minor reformatting
7926
7927 * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
7928 restrictions in the ALI if we only want to warn about violations.
7929
79302004-08-13 Vincent Celier <celier@gnat.com>
7931
7932 * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
7933 when creating a new Unit_Record in table Units.
7934
7935 * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
7936 that are violated, if any.
7937
7938 * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
7939 add directory separator if path already ends with a directory separator.
7940
79412004-08-13 Ed Schonberg <schonberg@gnat.com>
7942
7943 * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
7944 unit, this is an attempt to inline a construct that is not available in
7945 the current restricted mode, so abort rather than trying to continue.
7946
7947 * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
7948 discriminants that rename those of the parent, recover names of
7949 original discriminants for the constraint on the full view of the
7950 parent.
7951 (Complete_Private_Subtype): Do not create a subtype declaration if the
7952 subtype is an itype.
7953
7954 * gnat_rm.texi: Added section on implementation of discriminated
7955 records with default values for discriminants.
7956
79572004-08-13 Ed Schonberg <schonberg@gnat.com>
7958
7959 PR ada/15601
7960 * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
7961 the second operand is overloaded.
7962
1a186ec5
RH
79632004-08-10 Richard Henderson <rth@redhat.com>
7964
7965 * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
7966 add __builtin_alloca.
7967
89f1a702
RH
79682004-08-10 Richard Henderson <rth@redhat.com>
7969
7970 * config-lang.in (boot_language): Yes.
7971
5d09245e
AC
79722004-08-09 Thomas Quinot <quinot@act-europe.fr>
7973
7974 * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
7975 from complaining on potential uninitialized reference.
7976 Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
7977 new specification and test explicitly for non-zero return value.
7978
7979 * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
7980 returning C.int, to avoid using a derived boolean type.
7981
7982 * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
7983 Duplicate_Subexpr_No_Checks in preference to direct use of
7984 Remove_Side_Effects and New_Copy_Tree.
7985 Clear Comes_From_Source on prefix of 'Size attribute reference.
7986
7987 * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
7988 g-socthi-vxworks.adb: Change calls to
7989 GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
7990 and test explicitly for non-zero return value.
7991
6615c446 7992 * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
5d09245e
AC
7993 (Is_Socket_In_Set): Declare imported function as returning C.int, to
7994 avoid using a derived boolean type.
7995
79962004-08-09 Albert Lee <lee@gnat.com>
7997
7998 * system-irix-n32.ads: Refine tasking priority constants for IRIX.
7999
80002004-08-09 Pascal Obry <obry@gnat.com>
8001
8002 * gnat_ugn.texi: Document new way to build DLLs on Windows using
8003 GCC's -shared option.
8004
8005 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
8006 Options_2 parameter (options put after object files).
8007
80082004-08-09 Olivier Hainque <hainque@act-europe.fr>
8009
8010 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
8011 ignore overflows on low and high bounds of an index to also account for
8012 differences in signedness between sizetype and gnu_index_subtype.
8013 These are as legitimate as the ones caused by a lower TYPE_PRECISION
8014 on sizetype.
8015
80162004-08-09 Robert Dewar <dewar@gnat.com>
8017
8018 * s-solita.ads, s-solita.adb: Minor reformatting
8019
8020 * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
8021 Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
8022 obsolescent section
8023 Add note that No_Implicit_Conditionals does not suppress
8024 run time constraint checks.
8025
8026 * vms_conv.ads: Minor reformatting
8027
8028 * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
8029 and necessary for following change).
8030 (Mark): Return new format Mark_Id containing sec stack address
8031 (Release): Use sec stack address from Mark_Id avoiding Self call
8032
8033 * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
8034 pointer (cleanup and necessary for following change).
8035 Define Mark_Id as record containing address of secondary stack, that way
8036 Release does not need to find the stack again, decreasing the number of
8037 calls to Self and improving efficiency.
8038
8039 * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
8040
8041 * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
8042 case variable into the individual case branches when possible.
8043
8044 * sem_ch11.adb: Minor reformatting
8045
8046 * prj.ads: Correct spelling of suffixs
8047
8048 * prj-nmsc.adb: Minor reformatting
8049 Correct spelling suffixs throughout (also in identifiers)
8050
8051 * freeze.adb: Minor spelling correction
8052
8053 * exp_ch2.adb: Cleanups to handling of Current_Value
8054 (no functional effect).
8055
8056 * bld.adb: Correct spelling of suffixs
8057
8058 * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
8059
80602004-08-09 Ed Schonberg <schonberg@gnat.com>
8061
8062 PR ada/15408
8063
8064 * sem_ch7.adb (Install_Private_Declarations): In the body of the
8065 package or of a child, private entities are both immediately_visible
8066 and not hidden.
8067
80682004-08-09 Ed Schonberg <schonberg@gnat.com>
8069
8070 * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
8071 there are no range checks on the value of the literal.
8072
8073 * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
8074 wrapped is the triggering alternative of an asynchronous select, action
8075 statements mustbe inserted before the select itself.
8076
8077 * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
8078 case where the prefix is a protected function call.
8079 (Resolve_Attribute, case 'Access): The attribute reference on a
8080 subprogram is legal in a generic body if the subprogram is declared
8081 elsewhere.
8082
80832004-08-09 Vincent Celier <celier@gnat.com>
8084
8085 * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
8086 languages, otherwise building the library may fail with unresolved
8087 symbols.
8088 (Compile_Sources): Do not build libraries if -c switch is used
8089
8090 * gnatlink.adb (Process_Args): New switches -M and -Mmap
8091 (Write_Usage): If map file creation is supported, output new switches
8092 -M and -Mmap.
8093 (Gnatlink): When -M is specified, add the necessary switch(es) to the
8094 gcc call, when supported.
8095
8096 * Makefile.in: Added indepsw.o to the object list for gnatlink
8097 Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
8098
8099 * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
8100 indepsw.adb, indepsw.ads: New files.
8101
81022004-08-09 Bernard Banner <banner@gnat.com>
8103
8104 * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
8105
8106 * Makefile.in: add section for vxworks x86
8107
81082004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
8109
8110 * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
8111 per-object constrained components where the discriminant is of an
8112 Access type.
8113 (Build_Record_Init_Proc): Add condition to prevent the inheritance of
8114 the parent initialization procedure for derived Unchecked_Unions.
8115 Instead, derived Unchecked_Unions build their own initialization
8116 procedure.
8117 (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
8118 Check the body of the subprogram for details.
8119 (Freeze_Record_Type): Prevent the inheritance of discriminant checking
8120 functions for derived Unchecked_Union types by introducing a condition.
8121 Allow the creation of TSS equality functions for Unchecked_Unions.
8122 (Make_Eq_Case): Rename formal parameter Node to E in function signature.
8123 Add formal parameter Discr to function signature. Discr is used to
8124 control the generated case statement for Unchecked_Union types.
8125 (Make_Eq_If): Rename formal parameter Node to E in function signature.
8126
8127 * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
8128 Unchecked_Unions.
8129 Check the body of the subprogram for details.
8130 (Expand_Composite_Equality): Augment composite type equality to include
8131 correct handling of Unchecked_Union components.
8132 (Expand_N_In): Add condition to detect illegal membership tests when the
8133 subtype mark is a constrained Unchecked_Union and the expression lacks
8134 inferable discriminants, and build a Raise_Program_Error node.
8135 (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
8136 to detect types that contain components of unconstrained Unchecked_Union
8137 subtype. Add condition to detect equality between types that have an
8138 unconstrained Unchecked_Union component, and build a Raise_Program_Error
8139 node. Add condition to detect equality between Unchecked_Union types
8140 that lack inferable discriminants, and build a Raise_Program_Error node.
8141 Otherwise build a TSS equality function call.
8142 (Expand_N_Type_Conversion): Add condition to detect illegal conversions
8143 from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
8144 with the operand lacking inferable discriminants, and build a Raise_
8145 Program_Error node.
8146 (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
8147 composite equality.
8148 (Has_Inferable_Discriminants): Implement new predicate for objects and
8149 expressions of Unchecked_Union type. Check the body of subprogram for
8150 details.
8151 (Has_Unconstrained_UU_Components): Add function
8152 Component_Is_Unconstrained_UU. It is used to detect whether a single
8153 component is of an unconstrained Unchecked_Union subtype. Add function
8154 Variant_Is_Unconstrained_UU. It is used to detect whether a single
8155 component inside a variant is of an unconstrained Unchecked_Union type.
8156
8157 * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
8158 inferred discriminant values. Add condition to generate a case
8159 statement with an inferred discriminant as the switch.
8160 (Make_Component_List_Assign): Introduce a Boolean flag that determines
8161 the behaviour of the subprogram in the presence of an Unchecked_Union.
8162 Add condition to trigger the usage of the inferred discriminant value
8163 as the generated case statement switch.
8164 (Make_Field_Assign): Introduce a Boolean flag that determines the
8165 behaviour of the subprogram in the presence of an Unchecked_Union. Add
8166 condition to trigger the usage of the inferred discriminant value as
8167 the right-hand side of the generated assignment.
8168
8169 * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
8170 parameter generation when dealing with Unchecked_Unions.
8171
8172 * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
8173 checks for Unchecked_Unions.
8174
8175 * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
8176
8177 * exp_attr.adb (Expand_N_Attribute_Reference): Produce
8178 Raise_Program_Error nodes for the execution of Read and Write
8179 attributes of Unchecked_Union types and the execution of Input and
8180 Output attributes of Unchecked_Union types that lack default
8181 discriminant values.
8182
8183 * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
8184 Unchecked_Union. Add procedure Check_Component. It is used to inspect
8185 per-object constrained components of Unchecked_Unions for being
8186 Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
8187 check individual components withing a variant.
8188
8189 * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
8190 comparison of Unchecked_Unions.
8191 (Resolve_Equality_OP): Remove guard that prevents equality between
8192 Unchecked_Unions.
8193
8194 * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
8195 of component subtypes for Unchecked_Union components.
8196 (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
8197 since it is the actual subtype.
8198
8199 * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
8200 pass of Unchecked_Union subtypes as generic actuals to formal types
8201 that lack known_discriminant_parts or that are derived Unchecked_Union
8202 types, and do nothing. In any other case, produce an error message.
8203
8204 * sem_ch3.adb (Analyze_Component_Declaration): Add function
8205 Contains_POC. It determines whether a constraint uses the discriminant
8206 of an enclosing record type.
8207 Add condition to detect per-object constrained component and set the
8208 appropriate flag.
8209 (Derived_Type_Declaration): Remove guard that prevents derivation from
8210 Unchecked_Union types.
8211 (Process_Subtype): Remove quard that prevents the creation of Unchecked_
8212 Union subtypes.
8213
8214 * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
8215 references to Unchecked_Union discriminants.
8216
8217 * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
8218 formal generation when dealing with Unchecked_Unions.
8219 (Set_Actual_Subtypes): Add condition to prevent generation of actual
8220 subtypes for Unchecked_Unions.
8221
8222 * sem_ch7.adb (Analyze_Package_Specification): Add procedure
8223 Inspect_Unchecked_Union_Completion. It is used to detect incorrect
8224 completions of discriminated partial views by Unchecked_Unions and
8225 produce an error message.
8226
82272004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8228
8229 * trans.c (struct stmt_group): New field, GLOBAL.
8230 (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
8231 (struct elab_info): New struct.
8232 (elab_info_list, gnu_elab_proc_stack): New variables.
8233 (Compilation_Unit_to_gnu): New procedure.
8234 (gigi): Call it and also handle elaboration procs we've saved.
8235 (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
8236 global field from parent.
8237 (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
8238 (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
8239 (start_stmt_group): Initialize global field from parent.
8240 (add_decl_expr): Set to global for current statement group.
8241 (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
8242 post.
8243
8244 * utils.c (global_bindings_p): True when no current_function_decl; no
8245 longer check current_binding_level.
8246
82472004-08-09 Ben Brosgol <brosgol@gnat.com>
8248
8249 * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
8250 choice.
8251
8252 * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
8253
160ff372
AS
82542004-08-06 Andreas Schwab <schwab@suse.de>
8255
8256 * utils.c (gnat_define_builtin): Remove second parameter of
8257 make_decl_rtl.
8258 (begin_subprog_body): Likewise.
8259
615cbd95
AC
82602004-07-26 Arnaud Charlet <charlet@act-europe.fr>
8261
8262 * sem_util.adb (Requires_Transient_Scope): Temporarily disable
8263 optimization, not supported by the tree-ssa back-end.
8264
82652004-07-26 Olivier Hainque <hainque@act-europe.fr>
8266
8267 * s-mastop-irix.adb: Update comments.
8268
8269 * a-except.adb (Exception_Information): Raise Constraint_Error if
8270 exception Id is Null_Id.
8271 This is required behavior, which is more reliably and clearly checked
8272 at the top level interface level.
8273
82742004-07-26 Javier Miranda <miranda@gnat.com>
8275
8276 * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
8277 call if a component has no default_expression and the box is used.
8278
8279 * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
8280 default_expression and you use box, it behaves as if you had declared a
8281 stand-alone object.
8282 (Resolve_Record_Aggregate): If a component has no default_expression and
8283 you use box, it behaves as if you had declared a stand-alone object.
8284
8285 * sem_ch10.adb (Install_Siblings): Do not make visible the private
8286 entities of private-with siblings.
8287
82882004-07-26 Ed Schonberg <schonberg@gnat.com>
8289
8290 * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
8291 for a component of an itype, set the parent pointer for analysis,
8292 there is no list in which to insert it.
8293
8294 * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
8295 bona-fide renamings, not for inherited operations.
8296
8297 * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
8298 actual for a formal that is an access parameter, create local
8299 finalization list even if the expression is not an aggregate.
8300
83012004-07-26 Ed Schonberg <schonberg@gnat.com>
8302
8303 PR ada/16213
8304 * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
8305 Diagnose properly illegal subprogram renamings that are library units.
8306
83072004-07-26 Ed Schonberg <schonberg@gnat.com>
8308
8309 PR ada/15588
8310 * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
8311 conversion rewritten as an unchecked conversion, check that original
8312 expression is a variable.
8313
8314 * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
8315 unchecked_conversion, create new node rather than rewriting in place,
8316 to preserve original construct.
8317
83182004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8319
8320 * gigi.h (gnat_expand_body): Deleted.
8321
8322 * Make-lang.in: (trans.o): Depends on function.h.
8323
8324 * misc.c: (gnat_expand_body): Moved to here.
8325
8326 * trans.c (gnat_expand_body_1): Deleted.
8327 (gnat_expand_body): Moved from here.
8328 (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
8329 (add_stmt): Check for marked visited with global_bindings_p.
8330 (gnat_gimplify_expr, case COMPONENT_REF): New case.
8331 (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
8332
8333 * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
8334 VIEW_CONVERT_EXPR if not operation type.
8335
8336 * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
8337 fat pointer.
8338
8339 * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
8340 changes: reformatting of negation operators, removing unneeded
8341 inequality comparison with zero, converting equality comparisons with
8342 zero to negations, changing int/0/1 to bool/false/true, replace calls
8343 to gigi_abort with abort, and various other similar changes.
8344
83452004-07-26 Vincent Celier <celier@gnat.com>
8346
8347 * gnatcmd.adb (GNATCmd): Add processing for new built-in command
8348 "setup".
8349
8350 * make.adb (Gnatmake): Fail when a library is not present and there is
8351 no object directory.
8352
8353 * mlib-prj.adb (Check_Library): No need to check if the library needs
8354 to be rebuilt if there is no object directory, hence no object files
8355 to build the library.
8356
8357 * opt.ads (Setup_Projects): New Boolean flag.
8358
8359 * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
8360 Location.
8361 Create directory when Kind /= "" and in "gnat setup". Report error if
8362 directory cannot be created.
8363 (Ada_Check): Create library interface copy dir if it does not exist
8364 and we are in "gnat setup".
8365 (Find_Sources): No error if in "gnat setup" and no Ada sources were
8366 found.
8367 (Language_Independent_Check): Create object directory, exec directory
8368 and/or library directory if they do not exist and we are in
8369 "gnat setup".
8370
8371 * vms_conv.ads: (Command_Type): New command Setup.
8372
8373 * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
8374
8375 * vms_data.ads: Add qualifiers/switches for new built-in command
8376 "setup".
8377
b785f485
RH
83782004-07-25 Richard Henderson <rth@redhat.com>
8379
8380 * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
8381 DECL_IGNORED_P on RESULT_DECL.
8382
35ae2ed8
AC
83832004-07-20 Olivier Hainque <hainque@act-europe.fr>
8384
8385 * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
8386 allocation and potentially overflowing update with
8387 Tailored_Exception_Information. Use the sec-stack free procedural
8388 interface to output Exception_Information instead.
8389
8390 * a-except.adb (To_Stderr): New subprogram for character, and string
8391 version moved from a-exextr to be visible from other separate units.
8392 (Tailored_Exception_Information): Remove the procedural version,
8393 previously used by the default Last_Chance_Handler and not any more.
8394 Adjust various comments.
8395
8396 * a-exexda.adb: Generalize the exception information procedural
8397 interface, to minimize the use of secondary stack and the need for
8398 local buffers when the info is to be output to stderr:
8399 (Address_Image): Removed.
8400 (Append_Info_Character): New subprogram, checking for overflows and
8401 outputing to stderr if buffer to fill is of length 0.
8402 (Append_Info_String): Output to stderr if buffer to fill is of length 0.
8403 (Append_Info_Address, Append_Info_Exception_Name,
8404 Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
8405 Append_Info_Basic_Exception_Traceback,
8406 Append_Info_Exception_Information): New subprograms.
8407 (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
8408 (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
8409 Exception_Info_Maxlength, Exception_Name_Length,
8410 Exception_Message_Length): New subprograms.
8411 (Exception_Information): Use Append_Info_Exception_Information.
8412 (Tailored_Exception_Information): Use
8413 Append_Info_Basic_Exception_Information.
8414 Export services for the default Last_Chance_Handler.
8415
8416 * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
8417 other separate units.
8418
84192004-07-20 Vincent Celier <celier@gnat.com>
8420
8421 * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
8422
84232004-07-20 Ed Schonberg <schonberg@gnat.com>
8424
8425 * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
8426 emit itype references for the designated types of component types that
8427 are declared outside of the full record declaration, and that may
8428 denote a partial view of that record type.
8429
84302004-07-20 Ed Schonberg <schonberg@gnat.com>
8431
8432 PR ada/15607
8433 * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
8434 which is the designated type in an access component declaration, to the
8435 list of incomplete dependents of the parent type, to avoid elaboration
8436 issues with out-of-scope subtypes.
8437 (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
8438 full view of the parent.
8439
84402004-07-20 Ed Schonberg <schonberg@gnat.com>
8441
8442 PR ada/15610
8443 * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
8444 entities that are hidden, such as references to generic actuals
8445 outside an instance.
8446
84472004-07-20 Javier Miranda <miranda@gnat.com>
8448
8449 * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
8450 support to the new notation.
8451 (Analyze_Selected_Component): Add call to Try_Object_Operation.
8452
84532004-07-20 Jose Ruiz <ruiz@act-europe.fr>
8454
8455 * s-taprob.adb: Adding the elaboration code required for initializing
8456 the tasking soft links that are common to the full and the restricted
8457 run times.
8458
8459 * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
8460 restricted run time has been moved to the package
8461 System.Soft_Links.Tasking.
8462
8463 * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
8464 restricted run time has been moved to the package
8465 System.Soft_Links.Tasking.
8466
8467 * Makefile.rtl: Add entry for s-solita.o in run-time library list.
8468
8469 * s-solita.ads, s-solita.adb: New files.
8470
84712004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8472
8473 * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
8474 Case_Statement_to_gnu): Split off from gnat_to_gnu.
8475 (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
8476 Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
8477 Exception_Handler_to_gnu_zcx): Likewise.
8478
6e34d3a3
JM
84792004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
8480
8481 * gigi.h (builtin_function): Declare.
8482
523456db
AC
84832004-07-15 Robert Dewar <dewar@gnat.com>
8484
8485 * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
8486 reformatting
8487
8488 * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
8489 access values as an example of a warning.
8490
8491 * gnat_rm.texi: Document new attribute Has_Access_Values
8492
8493 * gnat-style.texi: Document that box comments belong on nested
8494 subprograms
8495
8496 * sem_util.ads (Has_Access_Values): Improved documentation
8497
8498 * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
8499
8500 * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
8501 (Process_Interface_Name): Call to this new procedure
8502 (Set_Extended_Import_Export_External_Name): Call to this new procedure
8503
8504 * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
8505
8506 * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
8507
8508 * einfo.ads: Minor comment typo fixed
8509
85102004-07-15 Jose Ruiz <ruiz@act-europe.fr>
8511
8512 * snames.adb: Add _atcb.
8513
8514 * snames.ads: Add Name_uATCB.
8515
8516 * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
8517 (in the expanded code) when using the restricted run time.
8518
8519 * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
8520 a in parameter in order to allow ATCBs to be preallocated (in the
8521 expanded code).
8522
8523 * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
8524 order to allow ATCBs to be preallocated. In case of error, the ATCB is
8525 deallocated in System.Tasking.Stages.
8526
8527 * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
8528 order to allow ATCBs to be preallocated.
8529
8530 * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
8531 here. It was previously done in Initialize_ATCB.
8532
8533 * rtsfind.ads: Make the Ada_Task_Control_Block visible.
8534
8535 * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
8536 Restricted run time.
8537
8538 * exp_ch3.adb: When using the Restricted run time, pass the
8539 preallocated Ada_Task_Control_Block when creating a task.
8540
85412004-07-15 Ed Schonberg <schonberg@gnat.com>
8542
8543 * sem_util.adb (Normalize_Actuals): If there are no actuals on a
8544 function call that is itself an actual in an enclosing call, diagnose
8545 problem here rather than assuming that resolution will catch it.
8546
8547 * sem_ch7.adb (Analyze_Package_Specification): If the specification is
8548 the local copy of a generic unit for a formal package, and the generic
8549 is a child unit, install private part of ancestors before compiling
8550 private part of spec.
8551
8552 * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
8553 use scope entities rather than tree structures, to handle properly
8554 parent units that are instances rewritten as bodies for inlining
8555 purposes.
8556
8557 * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
8558 Remove_Parents): Handle properly a parent unit that is an
8559 instantiation, when the unit has been rewritten as a body for inlining
8560 purposes.
8561
8562 * par.adb (Goto_List): Global variable to collect goto statements in a
8563 given unit, for use in detecting natural loops.
8564
8565 * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
8566 use in detecting natural loops.
8567
8568 * par-labl.adb (Find_Natural_Loops): Recognize loops create by
8569 backwards goto's, and rewrite as a infinite loop, to improve locality
8570 of temporaries.
8571
8572 * exp_util.adb (Force_Evaluation): Recognize a left-hand side
8573 subcomponent that includes an indexed reference, to prevent the
8574 generation of copies that would miscompile the desired assignment
8575 statement.
8576 (Build_Task_Image_Decls): Add a numeric suffix to
8577 generated name for string variable, to avoid spurious conflicts with
8578 the name of the type of a single protected object.
8579
8580 * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
8581 loop with an explicit exit statement, to avoid generating an
8582 out-of-range value with 'Succ leading to spurious constraint_errors
8583 when compiling with -gnatVo.
8584
85852004-07-15 Thomas Quinot <quinot@act-europe.fr>
8586
8587 * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
8588 might not be analyzed yet, even if its Etype is already set (case of an
8589 unchecked conversion built using Unchecked_Convert_To, for example).
8590 If the prefix has already been analyzed, this will be a nop anyway.
8591
8592 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
8593 controller type, or an assignment of a record type with controlled
8594 components, copy only user data, and leave the finalization chain
8595 pointers untouched.
8596
85972004-07-15 Vincent Celier <celier@gnat.com>
8598
8599 * make.adb (Collect_Arguments): Improve error message when attempting
8600 to compile a source not part of any project, when -x is not used.
8601
8602 * prj.ads: (Defined_Variable_Kind): New subtype
8603
8604 * prj-attr.adb (Register_New_Package): Two new procedures to register
8605 a package with or without its attributes.
8606 (Register_New_Attribute): Mew procedure to register a new attribute in a
8607 package.
8608 New attribute oriented subprograms: Attribute_Node_Id_Of,
8609 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
8610 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
8611 Next_Attribute.
8612 New package oriented subprograms: Package_Node_Id_Of,
8613 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
8614
8615 * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
8616 type.
8617 (Package_Node_Id): Now a private, self initialized type
8618 (Register_New_Package): New procedure to register a package with its
8619 attributes.
8620 New attribute oriented subprograms: Attribute_Node_Id_Of,
8621 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
8622 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
8623 Next_Attribute.
8624 New package oriented subprograms: Package_Node_Id_Of,
8625 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
8626
8627 * prj-dect.adb (Parse_Attribute_Declaration,
8628 Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
8629
8630 * prj-makr.adb (Make): Parse existing project file before creating
8631 other files. Fail if there was an error during parsing.
8632
8633 * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
8634 new spec of Prj.Attr.
8635
8636 * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
8637 to new spec of Prj.Attr.
8638
86392004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8640
8641 * utils2.c: Fix typo in comment.
8642
86432004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
54805e13
RK
8644
8645 * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
8646 * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
8647
a1c7af89
AS
86482004-07-14 Andreas Schwab <schwab@suse.de>
8649
8650 * trans.c (gnat_init_stmt_group): Remove duplicate definition.
8651
a5cb3b30
AC
86522004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8653
8654 * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
8655 object type.
8656 (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
8657 TYPE_STUB_DECL.
8658
8659 * misc.c (gnat_types_compatible_p): New function.
8660 (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
8661 (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
8662
8663 * trans.c (gigi): Move processing of main N_Compilation_Unit here.
8664 (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
8665 (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
8666 (mark_visited): Don't mark dummy type.
6615c446 8667 (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
a5cb3b30
AC
8668 parameter, we must remove any LJM building from GNU_NAME.
8669 (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
8670 (pos_to_constructor): Use int_const_binop.
8671 (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
8672 PARM_DECL.
8673
8674 * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
8675 (gnat_pushlevel): Set TREE_USE on BLOCK node.
8676 (gnat_install_builtins): Add __builtin_memset.
8677
86782004-07-13 Olivier Hainque <hainque@act-europe.fr>
8679
8680 * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
8681 for a renaming, stabilize the initialization expression if we are at a
8682 local level. At the local level, uses of the renaming may be performed
8683 by a direct dereference of the initializing expression, and we don't
8684 want possible variables there to be evaluated for every use.
8685
8686 * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
8687 Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
8688 them on the way. Account for the fact that we may introduce side
8689 effects in the process.
8690
0976078c
RH
86912004-07-13 Richard Henderson <rth@redhat.com>
8692
8693 * misc.c (default_pass_by_ref): Use pass_by_reference.
8694
9dcf6e73
JM
86952004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
8696
8697 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
8698 LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
8699
ac45df5d
RH
87002004-07-08 Richard Henderson <rth@redhat.com>
8701
8702 * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
8703 commentary.
8704
15ce9ca2
AC
87052004-07-06 Vincent Celier <celier@gnat.com>
8706
8707 * vms_conv.ads: Minor reformatting.
8708 Alphabetical order for enumerated values of type Command_Type, to have
8709 the command in alphabetical order for the usage.
8710
8711 * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
8712 the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
8713
8714 * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
8715
8716 * makegpr.adb (Global_Archive_Exists): New global Boolean variable
8717 (Add_Archive_Path): Only add the global archive if there is one.
8718 (Build_Global_Archive): Set Global_Archive_Exists depending if there is
8719 or not any object file to put in the global archive, and don't build
8720 a global archive if there is none.
8721 (X_Switches): New table
8722 (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
8723 in the X_Switches table, if any.
8724 (Initialize): Make sure the X_Switches table is empty
8725 (Scan_Arg): Record -X switches in table X_Switches
8726
8727 * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
8728
8729 * make.adb: Minor comment fix
8730
8731 * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
8732 invoked with directory information, add the directory in front of the
8733 path.
8734
8735 * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
8736 invoked with directory information, add the directory in front of the
8737 path.
8738
8739 * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
8740 when Keep_Temporary_Files is False.
8741 (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
8742 directory information, add the directory in front of the path.
8743 When not on VMS, handle new switch -dn before the command to set
8744 Keep_Temporary_Files to True.
8745 (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
8746 everywhere.
8747
8748 * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
8749 invoked with directory information, add the directory in front of the
8750 path.
8751
87522004-07-06 Thomas Quinot <quinot@act-europe.fr>
8753
8754 * snames.ads, snames.adb (Name_Stub): New name for the distributed
8755 systems annex.
8756
8757 * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
8758 New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
8759
8760 * g-socket.adb (To_Timeval): Fix incorrect conversion of
8761 Selector_Duration to Timeval for the case of 0.0.
8762
8763 * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
8764 documentation from Evolve_And_Then.
8765
87662004-07-06 Jose Ruiz <ruiz@act-europe.fr>
8767
8768 * s-taprop-tru64.adb, s-taprop-os2.adb,
8769 s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
8770
87712004-07-06 Robert Dewar <dewar@gnat.com>
8772
8773 * s-osinte-hpux.ads, s-osinte-freebsd.ads,
8774 s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
8775 s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
8776 s-interr-sigaction.adb, s-taprop-irix-athread.adb,
8777 s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
8778 s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
8779 s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
8780 s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
8781 a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
8782 a-tags.ads, bindgen.ads, checks.adb, checks.adb,
8783 csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
8784 exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
8785 g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
8786 i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
8787 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
8788 sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
8789 sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
8790 s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
8791 s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
8792 s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
8793 vms_data.ads: Minor reformatting,
8794 Fix bad box comment format.
8795
8796 * gnat_rm.texi: Fix minor grammatical error
8797
8798 * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
8799
8800 * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
8801 more cases of discriminated records to be recognized as not needing a
8802 secondary stack.
8803 (Has_Access_Values): New function.
8804
8805 * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
8806
8807 * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
8808 Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
8809 with LRM terminology).
8810 Change terminology in comments primitive type => elementary type.
8811
88122004-07-06 Ed Schonberg <schonberg@gnat.com>
8813
8814 PR ada/15602
8815 * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
8816 parameters do not impose any requirements on the presence of a body.
8817
88182004-07-06 Ed Schonberg <schonberg@gnat.com>
8819
8820 PR ada/15593
8821 * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
8822 compilation unit and is in an open scope at the point of instantiation,
8823 assume that a body may be present later.
8824
88252004-07-06 Ed Schonberg <schonberg@gnat.com>
8826
8827 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
8828 Improve error message when specified size is not supported.
8829
8830 * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
8831 is never a primitive operation.
8832
cb42deba
AS
88332004-07-05 Andreas Schwab <schwab@suse.de>
8834
8835 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
8836 RECORD_OR_UNION_CHECK.
8837 (TYPE_CONTAINS_TEMPLATE_P): Likewise.
8838
98877933
KC
88392004-07-04 Kelley Cook <kcook@gcc.gnu.org>
8840
8841 * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
8842 dependency on xgnatugn, instead build it via a submake.
8843 (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
8844
8fff4fc1
RH
88452004-07-04 Richard Henderson <rth@redhat.com>
8846
8847 * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
8848
4dfa0342
RH
88492004-07-01 Richard Henderson <rth@redhat.com>
8850
8851 * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
8852 * utils.c (max_size): Likewise.
8853
909f21b3
RK
88542004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8855
8856 * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
8857 and rest_of_type_compilation; add arg to create_*_decl.
15cd18b9 8858 (annotate_decl_with_node): Deleted.
909f21b3
RK
8859 (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
8860 * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
8861 (get_current_block_context, gnat_pushdecl): New declarations.
8862 (gnat_init_stmt_group): Likewise.
8863 (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
8864 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
8865 (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
8866 (gnat_init): Call gnat_init_stmt_group.
8867 * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
8868 (gnu_pending_elaboration_list): Deleted.
8869 (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
8870 (gigi): Rearrange initialization calls and move some to last above.
8871 (gnat_to_gnu): If statement and not in procedure, go into elab proc.
8872 Delete calls to add_decl_expr; add arg to create_*_decl.
8873 (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
6615c446 8874 (gnat_to_gnu, case N_Subprogram_Body): Move some code to
909f21b3
RK
8875 begin_subprog_body and call it.
8876 Don't push and pop ggc context.
8877 (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
8878 (add_stmt): Remove handling of DECL_EXPR from here.
8879 If not in function, mark visited.
8880 (add_decl_expr): Put global at top level.
8881 Check for cases of DECL_INITIAL we have to handle here.
8882 (process_type): Add extra arg to create_type_decl.
8883 (build_unit_elab): Rework to just gimplify.
8884 * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
8885 (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
8886 (get_pending_elaborations, pending_elaborations_p): Likewise.
8887 (push_pending_elaborations, pop_pending_elaborations): Likewise.
8888 (get_elaboration_location, insert_elaboration_list): Likewise.
8889 (gnat_binding_level): Renamed from ada_binding_level.
8890 (init_gnat_to_gnu): Don't clear pending_elaborations.
8891 (global_bindings_p): Treat as global if no current_binding_level.
8892 (set_current_block_context): New function.
8893 (gnat_pushdecl): Renamed from pushdecl; major rework.
8894 All callers changed.
8895 (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
8896 (finish_record_type): Call call pushdecl for stub decl.
8897 (function_nesting_depth): Deleted.
8898 (begin_subprog_body): Delete obsolete code.
8899 * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
6615c446 8900
246d2ceb
AC
89012004-06-28 Robert Dewar <dewar@gnat.com>
8902
8903 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
8904 mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
8905 mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
8906 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
8907 a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
8908
8909 * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
8910 deal with problem of inefficient slices on machines with strict
8911 alignment, when the slice is a component of a composite.
8912
8913 * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
8914 machines, we need the check there as well.
8915
89162004-06-28 Ed Schonberg <schonberg@gnat.com>
8917
8918 * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
8919 determine safe copying direction for overlapping slice assignments
8920 when component is controlled.
8921
8922 * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
8923 formal derived type in the actual for a formal package are visible in
8924 the enclosing instance.
8925
89262004-06-28 Ed Schonberg <schonberg@gnat.com>
8927
8928 PR ada/15600
8929 * sem_util.adb (Trace_Components): Diagnose properly an illegal
8930 circularity involving a private type whose completion includes a
8931 self-referential component.
8932 (Enter_Name): Use Is_Inherited_Operation to distinguish a source
8933 renaming or an instantiation from an implicit derived operation.
8934
89352004-06-28 Pascal Obry <obry@gnat.com>
8936
8937 * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
8938 DLL.
8939 (Library_File_Name_For): Idem.
8940
89412004-06-28 Matthew Gingell <gingell@gnat.com>
8942
8943 * g-traceb.ads: Add explanatory note on the format of addresses
8944 expected by addr2line.
8945
89462004-06-28 Jerome Guitton <guitton@act-europe.fr>
8947
8948 * Makefile.in: Force debugging information on s-tasdeb.adb,
8949 a-except.adb and s-assert.adb needed by the debugger.
8950
89512004-06-28 Vincent Celier <celier@gnat.com>
8952
8953 * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
8954 Need_To_Build_Lib.
8955 (Gnatmake): Ditto.
8956
8957 * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
8958
8959 * prj.adb: Minor reformatting
8960 (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
8961
8962 * prj.ads: Comment updates
8963 Minor reformatting
8964 (Project_Data): Change Flag1 to Need_To_Build_Lib.
8965 Remove Flag2: not used.
8966
8967 * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
8968 declaration.
8969
8970 * gnat_ugn.texi: Put a "null;" declaration in one project file example
8971
8972 * gnat_rm.texi: Document Empty declarations "null;".
8973
8974 * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
8975 front of the linker options.
8976 (Link_Foreign): Put the global archives and the libraries in front of
8977 the linker options.
8978
89792004-06-28 Javier Miranda <miranda@gnat.com>
8980
8981 * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
8982 (RTU_Loaded): Code cleanup
8983 (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
8984 withed predefined units.
8985
8986 * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
8987 explicitly withed predefined units.
8988 Fix typo in comment
8989
8990 * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
8991 explicitly withed predefined units.
8992
bce3da32
RK
89932004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8994
8995 * ada-tree.def (DECL_STMT): Deleted.
8996 * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
8997 (DECL_STMT_VAR): Deleted.
8998 * decl.c: add_decl_stmt now add_decl_expr.
8999 * gigi.h: Likewise.
9000 * trans.c: Likewise.
15cd18b9 9001 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
bce3da32
RK
9002 (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
9003 (add_stmt): Only handle padded type here.
9004 (add_stmt_with_node): Allow gnat_node to not be present.
9005 (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
9006 (gnat_gimplify_stmt, case DECL_STMT): Deleted.
9007 (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
9008 make a SAVE_EXPR for the entire fat pointer.
9009 * utils.c (pushdecl): Walk a DECL_EXPR in global case.
9010 (create_index_type): Make a DECL_EXPR.
9011 (end_subprog_body): Don't call allocate_struct_function here but
9012 do clear cfun.
9013
0da2c8ac
AC
90142004-06-25 Pascal Obry <obry@gnat.com>
9015
9016 * makegpr.adb (Build_Library): Remove parameter Lib_Address and
9017 Relocatable from Build_Dynamic_Library call.
9018
9019 * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
9020 Relocatable are now synonym.
9021
9022 * Makefile.in: Use s-parame-mingw.adb on MingW platform.
9023
9024 * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
9025 Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
9026 call.
9027
9028 * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
9029 Lib_Address and Relocatable.
9030 (Default_DLL_Address): Removed.
9031
6615c446
JO
9032 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
9033 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
0da2c8ac
AC
9034 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
9035 (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
9036 (Default_DLL_Address): Removed.
9037
9038 * mlib-tgt-mingw.adb: Ditto.
9039 (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
9040
9041 * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
9042 the initial thread stack size.
9043
9044 * a-strmap.ads: Move package L to private part as it is not used in
9045 the spec. Found while reading code.
9046
90472004-06-25 Olivier Hainque <hainque@act-europe.fr>
9048
9049 * tracebak.c: Introduce support for a GCC infrastructure based
9050 implementation of __gnat_backtrace.
9051
9052 * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
9053 any more. Use accessors instead. This eases maintenance and relaxes
9054 some alignment constraints.
9055 (_GNAT_Exception structure): Remove the Ada specific fields
9056 (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
9057 a-exexpr.adb.
9058 (is_handled_by, __gnat_eh_personality): Replace component references to
9059 exception structure by use of the new accessors.
9060
9061 * init.c (__gnat_initialize): Adjust comments to match the just
9062 reverted meaning of the -static link-time option.
9063
9064 * adaint.c (convert_addresses): Arrange not to define a stub for
9065 mips-irix any more, as we now want to rely on a real version from a
9066 recent libaddr2line.
9067
9068 * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
9069 the personality routine can use them and not have to rely on a C
9070 counterpart of the record anymore. This simplifies maintenance and
9071 relaxes the constraint of having Standard'Maximum_Alignment match
9072 BIGGEST_ALIGNMENT.
9073 Update comments, and add a section on the common header alignment issue.
9074
90752004-06-25 Geert Bosch <bosch@gnat.com>
9076
9077 * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
9078 polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
9079
90802004-06-25 Robert Dewar <dewar@gnat.com>
9081
9082 * gnat_rm.texi: Fix section on component clauses to indicate that the
9083 restriction on byte boundary placement still applies for bit packed
9084 arrays.
9085 Add comment on stack usage from Initialize_Scalars
9086
9087 * gnat_ugn.texi: Add documentation for -gnatyLnnn
9088
9089 * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
9090 limiting nesting level.
9091
9092 * usage.adb: Add line for -gnatyLnnn switch
9093
9094 * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
9095 sem_ch13.adb, exp_aggr.adb: Minor reformatting
9096
9097 * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
9098 type as well as on the subtype. This corrects a problem in freeze in
9099 setting alignments of atomic types.
9100
9101 * sem_eval.ads: Minor comment typo fixed
9102
9103 * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
9104 level. Minor reformatting.
9105
9106 * fname.adb (Is_Predefined_File_Name): Require a letter after the
9107 minus sign. This means that file names like a--b.adb will not be
9108 considered predefined.
9109
9110 * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
9111 record Test new flag and give diagnostic for bad component clause.
9112 (Freeze_Entity): Set alignment of array from component alignment in
9113 cases where this is safe to do.
9114
9115 * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
9116 arrays.
9117
9118 * cstand.adb: (Create_Standard): Set alignment of String to 1
9119
9120 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
9121
9122 * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
9123 code in the common constrained array cases.
9124
9125 * a-storio.adb: Change implementation to avoid possible alignment
9126 problems on machines requiring strict alignment (data should be moved
9127 as type Buffer, not type Elmt).
9128
9129 * checks.adb (Apply_Array_Size_Check): Improve these checks by
9130 killing the overflow checks which we really do not need (64-bits is
9131 enough).
9132
91332004-06-25 Vincent Celier <celier@gnat.com>
9134
9135 * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
9136 (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
9137 inconditionally for the main project.
9138 (Recursive_Add_Archives.Add_Archive_Path): New procedure
9139 (Link_Executables.Check_Time_Stamps): New procedure
9140 (Link_Executables.Link_Foreign): New procedure
9141 Changes made to reduce nesting level of this package
9142 (Check): New procedure
9143 (Add_Switches): When not in quiet output, check that a switch is not
9144 the concatenation of several valid switches. If it is, issue a warning.
9145 (Build_Global_Archive): If the global archive is rebuilt, linking need
9146 to be done.
9147 (Compile_Sources): Rebuilding a library archive does not imply
9148 rebuilding the global archive.
9149 (Build_Global_Archive): New procedure
9150 (Build_Library): New name for Build_Archive, now only for library
9151 project
9152 (Check_Archive_Builder): New procedure
9153 (Create_Global_Archive_Dependency_File): New procedure
9154 (Gprmake): Call Build_Global_Archive before linking
9155 * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
9156 throughout.
9157 (Scan_Arg): Display the Copyright notice when -v is used
9158
9159 * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
9160 for gnatls.
9161
9162 * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
9163 COMPILE.
9164 Add new GNAT LIST qualifier /FILES=
9165 Added qualifier /DIRECTORY= to GNAT METRIC
9166 Added qualifier /FILES= to GNAT METRIC
9167 Added qualifier /FILES to GNAT PRETTY
9168
9169 * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
9170 to take into account both versions of the switch.
9171
9172 * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
9173 always be the last switch to the gcc driver. Disable switch storing so
9174 that switches automatically added by the gcc driver are not put in the
9175 ALI file.
9176
9177 * prj.adb (Project_Empty): Take into account changes in components of
9178 Project_Data.
9179
9180 * prj.ads (Languages_Processed): New enumaration value All_Languages.
9181
9182 * prj.ads (Project_Data): Remove component Lib_Elaboration: never
9183 used. Split Boolean component Ada_Sources_Present in two Boolean
9184 components Ada_Sources_Present and Other_Sources_Present.
9185 Minor reformatting
9186
9187 * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
9188 instead of Sources_Present.
9189 (Set_Ada_Paths.Add.Recursive_Add): Ditto
9190
9191 * prj-nmsc.adb: Minor reformatting
9192 (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
9193 (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
9194 Check_Ada_Naming_Scheme.
9195 Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
9196 throughout.
9197
9198 * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
9199 In_Limited.
9200 Make sure that all cycles where there is at least one "limited with"
9201 are detected.
9202 (Parse_Single_Project): New Boolean parameter In_Limited
9203
9204 * prj-proc.adb (Recursive_Check): When Process_Languages is
9205 All_Languages, call first Prj.Nmsc.Ada_Check, then
9206 Prj.Nmsc.Other_Languages_Check.
9207
9208 * prj-proc.adb (Process): Use Ada_Sources_Present or
9209 Other_Sources_Present (instead of Sources_Present) depending on
9210 Process_Languages.
9211
9212 * lang-specs.h: Keep -g and -m switches in the same order, and as the
9213 last switches.
9214
9215 * lib.adb (Switch_Storing_Enabled): New global Boolean flag
9216 (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
9217 False.
9218 (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
9219 False.
9220
9221 * lib.ads (Disable_Switch_Storing): New procedure.
9222
9223 * make.adb: Modifications to reduce nesting level of this package.
9224 (Check_Standard_Library): New procedure
9225 (Gnatmake.Check_Mains): New procedure
9226 (Gnatmake.Create_Binder_Mapping_File): New procedure
9227 (Compile_Sources.Compile): Add switch -gnatez as the last option
9228 (Display): Never display -gnatez
9229
6615c446 9230 * Makefile.generic:
0da2c8ac
AC
9231 When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
9232
9233 * gnatcmd.adb (Check_Project): New function
9234 (Process_Link): New procedure to reduce nesting depth
9235 (Check_Files): New procedure to reduce the nesting depth.
9236 For GNAT METRIC, include the inherited sources in extending projects.
9237 (GNATCmd): When GNAT LS is invoked with a project file and no files,
9238 add the list of files from the sources of the project file. If this list
9239 is too long, put it in a temp text files and use switch -files=
9240 (Delete_Temp_Config_Files): Delete the temp text file that contains
9241 a list of source for gnatpp or gnatmetric, if one has been created.
9242 (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
9243 in the project file is too large, create a temporary text file that
9244 list them and pass it to the tool with "-files=<temp text file>".
9245 (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
9246
9247 * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
9248 generated file is in not in Ada.
9249
9250 * gnatls.adb: Remove all parameters And_Save that are no longer used.
9251 (Scan_Ls_Arg): Add processing for -files=
9252 (Usage): Add line for -files=
9253
9254 * g-os_lib.adb (On_Windows): New global constant Boolean flag
9255 (Normalize_Pathname): When on Windows and the path starts with a
9256 directory separator, make sure that the resulting path will start with
9257 a drive letter.
9258
9259 * clean.adb (Clean_Archive): New procedure
9260 (Clean_Project): When there is non-Ada code, delete the global archive,
9261 the archive dependency files, the object files and their dependency
9262 files, if they exist.
9263 (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
9264
92652004-06-25 Thomas Quinot <quinot@act-europe.fr>
9266
9267 * sinfo.ads: Fix typo in comment.
9268
9269 * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
9270 the TSS for remote access-to-subprogram types, since these TSS are
9271 always present once the type has been analyzed.
9272 (RAS_E_Dereference): Same.
9273
9274 * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
9275 reference raises Bad_Attribute, mark the reference as analyzed so the
9276 node (and any children resulting from rewrites that could have occurred
9277 during the analysis that ultimately failed) is not analyzed again.
9278
9279 * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
9280
9281 * exp_dist.adb: Minor comment fix.
9282
9283 * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
9284 type is an anonymous access type, no unchecked deallocation of the
9285 allocated object can occur. If the object is controlled, attach it with
9286 a count of 1. This allows attachment to the Global_Final_List, if
9287 no other relevant list is available.
9288 (Get_Allocator_Final_List): For an anonymous access type that is
9289 the type of a discriminant or record component, the corresponding
9290 finalisation list is the one of the scope of the type.
9291
92922004-06-25 Ed Schonberg <schonberg@gnat.com>
9293
9294 * sem_ch3.adb (Replace_Type): When computing the signature of an
9295 inherited subprogram, use the first subtype if the derived type
9296 declaration has no constraint.
9297
9298 * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
9299 before applying previous optimization. Minor code cleanup.
9300
9301 * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
9302 placed at the beginning of an unpacked record without explicit
9303 alignment, a slice of it will be aligned and does not need a copy when
9304 used as an actual.
9305
93062004-06-25 Ed Schonberg <schonberg@gnat.com>
9307
9308 PR ada/15591
9309 PR ada/15592
9310 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
9311 reference is written with expressions mimicking parameters.
9312
93132004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
9314
9315 PR ada/15589
9316 * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
9317 STEP 2a. The constraints of a full type declaration of a derived record
9318 type are checked for conformance with those declared in the
9319 corresponding private extension declaration. The message
9320 "not conformant with previous declaration" is emitted if an error is
9321 detected.
9322
93232004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
9324
9325 * g-traceb.ads: Document the need for -E binder switch in the spec.
9326
9327 * g-trasym.ads: Document the need for -E binder switch in the spec.
9328
93292004-06-25 Jose Ruiz <ruiz@act-europe.fr>
9330
9331 * sem_prag.adb: Add handling of pragma Detect_Blocking.
9332
9333 * snames.h, snames.ads, snames.adb: Add entry for pragma
9334 Detect_Blocking.
9335
9336 * s-rident.ads: Change reference to pragma Detect_Blocking.
9337
9338 * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
9339 system.ads.
9340
9341 * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
9342 to indicate whether pragma Detect_Blocking is active.
9343
9344 * par-prag.adb: Add entry for pragma Detect_Blocking.
9345
9346 * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
9347 of not handling WITH.
9348 Note that this replaces the previous update which was incorrect.
9349
93502004-06-25 Javier Miranda <miranda@gnat.com>
9351
9352 * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
9353 use-clauses to have a clean environment.
9354
9355 * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
9356 the installation of the use-clauses to stablish a clean environment in
9357 case of compilation of a separate unit; otherwise the call to
9358 use_one_package is protected by the barrier Applicable_Use.
9359
9360 * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
9361 the installation of the use-clauses to stablish a clean environment in
9362 case of compilation of a separate unit.
9363 (End_Use_Clauses): Minor comment cleanup.
9364
93652004-06-25 Sergey Rybin <rybin@act-europe.fr>
9366
9367 * gnat_ugn.texi: Add description of the gnatpp 'files' switch
9368
65355d53
RH
93692004-06-23 Richard Henderson <rth@redhat.com>
9370
9371 * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
9372
c0e3aa48
RK
93732004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9374
9375 * decl.c (elaborate_expression, elaborate_expression_1): Arguments
9376 now bool instead of int.
9377 (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
9378 * trans.c (gnu_switch_label_stack): New function.
9379 (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
9380 elaboration of renamed entity returns.
9381 (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
9382 (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
9383 (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
9384 (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
9385 DECL_SIZE_UNIT and simplify variable-sized case.
9386 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
9387 Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
9388 (gnat_stabilize_reference): Add arg to COMPONENT_REF.
9389 (build_unit_elab): Disable for now.
9390 * utils.c (mark_visited): New function.
9391 (pushdecl): Walk tree to call it for global decl.
9392 (update_pointer_to): Update all variants of pointer and ref types.
9393 Add arg to COMPONENT_REF.
9394 (convert): Likewise.
9395 Move check for converting between variants lower down.
9396 * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
9397 (build_allocator): Don't force type of MODIFY_EXPR.
9398 (gnat_mark_addressable, case VAR_DECL): Unconditionally call
9399 put_var_into_stack.
9400
966389ee
RK
94012004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9402
9403 * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
9404 * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
9405 * decl.c (gnat_to_gnu_entity): Also set force_global for imported
9406 subprograms.
9407 * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
9408 all callers changed.
9409 (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
9410 the way that EXIT_STMT finds the loop label.
9411 (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
9412 (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
9413 (add_stmt): Use annotate_with_locus insted of setting directly.
9414 (pos_to_construct): Set TREE_PURPOSE of each entry to index.
9415 (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
9416 * utils.c (gnat_install_builtins): Install __builtin_memcmp.
9417 (build_vms_descriptor): Add extra args to ARRAY_REF.
9418 (convert): Use VIEW_CONVERT_EXPR between aggregate types.
9419 * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
9420 New cases.
9421 (build_binary_op): Don't make explicit CONVERT_EXPR.
9422 Add extra rgs to ARRAY_REF.
9423
cc335f43
AC
94242004-06-14 Pascal Obry <obry@gnat.com>
9425
9426 * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
9427 Windows. Fix minor typo.
9428
9429 * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
9430 which is now supported on Windows. With this implementation using the
9431 Library Project feature is no different on Windows than on UNIX.
9432
94332004-06-14 Vincent Celier <celier@gnat.com>
9434
9435 * makegpr.adb (Compile_Sources): Nothing to do when there are no
9436 non-Ada sources.
9437
9438 * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
9439
9440 * prj-part.adb (Parse_Single_Project): When a duplicate project name is
9441 found, show the project name and the path of the previously parsed
9442 project file.
9443
94442004-06-14 Ed Schonberg <schonberg@gnat.com>
9445
9446 * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
9447 array, avoid copying the actual before the call.
9448
94492004-06-14 Thomas Quinot <quinot@act-europe.fr>
9450
9451 * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
9452 Instead, allocate memory on worst-case alignment assumptions, and then
9453 return an aligned address within the allocated zone.
9454
94552004-06-14 Robert Dewar <dewar@gnat.com>
9456
9457 * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
9458 elab entities in predefined units in No_Run_Time_Mode.
9459 (Gen_Adainit_C): Same fix
9460 (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
9461 units in No_Run_Time_Mode
9462 (Gen_Elab_Calls_C): Same fix
9463
9464 * symbols-vms-alpha.adb: Minor reformatting
9465
9466 * g-debpoo.ads: Minor reformatting
9467
9468 * lib.adb (In_Same_Extended_Unit): Version working on node id's
9469
9470 * lib.ads (In_Same_Extended_Unit): Version working on node id's
9471
9472 * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
9473 working on nodes.
9474
9475 * make.adb: Minor reformatting
9476
9477 * par-ch12.adb: Minor reformatting
9478
9479 * par-prag.adb: Add dummy entry for pragma Profile_Warnings
9480
9481 * prj-strt.adb: Minor reformatting
9482
9483 * restrict.ads, restrict.adb: Redo handling of profile restrictions to
9484 be more general.
9485
9486 * sem_attr.adb: Minor reformatting
9487
9488 * sem_ch7.adb: Minor reformatting
9489
9490 * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
9491 for type in the same unit as the object declaration.
9492
9493 * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
9494 static string expressions and not just string literals.
9495 Minor reformatting
9496 (Set_Warning): Reset restriction warning flag for restriction pragma
9497 Implement pragma Profile_Warnings
9498 Implement pragma Profile (Restricted)
9499 Give obolescent messages for old restrictions and pragmas
9500
9501 * snames.h, snames.ads, snames.adb: Add new entry for pragma
9502 Profile_Warnings.
9503
9504 * s-rident.ads: Add declarations for restrictions required by profile
9505 Restricted and profile Ravenscar.
9506
9507 * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
9508
9509 * gnat_ugn.texi: Correct some missing entries in the list of GNAT
9510 configuration pragmas.
9511
5453d5bd
AC
95122004-06-11 Vincent Celier <celier@gnat.com>
9513
9514 * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
9515 gnatsym, when symbol policy is Restricted.
9516
9517 * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
9518 gnatsym, when symbol policy is Restricted.
9519
9520 * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
9521 read the symbol file.
9522 (Finalize): Fail in symbol policy Restricted if a symbol in the original
9523 symbol file is not in the object files. Do not create a new symbol file
9524 when symbol policy is Restricted.
9525
9526 * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
9527 in Scng.
9528
9529 * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
9530 Restricted.
9531 (Usage): Line for new switch -R
9532
9533 * make.adb (Initialize): When the platform is not VMS, add the
9534 directory where gnatmake is invoked in the front of the path, if
9535 gnatmake is invoked with directory information. Change the Scan_Args
9536 while loop to a for loop.
9537 (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
9538 if Depth is equal or greater than the proposed depth, there is nothing
9539 to do.
9540 (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
9541 instead of 0.
9542
9543 * prj.ads: Add new symbol policy Restricted.
9544
9545 * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
9546 with the new parameters Check_All_Labels and Case_Location.
9547
9548 * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
9549 (Library_Symbol_File needs to be defined).
9550
9551 * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
9552 and Case_Location If Check_All_Labels is True, check that all values of
9553 the string type are used, and output warning(s) if they are not.
9554
9555 * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
9556 and Case_Location.
9557
9558 * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
9559
9560 * gnat_ugn.texi: Update documentation about the library directory in
9561 Library Projects.
9562
9563 * makegpr.adb (Display_Command): In verbose mode, also display the
9564 value of the CPATH env var, when the compiler is gcc.
9565 (Initialize): Change the Scan_Args while loop to a for loop
9566 (Compile_Individual_Sources): Change directory to object directory
9567 before compilations.
9568
9569 * symbols.ads: New symbol policy Restricted.
9570
95712004-06-11 Olivier Hainque <hainque@act-europe.fr>
9572
9573 * a-except.adb (Raise_After_Setup family): Remove. The responsibility
9574 is now taken care of internally in the Exception_Propagation package
9575 and does not require clients assistance any more.
9576
9577 * a-exexpr.adb (Is_Setup_And_Not_Propagated,
9578 Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
9579 functions. Helpers to maintain a predicate required in the handling of
9580 occurrence transfer between tasks.
9581 This is now handled internally and does not require clients assistance
9582 for the setup/propagate separation anymore.
9583 (Setup_Exception, Propagate_Exception): Simplify the Private_Data
9584 allocation strategy, handle the Setup_And_Not_Propagated predicate and
9585 document.
9586
9587 * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
9588 raise_after_setup, now that everything is handled internally within the
9589 setup/propagation engine.
9590
95912004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
9592
9593 * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
9594 Add additional conditions for the case of an actual being a simple
9595 name or literal. Improve inlining by preventing the generation
9596 of temporaries with a short lifetime (one use).
9597
95982004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
9599
9600 PR ada/15587
9601
9602 * einfo.ads: Minor comment updates for Has_Completion and
9603 E_Constant list of flags.
9604
9605 * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
9606 and constant redeclarations now set the Has_Completion flag of their
9607 defining identifiers.
9608
9609 * sem_ch7.adb (Analyze_Package_Spec): Add procedure
9610 Inspect_Deferred_Constant_Completion.
9611 Used to detect private deferred constants that have not been completed
9612 either by a constant redeclaration or pragma Import. Emits error message
9613 "constant declaration requires initialization expression".
9614
9615 * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
9616 completes a deferred constant.
9617
96182004-06-11 Geert Bosch <bosch@gnat.com>
9619
9620 * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
9621
9622 * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
9623 calculating exponent for scaling denormal numbers.
9624 (Leading_Part): Properly raise Constraint_Error for zero or negative
9625 Adjustment.
9626 (Remainder): Properly raise Constraint_Error for zero divisor.
9627
96282004-06-11 Thomas Quinot <quinot@act-europe.fr>
9629
9630 * sem_util.adb: Minor reformatting.
9631
9632 * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
9633 dereference when accessing the entry parameter record.
9634 (Check_Array_Type): Always check for possible implicit dereference.
9635 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
9636 Abort if a pointer is still present (denoting that an implicit
9637 dereference was left in the tree by the front-end).
9638
9639 * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
9640 dereference when accessing the entry parameter record.
9641 (Check_Array_Type): Always check for possible implicit dereference.
9642 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
9643 Abort if a pointer is still present (denoting that an implicit
9644 dereference was left in the tree by the front-end).
9645
96462004-06-11 Emmanuel Briot <briot@act-europe.fr>
9647
9648 * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
9649 message, like the compiler itself does. Easier to parse the output.
9650
9651 * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
9652
9653 * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
9654 be base names, and not includes directories.
9655
96562004-06-11 Arnaud Charlet <charlet@act-europe.fr>
9657
9658 * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
9659 so that dependencies are properly taken into account by make.
9660
96612004-06-11 Arnaud Charlet <charlet@act-europe.fr>
9662
9663 PR ada/15622
9664 * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
9665 exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
9666
96672004-06-11 Jerome Guitton <guitton@act-europe.fr>
9668
9669 * Makefile.in (install-gnatlib): install target-specific run-time files.
9670
9671 * Make-lang.in: Remove obsolete targets.
9672
96732004-06-11 Ed Schonberg <schonberg@gnat.com>
9674
9675 * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
9676 specification, to catch misuses of program unit names.
9677
9678 * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
9679 superfluous conversions in an instance.
9680
96812004-06-11 Ed Schonberg <schonberg@gnat.com>
9682
9683 PR ada/15403
9684
9685 * sem_ch12.adb (Save_References): If operator node has been folded to
9686 enumeration literal, associated_node must be discarded.
9687
96882004-06-11 Jose Ruiz <ruiz@act-europe.fr>
9689
9690 * s-stchop-vxworks.adb: Add required pragma Convention to
9691 Task_Descriptor because it is updated by a C function.
9692
a98f59be
AC
96932004-06-08 Arnaud Charlet <charlet@act-europe.fr>
9694
9695 PR ada/15568
9696
9697 * Makefile.in: Remove target specific SO_OPT on IRIX
9698
821e1ea1
RK
96992004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9700
9701 * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
9702 (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
9703 (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
9704 (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
9705 (STMT_STMT, USE_STMT): New statement codes.
9706 (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
9707 * ada-tree.h: Reflect above changes.
15cd18b9 9708 (struct tree_loop_id): Deleted.
821e1ea1
RK
9709 (union lang_tree_node, struct lang_decl, struct lang_type):
9710 Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
9711 and DECL_LANGUAGE_SPECIFIC to reflect these changes.
9712 (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
9713 (IS_ADA_STMT): New macro.
9714 * decl.c (annotate_decl_with_node): New function.
9715 (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
9716 (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
9717 Call add_stmt_with_node to do needed assignments.
9718 Add call to update setjmp buffer directly, not via EXPR_STMT.
9719 (maybe_variable): Argment GNAT_NODE deleted.
9720 * gigi.h (maybe_variable): Likewise.
9721 (make_transform, add_stmt_with_node, set_block_for_group): New.
9722 (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
9723 (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
9724 (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
9725 (set_lineno, set_lineno_from_sloc): Likewise.
9726 (record_code_position, insert_code_for): Likewise.
9727 (gnat_poplevel): Now returns void.
9728 (end_subprog_body): Now takes argument.
9729 * misc.c (cgraph.h, tree-inline.h): New includes.
9730 (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
9731 (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
9732 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
9733 (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
9734 (gnat_parse_file): Don't set immediate_size_expand.
9735 Call cgraph functions.
9736 (gnat_expand_expr): Remove most cases.
9737 (record_code_position, insert_code_for): Remove from here.
9738 * trans.c (toplev.h, tree-gimple.h): Now included.
9739 (discard_file_names): Deleted.
9740 (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
9741 (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
9742 (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
9743 (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
9744 (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
9745 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
9746 (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
9747 (set_block_for_group, add_stmt_list): Likewise.
9748 (start_stmt_group): Renamed from start_block_stmt.
9749 (end_stmt_group): Likewise, from end_block_stmt.
9750 (build_stmt_group): Likewise, from build_block_stmt, also add arg.
9751 (gigi): Don't set discard_file_names or call set_lineno.
9752 Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
9753 (tree_transform): Deleted, now renamed to be gnat_to_gnu.
9754 Numerous changes throughout to reflect new names and complete
9755 function-at-a-time implementation.
9756 (gnat_expand_stmt): Delete or comment out all cases.
9757 (process_inlined_subprograms): Use add_stmt.
9758 (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
9759 call set_lineno; also remove unneeded block handling.
9760 (process_type): Remove unneeded block handling.
9761 (build_unit_elab): Remove calls to deleted functions.
9762 * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
9763 (tree-dump.h): Likewise.
9764 (struct ada_binding_level): Add field jmpbuf_decl.
9765 (gnat_define_builtin, gnat_install_builtins): New.
9766 (gnat_gimplify_function, gnat_finalize): Likewise.
9767 (gnat_poplevel): No longer return BLOCK, set it instead.
9768 Remove code dealing with nested functions.
9769 (gnat_init_decl_processing): Also set size_type_node.
9770 Call gnat_install_builtins.
9771 (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
9772 (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
9773 Remove special-case for "main".
9774 (end_subprog_body): Add arg and rework for tree-ssa.
9775 (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
9776 Add case for BOOLEAN_TYPE.
9777 * utils2.c (rtl.h): Now include.
9778 (build_call_raise): Test Debug_Flag_NN directly.
9779 (build_call_alloc_dealloc): Don't use local stack allocation for now.
9780 (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
9781 (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
9782
0ab80019
AC
97832004-06-07 Robert Dewar <dewar@gnat.com>
9784
9785 * a-direct.ads, einfo.ads: Minor comment updates
9786
9787 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
9788 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
9789 s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
9790 s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
9791 s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
9792
9793 * s-interr-sigaction.adb: Remove unreferenced variable
9794 (Attached_Interrupts). Minor reformatting.
9795 Avoid use of variable I (replace by J).
9796
9797 * par-ch10.adb: Fix text of one error message
9798
9799 * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
9800 exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
9801 exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
9802 opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
9803 par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
9804 par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
6615c446 9805 sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
0ab80019
AC
9806 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
9807 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
9808 sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
9809 snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
9810 2005 support.
9811
98122004-06-07 Doug Rupp <rupp@gnat.com>
9813
9814 * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
9815
9816 * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
9817
9818 * mlib-tgt-vms-ia64.adb: New file.
9819
9820 * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
9821 Add mlib-tgt-vms-ia64.adb
9822 Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
9823 Move to alpha specific ifeq section.
9824 Add VMS specific versions of symbols.adb
9825 Renaming of 5q vms files.
9826
9827 * 5qsystem.ads renamed to system-vms_64.ads.
9828
98292004-06-07 Vincent Celier <celier@gnat.com>
9830
9831 * a-calend.ads: Add a GNAT Note comment after function Time_Of to
9832 explain that when a time of day corresponding to the non existing hour
9833 on the day switching to DST is specified, Split may return a different
9834 value for Seconds.
9835
9836 * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
9837 to GNAT PRETTY.
9838
9839 * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
9840 (Normalize_Pathname): Only resolve VMS logical names when on VMS.
9841
9842 * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
9843 to False.
9844 If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
9845 the linking options.
9846 (Build_Library.Check_Libs): On VMS, if there is a dependency on
9847 g-trasym.ads, set Gtrasymobj_Needed to True.
9848
9849 * prj-attr.adb: Add new package Metrics for gnatmetric
9850
9851 * prj-nmsc.adb (Record_Other_Sources): Put source file names in
9852 canonical case to take into account files with upper case characters on
9853 Windows.
9854 (Ada_Check): Load the reference symbol file name in the name buffer to
9855 check it, not the symbol file name.
9856
9857 * snames.ads, snames.adb: Add standard name Metrics (name of project
9858 file package for gnatmetric).
9859
9860 * vms_conv.ads: Add Metric to Comment_Type
9861
9862 * vms_conv.adb (Initialize): Add component dor Metric in Command_List
9863
9864 * vms_data.ads: Add qualifiers for GNAT METRIC
9865
9866 * makegpr.adb (Link_Executables): Take into account the switches
9867 specified in package Linker of the main project.
9868
98692004-06-07 Thomas Quinot <quinot@act-europe.fr>
9870
9871 * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
9872 the index of the last element is Units.Last, not Units.Table'Last
9873 (which is usually not a valid index within the actually allocated
9874 storage for the table).
9875
9876 * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
9877 determines whether to generate a call to a checked storage pool
9878 Dereference action.
9879 Generate such a call only for a dereference that either comes from
9880 source, or is the result of rewriting a dereference that comes from
9881 source.
9882
98832004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
9884
9885 * bindgen.adb (Gen_Output_File): Add support for GAP builds.
9886
98872004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
9888
9889 (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
9890 file level, elaborate the stride for inner dimensions in alignment
9891 units, not bytes.
9892
9893 * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
9894 in a comment.
9895
98962004-06-07 Javier Miranda <miranda@gnat.com>
9897
9898 * exp_ch6.adb: Correct wrong modification in previous patch
9899
99002004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
9901
9902 * g-trasym.ads: Corrected comment to properly reflect level of support
9903 on VMS.
9904
99052004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
9906
9907 * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
9908 includes case of a variable referenced on the left hand side of an
9909 assignment, therefore remove redundant code. Variables and prefixes of
9910 indexed or selected components are now marked as referenced on left
9911 hand side. Warnings are now properly emitted when variables or prefixes
9912 are assigned but not read.
9913
9914 * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
9915 left hand side referenced variables. Private access types do not
9916 produce the warning "variable ... is assigned but never read".
9917 Add also additional checks to left hand side referenced variables.
9918 Aliased, renamed objects and access types do not produce the warning
9919 "variable ... is assigned but never read" since other entities may read
9920 the memory location.
9921
99222004-06-07 Jerome Guitton <guitton@act-europe.fr>
9923
9924 * Makefile.in: In the powerpc/vxworks-specific section, restore
9925 EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
9926 by mistake).
9927
99282004-06-07 Ed Schonberg <schonberg@gnat.com>
9929
9930 * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
9931 predefined operators.
9932 Removes spurious type errors from g-trasym-vms.adb.
9933
9934 * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
9935 distinct from the operator appearing in the source, call appropriate
9936 routine to insert conversions when needed, and complete resolution of
9937 node.
9938 (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
9939 interpretations for rewritten right operand.
9940 (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
9941 the other operand is overloaded and the context is a type conversion.
9942
99432004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9944
9945 * ada-tree.def (BLOCK_STMT): Now has two operands.
9946 (BREAK_STMT): New.
9947
9948 * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
9949
9950 * gigi.h: (gnat_poplevel): Now returns a tree.
9951
9952 * trans.c (end_block_stmt): Add arg; all callers changed.
9953 (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
9954 (start_block_stmt): Clear BLOCK_STMT_BLOCK.
9955 (add_stmt): Set TREE_TYPE.
9956 (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
9957 (gnat_expand_stmt, case BREAK_STMT): New case.
9958
9959 * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
9960
99612004-06-07 Jose Ruiz <ruiz@act-europe.fr>
9962
9963 * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
9964 procedure Set_Stack_Size that is not needed.
9965
99662004-06-07 Sergey Rybin <rybin@act-europe.fr>
9967
9968 * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
9969 used for gnatpp input file and for the files upon which it depends
9970
99712004-06-07 Ben Brosgol <brosgol@gnat.com>
9972
9973 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
9974
99752004-06-07 Arnaud Charlet <charlet@act-europe.fr>
9976
9977 * gnatvsn.ads: Bump version numbers appropriately.
9978 Add new build type.
9979
99802004-06-07 Pascal Obry <obry@gnat.com>
9981
9982 * gnat_ugn.texi: Improve comments about imported names and link names
9983 on Windows. Add a note about the requirement to use -k gnatdll's option
9984 when working with a DLL which has stripped stdcall symbols (no @nn
9985 suffix).
9986
8a36a0cc
AC
99872004-05-27 Vincent Celier <celier@gnat.com>
9988
9989 * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
9990 COMMENTS_LAYOUT=UNTOUCHED
9991
9992 * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
9993 symbols-vms-alpha.adb
9994
99952004-05-27 Thomas Quinot <quinot@act-europe.fr>
9996
9997 * sem.ads: Clarify documentation on checks suppression.
9998
9999 * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
10000
100012004-05-27 Ed Schonberg <schonberg@gnat.com>
10002
10003 * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
10004 the case of multiple derivations.
10005 (Is_Object_Reference): For a selected component, verify that the prefix
10006 is itself an object and not a value.
10007
10008 * sem_ch12.adb (Same_Instantiated_Constant): New name for
10009 Same_Instantiated_Entity.
10010 (Same_Instantiated_Variable): Subsidiary to
10011 Check_Formal_Package_Instance, to recognize actuals for in-out generic
10012 formals that are obtained from a previous formal package.
10013 (Instantiate_Subprogram_Body): Emit proper error when
10014 generating code and the proper body of a stub is missing.
10015
10016 * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
10017 has a universal interpretation, do the disambiguation here.
10018
10019 * exp_ch4.adb (Expand_N_Type_Conversion,
10020 Expand_N_Unchecked_Type_Conversion): Special handling when target type
10021 is Address, to avoid typing anomalies when Address is a visible integer
10022 type.
10023
10024 * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
10025 to determine whether a subprogram should not be marked Pure, even when
10026 declared in a pure package.
10027
100282004-05-27 Jose Ruiz <ruiz@act-europe.fr>
10029
10030 * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
10031
10032 * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
10033 Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
10034 Update the documentation about the Ravenscar profile, following the
10035 definition found in AI-249.
10036
10037 * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
10038 setting the Profile (Ravenscar). This must be done in addition to
10039 setting the required restrictions.
10040
10041 * rtsfind.ads: Add the set of operations defined in package
10042 Ada.Interrupts.
10043
10044 * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
10045 restriction.
10046
100472004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
10048
10049 lang-specs.h: Always require -c or -S and always redirect to /dev/null
10050 if -gnatc or -gnats is passed.
10051
100522004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
10053
10054 * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
10055 a significant reference. Warnings are now properly emitted when a
10056 discriminated type is not referenced.
10057
10058 * lib-xref.adb (Generate_Reference): A deferred constant completion,
10059 record representation clause or record type discriminant does not
10060 produce a reference to its corresponding entity. Warnings are now
10061 properly emitted when deferred constants and record types are not
10062 referenced.
10063
100642004-05-27 Geert Bosch <bosch@gnat.com>
10065
10066 * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
10067 Fixes ACATS Annex G tests.
10068
100692004-05-27 Robert Dewar <dewar@gnat.com>
10070
10071 * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
10072 handling WITH
10073
100742004-05-27 Arnaud Charlet <charlet@act-europe.fr>
10075
10076 * s-interr.adb (Server_Task): Take into account case of early return
10077 from sigwait under e.g. linux.
10078
100792004-05-27 Sergey Rybin <rybin@act-europe.fr>
10080
10081 * gnat_ugn.texi: Add description for the new gnatpp options:
10082 -rnb - replace the original source without creating its backup copy
10083 -c0 - do not format comments
10084
0fb2ea01
AC
100852004-05-24 Geert Bosch <bosch@gnat.com>
10086
10087 * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
10088 with 192 bits of precision, sufficient to reduce a double-extended
10089 arguments X with a maximum relative error of T'Machine_Epsilon, for X
10090 in -2.0**32 .. 2.0**32.
10091 (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
10092 reduction by the processor, which only uses a 68-bit approximation of
10093 Pi.
10094 (Tan): Always reduce arguments and compute function either using
10095 the processor's fptan instruction, or by dividing sin and cos as needed.
10096
100972004-05-24 Doug Rupp <rupp@gnat.com>
10098
10099 * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
10100 gcc error on 32/64 bit VMS.
10101
101022004-05-24 Olivier Hainque <hainque@act-europe.fr>
10103
10104 * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
10105 since this is what we get for stack overflows although not documented
10106 as such.
10107 Document the issues which may require adjustments to our signal
10108 handlers.
10109
101102004-05-24 Ed Schonberg <schonberg@gnat.com>
10111
10112 * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
10113 enclosing dynamic scope if the instantiation is within a generic unit.
10114
101152004-05-24 Arnaud Charlet <charlet@act-europe.fr>
10116
10117 * exp_dbug.ads: Fix typo.
10118
10119 * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
10120 Rename it to its proper name: system-linux-ia64.ads
10121 (stamp-gnatlib1): Remove extra target specific run time files when
10122 setting up the rts directory.
10123
101242004-05-24 Javier Miranda <miranda@gnat.com>
10125
10126 * einfo.ads, einfo.adb (Limited_Views): Removed.
10127 (Limited_View): New attribute that replaces the previous one. It is
10128 now a bona fide package with the limited-view list through the
10129 first_entity and first_private attributes.
10130
10131 * sem_ch10.adb (Install_Private_With_Clauses): Give support to
10132 limited-private-with clause.
10133 (Install_Limited_Withed_Unit): Install the private declarations of a
10134 limited-private-withed package. Update the installation of the shadow
10135 entities according to the new structure (see Build_Limited_Views)
10136 (Build_Limited_Views): Replace the previous implementation of the
10137 limited view by a package entity that references the first shadow
10138 entity plus the first shadow private entity (required for limited-
10139 private-with clause)
10140 (New_Internal_Shadow_Entity): Code cleanup.
10141 (Remove_Limited_With_Clause): Update the implementation to undo the
10142 new work carried out by Build_Limited_Views.
10143 (Build_Chain): Complete documentation.
10144 Replace Ada0Y by Ada 0Y in comments
10145 Minor reformating
10146
10147 * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
10148 types the level of accessibility depends on the enclosing type
10149 declaration.
10150
10151 * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
10152 entities. Complete documentation of previous change.
10153
101542004-05-24 Robert Dewar <dewar@gnat.com>
10155
10156 * namet.adb: Minor reformatting
10157 Avoid use of name I (replace by J)
10158 Minor code restructuring
10159
10160 * sem_ch6.adb: Minor reformatting
10161
10162 * lib-writ.adb: Do not set restriction as active if this is a
10163 Restriction_Warning case.
10164
10165 * sem_prag.adb: Reset restriction warning flag if real pragma
10166 restriction encountered.
10167
10168 * s-htable.adb: Minor reformatting
10169 Change rotate count to 3 in Hash (improves hash for small strings)
10170
10171 * 5qsystem.ads: Add comments for type Address (no literals allowed).
10172
10173 * gnat_ugn.texi: Add new section of documentation "Code Generation
10174 Control", which describes the use of -m switches.
10175
101762004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
10177
a1db9d9c
AC
10178 trans.c (tree_transform) <N_Identifier>: Do the dereference directly
10179 through the DECL_INITIAL for renamed variables.
0fb2ea01 10180
7599f1b0
AC
101812004-05-24 Arnaud Charlet <charlet@act-europe.fr>
10182
10183 * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
10184
c37bb106
AC
101852004-05-19 Joel Brobecker <brobecker@gnat.com>
10186
10187 * exp_dbug.ads: Correct comments concerning handling of overloading,
10188 since we no longer use $ anymore.
10189
101902004-05-19 Sergey Rybin <rybin@act-europe.fr>
10191
10192 * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
10193 ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
10194 with illegal subunits.
10195
101962004-05-19 Ed Schonberg <schonberg@gnat.com>
10197
10198 * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
10199 body with front-end inlining enabled, check whether an inline pragma
10200 appears immediately after the body and applies to it.
10201
10202 * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
10203 enabled and the pragma appears after the body of the subprogram.
10204
b5e792e2
AC
102052004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10206
10207 Part of function-at-a-time conversion
10208
10209 * misc.c (adjust_decl_rtl): Deleted.
10210 (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
10211 Define.
10212
10213 * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
10214 (add_decl_stmt, add_stmt, block_has_vars): New functions.
10215 (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
10216
10217 * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
10218 when making a decl.
10219 (gnat_to_gnu_entity): Likewise.
10220 Use add_stmt to update setjmp buffer.
10221 Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
10222 flush_addressof.
10223 No longer call adjust_decl_rtl.
10224 (DECL_INIT_BY_ASSIGN_P): New macro.
10225 (DECL_STMT_VAR): Likewise.
10226
10227 * trans.c (gigi): Call start_block_stmt to make the outermost
10228 BLOCK_STMT.
10229 (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
10230 Call start_block_stmt and end_block_stmt temporarily.
10231 Use gnat_expand_stmt instead of expand_expr_stmt.
10232 (add_decl_stmt): New function.
10233 (tree_transform): Call it.
10234 (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
10235 (end_block_stmt): Set type and NULL_STMT.
10236 (gnat_expand_stmt): Make recursize call instead of calling
10237 expand_expr_stmt.
10238 (gnat_expand_stmt, case DECL_STMT): New case.
10239 (set_lineno_from_sloc): Do nothing if global.
10240 (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
10241 (start_block_stmt, add_stmt, end_block_stmt): New functions.
10242 (build_block_stmt): Call them.
10243 (gnat_to_code): Don't expand NULL_STMT.
10244 (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
10245 args.
10246 (tree_transform): Likewise.
10247 (tree_transform, case N_Null_Statement): Return NULL_STMT.
10248 (gnat_expand_stmt, case NULL_STMT): New case.
10249 (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
10250 IF_STMT_TRUE.
10251
10252 * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
10253 TREE_ADDRESSABLE.
10254
10255 * utils.c (create_var_decl): Do not call expand_decl or
10256 expand_decl_init.
10257 Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
10258 Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
10259 here.
10260 (struct e_stack): Add chain_next to GTY.
10261 (struct binding_level): Deleted.
10262 (struct ada_binding_level): New struct.
10263 (free_block_chain): New.
10264 (global_binding_level, clear_binding_level): Deleted.
10265 (global_bindings_p): Rework to see if no chain.
10266 (kept_level_p, set_block): Deleted.
10267 (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
10268 new data structure and work directly on BLOCK node.
10269 (gnat_poplevel): Similarly.
10270 (get_decls): Look at BLOCK_VARS.
10271 (insert_block): Work directly on BLOCK node.
10272 (block_has_var): New function.
10273 (pushdecl): Rework for new binding structures.
10274 (gnat_init_decl_processing): Rename and rework calls to pushlevel and
10275 poplevel.
10276 (build_subprog_body): Likewise.
10277 (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
10278
10279 * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
10280
10281 * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
10282 (DECL_STMT_VAR): Likewise.
10283
102842004-05-17 Robert Dewar <dewar@gnat.com>
10285
10286 * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
10287 procedure
10288
10289 * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
10290 of restriction synonyums by using
10291 Restrict.Process_Restriction_Synonyms.
10292
10293 * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
10294
10295 * s-restri.ads (Tasking_Allowed): Correct missing comment
10296
10297 * s-rident.ads: Add entries for restriction synonyms
10298
10299 * ali.adb: Fix some problems with badly formatted ALI files that can
10300 result in infinite loops.
10301
10302 * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
10303 s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
10304 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
10305 s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
10306 s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
10307 s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
10308 s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
10309 s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
10310 s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
10311 a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
10312 exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
10313 s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
10314 s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
10315 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
10316 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
10317 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
10318 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
10319 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
10320 s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
10321 s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
10322 to Task_Id (minor cleanup).
10323
103242004-05-17 Vincent Celier <celier@gnat.com>
10325
10326 * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
10327 directory separator.
10328
10329 * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
10330 project being extended, if Languages is not declared in extending
10331 project.
10332
103332004-05-17 Javier Miranda <miranda@gnat.com>
10334
10335 * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
10336 limited view of a visible sibling.
10337
9bc856dd
AC
103382004-05-14 Robert Dewar <dewar@gnat.com>
10339
10340 * gnat_ugn.texi: Minor change to -gnatS documentation
10341
10342 * sprint.adb: Remove some instances of Assert (False) and for this
10343 purpose replace them by output of a ??? string.
10344
10345 * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
10346 Assert (False).
10347
10348 * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
10349 flag processing. This was suppressing required dependencies in
10350 No_Run_Time mode and is not needed since the binder does not generate
10351 references for things in libgnat anyway.
10352
10353 * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
10354 warning.
10355
103562004-05-14 Thomas Quinot <quinot@act-europe.fr>
10357
10358 * gnat_ugn.texi: Document AIX-specific issue with initialization of
10359 resolver library.
10360
10361 * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
10362 action for the case of an actual parameter in an init proc call.
10363
103642004-05-14 Ed Schonberg <schonberg@gnat.com>
10365
10366 * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
10367 subtype, check visible entities in base type.
10368
10369 * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
10370 actions if the object is a renaming.
10371
10372 * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
10373 Check_Formal_Package_Instance, to determine more precisely when the
10374 formal and the actual denote the same entity.
10375
103762004-05-14 Javier Miranda <miranda@gnat.com>
10377
10378 * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
10379
10380 * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
10381 corresponding to a private_with must be removed from visibility; it
10382 will be made visible later, just before we analyze the private part of
10383 the package.
10384 (Check_Private_Child_Unit): Allow private_with clauses in public
10385 siblings.
10386 (Install_Siblings): Make visible the private entities of private-withed
10387 siblings.
10388 (Install_Withed_Unit): Do not install the private withed unit if we
10389 are compiling a package declaration and the Private_With_OK flag was
10390 not set by the caller. These declarations will be installed later,
10391 just before we analyze the private part of the package.
10392
10393 * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
10394 during the evaluation of the expression that initializes the object,
10395 decorate it with the expected type to avoid cascade errors.
10396 Code cleanup.
10397
10398 * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
10399 subprogram we have to install the private_with clauses after its
10400 specification has been analyzed (as documented in AI-262.TXT).
10401
10402 * sem_ch8.adb (Has_Private_With): New function. Determines if the
10403 current compilation unit has a private with on a given entity.
10404 (Find_Direct_Name): Detect the Beaujolais problem described in
10405 AI-262.TXT
10406
10407 * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
10408 provides the functionality of the function Is_Ancestor that was
10409 previously available in sem_ch10. It has been renamed to avoid
10410 overloading.
10411
10412 * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
10413
104142004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10415
10416 * utils.c (build_vms_descriptor): Use SImode pointers.
10417
104182004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
10419
10420 * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
10421
104222004-05-14 GNAT Script <nobody@gnat.com>
10423
10424 * Make-lang.in: Makefile automatically updated
10425
084c663c
AC
104262004-05-14 Arnaud Charlet <charlet@act-europe.fr>
10427
10428 Renaming of target specific files for clarity
10429
6615c446 10430 * Makefile.in: Rename GNAT target specific files.
084c663c
AC
10431
10432 * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
10433 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
10434 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
10435 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
10436 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
10437 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
10438 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
10439 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
10440 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
10441 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
10442 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
10443 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
10444 51osinte.adb, 51osinte.ads, 51system.ads,
10445 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
10446 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
10447 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
10448 56tpopsp.adb, 57system.ads, 58system.ads,
10449 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
10450 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
10451 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
10452 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
10453 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
10454 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
10455 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
10456 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
10457 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
10458 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
10459 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
10460 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
10461 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
10462 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
10463 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
10464 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
10465 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
10466 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
10467 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
10468 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
10469 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
10470 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
10471 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
10472 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
10473 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
10474 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
10475 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
10476 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
10477 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
10478 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
10479 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
10480 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
10481 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
10482 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
10483 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
10484 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
10485 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
10486 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
10487 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
10488 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
10489
10490 * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
10491 a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
10492 a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
10493 a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
10494 a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
10495 a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
10496 a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
10497 a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
10498 a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
10499 a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
10500 g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
10501 g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
10502 g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
10503 g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
10504 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
10505 g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
10506 g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
10507 g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
10508 interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
10509 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
10510 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
10511 mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
10512 s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
10513 s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
10514 s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
10515 s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
10516 s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
10517 s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
10518 s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
10519 s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
10520 s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
10521 s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
10522 s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
10523 s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
10524 s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
10525 s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
10526 s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
10527 s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
10528 s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
10529 s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
10530 s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
10531 s-osinte-vms.ads, s-osinte-vxworks.adb,
10532 s-osinte-vxworks.ads, s-osprim-mingw.adb,
10533 s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
10534 s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
10535 s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
10536 s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
10537 s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
10538 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
10539 s-stchop-vxworks.adb, s-taprop-dummy.adb,
10540 s-taprop-hpux-dce.adb, s-taprop-irix.adb,
10541 s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
10542 s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
10543 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
10544 s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
10545 s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
10546 s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
10547 s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
10548 s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
10549 s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
10550 s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
10551 s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
10552 s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
10553 s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
10554 s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
10555 s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
10556 s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
10557 s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
10558 symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
10559 system-hpux.ads, system-interix.ads, system-irix-n32.ads,
10560 system-irix-o32.ads, system-linux-x86_64.ads,
10561 system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
10562 system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
10563 system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
10564 system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
10565 system-vxworks-alpha.ads, system-vxworks-m68k.ads,
10566 system-vxworks-mips.ads, system-vxworks-ppc.ads,
10567 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
10568 above.
10569
90afe2c9
ZW
105702004-05-13 Zack Weinberg <zack@codesourcery.com>
10571
10572 * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
10573
6de9cd9a
DN
105742004-05-13 Diego Novillo <dnovillo@redhat.com>
10575
10576 Merge from tree-ssa-20020619-branch.
10577
10578 * config-lang.in (boot_language, build_by_default): Set
10579 to no.
10580 * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
10581 (max_size): Add static chain op for call_expr.
10582
f5657d67
RS
105832004-05-12 Richard Sandiford <rsandifo@redhat.com>
10584
10585 PR target/15331
10586 * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
10587
4413b636
RS
105882004-05-11 Roger Sayle <roger@eyesopen.com>
10589
10590 * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
10591 COND_EXPR.
10592
5950a3ac
AC
105932004-05-10 Doug Rupp <rupp@gnat.com>
10594
10595 * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
10596 system.aux_dec.
10597
10598 * s-auxdec.ads: Add Short_Address subtype (moved here from System).
10599
10600 * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
10601
10602 * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
10603 Fixes undefined symbols in IA64 gnatlib.
10604
10605 * 5vinmaop.adb: Reference s-auxdec for Short_Address.
10606
10607 * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
10608 Short_Address). This will be moved to system.auxdec.
10609
106102004-05-10 Thomas Quinot <quinot@act-europe.fr>
10611
10612 * sem_util.adb: Replace test for presence of a node that is always
10613 present with a call to Discard_Node.
10614
10615 * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
10616 Analyze on the library unit node after generation of distribution stub
10617 constructs. The call was a no-op because Unit_Node has already been
10618 Analyzed, and the tree fragments for the distribution stubs are
10619 analyzed as they are inserted in Exp_Dist.
10620 Update comment regarding to distribution stubs to reflect that we
10621 do not generate stub in separate files anymore.
10622
10623 * einfo.ads: Clarify the fact that a tagged private type has the
10624 E_Record_Type_With_Private Ekind.
10625
10626 * erroutc.adb: Minor reformatting
10627
10628 * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
10629 values if line length is increased using -gnatyM (noticed during code
10630 reading).
10631
10632 * eval_fat.adb: Minor reformatting
10633 Put spaces around exponentiation operator
10634
106352004-05-10 Ed Schonberg <schonberg@gnat.com>
10636
10637 PR ada/15005
10638 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
10639 has been rewritten as an explicit dereference, retrieve type of
10640 original node to check for possibly unconstrained record type.
10641
106422004-05-10 Ed Schonberg <schonberg@gnat.com>
10643
10644 * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
10645 overriding, use the operation of the parent unconditionally.
10646
10647 * sem_ch4.adb (Remove_Address_Interpretations): Remove address
10648 operation when either operand is a literal, to avoid further
10649 ambiguities.
10650
10651 * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
10652 overridden by a previous explicit declaration, mark the previous entity
10653 as overriding.
10654
10655 * sem_disp.adb (Check_Dispatching_Operation): New predicate
10656 Is_Visibly_Controlled, to determine whether a declaration of a
10657 primitive control operation for a derived type overrides an inherited
10658 one. Add warning if the explicit declaration does not override.
10659
106602004-05-10 Vincent Celier <celier@gnat.com>
10661
10662 * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
10663 some cases when the sources are no longer present.
10664
10665 * make.adb (Collect_Arguments): Fail if an external source, not part
10666 of any project need to be compiled, when switch -x has not been
10667 specified.
10668
10669 * makeusg.adb: Document new switch -x
10670
10671 * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
10672 defaulted to False.
10673
10674 * switch-m.adb (Scan_Make_Switches): New switch -x
10675
10676 * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
10677 gnatmake switch -x.
10678
10679 * gnat_ugn.texi: Document new gnatmake switch -x
10680
106812004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
10682
10683 * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
10684
10685 * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
10686 (process_attributes): Likewise.
10687
106882004-05-10 Joel Brobecker <brobecker@gnat.com>
10689
10690 * s-inmaop.ads: Fix spelling mistake in one of the comments.
10691
106922004-05-10 Robert Dewar <dewar@gnat.com>
10693
10694 * gnat_ugn.texi: Document that for config pragma files, the maximum
10695 line length is always 32767.
10696
10697 * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
10698 literals is now allowed.
10699
10700 * gnat-style.texi: Remove statement about splitting long lines before
10701 an operator rather than after, since we do not follow this rule at all.
10702 Clarify rule (really lack of rule) for spaces around exponentiation
10703
10704 * sem_elim.adb: Allow concatenation of string literals as well as a
10705 single string literal for pragma arguments.
10706
10707 * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
10708
10709 * a-textio.adb (Terminate_Line): Do not add line feed if nothing
10710 written for append case.
10711
10712 * frontend.adb: Changes to avoid checking max line length in config
10713 pragma files.
10714
10715 * g-os_lib.ads: Minor reformatting
10716
10717 * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
10718 wrong in any case. Instead use standard value. Noticed during code
10719 reading.
10720
10721 * opt.ads (Max_Line_Length): New field, used to implement removal of
10722 limitation on length of lines when scanning config pragma files.
10723
10724 * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
10725 makeutl.ads, makeutl.adb: Minor reformatting
10726
10727 * scn.adb: Do not check line length while scanning config pragma files
10728 Do not check line length while scanning out license information
10729
10730 * scng.adb: Changes to avoid line length checks while parsing config
10731 pragma files.
10732
107332004-05-10 GNAT Script <nobody@gnat.com>
10734
10735 * Make-lang.in: Makefile automatically updated
10736
48664302
AC
107372004-05-05 Arnaud Charlet <charlet@act-europe.fr>
10738
10739 * osint.adb (Find_Program_Name): Fix handling of VMS version
10740 number.
10741
aa720a54
AC
107422004-05-05 Emmanuel Briot <briot@act-europe.fr>
10743
10744 * g-os_lib.ads (Invalid_Time): New constant
10745
10746 * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
10747 return OS_Time instead of time_t to match what is imported by Ada.
10748 Now return -1 if the file doesn't exist, instead of a random value
10749
107502004-05-05 Robert Dewar <dewar@gnat.com>
10751
10752 * usage.adb: Add line for -gnatR?s switch
10753
10754 * sem_ch13.adb, exp_ch2.adb: Minor reformatting
10755
10756 * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
10757 and for Match (Data_First, Data_last)
10758
10759 * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
10760 written when we are dealing with multi-unit files.
10761
107622004-05-05 Jerome Guitton <guitton@act-europe.fr>
10763
10764 * Makefile.in: Remove unused targets and variables.
10765
107662004-05-05 Vincent Celier <celier@gnat.com>
10767
10768 * switch-m.adb: New gnatmake switch -eI
10769
10770 * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
10771 of new gnatmake switch -eInnn.
10772
10773 * makegpr.adb: Take into account new parameters Index and Src_Index in
10774 Prj.Util.
10775
10776 * clean.adb: Implement support for multi-unit sources, including new
10777 switch -i.
10778
10779 * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
10780 Src_Index.
10781
10782 * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
10783 (Extract_From_Q): New out parameter Index
10784 (Mark, Is_Marked): Subprograms moved to Makeutl
10785 (Switches_Of): New parameter Source_Index
10786 (Add_Switch): New parameter Index
10787 (Check): New parameter Source_Index
10788 (Collect_Arguments): New parameter Source_Index
10789 (Collect_Arguments_And_Compile): New parameter Source_Index
10790 (Compile): New parameter Source_Index
10791 Put subprograms in alphabetical order
10792 Add support for multi-source sources, including in project files.
10793
10794 * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
10795 (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
10796 Make.
10797
10798 * makeusg.adb: New gnatmake switch -eInnn
10799
10800 * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
10801 Prj.Util.Value_Of.
10802
10803 * opt.ads (Main_Index): New variable, defaulted to 0.
10804
10805 * osint.ads, osinte.adb (Add_File): New parameter Index
10806 (Current_Source_Index): New function
10807
10808 * prj.adb: Take into account new components Index and Src_Index
10809
10810 * prj.ads (String_Element): New component Index
10811 (Variable_Value): New component Index
10812 (Array_Element): New component Src_Index
10813
10814 * prj-attr.adb: Indicate that optional index may be specified for
10815 attributes Main, Executable, Spec, Body and some of Switches.
10816
10817 * prj-attr.ads (Attribute_Kind): New values for optional indexes
10818 (Attribute_Record): New component Optional_Index
10819
10820 * prj-com.ads (File_Name_Data): New component Index
10821
10822 * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
10823
10824 * prj-env.adb (Put): Output optional index
10825
10826 * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
10827 attributes Spec and Body.
10828
10829 * prj-nmsc.adb: Process optional indexes
10830
10831 * prj-pp.adb: Ouput "at" for optional indexes
10832
10833 * prj-proc.adb: Take into account optional indexes
10834
10835 * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
10836 Optional_Index. For string literal,
10837 process optional index when Optional_Index is True.
10838 (Parse_Expresion): New Boolean parameter Optional_Index
10839
10840 * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
10841 (Set_Source_Index_Of): New procedure
10842
10843 * prj-util.adb (Executable_Of, Value_Of): Take into account optional
10844 index.
10845
10846 * prj-util.ads (Executable_Of): New parameter Index
10847 (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
10848 New parameter Src_Index, defaulted to 0.
10849
108502004-05-05 Ed Schonberg <schonberg@gnat.com>
10851
10852 PR ada/15257
10853 * sem_ch3.adb (Access_Definition): If this is an access parameter
10854 whose designated type is imported through a limited_with clause, do
10855 not add the enclosing subprogram to the list of private dependents of
10856 the type.
10857
108582004-05-05 Ed Schonberg <schonberg@gnat.com>
10859
10860 PR ada/15258
10861 * sem_ch6.adb (Base_Types_Match): True if one type is imported through
10862 a limited_with clause, and the other is its non-limited view.
10863
108642004-05-05 Thomas Quinot <quinot@act-europe.fr>
10865
10866 * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
10867
90afe2c9 10868 * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
aa720a54
AC
10869 exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
10870 Stand.Boolean_Literals to produce references to entities
10871 Standard_False and Standard_True from compile-time computed boolean
10872 values.
10873
10874 * stand.ads (Boolean_Literals): New variable, provides the entity
10875 values for False and True, for use by the expander.
10876
108772004-05-05 Doug Rupp <rupp@gnat.com>
10878
10879 * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
10880 5vinmaop.adb: Unchecked convert Short_Address vice Address
10881
10882 * adaint.c, raise.c: Caste CRTL function return value
10883 to avoid gcc error on 32/64 bit IVMS.
10884
10885 * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
10886 target = IA64/VMS.
10887
10888 * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
10889
10890 * 5qsystem.ads (Address): Declare as Long_Integer
10891 (Short_Address): Declare as 32 bit subtype of Address
10892 Declare abstract address operations to avoid gratuitous ambiguities.
10893
108942004-05-05 Jose Ruiz <ruiz@act-europe.fr>
10895
10896 * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
10897 instead of the old Boolean_Entry_Barriers.
10898 Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
10899
109002004-05-05 GNAT Script <nobody@gnat.com>
10901
10902 * Make-lang.in: Makefile automatically updated
10903
1ab2888d
AC
109042004-05-03 Arnaud Charlet <charlet@act-europe.fr>
10905
10906 * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
10907
9f4fd324
AC
109082004-05-03 Olivier Hainque <hainque@act-europe.fr>
10909
10910 PR ada/15152
10911
10912 * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
10913 alone. Replacing object references by literals is inappropriate in a
10914 so low level context.
10915
109162004-05-03 Arnaud Charlet <charlet@act-europe.fr>
10917
10918 * a-exexpr.adb: Add comments
10919
109202004-05-03 Joel Brobecker <brobecker@gnat.com>
10921
10922 * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
10923 declare the Ancestor_Tags array in Type_Specific_Data with a small size
10924 without risking a bounds check error when accessing one of its
10925 components.
10926 (Type_Specific_Data): Define Ancestor_Tags as a small array.
10927 This prevents us from hitting a limitation during the debug info
10928 generation when using stabs.
10929
10930 * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
10931 small array.
10932 This prevents us from hitting a limitation during the debug info
10933 generation when using stabs.
10934
109352004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
10936
10937 lang-specs.h: Remove -gnatz* from specs.
10938
109392004-05-03 Vincent Celier <celier@gnat.com>
10940
10941 * gprmake.adb, makegpr.ads, makegpr.adb: New files.
10942
10943 * Make-lang.in, Makefile.in: Add gprmake
10944
109452004-05-03 Thomas Quinot <quinot@act-europe.fr>
10946
10947 * sem_aggr.adb: Fix typo in comment.
10948
109492004-05-03 Robert Dewar <dewar@gnat.com>
10950
10951 * make.adb: Minor reformatting
10952
10953 * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
10954
10955 * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
10956 so that it works when address is not a private type.
10957
10958 * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
10959 properly with rewritten unchecked conversions. This prevents
10960 order-of-elaboration issues that can otherwise arise.
10961 (Minimum_Size): Don't check size of access types under VMS
10962
10963 * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
10964 interpretations of integer literals as type System.Address.
10965
10966 * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
10967 (Is_Descendent_Of): New function
10968
109692004-05-03 Jose Ruiz <ruiz@act-europe.fr>
10970
10971 * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
10972 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
10973 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
10974
10975 * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
10976 of the old Max_Entry_Queue_Depth.
10977
10978 * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
10979 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
10980 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
10981
10982 * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
10983 New entry for proper handling of Max_Entry_Queue_Depth.
10984 New entry for proper handling of No_Dynamic_Interrupts.
10985
10986 * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
10987 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
10988 Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
10989 the GNAT specific restriction Max_Entry_Queue_Depth.
10990 Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
10991 the GNAT specific restriction No_Dynamic_Interrupts.
10992
10993 * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
10994 instead of the old Boolean_Entry_Barriers.
10995 Use the new restriction No_Dynamic_Attachment instead of the old
10996 No_Dynamic_Interrupts.
10997
10998 * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
10999 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
11000
11001 * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
11002 of the old Max_Entry_Queue_Depth.
11003
110042004-05-03 GNAT Script <nobody@gnat.com>
11005
11006 * Make-lang.in: Makefile automatically updated
11007
d935a36e
AC
110082004-04-29 Ed Schonberg <schonberg@gnat.com>
11009
11010 * checks.adb (Enable_Range_Check): If the prefix of an index component
11011 is an access to an unconstrained array, perform check unconditionally.
11012
110132004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11014
11015 * decl.c (gnat_to_gnu_field): Also call make_packable_type if
11016 Component_Clause.
11017
110182004-04-29 Olivier Hainque <hainque@act-europe.fr>
11019
11020 * init.c (__gnat_install_handler, __gnat_error_handler): Remove
11021 alternate stack setting. There was no support for the tasking cases
11022 and the changes eventually caused a number of side-effect failures in
11023 the non-tasking case too.
11024
110252004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
11026
11027 lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
11028 -gnats is passed.
11029
110302004-04-29 Vincent Celier <celier@gnat.com>
11031
11032 * make.adb (Gnatmake): Increase max size of argument array for
11033 gnatbind for the potential addition of -F.
11034 If there are Stand-Alone Library projects, invoke gnatbind with -F to
11035 be sure that elaboration flags will be checked.
11036
11037 * switch-c.adb: Correct call to Scan_Pos for -gnateI
11038
110392004-04-29 Thomas Quinot <quinot@act-europe.fr>
11040
11041 * sem_warn.adb (Check_References): Move '<access-variable> may be
11042 null' warning out of under Warn_On_No_Value_Assigned.
11043
110442004-04-29 Ed Falis <falis@gnat.com>
11045
11046 * gnat_ugn.texi: Fixed texi error
11047
110482004-04-29 Robert Dewar <dewar@gnat.com>
11049
11050 * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
11051 abstract operations if they come from predefined files.
11052
11053 * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
11054 Dynamic, not RM).
11055
11056 * s-addope.adb: Correct obvious error in mod function
11057
110582004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
11059
11060 * Makefile.in: Add target pairs for powerpc darwin*
11061 tasking support.
11062
11063 * a-intnam-darwin.ads, s-osinte-darwin.adb,
11064 s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
11065
ea16c81b
UW
110662004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
11067
11068 * Makefile.in: Add target macro definitions for s390*-linux*.
11069 * system-linux-s390.ads: New file.
11070 * system-linux-s390x.ads: New file.
11071
f0e6f845
JM
110722004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
11073
11074 * gnat_ugn.texi: Correct argument to @setfilename.
11075
e8c2eedc
UW
110762004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
11077
11078 * a-exexpr.adb (Unwind_Word): New data type.
11079 (Unwind_Exception): Use it as type of Private1 and Private2.
11080
11081 * raise.c (db_action_for): Fix debug printf.
11082
f2c9e65a
AC
110832004-04-27 Ed Schonberg <schonberg@gnat.com>
11084
11085 * a-wtmoio.ads: Formal type must be a modular type, not a signed
11086 integer type.
11087
110882004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11089
11090 * decl.c (gnat_to_gnu_entity, case object): Call
11091 __builtin_update_setjmp_buf.
11092
11093 * gigi.h (update_setjmp_buf): Deleted.
11094 (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
11095
11096 * misc.c: (update_setjmp_buf): Deleted.
11097
11098 * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
11099 around block of RTL.
11100
11101 * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
11102
35b7fa6a
AC
111032004-04-26 Thomas Quinot <quinot@act-europe.fr>
11104
11105 * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
11106 subprogram for which no pragma All_Calls_Remote applies, store the
11107 address of the real subprogram in the underlying record type, so local
11108 dereferences do not go through the PCS.
11109
111102004-04-26 Robert Dewar <dewar@gnat.com>
11111
11112 * i-c.ads: Add some type qualifications to avoid ambiguities when
11113 compiling with s-auxdec.ads and a non-private address type.
11114
111152004-04-26 Arnaud Charlet <charlet@act-europe.fr>
11116
11117 * Makefile.rtl: Fix error in previous check-in:
11118 Add s-addope.o to non tasking object list (rather than tasking object
11119 list).
11120
111212004-04-26 Javier Miranda <miranda@gnat.com>
11122
11123 * sem_aggr.adb: Fix typo in comments
11124 (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
11125 Required to check the null-exclusion attribute.
11126
11127 * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
11128 case of anonymous access types in record and array components. For a
11129 component definition the level is the same of the enclosing composite
11130 type.
11131
11132 * sem_ch3.adb (Analyze_Component_Declaration): In case of components
11133 that are anonymous access types the level of accessibility depends on
11134 the enclosing type declaration. In order to have this information, set
11135 the scope of the anonymous access type to the enclosing record type
11136 declaration.
11137 (Array_Type_Declaration): In case of components that are anonymous
11138 access types the level of accessibility depends on the enclosing type
11139 declaration. In order to have this information, set the scope of the
11140 anonymous access type to the enclosing array type declaration.
11141
11142 * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
11143 access type.
11144
11145 * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
11146 renaming of anonymous access-to-constant types allowed if and only if
11147 the renamed object is access-to-constant.
11148
11149 * sem_util.adb (Type_Access_Level): In case of anonymous access types
11150 that are component_definition or discriminants of a nonlimited type,
11151 the level is the same as that of the enclosing component type.
11152
111532004-04-26 Sergey Rybin <rybin@act-europe.fr>
11154
11155 * sem_elim.adb: Some minor code reorganization from code reading. Fix
11156 misprint in the function name (File_Name_Match).
11157
5a944040
LG
111582004-04-23 Laurent GUERBY <laurent@guerby.net>
11159
90afe2c9 11160 * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
5a944040 11161 install.
90afe2c9 11162
d0fd1344
RO
111632004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11164
11165 * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
11166
cc4f0de1
AC
111672004-04-23 Emmanuel Briot <briot@act-europe.fr>
11168
11169 * adaint.c (__gnat_try_lock): No longer requires that the parent
11170 directory be writable, the directory itself is enough.
11171 (gnat_is_absolute_path): Change profile, so that the call from
11172 GNAT.OS_Lib can be made more efficient.
11173
11174 * adaint.h (gnat_is_absolute_path): Change profile, so that the call
11175 from GNAT.OS_Lib can be made more efficient.
11176
11177 * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
11178 one copy of the file name. Found by code reading.
11179
111802004-04-23 Vincent Celier <celier@gnat.com>
11181
11182 * gnat_ugn.texi: Add documentation for gnatmake switch -eL
11183 Correct documentation on gnatmake switches transmitted to the compiler
11184
11185 * ali.ads: Minor comment fix
11186
111872004-04-23 Javier Miranda <miranda@gnat.com>
11188
11189 * sem_ch6.adb: (Confirming Types): Code cleanup
11190
11191 * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
11192 subprogram types: E_Anonymous_Access_Subprogram_Type and
11193 E_Anonymous_Access_Protected_Subprogram_Type.
11194
111952004-04-23 Thomas Quinot <quinot@act-europe.fr>
11196
11197 * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
11198 whether a pragma All_Calls_Remote applies to the subprogram on which
11199 'Access is taken.
11200 No functional change is introduced by this revision; the new parameter
11201 will be used to allow calls to local RCI subprograms to be optimized
11202 to not use the PCS in the case where no pragma All_Calls_Remote applies,
11203 as is already done in the PolyORB implementation of the DSA.
11204
11205 * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
11206 whether a pragma All_Calls_Remote applies to the subprogram on which
11207 'Access is taken.
11208 No functional change is introduced by this revision; the new parameter
11209 will be used to allow calls to local RCI subprograms to be optimized
11210 to not use the PCS in the case where no pragma All_Calls_Remote applies,
11211 as is already done in the PolyORB implementation of the DSA.
11212
112132004-04-23 Robert Dewar <dewar@gnat.com>
11214
11215 * Makefile.rtl: Add entry for s-addope.o in run time library list
11216 * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
11217 * s-addope.ads, s-addope.adb: New files.
11218
90afe2c9
ZW
11219 * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
11220 s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
cc4f0de1
AC
11221 s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
11222 System.Address to be non-private and signed.
11223
11224 * sem_elim.adb: Minor reformatting (fairly extensive)
11225 Some minor code reorganization from code reading
11226 Add a couple of ??? comments
11227
112282004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11229
11230 * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
90afe2c9 11231 (tree_transform, case N_If_Statement): Remove non-determinism.
cc4f0de1
AC
11232
11233 * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
11234
112352004-04-23 Sergey Rybin <rybin@act-europe.fr>
11236
11237 * gnat_rm.texi: Small fixes in the changes made in the 'pragma
11238 Eliminate' section.
11239
11240 * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
11241 no longer used as a parameter name for Eliminate pragma).
11242
78bad775
LG
112432004-04-22 Laurent GUERBY <laurent@guerby.net>
11244
11245 PR optimization/14984
11246 PR optimization/14985
11247 * trans.c (gigi): Fix non determinism leading to bootstrap
11248 comparison failures.
11249
af4b9434
AC
112502004-04-21 Pascal Obry <obry@gnat.com>
11251
11252 * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
11253 passed to spawnvp() to properly handle program pathname with spaces on
11254 Win32.
11255
112562004-04-21 Emmanuel Briot <briot@act-europe.fr>
11257
11258 * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
11259 (Allocate, Deallocate, Free_Physically): Make sure the tasks are
11260 unlocked in case of exceptions.
11261
112622004-04-21 Joel Brobecker <brobecker@gnat.com>
11263
11264 * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
11265 This function does not exist anymore.
11266
112672004-04-21 Thomas Quinot <quinot@act-europe.fr>
11268
11269 * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
11270
11271 * link.c: Move variables to the __gnat name space.
11272
11273 * Makefile.in: list link.o explicitly when needed.
11274
11275 * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
11276
112772004-04-21 Javier Miranda <miranda@gnat.com>
11278
11279 * einfo.adb (Original_Access_Type): New subprogram
11280 (Set_Original_Access_Type): New subprogram
11281 (Write_Field21_Name): Write the name of the new field
11282
11283 * einfo.ads (Original_Access_Type): New field present in access to
11284 subprogram types.
11285 Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
11286 E_Anonymous_Access_Protected_Subprogram_Type.
11287
11288 * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
11289 subprogram types.
11290
11291 * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
11292 to anonymous access to subprogram types.
11293
11294 * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
11295 to subprogram types.
11296
11297 * sem_ch3.adb (Access_Definition): Complete decoration of entities
11298 corresponding to anonymous access to subprogram types.
11299 (Analyze_Component_Declaration): Add new actual to the call to
11300 subprogram replace_anonymous_access_to_protected_subprogram.
11301 (Array_Type_Declaration): Add new actual to the call to subprogram
11302 replace_anonymous_access_to_protected_subprogram.
11303 (Process_Discriminants): Add new actual to the call to subprogram
11304 replace_anonymous_access_to_protected_subprogram.
11305 (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
11306
11307 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
11308 formal.
11309
11310 * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
11311 access to subprogram types.
11312
11313 * sem_util.adb (Has_Declarations): Addition of package_specification
11314 nodes.
11315
113162004-04-21 Ed Schonberg <schonberg@gnat.com>
11317
11318 * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
11319 inlined flags to renamed entity only if in current unit.
11320
113212004-04-21 Thomas Quinot <quinot@act-europe.fr>
11322
11323 * s-parint.ads: Add DSA implementation marker.
11324
11325 * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
11326 value of System.Partition_Interface.DSA_Implementation to determine
11327 what version of the distributed systems annex is available (no
11328 implementation, GLADE, or PolyORB).
11329
113302004-04-21 Joel Brobecker <brobecker@gnat.com>
11331
11332 * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
11333
113342004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11335
11336 * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
11337 with new type if alias sets differ.
11338 Fixes ACATS c41103b.
11339
113402004-04-21 Vincent Celier <celier@gnat.com>
11341
11342 * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
11343 Add array Lang_Args for the language specific compiling argument
11344 switches.
11345
11346 * gnat_ugn.texi: Explain in more details when a library is rebuilt.
11347
113482004-04-21 Sergey Rybin <rybin@act-europe.fr>
11349
11350 * gnat_rm.texi: Update the descripton of the Eliminate pragma
11351 according to the recent changes in the format of the parameters of the
11352 pragma (replacing Homonym_Number with Source_Location).
11353
7324bf49
AC
113542004-04-19 Arnaud Charlet <charlet@act-europe.fr>
11355
11356 * 5isystem.ads: Removed, unused.
11357
11358 * gnat_rm.texi: Redo 1.13 change.
11359
113602004-04-19 Robert Dewar <dewar@gnat.com>
11361
11362 * s-stoele.ads: Clean up definition of Storage_Offset (the new
11363 definition is cleaner, avoids the kludge of explicit Standard operator
11364 references, and also is consistent with a visible System.Address with
11365 no visible operations.
11366
11367 * s-geveop.adb: Add declarations to avoid assumption of visible
11368 operations on type System.Address (since these might not be available
11369 if Address is a non-private type for which the operations
11370 are made abstract).
11371
11372 * sem_eval.adb: Minor reformatting
11373
11374 * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
11375 s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
11376 reformatting (new function spec format).
11377
11378 * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
11379 s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
11380 s-caun64.adb: Add declarations to avoid assumption of visible
11381 operations on type System.Address (since these might not be available
11382 if Address is a non-private type for which the operations are made
11383 abstract).
11384
11385 * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
11386
11387 * exp_intr.adb: Minor comment update
11388
11389 * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
11390
11391 * 5omastop.adb: Add declarations to avoid assumption of visible
11392 operations on type System.Address (since these might not be available
11393 if Address is a non-private type for which the operations
11394 are made abstract).
11395
113962004-04-19 Vincent Celier <celier@gnat.com>
11397
11398 * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
11399
11400 * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
11401 defaulted to Ada.
11402
11403 * prj-proc.adb (Process): New Boolean parameter Process_Languages,
11404 defaulted to Ada.
11405 Call Check with Process_Languages.
11406 (Check): New Boolean parameter Process_Languages. Call Recursive_Check
11407 with Process_Languages.
11408 (Recursive_Check): New Boolean parameter Process_Languages. Call
11409 Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
11410 Process_Languages.
11411
11412 * prj-proc.ads (Process): New Boolean parameter Process_Languages,
11413
11414 * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
11415 parameter Ada_Main, defaulted to True.
11416 Check for Ada specific characteristics only when Ada_Main is True.
11417
11418 * opt.ads: (Follow_Links): New Boolean flag for gnatmake
11419
11420 * prj.adb: (Project_Empty): Add new Project_Data components.
11421
11422 * prj.ads: New types and tables for non Ada languages.
11423 (Project_Data): New components Languages, Impl_Suffixes,
11424 First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
11425 Include_Path, Include_Data_Set.
11426
11427 * prj-env.ads, prj-env.adb: Minor reformatting
11428
11429 * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
11430 Put subprograms in alphabetical order
11431
11432 * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
11433 defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
11434 Opt.Follow_Links.
11435
11436 * mlib-prj.adb: Back out modification in last version, as they are
11437 incorrect.
11438 (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
11439
11440 * make.adb: (Mains): Moved to package Makeutl
11441 (Linker_Opts): Moved to package Makeutl
11442 (Is_External_Assignment): Moved to package Makeutl
11443 (Test_If_Relative_Path): Moved to package Makeutl
11444 (Gnatmake): Move sorting of linker options to function
11445 Makeutl.Linker_Options_Switches.
11446
8f9df7d8
VC
11447 * makeutl.ads, makeutl.adb: New files.
11448
7324bf49
AC
11449 * Makefile.in: Add makeutl.o to the object files for gnatmake
11450
11451 * makeusg.adb: Add line for new switch -eL.
11452
11453 * gnatls.adb (Image): New function.
11454 (Output_Unit): If in verbose mode, output the list of restrictions
11455 specified by pragmas Restrictions.
11456
11457 * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
11458 Text_IO.
11459
11460 * a-calend.adb (Split): Shift the date by multiple of 56 years, if
11461 needed, to put it in the range 1970 (included) - 2026 (excluded).
11462 (Time_Of): Do not shift Unix_Min_Year (1970).
11463 Shift the date by multiple of 56 years, if needed, to put it in the
11464 range 1970 (included) - 2026 (excluded).
11465
11466 * adaint.h, adaint.c (__gnat_set_executable): New function.
11467
114682004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11469
11470 * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
11471 and pop GC context.
11472 (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
11473 (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
11474 (tree_transform, case N_Procedure_Call_Statement): Build a tree.
11475 (tree_transform, case N_Code_Statement): Likewise.
11476 (gnat_expand_stmt, case LABEL_STMT): Don't look at
11477 LABEL_STMT_FIRST_IN_EH.
11478 (gnat_expand_stmt, case ASM_STMT): New case.
11479
11480 * utils2.c (build_unary_op): Properly set TREE_READONLY of
11481 UNCONSTRAINED_ARRAY_REF.
11482
11483 * utils.c (poplevel): Temporarily push/pop GC context around inline
11484 function expansion.
11485
11486 * decl.c (maybe_variable): Properly set TREE_READONLY of
11487 UNCONSTRAINED_ARRAY_REF.
11488 (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
11489
11490 * ada-tree.def: (ASM_STMT): New.
11491
11492 * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
11493 (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
11494 ASM_STMT_INPUT): New.
11495 (ASM_STMT_CLOBBER): Likewise.
11496
114972004-04-19 Thomas Quinot <quinot@act-europe.fr>
11498
11499 * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
11500 general rcheck mechanism to raise Program_Error for E.4(18), instead
11501 of a custom raiser in System.Partition_Interface.
11502 Part of general cleanup work before PolyORB integration.
11503
11504 * snames.ads, snames.adb: Add new runtime library entities and names
11505 for PolyORB DSA.
11506
11507 * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
11508 exp_dist.
11509 (Build_Subprogram_Id): New subprogram provided by exp_dist
11510 Code reorganisation in preparation for PolyORB integration.
11511
11512 * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
11513 exp_dist.
11514 (Build_Subprogram_Id): New subprogram provided by exp_dist
11515
11516 * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
11517 actual parameter types for call to dereference of an
11518 access-to-subprogram type.
11519
11520 * rtsfind.ads: Add new runtime library entities and names for PolyORB
11521 DSA.
11522
11523 * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
11524 instead, which has the same behaviour here since we never pass it a
11525 NULL pointer.
11526
11527 * link.c (run_path_option, Solaris case): Use -Wl, as for other
11528 platforms.
11529
11530 * Makefile.in: adjust object file lists for gnatlink and gnatmake
11531 to account for new dependency upon Interfaces.C.Strings + link.o
11532 For x86 FreeBSD, use 86numaux.
11533
11534 * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
11535 from Mlib.Tgt to Mlib.
11536
11537 * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
11538 target-independent.
11539
11540 * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
11541 target-specific versions of this subprogram, now implemented as a
11542 target-independent function in Mlib.
11543
11544 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
11545 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
11546 (Linker_Library_Path_Option): Remove target-specific versions of this
11547 subprogram, now implemented as a target-independent function in Mlib.
11548
11549 * atree.adb: (Allocate_Initialize_Node): New subprogram.
11550 Factors out node table slots allocation.
11551 (Fix_Parents): New subprogram.
11552 Encapsulate the pattern of fixing up parent pointers for syntactic
11553 children of a rewritten node.
11554 (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
11555 (Rewrite): Use New_Copy when creating saved copy of original node.
11556 (Replace): Use Copy_Node to copy nodes.
11557
115582004-04-19 Javier Miranda <miranda@gnat.com>
11559
11560 * sprint.adb (Sprint_Node_Actual): Give support to the new
11561 Access_To_Subprogram node available in Access_Definition nodes. In
11562 addition, give support to the AI-231 node fields: null-exclusion,
11563 all-present, constant-present.
11564
11565 * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
11566
90afe2c9 11567 * sinfo.ads, sinfo.adb:
7324bf49
AC
11568 New field Access_To_Subprogram_Definition in Access_Definition nodes
11569
11570 * sem_ch6.adb (Process_Formals): Move here the code that creates and
11571 decorates internal subtype declaration corresponding to the
11572 null-excluding formal. This code was previously in Set_Actual_Subtypes.
11573 In addition, carry out some code cleanup on this code. In case of
11574 access to protected subprogram call
11575 Replace_Anonymous_Access_To_Protected_Subprogram.
11576 (Set_Actual_Subtypes): Code cleanup.
11577
11578 * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
11579 Find_Type in case of anonymous access renamings. Add warning in case of
11580 null-excluding attribute used in anonymous access renaming.
11581
11582 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
11583 subprogram
11584
11585 * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
11586 subprogram.
11587 (Access_Definition): In case of anonymous access to subprograms call
11588 the corresponding semantic routine to decorate the node.
11589 (Access_Subprogram_Declaration): Addition of some comments indicating
11590 some code that probably should be added here. Detected by comparison
11591 with the access_definition subprogram.
11592 (Analyze_Component_Declaration): In case of access to protected
11593 subprogram call Replace_Anonymous_Access_To_Protected.
11594 (Array_Type_Declaration): In case of access to protected subprogram call
11595 Replace_Anonymous_Access_To_Protected_Subprogram.
11596 (Process_Discriminants): In case of access to protected subprogram call
11597 Replace_Anonymous_Access_To_Protected_Subprogram.
11598
11599 * par.adb (P_Access_Definition): New formal that indicates if the
11600 null-exclusion part was present.
11601 (P_Access_Type_Definition): New formal that indicates if the caller has
11602 already parsed the null-excluding part.
11603
11604 * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
11605 (P_Identifier_Declarations): Code cleanup and give support to renamings
11606 of anonymous access to subprogram types.
11607 (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
11608 (P_Array_Type_Definition): Give support to AI-254.
11609 (P_Component_Items): Give support to AI-254.
11610 (P_Access_Definition): New formal that indicates if the header was
11611 already parsed by the caller.
11612 (P_Access_Type_Definition): New formal that indicates if the caller has
11613 already parsed the null-excluding part.
11614
11615 * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
11616 call to P_Access_Definition.
11617
116182004-04-19 Geert Bosch <bosch@gnat.com>
11619
11620 * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
11621 the delicate semantics of floating-point to integer conversion.
11622 (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
11623
11624 * eval_fat.adb (Machine_Mantissa): Moved to spec.
11625 (Machine_Radix): New function.
11626
11627 * eval_fat.ads (Machine_Mantissa): Moved from body for use in
11628 conversion checks.
11629 (Machine_Radix): New function also for use in conversion checks.
11630
116312004-04-19 Ed Schonberg <schonberg@gnat.com>
11632
11633 * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
11634
11635 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
11636 to decorate the access-to-protected subprogram and the equivalent type.
11637
11638 * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
11639 to anonymous access to subprogram types.
11640
11641 * exp_ch4.adb (Expand_N_In): Preserve Static flag before
11642 constant-folding, for legality checks in contexts that require an RM
11643 static expression.
11644
11645 * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
11646 temporary but stack checking is not enabled, increment serial number
11647 to so that symbol generation is consistent with and without stack
11648 checking.
11649
11650 * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
11651 independent on whether stack checking is enabled, caller must check
11652 the corresponding flag.
11653
11654 * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
11655 range checks.
11656 (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
11657 parent if it has discriminants.
11658 (Build_Derived_Private_Type): Constructed full view does
11659 not come from source.
11660 (Process_Discriminants): Default discriminants on a tagged type are
11661 legal if this is the internal completion of a private untagged
11662 derivation.
11663
11664 * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
11665 no constraint checks, because it corresponds to an existing object.
11666
11667 * sem_prag.adb (Process_Convention): Pragma applies
11668 only to subprograms in the same declarative part, i.e. the same unit,
11669 not the same scope.
11670
11671 * sem_res.adb (Valid_Conversion): In an instance or inlined body,
11672 ignore type mismatch on a numeric conversion if expression comes from
11673 expansion.
11674
116752004-04-19 Sergey Rybin <rybin@act-europe.fr>
11676
11677 * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
11678 Homonym_Number parameter, add processing for Source_Location parameter
11679 corresponding.
11680 (Check_Eliminated): Remove the check for homonym numbers, add the check
11681 for source location traces.
11682
11683 * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
11684 with Arg_Source_Location corresponding to the changes in the format of
11685 the pragma.
11686
11687 * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
11688 Eliminate pragma corresponding to the changes in the format of the
11689 pragma: Homonym_Number is replaced with Source_Location, two ways of
11690 distinguishing homonyms are mutially-exclusive.
11691
116922004-04-19 Joel Brobecker <brobecker@gnat.com>
11693
11694 * get_targ.ads (Get_No_Dollar_In_Label): Remove.
11695
11696 * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
11697 No_Dollar_In_Label, no longer necessary, as it is always True.
11698 (Strip_Suffixes): Likewise.
11699
117002004-04-19 Gary Dismukes <dismukes@gnat.com>
11701
11702 * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
11703 modulus for compatibility with size clause on targets with 16-bit
11704 Integer.
11705
11706 * layout.adb (Discrimify): In the case of private types, set Vtyp to
11707 full type to fix type mismatches on calls to size functions for
11708 discriminant-dependent array components.
11709
117102004-04-19 Jerome Guitton <guitton@act-europe.fr>
11711
11712 * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
11713 lib.
11714
117152004-04-19 Pascal Obry <obry@gnat.com>
11716
11717 * mdll-utl.adb (Locate): New version is idempotent.
11718
117192004-04-17 Laurent Guerby <laurent@guerby.net>
fa795c69
LG
11720
11721 PR ada/14988 (partial)
11722 * impunit.adb: Fix typo.
90afe2c9 11723
cce0244b
NN
117242004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
11725
11726 * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
11727 and install-rts-cert targets. Remove all gnatlib and gnattools
11728 targets and all other rts-* targets (moved to libada). Remove (now)
11729 unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
11730 TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
11731
af152989
AC
117322004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11733
11734 * trans.c (tree_transform): Shortcut returning error_mark_node for
11735 statements in annotate_only_mode.
11736 (tree_transform, case N_Label, case N_Return_Statement,
11737 N_Goto_Statement): Make statement tree instead of generating code.
11738 (tree_transform, case N_Assignment_Statement): No longer check
11739 type_annotate_only.
11740 (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
11741 RETURN_STMT): New.
11742 (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
11743 New fcns.
11744 (gnat_to_gnu): Collect any RTL generated and deal with it.
11745 (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
11746 (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
11747 (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
11748
11749 * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
11750
11751 * ada-tree.def (EXPR_STMT): Fix typo in name.
11752 (BLOCK_STMT, IF_STMT): New nodes.
11753
11754 * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
11755 LABEL_STMT_FIRST_IN_EH): New macros.
11756 (RETURN_STMT_EXPR): Likewise.
11757
11758 * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
11759 IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
11760
117612004-04-08 Thomas Quinot <quinot@act-europe.fr>
11762
11763 * atree.ads: Correct documentation on extended nodes.
11764
11765 * link.c: Set run_path_option for FreeBSD.
11766
117672004-04-08 Vincent Celier <celier@gnat.com>
11768
11769 * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
11770 one of the ALI file, do not link with DEC lib.
11771
11772 * par.adb Remove the last two characters ("%s" or "%b") when checking
11773 if a language defined unit may be recompiled.
11774
117752004-04-08 Ed Schonberg <schonberg@gnat.com>
11776
11777 * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
11778 removal of abstract operation leaves no possible interpretation for
11779 expression.
11780
11781 * sem_eval.adb (Eval_Qualified_Expression): Use
11782 Set_Raises_Constraint_Error on node when needed, so that it does not
11783 get optimized away by subsequent optimizations.
11784
11785 * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
11786 operands even when they are not wrapped in a type conversion.
11787
117882004-04-08 Olivier Hainque <hainque@act-europe.fr>
11789
11790 * sem_prag.adb (Set_Exported): Warn about making static as result of
11791 export only when the export is coming from source. This may be not
11792 be true e.g. on VMS where we expand export pragmas for exception codes
11793 together with imported or exported exceptions, and we don't want the
11794 user to be warned about something he didn't write.
11795
117962004-04-08 Thomas Quinot <quinot@act-europe.fr>
11797
11798 * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
11799 duplication between normal entities and those declared as renamings.
11800 No functional change.
11801
90afe2c9 11802 * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
af152989
AC
11803 inline functions returning an unconstrained result.
11804
118052004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
11806
11807 * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
11808 conform to what other front-ends do.
11809
118102004-04-08 Doug Rupp <rupp@gnat.com>
11811
11812 * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
11813 libraries.
11814
3984e89a
AC
118152004-04-06 Pascal Obry <obry@gnat.com>
11816
11817 * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
11818
11819 * osint.adb (Program_Name): Do not look past a directory separator.
11820
118212004-04-06 Thomas Quinot <quinot@act-europe.fr>
11822
11823 * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
11824
11825 * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
11826 requirement for preserving a copy of the original assignment node.
11827
11828 * sinfo.ads: Update comment (Original_Tree -> Original_Node).
11829
118302004-04-06 Olivier Hainque <hainque@act-europe.fr>
11831
11832 (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
11833 when supported.
11834
118352004-04-06 Ed Schonberg <schonberg@gnat.com>
11836
11837 * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
11838 operator calls in functional notation, and apply
11839 Universal_Interpretation to operands, not to their type.
11840
118412004-04-06 Robert Dewar <dewar@gnat.com>
11842
11843 * 5wdirval.adb: Minor reformatting
11844
118452004-04-06 Ed Falis <falis@gnat.com>
11846
11847 * gnat_rm.texi: Improve a reference to the GCC manual
11848
30c20106
AC
118492004-04-05 Vincent Celier <celier@gnat.com>
11850
11851 * adaint.h, adaint.c: Add function __gnat_named_file_length
11852
11853 * impunit.adb: Add Ada.Directories to the list
11854
11855 * Makefile.in: Add VMS and Windows versions of
11856 Ada.Directories.Validity package body.
11857
11858 * Makefile.rtl: Add a-direct and a-dirval
11859
11860 * mlib-tgt.ads: Minor comment update.
11861
11862 * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
11863 a-direct.ads, a-direct.adb: New files.
11864
118652004-04-05 Vincent Celier <celier@gnat.com>
11866
11867 PR ada/13620
11868 * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
11869 just to the compiler.
11870
118712004-04-05 Robert Dewar <dewar@gnat.com>
11872
11873 * a-except.adb (Exception_Name_Simple): Make sure lower bound of
11874 returned string is 1.
11875
11876 * ali-util.adb: Use proper specific form for Warnings (Off, entity)
11877
11878 * eval_fat.ads: Minor reformatting
11879
11880 * g-curexc.ads: Document that lower bound of returned string values
11881 is always one.
11882
11883 * gnatlink.adb: Add ??? comment for previous change
11884 (need to document why this is VMS specific)
11885
11886 * s-stoele.ads: Minor reformatting
11887
11888 * tbuild.ads: Minor reformatting throughout (new function specs)
11889
11890 * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
11891 after WITH.
11892
11893 * scng.adb: Minor reformatting
11894
118952004-04-05 Geert Bosch <bosch@gnat.com>
11896
11897 * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
11898 (Leading_Part): Still perform truncation to machine number if the
11899 specified radix_digits is greater or equal to machine_mantissa.
11900
119012004-04-05 Javier Miranda <miranda@gnat.com>
11902
11903 * par-ch3.adb: Complete documentation of previous change
11904 Correct wrong syntax documentation of the OBJECT_DECLARATION rule
11905 (aliased must appear before constant).
11906
11907 * par-ch4.adb: Complete documentation of previous change.
11908
11909 * par-ch6.adb: Complete documentation of previous change.
11910
11911 * sinfo.ads: Fix typo in commment.
11912
119132004-04-05 Ed Schonberg <schonberg@gnat.com>
11914
11915 * sem_ch3.adb (Inherit_Components): If derived type is private and has
11916 stored discriminants, use its discriminants to constrain parent type,
11917 as is done for non-private derived record types.
11918
11919 * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
11920 Ada 2005 AI-310: an abstract non-dispatching operation is not a
11921 candidate interpretation in an overloaded call.
11922
11923 * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
11924 expression is Null and target type is not an access type (e.g. a
11925 non-private address type).
11926
119272004-04-05 Thomas Quinot <quinot@act-europe.fr>
11928
11929 * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
11930 statement whose right-hand side is an inlined call, save a copy of the
11931 original assignment subtree to preserve enough consistency for
11932 Analyze_Assignment to proceed.
11933
11934 * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
11935 complete assignment subtree which is now unnecessary, as the expansion
11936 of inlined call has been improved to preserve a consistent assignment
11937 tree. Note_Possible_Modification must be called only
11938 after checks have been applied, or else unnecessary checks will
11939 be generated.
11940
11941 * sem_util.adb (Note_Possible_Modification): Reorganise the handling
11942 of explicit dereferences that do not Come_From_Source:
11943 - be selective on cases where we must go back to the dereferenced
11944 pointer (an assignment to an implicit dereference must not be
11945 recorded as modifying the pointer);
11946 - do not rely on Original_Node being present (Analyze_Assignment
11947 calls Note_Possible_Modification on a copied tree).
11948
11949 * sem_warn.adb (Check_References): When an unset reference to a pointer
11950 that is never assigned is encountered, prefer '<pointer> may be null'
11951 warning over '<pointer> is never assigned a value'.
11952
119532004-04-05 Ramon Fernandez <fernandez@gnat.com>
11954
11955 * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
11956 the ABI.
11957
119582004-04-05 Olivier Hainque <hainque@act-europe.fr>
11959
11960 * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
11961 libexc. We currently don't reference anything in this library and
11962 linking it in triggers linker warnings we don't want to see.
11963
11964 * init.c: Update comments.
11965
4f976745
RK
119662004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11967
11968 * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
11969 * utils.c (create_field_decl): Likewise.
11970 * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
11971
6da7d579
AC
119722004-04-02 Arnaud Charlet <charlet@act-europe.fr>
11973
11974 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
11975 Replace ifinfo by ifnottex, to make makeinfo --html happy again.
11976 Add info directory entry and category.
11977
18c6ada9
JH
119782004-04-02 Jan Hubicka <jh@suse.cz>
11979
11980 * utils.c: Include function.h
11981 (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
11982
7cd4527e
AC
119832004-04-01 Arnaud Charlet <charlet@act-europe.fr>
11984
11985 PR ada/14150
11986 * Make-lang.in: Clean up generation of documentation
11987
11988 * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
11989
11990 * xgnatug.adb: Removed, replaced by xgnatugn.adb
11991
11992 * xgnatugn.adb: Replaces xgnatug.adb
11993
11994 * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
11995
11996 * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
11997
11998 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
11999 gnat_ug_wnt.texi: Removed.
12000
0c250f07
AC
120012004-04-01 Arnaud Charlet <charlet@act-europe.fr>
12002
12003 * utils2.c: Update copyright notice.
12004
6b6fcd3e
AC
120052004-04-01 Robert Dewar <dewar@gnat.com>
12006
12007 * checks.adb: Minor reformatting throughout
12008 Note that prev checkin added RM reference to alignment warning
12009
120102004-04-01 Ed Schonberg <schonberg@gnat.com>
12011
12012 * exp_aggr.adb (Get_Component_Val): Treat a string literal as
12013 non-static when building aggregate for bit-packed array.
12014
12015 * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
12016 function call that is itself the actual in a procedure call, build
12017 temporary for it.
12018
12019 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
12020 a string literal, create a temporary for it, constant folding only
12021 handles scalars here.
12022
120232004-04-01 Vincent Celier <celier@gnat.com>
12024
12025 * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
12026 Error_Msg_SP): New empty procedures to instantiate the Scanner.
12027 (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
12028 tokens.
12029 (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
12030 (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
12031 and get the checksum.
12032
12033 * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
12034 already in the Q.
12035 Increase the Marking_Label at the end of the Multiple_Main_Loop,
12036 instead of at the beginning.
12037
12038 * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
12039 directly.
12040 (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
12041 on VMS.
12042
12043 * osint.ads (Multi_Unit_Index_Character): New Character global variable
12044
12045 * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
12046 not '~' directly.
12047
12048 * par.adb: Remove test on file name to detect language defined units.
12049 Add test on unit name, after parsing, to detect language defined units
12050 that are not compiled with -gnatg (except System.RPC and its children)
12051
12052 * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
12053 following units without style checking.
12054
12055 * switch-c.adb: Change -gnatC to -gnateI
12056
12057 * usage.adb: Document new switch -gnateInnn
12058
12059 * scng.adb (Accumulate_Token_Checksum): New procedure
12060 (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
12061 word or literal number.
12062 (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
12063 numbers.
12064
120652004-04-01 Thomas Quinot <quinot@act-europe.fr>
12066
12067 * a-tasatt.adb,
12068 g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
12069 switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
12070 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
12071 5vtpopde.adb: Add missing 'constant' keywords.
12072
120732004-04-01 Javier Miranda <miranda@gnat.com>
12074
12075 * par-ch4.adb: (P_Allocator): Code cleanup
12076
12077 * sem_ch3.adb (Access_Definition): Properly set the null-excluding
12078 attribute.
12079
12080 * sinfo.ads: Complete documentation of previous change
12081
120822004-04-01 Pascal Obry <obry@gnat.com>
12083
12084 * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
12085 only on VMS. This special handling was done because an old GNU/ld bug
12086 on Windows which has been fixed.
12087
120882004-04-01 GNAT Script <nobody@gnat.com>
12089
12090 * Make-lang.in: Makefile automatically updated
12091
8df83eae
RK
120922004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12093
12094 * decl.c (gnat_to_gnu_entity, make_type_from_size):
12095 Use TYPE_UNSIGNED, not TREE_UNSIGNED.
12096 * trans.c (tree_transform, convert_with_check): Likewise.
12097 * utils.c (gnat_signed_or_unsigned_type): Likewise.
12098 (build_vms_descriptor, unchecked_convert): Likewise.
12099 * utils2.c (nonbinary_modular_operation): Likewise.
12100
2820d220
AC
121012004-03-29 Javier Miranda <miranda@gnat.com>
12102
12103 * checks.adb (Null_Exclusion_Static_Checks): New subprogram
12104 (Install_Null_Excluding_Check): Local subprogram that determines whether
12105 an access node requires a runtime access check and if so inserts the
12106 appropriate run-time check.
12107 (Apply_Access_Check): Call Install_Null_Excluding check if required
12108 (Apply_Constraint_Check): Call Install_Null_Excluding check if required
12109
12110 * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
12111
12112 * einfo.ads: Fix typo in comment
12113
12114 * exp_ch3.adb (Build_Assignment): Generate conversion to the
12115 null-excluding type to force the corresponding run-time check.
12116 (Expand_N_Object_Declaration): Generate conversion to the null-excluding
12117 type to force the corresponding run-time check.
12118
12119 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
12120 the null-excluding type to force the corresponding run-time check.
12121
12122 * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
12123 case of access types unless they have the null-excluding attribute.
12124
12125 * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
12126 part.
12127
12128 * exp_util.ads: Fix typo in comment
12129
12130 * par.adb (P_Null_Exclusion): New subprogram
12131 (P_Subtype_Indication): New formal that indicates if the null-excluding
12132 part has been scanned-out and it was present
12133
12134 * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
12135
12136 * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
12137 (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
12138 type to force the corresponding run-time check
12139 (Resolve_Aggregate): Propagate the null-excluding attribute to the array
12140 components
12141 (Resolve_Array_Aggregate): Carry out some static checks
12142 (Resolve_Record_Aggregate.Get_Value): Carry out some static check
12143
12144 * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
12145 attribute must be set only if specified by means of the null-excluding
12146 part. In addition, we must also propagate the access-constant attribute
12147 if present.
12148 (Access_Subprogram_Declaration, Access_Type_Declaration,
12149 Analyze_Component_Declaration, Analyze_Object_Declaration,
12150 Array_Type_Declaration, Process_Discriminants,
12151 Analyze_Subtype_Declaration): Propagate the null-excluding attribute
12152 and carry out some static checks.
12153 (Build_Derived_Access_Type): Set the null-excluding attribute
12154 (Derived_Type_Declaration, Process_Subtype): Carry out some static
12155 checks.
12156
12157 * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
12158
12159 * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
12160
12161 * sem_ch6.adb (Process_Formals): Carry out some static checks.
12162 (Set_Actual_Subtypes): Generate null-excluding subtype if the
12163 null-excluding part was present; it is not required to be done here in
12164 case of anonymous access types.
12165 (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
12166 value.
12167
12168 * sem_res.adb (Resolve_Actuals): Carry out some static check
12169 (Resolve_Null): Allow null in anonymous access
12170
12171 * sinfo.adb: New subprogram Null_Exclusion_Present
12172 All_Present and Constant_Present available on access_definition nodes
12173
12174 * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
12175 object_declaration, derived_type_definition, component_definition,
12176 discriminant_specification, access_to_object_definition,
12177 access_function_definition, allocator, access_procedure_definition,
12178 access_definition, parameter_specification, All_Present and
12179 Constant_Present flags available on access_definition nodes.
12180
121812004-03-29 Robert Dewar <dewar@gnat.com>
12182
12183 * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
12184 gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
12185 opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
12186 par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
12187 sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
12188 sem_prag.adb: Updates to handle multiple units/file
12189
12190 * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
12191
12192 * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
12193 sem_util.adb: Minor reformatting
12194
12195 * sem_ch12.adb: Add comment for previous change
12196
121972004-03-29 Laurent Pautet <pautet@act-europe.fr>
12198
12199 * osint.adb (Executable_Prefix): Set Exec_Name to the current
12200 executable name when not initialized. Otherwise, use its current value.
12201
12202 * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
12203 initialize it to another executable name than the current one. This
12204 allows to configure paths for an executable name (gnatmake) different
12205 from the current one (gnatdist).
12206
122072004-03-29 Ed Schonberg <schonberg@gnat.com>
12208
12209 * exp_ch6.adb (Expand_Call): A call to a function declared in the
12210 current unit cannot be inlined if it appears in the body of a withed
12211 unit, to avoid order of elaboration problems in gigi.
12212
12213 * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
12214 information for protected (wrapper) operation as well, to simplify gdb
12215 use.
12216
12217 * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
12218 protected body, indicate that the entity for the generated spec comes
12219 from source, to ensure that references are properly generated for it.
12220 (Build_Body_To_Inline): Do not inline a function that returns a
12221 controlled type.
12222
12223 * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
12224 apply convention to homonyms that are declared explicitly.
12225
12226 * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
12227 that renames an equality operator and the operands are overloaded,
12228 resolve them with the declared formal types, before rewriting as an
12229 operator.
12230
122312004-03-29 GNAT Script <nobody@gnat.com>
12232
12233 * Make-lang.in: Makefile automatically updated
12234
6d11af89
AC
122352004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
12236
12237 * memtrack.adb: Log realloc calls, which are treated as free followed
12238 by alloc.
12239
122402004-03-25 Vincent Celier <celier@gnat.com>
12241
12242 * prj-makr.adb (Process_Directories): Detect when a file contains
12243 several units. Do not include such files in the config pragmas or
12244 in the naming scheme.
12245
12246 * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
12247 Resolve links only when not in Trusted_Mode.
12248 (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
12249 Do not resolve links for the display names.
12250
12251 * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
12252 resolve links when computing the display names.
12253
122542004-03-25 Thomas Quinot <quinot@act-europe.fr>
12255
12256 * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
12257 attribute reference does not denote a subtype, it can be any
12258 expression that has a classwide type, potentially after an implicit
12259 dereference. In particular, the prefix can be a view conversion for
12260 a classwide type (for which Is_Object_Reference holds), but it can
12261 also be a value conversion for an access-to-classwide type. In the
12262 latter case, there is an implicit dereference, and the original node
12263 for the prefix does not verify Is_Object_Reference.
12264
12265 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
12266 conversion of a discriminant-dependent component of a mutable object
12267 is one itself.
12268
122692004-03-25 Ed Schonberg <schonberg@gnat.com>
12270
12271 * freeze.adb (Freeze_Entity): When an inherited subprogram is
12272 inherited, has convention C, and has unconstrained array parameters,
12273 place the corresponding warning on the derived type declaration rather
12274 than the original subprogram.
12275
12276 * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
12277 indication on renaming declaration, if formal has a box and actual
12278 is absent.
12279
12280 * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
12281 determine whether to generate an implicit or explicit reference to
12282 the renamed entity.
12283
12284 * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
12285 subprogram renaming comes from a defaulted formal subprogram in an
12286 instance.
12287
122882004-03-25 Gary Dismukes <dismukes@gnat.com>
12289
12290 * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
12291 value expressions to ensure that calls within a component definition
12292 will be checked (since those are evaluated during the record type's
12293 elaboration).
12294
122952004-03-25 Arnaud Charlet <charlet@act-europe.fr>
12296
12297 * s-tpobop.adb: Code clean up:
12298 (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
12299 code.
12300 (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
12301
123022004-03-25 Jose Ruiz <ruiz@act-europe.fr>
12303
12304 * Makefile.in: Clean up in the ravenscar run time.
12305
22421b79
RK
123062004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12307
12308 * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
12309 of No_Strict_Aliasing to build_pointer_type_for_mode.
12310 * utils.c (update_pointer_to): Walk pointer and ref chains.
12311
24105bab
AC
123122004-03-22 Cyrille Comar <comar@act-europe.fr>
12313
12314 * ali.ads: Fix Comment about Dynamic_Elab.
12315
12316 * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
12317 Has_RACW, Is_Generic, etc.)
12318 (Output_Object, Gnatls): Take into account ALI files not attached to
12319 an object.
12320
123212004-03-22 Vincent Celier <celier@gnat.com>
12322
12323 * gprep.adb: Change all String_Access to Name_Id
12324 (Is_ASCII_Letter): new function
12325 (Double_File_Name_Buffer): New procedure
12326 (Preprocess_Infile_Name): New procedure
12327 (Process_Files): New procedure
12328 (Gnatprep): Check if output and input are existing directories.
12329 Call Process_Files to do the real job.
12330
123312004-03-22 Robert Dewar <dewar@gnat.com>
12332
12333 * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
12334 s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
12335
123362004-03-22 Sergey Rybin <rybin@act-europe.fr>
12337
12338 * scn.adb (Contains): Add check for EOF, is needed for a degenerated
12339 case when the source contains only comments.
12340
123412004-03-22 Ed Schonberg <schonberg@gnat.com>
12342
12343 * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
12344 declaration for a child subprogram body that acts as a spec, indicate
12345 that the entity in the declaration needs debugging information.
12346
12347 * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
12348 full view if the subtype is created for a constrained record component;
12349 gigi has enough information to construct the record, and there is no
12350 place in the tree for the declaration.
12351
12352 * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
12353 serial number for the dummy body that is built for analysis, to avoid
12354 inconsistencies in the generation of internal names when compiling
12355 with -gnatN.
12356
123572004-03-22 Thomas Quinot <quinot@act-europe.fr>
12358
12359 * sem_util.adb (Is_Object_Reference): A view conversion denotes an
12360 object.
12361
123622004-03-22 GNAT Script <nobody@gnat.com>
12363
12364 * Make-lang.in: Makefile automatically updated
12365
6fce44af
RK
123662004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12367
12368 * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
12369 * trans.c (tree_transform, emit_index_check): Likewise.
12370 * utils.c (build_template): Likewise.
12371 (max_size, convert): Remove handling of WITH_RECORD_EXPR.
12372 (maybe_unconstrained_array, unchecked_convert): Likewise.
12373 * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
12374 (build_unary_op): Likewise.
12375 (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
12376 (fill_vms_descriptor): Likewise.
12377 (build_call_alloc_dealloc): Likewise.
12378 ALIGN is unsigned.
12379 * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
12380
802f6d4b
JM
123812004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
12382
12383 PR other/14630
12384 * gnat_ug.texi: Add info directory category and entry.
12385 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
12386 gnat_ug_wnt.texi: Regenerate.
12387
30f3b32b
AC
123882004-03-19 Arnaud Charlet <charlet@act-europe.fr>
12389
12390 * ada-tree.h: Update copyright notice.
12391 Minor reformatting.
12392
123932004-03-19 Olivier Hainque <hainque@act-europe.fr>
12394
12395 * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
12396 as regular exception objects and not as mere integers representing the
12397 condition code. The latter approach required some dynamics to mask off
12398 severity bits, which did not fit well into the GCC table based model.
12399 (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
12400 exception data objects. We don't it and it would conflict with the other
12401 external symbol we have to generate for such exceptions.
12402
12403 * trans.c (tree_transform, case N_Exception_Handler): Remove part of
12404 the special code for VMS exceptions, since these are now represented
12405 as regular exceptions objects.
12406
7548281d
RK
124072004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12408
12409 * decl.c (debug_no_type_hash): Remove.
12410 (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
12411 * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
12412
7324bf49 124132004-03-19 Laurent Guerby <laurent@guerby.net>
dbee7ab9 12414
90afe2c9 12415 * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
dbee7ab9 12416 aggregate, allows bootstrap from 3.3 on powerpc-darwin.
90afe2c9 12417
eb34af89
RK
124182004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12419
12420 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
12421 (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
12422 (TYPE_RM_SIZE_INT): Directly use type.values.
12423 (TREE_LOOP_ID): Clean up check.
12424 * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
12425 TYPE_VALUES, not TYPE_FIELDS.
12426 * trans.c (convert_with_check): Delay access of bounds of basetype
12427 until sure is numeric.
12428
a336eaca
AC
124292004-03-18 Arnaud Charlet <charlet@act-europe.fr>
12430
12431 * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
12432
12433 Code clean up:
12434 * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
12435 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
12436 Specific.Set instead of direct call to e.g pthread_setspecific.
12437
124382004-03-18 Thomas Quinot <quinot@act-europe.fr>
12439
12440 * adaint.c: Update comments.
12441
12442 * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
12443 GNATLIB_SHARED for FreeBSD.
12444
124452004-03-18 Jose Ruiz <ruiz@act-europe.fr>
12446
12447 * init.c [VxWorks]: Do not fix the stack size for the environment task.
12448 When needed (stack checking) the stack size is retrieved
12449 from the VxWorks kernel.
12450
12451 * Makefile.in: Flag -nostdinc is required when building the run time
12452 for avoiding looking for files in the base compiler.
12453 Add the VxWorks specific version of the package body for
12454 System.Stack_checking.Operations (5zstchop.adb).
12455
12456 * Make-lang.in: Add the object file for
12457 System.Stack_Checking.Operations.
12458
12459 * Makefile.rtl: Add object file for the package
12460 System.Stack_Checking.Operations.
12461
12462 * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
12463
12464 * s-stache.ads, s-stache.adb: Move the operations related to stack
12465 checking from this package to package System.Stack_Checking.Operations.
12466 This way, stack checking operations are only linked in the final
12467 executable when using the -fstack-check flag.
12468
124692004-03-18 Doug Rupp <rupp@gnat.com>
12470
12471 * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
12472 Reorganize ifeq's.
12473
12474 * 5qsystem.ads, 5xcrtl.ads: New files.
12475
124762004-03-18 Vincent Celier <celier@gnat.com>
12477
12478 * prj.adb (Reset): Reset hash table Files_Htable
12479
12480 * prj-env.adb (Source_Paths, Object_Paths): New tables.
12481 (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
12482 the procedures Add_To_Path_File.
12483 (Set_Ada_Paths): Accumulate source and object dirs in the tables,
12484 making sure that each directory is present only once and, for object
12485 dirs, when a directory already present is added, the duplicate is
12486 removed and the directory is always put as the last in the table.
12487 Write the path files at the end of these accumulations.
12488
12489 * prj-nmsc.adb (Record_Source): Add source file name in hash table
12490 Files_Htable for all sources.
12491
12492 * prj-proc.adb (Process): Remove restrictions between not directly
12493 related extending projects.
12494
124952004-03-18 Emmanuel Briot <briot@act-europe.fr>
12496
12497 * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
12498 (Find_Sources): Minor speed optimization.
12499
12500 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
12501 parameter Trusted_Mode.
12502
125032004-03-18 Sergey Rybin <rybin@act-europe.fr>
12504
12505 * scn.adb (Determine_License): Take into account a degenerated case
12506 when the source contains only comments.
12507
125082004-03-18 Ed Schonberg <schonberg@gnat.com>
12509
12510 * sem_warn.adb (Check_References): For a warning on a selected
12511 component that does not come from source, locate an uninitialized
12512 component of the record type to produce a more precise error message.
12513
e6f69614
AC
125142004-03-15 Jerome Guitton <guitton@act-europe.fr>
12515
12516 * 3zsoccon.ads: Fix multicast options.
12517
12518 * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
12519 in the spec.
12520
125212004-03-15 Robert Dewar <dewar@gnat.com>
12522
12523 * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
12524 pragma used for a private type.
12525
12526 * lib-xref.adb (Generate_Reference): Do not generate warning if
12527 reference is in a different unit from the pragma Unreferenced.
12528
12529 * 5vtpopde.adb: Minor reformatting
12530 Fix casing of To_Task_ID
12531
12532 * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
12533 flag if we have an unchecked conversion to an access type in the same
12534 unit.
12535
125362004-03-15 Geert Bosch <bosch@gnat.com>
12537
12538 * a-ngcoty.adb (Modulus): In alternate formula for large real or
12539 imaginary parts, use Double precision throughout.
12540
12541 * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
12542 we want to be able to compile run-time with -gnata for testing, but
12543 this may also be instantiated in user code that is compiled with -gnata.
12544
125452004-03-15 Olivier Hainque <hainque@act-europe.fr>
12546
12547 * s-stalib.ads (Exception_Code): New type, to represent Import/Export
12548 codes. Having a separate type for this is useful to enforce consistency
12549 throughout the various run-time units.
12550 (Exception_Data): Use Exception_Code for Import_Code.
12551
12552 * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
12553 Natural and Integer in various places.
12554 (Register_VMS_Exception): Use Base_Code_In to compute the exception code
12555 with the severity bits masked off.
12556 (Register_VMS_Exception): Handle the additional exception data pointer
12557 argument.
12558
12559 * raise.c (_GNAT_Exception structure): Remove the handled_by_others
12560 component, now reflected by an exported accessor.
12561 (is_handled_by): New routine to compute whether the propagated
12562 occurrence matches some handler choice specification. Extracted out of
12563 get_action_description_for, and expanded to take care of the VMS
12564 specifities.
12565 (get_action_description_for): Use is_handled_by instead of an explicit
12566 complex condition to decide if the current choice at hand catches the
12567 propagated occurrence.
12568
12569 * raise.h (Exception_Code): New type for C.
12570
12571 * rtsfind.ads (RE_Id, RE_Unit_Table): Add
12572 System.Standard_Library.Exception_Code, to allow references from the
12573 pragma import/export expander.
12574
12575 * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
12576 New accessors to allow easy access to GNAT exception data
12577 characteristics.
12578 (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
12579 redundant Handled_By_Others component, helper for the personality
12580 routine which will now be able to call the appropriate exception data
12581 accessor instead.
12582
12583 * cstand.adb (Create_Standard): Adjust the type of the Import_Code
12584 component of Standard_Exception_Type to be the closest possible to
12585 Exception_Code in System.Standard_Library, that we cannot get at this
12586 point. Expand a ??? comment to notify that this type node should
12587 probably be rewritten later on.
12588
12589 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
12590 registration call to include a pointer to the exception object in the
12591 arguments.
12592
12593 * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
12594 instead of int and explicit bitmasks.
12595
125962004-03-15 Vincent Celier <celier@gnat.com>
12597
12598 * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
12599 equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
12600
12601 * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
12602 longer needed now that it is in the spec of
12603 System.Tasking.Task_Attributes.
12604
12605 * adaint.h, adaint.c: (__gnat_create_output_file): New function
12606
12607 * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
12608
12609 * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
12610
12611 * make.adb (Gnatmake): Do not check the executable suffix; it is being
12612 taken care of in Scan_Make_Arg.
12613 (Scan_Make_Arg): Add the executable suffix only if the argument
12614 following -o, in canonical case, does not end with the executable
12615 suffix. When in verbose mode and executable file name does not end
12616 with executable suffix, output the executable name, in canonical case.
12617
12618 * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
12619 to avoid warnings when instantiating Ada.Task_Attributes.
12620 Minor reformating.
12621
12622 * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
12623 in the correct order.
12624
12625 * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
12626 redirect standard output and error to a file for the invocation of the
12627 compiler, then read the file.
12628
12629 * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
12630 directory, instead of the Value.
12631 (Find_Source_Dirs): Remove useless code & comments.
12632
126332004-03-15 Ed Schonberg <schonberg@gnat.com>
12634
12635 * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
12636 tagged type is inherited, and the parent operation is not frozen yet,
12637 force generation of a freeze node for the inherited operation, so the
12638 corresponding dispatch entry is properly initialized.
12639 (Make_Predefined_Primitive_Specs): Check that return type is Boolean
12640 when looking for user-defined equality operation.
12641
12642 * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
12643 boolean when locating primitive equality of tagged component.
12644
12645 * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
12646 bit-aligned field and the right-hand side a string literal, introduce
12647 a temporary before expanding assignment into a loop.
12648
12649 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
12650 priority in full, to ensure that any expanded subepxressions of it are
12651 elaborated in the scope of the init_proc.
12652
12653 * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
12654 after object declaration, skipping over code that may have been
12655 generated for validity checks.
12656
12657 * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
12658 discriminants, ignore the known discriminants of its full view, if
12659 any, to check legality.
12660
12661 * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
12662 component if type has unknown discriminants.
12663 (Analyze_Private_Extension_Declaration): Discriminant constraint is
12664 null if type has unknown discriminants.
12665
12666 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
12667 for end label when present.
12668
12669 * s-fileio.adb (Open): When called with a C_Stream, use given name for
12670 temporary file, rather than an empty string.
12671
126722004-03-15 Ed Falis <falis@gnat.com>
12673
12674 * s-thread.adb: Removed, no longer used.
12675
126762004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12677
12678 * decl.c (target.h): Now include.
12679 (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
12680 in new build_pointer_from_mode calls for non-fat/non-thin pointer.
12681 (validate_size): For POINTER_TYPE, get smallest size permitted on
12682 machine.
12683
12684 * fe.h: Sort Einfo decls and add Set_Mechanism.
12685
12686 * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
12687 (ada/decl.o): Depends on target.h.
12688
12689 * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
12690 FUNCTION_BOUNDARY; always use TYPE_ALIGN.
12691
126922004-03-15 Thomas Quinot <quinot@act-europe.fr>
12693
12694 * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
12695
12696 * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
12697 Insert_Dereference_Action when rewriting an implicit dereference into
12698 an explicit one, this will be taken care of during expansion of the
12699 explicit dereference.
12700 (Expand_N_Slice): Same. Always do the rewriting, even for the case
12701 of non-packed slices, since the dereference action generated by
12702 expansion of the explicit dereference is needed in any case.
12703 (Expand_N_Selected_Component): When rewriting an implicit dereference,
12704 analyze and resolve the rewritten explicit dereference so it is seen
12705 by the expander.
12706 (Insert_Dereference_Action): This procedure is now called only for the
12707 expansion of an N_Explcit_Dereference_Node. Do insert a check even for
12708 dereferences that do not come from source (including explicit
12709 dereferences resulting from rewriting implicit ones), but do not
12710 recursively insert a check for the dereference nodes contained within
12711 the check.
12712 (Insert_Dereference_Action): Clarify and correct comment.
12713
e4c9c075
PB
127142004-03-08 Paolo Bonzini <bonzini@gnu.org>
12715
12716 PR ada/14131
12717 Move language detection to the top level.
12718 * config-lang.in: Build by default.
12719
8a6a52dc
AC
127202004-03-05 Robert Dewar <dewar@gnat.com>
12721
12722 * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
12723
12724 * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
12725 i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
90afe2c9 12726 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
8a6a52dc
AC
12727 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
12728 unchecked conversion to spec to avoid warnings.
12729
12730 * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
12731 to Task_ID
12732
12733 * 7stpopsp.adb: Correct casing in To_Task_ID call
12734
12735 * a-strsea.ads, a-strsea.adb: Minor reformatting
12736
12737 * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
12738
12739 * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
12740 Adjust Max_Msg_Length to be clearly large enough.
12741
12742 * fe.h: Define In_Same_Source_Unit
12743
12744 * osint.adb: Add pragma Warnings Off to suppress warnings
12745 * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
12746 aliasing warnings.
12747
12748 * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
12749
12750 * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
12751
12752 * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
12753
12754 * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
12755
12756 * sem_prag.adb: Implement pragma No_Strict_Aliasing.
12757
12758 * sinfo.ads: Remove obsolete comment on validate unchecked conversion
12759 node. We now do generate them for gcc back end.
12760
12761 * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
12762 warning.
12763
12764 * sinput-c.adb: Fix bad name in header.
12765 Add pragma Warnings Off to suppress aliasing warning.
12766
12767 * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
12768
12769 * snames.h, snames.ads, snames.adb: Add entry for pragma
12770 No_Strict_Aliasing.
12771
127722004-03-05 Vincent Celier <celier@gnat.com>
12773
12774 * prj-com.ads: Add hash table Files_Htable to check when a file name
12775 is already a source of another project.
12776
12777 * prj-nmsc.adb (Record_Source): Before recording a new source, check
12778 if its file name is not already a source of another project. Report an
12779 error if it is.
12780
12781 * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
12782 source file name, call gnatpp with all the sources of the main project.
12783
12784 * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
12785 of file names.
12786
12787 * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
12788 NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
12789 /RUNTIME_SYSTEM=, converted to --RTS=
12790 /NOTABS, converted to -notabs
12791
127922004-03-05 Pascal Obry <obry@gnat.com>
12793
12794 * make.adb: Minor reformatting.
12795
127962004-03-05 Ed Schonberg <schonberg@gnat.com>
12797
12798 Part of implemention of AI-262.
12799 * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
12800
12801 * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
12802 procedure.
12803
12804 * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
12805 when component type is a partially constrained class-wide subtype.
12806 (Constrain_Discriminated_Type): If parent type has unknown
12807 discriminants, a constraint is illegal, even if full view has
12808 discriminants.
12809 (Build_Derived_Record_Type): Inherit discriminants when deriving a type
12810 with unknown discriminants whose full view is a discriminated record.
12811
12812 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
12813 flag, to handle properly derivations of tagged types with unknown
12814 discriminants.
12815 (Analyze_Package_Spec, Analyze_Package_Body): Install
12816 Private_With_Clauses before analyzing private part or body.
12817
12818 * einfo.ads: Indicate that both Has_Unknown_Discriminants and
12819 Has_Discriminants can be true for a given type (documentation).
12820
128212004-03-05 Arnaud Charlet <charlet@act-europe.fr>
12822
12823 * s-restri.ads: Fix license (GPL->GMGPL).
12824
12825 * s-tassta.adb: Minor reformatting.
12826
12827 * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
12828 by calls to Exit_One_ATC_Level, since additional clean up is performed
12829 by this function.
12830
12831 * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
12832 by calls to Exit_One_ATC_Level, since additional clean up is performed
12833 by this function.
12834
128352004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12836
12837 * trans.c: Reflect GCC changes to fix bootstrap problem.
12838 Add warning for suspicious aliasing unchecked conversion.
12839
128402004-03-05 GNAT Script <nobody@gnat.com>
12841
12842 * Make-lang.in: Makefile automatically updated
12843
555360a5
AC
128442004-03-02 Emmanuel Briot <briot@act-europe.fr>
12845
12846 * ali.adb (Read_Instantiation_Instance): Do not modify the
12847 current_file_num when reading information about instantiations, since
12848 this corrupts files in later references.
12849
128502004-03-02 Vincent Celier <celier@gnat.com>
12851
12852 * bcheck.adb (Check_Consistency): Get the full path of an ALI file
12853 before checking if it is read-only.
12854
12855 * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
12856 of SRC_DIRS and eliminate duplicates.
12857
12858 * gprcmd.adb: Replace command "path" with command "path_sep" to return
12859 the path separator.
12860 (Usage): Document path_sep
12861
12862 * Makefile.generic: For Ada and GNU C++ cases, link directly with the
12863 C++ compiler. No need for a script.
12864 Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
12865 Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
12866 subst.
12867
12868 * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
12869 where there are Ada sources.
12870 (Set_Ada_Paths): Only add to the include path the source dirs of project
12871 with Ada sources.
12872 (Add_To_Path): Add the Display_Values of the directories, not their
12873 Values.
12874
12875 * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
12876 data.
12877
12878 * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
12879 is not No_Name.
12880 (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
12881 Value is canonicalized.
12882 (Language_Independent_Check): Do not copy Value to Display_Value when
12883 canonicalizing Value.
12884
12885 * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
12886 path to find limited with cycles.
12887 (Parse_Single_Project): Use canonical cased path to find the end of a
12888 with cycle.
12889
128902004-03-02 Ed Schonberg <schonberg@gnat.com>
12891
12892 * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
12893 and not a child unit.
12894
12895 * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
12896 appear in a with_clause.
12897
12898 * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
12899 only happen in type_annotate mode, do not try to elaborate it.
12900
12901 * exp_util.adb (Force_Evaluation): If expression is a selected
12902 component on the left of an assignment, use a renaming rather than a
12903 temporary to remove side effects.
12904
12905 * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
12906 inlined instance body, which is analyzed before the end of the
12907 enclosing scope.
12908
129092004-03-02 Robert Dewar <dewar@gnat.com>
12910
12911 * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
12912 sem_ch4.adb: Use new feature for substitution of keywords in VMS
12913
12914 * errout.ads, errout.adb: Implement new circuit for substitution of
12915 keywords in VMS.
12916
12917 * sem_case.adb (Analyze_Choices): Place message properly when case is
12918 a subtype reference rather than an explicit range.
12919
12920 * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
12921
129222004-03-02 Doug Rupp <rupp@gnat.com>
12923
12924 * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
12925
129262004-03-02 Thomas Quinot <quinot@act-europe.fr>
12927
12928 * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
12929
129302004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12931
12932 * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
12933 BLKmode bitfield.
12934
8a7988f5
AC
129352004-02-25 Robert Dewar <dewar@gnat.com>
12936
12937 * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
12938 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
12939 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
12940 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
12941 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
12942 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
12943 the defining instance of the type to avoid aliasing problems.
12944 Fix copyright header. Fix bad comments in package header.
12945
12946 * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
12947
129482004-02-25 Ed Schonberg <schonberg@gnat.com>
12949
12950 * exp_ch2.adb (Param_Entity): Handle properly formals that have been
12951 rewritten as references when aliased through an address clause.
12952
12953 * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
12954 whether call can be interpreted as an indirect call to the result of a
12955 parameterless function call returning an access subprogram.
12956
129572004-02-25 Arnaud Charlet <charlet@act-europe.fr>
12958
12959 Code clean up:
12960 * exp_ch7.adb (Make_Clean): Remove generation of calls to
12961 Unlock[_Entries], since this is now done by Service_Entries directly.
12962
12963 * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
12964
12965 * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
12966 Requeue_Call for better code readability. Change spec and update calls:
12967 PO_Service_Entries now unlock the PO on exit.
12968 (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
12969 PO_Service_Entries.
12970
12971 * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
12972
12973 * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
12974
129752004-02-25 Sergey Rybin <rybin@act-europe.fr>
12976
12977 * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
12978 protected subprogram call and analyzing the result of such expanding
12979 in case when the called protected subprogram is eliminated.
12980
12981 * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
12982 names.
12983
129842004-02-25 Jerome Guitton <guitton@act-europe.fr>
12985
12986 * Makefile.in: Clean ups.
12987
6871ba5f
AC
129882004-02-23 Ed Schonberg <schonberg@gnat.com>
12989
12990 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
12991 protected operations if original subprogram is flagged as eliminated.
12992 (Expand_N_Subprogram_Body): For a protected operation, create
12993 discriminals for next operation before checking whether the operation
12994 is eliminated.
12995
12996 * exp_ch9.adb (Expand_N_Protected_Body,
12997 Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
12998 for internal protected operations if the original subprogram is
12999 eliminated.
13000
13001 * sem_elim.adb (Check_Eliminated): Handle properly protected operations
13002 declared in a single protected object.
13003
130042004-02-23 Vincent Celier <celier@gnat.com>
13005
13006 * prj-attr.adb: Make attribute Builder'Executable an associative array,
13007 case insensitive if file names are case insensitive, instead of a
13008 standard associative array.
13009
13010 * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
13011 them as case insensitive on platforms where the file names are case
13012 sensitive.
13013
13014 * prj-part.adb (Parse_Single_Project): Make sure, when checking if
13015 project file has already been parsed that canonical path are compared.
13016
130172004-02-23 Robert Dewar <dewar@gnat.com>
13018
13019 * sinput-c.ads: Correct bad unit title in header
13020
13021 * freeze.adb: Minor reformatting
13022
130232004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13024
13025 * trans.c (tree_transform, case N_Procedure_Call_Statement): For
13026 nonaddressable COMPONENT_REF that is removing padding that we are
13027 taking the address of, take the address of the padded record instead
13028 if item is variable size.
13029
6e059adb
AC
130302004-02-20 Robert Dewar <dewar@gnat.com>
13031
13032 * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
13033
130342004-02-20 Ed Schonberg <schonberg@gnat.com>
13035
13036 * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
13037 itype references for the constrained designated type of a component
13038 whose base type is already frozen.
13039
130402004-02-20 Arnaud Charlet <charlet@act-europe.fr>
13041
13042 * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
13043 avoid GCC warnings.
13044
130452004-02-20 Sergey Rybin <rybin@act-europe.fr>
13046
13047 * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
13048 identifier for a phantom package that rewrites the formal package
13049 declaration with a box. The Add semantic decorations for the defining
13050 identifier from the original node (that represents the formal package).
13051
88e3a2a3
MK
130522004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
13053
13054 * Make-lang.in (ada/stamp-sdefault): Use the top level
13055 move-if-change.
13056
4221057e
RH
130572004-02-19 Richard Henderson <rth@redhat.com>
13058
13059 * misc.c (record_code_position): Add third build arg for RTL_EXPR.
13060
5c1c8a03
AC
130612004-02-18 Emmanuel Briot <briot@act-europe.fr>
13062
13063 * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
13064 Scan_ALI can be used for multiple ALI files without reinitializing
13065 between calls.
13066
130672004-02-18 Robert Dewar <dewar@gnat.com>
13068
13069 * debug.adb: Minor reformatting.
13070
130712004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13072
13073 * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
13074 to zero if there is an address clause.
13075
130762004-02-18 Thomas Quinot <quinot@act-europe.fr>
13077
13078 * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
13079
130802004-02-18 Gary Dismukes <dismukes@gnat.com>
13081
13082 * layout.adb (Layout_Component_List): Revise generation of call to
13083 discriminant-checking function to pass selections of all of the type's
13084 discriminants rather than just the variant-controlling discriminant.
13085
130862004-02-18 Olivier Hainque <hainque@act-europe.fr>
13087
13088 * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
13089 fail in the current setup and triggers spurious system error messages.
13090 Pretend it occurred and failed instead.
13091
130922004-02-18 Vincent Celier <celier@gnat.com>
13093
13094 * bld.adb: Mark FLDFLAGS as saved
13095 (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
13096 it is not the root project. Put each directory to be
13097 extended between double quotes to prevent it to be expanded on Windows.
13098 (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
13099 the project file. Set them back to their initial values if they have not
13100 been set in the project file.
13101
13102 * gprcmd.adb: (Gprdebug, Debug): New global variables
13103 (Display_Command): New procedure
13104 (Usage): Document new command "linkopts"
13105 Call Display_Command when env var GPRDEBUG has the value "TRUE"
13106 Implement new command "linkopts"
13107 Remove quotes that may be around arguments for "extend"
13108 Always call Normalize_Pathname with arguments formatted for the platform
13109
13110 * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
13111 Change @echo to @$(display) in target clean to be able to clean silently
13112
13113 * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
13114
13115 * prj-part.adb (Project_Path_Name_Of): Do not put final result in
13116 canonical case.
13117
13118 * prj-part.adb (Parse_Single_Project): Always call with From_Extended
13119 = Extending_All when current project is an extending all project.
13120
13121 * vms_conv.adb (Output_File_Expected): New Boolean global variable,
13122 set to True only for LINK command, after Unix switch -o.
13123 (Process_Arguments): Set Output_File_Expected to True for LINK command
13124 after Unix switch -o. When Output_File_Expected is True, never add an
13125 extension to a file name.
13126
13127 * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
13128 option file name, only to the --for-linker= switch.
13129 (Option_File_Name): If option file name do not end with ".opt", append
13130 "/OPTIONS".
13131
131322004-02-18 GNAT Script <nobody@gnat.com>
13133
13134 * Make-lang.in: Makefile automatically updated
13135
80bcb4d2
MK
131362004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
13137
13138 * Make-lang.in (stamp-sdefault): Do not depend on
13139 move-if-change.
13140
1daa84b6
ZW
131412004-02-12 Zack Weinberg <zack@codesourcery.com>
13142
13143 * config-lang.in: Disable Ada by default until probe logic for
13144 a bootstrap Ada compiler can be moved to the top level configure
13145 script.
13146
18c0ecbe
AC
131472004-02-12 Olivier Hainque <hainque@act-europe.fr>
13148
13149 * decl.c (components_to_record): Don't claim that the internal fields
13150 we make to hold the variant parts are semantically addressable, because
13151 they are not.
13152
13153 * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
13154 adjust the comment describing the modular type form when we can use it.
13155 (Install_PAT): Account for the Esiz renaming.
13156
13157 * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
13158 sc_onstack context indication before raising the exception to which
13159 the signal is mapped. Allows better handling of later signals possibly
13160 triggered by the resumed user code if the exception is handled.
13161
131622004-02-12 Arnaud Charlet <charlet@act-europe.fr>
13163
13164 * 5zinit.adb: Removed, no longer used.
13165
131662004-02-12 Robert Dewar <dewar@gnat.com>
13167
13168 * ali.adb: Remove separating space between parameters on R line. Makes
13169 format consistent with format used by the binder for Set_Globals call.
13170
13171 * atree.ads, atree.adb: Minor reformatting (new function header format)
13172
13173 * bindgen.adb: Add Run-Time Globals documentation section containing
13174 detailed documentation of the globals passed from the binder file to
13175 the run time.
13176
13177 * gnatls.adb: Minor reformatting
13178
13179 * init.c (__gnat_set_globals): Add note pointing to documentation in
13180 bindgen.
13181
13182 * lib-writ.ads, lib-writ.adb: Remove separating space between
13183 parameters on R line.
13184 Makes format consistent with format used by the binder for Set_Globals
13185 call.
13186
13187 * osint.ads: Add 2004 to copyright notice
13188 Minor reformatting
13189
13190 * snames.ads: Correct capitalization of FIFO_Within_Priorities
13191 Noticed during code reading, documentation issue only
13192
13193 * usage.adb: Remove junk line for obsolete C switch
13194 Noticed during code reading
13195
131962004-02-12 Vincent Celier <celier@gnat.com>
13197
13198 * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
13199 extend for each directory, so that multiple /** directories are
13200 extended individually.
13201 (Recursive_Process): Set the default for LANGUAGES to ada
13202
13203 * gprcmd.adb: Define new command "ignore", to do nothing.
13204 Implement new comment "path".
13205
13206 * Makefile.generic: Suppress output when SILENT is set
13207 Make sure that when compiler for C/C++ is gcc, the correct -x switch is
13208 used, so that the correct compiler is invoked.
13209 When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
13210 CXX_INCLUDE_PATH, to avoid failure with too long command lines.
13211
132122004-02-12 Jerome Guitton <guitton@act-europe.fr>
13213
13214 * Makefile.in: Clean ups and remove obsolete targets.
13215
132162004-02-12 Ed Schonberg <schonberg@gnat.com>
13217
13218 * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
13219 predicate declared in exp_util.
13220
13221 * exp_util.adb: Add comments.
13222
13223 * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
13224 visibility before compiling context of the subunit.
13225
13226 * sem_res.adb (Check_Parameterless_Call): If the context expects a
13227 value but the name is a procedure, do not attempt to analyze as a call,
13228 in order to obtain more telling diagnostics.
13229
13230 * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
13231 'Access on parameterless function calls.
13232 (Normalize_Actuals): For a parameterless function call with missing
13233 actuals, defer diagnostic until resolution of enclosing call.
13234
13235 * sem_util.adb (Wrong_Type): If the context type is an access to
13236 subprogram and the expression is a procedure name, suggest a missing
13237 'attribute.
13238
c1dcfa14
AC
132392004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
13240 Nathanael Nerode <neroden@gcc.gnu.org>
13241
13242 PR ada/6637, PR ada/5911
13243 Merge with libada-branch:
90afe2c9 13244 * config-lang.in: Build libada only when ada is built.
c1dcfa14 13245
2e071734
AC
132462004-02-09 Ed Schonberg <schonberg@gnat.com>
13247
13248 * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
13249 for a tagged type, verify that both formals have the same type.
13250
13251 * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
13252 temporary when the formal is an in-parameter and the actual a possibly
13253 unaligned slice.
13254
13255 * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
13256 when expansion is disabled, to ensure proper name capture with
13257 overloaded literals. Condition can be of any boolean type, resolve
13258 accordingly.
13259
13260 * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
13261 renaming is for a formal subprogram with a default operator name, and
13262 there is a usable operator that is visible at the point of
13263 instantiation.
13264
132652004-02-09 Robert Dewar <dewar@gnat.com>
13266
13267 * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
13268 rewrite to ignore errors in ali files, intended to allow tools downward
13269 compatibility with new versions of ali files.
13270
13271 * ali.ads: Add new parameter Ignore_Errors
13272
13273 * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
13274 duplicating the error message giving the file with restrictions.
13275
13276 * debug.adb: Add debug flag I for gnatbind
13277
13278 * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
13279 operators for the case where the operator is a defining operator.
13280
13281 * exp_ch3.adb: Minor reformatting (new function spec format).
13282
13283 * exp_ch4.adb: Add comment for previous change, and make minor
13284 adjustment to loop to always check for improper loop termination.
13285 Minor reformatting throughout (new function spec format).
13286
13287 * gnatbind.adb: Implement -di debug flag for gnatbind
13288
13289 * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
13290
13291 * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
13292
13293 * lib-load.adb: Fix bad assertion.
13294 Found by testing and code reading.
13295 Minor reformatting.
13296
13297 * lib-load.ads: Minor reformatting.
13298
13299 * lib-writ.adb: There is only one R line now.
13300
13301 * lib-writ.ads: Add documentation on making downward compatible changes
13302 to ali files so old tools work with new ali files.
13303 There is only one R line now.
13304 Add documentation on format incompatibilities (with special GPS note)
13305
13306 * namet.ads, namet.adb: (Is_Operator_Name): New procedure
13307
13308 * par-load.adb: Minor reformatting
13309
13310 * sem_ch8.adb: Fix to error message from last update
13311 Minor reformatting and restructuring of code from last update
13312
13313 * par-prag.adb, snames.adb, snames.ads, snames.h,
13314 sem_prag.adb: Implement pragma Profile.
13315
13316 * stylesw.adb: Implement -gnatyN switch to turn off all style check
13317 options.
13318
13319 * usage.adb: Add line for -gnatyN switch
13320
13321 * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
13322
a41ea816
AC
133232004-02-09 Albert Lee <lee@gnat.com>
13324
13325 * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
13326
133272004-02-09 Ed Schonberg <schonberg@gnat.com>
13328
13329 * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
13330 slices.
13331
13332 * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
13333 is nested in an instance that is not frozen yet, to avoid
13334 order-of-elaboration problems in gigi.
13335
13336 * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
13337 body the attribute is legal.
13338
133392004-02-09 Robert Dewar <dewar@gnat.com>
13340
13341 * s-rident.ads: Minor comment correction
13342
13343 * targparm.adb: Remove dependence on uintp completely. There was
13344 always a bug in Make in that it called Targparm before initializing
13345 the Uint package. The old code appeared to get away with this, but
13346 the new code did not! This caused an assertion error in gnatmake.
13347
13348 * targparm.ads: Fix bad comment, restriction pragmas with parameters
13349 are indeed fully supported.
13350
725c60f8
AM
133512004-02-06 Alan Modra <amodra@bigpond.net.au>
13352
13353 * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
13354
136e64db
KH
133552004-02-05 Kazu Hirata <kazu@cs.umass.edu>
13356
13357 * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
13358 with targetm.calls.promote_prototypes.
13359
06effe87
AC
133602004-02-04 Robert Dewar <dewar@gnat.com>
13361
13362 * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
13363 ali.ads, gprcmd.adb: Minor reformatting
13364
13365 * bindgen.adb: Output restrictions string for new style restrictions
13366 handling
13367
13368 * impunit.adb: Add s-rident.ads (System.Rident) and
13369 s-restri (System.Restrictions)
13370
13371 * lib-writ.adb: Fix bug in writing restrictions string (last few
13372 entries wrong)
13373
13374 * s-restri.ads, s-restri.adb: Change name Restrictions to
13375 Run_Time_Restrictions to avoid conflict with package name.
13376 Add circuit to read and acquire run time restrictions.
13377
133782004-02-04 Jose Ruiz <ruiz@act-europe.fr>
13379
13380 * restrict.ads, restrict.adb: Use the new restriction
13381 No_Task_Attributes_Package instead of the old No_Task_Attributes.
13382
13383 * sem_prag.adb: No_Task_Attributes is a synonym of
13384 No_Task_Attributes_Package.
13385
13386 * snames.ads, snames.adb: New entry for proper handling of
13387 No_Task_Attributes.
13388
13389 * s-rident.ads: Adding restriction No_Task_Attributes_Package
13390 (AI-00249) that supersedes the GNAT specific restriction
13391 No_Task_Attributes.
13392
133932004-02-04 Ed Schonberg <schonberg@gnat.com>
13394
90afe2c9 13395 * sem_prag.adb:
06effe87
AC
13396 (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
13397 body, an identifier may be wrapped in an unchecked conversion.
13398
133992004-02-04 Vincent Celier <celier@gnat.com>
13400
13401 * lib-writ.ads: Comment update for the W lines
13402
13403 * bld.adb: (Expression): An empty string list is static
13404
13405 * fname-uf.adb: Minor comment update
13406
13407 * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
13408
13409 * gnatbind.adb: Initialize Cumulative_Restrictions with the
13410 restrictions on the target.
13411
2fb00d7f
KH
134122004-02-03 Kazu Hirata <kazu@cs.umass.edu>
13413
13414 * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
13415 gen_rtx.
13416
5ed23e25
AC
134172004-02-02 Arnaud Charlet <charlet@gnat.com>
13418
13419 * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
13420
6e937c1c
AC
134212004-02-02 Vincent Celier <celier@gnat.com>
13422
13423 * gprcmd.adb (Check_Args): If condition is false, print the invoked
13424 comment before the usage.
13425 Gprcmd: Fail when command is not recognized.
13426 (Usage): Document command "prefix"
13427
13428 * g-md5.adb (Digest): Process last block.
13429 (Update): Do not process last block. Store remaining characters and
13430 length in Context.
13431
13432 * g-md5.ads (Update): Document that several call to update are
13433 equivalent to one call with the concatenated string.
13434 (Context): Add fields to allow new Update behaviour.
13435
13436 * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
13437 defaulted to False.
13438 When May_Fail is True and no existing file can be found, return No_File.
13439
13440 * 6vcstrea.adb: Inlined functions are now wrappers to implementation
13441 functions.
13442
13443 * lib-writ.adb (Write_With_Lines): When body file does not exist, use
13444 spec file name instead on the W line.
13445
134462004-02-02 Robert Dewar <dewar@gnat.com>
13447
13448 * ali.adb: Read and acquire info from new format restrictions lines
13449
13450 * bcheck.adb: Add circuits for checking restrictions with parameters
13451
13452 * bindgen.adb: Output dummy restrictions data
13453 To be changed later
13454
13455 * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
13456 exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
13457 freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
13458 sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
13459 sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
13460
13461 * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
13462 the warning message on access to possibly uninitialized variable S)
13463 Minor changes for new restrictions handling.
13464
13465 * gnatbind.adb: Minor reformatting
13466 Minor changes for new restrictions handling
13467 Move circuit for -r processing here from bcheck (cleaner)
13468
13469 * gnatcmd.adb, gnatlink.adb: Minor reformatting
13470
13471 * lib-writ.adb: Output new format restrictions lines
13472
13473 * lib-writ.ads: Document new R format lines for new restrictions
13474 handling.
13475
13476 * s-restri.ads/adb: New files
13477
13478 * Makefile.rtl: Add entry for s-restri.ads/adb
13479
13480 * par-ch3.adb: Fix bad error messages starting with upper case letter
13481 Minor reformatting
13482
13483 * restrict.adb: Major rewrite throughout for new restrictions handling
13484 Major point is to handle restrictions with parameters
13485
13486 * restrict.ads: Major changes in interface to handle restrictions with
13487 parameters. Also generally simplifies setting of restrictions.
13488
13489 * snames.ads/adb: New entry for proper handling of No_Requeue
13490
13491 * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
13492 restriction counting.
13493 Other minor changes for new restrictions handling
13494
13495 * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
13496 Restriction_Warnings now allows full parameter notation
13497 Major rewrite of Restrictions for new restrictions handling
13498
134992004-02-02 Javier Miranda <miranda@gnat.com>
13500
13501 * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
13502 syntax rule for object renaming declarations.
13503 (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
13504 component definitions.
13505
13506 * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
13507 components.
13508 (Array_Type_Declaration): Give support to access components. In addition
13509 it was also modified to reflect the name of the object in anonymous
13510 array types. The old code did not take into account that it is possible
13511 to have an unconstrained anonymous array with an initial value.
13512 (Check_Or_Process_Discriminants): Allow access discriminant in
13513 non-limited types.
13514 (Process_Discriminants): Allow access discriminant in non-limited types
13515 Initialize the new Access_Definition field in N_Object_Renaming_Decl
13516 node. Change Ada0Y to Ada 0Y in comments
13517
13518 * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
13519 equality operators.
13520 Change Ada0Y to Ada 0Y in comments
13521
13522 * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
13523 renamings Change Ada0Y to Ada 0Y in comments
13524
13525 * sem_type.adb (Find_Unique_Type): Give support to the equality
13526 operators for universal access types
13527 Change Ada0Y to Ada 0Y in comments
13528
13529 * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
13530
13531 * sinfo.ads (N_Component_Definition): Addition of Access_Definition
13532 field.
13533 (N_Object_Renaming_Declaration): Addition of Access_Definition field
13534 Change Ada0Y to Ada 0Y in comments
13535
13536 * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
13537 component definition and object renaming nodes
13538 Change Ada0Y to Ada 0Y in comments
13539
135402004-02-02 Jose Ruiz <ruiz@act-europe.fr>
13541
13542 * restrict.adb: Use the new restriction identifier
13543 No_Requeue_Statements instead of the old No_Requeue for defining the
13544 restricted profile.
13545
13546 * sem_ch9.adb (Analyze_Requeue): Check the new restriction
13547 No_Requeue_Statements.
13548
13549 * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
13550 that supersedes the GNAT specific restriction No_Requeue. The later is
13551 kept for backward compatibility.
13552
135532004-02-02 Ed Schonberg <schonberg@gnat.com>
13554
13555 * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
13556 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
13557 pragma and fix incorrect ones.
13558
13559 * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
13560 warning if the pragma is redundant.
13561
135622004-02-02 Thomas Quinot <quinot@act-europe.fr>
13563
13564 * 5staprop.adb: Add missing 'constant' keywords.
13565
13566 * Makefile.in: use consistent value for SYMLIB on
13567 platforms where libaddr2line is supported.
13568
135692004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13570
13571 * utils.c (end_subprog_body): Do not call rest_of_compilation if just
13572 annotating types.
13573
135742004-02-02 Olivier Hainque <hainque@act-europe.fr>
13575
13576 * init.c (__gnat_install_handler): Setup an alternate stack for signal
13577 handlers in the environment thread. This allows proper propagation of
13578 an exception on stack overflows in this thread even when the builtin
13579 ABI stack-checking scheme is used without support for a stack reserve
13580 region.
13581
13582 * utils.c (create_field_decl): Augment the head comment about bitfield
13583 creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
13584 here, because the former is not accurate enough at this point.
13585 Let finish_record_type decide instead.
13586 Don't make a bitfield if the field is to be addressable.
13587 Always set a size for the field if the record is packed, to ensure the
13588 checks for bitfield creation are triggered.
13589 (finish_record_type): During last pass over the fields, clear
13590 DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
13591 not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
13592 from DECL_BIT_FIELD.
13593
71cbe2c1
KC
135942004-01-30 Kelley Cook <kcook@gcc.gnu.org>
13595
90afe2c9 13596 * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
71cbe2c1
KC
13597 (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
13598 (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
13599
7f996f90
RO
136002004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13601
13602 * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
13603
13604 * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
13605 (ZCX_By_Default): Likewise.
13606 (Front_End_ZCX_Support): Likewise.
13607
13608 * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
13609 (Initialize_Lock): Mark Level unreferenced.
13610 (Sleep): Mark Reason unreferenced.
13611 (Timed_Sleep): Likewise.
13612 (Wakeup): Likewise.
13613 (Exit_Task): Use Result.
13614 (Check_No_Locks): Mark Self_ID unreferenced.
90afe2c9 13615
7f996f90
RO
13616 * 5gtasinf.adb (New_Sproc): Make Attr constant.
13617 (Bound_Thread_Attributes): Make Sproc constant.
13618 (New_Bound_Thread_Attributes): Likewise.
13619
26fd4eae
AC
136202004-01-26 Ed Schonberg <schonberg@gnat.com>
13621
13622 * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
13623 one-dimensional array an slice assignments, when component type is
13624 controlled.
13625
13626 * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
13627 component type is controlled, and control_actions are in effect, use
13628 TSS procedure rather than generating inline code.
13629
13630 * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
13631 arrays with controlled components.
13632
136332004-01-26 Vincent Celier <celier@gnat.com>
13634
13635 * gnatcmd.adb (GNATCmd): Add specification of argument file on the
13636 command line for the non VMS case.
13637
13638 * gnatlink.adb (Process_Binder_File): When building object file, if
13639 GNU linker is used, put all object paths between quotes, to prevent ld
13640 error when there are unusual characters (such as '!') in the paths.
13641
13642 * Makefile.generic: When there are sources in Ada and the main is in
13643 C/C++, invoke gnatmake with -B, instead of -z.
13644
13645 * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
13646 from VMS_Conversion.
13647 (Process_Argument): New procedure, extracted from VMS_Conversion. Add
13648 specification of argument file on the command line.
13649
136502004-01-26 Bernard Banner <banner@gnat.com>
13651
13652 * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
13653
136542004-01-26 Ed Schonberg <schonberg@gnat.com>
13655
13656 * snames.adb: Update copyright notice.
13657 Add info on slice assignment for controlled arrays.
13658
b7e429ab
AC
136592004-01-23 Robert Dewar <dewar@gnat.com>
13660
13661 * exp_aggr.adb: Minor reformatting
13662
13663 * exp_ch9.adb: Minor code clean up
13664 Minor reformatting
13665 Fix bad character in comment
13666
13667 PR ada/13471
13668 * targparm.adb (Get_Target_Parameters): Give clean abort error on
13669 unexpected end of file, along with more detailed message.
13670
136712004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13672
13673 * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
13674 PAT.
13675
13676 * decl.c (copy_alias_set): New function.
13677 (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
13678
136792004-01-23 Doug Rupp <rupp@gnat.com>
13680
13681 * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
13682 lib$${file} in case subsequent character is not a separator.
13683
136842004-01-23 Vincent Celier <celier@gnat.com>
13685
13686 * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
13687 when the GCC version is at least 3.
13688
13689 * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
13690 Remove all "Opt.", to prepare for opt split
13691
13692 * prj-part.adb (Parse_Single_Project): New Boolean out parameter
13693 Extends_All. Set to True when the project parsed is an extending all
13694 project. Fails for importing an extending all project only when the
13695 imported project is an extending all project.
13696 (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
13697 depending on the value of Extends_All returned.
13698
13699 * prj-proc.adb (Process): Check that no project shares its object
13700 directory with a project that extends it, directly or indirectly,
13701 including a virtual project.
13702 Check that no project extended by another project shares its object
13703 directory with another also extended project.
13704
13705 * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
13706 Kind = N_With_Clause
13707
13708 * prj-tree.ads: Minor reformatting
13709 Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
13710
137112004-01-23 Ed Schonberg <schonberg@gnat.com>
13712
13713 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
13714 applies to a type with an incomplete view, use full view in Name of
13715 clause, for consistency with uses of Get_Attribute_Definition_Clause.
13716
137172004-01-23 Arnaud Charlet <charlet@act-europe.fr>
13718
13719 * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
13720 SCHED_RR, since other values are not supported by this policy.
13721 (Initialize): Move initialization of mutex attribute to package
13722 elaboration, to prevent early access to this variable.
13723
13724 * Makefile.in: Remove mention of Makefile.adalib, unused.
13725
b291953f
AC
13726 * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
13727 1ssecsta.ads: Removed, unused.
b7e429ab 13728
adc04486
AC
137292004-01-21 Javier Miranda <miranda@gnat.com>
13730
13731 * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
13732 entity if already built in the current scope.
13733
13734 * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
13735 reminder in internal scopes. Required for nested limited aggregates.
13736
137372004-01-21 Doug Rupp <rupp@gnat.com>
13738
13739 * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
13740 VMS. Replace all occurences of libgnat- and libgnarl- with
13741 libgnat$(hyphen) and libgnarl$(hyphen).
13742 Fixed shared library build problem on VMS.
13743
137442004-01-21 Robert Dewar <dewar@gnat.com>
13745
13746 * mlib-prj.adb: Minor reformatting
13747
137482004-01-21 Thomas Quinot <quinot@act-europe.fr>
13749
13750 * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
13751 'constant' keywords for declaration of pointers that are not modified.
13752
13753 * exp_pakd.adb: Fix English in comment.
13754
137552004-01-21 Ed Schonberg <schonberg@gnat.com>
13756
13757 PR ada/10889
13758 * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
13759 copy all attributes of the parent, including the foreign language
13760 convention.
13761
137622004-01-21 Sergey Rybin <rybin@act-europe.fr>
13763
13764 PR ada/10565
13765 * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
13766 for 'delay until' statement.
13767
a541f69d
KC
137682004-01-20 Kelley Cook <kcook@gcc.gnu.org>
13769
13770 * Make-lang.in: Replace $(docdir) with doc.
13771 (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
13772 doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
13773 to use consistent MAKEINFO rule.
13774 (ada.man, ada.srcman): Dummy entry.
13775 (ADA_INFOFILES): Define.
13776 (ada.info, ada.srcinfo): New rules.
13777
c01a9391
AC
137782004-01-19 Arnaud Charlet <charlet@act-europe.fr>
13779
13780 * utils.c: Update copyright notice, missed in previous change.
13781
137822004-01-19 Vincent Celier <celier@gnat.com>
13783
13784 * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
13785 args if Bind is True. Set First_ALI, if not already done.
13786 (Build_Library): For Stand Alone Libraries, extract from one ALI file
13787 an eventual --RTS switch, for gnatbind, and all backend switches +
13788 --RTS, for linking.
13789
137902004-01-19 Robert Dewar <dewar@gnat.com>
13791
13792 * sem_attr.adb, memtrack.adb: Minor reformatting
13793
137942004-01-19 Ed Schonberg <schonberg@gnat.com>
13795
13796 * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
13797 that rename enumeration literals. This is properly done in sem_eval.
13798
13799 * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
13800 to functions that rename enumeration literals.
13801
13802 * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
13803 functions that rename enumeration literals.
13804
510d1e80
KH
138052004-01-16 Kazu Hirata <kazu@cs.umass.edu>
13806
13807 * Make-lang.in (utils.o): Depend on target.h.
13808 * utils.c: Include target.h.
13809 (process_attributes): Use targetm.have_named_sections instead
13810 of ASM_OUTPUT_SECTION_NAME.
13811
fbf3e0dd
AJ
138122004-01-16 Andreas Jaeger <aj@suse.de>
13813
13814 * Makefile.in: Add $(DESTDIR).
13815
acd47d2a
AC
138162004-01-15 Olivier Hainque <hainque@act-europe.fr>
13817
13818 * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
13819 also when not defining if a Size clause applies. That information is
13820 not to be ignored.
13821
138222004-01-15 Arnaud Charlet <charlet@act-europe.fr>
13823
13824 * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
13825 symbolic links for the shared gnat run time when needed.
13826
138272004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
13828
13829 * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
13830 for writing, and terminate with an error message if not.
13831
138322004-01-15 Ed Schonberg <schonberg@gnat.com>
13833
13834 * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
13835 warning on an access to subprogram in an instance, when the target
13836 type is declared in the same generic unit.
13837 (Eval_Attribute): If 'access is known to fail accessibility check,
13838 rewrite as a raise statement.
13839
138402004-01-15 GNAT Script <nobody@gnat.com>
13841
13842 * Make-lang.in: Makefile automatically updated
13843
03787dfd
KC
138442004-01-15 Kelley Cook <kcook@gcc.gnu.org>
13845
13846 * Make-lang.in (ada.srcextra): Dummy entry.
13847
73e232f0
KC
138482004-01-14 Kelley Cook <kcook@gcc.gnu.org>
13849
13850 * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
13851
9bc43c53
AC
138522004-01-13 Ed Schonberg <schonberg@gnat.com>
13853
13854 * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
13855 components that are initialized with aggregates.
13856
138572004-01-13 Vincent Celier <celier@gnat.com>
13858
13859 * gnatlink.adb (Process_Binder_File): To find directory of shared
13860 libgcc, if "gcc-lib" is not a subdirectory, look for the last
13861 subdirectory "lib" in the path of the shared libgnat or libgnarl.
13862
13863 * make.adb (Gnatmake): If GCC version is at least 3, link with
13864 -shared-libgcc, when there is at least one shared library project.
13865
13866 * opt.ads (GCC_Version): New integer constant.
13867
13868 * adaint.c (get_gcc_version): New function.
13869
138702004-01-13 Robert Dewar <dewar@gnat.com>
13871
13872 * sem_dist.adb, sem_res.adb, sem_util.adb,
13873 sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
13874 exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
13875
138762004-01-13 Thomas Quinot <quinot@act-europe.fr>
13877
13878 * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
13879 g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
13880 declarations.
13881
8b52de7b
AC
138822004-01-12 Arnaud Charlet <charlet@act-europe.fr>
13883
f6ea0188
AC
13884 * misc.c: Remove trailing spaces.
13885 Update copyright notice missed in previous change.
13886
8b52de7b
AC
13887 PR ada/13572
13888 * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
13889 prefix/share/make
13890
13891 * Makefile.generic: Update copyright.
13892 Add license notice.
13893
13894 * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
13895 of prefix/share/make.
13896
13897 * Makefile.prolog: Update copyright.
13898 Add license notice.
13899
139002004-01-12 Laurent Pautet <pautet@act-europe.fr>
13901
13902 * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
13903 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
13904 g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
13905 instead of String.
13906
13907 * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
13908 signature.
13909
139102004-01-12 Javier Miranda <miranda@gnat.com>
13911
13912 * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
13913 exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
13914 sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
13915 sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
13916 Component_Definition node.
13917
139182004-01-12 Ed Falis <falis@gnat.com>
13919
13920 * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
13921
139222004-01-12 Thomas Quinot <quinot@act-europe.fr>
13923
13924 * link.c: Change default libgnat kind to STATIC for FreeBSD.
13925
139262004-01-12 Bernard Banner <banner@gnat.com>
13927
13928 * Makefile.in: map 86numaux to a-numaux for x86_64
13929
139302004-01-12 Ed Schonberg <schonberg@gnat.com>
13931
13932 * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
13933 generated to rename a generic actual, go to the actual itself, the
13934 subtype is not a user-visible entity.
13935
13936 * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
13937 part is a private subtype, reset the visibility of its full view, if
13938 any, to be consistent.
13939
13940 PR ada/13417
13941 * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
13942 to use a generic package G as a formal package for another generic
13943 declared within G.
13944
139452004-01-12 Robert Dewar <dewar@gnat.com>
13946
13947 * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
13948
13949 * usage.adb: Remove mention of obsolete -gnatwb switch
13950 Noticed during code reading
13951
139522004-01-12 Jerome Guitton <guitton@act-europe.fr>
13953
13954 * 1ssecsta.adb: Minor changes for -gnatwa warnings
13955
139562004-01-12 GNAT Script <nobody@gnat.com>
13957
13958 * Make-lang.in: Makefile automatically updated
13959
0fab64a3
MM
139602004-01-09 Mark Mitchell <mark@codesourcery.com>
13961
13962 * misc.c (gnat_expand_expr): Add alt_rtl parameter.
13963
47527624
RO
139642004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13965
13966 * link.c [sgi] (shared_libgnat_default): Change to STATIC.
13967
dedebde1
KC
139682004-01-05 Kelley Cook <kcook@gcc.gnu.org>
13969
fbf3e0dd 13970 * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
dedebde1
KC
13971 Update comment and copyright date.
13972 * stamp-xgnatug: Delete.
13973
91b1417d
AC
139742004-01-05 Robert Dewar <dewar@gnat.com>
13975
13976 * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
13977 be modified by the binder generated main program if the -D switch is
13978 used.
13979
13980 * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
13981 imported functions (since now we expect this to be done for imported
13982 functions)
13983
13984 * 5vtaprop.adb: Add several ??? for sections requiring more comments
13985 Minor reformatting throughout
13986
13987 * 5zinit.adb: Minor reformatting
13988 Add 2004 to copyright date
13989 Minor changes to avoid -gnatwa warnings
13990 Correct some instances of using OR instead of OR ELSE (noted while
13991 doing reformatting)
13992
13993 * sprint.adb: Minor updates to avoid -gnatwa warnings
13994
fbf3e0dd 13995 * s-secsta.ads, s-secsta.adb:
91b1417d
AC
13996 (SS_Get_Max): New function to obtain high water mark for ss stack
13997 Default_Secondary_Stack is not a constant since it may be modified by
13998 the binder generated main program if the -D switch is used.
13999
14000 * switch-b.adb: New -Dnnn switch for binder
14001
fbf3e0dd 14002 * switch-c.adb:
91b1417d
AC
14003 Make -gnatg imply all warnings currently in -gnatwa
14004
14005 * vms_conv.adb: Minor reformatting
14006 Add 2004 to copyright notice
14007 Add 2004 to printed copyright notice
14008
14009 * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
14010 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
14011 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
14012 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
14013 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
14014 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
14015 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
14016 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
14017 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
14018 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
14019 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
14020 vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
14021 xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
14022 sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
14023 checks.adb, clean.adb, cstand.adb, einfo.ads,
14024 einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
14025 exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
14026 prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
14027 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
14028 g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
14029 lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
14030 Minor reformatting and code clean ups.
14031 Minor changes to prevent -gnatwa warnings
14032
14033 * ali.adb: Minor reformatting and cleanup of code
14034 Acquire new SS indication of secondary stack use from ali files
14035
14036 * a-numaux.ads: Add Pure_Function pragmas for all imported functions
14037 (since now we expect this to be done for imported functions)
14038
14039 * bindgen.adb: Generate call to modify default secondary stack size if
14040 -Dnnn switch given
14041
14042 * bindusg.adb: Add line for new -D switch
14043
14044 * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
14045 replacement name for Type_May_Have_Non_Bit_Aligned_Components!
14046 Add circuitry for both records and arrays to avoid gigi
14047 processing if the type involved has non-bit-aligned components
14048
14049 * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
14050 N_String_Literal node always references an E_String_Literal_Subtype
14051 entity. This may not be true in the future.
14052 (Possible_Bit_Aligned_Component): Move processing of
14053 Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
14054
14055 * exp_ch6.adb (Expand_Thread_Body): Pick up
14056 Default_Secondary_Stack_Size as variable so that we get value modified
14057 by possible -Dnnn binder parameter.
14058
14059 * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
14060 (Type_May_Have_Bit_Aligned_Components): New function.
14061
14062 * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
14063 (Type_May_Have_Bit_Aligned_Components): New function.
14064
14065 * fe.h: (Set_Identifier_Casing): Fix prototype.
14066 Add declaration for Sem_Elim.Eliminate_Error_Msg.
14067 Minor reformatting.
14068
14069 * freeze.adb (Freeze_Entity): Add RM reference to error message about
14070 importing constant atomic/volatile objects.
14071 (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
14072 unless explicit Pure_Function pragma given, to avoid insidious bug of
14073 call to non-pure imported function getting eliminated.
14074
14075 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
14076 gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
14077 gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
14078 Add 2004 to printed copyright notice
14079
14080 * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
14081 stack used.
14082
14083 * Makefile.rtl: Add entry for g-sestin.o
14084 g-sestin.ads: New file.
14085
14086 * mdll.adb: Minor changes to avoid -gnatwa warnings
14087
14088 * mlib-tgt.adb: Minor reformatting
14089
14090 * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
14091 New switch Sec_Stack_Used (GNAT, GNATBIND)
14092 Make Default_Secondary_Stack_Size a variable instead of a constant,
14093 so that it can be modified by the new -Dnnn bind switch.
14094
14095 * rtsfind.adb (Load_Fail): Give full error message in configurable
14096 run-time mode if all_errors mode is set. This was not done in the case
14097 of a file not found, which was an oversight.
14098 Note if secondary stack unit is used by compiler.
14099
14100 * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
14101 ineffective elaborate all pragmas on non-visible packages (this
14102 happened when a renamed subprogram was called). Now the elaborate all
14103 always goes on the package containing the renaming rather than the one
14104 containing the renamed subprogram.
14105
14106 * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
14107 (Process_Eliminate_Pragma): Add parameter to capture pragma location.
14108
14109 * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
14110 has an Etype that references an E_String_Literal.
14111 (Eval_String_Literal): Avoid assumption that N_String_Literal node
14112 always references an E_String_Literal_Subtype entity. This may not
14113 be true in the future.
14114
14115 * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
14116 pragma location.
14117
14118 * sem_res.adb (Resolve): Specialize msg for function name used in proc
14119 call.
14120
141212004-01-05 Ed Falis <falis@gnat.com>
14122
14123 * g-debuti.adb: Replaced direct boolean operator with short-circuit
14124 form.
14125
141262004-01-05 Vincent Celier <celier@gnat.com>
14127
14128 * bld.adb: Minor comment updates
14129 (Process_Declarative_Items): Correct incorrect name (Index_Name instead
14130 of Item_Name).
14131
14132 * make.adb (Gnatmake): Special process for files to compile/check when
14133 -B is specified. Fail when there are only foreign mains in attribute
14134 Main of the project file and -B is not specified. Do not skip bind/link
14135 steps when -B is specified.
14136
14137 * makeusg.adb: Document new switch -B
14138
14139 * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
14140
14141 * switch-m.adb: (Scan_Make_Switches): Process -B switch
14142
14143 * vms_data.ads: Add new GNAT PRETTY qualifier
14144 /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
14145
141462004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14147
14148 * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
14149 case.
14150
14151 * misc.c (gnat_printable_name): If VERBOSITY is 2, call
14152 Set_Identifier_Casing.
14153
14154 * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
14155 has size that overflows.
14156
141572004-01-05 Gary Dismukes <dismukes@gnat.com>
14158
14159 * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
14160 -gnatwa warning on static condition.
14161
141622004-01-05 Doug Rupp <rupp@gnat.com>
14163
14164 * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
14165
141662004-01-05 Arnaud Charlet <charlet@act-europe.fr>
14167
14168 * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
14169 all attributes, including read-only attribute.
14170
141712004-01-05 Pascal Obry <obry@gnat.com>
14172
14173 * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
14174 library naming scheme.
14175
14176 * mlib-prj.adb (Build_Library): Generate different names for the static
14177 or dynamic version of the GNAT runtime. This is needed to support the
14178 new shared library naming scheme.
14179 (Process_Binder_File): Add detection of shared library in binder file
14180 based on the new naming scheme.
14181
14182 * gnatlink.adb (Process_Binder_File): Properly detect the new naming
14183 scheme for the shared runtime libraries.
14184
14185 * Makefile.in:
14186 (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
14187 scheme.
14188 (install-gnatlib): Do not create symlinks for shared libraries.
14189 (gnatlib-shared-default): Idem.
14190 (gnatlib-shared-dual-win32): New target. Not used for now as the
14191 auto-import feature does not support arrays/records.
14192 (gnatlib-shared-win32): Do not create copy for the shared libraries.
14193 (gnatlib-shared-vms): Fix shared runtime libraries names.
14194
14195 * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
14196 dependent runtime shared library name.
14197
141982004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
14199
14200 * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
14201 than the object.
14202
142032004-01-05 Ed Schonberg <schonberg@gnat.com>
14204
14205 * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
14206 protected objects when allocator has a subtype indication, not a
14207 qualified expression. Note that qualified expressions may have to be
14208 checked when limited aggregates are implemented.
14209
14210 * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
14211 pure, emit warning.
14212 (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
14213 subprogram is imported, remove warning.
14214
142152004-01-05 Geert Bosch <bosch@gnat.com>
14216
14217 * s-poosiz.adb: Update copyright notice.
14218 (Allocate): Use Task_Lock to protect against concurrent access.
14219 (Deallocate): Likewise.
14220
142212004-01-05 Joel Brobecker <brobecker@gnat.com>
14222
14223 * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
14224 comment.
14225
2ab127f3
KC
142262003-12-23 Kelley Cook <kcook@gcc.gnu.org>
14227
14228 * gnat_ug.texi: Force a CVS commit by updating copyright.
14229 * gnat_ug_vxw.texi: Regenerate.
14230 * gnat_ug_wnt.texi: Regenerate.
14231 * gnat_ug_vms.texi: Regenerate.
14232 * gnat_ug_unx.texi: Regenerate.
14233
aed8bfdc
KH
142342003-12-20 Kazu Hirata <kazu@cs.umass.edu>
14235
14236 * trans.c: Remove uses of "register" specifier in
14237 declarations of local variables.
14238
90c2f1de
KC
142392003-12-18 Kelley Cook <kcook@gcc.gnu.org>
14240
14241 * stamp-xgnatug: New stamp file.
14242 * Make-lang.in (stamp-xgnatug): New stamp file and comment.
14243 (ada/doctools/xgnatug): Add $(build_exeext).
14244 (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
14245 ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
14246
891a6e79
AC
142472003-12-17 Ed Falis <falis@gnat.com>
14248
14249 * a-elchha.adb (Tailored_Exception_Information): made Info constant to
14250 eliminate warning.
14251
14252 * a-exextr.adb: Add context clause for
14253 Ada.Exceptions.Last_Chance_Handler.
14254
142552003-12-17 Sergey Rybin <rybin@act-europe.fr>
14256
14257 * cstand.adb (Create_Standard): Change the way how the declaration of
14258 the Duration type is created (making it the same way as it is for all
14259 the other standard types).
14260
142612003-12-17 Robert Dewar <dewar@gnat.com>
14262
14263 * s-crtl.ads: Fix header format
14264 Change Pure to Preelaborate
14265
142662003-12-17 Ed Schonberg <schonberg@gnat.com>
14267
14268 * checks.adb (Selected_Length_Checks): Generate an Itype reference for
14269 the expression type only if it is declared in the current unit.
14270
14271 * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
14272 are universal and already analyzed, as can occur in constrained
14273 subcomponents that depend on discriminants, when one constraint is a
14274 subtype mark.
14275
14276 * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
14277 type Any_Fixed is legal as the argument of a conversion, if only one
14278 fixed-point type is in context.
14279
142802003-12-17 GNAT Script <nobody@gnat.com>
14281
14282 * Make-lang.in: Makefile automatically updated
14283
209db2bf
AC
142842003-12-15 Robert Dewar <dewar@gnat.com>
14285
14286 * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
14287 sec stack size.
14288
142892003-12-15 Vincent Celier <celier@gnat.com>
14290
14291 * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
14292 (Gnatchop): Do not set failure status when reporting the number of
14293 warnings.
14294
142952003-12-15 Doug Rupp <rupp@gnat.com>
14296
14297 * s-ctrl.ads: New file.
14298
14299 * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
14300
14301 * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
14302 (GNATBIND_OBJS): Add ada/s-crtl.o.
14303
14304 * Makefile.in [VMS]: Clean up ifeq rules.
14305
14306 * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
14307 a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
14308 g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
14309 s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
14310 s-tasdeb.adb: Update copyright.
14311 Import System.CRTL.
14312 Make minor modifications to use System.CRTL declared functions instead
14313 of importing locally.
14314
143152003-12-15 GNAT Script <nobody@gnat.com>
14316
14317 * Make-lang.in: Makefile automatically updated
14318
a9f4e3d2
AC
143192003-12-11 Ed Falis <falis@gnat.com>
14320
14321 * 5zinit.adb: Clean up.
14322
14323 * 5zintman.adb (Notify_Exception): replaced case statement with a call
14324 to __gnat_map_signal, imported from init.c to support
14325 signal -> exception mappings that depend on the vxWorks version.
14326
fbf3e0dd 14327 * init.c:
a9f4e3d2
AC
14328 Created and exported __gnat_map_signal to support signal -> exception
14329 mapping that is dependent on the VxWorks version.
14330 Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
14331
143322003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
14333
14334 * 5wosinte.ads: Link with -mthreads switch.
14335
143362003-12-11 Arnaud Charlet <charlet@act-europe.fr>
14337
14338 * init.c (__gnat_install_handler [NetBSD]): Set
14339 __gnat_handler_installed, as done on all other platforms.
14340 Remove duplicated code.
14341
143422003-12-11 Jerome Guitton <guitton@act-europe.fr>
14343
14344 * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
14345
143462003-12-11 Thomas Quinot <quinot@act-europe.fr>
14347
14348 * sinfo.ads: Fix inconsistent example code in comment.
14349
143502003-12-11 Robert Dewar <dewar@gnat.com>
14351
14352 * a-tiinau.adb: Add a couple of comments
14353
14354 * sem_ch3.adb: Minor reformatting
14355
fbf3e0dd 14356 * sem_prag.adb:
a9f4e3d2
AC
14357 Fix bad prototype of Same_Base_Type in body (code reading cleanup)
14358 Minor reformatting throughout
14359
143602003-12-11 Ed Schonberg <schonberg@gnat.com>
14361
14362 * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
14363 bounds of a loop, create a separate block in order to generate proper
14364 cleanup actions to prevent memory leaks.
14365
14366 * sem_res.adb (Resolve_Call): After a call to
14367 Establish_Transient_Scope, the call may be rewritten and relocated, in
14368 which case no further processing is needed.
14369
14370 * sem_util.adb: (Wrong_Type): Refine previous fix.
14371 Fixes ACATS regressions.
14372
14373 PR ada/13353
14374
14375 * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
14376 be inlined.
14377
c45b6ae0
AC
143782003-12-08 Jerome Guitton <guitton@act-europe.fr>
14379
14380 * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
14381 i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
14382 obsolete files.
14383
14384 * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
14385 (rts-zfp): Ditto.
14386
143872003-12-08 Robert Dewar <dewar@gnat.com>
14388
14389 * 7sintman.adb: Minor reformatting
14390
14391 * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
14392 standard linker options to get standard libraries linked. We now plan
14393 to provide dummy versions of these libraries to match the appropriate
14394 configurable run-time (e.g. if a library is not needed at all, provide
14395 a dummy empty library).
14396
14397 * targparm.ads: Configurable_Run_Time mode no longer affects linker
14398 options (-L parameters and standard libraries). What we plan to do is
14399 to provide dummy libraries where the libraries are not required.
14400
14401 * gnatbind.adb: Minor comment improvement
14402
144032003-12-08 Javier Miranda <miranda@gnat.com>
14404
14405 * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
14406 aggregate in the parent. Otherwise constants with limited aggregates
14407 are not supported. Add new formal to pass the component type (Ctype).
14408 It is required to call the corresponding IP subprogram in case of
14409 default initialized components.
14410 (Gen_Assign): In case of default-initialized component, generate a
14411 call to the IP subprogram associated with the component.
14412 (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
14413 of aggregate with default initialized components.
14414 (Has_Default_Init_Comps): Improve implementation to recursively check
14415 all the present expressions.
14416
14417 * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
14418 to indicate that the initialization call corresponds to a
14419 default-initialized component of an aggregate.
14420 In case of default initialized aggregate with tasks this parameter is
14421 used to generate a null string (this is just a workaround that must be
14422 improved later). In case of discriminants, this parameter is used to
14423 generate a selected component node that gives access to the discriminant
14424 value.
14425
14426 * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
14427 subprogram, based on Build_Task_Allocate_Block, but adapted to expand
14428 allocated aggregates with default-initialized components.
14429
14430 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
14431 the box notation is used in positional aggregates.
14432
144332003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
14434
14435 * lib.ads: Fix typo in comment
14436
144372003-12-08 Vincent Celier <celier@gnat.com>
14438
14439 * prj.adb (Project_Empty): New component Unkept_Comments
14440 (Scan): Remove procedure; moved to Prj.Err.
14441
14442 * prj.ads (Project_Data): New Boolean component Unkept_Comments
14443 (Scan): Remove procedure; moved to Prj.Err.
14444
14445 * prj-dect.adb: Manage comments for the different declarations.
14446
14447 * prj-part.adb (With_Record): New component Node
14448 (Parse): New Boolean parameter Store_Comments, defaulted to False.
14449 Set the scanner to return ends of line and comments as tokens, if
14450 Store_Comments is True.
14451 (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
14452 comments are associated with these nodes. Store the node IDs in the
14453 With_Records.
14454 (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
14455 With_Records.
14456 (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
14457 the N_Project node. Call Tree.Save and Tree.Reset before scanning the
14458 current project. Call Tree.Restore afterwards. Set the various nodes
14459 for comment storage (Next_End, End_Of_Line, Previous_Line,
14460 Previous_End).
14461
14462 * prj-part.ads (Parse): New Boolean parameter Store_Comments,
14463 defaulted to False.
14464
14465 * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
14466 to False. When Truncated is True, truncate the string, never go to the
14467 next line.
14468 (Write_End_Of_Line_Comment): New procedure
14469 (Print): Process comments for nodes N_With_Clause,
14470 N_Package_Declaration, N_String_Type_Declaration,
14471 N_Attribute_Declaration, N_Typed_Variable_Declaration,
14472 N_Variable_Declaration, N_Case_Construction, N_Case_Item.
14473 Process nodes N_Comment.
14474
14475 * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
14476 without comments and there are some comments, set the flag
14477 Unkept_Comments to True.
14478 (Scan): If there are comments, set the flag Unkept_Comments to True and
14479 clear the comments.
14480 (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
14481 (Next_End_Nodes: New table
14482 (Comment_Zones_Of): New function
14483 (Scan): New procedure; moved from Prj. Accumulate comments in the
14484 Comments table and set end of line comments, comments after, after end
14485 and before end.
14486 (Add_Comments): New procedure
14487 (Save, Restore, Seset_State): New procedures
14488 (There_Are_Unkept_Comments): New function
14489 (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
14490 (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
14491 procedures.
14492 (First_Comment_After, First_Comment_After_End): New functions
14493 (First_Comment_Before, First_Comment_Before_End): New functions
14494 (Next_Comment): New function
14495 (End_Of_Line_Comment, Follows_Empty_Line,
14496 Is_Followed_By_Empty_Line): New functions
14497 (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
14498 (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
14499 (Set_Next_Comment): New procedure
14500 (Default_Project_Node): Associate comment before if the node can store
14501 comments.
14502
14503 * scans.ads (Token_Type): New enumeration value Tok_Comment
14504 (Comment_Id): New global variable
14505
14506 * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
14507 defaulted to False.
14508 (Scan): Store position of start of comment. If comments are tokens, set
14509 Comment_Id and set Token to Tok_Comment when scanning a comment.
14510 (Set_Comment_As_Token): New procedure
14511
14512 * sinput-p.adb: Update Copyright notice
14513 (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
14514 that no longer exists.
14515
145162003-12-08 Javier Miranda <miranda@gnat.com>
14517
14518 * sem_aggr.adb: Add dependence on Exp_Tss package
14519 Correct typo in comment
14520 (Resolve_Aggregate): In case of array aggregates set the estimated
14521 type of the aggregate before calling resolve. This is needed to know
14522 the name of the corresponding IP in case of limited array aggregates.
14523 (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
14524 in case of default initialized array components.
14525
14526 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
14527 types. Required to give support to limited aggregates in generic
14528 formals.
14529
145302003-12-08 Ed Schonberg <schonberg@gnat.com>
14531
14532 * sem_ch3.adb (Check_Initialization): For legality purposes, an
14533 inlined body functions like an instantiation.
14534 (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
14535 until bounds are analyzed, to diagnose premature use of type.
14536
14537 * sem_util.adb (Wrong_Type): Improve error message when the type of
14538 the expression is used prematurely.
14539
145402003-12-08 GNAT Script <nobody@gnat.com>
14541
14542 * Make-lang.in: Makefile automatically updated
14543
0875a894
AC
145442003-12-08 Arnaud Charlet <charlet@act-europe.fr>
14545
7618d510
AC
14546 * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
14547 they are automatically generated by Make-lang.in and cause nothing but
0875a894
AC
14548 maintenance troubles.
14549
5b4994bc
AC
145502003-12-05 Thomas Quinot <quinot@act-europe.fr>
14551
14552 * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
14553 version of this unit).
14554
145552003-12-05 Olivier Hainque <hainque@act-europe.fr>
14556
14557 * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
14558 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
14559 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
14560 the body of System.Interrupt_Management common to several targets.
14561 Update copyright notice when appropriate.
14562
14563 * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
14564 constant.
14565
14566 * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
14567 to ensure that the kernel fills in the interrupted context structure
14568 before calling a signal handler, which is necessary to be able to
14569 unwind past it. Update the copyright notice.
14570
145712003-12-05 Jerome Guitton <guitton@act-europe.fr>
14572
14573 * a-elchha.ads: New file.
14574
14575 * a-elchha.adb: New default last chance handler. Contents taken from
14576 Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
14577
14578 * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
14579 is moved to a-elchha.adb to provide a target-independent default last
14580 chance handler.
14581
14582 * Makefile.rtl: Add a-elchha.o
14583
14584 * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
14585
145862003-12-05 Ed Schonberg <schonberg@gnat.com>
14587
14588 * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
14589 declared in an instance, do not inline the call if the instance is not
14590 frozen yet, to prevent order of elaboration problems.
14591
14592 * sem_prag.adb: Add comments for previous fix.
14593
145942003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
14595
14596 * g-table.adb: Use the right variable in Set_Item.
14597 Update copyright notice.
14598
145992003-12-05 Arnaud Charlet <charlet@act-europe.fr>
14600
14601 * Makefile.in: Remove unused rules.
14602
146032003-12-05 Vincent Celier <celier@gnat.com>
14604
14605 * switch-c.adb (Scan_Front_End_Switches): Remove processing of
14606 -nostdlib. Not needed here after all.
14607
efdfd311
AC
146082003-12-03 Thomas Quinot <quinot@act-europe.fr>
14609
14610 PR ada/11724
14611
fbf3e0dd 14612 * adaint.h, adaint.c, g-os_lib.ads:
efdfd311
AC
14613 Do not assume that the offset argument to lseek(2) is a 32 bit integer,
14614 on some platforms (including FreeBSD), it is a 64 bit value.
14615 Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
14616
146172003-12-03 Arnaud Charlet <charlet@act-europe.fr>
14618
14619 * gnatvsn.ads (Library_Version): Now contain only the relevant
14620 version info.
14621 (Verbose_Library_Version): New constant.
14622
14623 * g-spipat.adb, g-awk.adb, g-debpoo.adb,
14624 g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
14625 s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
14626
14627 * gnatlbr.adb: Clean up: replace Library_Version by
14628 Verbose_Library_Version.
14629
fbf3e0dd 14630 * make.adb, lib-writ.adb, exp_attr.adb:
efdfd311
AC
14631 Clean up: replace Library_Version by Verbose_Library_Version.
14632
14633 * 5lintman.adb: Removed.
14634
fbf3e0dd 14635 * Makefile.in:
efdfd311
AC
14636 Update and simplify computation of LIBRARY_VERSION.
14637 Fix computation of GSMATCH_VERSION.
14638 5lintman.adb is no longer used: replaced by 7sintman.adb.
14639
146402003-12-03 Robert Dewar <dewar@gnat.com>
14641
fbf3e0dd 14642 * exp_ch5.adb:
efdfd311
AC
14643 (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
14644 name. Modified to consider small non-bit-packed arrays as troublesome
14645 and in need of component-by-component assigment expansion.
14646
146472003-12-03 Vincent Celier <celier@gnat.com>
14648
14649 * lang-specs.h: Process nostdlib as nostdinc
14650
14651 * back_end.adb: Update Copyright notice
14652 (Scan_Compiler_Arguments): Process -nostdlib directly.
14653
146542003-12-03 Jose Ruiz <ruiz@act-europe.fr>
14655
fbf3e0dd 14656 * Makefile.in:
efdfd311
AC
14657 When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
14658 redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
14659 included in HIE_NONE_TARGET_PAIRS.
14660
146612003-12-03 Ed Schonberg <schonberg@gnat.com>
14662
fbf3e0dd 14663 * sem_attr.adb:
efdfd311
AC
14664 (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
14665 is legal in an instance, because legality is cheched in the template.
14666
fbf3e0dd 14667 * sem_prag.adb:
efdfd311
AC
14668 (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
14669 appplied to an unchecked conversion of a formal parameter.
14670
fbf3e0dd 14671 * sem_warn.adb:
efdfd311
AC
14672 (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
14673 variables.
14674
146752003-12-03 Olivier Hainque <hainque@act-europe.fr>
14676
14677 * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
14678 routines. The second one is new functionality to deal with backtracing
14679 through signal handlers.
14680 (unwind): Split into the two separate subroutines above.
14681 Update the documentation, and deal properly with sizeof (REG) different
14682 from sizeof (void*).
14683
08aa9a4a
AC
146842003-12-01 Nicolas Setton <setton@act-europe.fr>
14685
14686 * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
14687 so that the debugger can reliably access the value of the parameter,
14688 and therefore is able to display the exception name when an exception
14689 breakpoint is reached.
14690
146912003-12-01 Thomas Quinot <quinot@act-europe.fr>
14692
14693 * fmap.adb: Fix typo in warning message.
14694
14695 * g-socket.ads, g-socket.adb: Make Free a visible instance of
14696 Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
14697
146982003-12-01 Vincent Celier <celier@gnat.com>
14699
14700 * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
14701 ther is no Afile.
14702 (Build_Library): Get the switches only if Default_Switches is declared
14703 in package Binder.
14704
147052003-12-01 Ed Schonberg <schonberg@gnat.com>
14706
14707 * exp_ch6.adb (Expand_Actuals): When applying validity checks to
14708 actuals that are indexed components, reanalyze actual to ensure that
14709 packed array references are properly expanded.
14710
14711 * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
14712 attempted assignment to a discriminant.
14713
147142003-12-01 Robert Dewar <dewar@gnat.com>
14715
14716 * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
14717 reformatting.
14718
14719 * switch-c.adb: Minor reformatting of comments
14720
147212003-12-01 Arnaud Charlet <charlet@act-europe.fr>
14722
14723 * Makefile.in: Clean ups.
14724
147252003-12-01 GNAT Script <nobody@gnat.com>
14726
14727 * Make-lang.in: Makefile automatically updated
14728
c6135994
AC
147292003-12-01 Arnaud Charlet <charlet@act-europe.fr>
14730
14731 * 5wsystem.ads: Disable zero cost exception, not ready yet.
14732
51a30506
UW
147332003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
14734
14735 * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
14736 to force serialization.
14737
81a5b587
AC
147382003-11-26 Thomas Quinot <quinot@act-europe.fr>
14739
fbf3e0dd 14740 * g-socket.ads, g-socket.adb:
81a5b587
AC
14741 Clarify documentation of function Stream. Introduce a Free procedure
14742 to release the returned Stream once it becomes unused.
14743
14744 * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
14745
147462003-11-26 Arnaud Charlet <charlet@act-europe.fr>
14747
14748 (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
14749 since NT 4 cannot handle timeout values that are too large,
14750 e.g. DWORD'Last - 1.
14751
147522003-11-26 Ed Schonberg <schonberg@gnat.com>
14753
fbf3e0dd 14754 * exp_ch4.adb:
81a5b587
AC
14755 (Expand_N_Slice): Recognize all cases of slices that appear as actuals
14756 in procedure calls and whose expansion must be deferred.
14757
14758 * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
14759 is in exp_ch4.
14760
fbf3e0dd 14761 * sem_ch3.adb:
81a5b587
AC
14762 (Build_Derived_Array_Type): Create operator for unconstrained type
14763 if ancestor is unconstrained.
14764
147652003-11-26 Vincent Celier <celier@gnat.com>
14766
14767 * make.adb (Project_Object_Directory): New global variable
14768 (Change_To_Object_Directory): New procedure
14769 (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
14770 of Change_Dir directly. Do not change working directory to object
14771 directory of main project after each compilation.
14772 (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
14773 directly.
14774 Change to object directory of main project before binding step.
14775 (Initialize): Initialize Project_Object_Directory to No_Project
14776
fbf3e0dd 14777 * mlib-prj.adb:
81a5b587
AC
14778 (Build_Library): Take into account Builder'Default_Switches ("Ada") when
14779 binding a Stand-Alone Library.
14780
14781 * output.adb: Update Copyright notice
14782 (Write_Char): Output buffer when full
14783
147842003-11-26 Robert Dewar <dewar@gnat.com>
14785
14786 * sem_ch13.adb: (Check_Size): Reset size if size is too small
14787
fbf3e0dd 14788 * sem_ch13.ads:
81a5b587
AC
14789 (Check_Size): Fix documentation to include bit-packed array case
14790
14791 * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
14792
14793 * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
14794
14795 * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
14796
d4c47b51
AC
147972003-11-24 Arnaud Charlet <charlet@act-europe.fr>
14798
14799 PR ada/13142
14800 * utils.c (init_gigi_decls): Change name of built-in setjmp to
14801 __builtin_setjmp, since this is apparently needed by recent
14802 non Ada changes.
14803
7677e9e0
RO
148042003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14805
d4c47b51 14806 * adadecode.c: Only include ctype.h if not IN_GCC.
7677e9e0
RO
14807 (__gnat_decode): Use ISDIGIT from safe-ctype.h.
14808
6c1e24d3
AC
148092003-11-24 Jose Ruiz <ruiz@act-europe.fr>
14810
fbf3e0dd 14811 * Makefile.in:
6c1e24d3
AC
14812 Use 5zintman.ads for VxWorks targets. This file avoid confusion between
14813 signals and interrupts.
14814
14815 * 5zintman.ads: New File.
14816
14817 * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
14818 add exception signals to the set of unmasked signals.
14819
fbf3e0dd 14820 * 5ztaprop.adb:
6c1e24d3
AC
14821 Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
14822 between signals and interrupts.
14823 Add to Unblocked_Signal_Mask the set of signals that are in
14824 Keep_Unmasked.
14825
fbf3e0dd 14826 * 7sinmaop.adb:
6c1e24d3
AC
14827 Adding a check to see whether the Interrupt_ID we want to unmask is in
14828 the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
14829 reason is that the index type of the Keep_Unmasked array is not always
14830 Interrupt_ID; it may be a subtype of Interrupt_ID.
14831
148322003-11-24 Gary Dismukes <dismukes@gnat.com>
14833
fbf3e0dd 14834 * exp_util.adb:
6c1e24d3
AC
14835 (Remove_Side_Effects): Condition constantness of object created for a
14836 an unchecked type conversion on the constantness of the expression
14837 to ensure the correct value for 'Constrained when passing components
14838 of view-converted class-wide objects.
14839
148402003-11-24 Robert Dewar <dewar@gnat.com>
14841
14842 * par-load.adb (Load): Improve handling of misspelled and missing units
14843 Removes several cases of compilation abandoned messages
14844
14845 * lib.adb: (Remove_Unit): New procedure
14846
14847 * lib.ads: (Remove_Unit): New procedure
14848
14849 * lib-load.adb: Minor reformatting
14850
148512003-11-24 Vincent Celier <celier@gnat.com>
14852
fbf3e0dd 14853 * make.adb:
6c1e24d3
AC
14854 (Gnatmake, Initialize): Call Usage instead of Makeusg directly
14855 (Marking_Label): Label to mark processed source files. Incremented for
14856 each executable.
14857 (Gnatmake): Increase Marking_Labet for each executable
14858 (Is_Marked): Compare against marking label
14859 (Mark): Mark with marking label
14860
148612003-11-24 Jerome Guitton <guitton@act-europe.fr>
14862
fbf3e0dd 14863 * s-thread.ads:
6c1e24d3
AC
14864 Move the declaration of the TSD for System.Threads to System.Soft_Links.
14865 Add some comments.
14866
14867 * Makefile.in: Added target pair for s-thread.adb for cert runtime.
14868 (rts-cert): build a single relocatable object for the run-time lib.
14869 Fix perms.
14870
148712003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
14872
fbf3e0dd 14873 * Make-lang.in:
6c1e24d3
AC
14874 Use gnatls rather than gcc to obtain the location of GNAT RTL for
14875 crosstools build.
14876
148772003-11-24 Sergey Rybin <rybin@act-europe.fr>
14878
14879 * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
14880 can not use it as before (that is, as a variable) when dumping it into
14881 the tree file. Add a local variable to store the result of this
14882 function and to be used as the string to be written into the tree.
14883
14884 * scn.adb (Initialize_Scanner): Add comments explaining the recent
14885 changes.
14886
14887 * sinput.adb (Source_First, Source_Last): In case of
14888 Internal_Source_File, replace returning attributes of
14889 Internal_Source_Ptr (which is wrong) with returning attributes of
14890 Internal_Source.
14891
148922003-11-24 Ed Schonberg <schonberg@gnat.com>
14893
fbf3e0dd 14894 * sem_ch3.adb:
6c1e24d3
AC
14895 (New_Concatenation_Op): Proper name for New_Binary_Operator, only
14896 used for implicit concatenation operators.
14897 Code cleanup.
14898
fbf3e0dd 14899 * sem_elab.adb:
6c1e24d3
AC
14900 (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
14901 task bodies that are in the scope of a Suppress pragma.
14902 (Check_A Call): Use the flag to prevent spurious elaboration checks.
14903
fbf3e0dd 14904 * sinfo.ads, sinfo.adb:
6c1e24d3
AC
14905 New flag No_Elaboration_Check on function/procedure calls, to properly
14906 suppress checks on calls in task bodies that are within a local suppress
14907 pragma.
14908
fbf3e0dd 14909 * exp_ch4.adb:
6c1e24d3
AC
14910 (Expand_Concatenate_Other): Use the proper integer type for the
14911 expression for the upper bound, to avoid universal_integer computations
14912 when possible.
14913
6f2aeb72
KC
149142003-11-21 Kelley Cook <kcook@gcc.gnu.org>
14915
14916 * .cvsignore: Delete.
14917
e9f85cd6
AS
149182003-11-21 Andreas Schwab <schwab@suse.de>
14919
14920 * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
14921
4e074baf
VF
149222003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
14923
14924 * 5wsystem.ads: Enable zero cost exception.
14925
f1f9fe30
AC
149262003-11-21 Jerome Guitton <guitton@act-europe.fr>
14927
14928 * 5ztiitho.adb: Remove an unreferenced variable.
14929
149302003-11-21 Thomas Quinot <quinot@act-europe.fr>
14931
14932 * adaint.c: For FreeBSD, use mkstemp.
14933
149342003-11-21 Arnaud Charlet <charlet@act-europe.fr>
14935
14936 * gnatlbr.adb: Now reference Gnat_Static_Version_String.
14937
149382003-11-21 Robert Dewar <dewar@gnat.com>
14939
14940 * bld.adb: Remove useless USE of gnatvsn
14941
14942 * gnatchop.adb: Minor reformatting
14943 Clean up version handling to be more consistent
14944
14945 * gnatxref.adb: Minor reformatting
14946
14947 * gprcmd.adb: Minor reformatting
14948 Fix output of copyright to be more consistent with other tools
14949
149502003-11-21 Vincent Celier <celier@gnat.com>
14951
14952 * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
14953
149542003-11-21 Sergey Rybin <rybin@act-europe.fr>
14955
14956 * atree.adb (Initialize): Add initializations for global variables
14957 used in New_Copy_Tree.
14958
14959 * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
14960 Internal_Source_File as the actual).
14961 Put the set of statements creating Any_Character before the set of
14962 statements creating Any_Array to have Any_Character fully initialized
14963 when it is used in creating Any_Array.
14964
14965 * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
14966 not call Scan in case if the actual is Internal_Source_File
14967 Add 2003 to copyright note.
14968
14969 * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
14970 processing Internal_Source_File.
14971
14972 * types.ads: Add the constant Internal_Source_File representing the
14973 source buffer for artificial source-code-like strings created within
14974 the compiler (the definition of Source_File_Index is changed).
14975
c5b2a8ae
AC
149762003-11-20 Arnaud Charlet <charlet@act-europe.fr>
14977
14978 * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
14979 56system.ads: New file, FreeBSD version.
14980
a03ad584
JM
149812003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
14982
14983 * Make-lang.in (ada.extraclean): Delete.
14984
19f0526a
AC
149852003-11-19 Arnaud Charlet <charlet@act-europe.fr>
14986
14987 * gnatmem.adb: Clean up verbose output.
14988
14989 * gprcmd.adb: Change copyright to FSF.
14990
149912003-11-19 Vincent Celier <celier@gnat.com>
14992
14993 * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
14994 and Version (ignored).
14995
14996 * symbols.ads: (Policy): New type
14997 (Initialize): New parameter Reference, Symbol_Policy and
14998 Library_Version.
14999 Remove parameter Force.
15000 Minor reformatting.
15001
15002 * snames.ads, snames.adbadb: New standard names
15003 Library_Reference_Symbol_File and Library_Symbol_Policy
15004
fbf3e0dd 15005 * mlib-prj.adb:
19f0526a
AC
15006 (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
15007 project.
15008
fbf3e0dd 15009 * mlib-tgt.adb:
19f0526a
AC
15010 (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
15011
15012 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
15013
15014 * prj.adb: (Project_Empty): New component Symbol_Data
15015
15016 * prj.ads: (Policy, Symbol_Record): New types
15017 (Project_Data): New component Symbol_Data
15018
fbf3e0dd 15019 * prj-attr.adb:
19f0526a
AC
15020 New attributes Library_Symbol_File, Library_Symbol_Policy and
15021 Library_Reference_Symbol_File.
15022
fbf3e0dd 15023 * prj-nmsc.adb:
19f0526a
AC
15024 (Ada_Check): When project is a Stand-Alone library project, process
15025 attribute Library_Symbol_File, Library_Symbol_Policy and
15026 Library_Reference_Symbol_File.
15027
15028 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
15029 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
15030 5sml-tgt.adb (Build_Dynamic_Library): New parameter
15031 Symbol_Data (ignored).
15032
15033 * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
15034 (Build_Dynamic_Library): New parameter Symbol_Data. New internal
15035 functions Option_File_Name and Version_String. Set new options of
15036 gnatsym related to symbol file, symbol policy and reference symbol
15037 file.
15038
fbf3e0dd 15039 * 5vsymbol.adb:
19f0526a
AC
15040 Extensive modifications to take into account the reference symbol file,
15041 the symbol policy, the library version and to put in the symbol file the
15042 minor and major IDs.
15043
15044 * bld.adb (Process_Declarative_Items): Put second argument of
15045 gprcmd to_absolute between single quotes, to avoid problems with
15046 Windows.
15047
15048 * bld-io.adb: Update Copyright notice.
15049 (Flush): Remove last character of a line, if it is a back slash, to
15050 avoid make problems.
15051
fbf3e0dd 15052 * gnatsym.adb:
19f0526a
AC
15053 Implement new scheme with reference symbol file and symbol policy.
15054
15055 * g-os_lib.ads: (Is_Directory): Clarify comment
15056
150572003-11-19 Robert Dewar <dewar@gnat.com>
15058
15059 * atree.adb: Move New_Copy_Tree global variables to head of package
15060
15061 * errout.adb: Minor reformatting
15062
150632003-11-19 Javier Miranda <miranda@gnat.com>
15064
15065 * sem_ch4.adb: (Diagnose_Call): Improve error message.
15066 Add reference to Ada0Y (AI-50217)
15067
15068 * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
15069 sem_util.adb: Add reference to AI-50217
15070
15071 * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
15072
15073 * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
15074
15075 * sem_aggr.adb: Complete documentation of AI-287 changes
15076
15077 * par-ch4.adb: Document previous changes.
15078
15079 * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
15080 sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
15081 Ada0Y (AI-50217)
15082
15083 * exp_aggr.adb: Add references to AI-287 in previous changes
15084
150852003-11-19 Ed Schonberg <schonberg@gnat.com>
15086
fbf3e0dd 15087 * exp_ch6.adb:
19f0526a
AC
15088 (Add_Call_By_Copy_Node): Do not original node of rewritten expression
15089 in the rewriting is the result of an inlined call.
15090
15091 * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
15092 parameter is a type conversion, use original node to construct the
15093 post-call assignment, because expression may have been rewritten, e.g.
15094 if it is a packed array.
15095
fbf3e0dd 15096 * sem_attr.adb:
19f0526a
AC
15097 (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
15098 body, just as it is in an instance.
15099 Categorization routines
15100
15101 * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
15102 Instantiate_Object): Set proper sloc reference for message on missing
15103 actual.
15104
151052003-11-19 Thomas Quinot <quinot@act-europe.fr>
15106
15107 * Makefile.in: Add FreeBSD libgnat pairs.
15108
15109 * usage.adb: Fix typo in usage message.
15110
151112003-11-19 Jerome Guitton <guitton@act-europe.fr>
15112
15113 * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
15114 s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
15115 pragma Thread_Body.
15116 Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
15117
15118 * s-thread.adb: This file is now a dummy implementation of
15119 System.Thread.
15120
151212003-11-19 Sergey Rybin <rybin@act-europe.fr>
15122
15123 * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
15124
151252003-11-19 Emmanuel Briot <briot@act-europe.fr>
15126
15127 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
15128 instanciation references in the parent type description.
15129
0d77ab84
AC
151302003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15131
15132 * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
15133
15134 * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
15135 TYPE_PRECISION directly from esize.
15136
151372003-11-18 Thomas Quinot <quinot@act-europe.fr>
15138
fbf3e0dd 15139 * cstreams.c:
0d77ab84
AC
15140 Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
15141
15142 * init.c: Initialization routines for FreeBSD
15143
15144 * link.c: Link info for FreeBSD
15145
15146 * sysdep.c: Add the case of FreeBSD
15147
cb7a5092
AC
151482003-11-17 Jerome Guitton <guitton@act-europe.fr>
15149
15150 * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
15151 already called in System.Threads.
15152
15153 * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
15154 environment task, as it has been moved to System.Threads.Initialization.
15155
151562003-11-17 Arnaud Charlet <charlet@act-europe.fr>
15157
15158 * adaint.c (__gnatlib_install_locks): Only reference
15159 __gnat_install_locks on VMS, since other platforms can avoid using
15160 --enable-threads=gnat
15161
151622003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15163
15164 * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
15165
15166 * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
15167 TYPE_PACKED_ARRAY_TYPE_P.
15168 (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
15169
15170 Part of PR ada/12806
15171 * utils.c (float_type_for_precision): Renamed from float_type_for_size.
15172 Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
15173
151742003-11-17 Vincent Celier <celier@gnat.com>
15175
15176 * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
15177 to False.
15178 Do not set exit status to Failure when Warning is True.
15179 (Gnatchop): Make errors "no compilation units found" and
15180 "no source files written" warnings only.
15181
15182 * make.adb (Gnatmake): When using a project file, set
15183 Look_In_Primary_Dir to False.
15184 (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
15185 and Local_Configuration_Pragmas in the project where they are declared
15186 not an extending project which might have inherited them.
15187
15188 * osint.adb (Locate_File): If Name is already an absolute path, do not
15189 look for a directory.
15190
15191 * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
15192 -gnats (Check_Syntax) is used, issue only a warning, not an error.
15193
15194 * prj.adb (Register_Default_Naming_Scheme): Add new component Project
15195 in objects of type Variable_Value.
15196
15197 * prj.ads: (Variable_Value): New component Project
15198
15199 * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
15200 is in a project extended by Project.
15201
15202 * prj-proc.adb (Add_Attributes): New parameter Project. Set component
15203 Project of Variable_Values to this new parameter value.
15204 (Expression): Set component Project of Variable_Values.
15205 (Process_Declarative_Items): Call Add_Attributes with parameter Project.
15206 Set the component Project in array elements.
15207
152082003-11-17 Sergey Rybin <rybin@act-europe.fr>
15209
15210 * errout.adb: (Initialize): Add initialization for error nodes.
15211
15212 * sem_ch12.adb (Initialize): Add missing initializations for
15213 Exchanged_Views and Hidden_Entities.
15214
152152003-11-17 Ed Schonberg <schonberg@gnat.com>
15216
15217 * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
15218 already instantiated tree for use in subsequent inlining.
15219 (Analyze_Associations, Instantiate_Formal_Subprogram,
15220 Instantiate_Object): improve error message for mismatch in
15221 instantiations.
15222
15223 * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
15224 instantiations of subprograms declared in instances.
15225
152262003-11-17 Javier Miranda <miranda@gnat.com>
15227
15228 * sem_ch4.adb (Analyze_Allocator): Previous modification must be
15229 executed only under the Extensions_Allowed flag.
15230
152312003-11-17 Robert Dewar <dewar@gnat.com>
15232
15233 * a-exexda.adb (Address_Image): Fix documentation to indicate leading
15234 zeroes suppressed.
15235 (Address_Image): Fix bug of returning 0x instead of 0x0
15236 Minor reformatting (function specs).
15237
15238 * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
15239 (missed case of 33-63)
15240
15241 * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
15242
15243 * s-thread.adb: Add comments for pragma Restriction
15244
15245 * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
15246 sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
15247
152482003-11-17 Ed Falis <falis@gnat.com>
15249
15250 * s-thread.adb: Added No_Tasking restriction for this implementation.
15251
152522003-11-17 Emmanuel Briot <briot@act-europe.fr>
15253
15254 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
15255 instanciation references in the parent type description.
15256
152572003-11-17 GNAT Script <nobody@gnat.com>
15258
15259 * Make-lang.in: Makefile automatically updated
15260
7d60db05
JM
152612003-11-16 Jason Merrill <jason@redhat.com>
15262
15263 * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
15264 and TAGS files that include them for each front end.
15265
c0040397
AJ
152662003-11-14 Andreas Jaeger <aj@suse.de>
15267
a477ab83 15268 * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
fbf3e0dd 15269 is the canonical version.
a477ab83
AJ
15270 * misc.c (gnat_handle_option): Likewise.
15271
c0040397
AJ
15272 * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
15273
15274 * 5nsystem.ads: New file for x86_64-linux-gnu.
15275
95a6aaf9
AC
152762003-11-14 Arnaud Charlet <charlet@act-europe.fr>
15277
262cc585 15278 * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
95a6aaf9 15279
4a4fe537
AC
15280 * comperr.adb: Fix logic in previous change.
15281
65356e64
AC
152822003-11-13 Vincent Celier <celier@gnat.com>
15283
15284 * 5bml-tgt.adb (Build_Dynamic_Library): Use
15285 Osint.Include_Dir_Default_Prefix instead of
15286 Sdefault.Include_Dir_Default_Name.
15287
15288 * gnatlbr.adb: Update Copyright notice
15289 (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
15290 Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
15291 instead of Sdefault.Object_Dir_Default_Name
15292
c0040397 15293 * gnatlink.adb:
65356e64
AC
15294 (Process_Binder_File): Never suppress the option following -Xlinker
15295
c0040397 15296 * mdll-utl.adb:
65356e64
AC
15297 (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
15298 Sdefault.Object_Dir_Default_Name.
15299
c0040397 15300 * osint.ads, osint.adb:
65356e64
AC
15301 (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
15302 Minor reformatting.
15303
15304 * vms_conv.ads: Minor reformating
15305 Remove GNAT STANDARD and GNAT PSTA
15306
c0040397 15307 * vms_conv.adb:
65356e64
AC
15308 Allow GNAT MAKE to have several files on the command line.
15309 (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
15310 Sdefault.Object_Dir_Default_Name.
15311 Minor Reformating
15312 Remove data for GNAT STANDARD
15313
c0040397 15314 * vms_data.ads:
65356e64
AC
15315 Add new compiler qualifier /PRINT_STANDARD (-gnatS)
15316 Remove data for GNAT STANDARD
15317 Remove options and documentation for -gnatwb/-gnatwB: these warning
15318 options no longer exist.
15319
153202003-11-13 Ed Falis <falis@gnat.com>
15321
15322 * 5zthrini.adb: (Init_RTS): Made visible
15323
c0040397 15324 * 5zthrini.adb:
65356e64
AC
15325 (Register): Removed unnecessary call to taskVarGet that checked whether
15326 an ATSD was already set as a task var for the argument thread.
15327
c0040397 15328 * s-thread.adb:
65356e64
AC
15329 Updated comment to reflect that this is a VxWorks version
15330 Added context clause for System.Threads.Initialization
15331 Added call to System.Threads.Initialization.Init_RTS
15332
153332003-11-13 Jerome Guitton <guitton@act-europe.fr>
15334
c0040397 15335 * 5zthrini.adb:
65356e64
AC
15336 (Init_RTS): New procedure, for the initialization of the run-time lib.
15337
c0040397 15338 * s-thread.adb:
65356e64
AC
15339 Remove dependancy on System.Init, so that this file can be used in the
15340 AE653 sequential run-time lib.
15341
153422003-11-13 Robert Dewar <dewar@gnat.com>
15343
15344 * bindgen.adb: Minor reformatting
15345
153462003-11-13 Ed Schonberg <schonberg@gnat.com>
15347
c0040397 15348 * checks.adb:
65356e64
AC
15349 (Apply_Discriminant_Check): Do no apply check if target type is derived
15350 from source type with no applicable constraint.
15351
c0040397 15352 * lib-writ.adb:
65356e64
AC
15353 (Ensure_System_Dependency): Do not apply the style checks that may have
15354 been specified for the main unit.
15355
c0040397 15356 * sem_ch8.adb:
65356e64
AC
15357 (Find_Selected_Component): Further improvement in error message, with
15358 RM reference.
15359
c0040397 15360 * sem_res.adb:
65356e64
AC
15361 (Resolve): Handle properly the case of an illegal overloaded protected
15362 procedure.
15363
153642003-11-13 Javier Miranda <miranda@gnat.com>
15365
c0040397 15366 * exp_aggr.adb:
65356e64
AC
15367 (Has_Default_Init_Comps): New function to check the presence of
15368 default initialization in an aggregate.
15369 (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
15370 extension aggregate of a limited record. In addition, a new formal
15371 was added to do not initialize the record controller (if any) during
15372 this recursive expansion of ancestors.
15373 (Init_Controller): Add support for limited record components.
15374 (Expand_Record_Aggregate): In case of default initialized components
15375 convert the aggregate into a set of assignments.
15376
15377 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
15378 describing the new syntax.
15379 Nothing else needed to be done because this subprogram delegates part of
15380 its work to P_Precord_Or_Array_Component_Association.
15381 (P_Record_Or_Array_Component_Association): Give support to the new
15382 syntax for default initialization of components.
15383
c0040397 15384 * sem_aggr.adb:
65356e64
AC
15385 (Resolve_Aggregate): Relax the strictness of the frontend in case of
15386 limited aggregates.
15387 (Resolve_Record_Aggregate): Give support to default initialized
15388 components.
15389 (Get_Value): In case of default initialized components, duplicate
15390 the corresponding default expression (from the record type
15391 declaration). In case of default initialization in the *others*
15392 choice, do not check that all components have the same type.
15393 (Resolve_Extension_Aggregate): Give support to limited extension
15394 aggregates.
15395
c0040397 15396 * sem_ch3.adb:
65356e64
AC
15397 (Check_Initialization): Relax the strictness of the front-end in case
15398 of aggregate and extension aggregates. This test is now done in
15399 Get_Value in a per-component manner.
15400
15401 * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
15402 expression corresponds to a limited aggregate. This test is now done
15403 in Get_Value.
15404
15405 * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
15406 Box_Present flag.
15407
15408 * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
15409 present in an N_Component_Association node
15410
154112003-11-13 Thomas Quinot <quinot@act-europe.fr>
15412
15413 * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
15414 type-conformant entry only if they are homographs.
15415
154162003-11-13 GNAT Script <nobody@gnat.com>
15417
15418 * Make-lang.in: Makefile automatically updated
15419
49add53f
RO
154202003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15421
15422 * adadecode.c: Use <> form of include for ctype.h.
15423 * sysdep.c [IN_RTS]: Use <> form of include for time.h.
15424
94bae1cc
RO
154252003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15426
15427 * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
15428 Works around PR middle-end/6552.
15429
463f452c
AC
154302003-11-10 Ed Falis <falis@gnat.com>
15431
15432 * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
15433
15434 * 5zinit.adb: (Install_Handler): Moved back to spec
15435 (Install_Signal_Handlers): Deleted
15436
15437 * 5zthrini.adb: Added context clause for System.Storage_Elements
15438 (Register): Only handles creation of taskVar; initialization moved to
15439 Thread_Body_Enter.
15440 (Reset_TSD): Deleted; replaced by Thread_Body_Enter
15441 Added declaration of environment task secondary stack and
15442 initialization.
15443
15444 * s-thread.adb: Implement bodies for thread body processing
15445
c0040397 15446 * s-thread.ads:
463f452c
AC
15447 Added comment identifying supported targets for pragma Thread_Body.
15448
154492003-11-10 Pascal Obry <obry@gnat.com>
15450
15451 * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
15452 GNAT_MAX_PATH_LEN.
15453
c0040397 15454 * s-fileio.adb:
463f452c
AC
15455 (Open): Properly check for string length before copying into the buffer.
15456 Raises Name_Error if buffer is too small. Note that this was a potential
15457 buffer overflow.
15458
154592003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
15460
15461 * bindgen.adb, comperr.adb: Code clean ups.
15462 * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
15463
154642003-11-10 Sergey Rybin <rybin@act-europe.fr>
15465
15466 * gnat1drv.adb: Add call to Sem_Elim.Initialize.
15467
154682003-11-10 Vincent Celier <celier@gnat.com>
15469
c0040397 15470 * gprcmd.adb:
463f452c
AC
15471 (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
15472 installation.
15473
15474 * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
15475
15476 * prj.adb: (Project_Empty): Add new boolean component Virtual
15477
15478 * prj.ads: (Virtual_Prefix): New constant string
15479 (Project_Data): New boolean component Virtual
15480
15481 * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
15482 a library project is extended by a virtual extending project.
15483
c0040397 15484 * prj-part.adb:
463f452c
AC
15485 Modifications throughout to implement extending-all project, including:
15486 (Virtual_Hash, Processed_Hash): New hash tables
15487 (Create_Virtual_Extending_Project): New procedure
15488 (Look_For_Virtual_Projects_For): New procedure
15489
c0040397 15490 * prj-proc.adb:
463f452c
AC
15491 (Process): After checking the projects, if main project is an
15492 extending-all project, set the object directory of all virtual extending
15493 project to the object directory of the main project.
15494 Adjust error message when a virtual extending project has the same
15495 object directory as an project being extended.
15496 (Recursive_Process): If name starts with the virtual prefix, set Virtual
15497 to True in the project data.
15498
c0040397 15499 * prj-tree.adb:
463f452c
AC
15500 (Default_Project_Node): Add new boolean component Extending_All
15501 (Is_Extending_All): New function
15502 (Set_Is_Extending_All): New procedure
15503
15504 * prj-tree.ads: (Is_Extending_All): New function
15505 (Set_Is_Extending_All): New procedure
15506 (Project_Node_Record): New boolean component Extending_All
15507
15508 * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
15509
c0040397 15510 * vms_data.ads:
463f452c
AC
15511 Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
15512
15513 * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
15514 "gprcmd prefix" to define it.
15515
155162003-11-10 Thomas Quinot <quinot@act-europe.fr>
15517
15518 * einfo.ads: Fix a typo and remove an extraneous word in comments.
15519
c0040397 15520 * lib-load.adb:
463f452c
AC
15521 (Create_Dummy_Package_Unit): Set the scope of the entity for the
15522 created dummy package to Standard_Standard, not to itself, to
15523 defend other parts of the front-end against encoutering a cycle in
15524 the scope chain.
15525
c0040397 15526 * sem_ch10.adb:
463f452c
AC
15527 (Analyze_With_Clause): When setting the entities for the successive
15528 N_Expanded_Names that constitute the name of a child unit, do not
15529 attempt to go further than Standard_Standard in the chain of scopes.
15530 This case arises from the placeholder units created by
15531 Create_Dummy_Package_Unit in the case of a with_clause for a
15532 nonexistent child unit.
15533
155342003-11-10 Ed Schonberg <schonberg@gnat.com>
15535
c0040397 15536 * exp_ch6.adb:
463f452c
AC
15537 (Expand_Thread_Body): Place subprogram on scope stack, so that new
15538 declarations are given the proper scope.
15539
c0040397 15540 * sem_ch13.adb:
463f452c
AC
15541 (Check_Expr_Constants): Reject an expression that contains a constant
15542 created during expansion, and that appears after the object to which
15543 the address clause applies.
15544
15545 * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
15546 Analyze_Iteration_Scheme, to rewrite a loop parameter specification
15547 that uses 'Range of a function call with controlled components, so
15548 that the function result can be finalized before starting the loop.
15549
c0040397 15550 * sem_ch8.adb:
463f452c
AC
15551 (Find_Selected_Component): Improve error message when prefix is
15552 an implicit dereference of an incomplete type.
15553
155542003-11-10 Robert Dewar <dewar@gnat.com>
15555
15556 * opt.ads: New Print_Standard flag for -gnatS switch
15557
15558 * sem_ch13.adb: Remove some additional checks for unaligned arrays
15559
15560 * cstand.adb (Create_Standard): Print out package standard if -gnatS
15561 switch set
15562
15563 * debug.adb: Update doc for -gnatds to discuss relationship with new
15564 -gnatS flag
15565
15566 * sinfo.adb: Add new field Entity_Or_Associated_Node
15567
15568 * sinfo.ads: Add new field Entity_Or_Associated_Node
15569 Update documentation for Associated_Node and Entity fields to clarify
15570 relationship and usage.
15571
c0040397 15572 * sprint.adb:
463f452c
AC
15573 (Write_Id): Properly process Associated_Node field in generic template
15574
c0040397 15575 * switch-c.adb:
463f452c
AC
15576 Recognize new -gnatS switch for printing package Standard
15577 This replaces gnatpsta
15578
c0040397 15579 * usage.adb:
463f452c
AC
15580 Add line for new -gnatS switch for printing package Standard
15581 This replaces gnatpsta
15582
c77c5f2e
AJ
155832003-11-10 Andreas Jaeger <aj@suse.de>
15584
15585 * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
15586 integer.
15587
5c90f17f
AC
155882003-11-10 Arnaud Charlet <charlet@act-europe.fr>
15589
15590 * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
15591 by gnat1.
15592
139f0d1e
AC
155932003-11-10 Arnaud Charlet <charlet@act-europe.fr>
15594
15595 * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
15596 no longer needed.
15597
15598 * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
15599
15600 * sysdep.c: Add handling of cygwin.
15601
f3e4c05c
GS
156022003-11-10 GNAT Script <nobody@gnat.com>
15603
15604 * Make-lang.in: Makefile automatically updated
15605
2cdc8909
AC
156062003-11-10 Arnaud Charlet <charlet@act-europe.fr>
15607
15608 PR 12950
15609 * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
15610 functions. Used to handle dynamic prefix relocation, via set_std_prefix.
15611 Replace GNAT_ROOT by GCC_ROOT.
15612
15613 * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
15614
37783865
ZW
156152003-11-06 Zack Weinberg <zack@codesourcery.com>
15616
15617 * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
15618 and update for changed meaning of GET_MODE_BITSIZE.
15619
6bc1c519
AC
156202003-11-04 Doug Rupp <rupp@gnat.com>
15621
15622 * sysdep.c: Problem discovered during IA64 VMS port.
15623 [VMS] #include <unixio.h> to get proper prototypes.
15624
37783865 15625 * adaint.c:
6bc1c519
AC
15626 Issues discovered/problems fixed during IA64 VMS port.
15627 [VMS] #define _POSIX_EXIT for proper semantics.
15628 [VMS] #include <unixio.h> for proper prototypes.
15629 [VMS] (fork): #define IA64 version.
15630 (__gnat_os_exit): Remove unnecessary VMS specific code.
15631
156322003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15633
15634 Part of PR ada/12806
15635
15636 * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
15637 tree, not integer.
15638
37783865 15639 * decl.c:
6bc1c519
AC
15640 (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
15641 not integer.
15642
15643 * targtyps.c, decl.c, misc.c,
15644 gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
15645 routines to work around change in FP sizing semantics in GCC.
15646
37783865 15647 * utils.c:
6bc1c519
AC
15648 (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
15649
15650 * gigi.h: (enumerate_modes): New function.
15651
15652 * Make-lang.in: (ada/misc.o): Add real.h.
15653
15654 * misc.c: (enumerate_modes): New function.
15655
156562003-11-04 Robert Dewar <dewar@gnat.com>
15657
15658 * 3vtrasym.adb: Minor reformatting
15659 Use terminology encoded/decoded name, rather than C++ specific notion
15660 of mangling (this is the terminology used throughout GNAT).
15661
15662 * einfo.h: Regenerated
15663
15664 * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
15665
37783865 15666 * exp_ch6.adb:
6bc1c519
AC
15667 (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
15668
15669 * par-prag.adb: Add dummy entry for Thread_Body pragma
15670
37783865 15671 * rtsfind.ads:
6bc1c519
AC
15672 Add entries for System.Threads entities for thread body processing
15673
37783865 15674 * sem_attr.adb:
6bc1c519
AC
15675 (Analyze_Pragma, Access attributes): Check these are not applied to a
15676 thread body, since this is not permitted
15677
15678 * sem_prag.adb: Add processing for Thread_Body pragma.
15679 Minor comment fix.
15680
37783865 15681 * sem_res.adb:
6bc1c519
AC
15682 (Resolve_Call): Check for incorrect attempt to call a thread body
15683 procedure with a direct call.
15684
15685 * snames.ads, snames.adb: Add entry for Thread_Body pragma
15686 Add names associated with thread body expansion
15687
15688 * snames.h: Add entry for Thread_Body pragma
15689
15690 * s-thread.adb: Add entries for thread body processing
15691 These are dummy bodies so far
15692
15693 * s-thread.ads: Add documentation on thread body handling.
15694 Add entries for thread body processing.
15695
156962003-11-04 Javier Miranda <miranda@gnat.com>
15697
37783865 15698 * sem_ch10.adb:
6bc1c519
AC
15699 (Build_Limited_Views): Return after posting an error in case of limited
15700 with_clause on subprograms, generics, instances or generic renamings
15701 (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
15702 on subprograms, generics, instances or generic renamings
15703
157042003-11-04 Arnaud Charlet <charlet@act-europe.fr>
15705
15706 * raise.c (setup_to_install): Correct mistake in last revision; two
15707 arguments out of order.
15708
15709 * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
15710 gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
15711 notice, missed in previous change.
15712 Remove trailing blanks and other style errors introduced in previous
15713 change.
15714
157152003-11-04 Olivier Hainque <hainque@act-europe.fr>
15716
15717 * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
15718 rid of the wrapper for a LJM type, ensuring we don't do that if the
15719 field is addressable. This avoids potential low level type view
15720 mismatches later on, for instance in a by-reference argument passing
15721 process.
15722
157232003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15724
15725 * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
15726 aligned at byte boundary.
15727
157282003-11-04 Joel Brobecker <brobecker@gnat.com>
15729
15730 * decl.c (components_to_record): Do not delete the empty variants from
15731 the end of the union type.
15732
157332003-11-04 Ed Schonberg <schonberg@gnat.com>
15734
15735 * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
15736 operation for a derived type, an explicit declaration may use a local
15737 subtype of Boolean.
15738
157392003-11-04 Vincent Celier <celier@gnat.com>
15740
15741 * make.adb (Gnatmake): Allow main sources on the command line with a
15742 library project when it is only for compilation (no binding or
15743 linking).
15744
487e9fff
RO
157452003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15746
15747 * Makefile.in: Remove many duplicate variables.
15748
63069342
KC
157492003-11-03 Kelley Cook <kcook@gcc.gnu.org>
15750
15751 * Make-lang.in (dvi): Move targets to $(docobjdir).
15752 (gnat_ug_vms.dvi): Simplify rule and adjust target.
15753 (gnat_ug_wnt.dvi): Likewise.
15754 (gnat_ug_unx.dvi): Likewise.
15755 (gnat_ug_vxw.dvi): Likewise.
15756 (gnat_rm.dvi): Likewise.
15757 (gnat-style.dvi): Likewise.
15758
c2edc52b
KC
157592003-10-31 Kelley Cook <kcook@gcc.gnu.org>
15760
15761 * gigi.h: Missed commit from update for C90.
15762
14df9585
KC
157632003-10-31 Kelley Cook <kcook@gcc.gnu.org>
15764
15765 * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
15766
acd8e984
AS
157672003-10-31 Andreas Schwab <schwab@suse.de>
15768
15769 * raise.c (get_action_description_for): Fix typo in last change.
15770
b2c62c45
NN
157712003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
15772
15773 PR ada/12761
15774 * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
15775 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
15776
9373164a
KC
157772003-10-30 Kelley Cook <kcook@gcc.gnu.org>
15778
15779 * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
15780 ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
15781 gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
15782 sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
15783 trans.c, utils.c, utils2.c: Convert function prototypes to C90.
15784
bde58e32
AC
157852003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
15786
37783865 15787 * 3vtrasym.adb:
bde58e32
AC
15788 Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
15789 numbers when symbol name is too long.
15790
157912003-10-30 Ed Falis <falis@gnat.com>
15792
15793 * g-signal.ads, g-signal.adb: New files
15794
15795 * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
15796
15797 * Makefile.rtl: Introduce GNAT.Signals
15798
157992003-10-30 Robert Dewar <dewar@gnat.com>
15800
15801 * freeze.adb: Minor reformatting
15802
15803 * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
15804
37783865
ZW
15805 * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
15806 par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
bde58e32
AC
15807 New handling of Id_Check parameter to improve recognition of keywords
15808 used as identifiers.
15809 Update copyright notice to include 2003
15810
657a9dd9
AC
158112003-10-29 Robert Dewar <dewar@gnat.com>
15812
15813 * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
15814 sem_ch10.adb: Minor reformatting
15815
15816 * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
15817 (Expand_Assign_Record): Test right hand side for bit unaligned as well
15818
158192003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
15820
37783865 15821 * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
657a9dd9
AC
15822 Support for TBK$SYMBOLIZE-based symbolic traceback.
15823
158242003-10-29 Jose Ruiz <ruiz@act-europe.fr>
15825
37783865 15826 * exp_disp.adb:
657a9dd9
AC
15827 Revert previous change, that did not work well when pragma No_Run_Time
15828 was used in conjunction with a run-time other than ZFP.
15829
158302003-10-29 Vincent Celier <celier@gnat.com>
15831
37783865 15832 * make.adb:
657a9dd9
AC
15833 (Gnatmake): When there are no Ada mains in attribute Main, disable the
15834 bind and link steps only is switch -z is not used.
15835
158362003-10-29 Arnaud Charlet <charlet@act-europe.fr>
15837
15838 * Makefile.generic: Remove duplicated setting of CC.
15839
15840 * Makefile.prolog: Set CC to gcc by default, to override make's
15841 default (cc).
15842
15843 * einfo.h: Regenerated.
15844
158452003-10-29 Ed Schonberg <schonberg@gnat.com>
15846
15847 * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
15848 current body, after compiling subunit.
15849
15850 * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
15851 when in deleted code, because gigi needs properly ordered freeze
15852 actions to annotate types.
15853
15854 * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
15855 prevent the premature freezing of record type that contains
15856 subcomponents with a private type that does not yet have a completion.
15857
158582003-10-29 Javier Miranda <miranda@gnat.com>
15859
37783865 15860 * sem_ch12.adb:
657a9dd9
AC
15861 (Analyze_Package_Instantiation): Check that instances can not be used in
15862 limited with_clauses.
15863
37783865 15864 * sem_ch8.adb:
657a9dd9
AC
15865 (Analyze_Package_Renaming): Check that limited withed packages cannot
15866 be renamed. Improve text on error messages related to limited
15867 with_clauses.
15868
15869 * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
15870
15871 * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
15872 Update copyright notice.
15873
15874 * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
15875 (Install_Limited_Context_Clauses): New subprogram that isolates all the
15876 checks required for limited context_clauses and installs the limited
15877 view.
15878 (Install_Limited_Withed_Unit): Complete its documentation.
15879 (Analyze_Context): Check that limited with_clauses are only allowed in
15880 package specs.
15881 (Install_Context): Call Install_Limited_Context_Clauses after the
15882 parents have been installed.
15883 (Install_Limited_Withed_Unit): Add documentation. Mark the installed
15884 package as 'From_With_Type'; this mark indicates that the limited view
15885 is installed. Used to check bad usages of limited with_clauses.
15886 (Build_Limited_Views): Do not add shadow entities to the scope's list
15887 of entities. Do not add real entities to the Non_Limited_Views chain.
15888 Improve error notification.
15889 (Remove_Context_Clauses): Remove context clauses in two phases:
15890 limited views first and regular views later (to maintain the
15891 stack model).
15892 (Remove_Limited_With_Clause): If the package is analyzed then reinstall
15893 its visible entities.
15894
158952003-10-29 Thomas Quinot <quinot@act-europe.fr>
15896
15897 * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
15898 with any type that Is_Fixed_Point_Type.
15899
15900 * sinfo.ads: Fix documentation for Associated_Node attribute.
15901
159022003-10-29 Sergey Rybin <rybin@act-europe.fr>
15903
15904 * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
15905 both '-gnatc' and '-gnatt' are specified.
15906
15907 * atree.adb (Initialize): Add initialization for Node_Count (set to
15908 zero).
15909
159102003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15911
15912 * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
15913 do not consider as Pure.
15914
15915 Part of implementation of function-at-a-time:
15916
15917 * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
15918 (tree_transform): Add new argument to build_component_ref.
15919 (tree_transform, case N_Assignment_Statement): Make and return an
15920 EXPR_STMT.
15921 (tree_transform): If result IS_STMT, set flags and return it.
15922 (gnat_expand_stmt, set_lineno_from_sloc): New functions.
15923
15924 * utils2.c (build_simple_component_ref, build_component_ref): Add new
15925 arg, NO_FOLD_P.
15926 (build_binary_op, case EQ_EXPR): Pass additional arg to it.
15927 (build_allocator): Likewise.
15928
15929 * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
15930 Add new arg to build_component_ref.
15931 (maybe_unconstrained_array, unchecked_convert): Likewise.
15932
15933 * ada-tree.def (EXPR_STMT): New code.
15934
15935 * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
15936
15937 * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
15938 build_component_ref calls.
15939
15940 * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
15941
15942 * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
15943 (build_component_ref): Add new argument, NO_FOLD_P.
15944
ecad994d
AC
159452003-10-27 Arnaud Charlet <charlet@act-europe.fr>
15946
15947 * Makefile.generic: Add missing substitution on object_deps handling.
15948
15949 PR ada/5909:
15950 * Make-lang.in (check-ada): Enable ACATS test suite.
15951
159522003-10-27 Robert Dewar <dewar@gnat.com>
15953
37783865 15954 * exp_ch3.adb:
ecad994d
AC
15955 (Freeze_Array_Type): We do not need an initialization routine for types
15956 derived from String or Wide_String. They should be treated the same
15957 as String and Wide_String themselves. This caused problems with the
15958 use of Initialize_Scalars.
15959
37783865 15960 * exp_ch5.adb:
ecad994d
AC
15961 (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
15962 composites. This allows use of component clauses that are not byte
15963 aligned.
15964
37783865 15965 * sem_prag.adb:
ecad994d
AC
15966 (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
15967 is an attempt to pack an array of atomic objects.
15968
15969 * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
15970
159712003-10-27 Pascal Obry <obry@gnat.com>
15972
37783865 15973 * g-dirope.adb:
ecad994d
AC
15974 (Basename): Check for drive letters in a pathname only on DOS based OS.
15975
159762003-10-27 Vincent Celier <celier@gnat.com>
15977
37783865 15978 * make.adb:
ecad994d
AC
15979 (Gnatmake): When unable to change dir to the object dir, display the
15980 content of the parent dir of the obj dir, to try to understand why this
15981 happens.
15982
159832003-10-27 GNAT Script <nobody@gnat.com>
15984
15985 * Make-lang.in: Makefile automatically updated
15986
159872003-10-27 Ed Schonberg <schonberg@gnat.com>
15988
37783865 15989 * sem_ch12.adb:
ecad994d
AC
15990 (Inline_Instance_Body): Indicate that the save/restore of use_clauses
15991 should not be done in Save/Restore_Scope_Stack, because it is performed
15992 locally.
15993
37783865 15994 * sem_ch8.adb:
ecad994d
AC
15995 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
15996 whether use clauses should be removed/restored.
15997
37783865 15998 * sem_ch8.ads:
ecad994d
AC
15999 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
16000 whether use clauses should be removed/restored.
16001
b6b3c138
AJ
160022003-10-26 Andreas Jaeger <aj@suse.de>
16003
16004 * Makefile.in: Remove duplicated lines.
16005
b6d83931
AC
160062003-10-24 Arnaud Charlet <charlet@act-europe.fr>
16007
16008 * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
16009 minimize the differences with ACT tree.
16010
16011 * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
16012 gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
16013 Gnatvsn.Gnat_Static_Version_String to reduce differences between
16014 ACT and FSF trees.
16015
160162003-10-24 Pascal Obry <obry@gnat.com>
16017
16018 * adadecode.c (ostrcpy): New function.
16019 (__gnat_decode): Use ostrcpy of strcpy.
16020 (has_prefix): Set first parameter a const.
16021 (has_suffix): Set first parameter a const.
16022 Update copyright notice. Fix source name in header.
16023 Removes a trailing space.
16024 PR ada/12014.
16025
160262003-10-24 Jose Ruiz <ruiz@act-europe.fr>
16027
b6b3c138 16028 * exp_disp.adb:
b6d83931
AC
16029 Remove the test against being in No_Run_Time_Mode before generating a
16030 call to Register_Tag. It is redundant with the test against the
16031 availability of the function Register_Tag.
16032
160332003-10-24 Vincent Celier <celier@gnat.com>
16034
16035 * g-catiio.adb: (Month_Name): Correct spelling of February
16036
16037 * make.adb: (Mains): New package
16038 (Initialize): Call Mains.Delete
16039 (Gnatmake): Check that each main on the command line is a source of a
16040 project file and, if there are several mains, each of them is a source
16041 of the same project file.
16042 (Gnatmake): When a foreign language is specified in attribute Languages,
16043 no main is specified on the command line and attribute Mains is not
16044 empty, only build the Ada main. If there is no Ada main, just compile
16045 the Ada sources and their closure.
16046 (Gnatmake): If a main is specified on the command line with directory
16047 information, check that the source exists and, if it does, that the path
16048 is the actual path of a source of a project.
16049
b6b3c138 16050 * prj-env.adb:
b6d83931
AC
16051 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
16052 Full_Path is True, return the full path instead of the simple file name.
16053 (Project_Of): New function
16054
b6b3c138 16055 * prj-env.ads:
b6d83931
AC
16056 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
16057 defaulted to False.
16058 (Project_Of): New function
16059
160602003-10-24 Arnaud Charlet <charlet@act-europe.fr>
16061
b6b3c138 16062 * Makefile.generic:
b6d83931
AC
16063 Ensure objects of main project are always checked and rebuilt if needed.
16064 Set CC to gcc by default.
16065 Prepare new handling of link by creating a global archive (not activated
16066 yet).
16067
16068 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
16069 stringt.h: Update copyright notice. Remove trailing blanks.
16070 Fix source name in header.
16071
160722003-10-24 Robert Dewar <dewar@gnat.com>
16073
16074 * sem_ch12.adb: Minor reformatting
16075
b6b3c138 16076 * sem_ch3.adb:
b6d83931
AC
16077 Minor reformatting (including new function return style throughout)
16078
b6b3c138 16079 * sem_ch3.ads:
b6d83931
AC
16080 Minor reformatting (including new function return style throughout)
16081
160822003-10-24 Arnaud Charlet <charlet@act-europe.fr>
16083
16084 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
16085 stringt.h: Update copyright notice. Remove trailing blanks.
16086 Fix source name in header.
16087
160882003-10-24 GNAT Script <nobody@gnat.com>
16089
16090 * Make-lang.in: Makefile automatically updated
16091
b4e2d709
NN
160922003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
16093
16094 * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
16095 stringt.h: Convert to ISO C90 declarations and definitions.
16096
9d7d51be
AC
160972003-10-23 Thomas Quinot <quinot@act-europe.fr>
16098
16099 PR ada/11978:
16100 * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
16101 External_Tag attribute definition clauses.
16102
161032003-10-23 Ed Schonberg <schonberg@gnat.com>
16104
16105 PR ada/7613:
16106 * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
16107 child unit, generate a fully qualified name to avoid spurious errors
16108 when the context contains renamings of different child units with
16109 the same simple name.
16110
16111 * exp_dbug.ads: Add documentation on name qualification for renamings
16112 of child units.
16113
161142003-10-23 Robert Dewar <dewar@gnat.com>
16115
16116 * g-regpat.ads, g-regpat.adb: Minor reformatting
16117
161182003-10-23 Jose Ruiz <ruiz@act-europe.fr>
16119
16120 * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
16121
161222003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16123
16124 * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
16125 Machine call.
16126
16127 * urealp.h: (Machine): Update to proper definition.
16128
6d244bbe
AC
161292003-10-23 Arnaud Charlet <charlet@act-europe.fr>
16130
16131 * init.c, adaint.c: Minor reformatting.
16132
8f4eb34b
DS
161332003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
16134
6d244bbe 16135 * adaint.c (w32_epoch_offset): Define static const at file level.
8f4eb34b
DS
16136 (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
16137 rather than t_create, t_access in call to GetFileTime. Use union
16138 to convert between FILETIME and unsigned long long.
16139 (__gnat_file_time_name): Test for invalid file handle.
16140 (__gnat_set_filetime_name): Support win32 targets using
16141 w32api SetFileTime.
16142
25412599
DS
161432003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
16144
16145 * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
16146
16147 * ctrl_c.c (__gnat_int_handler): Remove declaration.
16148
16149 * decl.c (creat_concat_name): Const-ify prefix.
16150
16151 * adaint.c: Include ctype.h if __MINGW32__.
16152 (__gnat_readlink): Mark arguments as possibly unused.
16153 (__gnat_symlink): Likewise.
16154 (__gnat_is_symbolic_link): Likewise.
16155 (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
16156 declaration
b6b3c138 16157 (__gnat_file_time_name): Don't declare struct stat statbuf when
25412599
DS
16158 not needed.
16159 (__gnat_is_absolute_path): Add parenthesis around condition of
16160 'if' statement to avoid warning.
16161 (__gnat_plist_init): Specify void as parameter.
16162 (plist_enter): Likewise.
16163 (plist_leave): Likewise.
16164 (remove_handle): Make static. Initialize prev.
16165
698a5e79
AC
161662003-10-22 Arnaud Charlet <charlet@act-europe.fr>
16167
6d244bbe 16168 * Makefile.in: Disable build of gnatpsta. PR ada/10110.
698a5e79
AC
16169 * cstreams.c (__gnat_full_name): Minor improvements and clean up
16170 of previous change.
16171
e97c30aa
RO
161722003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16173
16174 * tracebak.c (MAX): Avoid redefinition warning.
16175
16176 * init.c [sgi] (__gnat_error_handler): Remove i, unused.
16177 Change msg to const char *.
16178 (__gnat_install_handler): Remove ss, unused.
16179 [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
16180 to const char *.
16181 * cstreams.c (__gnat_full_name): Declare p only when used.
16182 (__gnat_full_name) [sgi] Return buffer.
16183
65f1ebd1
AC
161842003-10-22 Arnaud Charlet <charlet@act-europe.fr>
16185
16186 * mingw32.h: New file.
0c644933
AC
16187 * gnat_wrapper.adb: New file.
16188
6d244bbe 161892003-10-22 Jerome Roussel <roussel@act-europe.fr>
0c644933
AC
16190
16191 * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
16192 string match a pre compiled regular expression (the corresponding
16193 version of the function working on a raw regular expression)
16194 Fix typos in various comments
16195 Update copyright notice in spec
16196
6d244bbe 161972003-10-21 Gary Dismukes <dismukes@gnat.com>
0c644933 16198
b6b3c138 16199 * exp_ch3.adb:
0c644933
AC
16200 (Component_Needs_Simple_Initialization): Return False when the type is a
16201 packed bit array. Revise spec comments to document this case.
16202
b6b3c138 16203 * exp_prag.adb:
0c644933
AC
16204 (Expand_Pragma_Import): Set any expression on the imported object to
16205 empty to avoid initializing imported objects (in particular this
16206 covers the case of zero-initialization of bit arrays).
16207 Update copyright notice.
16208
6d244bbe 162092003-10-21 Ed Schonberg <schonberg@gnat.com>
0c644933 16210
b6b3c138 16211 * sem_ch12.adb:
0c644933
AC
16212 (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
16213 a subunit is missing.
16214 (Instantiate_Subprogram_Body): If body of function is missing, set type
16215 of return expression explicitly in dummy body, to prevent cascaded
16216 errors when a subunit is missing.
16217 Fixes PR 5677.
16218
b6b3c138 16219 * sem_ch3.adb:
0c644933
AC
16220 (Access_Subprogram_Declaration): Verify that return type is valid.
16221 Fixes PR 8693.
16222
b6b3c138 16223 * sem_elab.adb:
0c644933
AC
16224 (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
16225 generic.
16226 Fixes PR 12318.
16227
b6b3c138 16228 * sem_util.adb:
0c644933
AC
16229 (Corresponding_Discriminant): If the scope of the discriminant is a
16230 private type without discriminant, use its full view.
16231 Fixes PR 8247.
65f1ebd1 16232
fbf5a39b
AC
162332003-10-21 Arnaud Charlet <charlet@act-europe.fr>
16234
16235 * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
16236 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
16237 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
16238 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
16239 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
16240 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
16241 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
16242 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
16243 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
16244 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
16245 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
16246 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
16247 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
16248 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
16249 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
16250 a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
16251 a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
16252 a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
16253 bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
16254 erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
16255 err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
16256 g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
16257 g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
16258 g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
16259 g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
16260 g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
16261 g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
16262 gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
16263 g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
16264 g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
16265 i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
16266 prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
16267 prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
16268 s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
16269 s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
16270 s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
16271 s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
16272 s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
16273 s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
16274 s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
16275 s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
16276 socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
16277 s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
16278 s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
16279 s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
16280 styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
16281 s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
16282 tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
16283 vms_conv.ads, vms_conv.adb, vms_data.ads,
16284 vxaddr2line.adb: Files added. Merge with ACT tree.
16285
16286 * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
16287 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
16288 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
16289 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
16290 g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
16291 s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
16292 s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
16293 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
16294 s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
16295 s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
16296
16297 * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
16298 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
16299 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
16300 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
16301 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
16302 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
16303 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
16304 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
16305 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
16306 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
16307 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
16308 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
16309 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
16310 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
16311 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
16312 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
16313 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
16314 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
16315 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
16316 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
16317 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
16318 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
16319 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
16320 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
16321 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
16322 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
16323 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
16324 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
16325 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
16326 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
16327 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
16328 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
16329 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
16330 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
16331 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
16332 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
16333 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
16334 a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
16335 a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
16336 a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
16337 a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
16338 a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
16339 ali.adb, ali.ads, ali-util.adb, ali-util.ads,
16340 a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
16341 a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
16342 a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
16343 a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
16344 a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
16345 a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
16346 a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
16347 a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
16348 a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
16349 a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
16350 a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
16351 a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
16352 atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
16353 a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
16354 a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
16355 bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
16356 checks.adb, checks.ads, cio.c, comperr.adb,
16357 comperr.ads, csets.adb, cstand.adb, cstreams.c,
16358 debug_a.adb, debug_a.ads, debug.adb, decl.c,
16359 einfo.adb, einfo.ads, errout.adb, errout.ads,
16360 eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
16361 expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
16362 exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
16363 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
16364 exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
16365 exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
16366 exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
16367 exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
16368 exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
16369 fe.h, fmap.adb, fmap.ads, fname.adb,
16370 fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
16371 freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
16372 g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
16373 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
16374 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
16375 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
16376 g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
16377 g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
16378 g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
16379 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
16380 g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
16381 g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
16382 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
16383 g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
16384 gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
16385 gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
16386 gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
16387 gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
16388 gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
16389 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
16390 g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
16391 g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
16392 g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
16393 g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
16394 g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
16395 g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
16396 g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
16397 i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
16398 i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
16399 inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
16400 itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
16401 layout.adb, lib.adb, lib.ads, lib-list.adb,
16402 lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
16403 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
16404 link.c, live.adb, make.adb, make.ads,
16405 Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
16406 mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
16407 mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
16408 misc.c, mkdir.c, mlib.adb, mlib.ads,
16409 mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
16410 mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
16411 namet.adb, namet.ads, namet.h, nlists.ads,
16412 nlists.h, nmake.adt, opt.adb, opt.ads,
16413 osint.adb, osint.ads, osint-b.adb, osint-c.adb,
16414 par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
16415 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
16416 par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
16417 par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
16418 prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
16419 prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
16420 prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
16421 prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
16422 prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
16423 prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
16424 prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
16425 prj-util.adb, prj-util.ads, raise.c, raise.h,
16426 repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
16427 rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
16428 s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
16429 s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
16430 scans.ads, scn.adb, scn.ads, s-crc32.adb,
16431 s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
16432 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
16433 sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
16434 sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
16435 sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
16436 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
16437 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
16438 sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
16439 sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
16440 sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
16441 sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
16442 sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
16443 s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
16444 s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
16445 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
16446 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
16447 s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
16448 s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
16449 s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
16450 sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
16451 sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
16452 sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
16453 s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
16454 s-memory.adb, s-memory.ads, snames.adb, snames.ads,
16455 snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
16456 s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
16457 s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
16458 s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
16459 s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
16460 s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
16461 s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
16462 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
16463 s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
16464 s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
16465 s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
16466 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
16467 s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
16468 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
16469 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
16470 s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
16471 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
16472 stringt.adb, stringt.ads, stringt.h, style.ads,
16473 stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
16474 s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
16475 s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
16476 switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
16477 s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
16478 table.adb, table.ads, targparm.adb, targparm.ads,
16479 targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
16480 trans.c, tree_io.adb, treepr.adb, treeprs.adt,
16481 ttypes.ads, types.ads, types.h, uintp.adb,
16482 uintp.ads, uintp.h, uname.adb, urealp.adb,
16483 urealp.ads, urealp.h, usage.adb, utils2.c,
16484 utils.c, validsw.adb, validsw.ads, widechar.adb,
16485 xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
16486 xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
16487 einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
16488 gnatvsn.ads: Merge with ACT tree.
16489
16490 * gnatvsn.adb: Rewritten in a simpler and more efficient way.
16491
97ae108d
MM
164922003-10-20 Mark Mitchell <mark@codesourcery.com>
16493
de696511
MM
16494 * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
16495 (gnat_ug_vmx.info): Likewise.
16496 (gnat_ug_vxw.info): Likewise.
16497 (gnat_ug_wnt.info): Likewise.
16498 (gnat_rm.info): Likewise.
16499 (gnat-style.info): Likewise.
16500
97ae108d
MM
16501 * Make-lang.in (ada.install-info): Remove target.
16502 (info): New target.
16503 (install-info): Likewise.
16504 (gnat_ug_unx.info): Simplify rule.
16505 (gnat_ug_vmx.info): Likewise.
16506 (gnat_ug_vxw.info): Likewise.
16507 (gnat_ug_wnt.info): Likewise.
16508 (gnat_rm.info): Likewise.
16509 (gnat-style.info): Likewise.
16510
43aba518
NN
165112003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
16512
16513 * Make-lang.in: Replace uses of $(target_alias) with
16514 $(target_noncanonical).
16515 * ada/Makefile.in: Remove unused mention of $(target_alias).
16516
62b81e45
MM
165172003-10-06 Mark Mitchell <mark@codesourcery.com>
16518
16519 * Make-lang.in (ada.info): Replace with ...
16520 (info): ... this.
16521 (ada.dvi): Replace with ...
16522 (dvi): ... this.
16523
783be936
ZW
165242003-09-29 Zack Weinberg <zack@codesourcery.com>
16525
16526 * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
16527 initialize dconstp5 and dconstmp5.
16528
177560b2
RH
165292003-09-28 Richard Henderson <rth@redhat.com>
16530
16531 * trans.c (tree_transform): Update call to expand_asm_operands.
16532
f31686a3
RH
165332003-09-21 Richard Henderson <rth@redhat.com>
16534
16535 * trans.c, utils.c: Revert.
16536
7e2af53a
RH
165372003-09-21 Richard Henderson <rth@redhat.com>
16538
16539 * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
16540 change to const.
16541
5f1e32fa
MM
165422003-09-04 Michael Matz <matz@suse.de>
16543
16544 * misc.c: Include "target.h".
16545 * Make-lang.in (misc.o): Add dependency on target.h.
16546
61f71b34
DD
165472003-09-03 DJ Delorie <dj@redhat.com>
16548
16549 * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
16550 hook.
16551
2ed26f6b
ZW
165522003-08-30 Zack Weinberg <zack@codesourcery.com>
16553
16554 * Makefile.in: Update substitutions to match changes to
16555 configure. Use include directives instead of @-insertions
16556 to read in host and target fragments. Add a rule to
16557 regenerate ada/Makefile.
16558
b2e608ca
NB
165592003-07-18 Neil Booth <neil@daikokuya.co.uk>
16560
16561 * lang-options.h: Remove.
16562 * lang.opt: Add help text.
16563
0cea056b
NS
165642003-07-07 Nathan Sidwell <nathan@codesourcery.com>
16565
16566 * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
16567 calls.
16568
cb66e385
NB
165692003-07-06 Neil Booth <neil@daikokuya.co.uk>
16570
16571 * misc.c (gnat_handle_option): Don't handle filenames.
16572
8c90b13a
L
165732003-07-04 H.J. Lu <hongjiu.lu@intel.com>
16574
16575 * Make-lang.in: Replace PWD with PWD_COMMAND.
16576 * Makefile.adalib: Likewise.
16577 * Makefile.in: Likewise.
16578
9c286213
MK
165792003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
16580
16581 * misc.c (gnat_argv): Revert last change.
16582 (gnat_handle_option, gnat_init_options): Copy arguments.
16583
b9add449
NB
165842003-07-03 Neil Booth <neil@daikokuya.co.uk>
16585
9c286213 16586 * misc.c (gnat_argv): Make const.
b9add449 16587
836d77a9
NB
165882003-07-02 Neil Booth <neil@daikokuya.co.uk>
16589
16590 * misc.c (save_argc, save_argv): Keep non-static!
16591
b86f6cd9
NB
165922003-07-02 Neil Booth <neil@daikokuya.co.uk>
16593
16594 * misc.c (save_argc, save_argv): Make static.
16595 (gnat_init_options): New prototype.
16596 (gnat_init_options): Update.
16597
6344b1f1
MK
165982003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
16599
16600 * gnat_ug.texi: Remove unlikely characters from @vars.
16601 * gnat_ug_vms.texi: Regenerate.
16602
2e040219
NS
166032003-06-27 Nathan Sidwell <nathan@codesourcery.com>
16604
16605 * misc.c (record_code_position): Adjust emit_note call.
16606
9eee5e72
NB
166072003-06-26 Neil Booth <neil@daikokuya.co.uk>
16608
16609 * misc.c (gnat_handle_option): Don't check for missing arguments.
16610
1f9cc6db
NS
166112003-06-20 Nathan Sidwell <nathan@codesourcery.com>
16612
16613 * utils.c (end_subprog_body): Adjust expand_function_end call.
16614
23d6baa3
MK
166152003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
16616
16617 * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
16618 Bind_Main_Program.
16619
be43ab4e
NB
166202003-06-15 Neil Booth <neil@daikokuya.co.uk>
16621
16622 * lang.opt: Declare Ada.
16623 * misc.c (gnat_init_options): Update.
16624
ee6b0296
NS
166252003-06-14 Nathan Sidwell <nathan@codesourcery.com>
16626
16627 * utils.c (begin_subprog_body): Adjust init_function_start call.
16628
d7b42618
NB
166292003-06-14 Neil Booth <neil@daikokuya.co.uk>
16630
16631 * Make-lang.in: Update to use options.c and options.h.
16632 * misc.c: Include options.h not aoptions.h.
16633 (gnat_handle_option): Abort on unrecognized switch.
16634 (gnat_init_options): Request Ada switches.
16635
57eb6503
NB
166362003-06-14 Neil Booth <neil@daikokuya.co.uk>
16637
16638 * lang.opt: Add -Wall.
16639 * misc.c (gnat_handle_option): Handle it.
16640
70fd6569
NB
166412003-06-12 Neil Booth <neil@daikokuya.co.uk>
16642
16643 * misc.c (gnat_handle_option): Fix warnings.
16644
8cdea5a1
MK
166452003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
16646
16647 * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
16648
3c900cb5
NB
166492003-06-11 Neil Booth <neil@daikokuya.co.uk>
16650
16651 * Make-lang.in: Update to handle command-line options.
16652 * lang.opt: New file.
16653 * misc.c: Include aoptions.h.
16654 (cl_options_count, cl_options): Remove.
16655 (gnat_handle_option): New.
16656 (gnat_decode_option): Remove.
16657 (LANG_HOOKS_DECODE_OPTION): Remove.
16658 (LANG_HOOKS_HANDLE_OPTION): Override.
16659
e8face4c
NN
166602003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
16661
16662 * init.c, misc.c, trans.c, utils.c: Remove dead code.
16663
4665e56c
NN
166642003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
16665
16666 * Makefile.in: Replace "host_canonical" with "host" for autoconf
16667 substitution.
16668
a165c302
NB
166692003-06-08 Neil Booth <neil@daikokuya.co.uk>
16670
16671 * Make-lang.in: Update.
16672 * misc.c: Include opts.h. Define cl_options_count and cl_options.
16673
2772ef3e
NB
166742003-06-07 Neil Booth <neil@daikokuya.co.uk>
16675
16676 * misc.c (gnat_init_options): Update.
16677
d8277a55
MK
166782003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
16679
16680 * Make-lang.in (ada/b_gnatb.o-warn): Remove.
16681 * bindgen.adb (Gen_Main_C): Mark ensure_reference with
16682 __attribute__ ((__unused__)).
16683
602a82f3 166842003-06-05 Jan Hubicka <jh@suse.cz>
8f231b5d
JH
16685
16686 * Make-lang.in: Add support for stageprofile and stagefeedback
16687
3aa07c6d
MK
166882003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
16689
16690 * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
16691 (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
16692
f1093866
MK
166932003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
16694
16695 * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
16696 Remove non-VMS directive.
16697 (Switches for gnatlbr, Optimization Levels): Remove non-VMS
16698 alternatives.
16699 (Examples of gnatls Usage): Remove VMS alternative.
dee2df72
OH
16700
167012003-06-04 Olivier Hainque <hainque@act-europe.fr>
16702
2ed26f6b
ZW
16703 PR ada/9953:
16704 * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
16705 and turn ZCX_By_Default back to False since the underlying support
16706 is not quite there yet.
dee2df72 16707
80eaf415
AJ
167082003-06-01 Andreas Jaeger <aj@suse.de>
16709
16710 * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
16711 and ROUND_TYPE_SIZE_UNIT.
16712
36f9020c
GB
167132003-05-22 Geert Bosch <bosch@gnat.com>
16714
16715 * gnat_rm.texi : Remove reference to Ada Core Technologies.
16716
e7b5f0c9
NS
167172003-05-03 Nathan Sidwell <nathan@codesourcery.com>
16718
16719 * trans.c (tree_transform): Use location_t and input_location
16720 directly.
16721 (build_unit_elab): Likewise.
16722 * utils.c (create_label_decl): Likewise.
16723
d479d37f
NS
167242003-05-01 Nathan Sidwell <nathan@codesourcery.com>
16725
561712fe
NS
16726 * trans.c (tree_transform, build_unit_elab,
16727 set_lineno): Rename lineno to input_line.
d479d37f
NS
16728 * utils.c (pushdecl, create_label_decl, begin_subprog_body,
16729 end_subprog_body): Likewise.
16730 * utils2.c (build_call_raise): Likewise.
16731
4f9335cd
LG
167322003-05-01 Laurent Guerby <guerby@acm.org>
16733
2ed26f6b
ZW
16734 PR ada/10546
16735 * 5iosinte.ads: Increase pthread_cond_t size to match recent
16736 LinuxThread and NPTL version, merge from ACT.
80eaf415 16737
0864034e
ZW
167382003-04-28 Zack Weinberg <zack@codesourcery.com>
16739
16740 * utils.c (convert): No need to clear TREE_CST_RTL.
16741
bcea76b6
GB
167422003-04-23 Geert Bosch <bosch@gnat.com>
16743
16744 * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
16745 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
16746 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
16747 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
16748 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
16749 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
16750 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
16751 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
16752 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
16753 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
16754 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
16755 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
16756 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
16757 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
16758 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
16759 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
16760 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
16761 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
16762 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
16763 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
16764 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
16765 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
16766 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
16767 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
16768 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
16769 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
16770 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
16771 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
16772 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
16773 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
16774 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
16775 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
16776 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
16777 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
16778 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
16779 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
16780 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
16781 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
16782 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
16783 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
16784 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
16785 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
16786 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
16787 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
16788 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
16789 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
16790 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
16791 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
16792 a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
16793 a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
16794 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
16795 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
16796 a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
16797 a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
16798 a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
16799 a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
16800 a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
16801 a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
16802 a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
16803 a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
16804 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
16805 a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
16806 a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
16807 a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
16808 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
16809 a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
16810 a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
16811 a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
16812 a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
16813 a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
16814 a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
16815 a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
16816 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
16817 a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
16818 a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
16819 a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
16820 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
16821 a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
16822 a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
16823 a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
16824 a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
16825 a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
16826 a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
16827 a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
16828 a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
16829 a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
16830 a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
16831 a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
16832 a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
16833 a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
16834 a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
16835 a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
16836 a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
16837 a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
16838 a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
16839 a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
16840 a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
16841 a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
16842 a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
16843 a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
16844 a-wttest.ads, ada-tree.h, ada.ads, ada.h,
16845 adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
16846 ali.adb, ali.ads, alloc.ads, argv.c,
16847 atree.adb, atree.ads, atree.h, aux-io.c,
16848 back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
16849 binde.adb, binde.ads, binderr.adb, binderr.ads,
16850 bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
16851 butil.adb, butil.ads, cal.c, calendar.ads,
16852 casing.adb, casing.ads, ceinfo.adb, checks.adb,
16853 checks.ads, cio.c, comperr.adb, comperr.ads,
16854 config-lang.in, csets.adb, csets.ads, csinfo.adb,
16855 cstand.adb, cstand.ads, cuintp.c, debug.adb,
16856 debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
16857 dec-io.ads, dec.ads, deftarg.c, directio.ads,
16858 einfo.adb, einfo.ads, elists.adb, elists.ads,
16859 elists.h, errno.c, errout.adb, errout.ads,
16860 eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
16861 exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
16862 exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
16863 exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
16864 exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
16865 exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
16866 exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
16867 exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
16868 exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
16869 exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
16870 exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
16871 exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
16872 exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
16873 exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
16874 exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
16875 fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
16876 fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
16877 freeze.adb, freeze.ads, frontend.adb, frontend.ads,
16878 g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
16879 g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
16880 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
16881 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
16882 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
16883 g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
16884 g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
16885 g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
16886 g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
16887 g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
16888 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
16889 g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
16890 g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
16891 g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
16892 g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
16893 g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
16894 g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
16895 g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
16896 g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
16897 g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
16898 g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
16899 g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
16900 get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
16901 gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
16902 gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
16903 gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
16904 gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
16905 gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
16906 gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
16907 gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
16908 hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
16909 i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
16910 i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
16911 i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
16912 i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
16913 i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
16914 i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
16915 inline.adb, inline.ads, interfac.ads, ioexcept.ads,
16916 itypes.adb, itypes.ads, krunch.adb, krunch.ads,
16917 layout.adb, layout.ads, lib-list.adb, lib-load.adb,
16918 lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
16919 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
16920 lib.adb, lib.ads, live.adb, live.ads,
16921 machcode.ads, make.adb, make.ads, makeusg.adb,
16922 makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
16923 mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
16924 memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
16925 mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
16926 mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
16927 mlib.ads, namet.adb, namet.ads, nlists.adb,
16928 nlists.ads, opt.adb, opt.ads, osint-b.adb,
16929 osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
16930 osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
16931 osint.ads, output.adb, output.ads, par-ch10.adb,
16932 par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
16933 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
16934 par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
16935 par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
16936 par-tchk.adb, par-util.adb, par.adb, par.ads,
16937 prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
16938 prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
16939 prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
16940 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
16941 prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
16942 prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
16943 prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
16944 prj.adb, prj.ads, repinfo.adb, repinfo.ads,
16945 restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
16946 rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
16947 s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
16948 s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
16949 s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
16950 s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
16951 s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
16952 s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
16953 s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
16954 s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
16955 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
16956 s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
16957 s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
16958 s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
16959 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
16960 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
16961 s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
16962 s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
16963 s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
16964 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
16965 s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
16966 s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
16967 s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
16968 s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
16969 s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
16970 s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
16971 s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
16972 s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
16973 s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
16974 s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
16975 s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
16976 s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
16977 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
16978 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
16979 s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
16980 s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
16981 s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
16982 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
16983 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
16984 s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
16985 s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
16986 s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
16987 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
16988 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
16989 s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
16990 s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
16991 s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
16992 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
16993 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
16994 s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
16995 s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
16996 s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
16997 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
16998 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
16999 s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
17000 s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
17001 s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
17002 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
17003 s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
17004 s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
17005 s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
17006 s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
17007 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
17008 s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
17009 s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
17010 s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
17011 s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
17012 s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
17013 s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
17014 s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
17015 s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
17016 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
17017 s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
17018 s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
17019 s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
17020 s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
17021 s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
17022 s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
17023 s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
17024 s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
17025 s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
17026 s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
17027 s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
17028 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
17029 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
17030 s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
17031 s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
17032 s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
17033 s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
17034 s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
17035 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
17036 s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
17037 s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
17038 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
17039 s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
17040 scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
17041 sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
17042 sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
17043 sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
17044 sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
17045 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
17046 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
17047 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
17048 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
17049 sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
17050 sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
17051 sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
17052 sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
17053 sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
17054 sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
17055 sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
17056 sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
17057 sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
17058 sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
17059 sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
17060 sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
17061 snames.ads, sprint.adb, sprint.ads, stand.adb,
17062 stand.ads, stringt.adb, stringt.ads, style.adb,
17063 style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
17064 switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
17065 switch-m.ads, switch.adb, switch.ads, system.ads,
17066 table.adb, table.ads, targparm.adb, targparm.ads,
17067 tbuild.adb, tbuild.ads, text_io.ads, trans.c,
17068 tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
17069 tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
17070 ttypef.ads, ttypes.ads, types.adb, types.ads,
17071 uintp.adb, uintp.ads, uname.adb, uname.ads,
17072 unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
17073 usage.adb, usage.ads, validsw.adb, validsw.ads,
17074 widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
17075 xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
17076 xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
17077 formatting and other trivial changes from ACT.
17078
dcf92453
ZW
170792003-04-12 Zack Weinberg <zack@codesourcery.com>
17080
17081 * gigi.h, utils2.c (build_constructor):
17082 Rename gnat_build_constructor. Use build_constructor.
17083 * decl.c (gnat_to_gnu_entity)
17084 * trans.c (tree_transform, pos_to_constructor, extract_values)
17085 * ada/utils.c (build_template, convert_to_fat_pointer, convert)
17086 (unchecked_convert)
17087 * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
17088 (fill_vms_descriptor):
17089 Update to match.
17090
d78e771d
ZW
170912003-04-06 Zack Weinberg <zack@codesourcery.com>
17092
17093 * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
17094 * misc.c (gnat_tree_size): New function.
17095 (LANG_HOOKS_TREE_SIZE): Override.
17096
78d55cc8
JM
170972003-04-03 Jason Merrill <jason@redhat.com>
17098
17099 * misc.c (gnat_adjust_rli): #if 0.
17100
b174e2d4
GB
171012003-03-31 Geert Bosch <bosch@gnat.com>
17102
17103 PR ada/10020
17104 * link.c : Fix misspelled "const" keyword
17105
f29a2bd1
MM
171062003-03-23 Mark Mitchell <mark@codesourcery.com>
17107
17108 PR c++/7086
17109 * utils2.c: Adjust calls to put_var_into_stack.
17110
08e247b1
NN
171112003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
17112
17113 * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
17114
4bfec483
NB
171152003-03-08 Neil Booth <neil@daikokuya.co.uk>
17116
17117 * misc.c (gnat_init): Update for new prototype.
17118
3d713bb8
GB
171192003-03-05 Olivier Hainque <hainque@gnat.com>
17120
17121 ada/9961
78d55cc8
JM
17122 * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
17123 warning, and fix return type for the IN_RTS && !SJLJ case.
3d713bb8 17124
8b89fcdf
TT
171252003-03-04 Tom Tromey <tromey@redhat.com>
17126
17127 * Make-lang.in (ada.tags): New target.
17128
3d713bb8 171292003-03-04 Olivier Hainque <hainque@act-europe.fr>
23cae84f
OH
17130
17131 ada/9911
17132 * a-except.adb (Unwind_RaiseException): Import a GNAT specific
17133 wrapper, which name remains constant whatever underlying GCC
17134 scheme.
17135
17136 * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
17137 the stable interface needed for a-except.
17138
f4ae98be
AJ
171392003-03-02 Andreas Jaeger <aj@suse.de>
17140
17141 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
17142 gnat_ug_wnt.texi: Regenerate.
17143
5348742b
LG
171442003-03-02 Laurent Guerby <guerby@acm.org>
17145
f4ae98be 17146 * Makefile.in (install-gnatlib): Match previous change there
5348742b 17147 so it works.
f4ae98be 17148
8c108db2
AS
171492003-02-28 Andreas Schwab <schwab@suse.de>
17150
17151 * Make-lang.in (install-gnatlib): Change to ada directory before
17152 running make instead of using ada/Makefile directly.
17153
601d71bc
BE
171542003-02-18 Ben Elliston <bje@redhat.com>
17155
17156 Part of fix for PR ada/9406
17157 * gnat_ug.texi (Binder output file): Grammar fix.
17158
bf7c02dd
BE
171592003-02-18 Ben Elliston <bje@redhat.com>
17160
17161 PR other/7350
17162 * 5qtaprop.adb (Sleep): Fix typo in comment.
17163
b3a8389d
JM
171642003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
17165
17166 * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
17167 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
17168 gnat_ug_wnt.texi: Regenerate.
17169
5da14cb5
CC
171702003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
17171
17172 * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
17173 be created if necessary.
17174 (ada.install-common): Let $(DESTDIR)$(bindir) be created
17175 if necessary. Remove erroneous and redundant gnatchop
17176 installation commands. Test for gnatdll before attempting
17177 to install it.
17178 (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
17179 and gnatdll from all plausible locations.
17180
271bd540
RS
171812003-02-01 Richard Sandiford <rsandifo@redhat.com>
17182
17183 * utils2.c (build_unary_op): Don't check flag_volatile.
17184 * gnat_ug.texi: Remove -fvolatile from example.
17185 * gnat_ug_vxw.texi: Likewise.
17186
c1cc6a51
LG
171872003-01-29 Laurent Guerby <guerby@acm.org>
17188
d78e771d
ZW
17189 PR ada/8344
17190 * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
17191 * Makefile.in: match previous change.
17192 * Make-lang.in: match previous change.
c1cc6a51 17193
c4039eb0
JS
171942003-01-29 Joel Sherrill <joel@OARcorp.com>
17195
17196 * 5rosinte.ads: Add SIGXCPU.
17197 * 5rtpopsp.adb: New file.
17198 * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
17199 * Makefile.in: Recognize more RTEMS targets and add the RTEMS
17200 specific file 5rtpopsp.adb.
17201 * adaint.h: Add include of <stdio.h> when target is RTEMS. This
17202 is likely needed for all newlib targets.
17203 * init.c: Add RTEMS specific version of __gnat_initialize().
17204
00d29f7d
RO
172052003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17206
17207 * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
17208
437026ef
RO
172092003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17210
17211 * init.c (__gnat_error_handler): Make msg const.
17212
17213 * gmem.c (convert_addresses): Move declaration ...
17214 * adaint.h: ... here.
17215 * adaint.c (convert_addresses): Adapt addrs type to match
17216 prototype.
17217
17218 * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
17219
e12825cd
AS
172202003-01-24 Andreas Schwab <schwab@suse.de>
17221
17222 * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
17223 size_t to avoid warning.
17224
a8729406
ZW
172252003-01-21 Zack Weinberg <zack@codesourcery.com>
17226
b09b91b9 17227 * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
a8729406 17228
17211ab5
GK
172292003-01-09 Geoffrey Keating <geoffk@apple.com>
17230
17231 * gnat_rm.texi: Remove RCS version number.
17232
17233 * ada-tree.h (union lang_tree_node): Add chain_next option.
17234
1d27195c
CC
172352003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
17236
17237 * Make-lang.in (ada.install-info, ada.install-common,
17238 ada.uninstall): Prepend $(DESTDIR) to the destination
17239 directory in all (un)installation commands.
17240 * Makefile.in (install-gnatlib, install-rts): Ditto.
17241
bdefb2ab
JM
172422002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
17243
17244 * gnat_rm.texi, gnat_ug.texi: Use @copying.
17245 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
17246 gnat_ug_wnt.texi: Regenerate.
17247
46d40353
JM
172482002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
17249
17250 * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
17251 only.
17252 * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
17253 $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
17254 $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
17255 ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
17256 ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
17257 $(srcdir)/doc/include/gcc-common.texi.
17258
d2f97d3e
GB
172592002-12-15 Geert Bosch <bosch@gnat.com>
17260
17261 * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
17262
93a81b02
GB
172632002-12-14 Geert Bosch <bosch@gnat.com>
17264
4977bab6
ZW
17265 * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
17266 case of a body created for a Renaming_As_Body, on which
17267 conformance checks are not performed. Fixes PR ada/5690.
17268
172692002-11-30 Zack Weinberg <zack@codesourcery.com>
17270
17271 * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
17272 utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
17273 not already included.
17274 * Make-lang.in: Update dependencies.
93a81b02 17275
dfc15546
NN
172762002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
17277 * adaint.c (__gnat_tmp_name): Better, but good enough for now,
4977bab6 17278 solution to buffer overflow bug on GNU/Linux.
dfc15546 17279
8b54424d
NN
172802002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
17281 Closes PR ada/5856 and PR ada/6919 !
17282 * bindgen.adb: Remove all references to Public_Version.
17283 * comperr.adb: Remove all references to Public_Version and
17284 GNATPRO_Version; correct bug reporting instructions.
17285 * comperr.ads: Change to match bug box.
17286 * gnatvsn.ads: Remove all references to Public version and
17287 GNATPRO version.
17288
cc41268d 172892002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
1a083c0e
NN
17290 PR ada/6919
17291 * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
17292 GNU/Linux.
17293
cc41268d
NN
17294 PR ada/6558
17295 * config-lang.in: Remove diff_excludes.
17296
1c7b0712
GS
172972002-11-05 Graham Stott <graham.stott@btinternet.com>
17298 PR ada/8358
17299 * trans.c (gnu_pending_elaboration_lists): New GC root.
4977bab6 17300 (build_unit_elab): Use..
1c7b0712 17301
1c4048ca
GB
173022002-10-30 Geert Bosch <bosch@gnat.com>
17303 PR ada/6558
17304 * misc.c : Include optabs.h
17305
17306 * Make-lang.in (misc.o): Add dependency on optabs.h
17307
f0d96f9c 173082002-10-29 Geert Bosch <bosch@gnat.com>
4977bab6 17309 PR ada/6558
f0d96f9c
GB
17310 * Make-lang.in (gnatbind): Depend on CONFIG_H
17311
a7512dec 173122002-10-29 Geert bosch <bosch@gnat.com>
4977bab6
ZW
17313 PR ada/6558
17314 * misc.c: Unrevert misc.c (1.13)
a7512dec 17315
c6362f4f
NN
173162002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
17317
17318 * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
17319 maintainership comments.
17320
173212002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
91ed4b19 17322 PR ada/5904
4977bab6
ZW
17323 * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
17324 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
17325 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
17326 7staprop.adb: Correct statements in comments about
91ed4b19
NN
17327 maintainership of GNAT.
17328
1f02b6af 17329 PR ada/5904
4977bab6
ZW
17330 * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
17331 gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
17332 osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
17333 osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
17334 s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
17335 s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
17336 sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
1f02b6af
NN
17337 switch-c.ads switch-m.adb switch-m.ads: Correct statements in
17338 comments about maintainership of GNAT.
17339
71ff80dc 17340 PR ada/6919 (forward port of patch for PR ada/5904)
4977bab6
ZW
17341 * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
17342 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
17343 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
17344 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
17345 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
17346 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
17347 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
17348 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
17349 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
17350 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
17351 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
17352 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
17353 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
17354 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
17355 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
17356 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
17357 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
17358 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
17359 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
17360 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
17361 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
17362 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
17363 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
17364 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
17365 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
17366 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
17367 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
17368 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
17369 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
17370 a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
17371 a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
17372 a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
17373 a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
17374 a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
17375 a-except.adb a-except.ads a-excpol.adb a-exctra.adb
17376 a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
17377 a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
17378 a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
17379 a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
17380 a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
17381 a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
17382 a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
17383 a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
17384 a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
17385 a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
17386 a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
17387 a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
17388 a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
17389 a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
17390 a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
17391 a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
17392 a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
17393 a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
17394 a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
17395 a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
17396 a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
17397 a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
17398 a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
17399 a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
17400 a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
17401 a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
17402 a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
17403 a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
17404 a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
17405 a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
17406 a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
17407 a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
17408 a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
17409 adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
17410 alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
17411 back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
17412 binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
17413 bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
17414 ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
17415 csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
17416 cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
17417 debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
17418 einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
17419 errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
17420 exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
17421 exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
17422 exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
17423 exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
17424 exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
17425 exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
17426 exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
17427 exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
17428 exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
17429 exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
17430 exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
17431 exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
17432 exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
17433 final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
17434 fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
17435 freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
17436 g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
17437 g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
17438 gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
17439 gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
17440 gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
17441 gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
17442 gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
17443 gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
17444 i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
17445 i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
17446 i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
17447 i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
17448 impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
17449 itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
17450 lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
17451 lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
17452 lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
17453 lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
17454 makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
17455 namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
17456 nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
17457 osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
17458 par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
17459 par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
17460 par-endh.adb par-labl.adb par-load.adb par-prag.adb
17461 par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
17462 prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
17463 prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
17464 prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
17465 prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
17466 prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
17467 prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
17468 repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
17469 rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
17470 s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
17471 s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
17472 s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
17473 s-direio.adb s-direio.ads s-except.ads s-exctab.adb
17474 s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
17475 s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
17476 s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
17477 s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
17478 s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
17479 s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
17480 s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
17481 s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
17482 s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
17483 s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
17484 s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
17485 s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
17486 s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
17487 s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
17488 s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
17489 s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
17490 s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
17491 s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
17492 s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
17493 s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
17494 s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
17495 s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
17496 s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
17497 s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
17498 s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
17499 s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
17500 s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
17501 s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
17502 s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
17503 s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
17504 s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
17505 s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
17506 s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
17507 s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
17508 s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
17509 s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
17510 s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
17511 s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
17512 s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
17513 s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
17514 s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
17515 s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
17516 s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
17517 s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
17518 s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
17519 s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
17520 s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
17521 s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
17522 s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
17523 s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
17524 s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
17525 s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
17526 s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
17527 s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
17528 s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
17529 s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
17530 s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
17531 s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
17532 s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
17533 s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
17534 s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
17535 s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
17536 s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
17537 s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
17538 s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
17539 s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
17540 s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
17541 s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
17542 s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
17543 s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
17544 s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
17545 s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
17546 s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
17547 s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
17548 s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
17549 s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
17550 s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
17551 s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
17552 scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
17553 sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
17554 sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
17555 sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
17556 sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
17557 sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
17558 sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
17559 sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
17560 sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
17561 sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
17562 sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
17563 sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
17564 sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
17565 sem_type.adb sem_type.ads sem_util.adb sem_util.ads
17566 sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
17567 sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
17568 sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
17569 sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
17570 snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
17571 stringt.ads stringt.h style.adb style.ads stylesw.adb
17572 stylesw.ads switch.adb switch.ads sysdep.c system.ads
17573 table.adb table.ads targparm.adb targparm.ads targtyps.c
17574 tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
17575 tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
17576 treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
17577 types.adb types.ads types.h uintp.adb uintp.ads uintp.h
17578 uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
17579 usage.ads utils.c utils2.c validsw.adb validsw.ads
17580 widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
17581 xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
71ff80dc
NN
17582 xtreeprs.adb: Correct statements in comments about maintainership
17583 of GNAT.
17584
b4f94ac1
ZW
175852002-09-23 Zack Weinberg <zack@codesourcery.com>
17586
17587 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
17588 * Makefile.in (TOOLS_LIBS): Add ../../version.o.
17589 * gnatvsn.ads: Gnat_Version_String is now a function.
17590 * gnatvsn.adb: New file. When asked for Gnat_Version_String,
17591 copy the C version_string into a String and return it.
17592 * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
17593 gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
17594 Remove pragma Ident (Gnat_Version_String). If this was the
17595 sole use of package Gnatvsn, remove the with statement too.
17596 * gnat1drv.adb: Tweak -gnatv output.
17597
eaff3bf8
RH
175982002-09-17 Richard Henderson <rth@redhat.com>
17599
17600 * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
17601 * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
17602 * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
17603 (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
17604 * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
17605 and real_2expN instead of a loop.
17606 * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
17607 (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
17608
d241f75b 176092002-08-25 Andre Leis <a.leis@gmx.net>
f4ae98be 17610 David Billinghurst (David.Billinghurst@riotinto.com>
d241f75b 17611
f4ae98be 17612 * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
d241f75b 17613
4320085a
RO
176142002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17615
17616 * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
17617 Remove $(CONFIG_H) dependency.
17618
22aa533e
NS
176192002-08-08 Nathan Sidwell <nathan@codesourcery.com>
17620
17621 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
17622
1dcd444b
KG
176232002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17624
17625 * adadecode.c (ada_demangle): Use xstrdup in lieu of
17626 xmalloc/strcpy.
17627 * misc.c (gnat_decode_option): Likewise.
17628
7bc7d27b
FW
176292002-07-15 Florian Weimer <fw@deneb.enyo.de>
17630
17631 * make.adb (Add_Switch): Make Generic_Position a procedure. The
17632 function approach did not work well because of a side effect (the
17633 function call could reallocate the table which was being indexed
17634 using its result). Fixes ada/4851. [RESURRECTED]
17635
6a2dd09a
RS
176362002-07-01 Roger Sayle <roger@eyesopen.com>
17637
17638 * ada/utils.c (builtin_function): Accept an additional parameter.
17639
c168bbd7
AJ
176402002-06-28 Andreas Jaeger <aj@suse.de>
17641
17642 PR ada/7144
17643 * Makefile.in: Fix typo in comment, patch by Adrian Knoth
17644 <adi@thur.de>.
17645
b41e09a7
KG
176462002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17647
17648 * Makefile.in (SHELL): Set to @SHELL@.
17649
62c71f4b
KG
176502002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17651
17652 * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
17653 array size calculation.
17654
94213cff
AJ
176552002-06-04 Andreas Jaeger <aj@suse.de>
17656
17657 * Make-lang.in (gnatbind): Readd rule that has been lost in last
17658 patch.
17659
e2500fed
GK
176602002-06-03 Geoffrey Keating <geoffk@redhat.com>
17661
17662 Merge from pch-branch:
17663
17664 * config-lang.in (gtfiles): Add ada-tree.h.
17665 * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
17666 (SET_TYPE_MODULUS): New.
17667 (SET_TYPE_INDEX): New.
17668 (SET_TYPE_DIGITS_VALUE): New.
17669 (SET_TYPE_RM_SIZE): New.
17670 (SET_TYPE_UNCONSTRAINED_ARRAY): New.
17671 (SET_TYPE_ADA_SIZE): New.
17672 (SET_TYPE_ACTUAL_BOUNDS): New.
17673 (SET_DECL_CONST_CORRESPONDING_VAR): New.
17674 (SET_DECL_ORIGINAL_FIELD): New.
17675 (TREE_LOOP_ID): Correct typo.
17676 * decl.c: Use new macros.
17677 * utils.c: Include debug.h, use new macros.
94213cff 17678 * utils2.c: Use new macros.
e2500fed
GK
17679
17680 * ada-tree.h: Update all macros for new tree description.
17681 (struct tree_loop_id): New.
17682 (union lang_tree_node): New.
17683 (struct lang_decl): New.
17684 (struct lang_type): New.
17685 * misc.c (gnat_mark_tree): Delete.
17686 (LANG_HOOKS_MARK_TREE): Delete.
17687 * trans.c (tree_transform): No longer any need to cast
17688 for TREE_LOOP_ID.
17689
17690 * utils.c (struct language_function): New dummy structure.
17691
17692 * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
17693 (misc.o): Likewise.
17694 (utils.o): Likewise; also gtype-ada.h.
17695 * Make-lang.in (gnat1): Add dependency on s-gtype.
17696 (gnatbind): Add dependency on $(CONFIG_H).
17697 * utils.c: Correct last #include.
17698 (stuct e_stack): Remove unnecessary 'static'.
17699 (mark_e_stack): Remove unused prototype.
17700
17701 * scn-nlit.adb: Remove whitespace after version number to
17702 keep lines under 80 chars.
17703 * snames.adb: Likewise.
17704 * treepr.ads: Likewise.
94213cff 17705
e2500fed
GK
17706 * Makefile.in (decl.o): Include gt-ada-<filename>.h.
17707 (misc.o): Likewise.
17708 (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
17709 * config-lang.in (gtfiles): New.
17710 * decl.c: Use gengtype for roots.
17711 * gigi.h: Use gengtype for roots.
17712 * trans.c: Use gengtype for roots.
17713 * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
17714
27e511e0
GDR
177152002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
17716
17717 * misc.c (gnat_init): Adjust setting of internal_error_function.
17718
113dc143
JM
177192002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
17720
17721 * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
17722 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
17723 gnat_ug_wnt.texi: Regenerate.
17724
5321fb3e
FW
177252002-05-31 Florian Weimer <fw@deneb.enyo.de>
17726
15e6136e
FW
17727 * 5ntaprop.adb (with System.OS_Primitives): Remove.
17728
019310ac
FW
17729 * cstreams.c (max_path_len): Move from here ...
17730 * adaint.c (__gnat_max_path_len): ... to here.
17731 * adaint.c (__gnat_max_path_len): Declare.
17732 * g-dirope.adb (Max_Path): Adjust.
17733 * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
94213cff 17734 * i-cstrea.ads (max_path_len): Adjust.
019310ac
FW
17735 * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
17736 * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
17737
5321fb3e
FW
17738 * Makefile.in, Make-lang.in: Documentation is now built in
17739 Make-lang.in. Store Info and generated Texinfo files in the
17740 source directory.
17741 * gnat_ug.texi: Remove CVS keywords, correct version number.
17742 Set file name correctly.
17743
17744 * gnat_ug_*.texi: Add.
17745 * .cvsignore: Ignore generated Texinfo files.
17746
b1c12c4b
ZW
177472002-05-30 Zack Weinberg <zack@codesourcery.com>
17748
17749 * ada.h: Add MI guard macro.
17750 (SUBTYPE): Define constants with an anonymous enum, not static
17751 const variables.
17752 (IN): Cast constants to appropriate type before use.
17753
ead33da9
JM
177542002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
17755
17756 * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
17757 (experimental)".
17758
7d600178
RO
177592002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17760
17761 * Make-lang.in (CP, ECHO): Copy from Makefile.in.
17762 (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
17763 (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
17764 (ALL_ADA_CFLAGS): Likewise.
17765 (ADA_INCLUDES): Likewise.
17766 Adapt for new working dir.
17767 (GNATBIND): Use Makefile.in version.
17768 (.SUFFIXES): Copy from Makefile.in.
17769 (ada-warn): Define.
17770 (.adb.o, .ads.o): Copy from Makefile.in.
17771 Added $(OUTPUT_OPTION).
17772 (GNAT1_C_OBJS): Moved from Makefile.in.
17773 Prefix with ada subdir.
17774 (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
17775 (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
17776 Adapt for new working dir.
17777 (EXTRA_GNATBIND_OBJS): Likewise.
17778 (ADA_BACKEND): Moved from Makefile.in.
17779 Renamed to avoid conflict with global BACKEND.
17780 Use that one.
17781 (TARGET_ADA_SRCS): Moved from Makefile.in.
17782 (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
17783 Use ADA_BACKEND.
17784 (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
17785 (ada_extra_files): Moved from Makefile.in.
17786 Prefix with ada subdir.
17787 (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
17788 (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
17789 (ada/nmake.ads): Likewise.
17790 (update-sources): Moved from Makefile.in.
17791 Prefix with ada subdir.
17792 (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
17793 (ADA_TREE_H): Likewise.
17794 (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
17795 (ada/memtrack.o): Likewise.
17796 (ada/adadecode.o): Likewise.
17797 Update dependencies.
17798 (ada/adaint.o): New.
17799 (ada/argv.o): Moved from Makefile.in.
17800 Prefix with ada subdir.
94213cff 17801 Update dependencies.
7d600178
RO
17802 (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
17803 (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
17804 (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
17805 Prefix with ada subdir.
17806 (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
17807 (GNAT DEPENDENCIES): Regenerate.
17808 * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
17809 toplevel Makefile.in.
17810 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
17811 (TARGET_ADA_SRCS): Removed.
17812 (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
17813 (GNATBIND_OBJS): Likewise.
17814 (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
17815 (BACKEND): Removed.
17816 (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
17817 (TREE_H): Likewise.
17818 (ada_extra_files): Likewise.
17819 (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
17820 (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
17821 (update-sources): Likewise.
17822 (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
17823 (ADA_TREE_H): Likewise.
17824 (adadecoce.o): Likewise.
17825 (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
17826 (GNAT DEPENDENCIES): Likewise.
17827
1e6347d8
RO
178282002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17829
17830 * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
17831 * Makefile.in: Likewise.
17832
db80834f
RO
178332002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17834
17835 * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
17836 Restore $(CONFIG_H) and prefix.o dependencies.
17837 (ada.stage[1-4]): Depend on stage?-start.
17838
17839 * Makefile.in (b_gnatb.c): Depend on interfac.o.
17840
ac293f98
JW
178412002-05-02 Jim Wilson <wilson@redhat.com>
17842
17843 * utils.c (finish_record_type): Change record_size to record_type.
17844
b303008e
JDA
178452001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
17846
17847 * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
17848 (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
17849 ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
94213cff 17850
ff45c01e
NB
178512002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
17852
17853 * misc.c (gnat_parse_file): Update.
17854
349ae713
NB
178552002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
17856
17857 * misc.c (gnat_init): Don't set lang_attribute_common.
17858
ace133aa
JM
178592002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
17860
17861 * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
17862
5c558dd9
FW
178632002-04-21 Florian Weimer <fw@deneb.enyo.de>
17864
b4f94ac1 17865 * gnat_ug.texi: New file.
88e1739c 17866
5c558dd9
FW
17867 * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
17868 instead of gfdl.texi
17869
17870 * xgnatug.adb, ug_words: New files.
17871
17872 * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
b4f94ac1 17873 gnat_rm and gnat-style manuals.
5c558dd9 17874
7a228918
NB
178752002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
17876
17877 * gigi.h (incomplete_type_error): Remove.
17878 * utils.c (incomplete_type_error): Remove.
17879
b2123dc0
MM
178802002-04-16 Mark Mitchell <mark@codesourcery.com>
17881
17882 * trans.c (tree_transform): Add has_scope argument to
17883 expand_start_stmt_expr.
17884
78ef5b89
NB
178852002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
17886
17887 * gigi.h (truthvalue_conversion): Rename.
17888 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
17889 * trans.c (tree_transform): Update.
17890 * utils2.c (truthvalue_conversion): Rename, update.
17891 (build_binary_op, build_unary_op): Update.
17892
a71742a8
LG
178932002-04-04 Laurent Guerby <guerby@acm.org>
17894
17895 * make.adb: Implement -margs, remove restriction about file name placement.
17896 * makeusg.adb: Documentation update.
17897 * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
17898 * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
17899
82a4b025
NB
179002002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
17901
17902 * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
17903 (builtin_function): Similarly.
17904
dffd7eb6
NB
179052002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
17906
17907 * decl.c (gnat_to_gnu_entity): Update.
17908 * gigi.h (mark_addressable): Rename.
17909 * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
17910 * trans.c (tree_transform): Update.
17911 * utils.c (create_var_decl): Update.
17912 * util2.c (build_binary_op, build_unary_op,
17913 fill_vms_descriptor): Update.
17914 (mark_addressable): Rename, update.
17915
ceef8ce4
NB
179162002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
17917
17918 * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
17919 Rename.
17920 * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
17921 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
17922 * trans.c (tree_transform, convert_with_check): Update.
17923 * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
17924 Rename.
17925
48a7a235
NB
179262002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
17927
17928 * gigi.h (finish_incomplete_decl): Rename.
17929 * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
17930 * utils.c (gnat_init_decl_processing): Don't set hook.
17931 (finish_incomplete_decl): Rename.
17932
1d5af871
AS
179332002-03-29 Andreas Schwab <schwab@suse.de>
17934
17935 * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
17936 directory.
17937
8cbb664e
MG
179382001-03-28 Robert Dewar <dewar@gnat.com>
17939
17940 * checks.ads:
17941 (Remove_Checks): New procedure
17942
17943 * checks.adb:
17944 (Remove_Checks): New procedure
17945
17946 * exp_util.adb:
17947 Use new Duplicate_Subexpr functions
17948 (Duplicate_Subexpr_No_Checks): New procedure
17949 (Duplicate_Subexpr_No_Checks_Orig): New procedure
17950 (Duplicate_Subexpr): Restore original form (checks duplicated)
17951 (Duplicate_Subexpr): Call Remove_Checks
17952
82a4b025 17953 * exp_util.ads:
8cbb664e
MG
17954 (Duplicate_Subexpr_No_Checks): New procedure
17955 (Duplicate_Subexpr_No_Checks_Orig): New procedure
17956 Add 2002 to copyright notice
17957
17958 * sem_util.adb: Use new Duplicate_Subexpr functions
17959
82a4b025 17960 * sem_eval.adb:
8cbb664e
MG
17961 (Eval_Indexed_Component): This is the place to call
17962 Constant_Array_Ref and to replace the value. We simply merge
17963 the code of this function in here, since it is now no longer
17964 used elsewhere. This fixes the problem of the back end not
17965 realizing we were clever enough to see that this was
17966 constant.
17967 (Expr_Val): Remove call to Constant_Array_Ref
17968 (Expr_Rep_Val): Remove call to Constant_Array_Ref
17969 Minor reformatting
17970 (Constant_Array_Ref): Deal with string literals (patch
17971 suggested by Zack Weinberg on the gcc list)
17972
179732001-03-28 Ed Schonberg <schonber@gnat.com>
17974
82a4b025 17975 * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
8cbb664e
MG
17976 Duplicate_Subexpr_Move_Checks.
17977
82a4b025 17978 * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
8cbb664e
MG
17979 Duplicate_Subexpr_Move_Checks.
17980
82a4b025
NB
17981 * sem_eval.adb: (Constant_Array_Ref): Verify that constant
17982 value of array exists before retrieving it (it may a private
8cbb664e
MG
17983 protected component in a function).
17984
792c4e74
GB
179852002-03-28 Geert Bosch <bosch@gnat.com>
17986
17987 * prj-pp.adb : New file.
17988
17989 * prj-pp.ads : New file.
17990
915e8bad
AJ
179912002-03-28 Andreas Jaeger <aj@suse.de>
17992
17993 * Makefile.in (stamp-sdefault): Fix path for Makefile.
17994
0840811c
NB
179952002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
17996
17997 * misc.c (gnat_expand_expr): Move prototype.
17998
7ffb4fd2
NB
179992002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18000
18001 * misc.c (insert_default_attributes): Remove.
18002
c9d892a8
NB
180032002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18004
18005 * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
18006 (gnat_init): Don't set hook.
18007 (gnat_expand_expr): Fix prototype.
18008
31c816cf
NB
180092002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18010
18011 * misc.c (ggc_p): Remove.
18012
ef83161c
GB
180132002-03-27 Geert Bosch <bosch@gnat.com>
18014
18015 * prj-makr.ads, prj-makr.adb : New files.
18016
4f0ade92
NB
180172002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
18018
18019 * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
18020 (lang_mark_tree): Make static, rename.
18021
c88770e9
NB
180222002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
18023
18024 * misc.c (maybe_build_cleanup): Remove.
18025
05671968
NB
180262002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
18027
18028 * gigi.h (yyparse): Remove.
18029
ad42149c
FW
180302002-03-23 Florian Weimer <fw@deneb.enyo.de>
18031
82a4b025 18032 * gnat_rm.texi: Sync with ACT version.
b4f94ac1 18033 (From Ben Brosgol <brosgol@gnat.com>)
ad42149c 18034
7afff7cf
NB
180352002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
18036
18037 * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
18038 (gnat_init): Remove old hook.
18039
52dabb6c
NB
180402002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
18041
18042 * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
18043 (yyparse): Rename gnat_parse_file.
18044
6cbcc541
GK
180452002-03-14 Geoffrey Keating <geoffk@redhat.com>
18046
18047 Delete all lines containing "$Revision:".
18048 * xeinfo.adb: Don't look for revision numbers.
18049 * xnmake.adb: Likewise.
18050 * xsinfo.adb: Likewise.
18051 * xsnames.adb: Likewise.
18052 * xtreeprs.adb: Likewise.
18053
2f9834e8
KG
180542002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18055
18056 * misc.c (gnat_tree_code_type, gnat_tree_code_length,
18057 gnat_tree_code_name): Delete.
18058 (tree_code_type, tree_code_length, tree_code_name): Define.
18059 (gnat_init): Don't try to copy into the various tree_code
18060 arrays.
18061
63adb4ff
RH
180622002-03-11 Richard Henderson <rth@redhat.com>
18063
18064 * Makefile.in (.NOTPARALLEL): Add fake tag.
18065
43ff4547
GB
180662002-03-07 Geert Bosch <bosch@gnat.com>
18067
82a4b025
NB
18068 * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
18069 s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
18070 switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
43ff4547
GB
18071 switch-m.adb, switch-m.ads : New files.
18072
07fc65c4
GB
180732002-03-07 Geert Bosch <bosch@gnat.com>
18074
18075 * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
18076 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
18077 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
18078 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
18079 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
18080 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
18081 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
18082 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
18083 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
18084 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
18085 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
18086 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
18087 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
18088 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
18089 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
18090 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
18091 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
18092 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
18093 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
18094 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
18095 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
18096 Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
18097 a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
18098 a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
18099 a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
18100 a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
18101 a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
18102 a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
18103 a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
18104 adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
18105 atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
18106 bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
18107 csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
18108 einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
18109 eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
18110 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
18111 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
18112 exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
18113 exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
18114 exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
18115 expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
18116 freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
18117 g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
18118 g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
18119 g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
18120 g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
18121 g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
18122 g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
18123 gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
18124 gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
18125 gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
18126 i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
18127 impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
18128 lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
18129 lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
18130 memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
18131 mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
18132 nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
18133 output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
18134 par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
18135 prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
18136 prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
18137 prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
18138 rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
18139 s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
18140 s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
18141 s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
18142 s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
18143 s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
18144 s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
18145 s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
18146 s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
18147 s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
18148 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
18149 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
18150 s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
18151 s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
18152 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
18153 s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
18154 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
18155 sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
18156 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
18157 sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
18158 sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
18159 sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
18160 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
18161 sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
18162 sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
18163 sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
18164 snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
18165 stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
18166 table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
18167 tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
18168 treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
18169 types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
18170 utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
18171 xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
18172
18173 * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
18174 g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
18175 mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
18176 osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
18177
18178 * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
18179 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
18180
18181 * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
18182 to mdll-fil.ad[bs] and mdll-util.ad[bs]
18183
18184 * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
18185 from mdllfile.ad[bs] and mdlltool.ad[bs]
18186
ca7558fc
KG
181872002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18188
18189 * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
18190 lieu of explicit sizeof/sizeof.
18191
63e1b1c4
NB
181922002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
18193
18194 * misc.c (copy_lang_decl): Remove.
18195
f458d1d5
ZW
181962002-02-27 Zack Weinberg <zack@codesourcery.com>
18197
18198 * misc.c: Delete traditional-mode-related code copied from the
18199 C front end but not used, or used only to permit the compiler
18200 to link.
18201
21e09952
RH
182022002-02-07 Richard Henderson <rth@redhat.com>
18203
18204 * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
18205 * adaint.h (__gnat_to_gm_time): Update prototype.
18206
ead39bdf 182072002-01-30 Richard Henderson <rth@redhat.com>
e803a64b
RH
18208
18209 * trans.c (tree_transform) [N_Loop_Statement]: Use
18210 expand_exit_loop_top_cond.
18211
72ac12bf
RH
182122001-12-23 Richard Henderson <rth@redhat.com>
18213
18214 * utils.c (end_subprog_body): Push GC context around
18215 rest_of_compilation for nested functions.
18216
14aacce7
RH
182172001-12-23 Richard Henderson <rth@redhat.com>
18218
18219 * 5nosinte.ads: Get definition of "int" from Interfaces.C.
18220
b3d45d87
FW
182212001-12-23 Florian Weimer <fw@deneb.enyo.de>
18222
ece2d1b8
FW
18223 * gnat-style.texi (Declarations and Types): Remove ancient style
18224 rule which was mandated by code generation issues.
82a4b025 18225
b3d45d87
FW
18226 * gnat-style.texi (header): Add @dircategory, @direntry.
18227 (title page): Remove date.
18228 (general) Add @./@: where approriate, and two spaces after the
18229 full stop at the end of a sentence. Use @samp markup when
18230 referring concrete lexical entities (keywords, attribute names
18231 etc.), and @syntax for ARM grammar elements. Use @r for English
18232 text in comments. Use @emph for emphasis. Change "if-statements"
18233 etc. to "if statements" (without @samp). Break long lines. Make
18234 casing of section names consistent.
18235 (Identifiers): Use @samp markup for variable names.
18236 (Comments): Use @samp markup for comment characters. Line-end
18237 comments may follow any Ada code, not just statements. Fix
18238 misspelling of "Integer" as "integer".
18239 (Loop statements): Do not use variable name "I", use "J".
18240 (Subprogram Declarations): Document alignment.
18241 (Subprogram Bodies, Block statements): Document empty line before
18242 "begin".
18243
7a73ad55
FW
182442001-12-22 Florian Weimer <fw@deneb.enyo.de>
18245
18246 * make.adb (Add_Switch): Make Generic_Position a procedure. The
18247 function approach did not work well because of a side effect (the
18248 function call could reallocate the table which was being indexed
18249 using its result). Fixes ada/4851.
18250
17c5c8a5
GB
182512001-12-19 Robert Dewar <dewar@gnat.com>
18252
18253 * bindgen.adb: Minor reformatting
82a4b025 18254
17c5c8a5 18255 * cstand.adb: Minor reformatting
82a4b025 18256
17c5c8a5
GB
18257 * fmap.adb: Minor reformatting
18258 Change name from Add for Add_To_File_Map (Add is much too generic)
18259 Change Path_Name_Of to Mapped_Path_Name
18260 Change File_Name_Of to Mapped_File_Name
18261 Fix copyright dates in header
82a4b025 18262
17c5c8a5
GB
18263 * fmap.ads:
18264 Change name from Add for Add_To_File_Map (Add is much too generic)
18265 Change Path_Name_Of to Mapped_Path_Name
18266 Change File_Name_Of to Mapped_File_Name
18267 Fix copyright dates in header
82a4b025 18268
17c5c8a5
GB
18269 * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
18270 Add use clause for Fmap.
82a4b025 18271
17c5c8a5 18272 * make.adb: Minor reformatting
82a4b025 18273
17c5c8a5
GB
18274 * osint.adb: Minor reformatting. Change of names in Fmap.
18275 Add use clause for Fmap.
82a4b025 18276
17c5c8a5 18277 * prj-env.adb: Minor reformatting
82a4b025 18278
17c5c8a5 18279 * prj-env.ads: Minor reformatting
82a4b025 18280
07fc65c4
GB
18281 * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
18282 error found (there were odd exceptions to this general rule in
17c5c8a5 18283 -gnatec/-gnatem processing)
82a4b025 18284
17c5c8a5
GB
182852001-12-19 Olivier Hainque <hainque@gnat.com>
18286
07fc65c4
GB
18287 * raise.c (__gnat_eh_personality): Exception handling personality
18288 routine for Ada. Still in rough state, inspired from the C++ version
17c5c8a5 18289 and still containing a bunch of debugging artifacts.
07fc65c4 18290 (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
17c5c8a5 18291 inspired from the C++ library.
82a4b025 18292
07fc65c4 18293 * raise.c (eh_personality): Add comments. Part of work for the GCC 3
17c5c8a5 18294 exception handling integration.
82a4b025 18295
17c5c8a5
GB
182962001-12-19 Arnaud Charlet <charlet@gnat.com>
18297
18298 * Makefile.in: Remove use of 5smastop.adb which is obsolete.
18299 (HIE_SOURCES): Add s-secsta.ad{s,b}.
18300 (HIE_OBJS): Add s-fat*.o
07fc65c4 18301 (RAVEN_SOURCES): Remove files that are no longer required. Add
17c5c8a5
GB
18302 interrupt handling files.
18303 (RAVEN_MOD): Removed, no longer needed.
82a4b025 18304
17c5c8a5
GB
183052001-12-19 Robert Dewar <dewar@gnat.com>
18306
18307 * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
18308 Add 2001 to copyright date
82a4b025 18309
07fc65c4 18310 * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
17c5c8a5 18311 need to force universal inlining for these cases.
82a4b025 18312
17c5c8a5
GB
183132001-12-19 Arnaud Charlet <charlet@gnat.com>
18314
07fc65c4 18315 * s-taprob.adb: Minor clean ups so that this unit can be used in
17c5c8a5 18316 Ravenscar HI.
82a4b025 18317
17c5c8a5
GB
18318 * exp_ch7.adb: Allow use of secondary stack in HI mode.
18319 Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
82a4b025 18320
17c5c8a5
GB
183212001-12-19 Vincent Celier <celier@gnat.com>
18322
07fc65c4 18323 * prj-tree.ads (Project_Node_Record): Add comments for components
17c5c8a5 18324 Pkg_Id and Case_Insensitive.
82a4b025 18325
17c5c8a5
GB
183262001-12-19 Pascal Obry <obry@gnat.com>
18327
18328 * g-socket.adb: Minor reformatting. Found while reading code.
82a4b025 18329
17c5c8a5
GB
183302001-12-19 Robert Dewar <dewar@gnat.com>
18331
18332 * prj-tree.ads: Minor reformatting
18333
38be19f6
JM
183342001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
18335
18336 * config-lang.in (diff_excludes): Remove.
18337
6510f4c9
GB
183382001-12-17 Ed Schonberg <schonber@gnat.com>
18339
07fc65c4
GB
18340 * sem_res.adb (Resolve_Selected_Component): do not generate a
18341 discriminant check if the selected component is a component of
6510f4c9
GB
18342 the argument of an initialization procedure.
18343
07fc65c4
GB
18344 * trans.c (tree_transform, case of arithmetic operators): If result
18345 type is private, the gnu_type is the base type of the full view,
6510f4c9 18346 given that the full view itself may be a subtype.
82a4b025 18347
6510f4c9
GB
183482001-12-17 Robert Dewar <dewar@gnat.com>
18349
18350 * sem_res.adb: Minor reformatting
82a4b025 18351
07fc65c4
GB
18352 * trans.c (tree_transform, case N_Real_Literal): Add missing third
18353 parameter in call to Machine (unknown horrible effects from this
6510f4c9 18354 omission).
82a4b025 18355
6510f4c9
GB
18356 * urealp.h: Add definition of Round_Even for call to Machine
18357 Add third parameter for Machine
82a4b025 18358
6510f4c9
GB
183592001-12-17 Ed Schonberg <schonber@gnat.com>
18360
07fc65c4 18361 * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
6510f4c9 18362 predefined units in No_Run_Time mode.
82a4b025 18363
6510f4c9
GB
183642001-12-17 Richard Kenner <kenner@gnat.com>
18365
18366 * misc.c (insn-codes.h): Now include.
82a4b025 18367
6510f4c9
GB
183682001-12-17 Olivier Hainque <hainque@gnat.com>
18369
07fc65c4 18370 * a-except.adb: Preparation work for future integration of the GCC 3
6510f4c9
GB
18371 exception handling mechanism
18372 (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
18373 to factorize previous code sequences and make them externally callable,
18374 e.g. for the Ada personality routine when the GCC 3 mechanism is used.
18375 (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
18376 Use the new notification routines.
82a4b025 18377
6510f4c9
GB
183782001-12-17 Emmanuel Briot <briot@gnat.com>
18379
18380 * prj-tree.ads (First_Choice_Of): Document the when others case
82a4b025 18381
6510f4c9
GB
183822001-12-17 Arnaud Charlet <charlet@gnat.com>
18383
07fc65c4 18384 * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
6510f4c9 18385 HI-E mode, in order to support Ravenscar profile properly.
82a4b025 18386
07fc65c4 18387 * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
6510f4c9 18388 mode on 32 bits targets.
82a4b025 18389
6510f4c9
GB
183902001-12-17 Vincent Celier <celier@gnat.com>
18391
18392 * fmap.adb: Initial version.
82a4b025 18393
6510f4c9 18394 * fmap.ads: Initial version.
82a4b025 18395
6510f4c9
GB
18396 * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
18397 If search is successfully done, add to mapping.
82a4b025 18398
6510f4c9 18399 * frontend.adb: Initialize the mapping if a -gnatem switch was used.
82a4b025 18400
6510f4c9
GB
18401 * make.adb:
18402 (Gnatmake): Add new local variable Mapping_File_Name.
18403 Create mapping file when using project file(s).
18404 Delete mapping file before exiting.
82a4b025 18405
6510f4c9 18406 * opt.ads (Mapping_File_Name): New variable
82a4b025 18407
6510f4c9 18408 * osint.adb (Find_File): Use path name found in mapping, if any.
82a4b025 18409
6510f4c9 18410 * prj-env.adb (Create_Mapping_File): New procedure
82a4b025 18411
6510f4c9 18412 * prj-env.ads (Create_Mapping_File): New procedure.
82a4b025 18413
07fc65c4 18414 * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
6510f4c9 18415 (Mapping_File)
82a4b025 18416
6510f4c9 18417 * usage.adb: Add entry for new switch -gnatem.
82a4b025 18418
6510f4c9 18419 * Makefile.in: Add dependencies for fmap.o.
82a4b025 18420
6510f4c9
GB
184212001-12-17 Ed Schonberg <schonber@gnat.com>
18422
07fc65c4 18423 * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
6510f4c9
GB
18424 is a package instantiation rewritten as a package body.
18425 (Install_Withed_Unit): Undo previous change, now redundant.
82a4b025 18426
6510f4c9
GB
184272001-12-17 Gary Dismukes <dismukes@gnat.com>
18428
18429 * layout.adb:
18430 (Compute_Length): Move conversion to Unsigned to callers.
18431 (Get_Max_Size): Convert Len expression to Unsigned after calls to
18432 Compute_Length and Determine_Range.
18433 (Layout_Array_Type): Convert Len expression to Unsigned after calls to
18434 Compute_Length and Determine_Range.
18435 Above changes fix problem with length computation for supernull arrays
07fc65c4 18436 where Max (Len, 0) wasn't getting applied due to the Unsigned
6510f4c9 18437 conversion used by Compute_Length.
82a4b025 18438
6510f4c9
GB
184392001-12-17 Arnaud Charlet <charlet@gnat.com>
18440
18441 * rtsfind.ads:
18442 (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
18443 System.Secondary_Stack.
18444 (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
18445 in HI-E mode.
18446 Remove unused entity RE_Exception_Data.
82a4b025 18447
6510f4c9 18448 * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
82a4b025 18449
6510f4c9
GB
18450 * rident.ads (No_Secondary_Stack): New restriction.
18451
3a77b68d
GB
184522001-12-17 Joel Brobecker <brobecke@gnat.com>
18453
07fc65c4 18454 * gnat_rm.texi: Fix minor typos. Found while reading the section
3a77b68d
GB
18455 regarding "Bit_Order Clauses" that was sent to a customer.
18456 Very interesting documentation!
82a4b025 18457
3a77b68d
GB
184582001-12-17 Robert Dewar <dewar@gnat.com>
18459
07fc65c4
GB
18460 * sem_case.adb (Choice_Image): Avoid creating improper character
18461 literal names by using the routine Set_Character_Literal_Name. This
3a77b68d 18462 fixes bombs in certain error message cases.
82a4b025 18463
3a77b68d
GB
184642001-12-17 Arnaud Charlet <charlet@gnat.com>
18465
18466 * a-reatim.adb: Minor reformatting.
82a4b025 18467
3a77b68d
GB
184682001-12-17 Ed Schonberg <schonber@gnat.com>
18469
07fc65c4
GB
18470 * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
18471 case where the formal is an extension of another formal in the current
3a77b68d 18472 unit or in a parent generic unit.
82a4b025 18473
3a77b68d
GB
184742001-12-17 Arnaud Charlet <charlet@gnat.com>
18475
07fc65c4 18476 * s-tposen.adb: Update comments. Minor reformatting.
3a77b68d 18477 Minor code clean up.
82a4b025 18478
3a77b68d 18479 * s-tarest.adb: Update comments. Minor code reorganization.
82a4b025 18480
3a77b68d
GB
184812001-12-17 Gary Dismukes <dismukes@gnat.com>
18482
07fc65c4 18483 * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
3a77b68d 18484 when Java_VM.
82a4b025 18485
3a77b68d
GB
184862001-12-17 Robert Dewar <dewar@gnat.com>
18487
18488 * exp_attr.adb: Minor reformatting
82a4b025 18489
3a77b68d
GB
184902001-12-17 Ed Schonberg <schonber@gnat.com>
18491
07fc65c4 18492 * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
3a77b68d
GB
18493 derivations nested within a child unit: verify that the parent
18494 type is declared in an outer scope.
82a4b025 18495
3a77b68d
GB
184962001-12-17 Robert Dewar <dewar@gnat.com>
18497
18498 * sem_ch12.adb: Minor reformatting
82a4b025 18499
3a77b68d
GB
185002001-12-17 Ed Schonberg <schonber@gnat.com>
18501
07fc65c4
GB
18502 * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
18503 warning if current unit is a predefined one, from which bodies may
3a77b68d 18504 have been deleted.
82a4b025 18505
3a77b68d
GB
185062001-12-17 Robert Dewar <dewar@gnat.com>
18507
18508 * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
18509 Fix header format. Add 2001 to copyright date.
82a4b025 18510
07fc65c4 18511 * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
3a77b68d
GB
18512 which caused CE during compilation if checks were enabled.
18513
79503fdd
GB
185142001-12-17 Vincent Celier <celier@gnat.com>
18515
18516 * make.adb:
18517 (Switches_Of): New function
18518 (Test_If_Relative_Path): New procedure
18519 (Add_Switches): Use new function Switches_Of
18520 (Collect_Arguments_And_Compile): Use new function Switches_Of.
18521 When using a project file, test if there are any relative
18522 search path. Fail if there are any.
07fc65c4
GB
18523 (Gnatmake): Only add switches for the primary directory when not using
18524 a project file. When using a project file, change directory to the
18525 object directory of the main project file. When using a project file,
18526 test if there are any relative search path. Fail if there are any.
18527 When using a project file, fail if specified executable is relative
18528 path with directory information, and prepend executable, if not
18529 specified as an absolute path, with the exec directory. Make sure
79503fdd 18530 that only one -o switch is transmitted to the linker.
82a4b025 18531
79503fdd 18532 * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
82a4b025 18533
79503fdd
GB
18534 * prj-nmsc.adb:
18535 (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
18536 when using a non standard naming scheme.
18537 (Check_Ada_Naming_Scheme): Make sure that error messages
18538 do not raise exceptions.
18539 (Is_Illegal_Append): Return True if there is no dot in the suffix.
18540 (Language_Independent_Check): Check the exec directory.
82a4b025 18541
79503fdd 18542 * prj.adb (Project_Empty): Add new component Exec_Directory
82a4b025 18543
79503fdd
GB
18544 * prj.ads:
18545 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
18546 (Project_Data): Add component Exec_Directory
82a4b025 18547
79503fdd 18548 * snames.adb: Updated to match snames.ads revision 1.215
82a4b025 18549
79503fdd 18550 * snames.ads: Added Exec_Dir
82a4b025 18551
79503fdd
GB
185522001-12-17 Robert Dewar <dewar@gnat.com>
18553
18554 * make.adb: Minor reformatting
82a4b025 18555
79503fdd 18556 * prj-nmsc.adb: Minor reformatting
82a4b025 18557
79503fdd 18558 * snames.adb: Updated to match snames.ads
82a4b025 18559
79503fdd
GB
18560 * snames.ads: Alphebetize entries for project file
18561
185622001-12-17 Ed Schonberg <schonber@gnat.com>
18563
07fc65c4 18564 * trans.c (process_freeze_entity): Do nothing if the entity is a
79503fdd 18565 subprogram that was already elaborated.
82a4b025 18566
79503fdd 185672001-12-17 Richard Kenner <kenner@gnat.com>
82a4b025 18568
07fc65c4 18569 * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
79503fdd
GB
18570 and Esize if object is referenced via pointer.
18571
855ff2e1
GB
185722001-12-17 Ed Schonberg <schonber@gnat.com>
18573
07fc65c4 18574 * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
855ff2e1 18575 is discrete before analyzing choices.
82a4b025 18576
855ff2e1
GB
185772001-12-17 Joel Brobecker <brobecke@gnat.com>
18578
07fc65c4
GB
18579 * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
18580 containing the name of the Ada Main Program. This string is mainly
855ff2e1
GB
18581 intended for the debugger.
18582 (Gen_Output_File_C): Do the equivalent change when generating a C file.
82a4b025 18583
855ff2e1
GB
185842001-12-17 Robert Dewar <dewar@gnat.com>
18585
18586 * ali.adb: Set new Dummy_Entry field in dependency entry
82a4b025 18587
855ff2e1 18588 * ali.ads: Add Dummy_Entry field to source dependency table
82a4b025 18589
855ff2e1 18590 * bcheck.adb (Check_Consistency): Ignore dummy D lines
82a4b025 18591
855ff2e1 18592 * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
82a4b025 18593
855ff2e1 18594 * lib-writ.ads: Document dummy D lines for missing files.
82a4b025 18595
855ff2e1
GB
18596 * types.ads: (Dummy_Time_Stamp): New value for non-existant files
18597
c1c22e7a
GB
185982001-12-17 Robert Dewar <dewar@gnat.com>
18599
18600 * ali.adb: Type reference does not reset current file.
82a4b025 18601
c1c22e7a 18602 * ali.adb: Recognize and scan renaming reference
82a4b025 18603
c1c22e7a 18604 * ali.ads: Add spec for storing renaming references.
82a4b025 18605
c1c22e7a 18606 * lib-xref.ads: Add documentation for handling of renaming references
82a4b025 18607
c1c22e7a 18608 * lib-xref.adb: Implement output of renaming reference.
82a4b025 18609
c1c22e7a
GB
18610 * checks.adb:
18611 (Determine_Range): Document local variables
18612 (Determine_Range): Make sure Hbound is initialized. It looks as though
18613 there could be a real problem here with an uninitialized reference
18614 to Hbound, but no actual example of failure has been found.
82a4b025 18615
c1c22e7a
GB
186162001-12-17 Laurent Pautet <pautet@gnat.com>
18617
18618 * g-socket.ads:
18619 Fix comment of Shutdown_Socket and Close_Socket. These functions
18620 should not fail silently because if they are called twice, this
18621 probably means that there is a race condition in the user program.
18622 Anyway, this behaviour is consistent with the rest of this unit.
18623 When an error occurs, an exception is raised with the error message
18624 as exception message.
18625
7eb7bb07
RD
186262001-12-17 Robert Dewar <dewar@gnat.com>
18627
07fc65c4 18628 * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
7eb7bb07 18629 that it happens before modification of Sloc values for -gnatD.
82a4b025 18630
07fc65c4 18631 * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
7eb7bb07 18632 so that it happens before modification of Sloc values for -gnatD.
82a4b025 18633
7eb7bb07
RD
18634 * switch.adb: Minor reformatting
18635
b6434700
RH
186362001-12-15 Richard Henderson <rth@redhat.com>
18637
18638 * sem_ch7.adb: Wrap comment.
18639
44d6a706
JM
186402001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
18641
18642 * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
18643 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
18644 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
18645 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
18646 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
18647 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
18648 a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
18649 a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
18650 cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
18651 exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
18652 exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
18653 g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
18654 gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
18655 make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
18656 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
18657 repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
18658 s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
18659 s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
18660 s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
18661 s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
18662 sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
18663 sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
18664 sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
18665 sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
18666 spelling errors.
18667
226ada7a
GB
186682001-12-14 Vincent Celier <celier@gnat.com>
18669
07fc65c4 18670 * osint.adb(Create_Debug_File): When an object file is specified,
226ada7a 18671 put the .dg file in the same directory as the object file.
82a4b025 18672
226ada7a
GB
186732001-12-14 Robert Dewar <dewar@gnat.com>
18674
18675 * osint.adb: Minor reformatting
82a4b025 18676
07fc65c4 18677 * lib-xref.adb (Output_Instantiation): New procedure to generate
226ada7a 18678 instantiation references.
82a4b025 18679
226ada7a 18680 * lib-xref.ads: Add documentation of handling of generic references.
82a4b025 18681
07fc65c4 18682 * ali.adb (Read_Instantiation_Ref): New procedure to read
226ada7a 18683 instantiation references
82a4b025 18684
226ada7a 18685 * ali.ads: Add spec for storing instantiation references
82a4b025 18686
226ada7a 18687 * bindusg.adb: Minor reformatting
82a4b025 18688
226ada7a 18689 * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 18690
226ada7a 18691 * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 18692
226ada7a 18693 * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 18694
226ada7a 18695 * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 18696
226ada7a
GB
18697 * csets.ads:
18698 Fix header format
18699 Add 2001 to copyright date
18700 Add entry for Latin-5 (Cyrillic ISO-8859-5)
82a4b025 18701
226ada7a
GB
187022001-12-14 Matt Gingell <gingell@gnat.com>
18703
07fc65c4 18704 * adaint.c: mktemp is a macro on Lynx and can not be used as an
226ada7a 18705 expression.
82a4b025 18706
226ada7a
GB
187072001-12-14 Richard Kenner <kenner@gnat.com>
18708
07fc65c4 18709 * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
226ada7a 18710 if operand is CONSTRUCTOR.
82a4b025 18711
226ada7a
GB
187122001-12-14 Ed Schonberg <schonber@gnat.com>
18713
07fc65c4
GB
18714 * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
18715 before emiting check on right-hand side, so that exception information
226ada7a
GB
18716 is correct.
18717
187182001-12-14 Richard Kenner <kenner@gnat.com>
82a4b025 18719
07fc65c4 18720 * utils.c (create_var_decl): Throw away initializing expression
226ada7a 18721 if just annotating types and non-constant.
82a4b025 18722
226ada7a
GB
187232001-12-14 Vincent Celier <celier@gnat.com>
18724
18725 * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
18726 Default_Ada_...
82a4b025 18727
07fc65c4 18728 * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
226ada7a
GB
18729 Remove functions.
18730 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
82a4b025 18731
07fc65c4 18732 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
226ada7a
GB
18733 Remove functions.
18734 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
18735
9b94bf9e
JM
187362001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
18737
18738 * ChangeLog: Remove piece of diff output.
18739
449d2be3
GB
187402001-12-14 Geert Bosch <bosch@gnat.com>
18741
18742 * config-lang.in: Update copyright notice
18743
18744 * layout.adb: Remove commented out code.
18745
18746 * mdllfile.ads: Update copyright notice. Fix header format.
18747
18748 * sem_case.ads: Likewise.
18749
18750 * sem_ch3.adb: Minor reformatting.
18751
e5bd5cb4
GB
187522001-12-12 Geert Bosch <bosch@gnat.com>
18753
18754 * freeze.ads: Update copyright date.
18755
18756 * g-comlin.ads: Minor reformatting.
18757
18758 * gnat-style.texi: Fix typo.
18759
b468d8ec
GB
187602001-12-12 Geert Bosch <bosch@gnat.com>
18761
18762 * einfo.h: Regenerate.
18763
ed7da216
GB
187642001-12-12 Ed Schonberg <schonber@gnat.com>
18765
07fc65c4 18766 * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
ed7da216 18767 on known node types, rather than untyped fields. Further cleanups.
82a4b025 18768
ed7da216
GB
187692001-12-12 Robert Dewar <dewar@gnat.com>
18770
18771 * sem_ch12.adb:
18772 (Save_Entity_Descendant): Minor comment update.
18773 (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
07fc65c4 18774 of an N_Attribute_Reference node. As per note below, this does not
ed7da216 18775 eliminate need for Associated_Node in attribute ref nodes.
07fc65c4 18776 (Associated_Node): Documentation explicitly mentions attribute
ed7da216 18777 reference nodes, since this field is used in such nodes.
82a4b025 18778
ed7da216
GB
18779 * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
18780
de76a39c
GB
187812001-12-12 Robert Dewar <dewar@gnat.com>
18782
18783 * s-stalib.adb: Add more comments on with statements being needed
82a4b025 18784
de76a39c 18785 * par-ch12.adb: Minor reformatting
82a4b025 18786
de76a39c 18787 * prj-dect.ads: Fix copyright header
82a4b025 18788
07fc65c4 18789 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
de76a39c 18790 inputs fit in 32 bits, but the result still overflows.
82a4b025 18791
de76a39c 18792 * s-fatgen.ads: Minor comment improvement
82a4b025 18793
de76a39c
GB
187942001-12-12 Ed Schonberg <schonber@gnat.com>
18795
07fc65c4
GB
18796 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
18797 formal derived type, look for an inherited component from the full
de76a39c 18798 view of the parent, if any.
82a4b025 18799
de76a39c
GB
188002001-12-12 Robert Dewar <dewar@gnat.com>
18801
18802 * checks.ads (Apply_Alignment_Check): New procedure.
82a4b025 18803
07fc65c4
GB
18804 * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
18805 ensure that the alignment of objects with address clauses is
de76a39c
GB
18806 appropriate, and raise PE if not.
18807
07fc65c4 18808 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
de76a39c 18809 Exp_Pakd.Known_Aligned_Enough
82a4b025 18810
de76a39c
GB
18811 * mdllfile.ads: Minor reformatting
18812
18813 * mlib-fil.ads: Minor reformatting
82a4b025 18814
de76a39c
GB
188152001-12-12 Ed Schonberg <schonber@gnat.com>
18816
07fc65c4
GB
18817 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
18818 fix to any component reference if enclosing record has non-standard
de76a39c 18819 representation.
82a4b025 18820
de76a39c
GB
188212001-12-12 Vincent Celier <celier@gnat.com>
18822
07fc65c4 18823 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
de76a39c 18824 Iteration
82a4b025 18825
de76a39c
GB
188262001-12-12 Ed Schonberg <schonber@gnat.com>
18827
07fc65c4 18828 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
de76a39c 18829 sem_attr.
82a4b025 18830
de76a39c
GB
188312001-12-12 Robert Dewar <dewar@gnat.com>
18832
18833 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
82a4b025 18834
de76a39c
GB
188352001-12-12 Emmanuel Briot <briot@gnat.com>
18836
18837 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
18838 and it adds dependencies to system.io.
82a4b025 18839
de76a39c
GB
188402001-12-12 Pascal Obry <obry@gnat.com>
18841
07fc65c4 18842 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
de76a39c
GB
18843 variable name.
18844
0b09835f
ES
188452001-12-11 Ed Schonberg <schonber@gnat.com>
18846
18847 * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
07fc65c4
GB
18848 that is the parent of other generics, the instance body replaces the
18849 instance node. Retrieve the instance of the spec, which is the one
0b09835f
ES
18850 that is visible in clients and within the body.
18851
598c3446
GB
188522001-12-11 Vincent Celier <celier@gnat.com>
18853
18854 * gnatmain.adb: Initial version.
82a4b025 18855
598c3446 18856 * gnatmain.ads: Initial version.
82a4b025 18857
598c3446 18858 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
82a4b025 18859
598c3446 18860 * snames.adb: Updated to match snames.ads.
82a4b025 18861
598c3446 18862 * snames.ads: Added Gnatstub.
82a4b025 18863
598c3446
GB
188642001-12-11 Vincent Celier <celier@gnat.com>
18865
07fc65c4 18866 * prj-attr.adb (Initialization_Data): Change name from
598c3446 18867 Initialisation_Data.
82a4b025 18868
598c3446
GB
188692001-12-11 Emmanuel Briot <briot@gnat.com>
18870
18871 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
18872 + and * applied to backslashed expressions like \r.
82a4b025 18873
598c3446
GB
188742001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
18875
07fc65c4 18876 * g-os_lib.ads: String_List type added, Argument_List type is now
598c3446 18877 subtype of String_List.
82a4b025 18878
598c3446
GB
188792001-12-11 Robert Dewar <dewar@gnat.com>
18880
18881 * g-os_lib.ads: Change copyright to FSF
18882 Add comments for String_List type
82a4b025 18883
598c3446
GB
188842001-12-11 Vincent Celier <celier@gnat.com>
18885
07fc65c4 18886 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
598c3446
GB
18887 string to the buffer).
18888
7fb754a1
GB
188892001-12-11 Ed Schonberg <schonber@gnat.com>
18890
18891 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
18892 sem_attr.
82a4b025 18893
7fb754a1 18894 * sem_attr.adb: Simplify previous fix for Address.
07fc65c4
GB
18895 (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
18896 to avoid anomalies where the bound of the type appears to raise
7fb754a1
GB
18897 constraint error.
18898
188992001-12-11 Robert Dewar <dewar@gnat.com>
18900
07fc65c4 18901 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
7fb754a1 18902 handled.
82a4b025 18903
7fb754a1
GB
189042001-12-11 Ed Schonberg <schonber@gnat.com>
18905
07fc65c4 18906 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
7fb754a1 18907 renamed unit before checking for recursive instantiations.
82a4b025 18908
7fb754a1
GB
189092001-12-11 Emmanuel Briot <briot@gnat.com>
18910
18911 * prj.ads: Add comments for some of the fields.
18912
0873bafc
GB
189132001-12-11 Robert Dewar <dewar@gnat.com>
18914
07fc65c4 18915 * lib-xref.adb (Output_Refs): Don't output type references outside
0873bafc 18916 the main unit if they are not otherwise referenced.
82a4b025 18917
0873bafc
GB
189182001-12-11 Ed Schonberg <schonber@gnat.com>
18919
07fc65c4 18920 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
0873bafc 18921 code and diagnose additional illegal uses
82a4b025 18922
07fc65c4 18923 * sem_util.adb (Is_Object_Reference): An indexed component is an
0873bafc 18924 object only if the prefix is.
82a4b025 18925
0873bafc
GB
189262001-12-11 Vincent Celier <celier@gnat.com>
18927
18928 * g-diopit.adb: Initial version.
82a4b025 18929
0873bafc 18930 * g-diopit.ads: Initial version.
82a4b025 18931
0873bafc
GB
18932 * g-dirope.adb:
18933 (Expand_Path): Avoid use of Unbounded_String
18934 (Find, Wildcard_Iterator): Moved to child package Iteration
82a4b025 18935
0873bafc 18936 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
82a4b025 18937
7fb754a1 189382001-12-11 Robert Dewar <dewar@gnat.com>
0873bafc
GB
18939
18940 * sem_attr.adb: Minor reformatting
18941
d087cd96
GB
189422001-12-11 Ed Schonberg <schonber@gnat.com>
18943
18944 * sem_ch3.adb: Clarify some ???.
82a4b025 18945
d087cd96
GB
189462001-12-11 Robert Dewar <dewar@gnat.com>
18947
07fc65c4 18948 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
d087cd96 18949 Exp_Pakd.Known_Aligned_Enough
82a4b025 18950
07fc65c4 18951 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
d087cd96
GB
18952 version is moved to Exp_Ch13.
18953
189542001-12-11 Robert Dewar <dewar@gnat.com>
18955
18956 * einfo.ads: Minor reformatting
82a4b025 18957
d087cd96 18958 * exp_ch5.adb: Add comment for previous.change
82a4b025 18959
d087cd96 18960 * ali.adb: New interface for extended typeref stuff.
82a4b025 18961
d087cd96 18962 * ali.ads: New interface for typeref stuff.
82a4b025 18963
d087cd96 18964 * checks.adb (Apply_Alignment_Check): New procedure.
82a4b025 18965
d087cd96 18966 * debug.adb: Add -gnatdM for modified ALI output
82a4b025 18967
d087cd96 18968 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
82a4b025 18969
07fc65c4
GB
18970 * lib-xref.adb: Extend generation of <..> notation to cover
18971 subtype/object types. Note that this is a complete rewrite,
18972 getting rid of the very nasty quadratic algorithm previously
d087cd96 18973 used for derived type output.
82a4b025 18974
07fc65c4
GB
18975 * lib-xref.ads: Extend description of <..> notation to cover
18976 subtype/object types. Uses {..} for these other cases.
d087cd96 18977 Also use (..) for pointer types.
82a4b025 18978
d087cd96 18979 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
82a4b025 18980
07fc65c4 18981 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
d087cd96
GB
18982 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
18983
290986ed
GB
189842001-12-11 Vincent Celier <celier@gnat.com>
18985
18986 * gnatcmd.adb:
18987 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
18988 Changed /BIND_ONLY to /ACTIONS=BIND
18989 Changed /LINK_ONLY to /ACTIONS=LINK
82a4b025 18990
290986ed
GB
189912001-12-11 Ed Schonberg <schonber@gnat.com>
18992
18993 * sem_ch8.adb (Find_Selected_Component): improved search for a
18994 candidate package in case of error.
82a4b025 18995
290986ed
GB
18996 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
18997 chain back on scope stack before reinstalling use clauses.
82a4b025 18998
290986ed
GB
18999 * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
19000 is enabled, do not kill the code for the condition, to preserve
19001 warning.
19002
84157f51
GB
190032001-12-11 Robert Dewar <dewar@gnat.com>
19004
07fc65c4 19005 * checks.adb (Insert_Valid_Check): Apply validity check to expression
84157f51
GB
19006 of conversion, not to result of conversion.
19007
190082001-12-11 Ed Schonberg <schonber@gnat.com>
82a4b025 19009
07fc65c4
GB
19010 * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
19011 before freezing parent. If the declarations are mutually recursive,
19012 an access to the current record type may be frozen before the
84157f51
GB
19013 derivation is complete.
19014
7ffa903f
VC
190152001-12-05 Vincent Celier <celier@gnat.com>
19016
07fc65c4 19017 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
7ffa903f 19018 -c /COMPILE_ONLY, -l /LINK_ONLY
82a4b025 19019
7ffa903f
VC
19020 * opt.ads:
19021 (Bind_Only): New Flag
19022 (Link_Only): New flag
82a4b025 19023
07fc65c4 19024 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
7ffa903f 19025 and -l (Link_Only)
82a4b025 19026
7ffa903f 19027 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
82a4b025 19028
7ffa903f
VC
19029 * make.adb:
19030 (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
19031 (Gnatmake): Set the step flags. Only perform a step if the
19032 corresponding step flag is True.
19033 (Scan_Make_Arg): Reset the bind and link step flags when -u
19034 or -gnatc has been specified.
19035
f91b40db
GB
190362001-12-05 Ed Schonberg <schonber@gnat.com>
19037
07fc65c4 19038 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
f91b40db 19039 get bounds from right operand.
82a4b025 19040
f91b40db 19041 * sem_eval.adb: Minor reformatting
82a4b025 19042
07fc65c4 19043 * exp_util.adb (Make_Literal_Range): use bound of literal rather
f91b40db 19044 than Index'First, its lower bound may be different from 1.
82a4b025 19045
07fc65c4 19046 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
f91b40db 19047 and C48009J
82a4b025 19048
f91b40db
GB
190492001-12-05 Vincent Celier <celier@gnat.com>
19050
19051 * prj-nmsc.adb Minor reformatting
82a4b025 19052
07fc65c4 19053 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
f91b40db 19054 set and libraries are not supported.
82a4b025 19055
f91b40db
GB
190562001-12-05 Ed Schonberg <schonber@gnat.com>
19057
07fc65c4
GB
19058 * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
19059 private view explicitly, so the back-end can treat as a global
f91b40db
GB
19060 when appropriate.
19061
45d04cbb
GB
190622001-12-05 Ed Schonberg <schonber@gnat.com>
19063
19064 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
19065 unit, always replace instance node with new body, for ASIS use.
19066
190672001-12-05 Vincent Celier <celier@gnat.com>
82a4b025 19068
07fc65c4
GB
19069 * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
19070 libraries are not supported and both attributes Library_Name and
45d04cbb 19071 Library_Dir are specified.
82a4b025 19072
07fc65c4 19073 * prj-proc.adb (Expression): Set location of Result to location of
45d04cbb 19074 first term.
82a4b025 19075
45d04cbb
GB
19076 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
19077 (prj-nmsc is now importing MLib.Tgt)
82a4b025 19078
45d04cbb
GB
19079 * prj-proc.adb: Put the change indicated above that was forgotten.
19080
84436014
RD
190812001-12-05 Robert Dewar <dewar@gnat.com>
19082
19083 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
19084
7ae0dcd8
ES
190852001-12-05 Ed Schonberg <schonber@gnat.com>
19086
19087 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
19088 constraint, introduce explicit subtype declaration and derive from it.
82a4b025 19089
7ae0dcd8
ES
19090 * sem_ch3.adb: Minor reformatting
19091
c9a4817d
RD
190922001-12-05 Robert Dewar <dewar@gnat.com>
19093
07fc65c4 19094 * checks.adb (Determine_Range): Increase cache size for checks.
c9a4817d 19095 Minor reformatting
82a4b025 19096
c9a4817d
RD
19097 * exp_ch6.adb: Minor reformatting
19098 (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
19099 a parameter whose root type is System.Address, since treating such
19100 subprograms as pure in the code generator is almost surely a mistake
19101 that will lead to unexpected results.
82a4b025 19102
07fc65c4 19103 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
c9a4817d 19104 change handling of conversions.
82a4b025 19105
c9a4817d
RD
19106 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
19107
2514b839
ES
191082001-12-05 Ed Schonberg <schonber@gnat.com>
19109
07fc65c4
GB
19110 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
19111 aggregate with static wrong size, attach generated Raise node to
2514b839
ES
19112 declaration.
19113
457b6274
RD
191142001-12-05 Robert Dewar <dewar@gnat.com>
19115
07fc65c4 19116 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
457b6274
RD
19117 Fixes compilation abandoned bomb in B24009B.
19118
19349925
ES
191192001-12-05 Ed Schonberg <schonber@gnat.com>
19120
19121 * sem_ch12.adb:
19122 Document use of Associated_Node on Selected_Components.
19123 (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
19124 to clarify use of untyped descendant fields.
19125
6663c393
RD
191262001-12-05 Robert Dewar <dewar@gnat.com>
19127
19128 * prj-dect.ads: Add ??? comment
19129 Add 2001 to copyright notice (was not done in after all)
82a4b025 19130
6663c393 19131 * prj-part.adb: Minor reformatting. Reword one awkward error message.
82a4b025 19132
6663c393 19133 * prj.ads: Minor reformatting throughout, and add some ??? comments
82a4b025 19134
6663c393
RD
19135 * snames.ads: Minor reformatting
19136
d7b2a6af
GB
191372001-12-05 Geert Bosch <bosch@gnat.com>
19138
19139 * snames.adb: Autoupdate
19140
fbc9a404
VC
191412001-12-05 Vincent Celier <celier@gnat.com>
19142
19143 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
82a4b025 19144
fbc9a404 19145 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
82a4b025 19146
fbc9a404 19147 * prj-env.adb: Minor comment changes (modifying -> extends).
82a4b025 19148
fbc9a404 19149 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
82a4b025 19150
07fc65c4 19151 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
fbc9a404 19152 Tok_Extends.
82a4b025 19153
fbc9a404 19154 * prj.adb (Initialize): Change Modifying to Extends.
82a4b025 19155
fbc9a404 19156 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
82a4b025 19157
fbc9a404 19158 * prj.ads: Minor comment change (Modifying -> extending).
82a4b025 19159
fbc9a404
VC
19160 * snames.ads: Change modifying to extends.
19161
7cff0b1b
RD
191622001-12-05 Robert Dewar <dewar@gnat.com>
19163
07fc65c4 19164 * sem_warn.adb: Remove stuff for conditionals, we are not going to
7cff0b1b 19165 do this after all.
82a4b025 19166
07fc65c4 19167 * sem_warn.ads: Remove stuff for conditionals, we are not going to
7cff0b1b
RD
19168 do this after all. Add 2001 to copyright notice
19169
4f56ebb7
GB
191702001-12-04 Geert Bosch <bosch@gnat.com>
19171
19172 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
19173
053defdf
RD
191742001-12-04 Robert Dewar <dewar@gnat.com>
19175
07fc65c4
GB
19176 * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
19177 location if we already have errors. Stops some cases of cascaded
053defdf 19178 errors.
82a4b025 19179
053defdf
RD
19180 * errout.adb: Improve comment.
19181
f311e166
RD
191822001-12-04 Robert Dewar <dewar@gnat.com>
19183
19184 * sem_ch12.adb:
19185 (Analyze_Formal_Type_Definition): Defend against Error.
19186 (Analyze_Formal_Subprogram): Defend against Error.
82a4b025 19187
07fc65c4 19188 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
f311e166
RD
19189 remove following semicolon if present. Removes cascaded error.
19190
d61bd65a
DR
191912001-12-04 Douglas B. Rupp <rupp@gnat.com>
19192
19193 * bindgen.adb:
19194 (Gen_Exception_Table_Ada): Write "begin" and then return if Num
19195 exceptions equals 0.
19196 (Gen_Exception_Table_C): Return if Num exceptions equals 0.
19197 Fixes PIWG E tests (which have to be run with -gnatL).
19198
4ba603e2
RD
191992001-12-04 Robert Dewar <dewar@gnat.com>
19200
19201 * einfo.ads: Minor reformatting
19202
57568d91
ES
192032001-12-04 Ed Schonberg <schonber@gnat.com>
19204
07fc65c4
GB
19205 * einfo.ads: Block_Node points to the identifier of the block, not to
19206 the block node itself, to preserve the link when the block is
19207 rewritten, e.g. within an if-statement with a static condition.
82a4b025 19208
07fc65c4 19209 * inline.adb (Cleanup_Scopes): recover block statement from block
57568d91 19210 entity using new meaning of Block_Node.
82a4b025 19211
07fc65c4 19212 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
57568d91
ES
19213 identifier of block node, rather than to node itself.
19214
0815d36a 192152001-12-04 Gary Dismukes <dismukes@gnat.com>
82a4b025 19216
0815d36a
GD
19217 * layout.adb:
19218 (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
19219 (Discrimify): Go back to setting the Etypes of the selected component
07fc65c4 19220 because the Vname component does not exist at this point and will
0815d36a
GD
19221 fail name resolution. Also set Analyzed.
19222 Remove with and use of Sem_Res.
19223
edc0f304
AC
192242001-12-04 Arnaud Charlet <charlet@gnat.com>
19225
19226 * Makefile.in: (HIE_SOURCES): add s-fat*.
19227
32213142
RD
192282001-12-04 Robert Dewar <dewar@gnat.com>
19229
19230 * sem_attr.adb:
19231 (Compile_Time_Known_Attribute): New procedure.
19232 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
19233 proper range check.
19234
c0def2ad
ES
192352001-12-04 Ed Schonberg <schonber@gnat.com>
19236
07fc65c4 19237 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
c0def2ad
ES
19238 processing discriminants to diagnose illegal default values.
19239
ee0a48c5
ES
192402001-12-04 Ed Schonberg <schonber@gnat.com>
19241
07fc65c4
GB
19242 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
19243 access discriminant within a type extension that constrains its
ee0a48c5
ES
19244 parent discriminants.
19245
dd5875a6
ES
192462001-12-04 Ed Schonberg <schonber@gnat.com>
19247
07fc65c4 19248 * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
dd5875a6 19249 is malformed, use instance of Any_Id to allow analysis to proceed.
82a4b025 19250
07fc65c4 19251 * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
dd5875a6
ES
19252 type definition is illegal.
19253 (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
19254 misplaced.
19255
c2a41e57
ES
192562001-12-04 Ed Schonberg <schonber@gnat.com>
19257
07fc65c4 19258 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
c2a41e57
ES
19259 constants.
19260
0ae84753
RD
192612001-12-04 Robert Dewar <dewar@gnat.com>
19262
19263 * errout.adb: Minor reformatting
19264
63db260e
RD
192652001-12-04 Robert Dewar <dewar@gnat.com>
19266
19267 * exp_util.adb: Minor reformatting from last change
82a4b025 19268
07fc65c4
GB
19269 * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
19270 which is a rewriting of an expression, traverse the original
63db260e
RD
19271 expression to remove warnings that may have been posted on it.
19272
c6d289f4
ES
192732001-12-04 Ed Schonberg <schonber@gnat.com>
19274
07fc65c4 19275 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
c6d289f4
ES
19276 record that has other packed components.
19277
5917e80d
DR
192782001-12-04 Douglass B. Rupp <rupp@gnat.com>
19279
19280 * adaint.c: Minor cleanups.
19281
2c70f9dd
DR
192822001-12-04 Douglass B. Rupp <rupp@gnat.com>
19283
19284 * adaint.c: Do not use utime.h on vxworks.
19285
e59b3387
AC
192862001-12-04 Arnaud Charlet <charlet@gnat.com>
19287
07fc65c4 19288 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
e59b3387
AC
19289 more confusion than it solves.
19290
e288604a
GB
192912001-12-04 Geert bosch <bosch@gnat.com>
19292
19293 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
19294
5ac21013
GB
192952001-12-04 Geert Bosch <bosch@gnat.com>
19296
07fc65c4 19297 * Makefile.in (update-sources): New target.
5ac21013
GB
19298 For use by gcc_release script.
19299
7dd5bd5e
ES
193002001-12-04 Ed Schonberg <schonber@gnat.com>
19301
07fc65c4 19302 * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
7dd5bd5e
ES
19303 a configuration pragma, it is now legal wherever a pragma can appear.
19304
a078a589
ZW
193052001-12-04 Zack Weinberg <zack@codesourcery.com>
19306
19307 * Makefile.in: Don't set ALL. Delete @cross_defines@,
19308 @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
19309 is now @CROSS@ -DIN_GCC; update comment.
19310
0839863c
GB
193112001-12-04 Robert Dewar <dewar@gnat.com>
19312
19313 * einfo.adb (Has_Pragma_Pure_Function): New flag.
19314 Fix problem that stopped ceinfo from working
82a4b025 19315
0839863c 19316 * einfo.ads (Has_Pragma_Pure_Function): New flag.
82a4b025 19317
0839863c
GB
19318 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
19319
193202001-12-04 Douglas B. Rupp <rupp@gnat.com>
9678de49
DR
19321
19322 * gnatchop.adb:
19323 (File_Time_Stamp): New procedure.
19324 (Preserve_Mode): New boolean.
19325 (Write_Unit): Pass time stamp.
19326 Implement -p switch (preserve time stamps).
82a4b025 19327
9678de49 19328 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
82a4b025 19329
9678de49 19330 * gnatchop.adb: Do usage info for -p switch
82a4b025 19331
9678de49 19332 * adaint.h (__gnat_set_file_time_name): New function
82a4b025 19333
9678de49 19334 * adaint.c (__gnat_set_file_time_name): Implement
82a4b025 19335
9678de49
DR
19336 * adaint.h: Fix typo
19337
3b9a13c4
RD
193382001-12-03 Robert Dewar <dewar@gnat.com>
19339
667e5c5d 19340 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
b4f94ac1 19341 have Associated_Node.
3b9a13c4 19342
767b404e
RD
193432001-12-03 Robert Dewar <dewar@gnat.com>
19344
19345 * prj-proc.adb: Minor reformatting
667e5c5d 19346
767b404e
RD
19347 * make.adb: Minor reformatting
19348
11ac71ba
GB
193492001-12-03 Geert Bosch <bosch@gnat.com>
19350
667e5c5d 19351 * make.adb: Minor reformatting.
11ac71ba 19352
ef3d4d6e 193532001-12-03 Robert Dewar <dewar@gnat.com>
b1446533
RD
19354
19355 * sem_ch12.adb: Minor reformatting
19356
d6d32b24
ES
193572001-12-03 Ed Schonberg <schonber@gnat.com>
19358
667e5c5d
AJ
19359 * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
19360 push Standard on the stack before analyzing the instance body,
d6d32b24 19361 in order to have a clean visibility environment.
667e5c5d
AJ
19362
19363 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
d6d32b24 19364
13f08f03
ES
193652001-12-03 Ed Schonberg <schonber@gnat.com>
19366
667e5c5d 19367 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
13f08f03
ES
19368 instantiation of a body that contains an inlined body.
19369
3bd6c100
ES
193702001-12-03 Ed Schonberg <schonber@gnat.com>
19371
19372 * sem_ch12.adb:
19373 (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
19374 to prevent freezing within formal packages.
19375 (Freeze_Subprogram_Body): If body comes from another instance that
19376 appeared before its own body, place freeze node at end of current
19377 declarative part, to prevent a back-end crash.
19378 (Inline_Instance_Body): Handle properly a package instance within
19379 a subprogram instance that is a child unit.
19380
58d07d8f
GS
193812001-12-01 Graham Stott <grahams@redhat.com>
19382
19383 * Makefile.in (misc.o): Add missing $(srcdir) prefix
19384 and add optabs.h dependency.
19385
19386 * misc.c: Include optabs.h
19387 (gnat_tree_code_type): Make static and const.
19388 (gnat_tree_code_length): Likewise.
19389 (gnat_tree_code_name): Likewise.
19390 (update_setjmp_buf): Obtain operands mode from insn_data.
19391
c87222f0
RH
193922001-11-29 Richard Henderson <rth@redhat.com>
19393
19394 * init.c: Remove obsolete dwarf2 frame.h section.
19395
d3945f0a
JM
193962001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
19397
19398 * Make-lang.in (ada.generated-manpages): New dummy target.
19399
9f639397
ES
194002001-11-29 Ed Schonberg <schonber@gnat.com>
19401
667e5c5d
AJ
19402 * g-os_lib.adb (Add_To_Command): use explicit loop to move string
19403 into Command, an array conversion is illegal here. Uncovered by
9f639397
ES
19404 ACATS B460005.
19405
611bcfc0 194062001-11-28 Geert Bosch <bosch@gnat.com>
c835e5c6
GB
19407
19408 * init.c: Minor whitespace changes.
19409
49bb4548
DR
194102001-11-28 Doug Rupp <rupp@gnat.com>
19411
667e5c5d 19412 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
49bb4548
DR
19413 signal stack.
19414
ea2417e5
ZW
194152001-11-28 Zack Weinberg <zack@codesourcery.com>
19416
19417 * misc.c (gnat_expand_constant): Move declaration above
19418 definition of lang_hooks.
19419 (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
19420 (gnat_init): lang_expand_constant no longer exists.
19421
19422 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
19423 always have vprintf.
19424 (gnat_init): Always call set_internal_error_function.
19425
f8e0aa73
AJ
194262001-11-27 Andreas Jaeger <aj@suse.de>
19427
19428 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
19429
d99b0e79
LG
194302001-11-27 Laurent Guerby <guerby@acm.org>
19431
19432 * Makefile.in: Regenerate Ada dependencies.
19433
3f0496e5
RH
194342001-11-26 Richard Henderson <rth@redhat.com>
19435
19436 * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
19437 gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
19438 gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
19439
92fa4733
LG
194402001-11-25 Laurent Guerby <guerby@acm.org>
19441
19442 * sysdep.c (rts_get_*): Fix style.
19443
07626501
LG
194442001-11-19 Laurent Guerby <guerby@acm.org>
19445
19446 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
19447 since it is of no apparent use and cause warnings.
19448
22703ccc
NB
194492001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
19450
19451 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
19452 static too.
19453 (gnat_init): Don't return NULL.
19454 (finish_parse): Remove.
19455
b0df4321
LG
194562001-11-17 Laurent Guerby <guerby@acm.org>
19457
19458 * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
19459 * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
19460 * io-aux.c: Provide K&R prototypes to all functions, reformat code.
19461 * lang-spec.h: Add missing struct field to silence warnings.
19462 * sysdep.c (rts_get_*): Provide K&R prototype.
19463 * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
19464 * traceback.c (Unlock_Task, Lock_Task): Likewise.
19465 * tracebak.c (__gnat_backtrace): Remove unused variable.
19466 * utils.c (end_subprog_body): Move to K&R style.
19467
d215024f
RK
19468Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19469
19470 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
19471
f5e99456
NB
194722001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
19473
19474 * misc.c (gnat_init): Change prototype. Include the
19475 functionality of the old init_parse and init_decl_processing.
19476 (gnat_init_decl_processing): New prototype.
19477 (init_parse): Remove.
19478 * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
19479
5d69f816
NB
194802001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
19481
19482 * misc.c (gnat_print_decl, gnat_print_type): Renamed.
19483 (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
19484 (print_lang_statistics, lang_print_xnode, print_lang_identifier,
19485 set_yydebug): Remove.
19486
3ac88239
NB
194872001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
19488
19489 * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
19490 (struct lang_hooks): Constify.
19491 (language_string, lang_identify): Remove.
19492 * utils.c (init_decl_processing): Update.
19493
d23c55c2
NB
194942001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
19495
19496 * misc.c: Include langhooks-def.h.
19497 * Makefile.in: Update.
19498
04a1b79c
RD
194992001-10-30 Robert Dewar <dewar@gnat.com>
19500
19501 * style.adb:
19502 (Check_Identifier): Rewrite circuit to be compatible with use of letters
19503 in the upper half of ASCII.
19504 (Check_Identifier): Minor reformatting
19505
81fa2d39
GB
195062001-10-30 Geert Bosch <bosch@gnat.com>
19507
f8e0aa73 19508 * (Associated_Node, Set_Associated_Node): Do not check for
81fa2d39
GB
19509 Freeze_Entity.
19510
ffc5527f
RD
195112001-10-30 Robert Dewar <dewar@gnat.com>
19512
19513 * a-reatim.ads: Minor reformatting
19514
865335eb
RD
195152001-10-30 Robert Dewar <dewar@gnat.com>
19516
f8e0aa73 19517 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
865335eb
RD
19518 undocumented declarations.
19519
5e257178
PO
195202001-10-30 Pascal Obry <obry@gnat.com>
19521
f8e0aa73 19522 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
5e257178
PO
19523 to the binder and linker.
19524 Minor style fix.
f8e0aa73 19525
5e257178
PO
19526 * mdll.ads: Fix layout. Update copyright notice.
19527
19528 * mdll.adb: Fix layout. Update copyright notice.
19529
1753e0ad
RD
195302001-10-30 Robert Dewar <dewar@gnat.com>
19531
19532 * usage.adb: Minor fix to output for -gnaty.
19533
84bfdde0
ES
195342001-10-30 Ed Schonberg <schonber@gnat.com>
19535
f8e0aa73
AJ
19536 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
19537 to accommodate all its possible values.
84bfdde0 19538
f8e0aa73 19539 * a-reatim.adb (Split): Special-case handling of Time_Span_First
84bfdde0
ES
19540 and of small absolute values of T.
19541
c296e5fc
RK
195422001-10-30 Richard Kenner <kenner@gnat.com>
19543
f8e0aa73
AJ
19544 * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
19545 set_mem_attributes since not needed and wrong if RESULT if a REG;
c296e5fc
RK
19546 fixes ACATS failures.
19547
07c809df
GB
195482001-10-30 Geert Bosch <bosch@gnat.com>
19549
19550 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
19551 s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
19552
54d22416 195532001-10-30 Robert Dewar <dewar@gnat.com>
f8e0aa73 19554
54d22416 19555 * bindusg.adb: Undocument -f switch.
f8e0aa73 19556
54d22416 19557 * gnatcmd.adb: Remove /FULL_ELABORATION.
f8e0aa73
AJ
19558
19559 * opt.ads (Force_RM_Elaboration_Order): Document that this is
54d22416 19560 obsolescent.
f8e0aa73 19561
54d22416 19562 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
f8e0aa73 19563
54d22416
RD
19564 * gnatbind.adb: Minor update of warning msg.
19565
af5cf6f8
VC
195662001-10-30 Vincent Celier <celier@gnat.com>
19567
f8e0aa73 19568 * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
af5cf6f8 19569 for project file switches (-P (/PROJECT_FILE=),
f8e0aa73 19570 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
af5cf6f8
VC
19571 or MEDIUM or HIGH)
19572
984bc4c3
GB
195732001-10-30 Geert Bosch <bosch@gnat.com>
19574
19575 * decl.c: Minor whitespace fixes.
19576
5dece937
RK
195772001-10-30 Richard Kenner <kenner@gnat.com>
19578
19579 * utils2.c (build_allocator): Test for SIZE overflow in array case too
19580
de4bf6cb
GB
195812001-10-30 Geert Bosch <bosch@gnat.com>
19582
f8e0aa73 19583 * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
de4bf6cb 19584 Found due to GCC 3.0 warning of using uninitialized value.
f8e0aa73 19585
de4bf6cb
GB
19586 * layout.adb:
19587 (Get_Max_Size): Use variant record for tracking value/expression.
19588 Makes logic clearer and prevents warnings for uninitialized variables.
19589 (Layout_Array_Type): Use variant record for tracking value/expression.
19590 Makes logic clearer and prevents warnings for uninitialized variables.
19591
f5e44987
RD
195922001-10-30 Robert Dewar <dewar@gnat.com>
19593
19594 * lib.adb: Minor reformatting
19595
19596 * s-taprop.ads: Minor reformatting
19597
45659035 195982001-10-29 Laurent Guerby <guerby@acm.org>
f8e0aa73 19599
45659035
GB
19600 * init.c:
19601 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
19602 const.
19603 (_gnat_error_handler): Make MSG const.
19604
196052001-10-29 Richard Kenner <kenner@gnat.com>
19606
19607 * sysdep.c: Fix localtime_r problem on LynxOS.
19608 Also remove #elif to avoid warnings.
f8e0aa73
AJ
19609
19610 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
45659035 19611 used by this.
f8e0aa73 19612
45659035
GB
19613 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
19614
638e383e
JM
196152001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
19616
19617 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
19618 exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
19619 g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
19620 g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
19621 layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
19622 s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
19623 sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
19624 sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
19625 sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
19626 types.ads, urealp.adb: Fix spelling errors.
19627
97f6baa0
LG
196282001-10-27 Laurent Guerby <guerby@acm.org>
19629
19630 * trans.c (gigi): Fix non determinism leading to bootstrap
19631 comparison failures for debugging information.
19632
46b58b8c
FW
196332001-10-26 Florian Weimer <fw@deneb.enyo.de>
19634
19635 * gnat_rm.texi: Use @./@: where appropriate.
19636
30151c7b
RD
196372001-10-26 Robert Dewar <dewar@gnat.com>
19638
19639 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
19640
c0b1738d
RK
196412001-10-26 Richard Kenner <kenner@gnat.com>
19642
19643 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
19644
5b09c153
RK
196452001-10-26 Richard Kenner <kenner@gnat.com>
19646
f8e0aa73 19647 * decl.c (validate_size): Modify message for bad size to avoid
5b09c153
RK
19648 implication that compiler is modifying the size.
19649
4d553668
RD
196502001-10-26 Robert Dewar <dewar@gnat.com>
19651
19652 * prj-util.adb: Minor reformatting. Fix bad header format.
19653
3e542a58
RD
196542001-10-26 Robert Dewar <dewar@gnat.com>
19655
19656 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
f8e0aa73 19657
3e542a58 19658 * sinfo.ads: Clarify use of Associated_Node (documentation only).
f8e0aa73
AJ
19659
19660 * sem_ch12.adb: Change Node4 to Associated_Node. Change
19661 Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
3e542a58
RD
19662 much more narrowly in places where needed. These are cleanups.
19663
0bf08bfe
JB
196642001-10-26 Joel Brobecker <brobecke@gnat.com>
19665
19666 * 5zosinte.ads (null_pthread): new constant.
f8e0aa73 19667
0bf08bfe
JB
19668 * 5ztaprop.adb:
19669 (Initialize_TCB): Initialize thread ID to null, to be able to verify
19670 later that this field has been set.
19671 (Finalize_TCB): ditto.
19672 (Suspend_Task): Verify that the thread ID is not null before using it.
19673 (Resume_Task): ditto.
f8e0aa73 19674
0bf08bfe
JB
19675 * s-tasdeb.adb:
19676 (Resume_All_Tasks): Lock the tasks list before using it.
19677 (Suspend_All_Tasks): ditto.
19678
7a3a8c06
RK
196792001-10-26 Richard Kenner <kenner@gnat.com>
19680
f8e0aa73 19681 * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
7a3a8c06
RK
19682 Make constant variant of designated type for Is_Access_Constant.
19683 Call update_pointer_to with main variant.
f8e0aa73
AJ
19684
19685 * trans.c (process_freeze_entity, process_type):
7a3a8c06 19686 Call update_pointer_to on main variant.
f8e0aa73 19687
7a3a8c06
RK
19688 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
19689 If main variant, update all other variants.
f8e0aa73
AJ
19690
19691 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
7a3a8c06
RK
19692 TREE_STATIC.
19693
a160babb
RD
196942001-10-26 Robert Dewar <dewar@gnat.com>
19695
19696 * prj-util.adb: Minor reformatting
19697
b403bd17
RD
196982001-10-26 Robert Dewar <dewar@gnat.com>
19699
19700 * prj-util.adb: Minor reformatting
19701
5fc3b4c7
RD
197022001-10-26 Robert Dewar <dewar@gnat.com>
19703
19704 * prj-attr.adb: Minor reformatting throughout
19705
8c736034
RD
197062001-10-26 Robert Dewar <dewar@gnat.com>
19707
19708 * prj-attr.ads: Minor reformatting
19709 Add ??? comment (this whole spec has almost no comments)
19710
47d5b6ed
VC
197112001-10-26 Vincent Celier <celier@gnat.com>
19712
f8e0aa73 19713 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
b4f94ac1 19714 ("//") that precede the drive letter on Interix.
47d5b6ed 19715
41af791f
GB
197162001-10-26 Geert Bosch <bosch@gnat.com>
19717
19718 * gnat_rm.texi: Add GNAT Reference Manual.
19719
ed4a1468
RD
197202001-10-25 Robert Dewar <dewar@gnat.com>
19721
f8e0aa73 19722 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
b4f94ac1 19723 is Error. Similar change for other renaming cases.
ed4a1468 19724
24377ae4
RD
197252001-10-25 Robert Dewar <dewar@gnat.com>
19726
19727 * s-atacco.ads: Add pragma Inline_Always for functions.
19728 Fix header format. Add copyright 2001
19729
fef3204e
ES
197302001-10-25 Ed Schonberg <schonber@gnat.com>
19731
f8e0aa73 19732 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
b4f94ac1 19733 return Error rather than Empty so that analysis can proceed.
fef3204e 19734
dfc69d80
ES
197352001-10-25 Ed Schonberg <schonber@gnat.com>
19736
f8e0aa73 19737 * sem_util.adb (Enter_Name): better handling of cascaded error
b4f94ac1 19738 messages when a unit appears in its own context.
dfc69d80 19739
5a15af62
ES
197402001-10-25 Ed Schonberg <schonber@gnat.com>
19741
f8e0aa73 19742 * sem_util.adb (Defining_Entity): in case of error, attach created
b4f94ac1 19743 entity to specification, so that semantic analysis can proceed.
5a15af62 19744
2b881d53
RD
197452001-10-25 Robert Dewar <dewar@gnat.com>
19746
f8e0aa73 19747 * sem_util.adb
b4f94ac1 19748 (Defining_Entity): Deal with Error.
2b881d53
RD
19749 (Process_End_Label): Deal with bad end label for.
19750
578053f2
ES
197512001-10-25 Ed Schonberg <schonber@gnat.com>
19752
f8e0aa73 19753 * sem_elab.adb (Check_A_Call): refine message when call is in an
578053f2
ES
19754 instance but callee is not declared in the generic unit.
19755
0597ce0b 197562001-10-25 Ed Schonberg <schonber@gnat.com>
f8e0aa73
AJ
19757
19758 * sem_elab.adb (Check_A_Call): check for renaming before finding the
0597ce0b
ES
19759 enclosing unit, which may already be different from the calling unit.
19760
3de6e6da
GB
197612001-10-25 Geert Bosch <bosch@gnat.com>
19762
19763 * 4gintnam.ads: fix header format.
19764
6f311316
ES
197652001-10-25 Ed Schonberg <schonber@gnat.com>
19766
f8e0aa73 19767 * sem_res.adb (Resolve_Call): if the call is actually an indexing
b4f94ac1
ZW
19768 operation on the result of a parameterless call, perform elaboration
19769 check after the node has been properly rewritten.
f8e0aa73
AJ
19770
19771 * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
b4f94ac1
ZW
19772 inlined within the generic tree, the defining identifier is not a
19773 compilation_unit.
6f311316 19774
17be0cdf
ES
197752001-10-25 Ed Schonberg <schonber@gnat.com>
19776
f8e0aa73 19777 * sem_res.adb (Resolve): special-case resolution of Null in an
b4f94ac1 19778 instance or an inlined body to avoid view conflicts.
f8e0aa73
AJ
19779
19780 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
b4f94ac1 19781 compatibility by retrieving the access type of the generic copy.
17be0cdf 19782
ce9e9122
RD
197832001-10-25 Robert Dewar <dewar@gnat.com>
19784
19785 * sem_ch3.adb:
19786 (Analyze_Number_Declaration): Handle error expression.
19787 (Signed_Integer_Type_Declaration): Handle error bound.
19788 (Analyze_Subtype_Indication): Handle error range.
f8e0aa73 19789
ce9e9122
RD
19790 * sem_util.adb (Get_Index_Bounds): Check for Error.
19791
e12fbc9e
RD
197922001-10-25 Robert Dewar <dewar@gnat.com>
19793
f8e0aa73 19794 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
e12fbc9e
RD
19795 in no run time mode.
19796
52b80488
PO
197972001-10-25 Pascal Obry <obry@gnat.com>
19798
f8e0aa73 19799 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
b4f94ac1 19800 mode case for ALLOC case.
f8e0aa73
AJ
19801
19802 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
b4f94ac1 19803 all platforms. Improvement of last change.
52b80488 19804
316ad9c5
RD
198052001-10-25 Robert Dewar <dewar@gnat.com>
19806
19807 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
19808
1a7e4df4
GB
198092001-10-25 Geert Bosch <bosch@gnat.com>
19810
19811 * osint.adb (Is_Relative): Remove duplicate.
19812
90a9fff2
PO
198132001-10-25 Pascal Obry <obry@gnat.com>
19814
f8e0aa73 19815 * osint.adb (Read_Default_Search_Dirs): correctly detect relative
b4f94ac1 19816 pathnames in UNIX and DOS style with drive letter.
90a9fff2 19817 (Is_Relative): new routine.
f8e0aa73 19818
90a9fff2 19819 * osint.adb: Minor reformatting
f8e0aa73
AJ
19820
19821 * osint.adb (Is_Relative): implementation using
b4f94ac1 19822 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
90a9fff2 19823
5c1ba4cc
PO
198242001-10-25 Pascal Obry <obry@gnat.com>
19825
f8e0aa73 19826 * g-dirope.adb (Basename): correctly compute offset between the
b4f94ac1 19827 original Path and the translated one.
f8e0aa73 19828
5c1ba4cc
PO
19829 * g-dirope.adb: (Base_Name): add some comments.
19830
a7fb206d
RD
198312001-10-25 Robert Dewar <dewar@gnat.com>
19832
f8e0aa73 19833 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
b4f94ac1 19834 in HIE mode, avoids compilation abandoned message
f8e0aa73 19835
a7fb206d 19836 * exp_imgv.adb: Correct typo in previous change
f8e0aa73 19837
a7fb206d
RD
19838 * exp_imgv.adb: Correct typo in previous change (not my day!)
19839
e6a7e62e
RD
198402001-10-25 Robert Dewar <dewar@gnat.com>
19841
19842 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
19843
0d2b8e0b 198442001-10-25 Pascal Obry <obry@gnat.com>
75c09e7d 19845
f8e0aa73 19846 * g-awk.ads: Move all pragma inlines next to the routine
0d2b8e0b 19847 declarations. This is more uniform with other GNAT spec.
75c09e7d 19848
0d2b8e0b 198492001-10-22 Geert Bosch <bosch@gnat.com>
d2740a69
GB
19850
19851 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
19852
0d2b8e0b 198532001-10-19 Geert Bosch <bosch@gnat.com>
d7ac9bdd
GB
19854
19855 * Makefile.in (tools, gnattools): Remove gnatmem.
19856
17ed6335
RH
198572001-10-17 Richard Henderson <rth@redhat.com>
19858
19859 * Makefile.in (misc.o): Depend on langhooks.h.
19860 * misc.c: Include it.
19861 (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
19862 (LANG_HOOKS_DECODE_OPTION): New.
19863 (lang_hooks): Use LANG_HOOKS_INITIALIZER.
19864
f2436274
FW
198652001-10-16 Florian Weimer <fw@deneb.enyo.de>
19866
19867 * trans.c (tree_transform): Adjust to recent change in
19868 expand_asm_operands to implement named asm operands.
19869
b14127e6
ES
198702001-10-11 Ed Schonberg <schonber@gnat.com>
19871
f8e0aa73 19872 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
b14127e6
ES
19873 renaming of discriminant for mutable record type.
19874
e70ee92a
RD
198752001-10-11 Robert Dewar <dewar@gnat.com>
19876
19877 * validsw.adb: Properly save -gnatVn status.
19878
9a5621d7 198792001-10-11 Robert Dewar <dewar@gnat.com>
f8e0aa73 19880
9a5621d7
RD
19881 * usage.adb: Add lines for V switch.
19882
f8e0aa73 19883 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
9a5621d7
RD
19884 (/VALIDITY_CHECKING).
19885
45667f04
ES
198862001-10-11 Ed Schonberg <schonber@gnat.com>
19887
f8e0aa73 19888 * sem_type.adb (Add_One_Interp): an operator for a type declared in
45667f04
ES
19889 an extension of System is known to be visible.
19890
c3de5c4c
ES
198912001-10-11 Ed Schonberg <schonber@gnat.com>
19892
f8e0aa73 19893 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
c3de5c4c
ES
19894 properly. Fixes regression on ACATS C34005G.
19895
4fa964a6
RD
198962001-10-11 Robert Dewar <dewar@gnat.com>
19897
f8e0aa73 19898 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
4fa964a6
RD
19899 loop in generic instance, since this is likely not very useful.
19900
0868e09c
RD
199012001-10-11 Robert Dewar <dewar@gnat.com>
19902
f8e0aa73 19903 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
0868e09c 19904 the error message for high integrity mode.
f8e0aa73
AJ
19905
19906 * rtsfind.adb (RTE): Give message if we try to find an entity that
0868e09c 19907 is not available in high integrity mode.
f8e0aa73 19908
0868e09c
RD
19909 * rtsfind.ads:
19910 (OK_To_Use_In_HIE_Mode): New array.
19911 (RTE): May return Empty in high integrity mode.
f8e0aa73
AJ
19912
19913 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
19914 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
19915
19916 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
19917 unit if not inlined always and in no runtime mode. Fixes problem
0868e09c 19918 caused by new Rtsfind changes.
f8e0aa73
AJ
19919
19920 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
0868e09c 19921 body is deleted.
f8e0aa73
AJ
19922
19923 * rtsfind.adb (RTE): Make sure we do not try to load unit after
0868e09c
RD
19924 giving message for entity not available in high integrity mode.
19925
934abf9c 199262001-10-11 Pascal Obry <obry@gnat.com>
f8e0aa73 19927
934abf9c
PO
19928 * impunit.adb: Add GNAT.CRC32.
19929
3c72bea4
ES
199302001-10-11 Ed Schonberg <schonber@gnat.com>
19931
f8e0aa73
AJ
19932 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
19933 properly the case where one universal operand in a non-static
3c72bea4
ES
19934 exponentiation of a real literal.
19935
44d8d2bb
ES
199362001-10-11 Ed Schonberg <schonber@gnat.com>
19937
f8e0aa73
AJ
19938 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
19939 clause, return the gobal finalization list, for lack of anthing else.
44d8d2bb 19940
9e2b9627
ES
199412001-10-11 Ed Schonberg <schonber@gnat.com>
19942
f8e0aa73
AJ
19943 * exp_ch7.adb (Make_Transient_Block): if statement is within
19944 exception handler, always use new transient scope to place Clean
9e2b9627
ES
19945 procedure.
19946
cfac6e9f
PO
199472001-10-11 Pascal Obry <obry@gnat.com>
19948
19949 * Makefile.in:
19950 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
19951 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
19952 (GNATLS_RTL_OBJS): add g-crc32.o
19953 (GNATMAKE_RTL_OBJS): add g-crc32.o
f8e0aa73 19954
cfac6e9f
PO
19955 * ali-util.adb:
19956 (CRC_Match): new function.
f8e0aa73 19957 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
cfac6e9f
PO
19958 instead of the previous simple checksum algorithm.
19959 (Time_Stamp_Mismatch): use CRC_Match for comparison.
19960 (Set_Source_Table): idem.
f8e0aa73 19961
cfac6e9f 19962 * ali-util.ads:
f8e0aa73 19963 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
cfac6e9f
PO
19964 instead of simple checksum.
19965 (CRC_Match): new function.
19966 (CRC_Error): new constant.
f8e0aa73
AJ
19967
19968 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
19969 a CRC now and not a simple checksum. A CRC uses lower-case hex
cfac6e9f 19970 letters, fixes ambiguity in parsing.
f8e0aa73
AJ
19971
19972 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
cfac6e9f 19973 is what this variable will store.
f8e0aa73 19974
cfac6e9f 19975 * bcheck.adb: Change reference to chechsum in comments by CRC.
f8e0aa73
AJ
19976 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
19977 rename All_Checksum_Match to All_CRC_Match. Change due to API
19978 renaming since now GNAT does not use a simple checksum but a
cfac6e9f 19979 CRC using GNAT.CRC32.
f8e0aa73
AJ
19980
19981 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
cfac6e9f 19982 now and not anymore a simple checksum.
f8e0aa73
AJ
19983
19984 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
cfac6e9f 19985 places.
f8e0aa73 19986
cfac6e9f 19987 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
f8e0aa73 19988
cfac6e9f
PO
19989 * scans.adb:
19990 (Restore_Scan_State): rename Checksum to CRC.
19991 (Save_Scan_State): idem.
f8e0aa73 19992
cfac6e9f
PO
19993 * scans.ads:
19994 With GNAT.CRC32.
19995 (Checksum): rename to CRC.
19996 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
f8e0aa73
AJ
19997
19998 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
cfac6e9f 19999 GNAT.CRC32). Update copyright notice.
f8e0aa73
AJ
20000
20001 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
cfac6e9f 20002 GNAT.CRC32). Update copyright notice.
f8e0aa73 20003
cfac6e9f
PO
20004 * scn.adb:
20005 (Accumulate_Checksum): removed.
20006 (Update): new procedure. Add a wide-character into the CRC.
f8e0aa73 20007
cfac6e9f
PO
20008 * sinput-l.adb:
20009 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
f8e0aa73 20010 (Load_File): fix initialization of S (change Source_Checksum to
cfac6e9f 20011 Source_CRC)
f8e0aa73
AJ
20012
20013 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
cfac6e9f 20014 Source_CRC in S initialization.
f8e0aa73 20015
cfac6e9f 20016 * sinput.adb (Source_Checksum): renamed to Source_CRC.
f8e0aa73 20017
cfac6e9f
PO
20018 * sinput.ads (Source_Checksum): renamed to Source_CRC.
20019 Update comments for the CRC.
f8e0aa73 20020
cfac6e9f 20021 * types.adb (Hex): Use lowercase for the letter part.
f8e0aa73
AJ
20022
20023 * types.ads (Get_Hex_String): Returns the hexadecimal representation
20024 for a word. This is currently used only for CRC. In previous version,
20025 the checksum was using a representation with all letter being
20026 upper-case. With the new implementation (using CRC) we do not remove
20027 the 32th bit of the CRC, so we can have an upper-case starting letter
20028 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
20029 It is ambigous since the CRC was optional and could be followed by
20030 options like EB, EE. So now this routines uses lower-case letter for
20031 the hexadecimal representation. Strange enough only lower case letters
cfac6e9f 20032 where checked in Scan_ALI (even if this was not a possible case).
f8e0aa73 20033
cfac6e9f 20034 * gnatvsn.ads (Library_Version): changed to 3.15a.
f8e0aa73
AJ
20035
20036 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
cfac6e9f 20037 for the compiler.
f8e0aa73
AJ
20038
20039 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
cfac6e9f 20040 for the compiler.
f8e0aa73 20041
cfac6e9f
PO
20042 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
20043 Add 2001 to copyright notice
20044 (Accumulate_Checksum): Modify to use System.CRC32.
f8e0aa73
AJ
20045
20046 * ali-util.ads: Redo changes of previous revision to continue to use
cfac6e9f 20047 the word Checksum. Add 2001 to copyright notice.
f8e0aa73 20048
cfac6e9f
PO
20049 * ali.adb: Undo some of previous changes, not needed.
20050 Keep the change for lower case letters in the checksum.
f8e0aa73 20051
cfac6e9f
PO
20052 * ali.ads: Undo previous change not needed.
20053
20054 * bcheck.adb: Undo most of previous change, not needed.
20055 But do use Checksums_Match for checksum comparison.
f8e0aa73 20056
cfac6e9f
PO
20057 * gnatls.adb: Undo most of previous change, not needed.
20058 But do use Checksums_Match for comparing checksums.
f8e0aa73 20059
cfac6e9f 20060 * lib-load.adb: Undo previous change, not needed.
f8e0aa73 20061
cfac6e9f 20062 * lib-writ.adb: Undo previous change, not needed.
f8e0aa73
AJ
20063
20064 * lib-writ.ads: Document that checksums use lower case,
cfac6e9f 20065 not upper case letters.
f8e0aa73 20066
cfac6e9f 20067 * scans.adb: Undo previous change, not needed
f8e0aa73 20068
cfac6e9f 20069 * scans.ads: Undo previous change, not needed.
f8e0aa73 20070
cfac6e9f 20071 * scn-nlit.adb: Undo previous changes, not needed.
f8e0aa73 20072
cfac6e9f 20073 * scn-slit.adb: Undo previous change, not needed. Fix header format.
f8e0aa73 20074
cfac6e9f
PO
20075 * scn.adb:
20076 (Accumulate_Checksum): Use System.CRC32.
20077 (Initialize_Checksum): New procedure.
20078 Remove other changes of previous revision.
f8e0aa73 20079
cfac6e9f 20080 * sinput-p.adb: Undo previous change, not needed.
f8e0aa73 20081
cfac6e9f
PO
20082 * sinput.adb: Undo previous change, not needed.
20083
20084 * sinput-l.adb: Undo previous change, not needed.
f8e0aa73
AJ
20085
20086 * sinput.ads: Undo previous change, not needed. Keep only comment
cfac6e9f 20087 on new checksum algorithm
f8e0aa73 20088
cfac6e9f
PO
20089 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
20090 Also remove a-tags and a-stream from GNAT sources.
f8e0aa73 20091
cfac6e9f 20092 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
f8e0aa73 20093
cfac6e9f
PO
20094 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
20095
4d6d06a5
GB
200962001-10-11 Geert Bosch <bosch@gnat.com>
20097
20098 * einfo.h: Regenerate.
20099
20100 * nmake.ads: Regenerate.
20101
20102 * nmake.adb: Regenerate.
20103
20104 * sinfo.h: Regenerate.
20105
20106 * treeprs.adb: Regenerate.
20107
c97412e2
GB
201082001-10-10 Geert Bosch <bosch@gnat.com>
20109
20110 * gnat-style.texi: New file describing coding guidelines for Ada.
f8e0aa73 20111
b83018ca
ES
201122001-10-10 Ed Schonberg <schonber@gnat.com>
20113
f8e0aa73 20114 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
b83018ca
ES
20115 is Flag174.
20116
e834fe1f
GB
201172001-10-10 Geert Bosch <bosch@gnat.com>
20118
20119 * snames.ads: Add new names for project facility.
20120
20121 * snames.adb: Update to reflect snames.ads changes.
20122
20123 * snames.h: Update to reflect snames.ads changes.
20124
b30668b7
VC
201252001-10-10 Vincent Celier <celier@gnat.com>
20126
20127 * make.adb:
20128 (Add_Switches): reflect the changes for the switches attributes
20129 Default_Switches indexed by the programming language,
20130 Switches indexed by the file name.
20131 (Collect_Arguments_And_Compile): Idem.
20132 Reflect the attribute name changes.
f8e0aa73 20133
b30668b7
VC
20134 * prj-attr.adb:
20135 (Initialisation_Data): Change the names of some packages and
20136 attributes.
20137 (Initialize): process case insensitive associative arrays.
f8e0aa73 20138
b30668b7
VC
20139 * prj-attr.ads:
20140 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
f8e0aa73 20141
b30668b7
VC
20142 * prj-dect.adb:
20143 (Parse_Attribute_Declaration): For case insensitive associative
20144 arrays, set the index string to lower case.
f8e0aa73 20145
b30668b7
VC
20146 * prj-env.adb:
20147 Reflect the changes of the project attributes.
f8e0aa73 20148
b30668b7
VC
20149 * prj-nmsc.adb:
20150 Replace Check_Naming_Scheme by Ada_Check and
20151 Language_Independent_Check.
f8e0aa73 20152
b30668b7
VC
20153 * prj-nmsc.ads:
20154 Replaced Check_Naming_Scheme by 2 procedures:
20155 Ada_Check and Language_Independent_Check.
f8e0aa73 20156
b30668b7
VC
20157 * prj-proc.adb:
20158 (Process_Declarative_Items): For case-insensitive associative
20159 arrays, set the index string to lower case.
20160 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
20161 Prj.Nmsc.Check_Naming_Scheme.
f8e0aa73 20162
b30668b7
VC
20163 * prj-tree.adb:
20164 (Case_Insensitive): New function
20165 (Set_Case_Insensitive): New procedure
f8e0aa73 20166
b30668b7
VC
20167 * prj-tree.ads:
20168 (Case_Insensitive): New function
20169 (Set_Case_Insensitive): New procedure
20170 (Project_Node_Record): New flag Case_Insensitive.
f8e0aa73 20171
b30668b7
VC
20172 * prj-util.adb:
20173 (Value_Of): new function to get the string value of a single
20174 string variable or attribute.
f8e0aa73 20175
b30668b7
VC
20176 * prj-util.ads:
20177 (Value_Of): new function to get the string value of a single
20178 string variable or attribute.
f8e0aa73 20179
b30668b7
VC
20180 * prj.adb:
20181 (Ada_Default_Spec_Suffix): New function
20182 (Ada_Default_Impl_Suffix): New function
20183 Change definitions of several constants to reflect
20184 new components of record types.
f8e0aa73 20185
b30668b7
VC
20186 * prj.ads:
20187 (Naming_Data): Change several components to reflect new
20188 elements of naming schemes.
20189 (Project_Data): New flags Sources_Present and
20190 Language_Independent_Checked.
20191 (Ada_Default_Spec_Suffix): New function.
20192 (Ada_Default_Impl_Suffix): New function.
f8e0aa73 20193
b30668b7
VC
20194 * snames.ads:
20195 Modification of predefined names for project manager: added
20196 Implementation, Specification_Exceptions, Implementation_Exceptions,
20197 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
20198 Default_Switches, _Languages, Builder, Cross_Reference,
20199 Finder. Removed Body_Part, Specification_Append, Body_Append,
20200 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
20201 Gnatlink.
f8e0aa73 20202
b30668b7
VC
20203 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
20204 Add comments.
f8e0aa73 20205
b30668b7
VC
20206 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
20207 not that it is Nil_Variable_Value.
f8e0aa73 20208
b30668b7
VC
20209 * prj.ads: Add ??? for uncommented declarations
20210
662e57b4
ES
202112001-10-10 Ed Schonberg <schonber@gnat.com>
20212
f8e0aa73
AJ
20213 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
20214 constant, do not indicate possible modification, so that gigi can
662e57b4
ES
20215 treat it as a bona fide constant.
20216
72e4357f
RD
202172001-10-10 Robert Dewar <dewar@gnat.com>
20218
20219 * sem_prag.adb: Add processing for pragma External.
f8e0aa73 20220
72e4357f 20221 * snames.ads: Add entry for pragma External.
f8e0aa73 20222
72e4357f 20223 * par-prag.adb: Add pragma External.
f8e0aa73 20224
72e4357f
RD
20225 * snames.adb: Updated to match snames.ads.
20226
7bc1c7df
ES
202272001-10-10 Ed Schonberg <schonber@gnat.com>
20228
20229 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
20230 a dynamic task if the allocator appears in an indexed assignment
20231 or selected component assignment.
f8e0aa73
AJ
20232
20233 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
20234 For a dynamic task in an assignment statement, use target of
7bc1c7df
ES
20235 assignment to generate meaningful name.
20236
c84700e7
ES
202372001-10-10 Ed Schonberg <schonber@gnat.com>
20238
f8e0aa73 20239 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
c84700e7
ES
20240 a generic package.
20241
20242 * einfo.ads: Body_Entity is also defined for generic package.
20243 Documentation change only
f8e0aa73
AJ
20244
20245 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
20246 others_choice for a discriminated component initialization,
20247 convert discriminant references into the corresponding discriminals.
20248
20249 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
20250 only if original type is private and expression has to be wrapped
c84700e7 20251 in a conversion.
f8e0aa73
AJ
20252
20253 * checks.adb:
20254 (Apply_Constraint_Check): Do not perform length check
c84700e7 20255 if expression is an aggregate with only an others_choice.
f8e0aa73 20256 (Length_N_Cond): two references to the same in_parameter
c84700e7
ES
20257 (typically the discriminal in an init_proc) denote the same value.
20258 Two useful optimization uncovered by bugfixes above.
20259
d8d80dcd
RD
202602001-10-10 Robert Dewar <dewar@gnat.com>
20261
f8e0aa73 20262 * xeinfo.adb: Change int to char in translation of enumeration types.
d8d80dcd
RD
20263 This fixes a problem in the C representation of component alignment.
20264 Add 2001 to copyright notice
20265
a8fee948
RK
202662001-10-10 Richard Kenner <kenner@gnat.com>
20267
f8e0aa73 20268 * decl.c: (validate_size): Do check size of object of integral type
a8fee948
RK
20269 if it is a packed array type.
20270
c2d7fe59
RK
202712001-10-10 Richard Kenner <kenner@gnat.com>
20272
f8e0aa73 20273 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
c2d7fe59
RK
20274 VAR_DECL for constant if not Is_Public but -O0.
20275
fb75e100
RK
202762001-10-10 Richard Kenner <kenner@gnat.com>
20277
20278 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
20279
1724557a
GB
202802001-10-10 Geert Bosch <bosch@gnat.com>
20281
f8e0aa73 20282 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
1724557a
GB
20283 use '/' as switch character, allowing for absolute file names.
20284
9f2f9eb6
JM
202852001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
20286
20287 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
20288 FSF address.
20289
8fecf41d
GB
202902001-10-08 Geert Bosch <bosch@gnat.com>
20291
20292 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
20293 Automatically build utilities when files need to be regenerated.
20294
589f1edf
GB
202952001-10-08 Geert Bosch <bosch@gnat.com>
20296
20297 * xsnames.adb: New utility for updating snames.ads and snames.adb
20298
67f28219
ZW
202992001-10-08 Zack Weinberg <zack@codesourcery.com>
20300
20301 * Make-lang.in (ADAFLAGS): Add -W -Wall.
20302 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
20303 (gnat1): Also depend on attribs.o.
20304 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
20305 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
20306 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
20307 (ADAFLAGS): Add -W -Wall.
20308 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
20309 take out CFLAGS.
20310
20311 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
20312 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
20313 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
20314 Use $(ADAC), not $(CC), as compilation command.
20315
20316 (gnattools): Depend directly on tools to build, don't use
20317 recursive make.
20318 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
20319
20320 * einfo.h, sinfo.h: New files (autogenerated).
20321
295ef2bb
RH
203222001-10-08 Richard Henderson <rth@redhat.com>
20323
20324 * comperr.adb (Abort_In_Progress): New.
20325 (Compiler_Abort): Use it to prevent recursion.
20326
5c736541
RD
203272001-10-08 Robert Dewar <dewar@gnat.com>
20328
20329 * atree.adb: Set Error_Posted in Error node, helps error recovery.
67f28219
ZW
20330
20331 * par-endh.adb (Output_End_Expected): We should also not test
5c736541 20332 Error_Posted on the Error node, since now it is always set.
67f28219
ZW
20333
20334 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
5c736541 20335 to help error recovery. Part of general work on 9407-004.
67f28219 20336
5c736541 20337 * par.adb: Add ??? for misuse of error
67f28219 20338
5c736541
RD
20339 * sem_res.adb:
20340 (Resolve): Defend against Error, fixes 9407-003.
20341 (Resolve_Discrete_Subtype_Indication): Defend against Error.
67f28219
ZW
20342
20343 * sinfo.ads (N_Error): Now has Etype field (which will be set
5c736541
RD
20344 to Any_Type to help error recovery).
20345
a153ae15
RK
203462001-10-08 Richard Kenner (kenner@gnat.com)
20347
20348 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
20349 Consistently set MEM attributes from expression; fixes
20350 bootstrap failure on x86.
20351
743f3c7b
GB
203522001-10-08 Geert Bosch (bosch@gnat.com)
20353
20354 * 5oosinte.adb: Add 2001 to copyright notice.
20355
210c4ef4
GB
203562001-10-08 Geert Bosch (bosch@gnat.com)
20357
20358 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
20359
20360 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
20361
cc712abf
JM
203622001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
20363
20364 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
20365
4c4abc0f
GB
203662001-10-05 Geert Bosch (bosch@gnat.com)
20367
20368 * adaint.h: Small formatting fix.
20369
7f50e2e3
GB
203702001-10-04 Geert Bosch <bosch@gnat.com>
20371
20372 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
20373 Arg is int, not FILE *, in dummy version of functions.
67f28219 20374
7f50e2e3
GB
20375 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
20376 Arg is int, not FILE *.
20377
5d1a9698
GB
203782001-10-04 Geert Bosch <bosch@gnat.com>
20379
20380 * 3lsoccon.ads: Added file, missed with initial check ins.
67f28219 20381
5d1a9698
GB
20382 * 4lintnam.ads: Fix header format.
20383 Change Linux to GNU/Linux.
67f28219 20384
5d1a9698
GB
20385 * 5iosinte.adb: Change Linux to GNU/Linux.
20386
20387 * 5iosinte.ads: Change Linux to GNU/Linux.
67f28219 20388
5d1a9698 20389 * 5itaprop.adb: Change Linux to GNU/Linux.
67f28219 20390
5d1a9698
GB
20391 * 5itaspri.ads: Change Linux to GNU/Linux.
20392 Update copyright notice.
67f28219 20393
5d1a9698 20394 * 5lintman.adb: Change Linux to GNU/Linux.
67f28219 20395
5d1a9698 20396 * 5lml-tgt.adb: Change Linux to GNU/Linux.
67f28219 20397
5d1a9698 20398 * 5losinte.ads: Change Linux to GNU/Linux.
67f28219 20399
5d1a9698 20400 * 5lsystem.ads: Change Linux to GNU/Linux.
67f28219 20401
5d1a9698 20402 * 5qosinte.adb: Change Linux to GNU/Linux.
67f28219 20403
5d1a9698 20404 * 5qosinte.ads: Change Linux to GNU/Linux.
67f28219 20405
5d1a9698 20406 * 5qparame.ads: Change Linux to GNU/Linux.
67f28219 20407
5d1a9698 20408 * 5qtaprop.adb: Change Linux to GNU/Linux.
67f28219 20409
5d1a9698
GB
20410 * 5qtaspri.ads: Change Linux to GNU/Linux.
20411 Add 2001 to copyright notice.
67f28219 20412
5d1a9698
GB
20413 * 5vintman.ads: Change Linux to GNU/Linux.
20414 Fix header format. Add 2001 to copyright notice.
67f28219 20415
5d1a9698 20416 * g-soccon.ads: Change Linux to GNU/Linux.
67f28219 20417
5d1a9698
GB
20418 * g-trasym.ads: Change Linux to GNU/Linux.
20419 Add 2001 to copyright notice.
67f28219 20420
5d1a9698 20421 * memtrack.adb: Change Linux to GNU/Linux.
67f28219 20422
5d1a9698
GB
20423 * s-intman.ads: Change Linux to GNU/Linux.
20424 Add 2001 to copyright notice. Fix header format.
67f28219 20425
5d1a9698 20426 * s-stache.adb: Change Linux to GNU/Linux.
67f28219 20427
5d1a9698 20428 * adaint.c: Change Linux to GNU/Linux.
67f28219 20429
5d1a9698 20430 * cio.c: Change Linux to GNU/Linux.
67f28219 20431
5d1a9698 20432 * cstreams.c: Change Linux to GNU/Linux.
67f28219 20433
5d1a9698 20434 * init.c: Change Linux to GNU/Linux.
67f28219 20435
5d1a9698 20436 * gmem.c: Change Linux to GNU/Linux.
67f28219 20437
5d1a9698
GB
20438 * tracebak.c: Change Linux to GNU/Linux.
20439
20440
c25ca2d7
GB
204412001-10-02 Geert Bosch <bosch@gnat.com>
20442
20443 * misc.c (insert_default_attributes): Add dummy version.
This page took 2.881036 seconds and 5 git commands to generate.