1 2006-01-25 Peter O'Gorman <peter@pogma.com>
4 * Makefile.in (GCC_LINK): Remove quotes.
5 (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)"
8 (powerpc-darwin): Pass -shared-libgcc when building shared library.
10 2006-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13 * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8.
15 2005-12-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17 * s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t.
19 2005-12-12 Arnaud Charlet <charlet@adacore.com>
21 * Makefile.in: Remove dummy setting of GCC_FOR_TARGET, no longer
24 2005-12-12 Arnaud Charlet <charlet@adacore.com>
26 * Make-lang.in: Update dependencies
28 2005-12-12 Arnaud Charlet <charlet@adacore.com>
30 * Make-lang.in: Add rule for ada/exp_sel.o
32 2005-12-12 Arnaud Charlet <charlet@adacore.com>
34 * Makefile.in (mingw section): Remove EH_MECHANISM setting.
36 2005-12-09 Arnaud Charlet <charlet@adacore.com>
38 * gnatvsn.ads (Library_Version): Bump to version 4.2
39 (ASIS_Version_Number): Bumped.
41 2005-12-09 Doug Rupp <rupp@adacore.com>
43 * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change
44 Ada bind file prefix on VMS from b$ to b__.
45 (Build_Dynamic_Library): Change Init file suffix on VMS from $init to
48 * prj-nmsc.adb: Change some Hostparm.OpenVMS checks to
49 Targparm.OpenVMS_On_Target.
50 (Object_Suffix): Initialize with target object suffix.
51 (Get_Unit): Change Ada bind file prefix on VMS from b$ to b__.
53 * butil.adb: Change some Hostparm.OpenVMS checks to
54 Targparm.OpenVMS_On_Target.
56 * clean.adb: Change some Hostparm.OpenVMS checks to
57 Targparm.OpenVMS_On_Target.
58 (Object_Suffix): Initialize with call to Get_Target_Object_Suffix.
59 ({declaraction},Delete_Binder_Generated_Files,{initialization}): Change
60 Ada bind file prefix on VMS from b$ to b__.
62 * gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in
63 --GCC so that Get_Target_Parameters can find system.ads.
64 (Gnatlink): Call Get_Target_Parameters in mainline.
65 Initialize standard packages for Targparm.
66 Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
67 (Process_Args): Also Check for object files with target object
69 (Make_Binder_File_Names): Create with target object extension.
70 (Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$
73 * mlib-prj.adb: Change some Hostparm.OpenVMS checks to
74 Targparm.OpenVMS_On_Target.
75 ({declaration},Build_Library,Check_Library): Change Ada bind file
76 prefix on VMS from b$ to b__.
78 * osint-b.adb: Change some Hostparm.OpenVMS checks to
79 Targparm.OpenVMS_On_Target.
80 (Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to
83 * targext.c: New file.
85 * Makefile.in: add support for vxworks653 builds
86 (../../vxaddr2line): gnatlink with targext.o.
87 (TOOLS_LIBS): Move targext.o to precede libgnat.
88 (init.o, initialize.o): Minor clean up in dependencies.
89 (GNATLINK_OBJS): Add targparm.o, snames.o
90 Add rules fo building targext.o and linking it explicitly with all
92 Also add targext.o to gnatlib.
94 * Make-lang.in: Add rules for building targext.o and linking it in
95 with gnat1 and gnatbind.
96 Add entry for exp_sel.o.
98 * osint.adb Change some Hostparm.OpenVMS checks to
99 Targparm.OpenVMS_On_Target.
100 (Object_File_Name): Use target object suffix.
102 * osint.ads (Object_Suffix): Remove, no longer used.
103 (Target_Object_Suffix): Initialize with target object suffix.
105 * rident.ads: Add special exception to license.
107 * targparm.adb (Get_Target_Parameters): Set the value of
108 Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive
110 (Get_Target_Parameters): Set OpenVMS_On_Target if openvms.
112 * targparm.ads: Add special exception to license.
114 * g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New
116 (Copy_File): Make sure from file is closed if error on to file
117 (Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions.
119 * make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix.
120 (Executable_Suffix): Intialize with Get_Target_Executable_Suffix.
122 * osint-c.adb (Set_Output_Object_File_Name): Initialize extension with
123 target object suffix.
125 2005-12-09 Jose Ruiz <ruiz@adacore.com>
126 Quentin Ochem <ochem@adacore.com>
127 Florian Villoing <villoing@adacore.com>
129 * a-taster.ads, a-taster.adb: New files.
131 * a-elchha.adb (Last_Chance_Handler): Change the task termination soft
132 link to the version that does nothing. This way the task termination
133 routine is not executed twice for the environment task when finishing
134 because of an unhandled exception.
136 * a-exextr.adb (Notify_Unhandled_Exception): Call the task termination
137 handler because of an unhandled exception.
139 * a-taside.adb (Abort_Tasks): Call the Abort_Tasks procedure from
140 System.Tasking.Utilities instead of that in System.Tasking.Stages.
142 * s-finimp.adb (initialization code): Modify the soft link for the
143 finalization of the global list instead of Adafinal.
145 * s-soflin.ads, s-soflin.adb (Task_Termination_NT): Add this
146 non-tasking version of the soft link for task termination. We do
147 nothing since if we are using the non-tasking version it
148 means that the task termination functionality is not used.
149 (Null_Finalize_Global_List): Add this null version for the procedure
150 in charge of finalizing the global list for controlled objects.
151 (Null_Adafinal): Remove this procedure. Adafinal_NT has been created
152 instead for handling run-time termination in a more flexible way.
153 (Adafinal_NT): This new procedure will take care of finalizing the
154 global list for controlled objects if needed, but no tasking
157 * s-tarest.adb (Task_Lock): Do not try to lock again the
158 Global_Task_Lock if we already own it. Otherwise, we get blocked in
159 some run-time operations.
160 (Task_Unlock): Do not try to actually unlock the Global_Task_Lock
161 until all nested locks have been released.
162 (Task_Wrapper): Call the fall-back task termination handler. It
163 applies to all tasks but the environment task.
164 (Finalize_Global_Tasks): Add the call for the task termination
165 procedure for the environment task.
166 (Task_Wrapper): suppress warnings around declaration of
167 Secondary_Stack_Address.
169 * s-tasini.adb (Final_Task_Unlock): Global_Task_Lock_Nesting has been
170 moved to the Common_ATCB record.
171 (Task_Lock): Global_Task_Lock_Nesting has been moved to the
173 (Task_Unlock): Global_Task_Lock_Nesting has been moved to the
176 * s-taskin.adb (Initialize_ATCB): Initialize Global_Task_Lock_Nesting,
177 Fall_Back_Handler, and Specific_Handler.
179 * s-taskin.ads (Cause_Of_Termination): Redefine this type here, already
180 defined in Ada.Task_Termination, to avoid circular dependencies.
181 (Termination_Handler): Redefine this type here, alredy defined in
182 Ada.Task_Termination, for avoiding circular dependencies.
183 (Common_ATCB): Add the Fall_Back_Handler and Specific_Handler required
184 for storing task termination handlers. In addition,
185 Global_Task_Lock_Nesting has been moved from Ada_Task_Control_Block to
186 Common_ATCB because it is used by both the regular and the restricted
188 (Ada_Task_Control_Block): Move Global_Task_Lock_Nesting from here to
189 Common_ATCB because it is used by both the regular and the restricted
191 (Common_ATCB): Added a dynamic task analyzer field.
193 * s-tassta.adb (Abort_Tasks): Move the code in charge of checking
194 potentially blocking operations to System.Tasking.Utilities.Abort_Tasks.
195 (Task_Wrapper): Call the task termination handler. It applies to all
196 tasks but the environment task.
197 (Finalize_Global_Tasks): Call the task termination procedure for the
198 environment task. The call to Finalize_Global_List is now performed
199 using the soft links mechanism.
200 (Task_Wrapper): added dynamic stack analysis.
202 * s-tasuti.adb (Abort_Tasks): The code in charge of checking
203 potentially blocking operations has been moved from
204 System.Tasking.Stages.Abort_Tasks to this procedure. There can be
205 direct calls to System.Tasking.Utilities.Abort_Tasks that do not pass
206 through System.Tasking.Stages.Abort_Tasks, and we do not want to miss
209 * s-solita.adb (Task_Termination_Handler_T): Add this task-safe version
210 of task termination procedure.
211 (Init_Tasking_Soft_Links): Install the task-safe version of the soft
212 link for the task termination procedure.
214 * bindusg.adb: (Bindusg): Added documentation for -u option.
216 * bindgen.adb (Get_Main_Ada) Added handling of dynamic stack analysis.
217 (Get_Main_C): Add handling of dynamic stack analysis.
218 (Gen_Output_File_C): Add external functions for dynamic stack analysis.
220 * Makefile.rtl: Add entry for a-taster (Ada.Task_Termination).
221 (GNATRTL_NONTASKING_OBJS) Added entries for dynamic stack analysis
222 (GNATRTL_NONTASKING_OBJS): Add AltiVec files.
224 * opt.ads: Added flags used by dynamic stack measurement.
225 (Max_Line_Length): Remove (not used anymore)
227 * s-io.ads, s-io.adb (Standard_Error): new subprogram
228 (Standart_Output): new subprogram
229 (Set_Output): new subprogram
230 (Put): now uses the value of Current_Out to know if the output has to be
231 send to stderr or stdout.
233 * s-stausa.ads: Complete implementation.
235 * switch-b.adb: Added handling of -u switch for dynamic stack analysis.
237 * impunit.adb (Non_Imp_File_Names_05): Add Ada.Task_Termination to the
238 list of Ada 05 files.
239 (GNAT Library Units): Add AltiVec files.
241 * g-allein.ads, g-alleve.adb, g-alleve.ads, g-altcon.adb,
242 g-altcon.ads, g-altive.ads, g-alveop.adb, g-alveop.ads
243 g-alvety.ads, g-alvevi.ads: New files providing altivec API.
245 2005-12-09 Nicolas Setton <setton@adacore.com>
247 * adaint.c (__gnat_locate_regular_file): Return immediately if
250 2005-12-09 Javier Miranda <miranda@adacore.com>
251 Hristian Kirtchev <kirtchev@adacore.com>
253 * a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body
254 to the specification because the frontend generates code that uses this
256 (Set_Interface_Table): Add missing assertion.
257 Update documentation describing the run-time structure.
258 (Displace): New subprogram that displaces the pointer to the object
259 to reference one of its secondary dispatch tables.
260 (IW_Membership): Modified to use the new table of interfaces.
261 (Inherit_TSD): Modified to use the new table of interfaces.
262 (Register_Interface_Tag): Use the additional formal to fill the
263 contents of the new table of interfaces.
264 (Set_Interface_Table): New subprogram that stores in the TSD the
265 pointer to the table of interfaces.
266 (Set_Offset_To_Top): Use the additional formal to save copy of
267 the offset value in the table of interfaces.
268 Update structure of GNAT Primary and Secondary dispatch table diagram.
269 Add comment section on GNAT dispatch table prologue.
270 (Offset_To_Signature): Update the constant value of the Signature field.
271 (Dispatch_Table): Update comment on hidden fields in the prologue.
272 (Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD,
273 Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change
274 the type of formal parameter T to Tag, introduce additional assertions.
275 (Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type
277 (Get_Tagged_Kind, Set_Tagged_Kind): New bodies.
279 * exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual
280 in all the calls to Expand_Interface_Thunk. Instead of referencing the
281 record component containing the tag of the secondary dispatch table we
282 have to use the Offset_To_Top run-time function to get this information;
283 otherwise if the pointer to the base of the object has been displace
284 we get a wrong value if we use the 'position attribute.
286 * exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in
287 all the calls to Expand_Interface_Thunk.
288 (Make_Secondary_DT): Secondary dispatch tables do not have a table of
289 interfaces; hence the call to Set_Interface_Table was clearly wrong.
290 (Collect_All_Interfaces): Modify the internal subprogram Collect to
291 ensure that the interfaces implemented by the ancestors are placed
292 at the header of the generated list.
293 (Expand_Interface_Conversion): Handle the case in which the displacement
294 associated with the interface conversion is not statically known. In
295 this case we generate a call to the new run-time subprogram Displace.
296 (Make_DT): Generate and fill the new table of interfaces.
297 (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for
298 Get_Tagged_Kind and Set_Tagged_Kind.
299 (Tagged_Kind): New function that determines the tagged kind of a type
300 with respect to limitedness and concurrency and returns a reference to
302 (Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body,
303 Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the
304 primary dispatch table for a type.
305 (Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and
306 secondary dispatch table respectively of a tagged type.
308 * exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal.
309 (Expand_Interface_Conversion): New subprogram to indicate if the
310 displacement of the type conversion is statically known.
311 (DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind.
313 * rtsfind.ads (RE_Offset_To_Top): New entity
314 (RTU_Id): Add Ada_Task_Termination to the list so that it is made
316 (Re_Displace): New entity
317 (RE_Interface_Data): New entity
318 (RE_Set_Interface_Data): New_Entity
319 (RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind,
320 Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged,
321 RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected,
322 RE_TK_Tagged, RE_TK_Task.
324 * exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram
325 Init_Secondary_Tags_Internal to allow its use with interface types and
326 also to generate the code for the new additional actual required
327 by Set_Offset_To_Top.
328 (Build_Init_Statements): In case of components associated with abstract
329 interface types there is no need to generate a call to its IP.
330 (Freeze_Record_Type): Generate Select Specific Data tables only for
332 (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate
333 the bodies and specifications of the predefined primitive operations
334 dealing with dispatching selects and abort, 'Callable, 'Terminated only
335 for concurrent types.
337 * exp_sel.ads, exp_sel.adb: New files.
339 * exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body,
340 Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle
341 properly protected objects and attach handler in the case of the
343 Move embeded package Select_Expansion_Utilities into a separate external
345 (Expand_N_Asynchronous_Select, Expand_N_Conditional_Select,
346 Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel.
347 (Build_K, Build_S_Assignment): New subprograms, part of the select
349 (Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call,
350 Expand_N_Timed_Entry_Call): Optimize expansion of select statements
351 where the trigger is a dispatching procedure of a limited tagged type.
353 2005-12-09 Olivier Hainque <hainque@adacore.com>
355 * decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand
356 pointer initialization values. Make a SAVE_EXPR instead. Add comments
357 about the use and expansion of SAVE_EXPRs in the various possible
358 renaming handling cases.
359 (components_to_record, compare_field_bitpos): Sort by DECL_UID, not by
360 abusing DECL_FCONTEXT.
362 2005-12-09 Matthew Heaney <heaney@adacore.com>
364 * a-convec.adb (Merge): Added assertions to check whether vector params
367 * a-coinve.adb (Merge): Added assertions to check whether vector params
370 * a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302
372 (Cursor'Read): raises PE
374 * a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem
375 to its default value.
377 * a-cihama.adb: Manually check whether cursor's key and elem are
380 * a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode
381 (Merge): Assert that target and source lists are in order
382 (Swap): Declare non-const temporaries, to pass to Splice
384 * a-cdlili.ads: (Splice): Changed param name and param mode
386 * a-cdlili.adb: (Splice): Changed param name and param mode
387 (Merge): Assert that target and source lists are in order
388 (Swap): Declare non-const temporaries, to pass to Splice
390 * a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null
391 (Write): declare Stream param as not null
393 * a-ciorma.adb, a-coorma.adb: All explicit raise statements now include
394 an exception message.
396 2005-12-09 Thomas Quinot <quinot@adacore.com>
397 Robert Dewar <dewar@adacore.com>
399 * hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1,
400 which is the absolute maximum length we can support.
402 * frontend.adb: For the processing of configuration pragma files,
403 remove references to Opt.Max_Line_Length, which is not checked anymore.
405 * namet.ads (Name_Buffer): Adjust size to reflect increase on max line
409 Always check line length against the absolute supported maximum,
410 Hostparm.Max_Line_Length.
412 * stylesw.adb (Set_Style_Check_Options, case M): The maximum supported
413 value for the maximum line length is Max_Line_Length (not
415 Minor error msg update
416 (Set_Style_Check_Options): New interface returning error msg
417 Minor code reorganization (processing for 'M' was out of alpha order)
419 * switch-c.adb: New interface for Set_Style_Check_Options
421 * stylesw.ads (Set_Style_Check_Options): New interface returning error
424 2005-12-09 Javier Miranda <miranda@adacore.com>
426 * exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records
427 with IP subprogram were only supported if there were limited types.
429 * sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized
430 records with IP subprogram were only supported if there were limited
433 2005-12-09 Olivier Hainque <hainque@adacore.com>
434 Eric Botcazou <ebotcazou@adacore.com>
436 * trans.c (tree_transform, emit_check): Adjust calls to
437 build_call_raise, passing the now expected GNAT_NODE argument.
439 * gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better
440 source line information than what the current global locus indicates
443 * utils2.c (build_simple_component_ref): Return 0 if the offset of the
444 field has overflowed.
445 (build_call_raise): Add a GNAT_NODE argument to convey better source
446 line information than what the current global locus indicates when
448 (build_component_ref): Adjust call to build_call_raise.
450 2005-12-09 Pascal Obry <obry@adacore.com>
452 * g-diopit.adb (Find): Fix test to exit the iterator and make sure that
453 the iterator is quitting iteration on parent directory.
455 2005-12-09 Javier Miranda <miranda@adacore.com>
457 * exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types
458 and the assignment to a class-wide object, before the assignment we
459 generate a run-time check to ensure that the tag of the Target is
460 covered by the tag of the source.
462 2005-12-09 Robert Dewar <dewar@adacore.com>
464 * exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean
465 parameter in call to Image_Wide_Character.
467 * s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean
468 parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency.
469 (Image_Wide_Character): Add boolean parameter Ada_2005 to deal with
470 annoying FFFE/FFFF inconsistency.
472 2005-12-09 Robert Dewar <dewar@adacore.com>
473 Javier Miranda <miranda@adacore.com>
474 Ed Schonberg <schonberg@adacore.com>
476 * exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
478 (Find_Interface): New subprogram that given a tagged type and one of its
479 component associated with the secondary table of an abstract interface
480 type, return the entity associated with such abstract interface type.
481 (Make_Subtype_From_Expr): If type has unknown discriminants, always use
482 base type to create anonymous subtype, because entity may be a locally
483 declared subtype or generic actual.
484 (Find_Interface): New subprogram that given a tagged type and one of its
485 component associated with the secondary table of an abstract interface
486 type, return the entity associated with such abstract interface type.
488 * sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
489 conversion cannot be handled at compile time. In this case we pass this
490 information to the expander to generate the appropriate code.
492 2005-12-09 Robert Dewar <dewar@adacore.com>
493 Ed Schonberg <schonberg@adacore.com>
494 Gary Dismukes <dismukes@adacore.com>
495 Javier Miranda <miranda@adacore.com>
496 Hristian Kirtchev <kirtchev@adacore.com>
498 * einfo.adb (Itype_Printed): New flag
499 (Is_Limited_Type): Derived types do not inherit limitedness from
500 interface progenitors.
501 (Is_Return_By_Reference_Type): Predicate does not apply to limited
504 * einfo.ads (Itype_Printed): New flag
505 Move Is_Wrapper_Package to proper section
506 Add missing Inline for Is_Volatile
508 * output.ads, output.adb (Write_Erase_Char): New procedure
509 (Save/Restore_Output_Buffer): New procedures
510 (Save/Restore_Output_Buffer): New procedures
512 * sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes
513 Add missing support for anonymous access type
514 (Write_Id): Insert calls to Write_Itype
515 (Write_Itype): New procedure to output itypes
517 * par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle
518 use of "limited" in declaration.
520 * sinfo.ads, sinfo.adb:
521 Formal derived types can carry an explicit "limited" indication.
523 * sem_ch3.adb: Add with and use of Targparm.
524 (Create_Component): If Frontend_Layout_On_Target is True and the
525 copied component does not have a known static Esize, then reset
526 the size and positional fields of the new component.
527 (Analyze_Component_Declaration): A limited component is
528 legal within a protected type that implements an interface.
529 (Collect_Interfaces): Do not add to the list the interfaces that
530 are implemented by the ancestors.
531 (Derived_Type_Declaration): If the parent of the full-view is an
532 interface perform a transformation of the tree to ensure that it has
533 the same parent than the partial-view. This simplifies the job of the
534 expander in order to generate the correct object layout, and it is
535 needed because the list of interfaces of the full-view can be given in
537 (Process_Full_View): The parent of the full-view does not need to be
538 a descendant of the parent of the partial view if both parents are
540 (Analyze_Private_Extension_Declaration): If declaration has an explicit
541 "limited" the parent must be a limited type.
542 (Build_Derived_Record_Type): A derived type that is explicitly limited
543 must have limited ancestor and progenitors.
544 (Build_Derived_Type): Ditto.
545 (Process_Full_View): Verify that explicit uses of "limited" in partial
546 and full declarations are consistent.
547 (Find_Ancestor_Interface): Remove function.
548 (Collect_Implemented_Interfaces): New procedure used to gather all
549 implemented interfaces by a type.
550 (Contain_Interface): New function used to check whether an interface is
552 (Find_Hidden_Interface): New function used to determine whether two
553 lists of interfaces constitute a set equality. If not, the first
554 differing interface is returned.
555 (Process_Full_View): Improve the check for the "no hidden interface"
556 rule as defined by AI-396.
558 2005-12-09 Robert Dewar <dewar@adacore.com>
560 * freeze.adb (Freeze_Record_Type): Only test for useless pack on record
561 types, not on record subtypes.
562 (Freeze_Entity): Code cleanup. Add barrier to the loop
563 that generates the references for primitive operations. This allows to
564 remove an unnecessary exception handler.
565 Code reformatting and comment clean ups.
567 2005-12-09 Vincent Celier <celier@adacore.com>
569 * gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U
570 If GNAT CHECK is called with a project file, but with no
571 source on the command line, call gnatcheck with all the compilable
572 sources of the project.
573 Take into account the new command Check, for gnatcheck. Treat as for
574 other ASIS tools: take into account project, specific package Check and
576 For ASIS tools, add the switches in package Compiler for
577 the invocation of the compiler.
579 * prj-attr.adb: Add package Check and its attributes
581 * vms_conv.ads (Command_Type): New command Check, for gnatcheck
583 * vms_conv.adb (Initialize): Change Params of command Check to
585 Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target.
586 Add data for new command Check
588 * vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT
590 Add qualifiers for Check command options
591 (Command_Type): New command Check
593 2005-12-09 Thomas Quinot <quinot@adacore.com>
595 * mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a
596 command line switch overruns the output buffer.
598 2005-12-09 Robert Dewar <dewar@adacore.com>
600 * sem_prag.adb: Processing for new pragma Complete_Representation
601 (Analyze_Pragma, case Debug): Implement two argument form.
603 * par-prag.adb: Entry for new pragma Complete_Representation
604 (Prag, case Debug): Recognize two argument form of pragma Debug
605 New interface for Set_Style_Check_Options.
607 * sem_ch13.adb: Implement new pragma Complete_Representation.
609 * snames.adb, snames.ads, snames.h: Entry for new pragma
610 Complete_Representation.
612 2005-12-09 Gary Dismukes <dismukes@adacore.com>
614 * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for
615 available user-specified stream attributes on limited parameters to
616 also test the type directly rather than only its underlying type (for
617 Ada 95) and, in the case of Ada 2005, to check that the user-specified
618 attributes are visible at the point of the subprogram declaration.
619 For Ada 2005, the error message is modified to indicate that the
620 type's stream attributes must be visible (again, only for -gnat05).
622 2005-12-09 Ed Schonberg <schonberg@adacore.com>
624 * sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of
625 anonymous access types.
627 * sem_eval.adb (Subtypes_Statically_Match): Implement new rules for
628 matching of anonymous access types and anonymous access to subprogram
629 types. 'R'M 4.9.1 (2/2).
631 2005-12-09 Ed Schonberg <schonberg@adacore.com>
633 * sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference
634 rule prematurely when operands are universal, remaining ambiguities
635 will be removed during resolution.
638 * sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations
639 that are Ada 2005 functions.
640 (Has_Abstract_Interpretation): Subsidiary to
641 Remove_Conversions, to remove ambiguities caused by abstract operations
642 on numeric types when operands are universal.
644 2005-12-09 Robert Dewar <dewar@adacore.com>
646 * sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization
647 for case where spec is categorized.
649 2005-12-09 Javier Miranda <miranda@adacore.com>
651 * sem_ch8.adb (Find_Type): In case of tagged types that are concurrent
652 types use the corresponding record type. This was not needed before
653 the implementation of Ada 2005 synchronized types because
654 concurrent types were never tagged types in Ada 95.
656 2005-12-09 Ed Schonberg <schonberg@adacore.com>
658 * sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the
659 first subtype of the type of the expression to verify that it is a
662 2005-12-09 Robert Dewar <dewar@adacore.com>
664 * sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides
667 2005-12-09 Quentin Ochem <ochem@adacore.com>
668 Robert Dewar <dewar@adacore.com>
669 Ed Falis <falis@adacore.com>
670 Florian Villoing <villoing@adacore.com>
671 Thomas Quinot <quinot@adacore.com>
672 Arnaud Charlet <charlet@adacore.com>
674 * gnat_ugn.texi: Created section "Stack Related Tools"
675 Moved "Stack Overflow Checking" subsection from "Switches for gcc" to
676 "Stack Related Tools"
677 Added subsection "Static Stack Usage Analysis"
678 Added subsection "Dynamic Stack Usage Analysis"
679 Include documentation of itypes in sprint listing (-gnatG)
680 Documented gnatbind -D switch (default sec stack size for fixed sec
682 Added Interrupt_State and Persistent_BSS to list of configuration
684 Add missing doc for maximum value of nnn in -gnatyMnnn
686 * gnat_rm.texi: Document the AltiVec binding.
687 Add documentation for pragma Complete_Representation
688 Shortened an overly long line (> 79 chars)
689 Clarify documentation of unchecked conversion in implementation
691 Document two argument form of pragma Debug
693 * types.ads (Column_Number): Update documentation.
695 * exp_ch7.ads (Make_Adjust_Call): Document the special processing for
696 library level Finalize_Storage_Only objects (these are not attached to
697 any finalization list).
699 * system-mingw.ads: (Underlying_Priorities): Update comment.
701 2005-12-09 Robert Dewar <dewar@adacore.com>
703 * i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads,
704 i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
705 inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads,
706 i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads,
707 krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb,
708 lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb,
709 interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads,
710 s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor
713 2005-12-09 Robert Dewar <dewar@adacore.com>
715 * s-vaflop-vms-alpha.adb: (Ne_F): New function
718 * exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code
720 (Rewrite_Comparison): Handle case where operation is not a comparison
721 and ignore, and also handle type conversion case.
723 2005-12-09 Thomas Quinot <quinot@adacore.com>
725 * exp_aggr.ads: Fix typo in comment.
726 ???-mark Convert_Aggr_In_Assignment as needing documentation.
728 2005-12-09 Gary Dismukes <dismukes@adacore.com>
730 * layout.adb: Replace various uses of byte by storage unit throughout.
731 (Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a
732 static size, convert to storage units before returning, to conform to
735 2005-12-09 Matthew Gingell <gingell@adacore.com>
737 * g-exctra.ads: Fix typo in comment.
739 2005-12-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
741 * utils.c: Minor reformatting.
743 2005-12-09 Robert Dewar <dewar@adacore.com>
746 Further comment fixes to make the status of the default file clear
748 * s-bitops.adb: Clarify comment for Bits_Array
750 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
752 * Make-lang.in (ada.install-normal): Remove.
754 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
756 * Make-lang.in: Remove all dependencies on s-gtype.
758 2005-12-05 Richard Guenther <rguenther@suse.de>
760 * utils.c (convert): Use fold_convert where appropriate.
762 2005-12-05 Paolo Bonzini <bonzini@gnu.org>
764 * Makefile.in (gnatlib): Fix regex, using \. instead of . when
767 2005-12-02 Richard Guenther <rguenther@suse.de>
769 * trans.c (gnat_gimplify_expr): Use buildN instead of build.
771 2005-12-01 Roger Sayle <roger@eyesopen.com>
773 * utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST
776 2005-11-23 Laurent GUERBY <laurent@guerby.net>
778 * mlib-prj.adb (Build_Library): Initialize Delete.
780 2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
782 * socket.c: Add extern int h_errno for rtems since networking header
783 files are not available at this point in a tool bootstrap. Newlib
784 only has basic C library header files.
786 2005-11-19 Richard Guenther <rguenther@suse.de>
787 Roger Sayle <roger@eyesopen.com>
790 * misc.c (internal_error_function): Don't use vsprintf to format
791 the error message text, instead use pp_format_text and the new
792 pretty printer APIs. This allows handling of %qs, %w, etc.
794 2005-11-18 Laurent GUERBY <laurent@guerby.net>
797 * Makefile.in: Use s-auxdec-empty for RTEMS.
799 2005-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
802 * trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
803 a temporary if taking the address of something that is neither
804 reference, declaration, or constant, since the gimplifier
805 can't handle that case.
807 2005-11-17 Laurent GUERBY <laurent@guerby.net>
810 * s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
812 2005-11-16 Richard Guenther <rguenther@suse.de>
814 * Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
816 2005-11-16 Joel Sherrill <joel.sherrill@oarcorp.com>
819 * raise-gcc.c: Add missing stdarg.h include.
821 2005-11-16 Richard Guenther <rguenther@suse.de>
823 * Make-lang.in (ada/decl.o): Add $(EXPR_H) dependency.
824 (ada/misc.o): Likewise.
826 2005-11-14 Thomas Quinot <quinot@adacore.com>
828 * g-soccon.ads: Minor reformatting. Update comments.
830 * gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
831 gain visibility on the declaration of struct timeval.
833 * g-soccon-freebsd.ads,
839 g-soccon-solaris.ads,
842 g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
844 * g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
845 g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
846 g-soccon-linux-x86.ads: New files.
848 * g-socthi-mingw.adb:
849 (Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
851 * g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
852 (time_t, suseconds_t): New types constructed to match the tv_sec
853 and tv_usec fields of C struct timeval.
854 (Timeval): Construct structure in terms of the new types.
855 (Host_Errno): New function (imported from socket.c), returns last hosts
858 * g-socthi-vxworks.adb: Add error handling circuitry.
860 * g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
861 components of struct timeval.
862 (Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
863 (Check_Selector): In error conditions, clear internal socket sets to
865 (Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
866 Send_Timeout, Receive_Timeout.
868 * g-socthi.ads (time_t, suseconds_t): New types constructed to match
869 the tv_sec and tv_usec fields of C struct timeval.
870 (Timeval): Construct structure in terms of the new types.
871 (Host_Errno): New function (imported from socket.c), returns last hosts
874 * socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
875 hosts database last error code.
877 * gen-soccon.c: Complete value expansion should not be performed on
878 TARGET, as it has the form of a math expression, and some components
879 may be platform-defined macros.
880 For VxWorks, generate the OK and ERROR values.
881 New constants giving the sizes of the components of C struct timeval.
883 2005-11-14 Robert Dewar <dewar@adacore.com>
884 Ed Schonberg <schonberg@adacore.com>
888 * types.ads: Include All_Checks in Suppress_Array
890 * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
891 not(a=b), since we no longer do this rewriting, and hence it is not
893 (Elaboration_Checks_Suppressed): Add special casing to
894 deal with different cases of static and dynamic elaboration checks (all
895 checks does not count in the first case, but does in the second).
896 (Expr_Known_Valid): Do not assume that the result of any arbitrary
897 function call is valid, since this is not the case.
898 (Ensure_Valid): Do not apply validity check to a real literal
899 in a universal or fixed context
901 * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
902 elementary types using the operator in standard. It is cleaner not to
903 modify the programmers intent, especially in the case of floating-point.
904 (Rewrite_Comparison): Fix handling of /= (this was always wrong, but
905 it did not matter because we always rewrote a/=b to not(a=b).
906 (Expand_Allocator_Expression): For an allocator expression whose nominal
907 subtype is an unconstrained packed type, convert the expression to its
908 actual constrained subtype.
909 Implement warning for <= or >= where < or > not possible
910 Fix to Vax_Float tests (too early in many routines, causing premature
911 Vax_Float expansions.
913 * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
914 to be used with packages and generic packages as well as with
916 (Suppress): Set All_Checks, but not Elaboration_Check, for case
917 of pragma Suppress (All_Checks)
918 (Analyze_Pragma, case Warnings): Implement first argument allowed to be
919 a string literal for precise control over warnings.
920 Avoid raise of pragma in case of unrecognized pragma and just return
923 * sem_prag.ads: Minor reformatting
925 * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
926 with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
927 Switch. Do not handle any exception.
928 Include -gnatwx as part of -gnatg (warn on redundant parens)
929 Allow optional = after -gnatm
930 (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
931 longer sets Elaboration_Checks.
932 Code to set warning mode moved to Sem_Warn
933 so that it can be shared by pragma processing.
935 * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
938 * s-taprop-solaris.adb:
939 Change some <= to =, to avoid new warning
941 * a-exexda.adb, prj-proc.adb:
942 Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
943 Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
945 2005-11-14 Robert Dewar <dewar@adacore.com>
947 * exp_vfpt.adb: Handle /= case
948 (Expand_Vax_Conversion): Properly recognize Conversion_OK flag
949 so that we do not get duplicate scaling for fixed point conversions.
951 * s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
953 2005-11-14 Matthew Gingell <gingell@adacore.com>
955 * system-lynxos-ppc.ads, system-lynxos-x86.ads:
956 Increase default priority on Lynx from 15 to 17, and meet the Ada
957 requirement that Default_Priority be ((Priority'First +
958 Priority'Last) / 2) by increasing the range of Interrupt_Priority.
960 2005-11-14 Vincent Celier <celier@adacore.com>
962 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
963 mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
964 mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
965 mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
966 mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
967 mlib-tgt-lynxos.adb (DLL_Prefix): New function
969 2005-11-14 Doug Rupp <rupp@adacore.com>
971 * system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
974 2005-11-14 Arnaud Charlet <charlet@adacore.com>
976 * s-traces-default.adb, s-trafor-default.ads,
977 s-tratas-default.adb: Fix compilation errors.
979 2005-11-14 Jose Ruiz <ruiz@adacore.com>
981 * s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
982 raising the exception so the memory used is freed.
984 2005-11-14 Arnaud Charlet <charlet@adacore.com>
986 * adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
987 (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
988 (convert_address): Update comments and list of platforms using this.
990 * s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
993 2005-11-14 Pascal Obry <obry@adacore.com>
994 Vincent Celier <celier@adacore.com>
996 * gnatdll.adb (Parse_Command_Line): Remove redundant use of
999 * memroot.adb: Remove redundant with/use clause on
1000 System.Storage_Elements.
1002 2005-11-14 Arnaud Charlet <charlet@adacore.com>
1004 * a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
1005 (builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
1006 related code to a-exexpr.adb
1007 (Save_Occurrence_And_Private): Move GCC EH related code to
1009 (Raise_Current_Excep): Add new variable Id with pragma
1010 volatile, to ensure that the variable lives on stack.
1012 * a-exexpr-gcc.adb, raise-gcc.c: New file.
1014 * a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
1016 Move GCC EH related code to a-exexpr-gcc.adb
1018 * Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
1020 Split the Linux version of g-soccon into separate variants for 32 and 64
1022 (gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
1023 vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
1024 install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
1025 of host variable $(RANLIB_FLAGS).
1026 (alpha64-dec-*vms*): Fix translations for 64 bit compiler.
1027 Code clean up: remove unused/obsolete targets.
1028 (EH_MECHANISM): New variable introduced to differenciate between the
1029 two EH mechanisms statically.
1030 (gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
1031 (LIBGNAT_OBJS): Add raise-gcc.o
1032 (LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
1033 s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
1034 supports VxWorks 6 RTPs.
1035 (EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
1036 i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
1038 * raise.c: Move all GCC EH-related routines to raise-gcc.c
1040 2005-11-14 Jose Ruiz <ruiz@adacore.com>
1042 * s-tassta.adb (Create_Task): Move the code in charge of resetting the
1043 deferral level, when abort is not allowed, to a later stage (the
1045 (Task_Wrapper): If Abort is not allowed, reset the deferral level since
1046 it will not get changed by the generated code. It was previously done
1049 2005-11-14 Thomas Quinot <quinot@adacore.com>
1050 Olivier Hainque <hainque@adacore.com>
1051 Eric Botcazou <ebotcazou@adacore.com>
1054 Factor common code to build a storage type for an unconstrained object
1055 from a fat or thin pointer type and a constrained object type.
1056 (annotate_value): Handle BIT_AND_EXPR.
1057 (annotate_rep): Don't restrict the back annotation of inherited
1058 components to the type_annotate_only case.
1059 (gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
1060 we are not defining the type.
1061 <E_Record_Type>: Likewise.
1062 (gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
1063 to get advantage of the new maybe_stabilize_reference interface, to
1064 ensure that what we reference is indeed stabilized instead of relying
1065 on assumptions on what the stabilizer does.
1066 (gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
1067 type imported through a limited_with clause, use its non-limited view.
1068 (Has_Stdcall_Convention): New macro, to centralize the Windows vs others
1070 (gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
1071 of #if sections + explicit comparisons of convention identifiers.
1072 (gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
1073 before early-returning for certain types when code generation is
1075 (gnat_to_gnu_entity) <object>: Adjust comment attached to the
1076 nullification of gnu_expr we do for objects with address clause and
1077 that we are not defining.
1078 (elaborate_expression_1): Do not create constants when creating
1079 variables needed by the debug info: the dwarf2 writer considers that
1080 CONST_DECLs is used only to represent enumeration constants, and emits
1082 (gnat_to_gnu_entity) <object>: When turning a non-definition of an
1083 object with an address clause into an indirect reference, drop the
1084 initializing expression.
1086 (STACK_CHECK_BUILTIN): Delete.
1087 (STACK_CHECK_PROBE_INTERVAL): Likewise.
1088 (STACK_CHECK_MAX_FRAME_SIZE): Likewise.
1089 (STACK_CHECK_MAX_VAR_SIZE): Likewise.
1090 (gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
1091 corresponding to the renamed object as ignored for debugging purposes.
1093 * trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
1094 related): For a prefix that is a dereference of a fat or thin pointer,
1095 if there is an actual subtype provided by the front-end, use that
1096 subtype to build an actual type with bounds template.
1097 (tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
1098 is provided by the front-end, use that subtype to compute the size of
1099 the deallocated object.
1100 (gnat_to_gnu): When adding a statement into an elaboration procedure,
1101 check for a potential violation of a No_Elaboration_Code restriction.
1102 (maybe_stabilize_reference): New function, like gnat_stabilize_reference
1103 with extra arguments to control whether to recurse through non-values
1104 and to let the caller know if the stabilization has succeeded.
1105 (gnat_stabilize_reference): Now a simple wrapper around
1106 maybe_stabilize, for common uses without restriction on lvalues and
1107 without need to check for the success indication.
1108 (gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
1109 pass false instead of 0 as the FORCE argument which is a bool.
1110 (Identifier_to_gnu): Remove checks ensuring that an renamed object
1111 attached to a renaming pointer has been properly stabilized, as no such
1112 object is attached otherwise.
1113 (call_to_gnu): Invoke create_var_decl to create the temporary when the
1114 function uses the "target pointer" return mechanism.
1115 Reinstate conversion of the actual to the type of the formal
1116 parameter before any other specific treatment based on the passing
1117 mechanism. This turns out to be necessary in order for PLACEHOLDER
1118 substitution to work properly when the latter type is unconstrained.
1120 * gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
1122 (maybe_stabilize_reference): New function, like gnat_stabilize_reference
1123 with extra arguments to control whether to recurse through non-values
1124 and to let the caller know if the stabilization has succeeded.
1126 * utils2.c (gnat_build_constructor): Only sort the fields for possible
1127 static output of record constructor if all the components are constant.
1128 (gnat_build_constructor): For a record type, sort the list of field
1129 initializers in increasing bit position order.
1130 Factor common code to build a storage type for an unconstrained object
1131 from a fat or thin pointer type and a constrained object type.
1132 (build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
1133 types variants, and process special cases of VIEW_CONVERT expressions
1134 as their NOP_EXPR counterpart to ensure we get to the
1135 CORRESPONDING_VARs associated with CONST_DECls.
1136 (build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
1137 on the right-hand side.
1139 * utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
1141 (convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
1142 are converting back to its original type.
1143 (convert) <JM input>: Fallthrough regular conversion code instead of
1144 extracting the object if converting to a type variant.
1145 (create_var_decl): When a variable has an initializer requiring code
1146 generation and we are at the top level, check for a potential violation
1147 of a No_Elaboration_Code restriction.
1148 (create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
1149 SIZE and SIZE_UNIT which we need for later back-annotations.
1150 * utils.c: (convert) <STRING_CST>: Remove obsolete code.
1151 <VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
1152 is an unchecked union.
1153 (pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
1154 (convert) <VIEW_CONVERT_EXPR>: When the types have the same
1155 main variant, just replace the VIEW_CONVERT_EXPR.
1156 <UNION_TYPE>: Revert 2005-03-02 change.
1158 * repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
1160 * repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
1162 2005-11-14 Matthew Heaney <heaney@adacore.com>
1164 * a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads,
1165 a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb,
1166 a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads,
1167 a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb,
1168 a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
1169 a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb:
1170 Compiles against the spec for ordered maps described in sections
1171 A.18.6 of the most recent (August 2005) AI-302 draft.
1173 2005-11-14 Olivier Hainque <hainque@adacore.com>
1175 * cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
1176 to ensure bias adjustments take place when need be and to prevent
1177 occurrences of intermediate overflows.
1179 2005-11-14 Matthew Gingell <gingell@adacore.com>
1180 Olivier Hainque <hainque@adacore.com>
1182 * tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
1185 * tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
1186 tracebacks on ia64 HP-UX and provide explanatory comment.
1187 Enable backtraces on ia64 GNU/Linux.
1188 (x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
1189 base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
1191 2005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
1192 Javier Miranda <miranda@adacore.com>
1194 * rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
1195 exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
1196 exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
1197 einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
1199 * a-tags.ads, a-tags.adb: Major rewrite and additions to implement
1200 properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
1203 * exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
1204 subprogram that generates the external name associated with a
1205 secondary dispatch table.
1206 (Get_Secondary_DT_External_Name): New subprogram that generates the
1207 external name associated with a secondary dispatch table.
1209 2005-11-14 Emmanuel Briot <briot@adacore.com>
1211 * xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
1212 line in the ALI file to include both an instantiation reference, and a
1215 2005-11-14 Vincent Celier <celier@adacore.com>
1217 * clean.adb (Check_Project): Look for Ada code in extending project,
1218 even if Ada is not specified as a language.
1219 Use new function DLL_Prefix for DLL_Name
1220 (Clean_Interface_Copy_Directory): New procedure
1221 (Clean_Library_Directory): New procedure
1222 (Clean_Directory): Remove procedure, no longer used
1223 (Clean_Project): Do not delete any file in an externally built project
1225 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
1226 directory of an extending project, even when there are no Ada source
1228 (Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
1229 (Set_Ada_Paths.Add.Recursive_Add): Ditto
1231 * mlib-prj.adb (Check_Library): For all library projects, get the
1232 library file timestamp.
1233 (Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
1234 (Build_Library): Use new function DLL_Prefix for the DLL_Name
1235 (Clean): Remove procedure, no longer used
1236 (Ultimate_Extension_Of): New function
1237 (Build_Library): When cleaning the library directory, only remove an
1238 existing library file and any ALI file of a source of the project.
1239 When cleaning the interface copy directory, remove any source that
1240 could be a source of the project.
1242 * prj.ads, prj.adb (Project_Empty): Add values of new components
1243 Library_TS and All_Imported_Projects.
1244 (Project_Empty): Add values for new components of Project_Data:
1245 Library_ALI_Dir and Display_Library_ALI_Dir
1247 * prj-attr.adb: New project level attribute name Library_ALI_Dir
1249 * prj-nmsc.adb (Check_Library_Attributes): Take into account new
1250 attribute Library_ALI_Dir.
1251 (Check_Library_Attributes): The library directory cannot be the same as
1252 any source directory of the project tree.
1253 (Check_Stand_Alone_Library): The interface copy directory cannot be
1254 the same as any source directory of the project tree.
1256 * mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
1257 all temporary files.
1259 2005-11-14 Robert Dewar <dewar@adacore.com>
1260 Ed Schonberg <schonberg@adacore.com>
1262 * sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
1263 (Check_Elab_Call): A call within a protected body is never an
1264 elaboration call, and does not require checking.
1265 (Same_Elaboration_Scope): Take into account protected types for both
1267 (Activate_Elaborate_All_Desirable): New procedure
1269 * ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
1272 * binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
1273 (Elab_Error_Msg): Use -da to include internal unit links, not -de.
1275 * lib-writ.ads, lib-writ.adb:
1276 Implement new AD/ED for Elaborate_All/Elaborate desirable
1277 Use new Elaborate_All_Desirable flag in N_With_Clause node
1279 * sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
1280 N_Free_Statement nodes.
1281 Define new class N_Subprogram_Instantiation
1282 Add Elaborate_Desirable flag to N_With_Clause node
1283 Add N_Delay_Statement (covering two kinds of delay)
1285 * debug.adb: Introduce d.f flag for compiler
1286 Add -da switch for binder
1288 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1289 Cyrille Comar <comar@adacore.com>
1291 * exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
1292 for task component, in the case of a limited aggregate. The enclosed
1293 object declaration will create it earlier. Otherwise, in the case of a
1294 nested aggregate, the object may appear in the wrong scope.
1295 (Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
1296 (Gen_Assign): If the component being assigned is an array type and the
1297 expression is itself an aggregate, wrap the assignment in a block to
1298 force finalization actions on the temporary created for each row of the
1300 (Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
1301 structures are initialized after all discriminants are set so that
1302 they can be accessed even when their offset is dynamic.
1304 2005-11-14 Robert Dewar <dewar@adacore.com>
1305 Hristian Kirtchev <kirtchev@adacore.com>
1307 * sem_attr.adb: Implement Machine_Rounding attribute
1308 (Analyze_Access_Attribute): The access attribute may appear within an
1309 aggregate that has been expanded into a loop.
1310 (Check_Task_Prefix): Add semantic check for attribute 'Callable and
1311 'Terminated whenever the prefix is of a task interface class-wide type.
1312 (Analyze_Attribute): Add semantic check for attribute 'Identity whenever
1313 the prefix is of a task interface class-wide type.
1315 * s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
1318 * s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
1319 Remove pragma Inline for [Unaligned_]Valid.
1320 Add comments that Valid routines do not work for Vax_Float
1322 * exp_attr.adb: Implement Machine_Rounding attribute
1324 * snames.h: Add entry for Machine_Rounding attribute
1326 2005-11-14 Javier Miranda <miranda@adacore.com>
1327 Robert Dewar <dewar@adacore.com>
1328 Hristian Kirtchev <kirtchev@adacore.com>
1330 * exp_attr.adb (Expand_N_Attribute_Reference, cases of Attribute_Size
1331 and related): For a prefix that is an explicit dereference of an
1332 access to unconstrained packed array type, annotate the dereference
1333 with an actual subtype so GIGI can make a correct size computation.
1334 (Expand_N_Attribute_Reference): In case of 'Unchecked_Access and
1335 'Unrestricted_Access, if the designated type is an interface we
1336 add a type conversion to force the displacement of the pointer
1337 to the secondary dispatch table.
1338 Use Universal_Real instead of Long_Long_Float when we need a high
1339 precision float type for the generated code (prevents gratuitous
1340 Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
1341 (Expand_N_Attribute_Reference): Add support for attribute 'Callable and
1342 'Terminated for task interface class-wide objects. Generate a call to
1343 the predefined dispatching routine used to retrieve the _task_id from
1344 a task corresponding record.
1345 (Expand_Fpt_Attribute): Major change to properly handle Vax_Float
1347 * sem_disp.adb: Change name Is_Package to Is_Package_Or_Generic_Package
1348 (Check_Dispatching_Operation): Protect the frontend againts
1349 previously detected errors.
1351 * Makefile.rtl: Add new instantiations of system.fat_gen
1353 * s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads:
1354 Change name of instantiated package for better consistency
1355 with newly added system.fat_gen instantiations.
1357 * s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads,
1358 s-fvagfl.ads: New files.
1360 2005-11-14 Cyrille Comar <comar@adacore.com>
1361 Thomas Quinot <quinot@adacore.com>
1363 * exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
1364 assignment of a value of a tagged type that has been rewritten to a
1365 block statement, it is known by construction that no checks are
1366 necessary for the statements within the block: analyze it with checks
1368 (Expand_N_If_Statement): When killing a dead then-branch in an
1369 if-statement that has elsif_parts, recompute the Current_Value node
1370 for any entity whose value is known from the condition of the first
1372 (Expand_N_Return_Statement): When returning a mutable record, convert
1373 the return value into its actual subtype in order to help the backend
1374 to return the actual size instead of the maximum. This is another
1375 aftermath of not returning mutable records on the sec-stack anymore.
1377 * sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
1378 handling of error msg for suspicious reverse range iteration.
1379 (Check_Possible_Current_Value_Condition): Move declaration from body to
1380 spec, to allow this subprogram to be called from exp_ch5.
1382 2005-11-14 Thomas Quinot <quinot@adacore.com>
1384 * exp_dist.adb (Append_Array_Traversal): Modify constrained case to
1385 generate a set of nested array aggregates instead of a single flat
1386 aggregate for multi-dimensional arrays.
1388 2005-11-14 Pascal Obry <obry@adacore.com>
1390 * expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned
1391 by spawnve is a process handle, no need to convert. Add a parameter
1392 close to control wether the process handle must be closed.
1393 (__gnat_waitpid): Fix implementation, the pid returned by spawnve is
1394 a process handle, not need to convert.
1395 (__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec.
1397 * g-expect.adb: (Kill): Document the new close parameter.
1398 (Close): Do not release the process handle in the kill there as
1399 waitpid() is using it.
1400 (Send_Signal): Release the process handle.
1402 2005-11-14 Robert Dewar <dewar@adacore.com>
1404 * exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we
1405 need a high precision float type for the generated code (prevents
1406 gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
1409 * exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we
1410 need a high precision float type for the generated code (prevents
1411 gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
1413 (Expand_Width_Attribute): In configurable run-time, the attribute is not
1414 allowed on non-static enumeration subtypes. Force a load error to emit
1415 the correct diagnostic.
1417 2005-11-14 Thomas Quinot <quinot@adacore.com>
1418 Robert Dewar <dewar@adacore.com>
1419 Ed Schonberg <schonberg@adacore.com>
1421 * exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual
1422 subtype to compute the size of the designated object at run-time,
1423 create such a subtype and store it in the Actual_Designated_Subtype
1424 attribute of the N_Free_Statement.
1425 Generate itype for classwide designated object in both cases of
1426 user-specified storage pool: specific and class-wide, not only in the
1428 Raise CE when trying to set a not null access type object to null.
1429 (Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with
1430 an explicit loop, because freeze nodes make its position variable.
1432 * sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not
1435 2005-11-14 Javier Miranda <miranda@adacore.com>
1437 * exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function,
1438 Build_Stream_Procedure): Add the null-excluding attribute to the first
1440 This has no semantic meaning under Ada95 mode but it is a
1441 requirement under Ada05 mode.
1443 * par-ch3.adb (P_Access_Definition): Addition of warning message if
1444 the null exclusion is used under Ada95 mode
1445 (P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95.
1446 (P_Access_Definition): Remove assertion that forbids the use of
1447 the null-exclusion feature in Ada95.
1449 2005-11-14 Robert Dewar <dewar@adacore.com>
1451 * impunit.adb: Exclude container helper units not intended for use by
1454 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1456 * freeze.adb (Freeze_Entity): For an access formal that is an access
1457 to subprogram, freeze the anonymous subprogram type at the same time,
1458 to prevent later freezing in the wrong scope, such as the enclosing
1460 (Freeze_Entity): Freeze the equivalent_type of an access_to_protected_
1461 subprogram whenever available.
1463 2005-11-14 Arnaud Charlet <charlet@adacore.com>
1466 * gnatvsn.ads (Library_Version): Bump to 4.1
1468 2005-11-14 Robert Dewar <dewar@adacore.com>
1470 * g-debpoo.adb (Set_Valid): Use Integer_Address instead of
1471 Storage_Offset to avoid wrap around causing invalid results.
1473 2005-11-14 Pascal Obry <obry@adacore.com>
1475 * gnatbind.adb (Is_Cross_Compiler): New function returning True for
1477 (Scan_Bind_Arg): Fail with an error message if -M option is used
1478 on a native compiler.
1480 2005-11-14 Robert Dewar <dewar@adacore.com>
1481 Vincent Celier <celier@adacore.com>
1483 * gprep.adb: Implement -C switch to scan comments
1485 * scng.adb: Scan comment symbol separately if Replace_In_Comments set
1487 * scans.ads: Comment updates (including new use of Tok_Comment in
1490 * opt.ads: Add documentation for flags that are used by gprmake,
1491 currently and in the next version of gprmake.
1492 (Verbosity_Level): New variable
1493 Add Replace_In_Comments switch
1495 * vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm
1497 Add /REPLACE_IN_COMMENTS for gnatprep -C switch
1499 2005-11-14 Arnaud Charlet <charlet@adacore.com>
1501 * g-regpat.adb (Fail): raise Expression_Error including the diagnostic
1502 message, friendlier.
1504 2005-11-14 Robert Dewar <dewar@adacore.com>
1506 * g-spitbo.adb: (Hash): Rotate by 3 instead of 1
1508 2005-11-14 Doug Rupp <rupp@adacore.com>
1510 * init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined.
1512 2005-11-14 Robert Dewar <dewar@adacore.com>
1514 * interfac.ads: Change declarations of IEEE float types so that we no
1515 longer need a separate version of this package for VMS.
1517 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1519 * lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
1520 internal entity created for the declaration of a child subprogram body
1521 with no spec as coming from source, to generate proper cross-reference
1524 2005-11-14 Vincent Celier <celier@adacore.com>
1526 * make.adb (Compile_Sources): Change verbose message to minimum
1527 verbosity level High for "is in an Ada library", "is a read-only
1528 library" and "is an internal library",
1529 (Create_Binder_Mapping_File): Path name of ALI file for library project
1530 must include the library directory, not the object directory.
1531 (Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called
1532 for new switches -vl, -vm and -vh.
1533 (Verbose_Msg): Add new defaulted parameter Minimum_Verbosity
1534 (Check): Use minimum verbosity Medium for some Verbose_Msg calls
1535 (Compile_Sources): Do not attempt to compile if an ALI file is missing
1536 in a project that is externally built.
1537 (Compute_All_Imported_Projects): New procedure
1538 (Gnatmake): Check if importing libraries should be regenerated because
1539 at least an imported library is more recent.
1540 (Initialize): For each project compute the list of the projects it
1541 imports directly or indirectly.
1542 (Add_Library_Search_Dir): New procedure, used in place of
1543 Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
1544 put in the search paths.
1545 (Add_Source_Search_Dir): New procedure, used in place of
1546 Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
1547 put in the search paths.
1548 (Mark_Directory): Resolve the absolute path the directory before marking
1551 * switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with
1552 call to new procedure Bad_Switch. Call Scan_Pos with new parameter
1553 Switch. Do not handle any exception.
1554 (Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh
1555 so that the switch is recognized as valid.
1556 (Scan_Make_Switches): Implement new switches -vl, -vm and -vh.
1558 2005-11-14 GNAT Script <nobody@adacore.com>
1560 * Make-lang.in: Makefile automatically updated
1562 2005-11-14 Pascal Obry <obry@adacore.com>
1564 * mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is
1566 (Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used.
1567 In both cases the last argument was dropped.
1569 2005-11-14 Eric Botcazou <ebotcazou@adacore.com>
1571 * namet.h: (Column_Numbe): New type.
1572 (Get_Column_Number): Define to sinput__get_column_number.
1573 (Instantiation): Define to sinput__instantiation.
1574 (Get_Column_Number): Declare.
1575 (Instantiation): Likewise.
1577 2005-11-14 Robert Dewar <dewar@adacore.com>
1579 * par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit
1580 syntax, which could cause compiler hangs.
1582 2005-11-14 Vincent Celier <celier@adacore.com>
1584 * prj-ext.adb: Take into account new environment variable
1585 GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH
1587 (Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH,
1588 normalize its path name, making it absolute and resolving symbolic
1589 links, and replace the original if resolved path is different.
1591 2005-11-14 Vincent Celier <celier@adacore.com>
1593 * prj-part.adb (Create_Virtual_Extending_Project): Put virtual project
1594 into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS.
1596 2005-11-14 Emmanuel Briot <briot@adacore.com>
1598 * prj-pp.adb (Print): Do not output the with statement if the
1599 associated name is empty, which happens for virtual extending projects.
1600 (Print): Preserve the "extends all" attribute when printing the project.
1602 * prj-tree.ads (String_Value_Of): Add comment about returned value for
1603 a virtual extending project.
1605 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1607 * sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the
1608 rhs of an assignment even if the type is unconstrained, when the
1609 context is non-expanding.
1610 In an inlined body, if the context type is private,
1611 resolve with its full view, which must be a composite type.
1613 2005-11-14 Robert Dewar <dewar@adacore.com>
1614 Ed Schonberg <schonberg@adacore.com>
1616 * sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package
1617 Do not give obsolescent warning on with of subprogram (since we
1619 (Analyze_With_Clause): Add test for obsolescent package
1620 (Install_Context_Clauses): If the unit is the body of a child unit, do
1621 not install twice the private declarations of the parents, to prevent
1622 circular lists of Use_Clauses in a parent.
1623 (Implicit_With_On_Parent): Do add duplicate with_clause on parent when
1624 compiling body of child unit.
1625 Use new class N_Subprogram_Instantiation
1626 (Expand_With_Clause): If this is a private with_clause for a child unit,
1627 appearing in the context of a package declaration, then the implicit
1628 with_clauses generated for parent units are private as well.
1629 (License_Check): Do not generate message if with'ed unit is internal
1631 2005-11-14 Gary Dismukes <dismukes@adacore.com>
1632 Ed Schonberg <schonberg@adacore.com>
1633 Thomas Quinot <quinot@adacore.com>
1635 * sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose
1636 names are internal, because they will not have a corresponding partner
1637 in the actual package.
1638 (Analyze_Formal_Package): Move the setting of the formal package spec's
1639 Generic_Parent field so that it occurs prior to analyzing the package,
1640 to allow proper operation of Install_Parent_Private_Declarations.
1641 (Analyze_Package_Instantiation): Set the instantiated package entity's
1642 Package_Instantiation field.
1643 (Get_Package_Instantiation_Node): Move declaration to package spec.
1644 Retrieve the N_Package_Instantiation node when the Package_Instantiation
1646 (Check_Generic_Child_Unit): Within an inlined call, the only possible
1647 instantiation is Unchecked_Conversion, for which no parents are needed.
1648 (Inline_Instance_Body): Deinstall and record the use_clauses for all
1649 parent scopes of a scope being removed prior to inlining an instance
1651 (Analyze_Package_Instantiation): Do not perform front-end inlining when
1652 the current context is itself an instance within a non-instance child
1653 unit, to prevent scope stack errors.
1654 (Save_References): If the node is an aggregate that is an actual in a
1655 call, rewrite as a qualified expression to preserve some type
1656 information, to resolve possible ambiguities in the instance.
1657 (Instance_Parent_Unit): New global variable to record the ultimate
1658 parent unit associated with a generic child unit instance (associated
1659 with the existing Parent_Unit_Visible flag).
1660 (type Instance_Env): New component Instance_Parent_Unit for stacking
1661 parents recorded in the global Instance_Parent_Unit.
1662 (Init_Env): Save value of Instance_Parent_Unit in the Instance_Env
1664 (Install_Spec): Save the parent unit entity in Instance_Parent_Unit when
1665 it's not a top-level unit, and only do this if Instance_Parent_Unit is
1666 not already set. Replace test of Is_Child_Unit with test of parent's
1667 scope against package Standard. Add comments and a ??? comment.
1668 (Remove_Parent): Revise condition for resetting Is_Immediately_Visible
1669 on a child instance parent to test that the parent equals
1670 Instance_Parent rather than simply checking that the unit is not a
1672 (Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env.
1673 (Validate_Derived_Interface_Type_Instance): Verify that all ancestors of
1674 a formal interface are ancestors of the corresponding actual.
1675 (Validate_Formal_Interface_Type): Additional legality checks.
1676 (Analyze_Formal_Derived_Interface_Type): New procedure to handle formal
1677 interface types with ancestors.
1678 (Analyze_Formal_Package): If formal is a renaming, use renamed entity
1679 to diagnose attempts to use generic within its own declaration.
1681 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1682 Javier Miranda <miranda@adacore.com>
1684 * sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original
1686 (Build_Private_Derived_Type): The entity of the created full view of the
1687 derived type does not come from source. If after installing the private
1688 declarations of the parent scope the parent is still private, use its
1689 full view to construct the full declaration of the derived type.
1690 (Build_Derived_Record_Type): Relax the condition that controls the
1691 execution of the check that verifies that the partial view and
1692 the full view agree in the set of implemented interfaces. In
1693 addition, this test now only takes into account the progenitors.
1694 (Derive_Interface_Subprograms): No need to derive subprograms
1695 of ancestors that are interfaces.
1696 (Derive_Subprograms): Remove formal No_Predefined_Prims and the
1698 Change name Is_Package to Is_Package_Or_Generic_Package
1699 (Complete_Subprograms_Derivation): Handle the case in which the full
1700 view is a transitive derivation of the ancestor of the partial view.
1701 (Process_Full_View): Rename local subprogram Find_Interface_In_
1702 Descendant to Find_Ancestor_Interface to leave the code more clear.
1703 Remove wrong code that avoids the generation of an error message
1704 when the immediate ancestor of the partial view is an interface.
1705 In addition some minor reorganization of the code has been done to
1706 leave it more clear.
1707 (Analyze_Type_Declaration): If type has previous incomplete tagged
1708 partial view, inherit properly its primitive operations.
1709 (Collect_Interfaces): Make public, for analysis of formal
1711 (Analyze_Interface_Declaration): New procedure for use for regular and
1712 formal interface declarations.
1713 (Build_Derived_Record_Type): Add support for private types to the code
1714 that checks if a tagged type implements abstract interfaces.
1715 (Check_Aliased_Component_Type): The test applies in the spec of an
1717 (Access_Type_Declaration): Clean up declaration of malformed type
1718 declared as an access to its own classwide type, to prevent cascaded
1720 (Collect_Interfaces): For private extensions and for derived task types
1721 and derived protected types, the parent may be an interface that must
1722 be included in the interface list.
1723 (Access_Definition): If the designated type is an interface that may
1724 contain tasks, create Master_Id for it before analyzing the expression
1725 of the declaration, which may be an allocator.
1726 (Record_Type_Declaration): Set properly the interface kind, for use
1727 in allocators, the creation of master id's for task interfaces, etc.
1729 2005-11-14 Javier Miranda <miranda@adacore.com>
1730 Ed Schonberg <schonberg@adacore.com>
1732 * sem_ch6.adb (Check_Conformance): The null-exclusion feature can be
1733 omitted in case of stream attribute subprograms.
1734 (Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that
1735 appear immediately after a subprogram body, when there is no previous
1736 subprogram declaration.
1737 Change name Is_Package to Is_Package_Or_Generic_Package
1738 (Process_Formals): A non null qualifier on a non null named access
1739 type is not an error, and is a warning only if Redundant_Constructs
1742 2005-11-14 Gary Dismukes <dismukes@adacore.com>
1743 Ed Schonberg <schonberg@adacore.com>
1745 * sem_ch7.adb (Install_Parent_Private_Declarations): New procedure
1746 nested within Analyze_Package_Specification to install the private
1747 declarations and use clauses within each of the parent units of a
1748 package instance of a generic child package.
1749 (Analyze_Package_Specification): When entering a private part of a
1750 package associated with a generic instance or formal package, the
1751 private declarations of the parent must be installed (by calling new
1752 procedure Install_Parent_Private_Declarations).
1753 Change name Is_Package to Is_Package_Or_Generic_Package
1754 (Preserve_Full_Attributes): For a synchronized type, the corresponding
1755 record is absent in a generic context, which does not indicate a
1758 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1760 * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do
1761 not try to rewrite a renamed stream attribute, because the operations
1762 on the type may not have been generated.
1763 Handle properly a renaming_as_body generated for a stream operation
1764 whose default is abstract because the object type itself is abstract.
1765 (Find_Type): If the type is incomplete and appears as the prefix of a
1766 'Class reference, it is tagged, and its list of primitive operations
1767 must be initialized properly.
1768 (Chain_Use_Clauses): When chaining the use clauses that appear in the
1769 private declaration of a parent unit, prior to compiling the private
1770 part of a child unit, find on the scope stack the proper parent entity
1771 on which to link the use clause.
1772 (Note_Redundant_Use): Emit a warning when a redundant use clause is
1774 (Analyze_Object_Renaming): An attribute reference is not a legal object
1775 if it is not a function call.
1777 2005-11-14 Robert Dewar <dewar@adacore.com>
1778 Ed Schonberg <schonberg@adacore.com>
1780 * sem_eval.adb: Implement d.f flag
1781 (Subtype_Statically_Match): A generic actual type has unknown
1782 discriminants when the corresponding actual has a similar partial view.
1783 If the routine is called to validate the signature of an inherited
1784 operation in a child instance, the generic actual matches the full view,
1786 2005-11-14 Hristian Kirtchev <kirtchev@adacore.com>
1787 Ed Schonberg <schonberg@adacore.com>
1788 Robert Dewar <dewar@adacore.com>
1789 Thomas Quinot <quinot@adacore.com>
1791 * sem_res.adb (Resolve_Call): Provide a better error message whenever
1792 a procedure call is used as a select statement trigger and is not an
1793 entry renaming or a primitive of a limited interface.
1794 (Valid_Conversion): If the operand has a single interpretation do not
1795 remove address operations.
1796 (Check_Infinite_Recursion): Skip freeze nodes when looking for a raise
1797 statement to inhibit warning.
1798 (Resolve_Unary_Op): Do not produce a warning when
1799 processing an expression of the form -(A mod B)
1800 Use Universal_Real instead of Long_Long_Float when we need a high
1801 precision float type for the generated code (prevents gratuitous
1802 Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
1803 (Resolve_Concatenation_Arg): Improve error message when argument is an
1804 ambiguous call to a function that returns an array.
1805 (Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that
1806 there is an implicit operator in the given scope if we are within an
1807 instance: legality check has been performed on the generic.
1808 (Resolve_Unary_Op): Apply warnings checks on argument of Abs operator
1809 after resolving operand, to avoid false warnings on overloaded calls.
1811 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1812 Javier Miranda <miranda@adacore.com>
1816 * sem_type.adb (Covers): In an inlined body, a composite type matches
1817 a private type whose full view is a composite type.
1818 (Interface_Present_In_Ancestor): Protect the frontend against
1819 previously detected errors to ensure that its compilation
1820 with assertions enabled gives the same output that its
1821 compilation without assertions.
1822 (Interface_Present_In_Ancestor): Add support for private types.
1823 Change name In_Actual to In_Generic_Actual (clean up)
1824 (Disambiguate): New predicate In_Actual, to recognize expressions that
1825 appear in the renaming declaration generated for generic actuals, and
1826 which must be resolved in the outer context.
1828 2005-11-14 Robert Dewar <dewar@adacore.com>
1829 Thomas Quinot <quinot@adacore.com>
1830 Hristian Kirtchev <kirtchev@adacore.com>
1831 Ed Schonberg <schonberg@adacore.com>
1833 * sem_util.ads, sem_util.adb: Change name Is_Package to
1834 Is_Package_Or_Generic_Package.
1835 (Check_Obsolescent): New procedure.
1836 (Set_Is_Public): Remove obsolete junk test.
1837 (Set_Public_Status): Do not set Is_Public on an object whose declaration
1838 occurs within a handled_sequence_of_statemets.
1839 (Is_Controlling_Limited_Procedure): Factor some of the logic, account
1840 for a parameterless procedure.
1841 (Enter_Name): Recognize renaming declarations created for private
1842 component of a protected type within protected operations, so that
1843 the source name of the component can be used in the debugger.
1845 2005-11-14 Ed Schonberg <schonberg@adacore.com>
1846 Robert Dewar <dewar@adacore.com>
1848 * sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals
1849 of a generic subprogram are not visible outside the body.
1850 (Set_Warning_Switch): New procedure (code to set warning mode moved
1851 here from Switch.C so that it can be shared by pragma processing.
1852 (Check_References): Special case warning for non-modified non-imported
1854 * par-prag.adb: Modify processing of pragma Warnings to accomodate new
1855 form with a string literal argument
1857 2005-11-14 Javier Miranda <miranda@adacore.com>
1859 * s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
1861 (Write): Addition of "not null" to the anonymous access.
1862 (Read): Addition of "not null" to the anonymous access.
1863 (Write): Addition of "not null" to the anonymous access.
1865 * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
1866 I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
1867 I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
1868 (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
1869 W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
1870 "not null" to the anonymous access.
1872 2005-11-14 Robert Dewar <dewar@adacore.com>
1874 * s-stoele.adb: Fix code for Address mod Storage_Offset for negative
1877 2005-11-14 Vincent Celier <celier@adacore.com>
1879 * switch.adb (Bad_Switch): New procedure
1880 (Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate
1881 message when in error.
1883 * switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value,
1884 Too_Many_Output_Files): Remove declarations, no longer used.
1885 (Scan_Nat): New parameter Switch
1887 (Bad_Switch): New procedure
1889 * switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;"
1890 with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith
1891 new parameter Switch. Replace "raise Too_Many_Output_Files;" with call
1892 to Osint.Fail. Do not handle any exception.
1894 2005-11-14 Vincent Celier <celier@adacore.com>
1896 * tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it
1897 designates a non existent directory.
1899 2005-11-14 Robert Dewar <dewar@adacore.com>
1901 * xgnatugn.adb: Replace invalid membership test by 'Valid
1903 2005-11-14 Vincent Celier <celier@adacore.com>
1905 * makegpr.adb (Gprmake): Do not attempt to build the global archive if
1906 there is no object directory.
1908 2005-11-14 Robert Dewar <dewar@adacore.com>
1910 * usage.adb: Minor adjustment to output format, use nn instead of nnn
1911 (so that -gnateInnn does not run into next column)
1913 2005-11-14 Ed Falis <falis@adacore.com>
1915 * s-bitops.adb (Bits_Array): corrected comment: "unconstrained" =>
1918 2005-11-14 Cyrille Comar <comar@adacore.com>
1920 * s-chepoo.ads: Add comments on Dereference.
1921 Remove unnecessary inherited abstract primitives.
1924 2005-11-14 Robert Dewar <dewar@adacore.com>
1926 * sem_cat.ads (Validate_Access_Type_Declaration): Remove declaration
1927 node parameter, not needed, since it is available as Declaration_Node.
1929 2005-11-14 Geert Bosch <bosch@adacore.com>
1931 * s-exnllf.adb (Exn_LLF): Fix comment to be more precise and
1932 grammatically correct.
1934 2005-11-14 Vincent Celier <celier@adacore.com>
1936 * s-fileio.ads: Correct spelling error in comment
1938 2005-11-14 Cyrille Comar <comar@adacore.com>
1939 Robert Dewar <dewar@adacore.com>
1940 Vincent Celier <celier@adacore.com>
1941 Ben Brosgol <brosgol@adacore.com>
1942 Jose Ruiz <ruiz@adacore.com>
1943 Pascal Obry <obry@adacore.com>
1946 Document that -fstack-check is needed for strict compliance with the
1947 Ada 95 Reference Manual.
1948 Correct reference to VAX systems to meet HP guidelines
1949 Add documentation for new gnatmake switches -vl, -vm and -vh
1950 Replace DEC Ada by HP Ada
1951 Replace DIGITAL by HP
1952 Remove empty section on tools in compatibility section
1953 Clarify the Windows convention semantics.
1954 Document the Win32 calling convention.
1955 The Stdcall, Win32 and DLL convention are synonyms.
1956 Add a note in -gnatR description about zero size record components
1957 Note on new >= and <= warnings for -gnatwc
1958 Document that equal sign after -gnatm is optional.
1959 Note that strip is working fine on DLL built with a Library
1960 Project. The restriction apply only to DLL built with gnatdll.
1961 Update section about the way to debug a DLL.
1962 Update information about the DLL convention.
1963 Document -C switch for gnatprep
1964 Document new attribute Library_ALI_Dir
1965 Update elaboration doc to include implicit Elaborate pragmas now
1966 generated for subprogram instantiations.
1967 Document limitation on executable names that include spaces for --GCC,
1968 --GNATBIND, and --GNATLINK switches.
1969 Document that -w causes -gnatws to be added at start of gcc switches
1971 * gnat_rm.texi: Document that -mieee is needed for generating infinite
1972 and NaN values in case of overflow on machines that are not fully
1973 compliant with the IEEE floating-point standard.
1974 Create a section describing the set of compiler options needed for
1975 strict compliance with the Ada 95 Reference Manual.
1976 Add documentation for pragma Obsolescent applied to a package
1977 Clarify potential issues of mixed language programs related to the
1978 I/O buffering enabling in the elaboration of the GNAT runtime.
1979 Add extra documentation for pragma Restrictions (No_Elaboration_Code)
1980 This documentation only patch adds extra documentsion for pragma
1981 Restrictions (No_Elaboration_Code), explaining why it is not possible
1982 to document this restriction in terms of allowed source constructs.
1983 Document string literal form of pragma Warnings
1984 Document new attribute Library_ALI_Dir
1985 Add documentation on stable attributes in project files that was missing
1987 * gnat-style.texi: Indicate that paragraphs within a single comment
1988 should be separated by empty comment lines
1990 * ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
1993 * bindusg.adb: Minor cleanup, put -m before -M for consistency
1995 2005-11-14 Robert Dewar <dewar@adacore.com>
1997 * a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb,
1998 a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb,
1999 a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads,
2000 a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb,
2001 a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads,
2002 a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads,
2003 a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
2004 a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb,
2005 a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads,
2006 a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
2007 a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads,
2008 a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb,
2009 g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads,
2010 a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
2011 a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb,
2012 system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads,
2013 g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb,
2014 g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads,
2015 a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads,
2016 a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads,
2017 a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
2018 a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads,
2019 a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads,
2020 a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads,
2021 system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads,
2022 system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb,
2023 a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb,
2024 a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb,
2025 a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads,
2026 system-tru64.ads, system-aix.ads, system-solaris-x86.ads,
2027 system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads,
2028 s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb,
2029 system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads,
2030 system-interix.ads, system-solaris-sparc.ads,
2031 system-solaris-sparcv9.ads, s-inmaop-vms.adb,
2032 s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb,
2033 system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb,
2034 s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads,
2035 a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads,
2036 a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb,
2037 a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads,
2038 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
2039 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
2040 a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads,
2041 a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb,
2042 a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb,
2043 a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb,
2044 a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads,
2045 a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb,
2046 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
2047 a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads,
2048 a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads,
2049 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb,
2050 a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb,
2051 a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb,
2052 a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads,
2053 a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
2054 a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads,
2055 a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb,
2056 a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
2057 a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
2058 a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads,
2059 a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb,
2060 a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb,
2061 a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb,
2062 a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb,
2063 a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
2064 a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb,
2065 bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb,
2066 csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb,
2067 errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
2068 errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads,
2069 exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb,
2070 exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb,
2071 freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads,
2072 g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads,
2073 g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads,
2074 g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads,
2075 g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb,
2076 g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads,
2077 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads,
2078 g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads,
2079 g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb,
2080 gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb,
2081 gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb,
2082 g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb,
2083 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb,
2084 g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads,
2085 g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads,
2086 g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb,
2087 layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb,
2088 mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads,
2089 mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads,
2090 nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb,
2091 osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads,
2092 par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb,
2093 par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
2094 par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads,
2095 prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads,
2096 prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb,
2097 prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb,
2098 prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb,
2099 sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb,
2100 sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads,
2101 sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads,
2102 sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads,
2103 s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb,
2104 sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads,
2105 s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb,
2106 s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
2107 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb,
2108 s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads,
2109 s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb,
2110 s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
2111 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb,
2112 s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads,
2113 s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb,
2114 s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
2115 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb,
2116 s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads,
2117 s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb,
2118 s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
2119 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb,
2120 s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads,
2121 s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb,
2122 s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
2123 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb,
2124 s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads,
2125 s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads,
2126 s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb,
2127 s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads,
2128 s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads,
2129 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads,
2130 s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads,
2131 styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads,
2132 s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads,
2133 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb,
2134 s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads,
2135 s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads,
2136 s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads,
2137 s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads,
2138 s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb,
2139 s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads,
2140 s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
2141 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads,
2142 table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c,
2143 tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads,
2144 ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads,
2145 usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads,
2146 xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads,
2147 xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb,
2148 a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads,
2149 a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads,
2150 a-numaux-darwin.ads, a-numaux-darwin.adb,
2151 a-swuwha.ads, a-stunha.ads: Minor reformatting
2153 2005-11-14 Robert Dewar <dewar@adacore.com>
2156 * osint-m.adb: Add pragma Elaborate_All for Osint
2158 2005-11-10 Eric Botcazou <ebotcazou@adacore.com>
2161 * trans.c (call_to_gnu): Restore statement lost in translation.
2163 2005-11-08 Eric Botcazou <ebotcazou@adacore.com>
2165 * init.c: Use the Linux-specific section for the IA-64/Linux target.
2166 (__gnat_adjust_context_for_raise): Add conditional code so that the
2167 IA-64 is also supported.
2169 2005-11-03 James E Wilson <wilson@specifix.com>
2172 * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
2173 TREE_OVERFLOW check.
2175 2005-09-21 Olivier Hainque <hainque@adacore.com>
2178 * decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
2179 as we create them to store a size in bits.
2181 2005-10-21 Eric Botcazou <ebotcazou@adacore.com>
2189 * utils2.c (build_return_expr): New helper function.
2190 * gigi.h (build_return_expr): Declare it.
2191 * trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
2192 of manually building the RETURN_EXPR tree.
2193 (call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
2194 (gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
2195 build_binary_op for the "target pointer" case. Use build_return_expr
2196 instead of manually building the RETURN_EXPR tree.
2198 2005-09-16 Laurent GUERBY <laurent@guerby.net>
2201 * s-tpinop.ads: Make this unit Preelaborate.
2203 2005-09-16 Andreas Jaeger <aj@suse.de>
2205 * socket.c: Add string.h for memcpy.
2207 2005-09-05 Arnaud Charlet <charlet@adacore.com>
2209 * dec-io.ads, dec-io.adb: Removed, no longer used.
2211 2005-09-01 Arnaud Charlet <charlet@adacore.com>
2213 * a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
2215 * s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
2216 s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
2217 s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
2218 s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
2219 dependent units are Preelaborate.
2220 (Initialize): Call Interrupt_Managemeent.Initialize and
2221 OS_Primitives.Initialize to ensure proper initialization of this unit.
2222 Remove use of System.Soft_Links
2223 Make this unit Preelaborate.
2225 * s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
2226 s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
2227 s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
2228 s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
2229 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
2230 s-tratas.ads, s-tasinf.ads: Minor reformatting.
2231 Add pragma Preelaborate, since these packages are suitable for this
2235 * s-traent-vms.ads, s-intman-dummy.adb,
2236 s-taprop-dummy.adb: Make this unit Preelaborate.
2238 * s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
2239 s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
2240 s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
2241 s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
2242 s-intman-solaris.adb, s-intman-irix-athread.adb,
2243 s-intman-irix.adb: Mark this unit Preelaborate.
2244 (Initialize): New procedure.
2247 * s-taspri-linux.ads: Removed.
2249 * s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
2250 as done by other implementations (e.g. posix).
2252 * s-taprop.ads (Timed_Delay): Update spec since the caller now is
2253 responsible for deferring abort.
2254 Mark this unit Preelaborate.
2256 * s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
2257 proper initialization of the tasking run-time.
2259 * s-tasdeb.ads: Mark this unit Preelaborate.
2260 (Known_Tasks): Add explicit default value to avoid elaboration code.
2262 * s-inmaop-vms.adb (Elaboration code): Add call to
2263 Interrupt_Management.Initialize since the elaboration code depends on
2264 proper initialization of this package.
2266 * s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
2267 s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
2268 s-osprim-posix.adb: Make this unit Preelaborate.
2270 * a-calend.adb: Add call to OS_Primitives.Initialize
2272 * a-elchha.adb: Update use of Except.Id.Full_Name.
2274 Remove use of Ada.Exceptions.Traceback when possible, cleaner.
2276 * a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
2277 Move with clauses outside Warnings Off now that dependent units are
2279 Use raise xxx with "..."; Ada 2005 form.
2281 * a-taside.ads, a-taside.adb:
2282 Remove some dependencies, to make it easier to make this unit truly
2284 Rewrite some code to be conformant with Preelaborate rules.
2286 * g-os_lib.adb: Remove non-preelaborate code so that this unit can be
2287 marked Preelaborate in the future.
2289 * s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
2290 these units Preelaborate.
2292 * s-exctab.adb: Update use of Except.Id.Full_Name.
2294 * s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
2295 (Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
2296 Set_Exc_Stack_Addr): Removed, no longer used.
2297 Remove reference to *Machine_State_Addr*, no longer needed.
2299 * s-stalib.ads: Mark this unit as Preelaborate[_05].
2300 (Exception_Data): Full_Name is now a System.Address so that this unit
2301 can be made Preelaborate.
2302 Clean up/simplify code thanks to Full_Name being a System.Address.
2303 Remove obsolete pragma Suppress (All_Checks), no longer needed.
2305 * s-taskin.ads, s-taskin.adb:
2306 Move with clauses outside Warnings Off now that dependent units are
2308 Make this unit Preelaborate.
2309 (Initialize): New proceduure, replace elaboration code and makes the
2310 set up of the tasking run-time cleaner.
2311 (Detect_Blocking): Now a function instead of a deferred boolean, to
2312 obey Preelaborate rules.
2314 * s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
2315 soft links, no longer used.
2317 * s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
2318 packages are suitable for this categorization.
2320 * s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
2321 since we compile run-time sources in Ada 2005 mode.
2322 (Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
2323 avoid having s-taprop*.adb depend on s-soflin and to avoid code
2325 Remove reference to *Machine_State_Addr*, no longer needed.
2327 2005-09-01 Arnaud Charlet <charlet@adacore.com>
2329 * s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
2330 (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
2331 Remove reference to System.Exceptions.
2333 * s-mastop-x86.adb: Removed, no longer used.
2335 * s-traceb-mastop.adb: Adjust calls to Pop_Frame.
2337 * a-excach.adb: Minor reformatting.
2339 * a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
2340 instead fix new warnings that were hidden by this change.
2341 (AAA, ZZZ): Removed, replaced by...
2342 (Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
2343 are used instead of constants, to help make Ada.Exception truly
2345 (Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
2346 Raise_Storage_Error): File is now a System.Address, to simplify code.
2347 (Elab code): Removed, no longer used.
2348 (Null_Occurrence): Remove Warnings Off and make this construct
2350 Remove code related to front-end zero cost exception handling, since
2351 it is no longer used.
2352 Remove -gnatL/-gnatZ switches.
2354 * a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
2355 Update use of Except.Msg.
2357 * gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
2358 freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
2359 to front-end zero cost exception handling, since it is no longer used.
2360 Remove -gnatL/-gnatZ switches.
2362 * lib-writ.ads: Minor reformatting
2365 * Makefile.rtl: Remove references to s-except*, s-mastop-x86*
2367 * Make-lang.in: Remove references to s-except.ads
2369 * s-except.ads: Removed, no longer used.
2371 * s-mastop.ads, s-mastop.adb:
2372 (Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
2373 Remove reference to System.Exceptions.
2375 * raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
2376 switch-b.adb: Remove code related to front-end zero cost exception
2377 handling, since it is no longer used.
2378 Remove -gnatL/-gnatZ switches.
2380 2005-09-01 Robert Dewar <dewar@adacore.com>
2381 Gary Dismukes <dismukes@adacore.com>
2382 Javier Miranda <miranda@adacore.com>
2384 * exp_ch4.adb (Expand_N_In): Replace test of expression in its own
2385 type by valid test and generate warning.
2386 (Tagged_Membership): Generate call to the run-time
2387 subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
2388 Change formal name Subtype_Mark to Result_Definition in several calls to
2389 Make_Function_Specification.
2390 (Expand_Allocator_Expression): Add tests for suppression of the AI-344
2391 check for proper accessibility of the operand of a class-wide allocator.
2392 The check can be left out if checks are suppressed or if the expression
2393 has a specific tagged type whose level is known to be safe.
2395 * exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
2396 generates the run-time check associated with null-excluding entities.
2397 (Expand_N_Return_Statement): Add tests to determine if the accessibility
2398 check on the level of the return expression of a class-wide function
2399 can be elided. The check usually isn't needed if the expression has a
2400 specific type (unless it's a conversion or a formal parameter). Also
2401 add a test for whether accessibility checks are suppressed. Augment
2402 the comments to describe the conditions for performing the check.
2404 2005-09-01 Hristian Kirtchev <kirtchev@adacore.com>
2405 Javier Miranda <miranda@adacore.com>
2406 Gary Dismukes <dismukes@adacore.com>
2407 Ed Schonberg <schonberg@adacore.com>
2409 * a-tags.adb (IW_Membership): Give support to
2410 "Iface_CW_Typ in T'Class". For this purpose the functionality of this
2411 subprogram has been extended to look for the tag in the ancestors tag
2413 Update the structure of the GNAT Dispatch Table to reflect the
2414 additional two tables used in dispatching selects.
2415 Introduce appropriate array types and record components in
2416 Type_Specific_Data to reflect the two tables.
2417 (Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
2418 the TSD of a tag, indexed by position.
2419 (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
2420 operation kind in the TSD of a tag, indexed by position.
2422 * a-tags.ads: Introduce an enumeration type to capture different
2423 primitive operation kinds. Define a constant reflecting the number of
2424 predefined primitive operations.
2425 (Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
2426 of an entry wrapper.
2427 (Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
2428 callable entity of a primitive operation.
2430 * exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
2431 primitive operations used in dispatching selects for limited
2432 interfaces, limited tagged, task and protected types what implement a
2434 (Freeze_Type): Generate the bodies of the primitive operations used in
2435 dispatching selects for limited tagged, task and protected types that
2436 implement a limited interface. Generate statements to populate the two
2437 auxiliary tables used for dispatching in select statements.
2438 (Freeze_Record_Type): Add call to initialize the dispatch table entries
2439 associated with predefined interface primitive operations.
2440 (Build_Dcheck_Function): Change Set_Subtype_Mark to
2441 Set_Result_Definition.
2442 (Build_Variant_Record_Equality): Change Subtype_Mark to
2444 (Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
2445 (Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
2446 (Build_Assignment): Simplify the code that adds the run-time-check.
2447 (Expand_N_Object_Declaration): Code cleanup.
2449 * exp_ch7.adb (Make_Clean): Select the appropriate type for locking
2450 entries when there is a protected type that implements a limited
2453 * exp_ch9.adb: Add package Select_Expansion_Utilities that contains
2454 common routines used in expansion of dispatching selects.
2455 (Add_Private_Declarations): Select the appropriate protection type when
2456 there is a protected type that implements a limited interface.
2457 (Build_Parameter_Block): Generate a wrapped parameter block.
2458 (Build_Protected_Subprogram_Body): Select the appropriate type for
2459 locking entries when there is a protected type that implements a
2461 (Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
2462 classified as entry wrappers.
2463 (Expand_N_Asynchronous_Select): Add support for expansion of dispatching
2464 asynchronous selects.
2465 (Expand_N_Conditional_Entry_Call): Add support for expansion of
2466 dispatching conditional selects.
2467 (Expand_N_Protected_Type_Declaration): Select the appropriate type for
2468 protection when there is a protected type that implements limited
2470 (Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
2472 (Extract_Dispatching_Call): Extract the entity of the name of a
2473 dispatching call, the object parameter, actual parameters and
2474 corresponding formals.
2475 (Make_Initialize_Protection): Correct logic of protection initialization
2476 when there is a protected type that implements a limited interface.
2477 (Parameter_Block_Pack): Populate a wrapped parameter block with the
2478 values of actual parameters.
2479 (Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
2480 block and assign them to the original actual parameters.
2482 * exp_ch9.ads (Subprogram_Protection_Mode): New type.
2483 (Build_Protected_Sub_Specification): Change the type and name of the
2484 last formal to account for the increased variety of protection modes.
2486 * einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
2487 entities. Used to save the value of the Is_Hidden attribute when the
2488 limited-view is installed.
2489 (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
2490 the attribute of procedures classified as entry wrappers.
2491 (Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
2492 entity of a primitive wrapper.
2493 (Write_Entity_Flags): Output the name and value of the
2494 Is_Primitive_Wrapper attribute.
2495 (Write_Field27_Name): Output the name and entity of the field Wrapped_
2497 (Underlying_Type): If we have an incomplete entity that comes from
2498 the limited view then we return the Underlying_Type of its non-limited
2499 view if it is already available.
2500 (Abstract_Interface_Alias): Flag applies to all subrogram kinds,
2501 including operators.
2502 (Write_Field26_Name): Add entry for Overridden_Operation
2503 (Overridden_Operation): New attribute of functions and procedures.
2505 * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
2506 predefined position in the dispatch table for the primitive operations
2507 used in dispatching selects.
2508 (Init_Predefined_Interface_Primitives): Remove the hardcoded number of
2509 predefined primitive operations and replace it with
2510 Default_Prim_Op_Count.
2511 (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
2512 Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
2513 the names of the generated primitive operations used in dispatching
2515 (Init_Predefined_Interface_Primitives): No need to inherit primitives in
2516 case of abstract interface types. They will be inherit by the objects
2517 implementing the interface.
2518 (Make_DT): There is no need to inherit the dispatch table of the
2519 ancestor interface for the elaboration of abstract interface types.
2520 The dispatch table will be inherited by the object implementing the
2522 (Copy_Secondary_DTs): Add documentation.
2523 (Validate_Position): Improve this static check in case of
2524 aliased subprograms because aliased subprograms must have
2526 (Init_Predefined_Interface_Primitives): New subprogram that initializes
2527 the entries associated with predefined primitives of all the secondary
2529 (Build_Anonymous_Access_Type): Removed.
2530 (Expand_Interface_Actuals): With the previous cleanup there is no need
2531 to build an anonymous access type. This allows further cleanup in the
2532 code generated by the expander.
2533 (Expand_Interface_Conversion): If the actual is an access type then
2534 build an internal function to handle the displacement. If the actual
2535 is null this function returns null because no displacement is
2536 required; otherwise performs a type conversion that will be
2537 expanded in the code that returns the value of the displaced actual.
2538 (Expand_Interface_Actuals): Avoid the generation of unnecessary type
2539 conversions that have no effect in the generated code because no
2540 displacement is required. Code cleanup; use local variables to
2541 avoid repeated calls to the subprogram directly_designated_type().
2543 * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
2544 Classify the primitive operations used in dispatching selects as
2546 (Implements_Limited_Interface): Determine whether some type either
2547 directly implements a limited interface or extends a type that
2548 implements a limited interface.
2549 (Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
2550 (Expand_Subtype_From_Expr): Do not build actual subtype if the
2551 expression is limited.
2552 (Find_Interface_Tag): Add code to handle class-wide types and
2553 entities from the limited-view.
2555 * rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
2556 Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
2557 POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
2558 POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
2561 * sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
2562 of procedure name or prefix that appears as a trigger in a triggering
2565 * uintp.ads: Introduce constants Uint_11 and Uint_13.
2567 2005-09-01 Arnaud Charlet <charlet@adacore.com>
2569 * s-tataat.adb, a-tasatt.adb:
2570 Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
2572 * s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
2573 these procedures to body, and renamed Abort_Defer, Abort_Undefer.
2574 (Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
2577 2005-09-01 Arnaud Charlet <charlet@adacore.com>
2578 Jose Ruiz <ruiz@adacore.com>
2580 * s-taprop-vxworks.adb:
2581 Move with clauses outside Warnings Off now that dependent units are
2583 (Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
2584 initialization of this unit.
2585 (Specific): Add new procedures Initialize and Delete so that this
2586 package can be used for VxWorks 5.x and 6.x
2587 (ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
2588 differences between VxWorks 5.x and 6.x
2590 (Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
2592 Use only Preelaborate-compatible constructs.
2594 * s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
2595 Primitives.Operations.
2596 (Delete, Initialize): New procedures.
2598 * s-osinte-vxworks.adb: Body used to handle differences between
2600 (kill, Set_Time_Slice, VX_FP_TASK): New functions.
2602 * s-osinte-vxworks.ads: Minor reformatting.
2603 Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
2604 (VX_FP_TASK): Now a function, to handle differences between VxWorks 5
2606 (Set_Time_Slice): New function, replacing kerneltimeSlice to share code
2607 between Vxworks 5 and 6.
2608 (taskLock, taskUnlock): Removeed, no longer used.
2610 * adaint.c: The wait.h header is not located in the sys directory on
2611 VxWorks when using RTPs.
2612 (__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
2614 (__gnat_dup): dup is available on Vxworks when using RTPs.
2615 (__gnat_dup2): dup2 is available on Vxworks when using RTPs.
2617 * cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.
2619 * expect.c: The wait.h header is not located in the sys directory on
2620 VxWorks when using RTPs.
2622 2005-09-01 Thomas Quinot <quinot@adacore.com>
2624 * g-soccon-vms.adb: Renamed to g-soccon-vms.ads
2626 * g-soccon-vms.ads: Renamed from g-soccon-vms.adb
2628 * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
2629 g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
2630 g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
2631 g-soccon-freebsd.ads: Add new constants:
2633 SO_RCVTIMEO/SO_SNDTIMEO
2637 Move all target-specific file inclusions and macro definitions to
2638 gsocket.h, in order to ensure that any C code in socket.c will see a
2639 set of constants that is consistent with the contents of g-soccon.ads.
2641 * gsocket.h: Code imported from gen-soccon.c:
2642 Move all target-specific file inclusions and macro definitions to
2643 gsocket.h, in order to ensure that any C code in socket.c will see a set
2644 of constants that is consistent with the contents of g-soccon.ads.
2645 This change also makes gen-soccon self-contained (removing dependencies
2646 upon GCC internal headers).
2648 * g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
2650 (To_Inet_Addr): Now a procedure instead of a function, more efficient.
2652 * socket.c: Minor reformatting.
2654 2005-09-01 Ed Schonberg <schonberg@adacore.com>
2655 Thomas Quinot <quinot@adacore.com>
2657 * fname-sf.adb, mlib-tgt.ads,
2658 back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
2659 g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
2660 osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
2661 prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
2662 prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
2663 prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
2664 sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
2665 makegpr.adb: Remove redundant use_clauses.
2667 2005-09-01 Arnaud Charlet <charlet@adacore.com>
2669 * s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
2670 s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
2671 s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
2672 s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
2673 s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
2674 s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
2675 s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
2676 table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
2677 s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
2678 s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
2679 a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
2680 a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
2681 a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
2682 a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
2683 system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
2684 system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
2685 s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
2686 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
2687 s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
2688 s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
2689 s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
2690 s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
2691 system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
2692 s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
2693 system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
2694 s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
2695 a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
2696 a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
2697 a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
2698 a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
2699 a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
2700 a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
2701 a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
2702 a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
2703 a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
2704 a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
2705 csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
2706 g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
2707 a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
2708 a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
2709 a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
2710 a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
2711 g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
2712 i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
2713 interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
2714 i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
2715 s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
2716 s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
2717 s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
2718 s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
2719 s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
2720 s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
2721 s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
2722 s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
2723 s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
2724 s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
2725 s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
2726 s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
2727 s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
2728 s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
2729 s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
2730 s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
2731 s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
2732 s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
2733 s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
2734 s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
2735 s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
2736 s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
2737 and always use the no parameter form for consistency.
2739 * gnat-style.texi: Document rules about Preelaborate/Pure pragmas.
2741 2005-09-01 Robert Dewar <dewar@adacore.com>
2743 * binde.adb: Minor reformatting
2744 (Find_Elab_Order): Output warning if -p used with static elab order
2746 2005-09-01 Robert Dewar <dewar@adacore.com>
2748 * checks.adb (Check_Needed): New procedure, deals with removing checks
2749 based on analysis of short-circuited forms. Also generates warnings for
2750 improper use of non-short-circuited forms.
2753 2005-09-01 Robert Dewar <dewar@adacore.com>
2755 * a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
2758 2005-09-01 Robert Dewar <dewar@adacore.com>
2760 * errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
2762 Implement new insertion char < (conditional warning)
2763 * errutil.adb, erroutc.adb: Implement new insertion char <
2764 (conditional warning).
2765 * sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
2766 (Error_Msg_Warn): New variable for < insertion char.
2767 * prj-nmsc.adb: Implement new errout insertion char < (conditional
2769 (Check_For_Source): Change value of Source_Id only after the current
2770 source has been dealt with.
2772 2005-09-01 Robert Dewar <dewar@adacore.com>
2773 Doug Rupp <rupp@adacore.com>
2775 * exp_attr.adb: Handle vax fpt for 'Valid attribute
2776 * exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
2777 * s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
2778 (Valid_D, Valid_F, Valid_G): New functions
2780 2005-09-01 Ed Schonberg <schonberg@adacore.com>
2781 Hristian Kirtchev <kirtchev@adacore.com>
2782 Javier Miranda <miranda@adacore.com>
2784 * exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
2785 from object notation, the original node is unanalyzed and carries no
2786 semantic information, so that accessiblity checks must be performed on
2787 the type of the actual itself.
2788 (Expand_N_Subprogram_Declaration): Change last actual parameter for
2789 compatibility with Build_Protected_Sub_Specification.
2790 (Check_Overriding_Inherited_Interfaces): Add suport to handle
2791 overloaded primitives.
2792 (Register_Interface_DT_Entry): Use the new name of the formal
2793 the the calls to Expand_Interface_Thunk
2795 * exp_dbug.ads: Augment comments on encoding of protected types to
2796 include the generation of dispatching subprograms when the type
2797 implements at least one interface.
2799 * lib.ads: Extend information in Load_Stack to include whether a given
2800 load comes from a Limited_With_Clause.
2802 * lib-load.adb (From_Limited_With_Chain): New predicate to determine
2803 whether a potential circularity is harmless, because it includes units
2804 loaded through a limited_with clause. Extends previous treatment which
2805 did not handle properly arbitrary combinations of limited and
2806 non-limited clauses.
2808 2005-09-01 Nicolas Setton <setton@adacore.com>
2810 * exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
2811 to be encoded as typ___XBLU_lowerbound__upperbound instead of
2812 typ___XB_lowerbound__upperbound.
2814 2005-09-01 Thomas Quinot <quinot@adacore.com>
2816 * exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
2817 dummy access formal for RACW/RAS TypeCode TSS.
2818 (Build_TypeCode_Call): Do not generate dummy null access actual for
2819 calls to the TypeCode TSS.
2821 2005-09-01 Ed Schonberg <schonberg@adacore.com>
2823 * exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
2824 fully qualified name, to distinguish instances with the same local name.
2826 * g-souinf.ads (Enclosing_Entity): Document that entity name is now
2829 2005-09-01 Robert Dewar <dewar@adacore.com>
2831 * exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
2834 2005-09-01 Jerome Lambourg <lambourg@adacore.com>
2836 * g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
2837 (Free): New deallocation procedure for filter elements
2838 (Close): Deallocate any existing filter for the concerned connection
2840 2005-09-01 Laurent Pautet <pautet@adacore.com>
2842 * g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
2843 position set is provided, we compute one in order to reduce the maximum
2844 length of the keys. This computation first selects a character
2845 position between 1 and the minimum length of the keys in order to
2846 avoid reducing one of the keys to an empty string.
2847 (Initialize, Compute): When the ratio V to K is too low, the algorithm
2848 does not converge. The initialization procedure now comes with a
2849 maximum number of iterations such that when exceeded, an exception is
2850 raised in Compute. The user can initialize this ratio to another value
2852 Reformating and updated headers.
2854 2005-09-01 Javier Miranda <miranda@adacore.com>
2856 * itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
2857 that given an entity T creates and returns an Itype that duplicates the
2858 contents of T. The returned Itype has the null-exclusion
2859 attribute set to True, and its Etype attribute references T
2860 to keep the association between the two entities.
2861 Update copyright notice
2863 * sem_aggr.adb (Check_Can_Never_Be_Null,
2864 Aggregate_Constraint_Checks, Resolve_Aggregate,
2865 Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.
2867 * sem_ch5.adb (Analyze_Assignment): Code cleanup.
2869 2005-09-01 Gary Dismukes <dismukes@adacore.com>
2870 Robert Dewar <dewar@adacore.com>
2871 Hristian Kirtchev <kirtchev@adacore.com>
2873 * layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
2876 * par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
2878 Call Set_Result_Definition instead of Set_Subtype_Mark.
2879 (P_Subprogram_Specification): Add parsing of anonymous access result
2880 plus null exclusions. Call Set_Result_Definition instead of
2883 * par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
2884 (P_Access_Type_Definition): Add parsing for an anonymous access result
2885 subtype, plus parsing for null exclusions. Call Set_Result_Definition
2886 instead of Set_Subtype_Mark.
2888 * sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
2889 (Null_Exclusion_Present): Allow this flag for N_Function_Specification.
2890 (Result_Definition): New function for N_Function_Specifications.
2891 (Subtype_Mark): No longer allowed for N_Access_Function_Definition and
2892 N_Function_Specification.
2893 (Set_Null_Exclusion_Present): Allow this flag for
2894 N_Function_Specification.
2895 (Set_Result_Definition): New procedure for N_Function_Specifications.
2896 (Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
2897 and N_Function_Specification.
2899 * sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
2900 Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
2901 Add support for LIMITED NEW for Ada 2005 AI-419
2902 Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
2903 syntax for anonymous access results.
2904 Replace Subtype_Mark field by Result_Definition in
2905 N_Function_Specification and N_Access_Definition specs.
2906 Add Null_Exclusion_Present to spec of N_Function_Specification.
2907 (Result_Definition): New function for N_Function_Specification and
2908 N_Access_Function_Definition.
2909 (Set_Result_Definition): New procedure for N_Function_Specification and
2910 N_Access_Function_Definition.
2912 * sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
2913 Result_Definition for cases of N_Access_Function_Definition and
2914 N_Function_Specification.
2915 Print "not null" if Null_Exclusion_Present on N_Function_Specification.
2917 2005-09-01 Vincent Celier <celier@adacore.com>
2919 * lib-writ.adb: Update Copyright notice
2920 (Write_With_Lines): On platforms where file names are case-insensitive,
2921 record the file names in lower case.
2922 (Write_ALI): For D lines, on platforms where file names are
2923 case-insensitive, record the file names in lower case.
2925 2005-09-01 Ed Schonberg <schonberg@adacore.com>
2926 Emmanuel Briot <briot@adacore.com>
2928 * lib-xref.adb (Output_Overridden_Op): Display information on
2929 overridden operation.
2931 * lib-xref.ads: Add documentation on overridden operations.
2933 * ali.ads (Xref_Entity_Record): Add support for storing the overriding
2936 * ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
2937 overriding entity information.
2939 2005-09-01 Vincent Celier <celier@adacore.com>
2941 * mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
2942 including those that are inherited.
2944 2005-09-01 Robert Dewar <dewar@adacore.com>
2946 * opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
2948 * par-prag.adb: Implement new pragma Debug_Policy
2950 * sem_prag.adb Implement new pragma Debug_Policy
2951 (Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
2952 Component_Size attribute specification. Give warning for ignored pragma
2955 * snames.h, snames.ads, snames.adb: Introduce entries in
2956 Preset_Names for Name_Disp_Asynchronous_Select,
2957 Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
2958 Name_Disp_Timed_Select.
2959 New pragma Debug_Policy
2961 * switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
2963 Switch -gnata also sets Debug_Pragmas_Enabled
2965 * sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
2966 handle an explicit -gnata when compiling predefined files.
2968 2005-09-01 Vincent Celier <celier@adacore.com>
2970 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
2971 directories of projects that have no Ada sources.
2973 2005-09-01 Robert Dewar <dewar@adacore.com>
2975 * scng.adb (Check_End_Of_Line): Count characters, rather than bytes
2976 (makes a difference for wide characters)
2978 * widechar.adb, widechar.ads:
2979 Add Wide_Char_Byte_Count feature to count chars vs bytes
2981 2005-09-01 Thomas Quinot <quinot@adacore.com>
2982 Ed Schonberg <schonberg@adacore.com>
2983 Robert Dewar <dewar@adacore.com>
2985 * sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
2986 'Address attribute reference with an overloaded prefix, use the
2987 location of the prefix (not the location of the attribute reference) as
2989 (Analyze_Attribute, case 'Size): The name of an enumeration literal, or
2990 a function renaming thereof, is a valid prefix for 'Size (where it is
2991 intepreted as a function call).
2992 (Statically_Denotes_Entity): New predicate to determine whether the
2993 prefix of an array attribute can be considered static.
2996 (Eval_Attr): Fix failure to evaluate Component_Size for
2997 unconstrained arrays (resulted in wrong value in packed case, since
2998 back end cannot handle this case)
3000 2005-09-01 Robert Dewar <dewar@adacore.com>
3002 * sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
3003 error msgs for most common cases.
3004 Use new errout insertion char < (conditional warning)
3006 2005-09-01 Javier Miranda <miranda@adacore.com>
3007 Ed Schonberg <schonberg@adacore.com>
3009 * sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
3010 become local to the whole package.
3011 (Install_Limited_Withed_Unit): Instead of unchaining real entities if
3012 the package was already analyzed the new algorithm "replaces" the
3013 real entities by the shadow ones. This is required to ensure that
3014 the order of these entities in the homonym chains does not change;
3015 otherwise we can have undefined references at linking time because
3016 in case of conflicts the external name of the entities will have
3017 a suffix that depends on the order of the entities in the chain.
3018 (Remove_Limited_With_Clause): Complementary code that completes the
3019 new algorithm and replaces the shadow entities by the real ones.
3020 (Install_Limited_Withed_Unit): When unchaining entities before the
3021 installation of the shadow entities, only regular entities of the
3022 public part must be taken into account. This is required to
3023 keep this routine in synch with the work done by Remove_Limited_
3025 (Install_Limited_With_Clause): Introduce implicit limited_with_clause
3026 even if unit is analyzed, because the analysis of the unit is
3027 idempotent in any case, and the limited view of the unit may have to
3028 be installed for proper visibility.
3029 (Expand_Limited_With_Clause): Even if the unit in the implicit
3030 with_clause has been analyzed already, a limited view of the package
3031 must be built for the current context, if it does not exist yet.
3033 2005-09-01 Ed Schonberg <schonberg@adacore.com>
3034 Javier Miranda <miranda@adacore.com>
3035 Gary Dismukes <dismukes@adacore.com>
3037 * sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
3038 defining entity for the instance body, make a new defining identifier
3039 rather than copying the entity of the spec, to prevent accidental
3040 sharing of the entity list.
3041 (Check_Private_View): When exchanging views of private types, build the
3042 list of exchanged views as a stack, to ensure that on exit the exchanges
3043 are undone in the proper order.
3044 (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
3045 Restore the compilation environment in case of instantiation_error.
3046 (Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
3047 for an anonymous access result.
3048 (Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
3049 (Formal_Entity): Handle properly the case of a formal package that
3050 denotes a generic package renaming.
3052 2005-09-01 Thomas Quinot <quinot@adacore.com>
3054 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
3055 clause if the array aggregate is surrounded by parentheses.
3057 2005-09-01 Cyrille Comar <comar@adacore.com>
3058 Gary Dismukes <dismukes@adacore.com>
3059 Ed Schonberg <schonberg@adacore.com>
3060 Javier Miranda <miranda@adacore.com>
3062 * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
3064 to check if a type is Constrained in cases related to code generation
3065 (rather than semantic checking) since otherwise we do not generate
3066 similar code for mutable private types depending if their
3067 discriminants are visible or not.
3068 (Check_Abstract_Overriding): Do not complain about failure to override
3069 the primitive operations used in dispatching selects since they will
3070 always be overriden at the freeze point of the type.
3071 (Access_Definition): Separate out handling for resetting the scope
3072 of an anonymous access function result type. Retrieve the scope
3073 of the associated function rather than using Current_Scope, which
3074 does not have a consistent value (depends on whether we're in the
3075 middle of analyzing formal parameters). Add ??? comment about
3076 finding a cleaner way to handle the special cases of scope setting.
3077 (Process_Incomplete_Dependents): A protected operation is never a
3078 dispatching operation (only its wrapper may be).
3079 (Build_Derived_Record_Type): In case of tagged private types that
3080 implement interfaces add derivation of predefined primitive
3082 (Derive_Subprograms): Replace the Is_Interface_Derivation parameter
3083 by two parameters that are used in case of derivation from abstract
3084 interface types: No_Predefined_Prims is used to avoid the derivation
3085 of predefined primitives from the interface, and Predefined
3086 Prims_Only is used to complete the derivation predefined primitives
3087 in case of private tagged types implementing interfaces.
3088 Fix typo in comments
3089 (Find_Interface_In_Descendant): Protect the frontend against
3090 wrong code with large circularity chains.
3091 (Is_Private_Overriding): Add support for entities overriding interface
3092 subprograms. The test failed because Entities associated with overriden
3093 interface subprograms are always marked as hidden (and used to build
3094 the secondary dispatch table); in this case the overriden entity is
3095 available through the field abstract_interface_alias (cf. override_
3096 dispatching_operation)
3097 (Access_Definition): Set the scope of the type to Current_Scope for the
3098 case of a function with an anonymous access result type.
3099 (Access_Subprogram_Declaration): Handle creation of the type entity for
3100 an access-to-function type with an anonymous access result.
3101 (Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
3102 in handling for N_Access_Function_Definition.
3103 (Analyze_Subtype_Declaration): Modify the text of error message.
3104 (Derived_Type_Declaration): Modify the text of error message.
3105 (Process_Subtype): Modify the text of error message plus cleanup
3106 of one redundant error message.
3107 (Analyze_Component_Declaration): Code cleanup.
3108 (Analyze_Object_Declaration): Code cleanup.
3109 (Analyze_Subtype_Declaration): Propagate the null-exclusion
3110 attribute in case of access types. Code cleanup.
3111 (Array_Type_Declaration): Code cleanup.
3112 (Process_Discriminants): Create the new null-excluding itype
3113 if required. Code cleanup.
3114 (Process_Subtype): Create the new null-excluding itype if
3115 required. Code cleanup.
3116 (Build_Derived_Record_Type): Code cleanup to avoid calling
3117 twice the subprogram derive_subprograms in case of private
3118 types that implement interfaces. In this particular case the
3119 subprogram Complete_Subprograms_Derivation already does the
3120 job associated with the second call.
3122 * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
3123 conversion to the full view when generating an operation for a
3124 discriminant whose type may currently be private.
3126 2005-09-01 Ed Schonberg <schonberg@adacore.com>
3127 Javier Miranda <miranda@adacore.com>
3129 * sem_ch4.adb (Transform_Object_Operation): In a context off the form
3130 V (Obj.F), the rewriting does not involve the indexed component, but
3131 only the selected component itself.
3132 Do not apply the transformation if the analyzed node is an actual of a
3133 call to another subprogram.
3134 (Complete_Object_Operation): Retain the entity of the
3135 dispatching operation in the selector of the rewritten node. The
3136 entity will be used in the expansion of dispatching selects.
3137 (Analyze_One_Call): Improve location of the error message associated
3139 (Analyze_Selected_Component): No need to resolve prefix when it is a
3140 function call, resolution is done when parent node is resolved, as
3142 (Analyze_One_Call): Add a flag to suppress analysis of the first actual,
3143 when attempting to resolve a call transformed from its object notation.
3144 (Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
3145 of the argument list for each interpretation of the operation.
3146 (Try_Object_Operation): The designated type of an access parameter may
3147 be an incomplete type obtained through a limited_with clause, in which
3148 case the primitive operations of the type are retrieved from its full
3150 (Analyze_Call): If this is an indirect call, and the return type of the
3151 access_to_subprogram is incomplete, use its full view if available.
3153 2005-09-01 Javier Miranda <miranda@adacore.com>
3154 Gary Dismukes <dismukes@adacore.com>
3156 * sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
3157 access types the null-exclusion and access-to-constant attributes must
3159 (Analyze_Return_Statement): When the result type is an anonymous access
3160 type, apply a conversion of the return expression to the access type
3161 to ensure that appropriate accessibility checks are performed.
3162 (Analyze_Return_Type): For the case of an anonymous access result type,
3163 generate the Itype and set Is_Local_Anonymous_Access on the type.
3164 Add ??? placeholder for check to disallow returning a limited object
3165 in Ada 2005 unless it's an aggregate or a result of a function call.
3166 Change calls from Subtype_Mark to Result_Definition.
3167 (Analyze_Subprogram_Body): Change formal Subtype_Mark to
3168 Result_Definition in call to Make_Function_Specification.
3169 (Build_Body_To_Inline): Change Set_Subtype_Mark to
3170 Set_Result_Definition.
3171 (Make_Inequality_Operator): Change formal Subtype_Mark to
3172 Result_Definition in call to Make_Function_Specification.
3173 (Process_Formals): Create the new null-excluding itype if required.
3174 (New_Overloaded_Entity): For an entity overriding an interface primitive
3175 check if the entity also covers other abstract subprograms in the same
3176 scope. This is required to handle the general case, that is, overriding
3177 other interface primitives and overriding abstract subprograms inherited
3178 from some abstract ancestor type.
3179 (New_Overloaded_Entity): For an overriding entity that comes from
3180 source, note the operation that it overrides.
3181 (Check_Conformance, Type_Conformant): Addition of one new formal
3182 to skip controlling formals in the analysis. This is used to
3183 handle overloading of abstract interfaces.
3184 (Base_Types_Match): Add missing case for types imported from
3185 limited-with clauses
3186 (New_Overloaded_Entity): Add barrier to protect the use of
3187 the "alias" attribute.
3189 2005-09-01 Ed Schonberg <schonberg@adacore.com>
3191 * sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
3192 verify that the procedure and the entry are mode conformant.
3193 (Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
3194 as a different operator, which is often a cut-and-paste error.
3196 2005-09-01 Javier Miranda <miranda@adacore.com>
3197 Ed Schonberg <schonberg@adacore.com>
3199 * sem_disp.adb (Check_Controlling_Formals): Anonymous access types
3200 used in controlling parameters exclude null because it is necessary to
3201 read the tag to dispatch, and null has no tag.
3202 (Override_Dispatching_Operation): If the previous operation is inherited
3203 from an interface, it becomes hidden and does not participate in later
3206 2005-09-01 Javier Miranda <miranda@adacore.com>
3207 Ed Schonberg <schonberg@adacore.com>
3208 Gary Dismukes <dismukes@adacore.com>
3210 * sem_res.adb (Resolve_Membership_Op): In case of the membership test
3211 "Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
3212 the expander will generate the corresponding run-time check to evaluate
3214 (Resolve_Call): Check for legal type of procedure name or prefix that
3215 appears as a trigger in a triggering alternative.
3216 (Valid_Conversion): If expression is ambiguous and the context involves
3217 an extension of System, remove System.Address interpretations.
3218 (Resolve_Qualified_Expression): Reject the case of a specific-type
3219 qualification applied to a class-wide argument. Enhance comment
3220 to explain checking of Original_Node.
3221 (Resolve_Type_Conversion): The location of the error message was not
3222 general enough to handle the general case and hence it has been removed.
3223 In addition, this patch improves the text of the message.
3224 (Resolve_Type_Conversion): Add missing support for access to interface
3226 (Resolve_Type_Conversion): If the target is a class-wide interface type,
3227 do not expand if the expression is the actual in a call, because proper
3228 expansion will take place when the call itself is expanded.
3229 (Resolve_Allocator): If the context is an unchecked conversion, the
3230 allocator inherits its storage pool, if any, from the target type of
3233 2005-09-01 Ed Schonberg <schonberg@adacore.com>
3234 Javier Miranda <miranda@adacore.com>
3236 * sem_type.adb (Add_One_Interp): If a candidate operation is an
3237 inherited interface operation that has an implementation, use the
3238 implementation to avoid spurious ambiguities.
3239 (Interface_Present_In_Ancestor): In case of concurrent types we can't
3240 use the Corresponding_Record_Typ attribute to look for the interface
3241 because it is set by the expander (and hence it is not always
3242 available). For this reason we traverse the list of interfaces
3243 (available in the parent of the concurrent type).
3244 (Interface_Present_In_Ancestor): Handle entities from the limited view
3246 2005-09-01 Ed Schonberg <schonberg@adacore.com>
3248 * sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
3249 from the list of required components.
3250 (Is_Controlling_Limited_Procedure): Determine whether an entity is a
3251 primitive procedure of a limited interface with a controlling first
3253 (Is_Renamed_Entry): Determine whether an entry is a procedure renaming
3255 (Safe_To_Capture_Value): A value (such as non_null) is not safe to
3256 capture if it is generated in the second operand of a short-circuit
3258 Do not capture values for variables with address clauses.
3259 (Is_Object_Reference): Treat a function call as an object reference only
3260 if its type is not Standard_Void_Type.
3262 2005-09-01 Ed Schonberg <schonberg@adacore.com>
3264 * sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
3265 to a variable that is statically known to be constant.
3267 2005-09-01 Geert Bosch <bosch@adacore.com>
3268 Robert Dewar <dewar@adacore.com>
3270 * ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
3271 (VAXGF_Safe_First): Idem.
3273 2005-09-01 Robert Dewar <dewar@adacore.com>
3274 Arnaud Charlet <charlet@adacore.com>
3276 * g-dirope.ads: Minor reformatting
3277 Document that bounds of result of Base_Name match the input index
3279 Add documentation on environment variable syntax for Expand_Path
3281 * gnat_ugn.texi: Update documentation to include mention of -m switches
3282 Document new treatment of wide characters in max line length
3284 Remove -gnatL/-gnatZ switches, no longer used.
3285 Add note on pragmas Assertion_Policy and Debug_Policy in discussion
3288 * gnat_rm.texi: Add doc for two argument form of pragma
3289 Float_Representation.
3290 Add documentation for pragma No_Strict_Aliasing
3291 Add note that explicit component clause overrides pragma Pack.
3292 Add documentation of pragma Debug_Policy
3294 2005-09-01 Matthew Heaney <heaney@adacore.com>
3296 * a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
3297 a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
3298 a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
3299 a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
3300 draft (Draft 13, August 2005) of Ada Amendment 1.
3302 2005-09-01 Arnaud Charlet <charlet@adacore.com>
3304 * Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
3305 Note that the platform-specific version of g-soccon.ads for VMS is now
3306 named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
3307 really is a package spec).
3308 Replace s-taspri-linux.ads by s-taspri-posix.ads
3309 Remove references to s-mastop-x86.adb
3311 * system-vxworks-xscale.ads: Removed, no longer used.
3312 * s-vxwork-xscale.ads: Removed, no longer used.
3314 2005-09-01 Robert Dewar <dewar@adacore.com>
3316 * a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
3317 g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
3318 g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
3319 exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
3320 g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
3321 g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
3322 g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
3323 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
3324 g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
3325 g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
3326 sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
3327 a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
3328 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
3329 a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
3330 a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
3331 a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
3332 g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
3333 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
3334 g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
3335 i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
3336 a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting
3338 2005-08-29 Arnaud Charlet <charlet@adacore.com>
3342 (GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
3344 2005-08-29 Arnaud Charlet <charlet@adacore.com>
3345 Doug Rupp <rupp@adacore.com>
3347 * s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
3349 (Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
3350 this code in the GNAT run-time.
3352 * decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
3355 * init.c (__gnat_error_handler [many]): Mark "msg" as const
3356 (__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
3358 (__gnat_inside_elab_final_code): Moved here from
3359 Standard_Library and only defined for the compiler.
3360 __gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
3361 (__gnat_inum_to_ivec): Do not define this function on VxWorks when
3362 using RTPs because directly vectored Interrupt routines are not
3363 supported on this configuration.
3364 (getpid): Do not redefine this function on VxWorks when using RTPs
3365 because this primitive is well supported by the RTP libraries.
3366 (copy_msg): Correct the code that checks for buffer overflow.
3367 Discovered during code reading.
3369 2005-08-29 Olivier Hainque <hainque@adacore.com>
3371 * decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
3372 a library level mutable variable with an initializer, tell
3373 build_allocator to ignore the initializer's size. It may not be large
3374 enough for all the values that might be assigned to the variable later
3377 2005-08-29 Arnaud Charlet <charlet@adacore.com>
3378 Eric Botcazou <ebotcazou@adacore.com>
3380 * trans.c: Protect < in error msg with quote
3381 Replace GCC_ZCX by Back_End_Exceptions.
3382 (addressable_p) <COMPONENT_REF>: Also return 1 if the field
3383 has been sufficiently aligned in the record.
3385 2005-08-15 James E. Wilson <wilson@specifix.com>
3387 * system-linux-alpha.ads: Change ia64 to alpha.
3389 2005-08-01 Kazu Hirata <kazu@codesourcery.com>
3391 * decl.c, utils.c: Fix comment typos.
3393 2005-07-29 Kazu Hirata <kazu@codesourcery.com>
3395 * decl.c, init.c, initialize.c: Fix comment typos.
3397 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
3399 Make CONSTRUCTOR use VEC to store initializers.
3400 * decl.c (gnat_to_gnu_entity): Update to cope with VEC in
3402 * trans.c (extract_values): Likewise.
3403 * utils.c (convert, remove_conversions): Likewise.
3404 * utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
3405 gnat_build_constructor): Likewise.
3407 2005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
3409 * decl.c (components_to_record): Use DECL_FCONTEXT instead of
3411 (compare_field_bitpos): Likewise.
3413 2005-07-09 Andrew Pinski <pinskia@physics.uc.edu>
3415 * utils.c (create_var_decl): Only set DECL_COMMON on
3416 VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
3417 VAR_OR_FUNCTION_DECL_P.
3419 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
3421 * utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
3424 2005-07-07 Pascal Obry <obry@adacore.com>
3426 * g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
3427 returned type on Windows.
3429 * g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
3432 * g-socket.adb (Inet_Addr): Check for empty Image and raises an
3433 exception in this case.
3434 Simplify the code as "Image (Image'Range)" = "Image".
3436 2005-07-07 Vincent Celier <celier@adacore.com>
3438 * bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
3439 the destructor/constructor attributes for <lib>final/<lib>init.
3441 * gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
3443 2005-07-07 Eric Botcazou <ebotcazou@adacore.com>
3445 * decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
3446 type if the parameter is not passed by copy but reference by default.
3448 2005-07-07 Javier Miranda <miranda@adacore.com>
3450 * exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
3451 Reimplementation of the support for abstract interface types in order
3452 to leave the code more clear and easy to maintain.
3454 * exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
3455 abstract interface types in order to leave the code clearer and easier
3458 * exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
3459 is now implemented by the new subprogram Fill_Secondary_DT_Entry.
3460 (Fill_Secondary_DT_Entry): Generate the code necessary to fill the
3461 appropriate entry of the secondary dispatch table.
3462 (Make_DT): Add code to inherit the secondary dispatch tables of
3465 * exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
3466 implementing both functionalities by means of a common routine, each
3467 routine has its own code.
3469 2005-07-07 Javier Miranda <miranda@adacore.com>
3471 * freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
3473 * par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
3476 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
3479 * sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
3480 use of tag incomplete types.
3482 * sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
3483 give support to tagged incomplete types.
3485 * sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
3486 expression is a discriminant reference and its type is private, as can
3487 happen within a stream operation for a mutable record, use the full
3488 view of the type to resolve the case alternatives.
3489 (Analyze_Assignment): Check wrong dereference of incomplete types.
3491 * sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
3494 * sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
3497 * sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
3498 N_Incomplete_Type_Declaration nodes.
3500 * sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
3501 Tag_Present to give support to tagged incomplete types:
3503 type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
3506 2005-07-07 Olivier Hainque <hainque@adacore.com>
3510 * raise.c: Only include unwind.h if IN_RTS, and provide dummy type
3511 definitions for the Unwind wrappers in the compiler case.
3513 2005-07-07 Ed Schonberg <schonberg@adacore.com>
3514 Javier Miranda <miranda@adacore.com>
3516 * par-load.adb (Load): If a child unit is loaded through a limited_with
3517 clause, each parent must be loaded as a limited unit as well.
3519 * sem_ch10.adb (Previous_Withed_Unit): Better name for
3520 Check_Withed_Unit. Return true if there is a previous with_clause for
3521 this unit, whether limited or not.
3522 (Expand_Limited_With_Clause): Do not generate a limited_with_clause on
3524 (Is_Visible_Through_Renamings): New local subprogram of install_limited
3525 _withed_unit that checks if some package installed through normal with
3526 clauses has a renaming declaration of package whose limited-view is
3527 ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
3528 of the current Draft document for Ada 2005.
3529 (Analyze_Context): Complete the list of compilation units that
3530 are allowed to contain limited-with clauses. It also contains
3531 checks that were previously done by Install_Limited_Context_Clauses.
3532 This makes the code more clear and easy to maintain.
3533 (Expand_Limited_With_Clause) It is now a local subprogram of
3534 Install_Limited_Context_Clauses, and contains the code that adds
3535 the implicit limited-with clauses for parents of child units.
3536 This functionality was prevously done by Analyze_Context.
3538 * sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
3541 * sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
3542 been erroneously named in a limited-with clause of its own context.
3543 In this case the error has been previously notified by Analyze_Context.
3545 2005-07-07 Ed Schonberg <schonberg@adacore.com>
3547 * sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
3548 generic package that contains local declarations with the same name.
3549 (Analyze_Object_Renaming): Check wrong renaming of incomplete type.
3551 2005-07-07 Bernard Banner <banner@adacore.com>
3553 * tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
3554 ia64 platform only on platforms that you the GCC unwind library
3555 rather than the system unwind library.
3557 2005-07-07 Thomas Quinot <quinot@adacore.com>
3559 * expect.c: Minor reformatting
3561 2005-07-07 Sergey Rybin <rybin@adacore.com>
3563 * vms_data.ads: Add VMS qualifiers for new gnatpp switch
3566 * gnat_ugn.texi: Add description for new gnatpp option
3569 2005-07-04 Thomas Quinot <quinot@adacore.com>
3571 * g-expect-vms.adb, g-expect.ads, g-expect.adb
3572 (Get_Command_Output): New subprogram to launch a process and get its
3573 standard output as a string.
3575 2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
3576 Olivier Hainque <hainque@adacore.com>
3578 * s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
3579 fetch a code-range descriptor associated with the machine state. On
3580 failure set the machine state's PC to 0; on success, pass the
3581 descriptor to exc_virtual_unwind.
3583 * init.c (Tru64 section): New function __gnat_set_code_loc.
3585 2005-07-04 Vincent Celier <celier@adacore.com>
3587 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
3588 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
3589 mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
3590 Remove all auto-initialization code, as this is now done through the
3591 constructor mechanism.
3593 * adaint.h, adaint.c (__gnat_binder_supports_auto_init,
3594 __gnat_sals_init_using_constructors): New functions.
3596 * bindgen.adb (Gen_Output_File_Ada): Generate pragmas
3597 Linker_Constructor and Linker_Destructor when switch -a is used.
3599 * bindusg.adb: Add line for new switch -a
3601 * gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
3602 (Gnatbind): When switch -a is used, check if it is allowed
3604 * switch-b.adb (Scan_Binder_Switches): Process new switch -a
3606 2005-07-04 Joel Brobecker <brobecker@adacore.com>
3608 * a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
3609 This prevents us from hitting a limitation during the debug info
3610 generation when using stabs.
3611 (Prims_Ptr): Likewise.
3613 2005-07-04 Gary Dismukes <dismukes@adacore.com>
3614 Ed Schonberg <schonberg@adacore.com>
3615 Javier Miranda <miranda@adacore.com>
3617 * checks.adb (Null_Exclusion_Static_Checks): In the case of
3618 N_Object_Declaration, only perform the checks if the Object_Definition
3619 is not an Access_Definition.
3621 * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
3622 where the parent of an the access definition is an N_Object_Declaration
3623 when determining the Associated_Node_For_Itype and scope of an
3624 anonymous access-to-subprogram type.
3626 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
3627 Corresponding_Spec on the body created for a null procedure. Add ???
3628 comment. Remove New_Copy_Tree call on body argument to
3631 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
3632 discriminants, use the type of the actual as well, because the
3633 discriminants may be read by the called subprogram.
3635 * sem_ch3.adb (Access_Type_Declaration): If the designated type is an
3636 access type we do not need to handle non-limited views.
3637 (Build_Derived_Record_Type): Additional check to check that in case of
3638 private types, interfaces are only allowed in private extensions.
3640 2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
3642 * decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
3643 <Pragma_Linker_Destructor>: Likewise.
3645 * einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
3646 Pragma_Linker_Destructor.
3648 * gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
3649 ATTR_LINK_DESTRUCTOR.
3650 (static_ctors, static_dtors): New variables.
3652 * misc.c (gnat_expand_body): Output current function as constructor
3653 and destructor if requested.
3655 * par-prag.adb: Add processing for pragma Linker_Constructor and
3658 * sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
3659 extracted from Check_Interrupt_Or_Attach_Handler.
3660 (Check_Interrupt_Or_Attach_Handler): Invoke it.
3661 Implement pragma Linker_Constructor and Linker_Destructor with the
3662 help of Find_Unique_Parameterless_Procedure.
3663 Replace Name_Alias with Name_Target for pragma Linker_Alias.
3665 * snames.h, snames.ads, snames.adb:
3666 Add Name_Linker_Constructor and Name_Linker_Destructor.
3667 Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
3668 * snames.adb: Remove Name_Alias.
3670 * trans.c: Include cgraph.h.
3671 (build_global_cdtor): New function.
3672 (Compilation_Unit_to_gnu): Build global constructor and destructor if
3674 (tree_transform) <N_Identifier>: Substitute renaming of view-conversions
3676 (addressable_p) <COMPONENT_REF>: Unconditionally test
3677 DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
3679 * utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
3680 variable if it is external.
3682 (static_ctors, static_dtors): New global variables.
3683 (process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
3684 <ATTR_LINK_DESTRUCTOR>: Likewise.
3685 (end_subprog_body): Chain function as constructor and destructor
3688 * exp_util.adb (Force_Evaluation): Unconditionally invoke
3689 Remove_Side_Effects with Variable_Ref set to true.
3690 (Remove_Side_Effects): Handle scalar types first. Use a renaming
3691 for non-scalar types even if Variable_Ref is true and for class-wide
3694 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3696 * exp_attr.adb (Mod): Evaluate condition expression with checks off,
3697 to prevent spurious warnings.
3699 2005-07-04 Thomas Quinot <quinot@adacore.com>
3701 * exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
3702 Itypes. Itypes are really unexpected there.
3703 (Build_TypeCode_Function): Generalise special processing for Itypes to
3704 handle the case of numeric implicit base types as well as enumerated
3707 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3709 * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
3710 controlled, indicate the expected type of the dereference that is
3711 created for the call to Deep_Finalize, to prevent spurious errors when
3712 the designated type is private and completed with a derivation from
3713 another private type.
3715 2005-07-04 Vincent Celier <celier@adacore.com>
3717 * make.adb (Change_To_Object_Directory): When unable to change the
3718 current dir to the object directory, output the full path of the
3721 2005-07-04 Matthew Gingell <gingell@adacore.com>
3723 * Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
3725 * indepsw-linux.adb: Replace by...
3727 * indepsw-gnu.adb: ...this new file
3729 2005-07-04 Vincent Celier <celier@adacore.com>
3731 * mlib-prj.adb (Auto_Initialize): New constant String
3732 (SALs_Use_Constructors): New Boolean function
3733 (Build_Library): Call gnatbind with Auto_Initialize switch when
3734 SALs_Use_Constructors returns True.
3736 * mlib-tgt.ads: Minor reformatting
3738 * mlib-utl.ads: Minor reformatting
3740 * opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
3742 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3744 * par-ch9.adb (P_Task, P_Protected): Indicate that single task and
3745 single protected declarations can have an interface list.
3746 (P_Entry_Declaration): Add handler for Error_Resync, which can be raised
3747 with seriously malformed entry declarations, and lead to compilation
3750 2005-07-04 Javier Miranda <miranda@adacore.com>
3752 * par-load.adb: Load the context items in two rounds.
3754 2005-07-04 Robert Dewar <dewar@adacore.com>
3756 * scng.adb: Do not consider Mod used as an attribute to be a keyword
3758 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3759 Javier Miranda <miranda@adacore.com>
3761 * sem_ch10.adb (Build_Limited_Views): A type declared with a private
3762 type extension needs a limited view.
3763 Remove previous restriction on private types available through the
3764 limited-view (only tagged private types were previously allowed).
3765 (Install_Withed_Unit): In the code that implements the
3766 legality rule given in AI-377, exclude a child unit with the name
3767 Standard, because it is a homonym of the Standard environment package.
3769 2005-07-04 Thomas Quinot <quinot@adacore.com>
3771 * sem_ch4.adb (Transform_Object_Operation): For an actual that is an
3772 overloaded function call, carry interpretations from the original tree
3775 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3777 * sem_ch6.adb (Conforming_Types): If the types are anonymous access
3778 types check whether some designated type is a limited view, and use
3779 the non-limited view if available.
3781 2005-07-04 Gary Dismukes <dismukes@adacore.com>
3783 * sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
3784 constraint of full view of a private view T1 if present, when T2 is a
3785 discriminated full view.
3787 2005-07-04 Thomas Quinot <quinot@adacore.com>
3789 * sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
3790 actual that is a view conversion of a bit packed array reference.
3792 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3794 * sem_type.adb (Covers): Verify that Corresponding_Record_Type is
3795 present before checking whether an interface type covers a synchronized
3798 2005-07-04 Ed Schonberg <schonberg@adacore.com>
3800 * sem_util.adb (Is_Object_Reference): An indexed or selected component
3801 whose prefix is an implicit dereference is an object reference. Removes
3802 spurious errors when compiling with -gnatc.
3804 2005-07-04 Robert Dewar <dewar@adacore.com>
3808 * s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
3810 2005-07-04 Matthew Gingell <gingell@adacore.com>
3812 * tracebak.c: Enable tracebacks on ia64 platforms
3814 2005-07-04 Vincent Celier <celier@adacore.com>
3816 * vms_conv.adb (Initialize): Allow multiple ALI files to be given to
3817 the GNAT BIND command, as gnatbind accepts multiples ALI files with
3818 the -L or -n switches.
3820 2005-07-04 Vincent Celier <celier@adacore.com>
3822 * makegpr.adb (Build_Global_Archive): Make sure the list of sources is
3823 correctly computed and the main project data is not modified while
3825 (Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
3826 (Choose_C_Plus_Plus_Link_Process): Do not generate shell script
3827 c++linker as this does not work on some platforms.
3829 2005-07-04 Matthew Heaney <heaney@adacore.com>
3831 * a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
3833 * a-coinve.adb: Perform constraint checks explicitly.
3835 2005-07-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3836 Thomas Quinot <quinot@adacore.com>
3838 * Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
3839 new target gen-soccon.
3841 2005-07-04 Robert Dewar <dewar@adacore.com>
3843 * s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
3845 2005-07-04 Thomas Quinot <quinot@adacore.com>
3847 * g-socket.ads (Check_Selector): Minor rewording of comment.
3849 2005-07-04 Vincent Celier <celier@adacore.com>
3851 * vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
3853 2005-07-04 Thomas Quinot <quinot@adacore.com>
3855 * gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
3857 2005-07-04 Sergey Rybin <rybin@adacore.com>
3859 * gnat_ugn.texi: Add description of --eol gnatpp option
3861 2005-07-04 Eric Botcazou <ebotcazou@adacore.com>
3862 Thomas Quinot <quinot@adacore.com>
3864 * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
3865 if the user wants all calls of a subprogram to be flagged,
3866 independently of whether they are made from within the same unit or
3868 Mention restriction for pragma Linker_Alias on some platforms.
3869 Document pragma Linker_Constructor and Linker_Destructor.
3870 Rewrite documentation of Weak_External, Linker_Section and
3871 Linker_Alias pragmas.
3873 2005-07-04 Arnaud Charlet <charlet@adacore.com>
3875 * s-stausa.ads, s-stausa.adb: New files.
3877 2005-06-30 Kelley Cook
3879 * all files: Update FSF address in copyright headers.
3880 * gen-soccon.co (main): Output new FSF address in generated files.
3882 2005-06-28 Paul Brook <paul@codesourcery.com>
3884 * misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
3886 2005-06-14 Olivier Hainque <hainque@adacore.com>
3887 Eric Botcazou <ebotcazou@adacore.com>
3889 * s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
3890 exc_unwind, now that we are generating proper .debug_frame output for
3893 * tracebak.c: Remove the mips-irix section, as we are now using the
3894 s-mastop based unwinder again.
3895 Under SPARC/Solaris, take into account the stack bias to compute the
3896 frame offset. The stack bias is 0 for the V8 ABI and 2047 for the V9
3899 2005-06-14 Doug Rupp <rupp@adacore.com>
3901 * g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
3903 * g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
3905 2005-06-14 Pascal Obry <obry@adacore.com>
3907 * a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
3908 a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
3909 a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
3912 * a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
3913 a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
3914 a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
3915 a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
3916 a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
3917 a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
3918 a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
3919 s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
3920 s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
3921 s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
3922 s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
3923 s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
3924 s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
3925 s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
3926 s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
3927 s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
3928 s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
3929 s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
3930 s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
3931 s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
3932 s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
3933 s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
3934 s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
3935 s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
3936 s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
3937 s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
3938 s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
3939 s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
3940 s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
3941 s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
3942 a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
3943 a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
3944 a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
3945 a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
3946 a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
3947 a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
3948 a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
3949 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
3950 a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
3951 a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
3952 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
3953 a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
3954 a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
3955 a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
3956 a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
3957 a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
3958 a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
3959 a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
3960 a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
3961 a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
3962 a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
3963 a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
3964 a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
3965 a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
3966 a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
3967 a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
3968 a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
3969 dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
3970 g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
3971 g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
3972 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
3973 g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
3974 g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
3975 gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
3976 g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
3977 i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
3978 s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
3979 s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
3980 s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
3981 s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
3982 s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
3983 s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
3984 s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
3985 s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
3986 s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
3987 s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
3988 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
3989 s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
3990 s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
3991 s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
3992 s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
3993 s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
3994 s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
3995 s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
3996 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
3997 s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
3998 s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
3999 s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
4000 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
4001 s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
4002 s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
4003 s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
4004 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
4005 s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
4006 s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
4007 s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
4008 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
4009 s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
4010 s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
4011 s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
4012 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
4013 s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
4014 s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
4015 s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
4016 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
4017 s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
4018 s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
4019 s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
4020 s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
4021 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
4022 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
4023 s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
4024 s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
4025 s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
4026 s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
4027 s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
4028 s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
4029 s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
4030 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
4031 s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
4032 s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
4033 s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
4034 s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
4035 a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
4036 a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
4037 a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
4038 a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
4039 a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
4040 a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
4041 a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
4042 a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
4043 a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
4044 "GNU Ada" to GNAT, use proper casing for RUN-TIME.
4046 2005-06-14 Jose Ruiz <ruiz@adacore.com>
4047 Arnaud Charlet <charlet@adacore.com>
4049 * a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
4050 longer protected objects. They have been replaced by lower-level
4051 suspension objects made up by a mutex and a condition variable (or
4052 their equivalent given a particular OS) plus some internal data to
4053 reflect the state of the suspension object.
4054 (Initialize, Finalize): Add this initialization procedure for
4055 Suspension_Object, which is a controlled type.
4056 (Finalize): Add the finalization procedure for Suspension_Object,
4057 which is a controlled type.
4059 * a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
4060 Ada.Synchronous_Task_Control because there is no longer a need for a
4061 VxWorks specific version of this package. Target dependencies
4062 has been moved to System.Task_Primitives.Operations.
4064 * s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
4066 (InitializeCriticalSection, EnterCriticalSection,
4067 LeaveCriticalSection, DeleteCriticalSection): Replace the type
4068 pCriticalSection by an anonymous access type so that we avoid problems
4069 of accessibility to local objects.
4071 * s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
4072 s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
4073 s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
4074 s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
4075 s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
4076 set the environment task mask here.
4077 (Current_State): Add this function that returns the state of the
4079 (Set_False): Add this procedure that sets the state of the suspension
4081 (Set_True): Add this procedure that sets the state of the suspension
4082 object to True, releasing the task that was suspended, if any.
4083 (Suspend_Until_True): Add this procedure that blocks the calling task
4084 until the state of the object is True. Program_Error is raised if
4085 another task is already waiting on that suspension object.
4086 (Initialize): Add this procedure for initializing the suspension
4087 object. It initializes the mutex and the condition variable which are
4088 used for synchronization and queuing, and it sets the internal state
4090 (Finalize): Add this procedure for finalizing the suspension object,
4091 destroying the mutex and the condition variable.
4093 * s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
4094 s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
4095 s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
4096 s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
4097 which provides a low-level abstraction (using operating system
4098 primitives) for Ada.Synchronous_Task_Control.
4099 This object is made up by a mutex (for ensuring mutual exclusion), a
4100 condition variable (for queuing threads until the condition is
4101 signaled), a Boolean (State) indicating whether the object is open,
4102 and a Boolean (Waiting) reflecting whether there is a task already
4103 suspended on this object.
4105 * s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
4106 s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
4107 s-intman-vms.ads, s-intman-mingw.adb,
4108 (Initialize_Interrupts): Removed, no longer used.
4110 * s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
4111 (Setup_Interrupt_Mask): New procedure.
4113 * s-intman-vxworks.ads, s-intman-vxworks.adb: Update comments.
4115 * s-inmaop.ads (Setup_Interrupt_Mask): New procedure
4117 * s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
4118 this is no longer done in the body of s-taprop
4119 (Server_Task): Explicitely test for Pending_Action in case
4120 System.Parameters.No_Abort is True.
4122 * s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
4123 is no longer done in the body of s-taprop
4125 2005-06-14 Robert Dewar <dewar@adacore.com>
4127 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
4128 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
4129 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
4130 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
4131 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
4132 system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
4133 system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
4134 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
4135 system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
4136 system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
4137 system-linux-hppa.ads, system-vms_64.ads,
4138 system-vxworks-alpha.ads: Minor comment update for
4139 AI-362 (unit is Pure).
4141 * a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
4142 Add pragma Pure_05 for AI-362
4143 Make remaining conversion functions obsolescent in Ada 95
4145 * impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
4146 Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
4147 Add entries for a-wichun and a-zchuni
4148 Add a-widcha a-zchara for AI-395
4149 Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
4151 * Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
4152 Add entries for a-wichun.o and a-zchuni.o
4153 Entries for a-widcha.o and a-zchara.o
4154 Add entry for a-chacon.o
4156 * a-ztenau.adb: Add with of Ada.Characters.Conversions
4158 * a-chacon.ads, a-chacon.adb: New files.
4160 * a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
4161 categorization violations.
4163 * a-strmap.ads: Add pragma Pure_05 for AI-362
4164 * a-strmap.ads: Add note on implicit categorization for AI-362
4166 * a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
4168 * par-prag.adb: Dummy entry for pragma Persistent_BSS
4169 Set Ada_Version_Explicit, for implementation of AI-362
4170 Add processing for pragma Pure_05 and Preelaborate_05
4171 Add entry for Assertion_Policy pragma
4173 * sem.adb: Make sure predefined units are compiled with GNAT_Mode true
4174 when needed for proper processing of categorization stuff
4177 For several cases, make errors in preealborate units warnings,
4178 instead of errors, if GNAT_Mode is set. For AI-362.
4180 * sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
4181 preelaborate unit is now warning if in GNAT mode
4183 * s-stoele.ads: Document AI-362 for pragma preelaborate
4185 2005-06-14 Doug Rupp <rupp@adacore.com>
4187 * s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
4188 s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
4189 Default_Exception_Msg_Max_Length: new parameter.
4191 * a-except.ads: (Exception_Msg_Max_Length): Set to
4192 System.Parameters.Default_Exception_Msg_Max_Length
4193 Add pragma Preelaborate_05 for AI-362
4194 Add warnings off to allow categorization violations for AI-362
4196 2005-06-14 Vincent Celier <celier@adacore.com>
4198 * gnatsym.adb: Adapt to modification of package Symbols: procedure
4199 Process is now in package Processing.
4201 * symbols.ads, symbols.adb:
4202 (Processing): New package, containing procedure Process
4204 * symbols-vms-alpha.adb:
4205 Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
4207 * symbols-vms.adb, symbols-processing-vms-alpha.adb,
4208 symbols-processing-vms-ia64.adb: New files.
4210 2005-06-14 Pascal Obry <obry@adacore.com>
4212 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
4213 implementation. This new version generates the proper DllMain routine
4214 to initialize the SAL. The DllMain is generated in Ada and compiled
4215 before being added as option to the library build command.
4217 2005-06-14 Doug Rupp <rupp@adacore.com>
4218 Pascal Obry <obry@adacore.com>
4220 * adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
4221 call to decc$translate_vms.
4222 (__gnat_locate_regular_file): Check if the path_val contains quotes. We
4223 need to remove those quotes before catenating the filename.
4224 (__gnat_locate_exec_on_path): improvements to the Win32 section:
4225 * avoid allocating the memory twice for better efficiency;
4226 * allocate 32K buffer for environment expansion as suggested by MSDN;
4227 * prepend ".;" to the path so that current directory is searched too.
4229 2005-06-14 Robert Dewar <dewar@adacore.com>
4231 * a-except.adb (Exception_Identity): return Null_Id for null occurrence
4232 instead of raising CE (AI-241)
4233 Add warnings off to allow categorization violations for AI-362
4235 2005-06-14 Robert Dewar <dewar@adacore.com>
4237 * ali-util.adb, gnatbind.adb: Remove references to
4238 Force_RM_Elaboration_Order.
4240 * switch-b.adb: Remove recognition of -f switch
4242 2005-06-14 Pascal Obry <obry@adacore.com>
4244 * a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
4245 implementation which is slightly more efficient.
4247 2005-06-14 Gary Dismukes <dismukes@adacore.com>
4248 Javier Miranda <miranda@adacore.com>
4249 Ed Schonberg <schonberg@adacore.com>
4250 Hristian Kirtchev <kirtchev@adacore.com>
4252 * exp_ch4.adb (Expand_Allocator_Expression): When an initialized
4253 allocator's designated type is a class-wide type, and compiling for
4254 Ada 2005, emit a run-time check that the accessibility level of the
4255 type given in the allocator's expression is not deeper than the level
4256 of the allocator's access type.
4258 (Tagged_Membership): Modified to gives support to abstract interface
4261 * a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
4263 (Descendant_Tag): New predefined function
4264 (Is_Descendant_At_Same_Level): New predefined function
4265 (Get_Access_Level): New private function
4266 (Set_Access_Level): New private procedure
4267 (IW_Membership): New function. Given the tag of an object and the tag
4268 associated with an interface, evaluate if the object implements the
4270 (Register_Interface_Tag): New procedure used to initialize the table of
4271 interfaces used by the IW_Membership function.
4272 (Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
4273 of the dispatch table.
4274 (Inherit_TSD): Modified to copy the table of ancestor tags plus the
4275 table of interfaces of the parent.
4276 (Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
4277 (External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
4278 (Parent_Tag): Return No_Tag in the case of a root-level tagged type,
4279 and raise Tag_Error if the passed tag equalis No_Tag, to conform with
4280 Ada 2005 semantics for the new predefined function.
4282 * exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
4283 call to Descendant_Tag rather than Internal_Tag.
4284 (Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
4285 the accessibility level of the attribute's Item parameter is not deeper
4286 than the level of the attribute's prefix type. Tag_Error is raised if
4287 the check fails. The check is only emitted for Ada_05.
4288 (Find_Stream_Subprogram): If a TSS exists on the type itself for the
4289 requested stream attribute, use it.
4290 (Expand_N_Attribute_Reference): If the designated type is an interface
4291 then rewrite the referenced object as a conversion to force the
4292 displacement of the pointer to the secondary dispatch table.
4293 (Expand_N_Attribute_Reference, case 'Constrained): Return false if this
4294 is a dereference of an object with a constrained partial view.
4296 * exp_ch5.adb (Expand_N_Return_Statement): When a function's result
4297 type is a class-wide type, emit a run-time check that the accessibility
4298 level of the returned object is not deeper than the level of the
4299 function's master (only when compiling for Ada 2005).
4301 * exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
4302 Action_Nb_Arg): Add entries for new Get_Access_Level and
4303 Set_Access_Level routines in these tables.
4304 (Make_DT): Generate a call to set the accessibility level of the
4305 tagged type in its TSD.
4306 (Make_DT): Code cleanup. The functionality of generating all the
4307 secondary dispatch tables has been moved to freeze_record_type.
4308 (Make_Abstract_Interface_DT): Minor code cleanup.
4309 (Set_All_DT_Position): Code cleanup. As part of the code cleanup
4310 this subprogram implements a new algorithm that provides the
4311 same functionality and it is more clear in case of primitives
4312 associated with abstract interfaces.
4313 (Set_All_Interfaces_DTC_Entity): Removed. As part of the code
4314 clean up, the functionality of this subprogram is now provided
4315 by Set_All_DT_Position.
4316 (Write_DT): New subprogram: a debugging procedure designed to be called
4317 within gdb to display the dispatch tables associated with a tagged
4319 (Collect_All_Interfaces): New subprogram that collects the whole list
4320 of interfaces that are directly or indirectly implemented by a tagged
4322 (Default_Prim_Op_Position): New subprogram that returns the fixed
4323 position in the dispatch table of the default primitive operations.
4324 (Expand_Interface_Actuals): New subprogram to generate code that
4325 displaces all the actuals corresponding to class-wide interfaces to
4326 reference the interface tag of the actual object.
4327 (Expand_Interface_Conversion): New subprogram. Reference the base of
4328 the object to give access to the interface tag associated with the
4329 secondary dispatch table.
4330 (Expand_Interface_Thunk): New subprogram that generates the code of the
4331 thunk. This is required for compatibility with the C+ ABI.
4332 (Make_Abstract_Interface_DT): New subprogram that generate the
4333 declarations for the secondary dispatch tables associated with an
4335 (Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
4336 attribute for each primitive operation covering interface subprograms
4337 (Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
4338 These subprograms were upgraded to give support to abstract interfaces
4340 * rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
4341 RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
4342 RE_Set_Access_Level.
4343 (RE_Unit_Table): Add entries for new Ada.Tags operations.
4344 Add support to call the followig new run-time subprograms:
4345 IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
4347 * sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
4348 match its full declaration when both have an access definition with
4349 statically matching designated subtypes.
4350 (Analyze_Component_Declaration): Delete commented out code that was
4351 incorrectly setting the scope of an anonymous access component's type.
4352 (Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
4353 an access discriminant when the containing type is nonlimited.
4354 (Make_Incomplete_Type_Declaration): Create an incomplete type
4355 declaration for a record type that includes self-referential access
4357 (Check_Anonymous_Access_Types): Before full analysis of a record type
4358 declaration, create anonymous access types for each self-referential
4360 (Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
4361 an access component in this context is a Local_Anonymous_Access, for
4362 proper accessibility checks.
4363 (Access_Definition): Set properly the scope of the anonymous access type
4364 created for a stand-alone access object.
4365 (Find_Type_Of_Object): An object declaration may be given with an access
4367 (Complete_Subprograms_Derivation): New subprogram used to complete
4368 type derivation of private tagged types implementing interfaces.
4369 In this case some interface primitives may have been overriden
4370 with the partial-view and, instead of re-calculating them, they
4371 are included in the list of primitive operations of the full-view.
4372 (Build_Derived_Record_Type): Modified to give support to private
4373 types implemening interfaces.
4374 (Access_Definition): Reject ALL on anonymous access types.
4375 (Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
4376 type derivation to occur at a deeper accessibility level than the
4378 For the case of derivation within a generic body however, disallow the
4379 derivation if the derived type has an ancestor that is a formal type
4380 declared in the formal part of an enclosing generic.
4381 (Analyze_Object_Declaration): For protected objects, remove the check
4382 that they cannot contain interrupt handlers if not declared at library
4384 (Add_Interface_Tag_Components): New subprogram to add the tag components
4385 corresponding to all the abstract interface types implemented by a
4386 record type or a derived record type.
4387 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
4388 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
4389 Process_Full_View, Record_Type_Declaration): Modified to give
4390 support to abstract interface types
4391 (Collect_Interfaces): New subprogram that collects the list of
4392 interfaces that are not already implemented by the ancestors
4393 (Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
4394 when partial view has no discriminants and full view has defaults.
4395 (Constrain_Access): Reject a constraint on a general access type
4396 if the discriminants of the designated type have defaults.
4397 (Access_Subprogram_Declaration): Associate the Itype node with the inner
4398 full-type declaration or subprogram spec. This is required to handle
4399 nested anonymous declarations.
4400 (Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
4401 Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
4402 Process_Full_View, Record_Type_Declaration): Modified to give
4403 support to abstract interface types
4404 (Derive_Subprograms): Addition of a new formal to indicate if
4405 we are in the case of an abstact-interface derivation
4406 (Find_Type_Of_Subtype_Indic): Moved from the body of the package
4407 to the specification because it is requied to analyze all the
4408 identifiers found in a list of interfaces
4410 * debug.adb: Complete documentation of flag "-gnatdZ"
4412 * exp_ch3.adb: Implement config version of persistent_bss pragma
4413 (Check_Stream_Attributes): Use Stream_Attribute_Available instead of
4414 testing for TSS presence to properly enforce visibility rules.
4415 (Freeze_Record_Type): Code cleanup. Modified to call the subprogram
4416 Make_Abstract_Interfaces_DT to generate the secondary tables
4417 associated with abstract interfaces.
4418 (Build_Init_Procedure): Modified to initialize all the tags
4420 (Component_Needs_Simple_Initialization): Similar to other tags,
4421 interface tags do not need initialization.
4422 (Freeze_Record_Type): Modified to give support to abstract interface
4424 (Expand_N_Object_Declaration): Do not generate an initialization for
4425 a scalar temporary marked as internal.
4427 * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
4428 in-out parameter that is a component in an initialization procedure,
4429 whose constraint might depend on discriminants, and that may be
4430 misaligned because of packing or representation clauses.
4431 (Is_Legal_Copy): New predicate to determine whether a possibly
4432 misaligned in-out actual can actually be passed by copy/return. This
4433 is an error in case the type is by_reference, and a warning if this is
4434 the consequence of a DEC import pragma on the subprogram.
4435 (Expand_Call, Freeze_Subprogram): Modified to give support to abstract
4437 (Expand_Inlined_Call): Mark temporary generated for the return value as
4438 internal, so that no useless scalar normalization is generated for it.
4439 (Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
4440 null procedure can always be inlined.
4441 (Expand_N_Subprogram_Declaration): If this is the declaration of a null
4442 procedure, generate an explicit empty body for it.
4444 * exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
4445 Given a type implementing an interface, returns the corresponding
4446 access_disp_table value.
4447 (Find_Interface_Tag): New subprogram. Given a type implementing an
4448 interface, returns the record component containing the tag of the
4450 (Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
4451 previous ones that return the corresponding tag and access_disp_table
4453 (Is_Predefined_Dispatching_Operation): Determines if a subprogram
4454 is a predefined primitive operation.
4455 (Expand_Subtype_From_Expr): If the expression is a selected component
4456 within an initialization procedure, compute its actual subtype, because
4457 the component may depend on the discriminants of the enclosing record.
4459 * i-cpp.ads, i-cpp.adb:
4460 This package has been left available for compatibility with previous
4461 versions of the frontend. As part of the new layout this is now a
4462 dummy package that uses declarations available at a-tags.ads
4464 * par-ch3.adb (P_Identifier_Declarations): Give an error for use of
4465 "constant access" and "aliased [constant] access" when not compiling
4467 Suppress Ada 2005 keyword warning if -gnatwY used
4468 (P_Identifier_Declarations): Add support for object declarations with
4470 (Private_Extension_Declaration): Complete the documentation
4471 (P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
4472 attribute in case of private extension declaration
4473 (P_Type_Declaration): Mark as "abstract" the type declarations
4474 corresponding with protected, synchronized and task interfaces
4475 (P_Declarative_Items): "not" and "overriding" are overriding indicators
4476 for a subprogram or instance declaration.
4478 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
4479 instantiation that is a dispatching operation has controlling access
4480 parameters that are null excluding.
4481 Save and restore Ada_Version_Explicit, for implementation of AI-362
4482 (Validate_Derived_Type_Instance): Add check for abstract interface
4484 (Analyze_Formal_Package): Establish Instantiation source for the copy of
4485 the generic that is created to represent the formal package.
4486 (Analyze_Package_Instantiation): Instantiate body immediately if the
4487 package is a predefined unit that contains inlined subprograms, and
4488 we are compiling for a Configurable_Run_Time.
4489 (Instantiate_Formal_Subprogram): Indicate that null default subprogram
4490 If the program has a null default, generate an empty body for it.
4492 * sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
4493 error message condition, null procedures are correctly detected now.
4494 (New_Overloaded_Entity): Bypass trivial overriding indicator check
4495 for subprograms in the context of protected types. Instead, the
4496 indicator is examined in Sem_Ch9 while analysing the subprogram
4498 (Check_Overriding_Indicator): Check consistency of overriding indicator
4499 on subprogram stubs as well.
4500 (Analyze_Subprogram_Declaration): Diagnose null procedures declared at
4502 (Analize_Subprogram_Specification): When analyzing a subprogram in which
4503 the type of the first formal is a concurrent type, replace this type
4504 by the corresponding record type.
4505 (Analyze_Subprogram_Body): Undo the previous work.
4506 (Analyze_Procedure_Call): If the call has the form Object.Op, the
4507 analysis of the prefix ends up analyzing the call itself, after which
4509 (Has_Interface_Formals): New subprogram subsidiary to analyze
4510 subprogram_specification that returns true if some non
4511 class-wide interface subprogram is found
4512 (New_Overloaded_Entity): Modified to give support to abstract
4514 (Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
4515 access to subprograms must be recursive.
4516 (Is_Unchecked_Conversion): Improve the test that recognizes
4517 instantiations of Unchecked_Conversion, and allows them in bodies that
4518 are to be inlined by the front-end. When the body comes from an
4519 instantiation, a reference to Unchecked_Conversion will be an
4520 Expanded_Name, even though the body has not been analyzed yet.
4521 Replace Is_Overriding and Not_Overriding in subprogram_indication with
4522 Must_Override and Must_Not_Override, to better express intent of AI.
4523 (Analyze_Subprogram_Body): If an overriding indicator is given, check
4524 that it is consistent with the overrinding status of the subprogram
4526 (Analyze_Subprogram_Declaration): Indicate that a null procedure is
4528 If the subprogram is a null procedure, indicate that it does not need
4531 * sem_disp.adb (Check_Controlling_Type): Give support to entities
4532 available through limited-with clauses.
4533 (Check_Dispatching_Operation): A stub acts like a body, and therefore is
4534 allowed as the last primitive of a tagged type if it has no previous
4536 (Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
4537 to give support to abstract interface types
4539 * sem_res.adb (Valid_Conversion): Perform an accessibility level check
4540 in the case where the target type is an anonymous access type of an
4541 object or component (that is, when Is_Local_Anonymous_Access is true).
4542 Prevent the special checks for conversions of access discriminants in
4543 the case where the discriminant belongs to a nonlimited type, since
4544 such discriminants have their accessibility level defined in the same
4545 way as a normal component of an anonymous access type.
4546 (Resolve_Allocator): When an allocator's designated type is a class-wide
4547 type, check that the accessibility level of type given in the
4548 allocator's expression or subtype indication is not statically deeper
4549 than the level of the allocator's access type.
4550 (Check_Discriminant_Use): Diagnose discriminant given by an expanded
4551 name in a discriminant constraint of a record component.
4552 (Resolve_Explicit_Dereference): Do not check whether the type is
4553 incomplete when the dereference is a use of an access discriminant in
4554 an initialization procedure.
4555 (Resolve_Type_Conversion): Handle conversions to abstract interface
4557 (Valid_Tagged_Conversion): The conversion of a tagged type to an
4558 abstract interface type is always valid.
4559 (Valid_Conversion): Modified to give support to abstract interface types
4560 (Resolve_Actuals): Enable full error reporting on view conversions
4561 between unrelated by_reference array types.
4562 The rule for view conversions of arrays with aliased components is
4563 weakened in Ada 2005.
4564 Call to obsolescent subprogram is now considered to be a violation of
4565 pragma Restrictions (No_Obsolescent_Features).
4566 (Check_Direct_Boolean_Operator): If the boolean operation has been
4567 constant-folded, there is nothing to check.
4568 (Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
4569 check on possible violation of restriction No_Direct_Boolean_Operators
4570 until after expansion of operands, to prevent spurious errors when
4571 operation is constant-folded.
4573 * sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
4574 Has_Compatible_Type): Modified to give support to abstract interface
4576 (Interface_Present_In_Ancestor): New function to theck if some ancestor
4577 of a given type implements a given interface
4579 * sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
4580 prefix is a parameterless function that returns an access_to_procedure.
4581 (Transform_Object_Operation): Handle properly function calls of the
4582 form Obj.Op (X), which prior to analysis appear as indexed components.
4583 (Analyze_One_Call): Complete the error notification to help new Ada
4585 (Analyze_Allocator): For an allocator without an initial value, where
4586 the designated type has a constrained partial view, a discriminant
4587 constraint is illegal.
4589 2005-06-14 Robert Dewar <dewar@adacore.com>
4591 * a-textio.adb (Set_Col): Fix two errors noticed recently, having to
4592 do with treatment of Set_Col when positioned at end of line character.
4594 2005-06-14 Robert Dewar <dewar@adacore.com>
4596 * atree.adb: (Elist*): Protect against uninitialized field
4598 2005-06-14 Ed Schonberg <schonberg@adacore.com>
4600 * checks.adb (Install_Null_Excluding_Check): Do not generate checks
4601 for an attribute reference that returns an access type.
4602 (Apply_Discriminant_Check): No need for check if (designated) type has
4603 constrained partial view.
4605 (Apply_Float_Conversion_Check): Generate a short-circuit expression for
4606 both bound checks, rather than a conjunction.
4607 (Insert_Valid_Check): If the expression is an actual that is an indexed
4608 component of a bit-packed array, force expansion of the packed element
4609 reference, because it is specifically inhibited elsewhere.
4611 2005-06-14 Vincent Celier <celier@adacore.com>
4613 * clean.adb (Clean_Project): Correctly delete executable specified as
4614 absolute path names.
4616 * make.adb (Gnatmake): Allow relative executable path names with
4617 directory information even when project files are used.
4618 (Change_To_Object_Directory): Fail gracefully when unable to change
4619 current working directory to object directory of a project.
4620 (Gnatmake): Remove exception handler that could no longer be exercized
4621 (Compile_Sources.Compile): Use deep copies of arguments, as some of them
4622 may be deallocated by Normalize_Arguments.
4623 (Collect_Arguments): Eliminate empty arguments
4625 * gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
4626 and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
4627 (Check_Project): Return False when Project is No_Project. Return True
4628 when All_Projects is True.
4629 (GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
4630 All_Projects to True.
4633 2005-06-14 Ed Schonberg <schonberg@adacore.com>
4634 Javier Miranda <miranda@adacore.com>
4635 Thomas Quinot <quinot@adacore.com>
4636 Robert Dewar <dewar@adacore.com>
4637 Hristian Kirtchev <kirtchev@adacore.com>
4638 Gary Dismukes <dismukes@adacore.com>
4640 * einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
4641 anonymous access types, to indicate that the accessibility level of
4642 the type is determined by that of the enclosing declaration.
4643 (Has_Persistent_BSS): New flag
4644 (Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
4645 of this attribute with functions.
4646 (Is_Primitive_Wrapper): Remove the barrier.
4647 (Has_Specified_Stream_Input, Has_Specified_Stream_Output,
4648 Has_Specified_Stream_Read, Has_Specified_Stream_Write):
4650 (Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
4651 Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
4653 (Is_Pure_Unit_Access_Type): New flag
4654 (Abstract_Interfaces): Complete the assertion to cover all usages.
4655 (Set_Is_Interface): Complete the assertion to cover all usages.
4656 (Is_Primitive_Wrapper): New attribute.
4657 (Is_Obsolescent): Now applies to all entities (though it is only set
4658 for subprograms currently)
4659 New flag: Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
4660 which solves various problems concerning access subtypes.
4661 (Has_Persistent_BSS): New flag
4662 (Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
4663 Remove these subprograms because this attribute is currently
4666 Has_Specified_Stream_Input (Flag190)
4667 Has_Specified_Stream_Output (Flag191)
4668 Has_Specified_Stream_Read (Flag192)
4669 Has_Specified_Stream_Write (Flag193)
4670 Present in all type and subtype entities. Set for a given view if the
4671 corresponding stream-oriented attribute has been defined by an
4672 attribute definition clause. When such a clause occurs, a TSS is set
4673 on the underlying full view; the flags are used to track visibility of
4674 the attribute definition clause for partial or incomplete views.
4675 (Is_Pure_Unit_Access_Type): New flag
4676 Clarify use of Is_Internal.
4677 (Is_Primitive_Wrapper): New attribute present in primitive subprograms
4678 internally generated to wrap the invocation of tasks and protected
4679 types that implement interfaces.
4680 (Implementation_Base_Type): Documentation correction
4681 (Is_Obsolescent): Now applies to all entities (though it is only set
4682 for subprograms currently)
4683 New flag: Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
4684 which solves various problems concerning access subtypes.
4686 * exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
4687 for examined parameters. Identify unequal parameter list lengths as
4688 non-conformant parameters.
4689 (Overriding_Possible): Do not check for "All" qualifier in declaration
4690 of controlling access parameter, following prescription of AI-404.
4691 (Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
4692 that build the procedure body that wraps an entry invocation
4693 (Build_Corresponding_Record, Build_Protected_Sub_Specification,
4694 Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
4695 Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
4696 give support to abstract interface types
4698 * freeze.adb (Freeze_Entity): Issue error message if
4699 Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
4700 type has no storage pool (Ada 2005) AI-366.
4701 Also modified to give support to abstract interface types
4702 (Freeze_Subprogram): Issue an error for a dispatching subprogram with an
4703 Inline_Always pragma.
4705 * par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
4706 now begin an entry declaration.
4707 (P_Entry_Or_Subprogram_With_Indicator): New procedure in
4708 P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
4709 a subprogram declaration preceded by an overriding indicator.
4710 (P_Protected_Operation_Declaration_Opt): Add case for parsing entry
4711 declarations or subprogram declarations preceded by reserved words
4712 "not" or "overriding".
4713 (P_Entry_Declaration): Update comment. Parse and check overriding
4714 indicator, set semantic flags of entry declarations.
4715 (P_Task): New error message in case of private applied
4716 to a task type declaration.
4717 (P_Protected): New error message in case of private applied
4718 to a task type declaration.
4720 * sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
4721 in which the full view of a type implementing an interface is a
4723 (Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
4724 Declare_Inherited_Private_Subprograms): If an explicit operation
4725 overrides an operation that is inherited in the private part, mark the
4726 explicit one as overriding, to enable overriding indicator checks.
4727 (Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
4728 full view to partial view, to simplify handling in back-end.
4730 * sprint.adb: Print interface lists where needed: derived types,
4731 protected types, task types.
4732 output "is null" for null procedures. Part of implementation of
4734 * sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
4735 relaxation of rules for access types in pure, shared passive partitions.
4737 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
4738 first read discriminants into temporary objects, performing checks on
4739 the read values, then possibly performing discriminant checks on the
4740 actual (if it is constrained), and only finally reading the components
4741 into a constrained temporary object.
4742 (Build_Elementary_Input_Call): Adjust the specific circuitry for the
4743 case of reading discriminants of a mutable record type to recognize
4744 the new form of the code generated by
4745 Build_Mutable_Record_Read_Procedure.
4747 * exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
4748 of a simple call to Make_TSS_Name.
4749 (Make_TSS_Name_Local): Add the TSS name as the last thing in the name
4750 buffer, in order for Is_TSS to work correctly on local TSS names.
4752 * sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
4753 Is_Local_Anonymous_Access to check legaliy of attributes in the
4754 context of access components and stand-alone access objects.
4755 (Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
4756 treated as available for a limited private type if there is an
4757 attribute_definition_clause that applies to its full view, but not in
4758 other cases where the attribute is available for the full view
4759 (specifically, the sole fact that the full view is non-limited does not
4760 make the attribute available for the partial view).
4761 (Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
4762 non-overloaded intrinsic subprogram.
4763 (Check_Stream_Attribute): Reject an attribute reference for an
4764 unavailable stream attribute even if the prefix is not a limited type
4765 (case of a 'Input attribute reference for an abstract, non-classwide
4767 (Stream_Attribute_Available): New function to determine whether a stream
4768 attribute is available at a place.
4769 (Check_Attribute): Use Stream_Attribute_Available instead of just
4770 testing for TSS presence on the implementation base type.
4771 (Analyze_Attribute): Modified to give support to task interfaces.
4772 (Analyze_Access_Attribute): Add error check for use of an Access (or
4773 Unrestricted_Access) attribute with a subprogram marked as
4775 (Analyze_Attribute, case Attribute_Address): Add error check for use of
4776 an Address attribute with a subprogram marked as Inline_Always.
4777 Update Eval_Attribute to handle new value of Width from AI-395
4779 * sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
4780 (Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
4781 Factor common code across the stream-oriented attribute circcuits into
4782 a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
4783 processing is functionally identical to the previous duplicated one,
4784 except that an expression that denotes an abstract subprogram will now
4785 be rejected, as mandated by AI-195 item 5.
4787 * sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
4788 Is_Local_Anonymous_Access to apply accessibility checks to access
4789 components and stand-alone access objects.
4790 (Has_Discriminant_Dependent_Constraint): Moved to spec for use
4792 (Is_Potentially_Persistent_Type): New function
4793 (Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
4794 a heap-object whose type has a constrained partial view, the object is
4795 unconstrained and the component may depend on a discriminant, making its
4798 * sinfo.ads, sinfo.adb
4799 (Must_Not_Override): Flag applicable to N_Entry_Declaration.
4800 (Must_Override): Flag applicable to N_Entry_Declaration.
4801 Indicate that interface_list can appear in single task and single
4802 protected declarations.
4803 Replace Is_Overriding and Not_Overriding with Must_Override and
4804 Must_Not_Override, to better express intent of AI.
4805 Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
4806 of an overriding indicator in a subprogram or instance.
4807 Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
4808 Add the overriding indicator [[not] overriding] construct to the
4809 following grammar productions:
4811 GENERIC_INSTANTIATION
4812 SUBPROGRAM_SPECIFICATION
4814 * par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
4815 can start with an overriding indicator.
4817 * par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
4818 flags accordingly on subrogram specifications or instances.
4821 (Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
4822 overriding_indicator, if present, is consistent with status of spec.
4823 Improve error message for null-excluding checks on controlling access
4825 (Check_In_Previous_With_Clause): Protect the frontend against
4826 previously reported critical errors in the context clauses.
4827 Save and restore Ada_Version_Explicit, for implementation of AI-362
4828 (Analyze_Subprogram_Renaming): If the new entity is a dispatching
4829 operation verify that controlling formals of the renamed entity that
4830 are access parameters are explicitly non-null.
4831 (Find_Expanded_Name): Improve error message when prefix is an illegal
4832 reference to a private child unit.
4834 * exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
4835 s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
4836 Rewrite to correspond to new wide character names in AI-395
4838 * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
4841 2005-06-14 Ed Schonberg <schonberg@adacore.com>
4842 Robert Dewar <dewar@adacore.com>
4844 * errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
4845 code, not on the bodies of predefined operations, to cut down on
4848 2005-06-14 Ed Schonberg <schonberg@adacore.com>
4850 * exp_aggr.adb (Aggr_Size_OK): An array with no components can always
4851 be expanded in place. The size computation does not require a
4852 subtraction, which would raise an exception on a compiler built with
4853 assertions when the upper bound is Integer'first.
4854 (Flatten): For an array of composite components, take into account the
4855 size of the components to determine whether it is safe to expand the
4856 array into a purely positional representation.
4858 2005-06-14 Thomas Quinot <quinot@adacore.com>
4860 * exp_ch2.adb (Param_Entity): Take the case of an expanded_name
4861 denoting a formal parameter into account.
4863 2005-06-14 Ed Schonberg <schonberg@adacore.com>
4865 * exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
4866 the entry_call alternative of a conditional entry call, wrap the
4867 conditional entry call itself.
4869 2005-06-14 Nicolas Setton <setton@adacore.com>
4870 Ed Schonberg <schonberg@adacore.com>
4872 * exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
4873 the "simple_choice" member in a variant record, in accordance with the
4874 description in the package spec: the information output for a constant
4875 should be "S number", not "SS number".
4876 (Get_Encoded_Name): Return at once if not generating code. Avoids name
4877 overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
4879 2005-06-14 Thomas Quinot <quinot@adacore.com>
4881 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
4882 RACW without any primitives, do not generate the if statement for
4883 dispatching by name in the PolyORB/DSA case, as it would be malformed
4884 (it would have an Elsif_Parts list that is not No_List, but with a
4887 2005-06-14 Robert Dewar <dewar@adacore.com>
4889 * exp_intr.adb, par-ch5.adb: Minor fix to error message text
4891 2005-06-14 Jose Ruiz <ruiz@adacore.com>
4893 * fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
4894 can determine whether pragma Suppress_Exception_Locations is in effect.
4896 * utils2.c (build_call_raise): Do not pass the file name to the
4897 exception handler if pragma Suppress_Exception_Locations is in effect.
4898 (build_allocator): Add and process arg IGNORE_INIT_TYPE.
4900 2005-06-14 Emmanuel Briot <briot@adacore.com>
4902 * g-debpoo.adb (Deallocate, Dereference): Improve output.
4904 2005-06-14 Nicolas Roche <roche@adacore.com>
4906 * g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
4908 (Next_Level): Fix minor bug in handling of ../dir case
4909 (Read): Add dir separator to Directory name so that "" is understood as
4912 2005-06-14 Pascal Obry <obry@adacore.com>
4914 * g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
4915 releasing the items.
4917 2005-06-14 Vincent Celier <celier@adacore.com>
4918 Cyrille Comar <comar@adacore.com>
4920 * g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
4921 with output file descriptor and with output file name.
4922 (Dup, Dup2): Now global procedures as they are used by two subprograms
4923 (Copy): Allocate the 200K buffer on the heap rather than on the stack.
4925 2005-06-14 Thomas Quinot <quinot@adacore.com>
4929 * g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
4931 (Create_Selector): Bind listening socket used to create the signalling
4932 socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
4933 Set listen backlog to 1 to ensure that we detect socket theft by a
4934 failure of our own connect(2) call.
4935 (Check_Selector): Improve documentation of the selector mechanism.
4936 (Broadcast_Inet_Addr): New constant.
4938 2005-06-14 Gary Dismukes <dismukes@adacore.com>
4940 * layout.adb (Discrimify): Remove resetting of Vtype to the underlying
4941 type which turns out to be an incomplete and incorrect fix.
4942 (Layout_Array_Type): Use Underlying_Type when checking whether the scope
4943 of the type is declared in a record (for determination of insertion
4945 (SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
4946 a private type and ensure that the primary entity is used for the type
4947 of the newly created function's V formal by taking the Etype of the
4950 2005-06-14 Javier Miranda <miranda@adacore.com>
4951 Jose Ruiz <ruiz@adacore.com>
4952 Robert Dewar <dewar@adacore.com>
4953 Ed Schonberg <schonberg@adacore.com>
4955 * lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
4956 that indicates if we are parsing a compilation unit found in a
4957 limited-with clause.
4958 It is use to avoid the circularity check.
4960 * par.ads, par.adb (Par): Addition of a new parameter to indicate if
4961 we are parsing a compilation unit found in a limited-with clause. This
4962 is use to avoid the circularity check.
4964 * par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
4965 unit as a consequence of parsing a limited-with clause. This is used
4966 to avoid the circularity check.
4968 * sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
4969 (Analyze_Context): Limited-with clauses are now allowed
4970 in more compilation units.
4971 (Analyze_Subunit_Context, Check_Parent): Protect the frontend
4972 againts previously reported critical errors in context clauses
4973 (Install_Limited_Withed_Unit): Code cleanup plus static detection
4974 of two further errors: renamed subprograms and renamed packages
4975 are not allowed in limited with clauses.
4976 (Install_Siblings): Do not install private_with_clauses on the package
4977 declaration for a non-private child unit.
4978 (Re_Install_Parents): When a parent of the subunit is reinstalled,
4979 reset visibility of child units properly.
4980 (Install_Withed_Unit): When a child unit appears in a with_clause of its
4981 parent, it is immediately visible.
4983 2005-06-14 Ed Schonberg <schonberg@adacore.com>
4984 Emmanuel Briot <briot@adacore.com>
4986 * lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
4987 declared within an inlined body as referenced, to prevent spurious
4989 (Output_One_Ref): If an entity renames an array component, indicate in
4990 the ALI file that this aliases (renames) the array. Capture as well
4991 function renamings that rename predefined operations.
4992 Add information about generic parent for package and subprogram
4994 (Get_Type_Reference): For a subtype that is the renaming of an actual in
4995 an instantiation, use the first_subtype to ensure that we don't generate
4996 cross-reference information for internal types.
4997 For objects and parameters of a generic private type, retain the '*'
4998 indicator to distinguish such an entity from its type.
5000 * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
5001 to store information about instantiated entities.
5003 * ali.adb (Scan_ALI): Add support for parsing the reference to the
5006 * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
5007 (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
5010 2005-06-10 Doug Rupp <rupp@adacore.com>
5011 Arnaud Charlet <charlet@adacore.com>
5012 Olivier Hainque <hainque@adacore.com>
5013 Jose Ruiz <ruiz@adacore.com>
5015 * Make-lang.in: Add initialize.o when needed.
5016 Remove obsolete references to RT_FLAGS.
5017 Add missing dependencies for sdefault.o
5019 * initialize.c: New file.
5021 * init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
5022 [VMS] cond_signal_table: Fix problem in declaration.
5023 [VMS] __gnat_error_handler: rewrite.
5024 Move all __gnat_initialize() routines to initialize.c
5025 Specialize the former "hpux" section to "hppa hpux", as this is what the
5026 section really is here for and we now have other hpux ports that need
5028 (__gnat_adjust_context_for_raise) i386-linux: First version of this
5029 function for this target. Adjust PC by one in the machine context. This
5030 adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
5031 it is more reliable to do that in the signal handler itself.
5032 (__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
5033 flags, so that the handler is passed the context structure to adjust
5035 (__gnat_error_handler) i386-linux: Adjust the signature to match what a
5036 SA_SIGINFO sigaction should look like. Call
5037 __gnat_adjust_context_for_raise before actually raising. Cleanup unused
5038 Machine_State_Operations stuff.
5039 Add conditional code so that the x86_64 is also supported.
5041 2005-06-14 Pascal Obry <obry@adacore.com>
5043 * mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
5046 2005-06-14 Robert Dewar <dewar@adacore.com>
5048 * opt.ads, opt.adb: New flags for persistent_bss mode
5049 Add Ada_Version_Explicit, for implementation of AI-362
5050 Add Assertions_Enabled_Config and associated handling
5051 Needed since setting can be changed with Assertion_Policy pragma
5052 Add new flag Warn_On_Ada_2005_Compatibility
5054 * switch-c.adb: Recognize -gnatwy/Y
5055 Set Ada_Version_Explicit, for implementation of AI-362
5056 The -gnatg switch now includes -gnatyu
5058 * usage.adb: Add -gnatwy/Y
5059 Remove wrong asterisk on -gnatwX line
5060 Add line for -gnatyu switch
5062 2005-06-14 Vincent Celier <celier@adacore.com>
5064 * osint.adb (Add_Default_Search_Dirs): Put source and object
5065 directories of project files before directories coming from
5066 ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
5068 2005-06-14 Robert Dewar <dewar@adacore.com>
5072 * par-ch2.adb (Scan_Pragma_Argument): New procedure
5073 (P_Pragma): Implement RM 2.8(4) check for no pos args after named args
5075 2005-06-14 Vincent Celier <celier@adacore.com>
5077 * prep.adb (Preprocess): Ignore error when scanning the first token of
5080 2005-06-14 Vincent Celier <celier@adacore.com>
5082 * prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
5083 (Check_Stand_Alone_Library): If the specified reference symbol file does
5084 not exist, only issue a warning when the symbol policy is not
5085 Controlled. And, when symbol policy is Compliant, set the symbol
5086 policy to Autonomous.
5088 2005-06-14 Vincent Celier <celier@adacore.com>
5090 * prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
5091 when the project file in a with clause is not the last one, that is the
5092 project file name is followed by a comma.
5093 * prj-pp.adb: (First_With_In_List): New Boolean global variable
5094 (Print): Issue list of project files separated by commas in with clauses
5095 according to the values returned by Is_Not_Last_In_List.
5096 * prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
5097 (Set_Is_Not_Last_In_List): New procedure
5099 2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
5101 * s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
5103 2005-06-14 Robert Dewar <dewar@adacore.com>
5105 * scng.adb: Add call to new Check_EOF routine
5106 (Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
5107 Add some comments regarding wide character handling
5109 * style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
5111 * stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
5113 * g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
5114 characters are now considered graphic characters and hence yield false
5117 * nmake.adt: Modify header so that xnmake does not generate output
5118 files with multiple blank lines.
5120 * treeprs.adt: Remove a blank line so that output from xtreeprs does
5121 not have an extra blank line
5123 2005-06-14 Gary Dismukes <dismukes@adacore.com>
5125 * sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
5126 expression when the component type is an anonymous access type to
5127 ensure that appropriate accessibility checks are done.
5129 * sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
5130 expression of an assignment when the target object is of an anonymous
5131 access type. This ensures that required accessibility checks are done.
5132 (One_Bound): Move the check for type Universal_Integer to
5134 (Process_Bounds): Check whether the type of the preanalyzed range is
5135 Universal_Integer, and in that case set Typ to Integer_Type prior
5136 to setting the type of the original range and the calls to One_Bound.
5138 2005-06-14 Ed Schonberg <schonberg@adacore.com>
5140 * sem_case.adb (Expand_Others_Choice): Improve warning.
5142 2005-06-14 Ed Schonberg <schonberg@adacore.com>
5144 * sem_eval.adb (Subtypes_Statically_Match): Use discriminant
5145 constraint of full view if present, when other type is discriminated.
5146 (Eval_Relational_Op): Recognize tests of pointer values against Null,
5147 when the pointer is known to be non-null, and emit appropriate warning.
5149 2005-06-14 Robert Dewar <dewar@adacore.com>
5150 Ed Schonberg <schonberg@adacore.com>
5154 * sem_prag.adb: Implement pragma Persistent_BSS
5155 Remove obsolete pragma Persistent_Data, Persistent_Object
5156 Set Ada_Version_Explicit, for implementation of AI-362
5157 Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
5158 Add processing for pragma Pure_05 and Preelaborate_05
5159 Add processing for Assertion_Policy pragma
5160 Add pragma identifiers for Assert
5161 (Analyze_Pragma, case Assert): Check number of arguments
5162 (Process_Inline): Additional guard against an illegal program, where the
5163 argument of the pragma is undefined, and warnings on redundant
5164 constructs are enabled.
5165 (Analyze_Pragma, case Obsolescent): Allow an optional second argument
5166 Ada_05 to this pragma, specifying that the pragma is only active in
5168 (Check_Arg_Order): New procedure
5169 Add appropriate calls to this procedure throughout
5170 Also throughout, check entity name before doing any other checks
5172 * snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
5173 Remove obsolete pragma Persistent_Data, Persistent_Object
5174 Add entries for pragma Pure_05 and Preelaborate_05
5175 Add entries for Assertion_Policy pragma and associated names
5176 Add some names for pragma argument processing
5178 * tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
5180 2005-06-14 Ed Schonberg <schonberg@adacore.com>
5182 * sem_warn.adb (Warn_On_Known_Condition): If the constant expression
5183 appears within a negation (either from source or as a rewriting of
5184 inequality) adjust text of warning accordingly.
5186 2005-06-14 Thomas Quinot <quinot@adacore.com>
5188 * s-strxdr.adb: Follow AI95-00132
5190 2005-06-14 Arnaud Charlet <charlet@adacore.com>
5192 * s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
5194 2005-06-14 Arnaud Charlet <charlet@adacore.com>
5195 Jose Ruiz <ruiz@adacore.com>
5197 * s-tposen.adb, s-tpobop.adb
5198 (Exceptional_Complete_Rendezvous): Save the occurrence and not only
5200 (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
5201 there is no violation of the Max_Entry_Queue_Length restriction (if it
5202 has been set); Program_Error is raised otherwise.
5203 (Requeue_Call): Before requeuing the task on the target entry queue we
5204 check that there is no violation of the Max_Entry_Queue_Length
5205 restriction (if it has been set); Program_Error is raised otherwise.
5207 2005-06-14 Robert Dewar <dewar@adacore.com>
5209 * styleg.adb: Fix several remaining problems in -gnatyu switch
5210 Blank line count not reset at start
5211 Scanning outside source buffer in some cases
5212 Confusing message for blanks at end of file
5213 Non-empty blank lines not recognized
5215 * nmake.adt: Modify header so that xnmake does not generate output
5216 files with multiple blank lines.
5218 * treeprs.adt: Remove a blank line so that output from xtreeprs does
5219 not have an extra blank line
5221 2005-06-14 Sergey Rybin <rybin@adacore.com>
5223 * styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
5225 2005-06-14 Doug Rupp <rupp@adacore.com>
5226 Vincent Celier <celier@adacore.com>
5228 * vms_conv.ads, vms_conv.adb: Remove "Library" command.
5231 * vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
5232 Remove "Library" command.
5233 Change keyword for style check -gnatyd from NOCRLF to
5235 Remove useless second style check keyword NONE
5236 Remove help documentation for inexistent style check keyword
5238 Add help documentation for style check keywords DOS_LINE_ENDINGS,
5239 UNNECESSARY_BLANK_LINES and XTRA_PARENS
5240 Add UNNECESSARY_BLANK_LINES for -gnatyu
5241 Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
5243 * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
5245 2005-06-14 Vincent Celier <celier@adacore.com>
5247 * makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
5248 gprmake was invoked with -d.
5249 (Compile_Sources): If -d was used, output the "completed ..." message
5250 for each compilation.
5251 (Scan_Arg): Recognize new switch -d
5252 When -c and at least one main is specified, set
5253 Unique_Compile to True to guarantee that no other sources will be
5256 2005-06-14 Matthew Heaney <heaney@adacore.com>
5258 * a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
5259 * a-swuwha.ads, a-swuwha.adb: New files
5261 * a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
5262 * a-szuzha.ads, a-szuzha.adb: New files.
5264 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
5265 a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
5266 a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
5267 a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
5268 a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
5269 a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
5270 a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
5271 a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
5272 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
5273 a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
5276 2005-06-10 Eric Botcazou <ebotcazou@adacore.com>
5277 Olivier Hainque <hainque@adacore.com>
5278 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5279 Pascal Obry <obry@adacore.com>
5281 * gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
5283 * trans.c (call_to_gnu): Issue a warning for users of Starlet when
5284 making a temporary around a procedure call because of non-addressable
5286 (process_freeze_entity): If entity is a private type, capture size
5287 information that may have been computed for the full view.
5288 (tree_transform, case N_Allocator): If have initializing expression,
5289 check type for Has_Constrained_Partial_View and pass that to
5291 (tree_transform, case N_Return_Statement): Pass extra arg to
5294 * decl.c (annotate_value): Remove early return if -gnatR is not
5296 (gnat_to_gnu_field): Don't make a packable type for a component clause
5297 if the position is byte aligned, the field is aliased, and the clause
5298 size isn't a multiple of the packable alignment. It serves no useful
5299 purpose packing-wise and would be rejected later on.
5300 (gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
5303 (gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
5304 context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
5306 (create_concat_name): Idem.
5308 2005-06-10 Robert Dewar <dewar@adacore.com>
5309 Eric Botcazou <ebotcazou@adacore.com>
5310 Ben Brosgol <brosgol@adacore.com>
5311 Cyrille Comar <comar@adacore.com>
5312 Sergey Rybin <rybin@adacore.com>
5313 Pascal Obry <obry@adacore.com>
5315 * gnat_rm.texi: Add documentation for pragma Persistent_BSS
5316 Document second argument (Ada_05) of pragma Obsolescent
5317 Add note that call to subprogram marked with pragma Obsolescent
5318 is now considered to be a violation of program Restrictions
5319 (No_Obsolescent_Features).
5320 (Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
5321 that only machine-dependent attributes are supported.
5324 Commented out menu lines and empty section for gnatclean examples
5326 Fix some over long lines
5327 Clarify and enhance documentation of ADA_PROJECT_PATH.
5328 Rework section 2.11.2(3) about linking with a non-GNU compiler.
5329 Mention new switch -fcallgraph-info.
5330 Mention new switch -fstack-usage.
5331 For gnatpp, replace '-notab' with '-N' and add this option to Index
5332 Corrected VMS example.
5333 VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
5335 Add documentation for -gnatyu switch (unnecessary blank lines)
5336 Document new switch -U for GNAT PRETTY and GNAT METRIC
5337 Add note about Stdcall being handled as C convention on non Windows OS.
5338 Remove some junk typo in description of gnatbind -S switch
5339 Remove reference to Extensions_Allowed pragma
5340 Document the new order of the directories to be searched (source and
5341 object directories of project files before directories in ADA_*_PATH
5342 environment variables.
5344 * g-trasym.ads: Document that IRIX is supported
5346 2005-06-10 Arnaud Charlet <charlet@adacore.com>
5348 * Makefile.in: Add initialize.o when needed.
5349 Adapt to new VMS package body Symbols and subunits
5350 No specialized version of a-sytaco is needed for VxWorks.
5352 * a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
5353 * a-zchara.ads, a-widcha.ads: New files.
5355 * system-hpux-ia64.ads: New file.
5357 * i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
5358 is imported from the VxWorks kernel.
5360 2005-06-14 Robert Dewar <dewar@adacore.com>
5362 * g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
5363 fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
5364 a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
5365 s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
5366 a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
5367 g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
5368 i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
5369 namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
5370 sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
5371 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
5372 s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
5373 xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
5375 2005-06-14 Thomas Quinot <quinot@adacore.com>
5377 * xeinfo.adb: Fix typo in comment
5379 2005-06-14 Javier Miranda <miranda@adacore.com>
5381 * repinfo.ads: Fix typo in comment
5383 2005-06-14 Gary Dismukes <dismukes@adacore.com>
5385 * s-finimp.adb (Parent_Tag): Delete this imported function (function
5386 Parent_Tag is now in the visible part of Ada.Tags).
5387 (Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
5388 using imported function.
5390 2005-06-14 Bernard Banner <banner@adacore.com>
5392 * vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
5393 also apply for handling support for VxSim 653.
5395 2005-06-14 Eric Botcazou <ebotcazou@adacore.com>
5397 * xsnames.adb: Add automatic generation of snames.h.
5399 2005-06-14 Thomas Quinot <quinot@adacore.com>
5401 * gen-soccon.c: Add IP_MULTICAST_IF constant
5402 Minor reformatting and adjustments to prevent warnings.
5404 2005-06-14 Pascal Obry <obry@adacore.com>
5406 * seh_init.c: Do not include <sys/stat.h>. This is not needed.
5408 2005-06-03 Andrew Pinski <pinskia@physics.uc.edu>
5410 * trans.c (gnat_gimplify_expr): Call
5411 recompute_tree_invarant_for_addr_expr when we change
5412 the operand of the ADDR_EXPR.
5414 2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5416 * misc.c: Don't include errors.h.
5418 2005-05-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5420 * raise.c (db): Add ATTRIBUTE_PRINTF_2.
5422 2005-05-29 Kazu Hirata <kazu@cs.umass.edu>
5424 * cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
5426 * gnat_rm.texi, gnat_ugn.texi: Fix typos.
5428 2005-05-16 Nathanael Nerode <neroden@gcc.gnu.org>
5431 * Makefile.in: Make TGT_LIB behave correctly.
5433 2005-04-23 DJ Delorie <dj@redhat.com>
5435 * misc.c: Adjust warning() callers.
5437 2005-04-16 Laurent GUERBY <laurent@guerby.net>
5440 * a-nudira.adb (Value): Check for valid string.
5441 * a-nuflra.adb (Value): Likewise.
5443 2005-04-11 Richard Sandiford <rsandifo@redhat.com>
5445 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
5447 2005-04-10 Kazu Hirata <kazu@cs.umass.edu>
5449 * adaint.c, init.c, tracebak.c: Fix comment typos.
5450 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
5452 2005-04-07 Laurent GUERBY <laurent@guerby.net>
5453 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5455 * Makefile.in: Add make ifeq define for hppa linux tasking support.
5456 * system-hpux.ads: Define Signed_Zeros to be True.
5457 * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
5459 2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
5461 * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
5462 raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
5465 2005-03-30 Tom Tromey <tromey@redhat.com>
5467 * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
5469 2005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
5471 * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
5473 2005-03-29 Robert Dewar <dewar@adacore.com>
5475 * sem_res.adb (Resolve_Real_Literal): Generate warning if static
5476 fixed-point expression has value that is not a multiple of the Small
5479 * opt.ads (Warn_On_Bad_Fixed_Value): New flag
5481 * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
5484 * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
5486 2005-03-29 Vincent Celier <celier@adacore.com>
5488 * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
5489 (Build_Dynamic_Library.Version_String): Return the empty string when
5490 Lib_Version is empty or when the symbol policy is not Autonomous.
5492 * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
5493 a symbol is not in the reference symbol file, increase the Major ID
5494 and set the Minor ID to 0.
5495 Use gsmatch=lequal instead of gsmatch=equal
5497 2005-03-29 Doug Rupp <rupp@adacore.com>
5499 * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
5502 2005-03-29 Javier Miranda <miranda@adacore.com>
5504 * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
5505 (Inherit_DT): The first formal has been redefined as a Tag.
5506 This allows us the removal of the subprogram Get_TSD.
5507 (TSD): Replace the call to Get_TSD by the actual code.
5509 * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
5510 (Make_DT): Upgrade the call to Inherit_TSD according to the
5511 new interface: the first formal is now a Tag.
5513 * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
5515 This change allows us to remove the subprogram Get_TSD.
5516 (CPP_Get_TSD): Subprogram removed.
5517 (TSD): Replace the call to CPP_Get_TSD by the actual code.
5519 * rtsfind.ads: Remove support to call the run-time
5522 2005-03-29 Robert Dewar <dewar@adacore.com>
5524 * errutil.adb, errout.adb:
5525 Minor comment updates on Line_Terminator references
5527 * par-ch10.adb: Add ??? comment about line terminator
5529 * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
5530 (check dos line terminator).
5531 (Check_Line_Max_Length): New procedure, split off from the existing
5532 Check_Line_Terminator routine. Separating this out allows -gnatyf to
5533 be properly recognized.
5535 * styleg.adb: Add ??? comment for line terminator reference
5537 * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
5538 (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
5540 * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
5541 (check dos line terminator).
5542 (Check_Line_Max_Length): New procedure, split off from the existing
5543 Check_Line_Terminator routine. Separating this out allows -gnatyf to
5544 be properly recognized.
5546 * stylesw.ads, stylesw.adb:
5547 Add handling for new -gnatyd switch (check dos line terminator)
5549 * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
5550 Recognize -gnatwb/-gnatwB switches
5551 Include Warn_On_Bad_Fixed_Value for -gnatg
5554 Add line for new -gnatyd switch (check dos line terminator)
5556 * usage.adb: Add lines for -gnatwb/-gnatwB
5558 * vms_data.ads: Add entry for NOCRLF (-gnatyd)
5560 * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
5562 * gnat_ugn.texi: Fix overlong lines
5563 Document new -gnatyd switch
5564 Document new -gnatwb/-gnatwB switches
5566 2005-03-29 Ed Schonberg <schonberg@adacore.com>
5568 * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
5569 order to retrieve the component list of the type, before examining
5570 individual components.
5572 * sem_type.adb (Covers): Types are compatible if one is the base type
5573 of the other, even though their base types might differ when private
5576 2005-03-29 Thomas Quinot <quinot@adacore.com>
5578 * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
5579 To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
5580 of using Set_Renaming_TSS. This ensures that the TSS bodies are not
5581 analyzed if expansion is disabled (which could otherwise cause spurious
5582 error messages if expansion has been disabled due to previous
5583 (unrelated) errors).
5585 * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
5586 is disabled, the entity denoted by the argument is the access type
5587 itself, not an underlying record type, so there is no need to go back
5588 to the Corresponding_Remote_Type.
5590 2005-03-29 Gary Dismukes <dismukes@adacore.com>
5591 Robert Dewar <dewar@adacore.com>
5593 * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
5594 expand a call to an instance of
5595 Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
5596 Constructor actual of the instance. A class-wide membership
5597 check is also generated, to ensure that the tag passed to the instance
5598 denotes a type in the class.
5599 (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
5600 of Name_Generic_Dispatching_Constructor.
5602 * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
5603 05 unit for AI-260-02).
5605 * a-tgdico.ads: New file.
5607 * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
5608 predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
5610 * snames.ads, snames.adb (Preset_Names): Add entry for
5611 Generic_Dispatching_Constructor.
5615 * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
5616 character type cases.
5617 (Analyze_Subprogram_Renaming): Add special handling for
5618 the case of renaming of stream attributes when the renaming denotes a
5619 generic formal subprogram association for an abstract formal subprogram.
5620 Check that the attribute is a primitive stream attribute (and not
5621 a class-wide stream attribute) and then rewrite the attribute name
5622 as the name of the appropriate compiler-generated stream primitive.
5624 2005-03-29 Robert Dewar <dewar@adacore.com>
5626 * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
5628 (Is_Possibly_Unaligned_Object): Correct typo that
5629 resulted in inaccurate result for unaligned scalars within records.
5631 2005-03-29 Ed Schonberg <schonberg@adacore.com>
5633 * freeze.adb (Freeze_Record_Type): If the type of the component is an
5634 itype whose parent is controlled and not yet frozen, do not create a
5635 freeze node for the itype if expansion is disabled.
5637 2005-03-29 Vincent Celier <celier@adacore.com>
5639 * make.adb (Gnatmake): Don't fail if the main project file is declared
5640 as having no Ada sources. Do not display message "no sources to
5641 compile" in quiet output.
5643 2005-03-29 Doug Rupp <rupp@adacore.com>
5645 * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
5648 2005-03-29 Robert Dewar <dewar@adacore.com>
5650 * par-ch12.adb (P_Generic): Give better msg for illegal private generic
5653 2005-03-29 Robert Dewar <dewar@adacore.com>
5655 * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
5656 missing TYPE Improve the error message generated when compiling a
5657 limited interface in Ada83 or Ada95 mode.
5659 2005-03-29 Robert Dewar <dewar@adacore.com>
5661 * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
5662 rather than proceed ahead using a junk attribute name.
5664 2005-03-29 Vincent Celier <celier@adacore.com>
5666 * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
5668 * prj-part.adb (Parse_Single_Project): Set the location of a project
5669 on its defining identifier, rather than on the reserved word "project".
5671 * prj-proc.adb (Expression): Adapt to the fact that default of external
5672 references may be string expressions, not always literal strings.
5673 (Recursive_Process): Set Display_Name equal to Name
5674 when Location is No_Location, that is when there is no actual file.
5675 Get the Display_Name of the project from the source, when it is not a
5677 (Process): Use the Display_Name in error messages
5679 * prj-strt.adb (External_Reference): Allow default to be string
5680 expressions, not only literal strings.
5682 2005-03-29 Vincent Celier <celier@adacore.com>
5684 * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
5685 file and the reference symbol file to be the same file.
5687 2005-03-29 Thomas Quinot <quinot@adacore.com>
5689 * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
5690 forbid conversion of a local access-to-subprogram type to a remote one.
5692 * sem_util.adb (Wrong_Type): For a record type that is the expanded
5693 equivalent type for a remote access-to-subprogram type, go back to the
5694 original RAS entity when displaying an error message, so the casing is
5695 the original source casing.
5697 2005-03-29 Robert Dewar <dewar@adacore.com>
5699 * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
5702 2005-03-29 Ed Schonberg <schonberg@adacore.com>
5704 * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
5705 subtype if code is being pre-analyzed, to prevent un-expanded
5706 references to protected formals, among others.
5707 (Analyze_Explicit_Dereference): If the overloaded prefix includes some
5708 interpretation that can be a call, include the result of the call as a
5709 possible interpretation of the dereference.
5711 * sem_ch5.adb (Process_Bounds): Determine type of range by
5712 pre-analyzing a copy of the original range, and then analyze the range
5713 with the expected type.
5715 * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
5716 with an overloaded prefix where not all interpretations yield an
5717 access to subprogram, do not rewrite node as a call.
5718 (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
5719 the node as a call once the context identifies the interpretation of
5720 the prefix whose call yields the context type.
5721 (Valid_Conversion): For the case of a conversion between
5722 local access-to-subprogram types, check subtype conformance using
5723 Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
5724 detailed error message.
5726 2005-03-29 Ed Schonberg <schonberg@adacore.com>
5728 * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
5729 indicator, indicate that the formal can never be null.
5730 (Process_Formals): If a formal has a non_null indicator, insert the
5731 resulting subtype immediately before the enclosing subprogram decl,
5732 and not at the beginning of the corresponding declarative part, to
5733 prevent access before elaboration (Ada2005).
5735 2005-03-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5738 * utils.c (finish_record_type): Use variable_size when setting sizes.
5740 2005-03-29 Robert Dewar <dewar@adacore.com>
5742 * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
5743 guarantee Unix style line terminators for the output files, even when
5746 2005-03-29 Robert Dewar <dewar@adacore.com>
5748 * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
5749 buffer if an exception is raised.
5751 2005-03-29 Ed Falis <falis@adacore.com>
5753 * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
5756 2005-03-29 Robert Dewar <dewar@adacore.com>
5758 * sem_util.ads: Minor reformatting
5759 * gnat_rm.texi: Minor editing.
5761 2005-03-29 Eric Botcazou <ebotcazou@adacore.com>
5763 * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
5764 * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
5766 2005-03-24 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
5768 * adaint.c (__gnat_portable_spawn): Adjust cast.
5770 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
5772 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
5774 2005-03-17 Pascal Obry <obry@adacore.com>
5776 * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
5779 * expect.c (__gnat_waitpid): Moved here from adaint.c.
5780 Reimplement under Win32 using Win32 API.
5782 (__gnat_kill) [Win32]: Properly close the process handle before leaving
5785 2005-03-17 Eric Botcazou <ebotcazou@adacore.com>
5787 * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
5788 (DECL_RENAMED_OBJECT): New accessor macro.
5789 (SET_DECL_RENAMED_OBJECT): New setter macro.
5791 * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
5792 object in all cases. Attach the renamed object to the VAR_DECL.
5793 (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
5794 field is not prescribed.
5796 * misc.c (gnat_handle_option): Handle -gnatO separately.
5797 (gnat_print_decl) <VAR_DECL>: New case.
5798 Print the DECL_RENAMED_OBJECT node.
5800 * lang.opt: Declare separate -gnatO option.
5802 * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
5803 pointer, replace it with the renamed object.
5804 <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
5805 pointer type if the source is not a fat pointer type whose underlying
5806 array has the same non-zero alias set as that of the destination array.
5808 2005-03-17 Javier Miranda <miranda@adacore.com>
5810 * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
5811 (Get_Inheritance_Depth): Removed.
5812 (Set_Inheritance_Depth): Removed.
5814 * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
5815 subprogram Get_Expanded_Name because it is not referenced by the
5818 * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
5819 (CPP_Get_Inheritance_Depth): Removed.
5820 (CPP_Set_Inheritance_Depth): Removed.
5822 * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
5824 2005-03-17 Robert Dewar <dewar@adacore.com>
5826 * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
5827 3, since we now expect GCC 3 to do all the work.
5829 2005-03-17 Javier Miranda <miranda@adacore.com>
5831 * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
5832 of one barrier to avoid wrong usage of this attribute.
5834 * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
5835 First_Private_Entity.
5837 * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
5838 the subprogram against wrong usage.
5839 Adapt the code to traverse the entities in the
5840 scope of a record_type because in addition to its usage regarding
5841 packages, this subprogram is also called by Expand_N_Freeze_Entity
5842 to install the visible declarations of the enclosing scope of a
5843 record_type_with_private to establish the proper visibility before
5844 freezing the entity and related subprograms.
5846 2005-03-17 Ed Schonberg <schonberg@adacore.com>
5848 * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
5851 2005-03-17 Thomas Quinot <quinot@adacore.com>
5853 * exp_ch3.adb (Check_Attr): New subprogram.
5854 (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
5855 into a new Check_Attr subprogram, in order to provide a more
5856 explanatory error message (including the name of the missing attribute).
5857 (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
5858 subprogram determines whether a default implementation exists for a
5859 given stream attribute.
5860 (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
5861 Determine whether to generate a default implementation for each stream
5862 attribute separately, as this depends on the specific attribute.
5864 * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
5865 limited extension where a stream attribute is missing for a limited
5866 component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
5867 generate a bogus reference to the missing attribute to prevent
5868 cascaded errors. Instead, generate a null statement.
5870 * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
5871 available for a limited type if it has been specified for an ancestor
5874 2005-03-17 Ed Schonberg <schonberg@adacore.com>
5876 * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
5877 entity is an operator.
5879 2005-03-17 Thomas Quinot <quinot@adacore.com>
5881 * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
5882 spec, to make this predicate available to other units.
5884 * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
5887 * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
5888 when no distribution runtime library is available.
5890 * sem_res.adb, sem_dist.adb: Disable expansion of remote
5891 access-to-subprogram types when no distribution runtime library is
5893 (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
5894 predicate available to other units.
5896 * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
5897 spec, to make this predicate available to other units.
5899 2005-03-17 Vincent Celier <celier@adacore.com>
5901 * make.adb (Insert_Project_Sources): Make sure the Q is always
5904 * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
5905 the default for the tree, not the global default naming.
5907 * prj-proc.adb (Recursive_Process): No need to put the default naming
5908 in the project data, it's already there.
5910 2005-03-17 Doug Rupp <rupp@adacore.com>
5912 * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
5914 * 5xcrtl.ads: Renamed to...
5915 * s-crtl-vms64.ads: ...this new file
5917 2005-03-17 Robert Dewar <dewar@adacore.com>
5921 * namet.adb (Copy_One_Character): Set proper wide character encoding
5922 for upper half character if we have upper half encoding.
5924 2005-03-17 Robert Dewar <dewar@adacore.com>
5926 * par.adb (Par): Improved msg for attempt to recompile predefined unit
5928 2005-03-17 Thomas Quinot <quinot@adacore.com>
5930 * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
5931 tagged limited type, the TSS is a newly built renaming declaration:
5932 insert it using Set_TSS, not Copy_TSS.
5934 2005-03-17 Javier Miranda <miranda@adacore.com>
5936 * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
5937 Try_Object_Operation): Analyze the object that is accessible
5938 through the prefix of the subprogram call before we apply
5939 the transformation of the object-operation notation.
5941 2005-03-17 Jose Ruiz <ruiz@adacore.com>
5943 * s-taprob.adb (Initialize_Protection): Initialize the protected
5944 object's owner to Null_Task.
5945 (Lock): If pragma Detect_Blocking is in effect and the caller of this
5946 procedure is already the protected object's owner then Program_Error
5947 is raised. In addition the protected object's owner is updated.
5948 (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
5949 of this procedure is already the protected object's owner then
5950 Program_Error is raised.
5951 In addition the protected object's owner is updated.
5952 (Unlock): Remove the ownership of the protected object.
5954 * s-taprob.ads (Protection): Add the field Owner, used to store the
5955 protected object's owner.
5956 This component is needed for detecting one type of potentially blocking
5957 operations (external calls on a protected subprogram with the same
5958 target object as that of the protected action). Document the rest of
5961 * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
5962 Initialize the protected object's owner to Null_Task.
5963 (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
5964 caller of this procedure is already the protected object's owner then
5965 Program_Error is raised.
5966 Do not raise Program_Error when this procedure is called from a
5968 (Unlock_Entries): Remove the ownership of the protected object.
5969 (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
5970 of this procedure is already the protected object's owner then
5971 Program_Error is raised.
5972 Do not raise Program_Error when this procedure is called from
5975 * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
5976 used to store the protected object's owner.
5978 * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
5979 effect and this procedure (a potentially blocking operation) is called
5980 from whithin a protected action, Program_Error is raised.
5981 (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
5982 and this procedure (a potentially blocking operation) is called from
5983 whithin a protected action, Program_Error is raised.
5985 2005-03-17 Vincent Celier <celier@adacore.com>
5986 Nicolas Setton <setton@adacore.com>
5988 * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
5989 switch, not supported by the linker on Darwin. Add '_' before
5990 <library>init, as this character is added unconditionally by the
5992 (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
5993 correct one ".dylib". This fixes detection of the archive files when
5994 building library projects.
5996 2005-03-17 Vincent Celier <celier@adacore.com>
5998 * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
5999 -gnat83, -gnat95 and -gnat05.
6001 2005-03-17 Vasiliy Fofanov <fofanov@adacore.com>
6003 * gnat_ugn.texi: Document gnatmem restriction
6005 2005-03-17 Thomas Quinot <quinot@adacore.com>
6007 * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
6010 2005-03-17 Robert Dewar <dewar@adacore.com>
6012 * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
6013 a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
6014 s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
6016 * casing.adb: Comment improvements
6018 2005-03-17 Pascal Obry <obry@adacore.com>
6020 * g-expect.adb: Minor reformatting.
6022 2005-03-15 Zack Weinberg <zack@codesourcery.com>
6024 * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
6025 (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
6028 2005-03-15 Vincent Celier <celier@adacore.com>
6030 * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
6031 Add new parameter In_Tree to specify the project tree: needed
6032 by the project manager. Adapt to changes in project manager
6033 using new parameter In_Tree.
6035 2005-03-15 Jakub Jelinek <jakub@redhat.com>
6037 * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
6038 ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
6039 ada/bldtools to avoid make -jN failures.
6041 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
6043 * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
6044 to NULL_TREE on entry.
6046 2005-03-15 Robert Dewar <dewar@adacore.com>
6048 * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
6049 system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
6050 system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
6051 system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
6052 system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
6053 system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
6054 system-interix.ads, system-solaris-sparc.ads,
6055 system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
6056 system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
6057 system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
6058 system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
6059 system-linux-s390.ads, system-linux-s390x.ads: Add line defining
6060 Compiler_System_Version to be False.
6062 * opt.ads: Add new flag Opt.Address_Is_Private
6064 * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
6065 Add new parameter Compiler_System_Version to avoid checking for
6066 completeness of parameters when compiler is compiling itself.
6067 Allows old versions of GNAT to be compiled with new compiler.
6069 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
6071 * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
6072 (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
6074 (Stack_Base_Available): New flag.
6075 (Get_Page_Size): New overloaded functions imported from C.
6076 (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
6077 PROT_ON, PROT_OFF): New constants.
6078 (mprotect): New function imported from C.
6079 (pthread_teb_t): New record type.
6081 * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
6082 (Create_Task): Account for the Yellow Zone and the guard page.
6084 2005-03-15 Vincent Celier <celier@adacore.com>
6086 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
6087 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
6088 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
6089 mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
6090 Library_File_Name_For): Add new parameter In_Tree
6091 to specify the project tree: needed by the project manager.
6092 Adapt to changes in project manager using new parameter In_Tree.
6093 Remove local imports, use functions in System.CRTL.
6095 * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
6096 to use the project manager.
6098 * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
6099 In_Tree to designate the project tree. Adapt to changes in the project
6100 manager, using In_Tree.
6102 * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
6103 Copy_Interface_Sources): Add new parameter In_Tree to specify the
6104 project tree: needed by the project manager.
6105 (Build_Library): Check that Arg'Length >= 6 before checking if it
6106 contains "--RTS=...".
6108 * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
6109 Library_File_Name_For): Add new parameter In_Tree to specify the
6110 project tree: needed by the project manager.
6112 * prj.ads, prj.adb: Major modifications to allow several project trees
6113 in memory at the same time.
6114 Change tables to dynamic tables and hash tables to dynamic hash
6115 tables. Move tables and hash tables from Prj.Com (in the visible part)
6116 and Prj.Env (in the private part). Move some constants from the visible
6117 part to the private part. Make other constants deferred.
6118 (Project_Empty): Make it a variable, not a function
6119 (Empty_Project): Add parameter Tree. Returns the data with the default
6120 naming data of the project tree Tree.
6121 (Initialize): After updating Std_Naming_Data, copy its value to the
6122 component Naming of Project Empty.
6123 (Register_Default_Naming_Scheme): Use and update the default naming
6124 component of the project tree, instead of the global variable
6126 (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
6127 Tree is not defaulted, return the default naming data of the Tree.
6128 (Initial_Buffer_Size): Constant moved from private part
6129 (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
6130 variables initialized in procedure Initialize.
6131 (Add_To_Buffer): Add two in out parameters to replace global variables
6132 Buffer and Buffer_Last.
6133 (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
6135 Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
6137 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
6138 for the project tree.
6139 (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
6140 constant at the beginning of the package spec, so that they cane be used
6141 in subprograms before their full declarations.
6142 (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
6143 (Empty_Project): Add parameter of type Project_Node_Ref
6144 (Private_Project_Tree_Data): Add component Default_Naming of type
6146 (Buffer, Buffer_Last): remove global variables
6147 (Add_To_Buffer): Add two in out parameters to replace global variables
6148 Buffer and Buffer_Last.
6149 (Current_Packages_To_Check): Remove global variable
6150 (Empty_Name): Move to private part
6151 (No-Symbols): Make it a constant
6152 (Private_Project_Tree_Data): New type for the private part of the
6154 (Project_Tree_Data): New type for the data of a project tree
6155 (Project_Tree_Ref): New type to designate a project tree
6156 (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
6157 for the project tree.
6159 * prj-attr.ads: Add with Table; needed, as package Prj no longer
6160 imports package Table.
6162 * prj-com.adb: Remove empty, no longer needed body
6164 * prj-com.ads: Move most of the content of this package to package Prj.
6166 * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
6167 designate the project node tree and Packages_To_Check to replace
6168 global variable Current_Packages_To_Check.
6169 Add new parameters In_Tree and Packages_To_Check to local subprograms,
6170 when needed. Adapt to changes in project manager with project node tree
6173 * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
6174 project tree to most subprograms. Move tables and hash tables to
6175 private part of package Prj.
6176 Adapt to changes in project manager using project tree In_Tree.
6178 * prj-makr.adb (Tree): New constant to designate the project node tree
6179 Adapt to change in project manager using project node tree Tree
6181 * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
6182 display the Library_Src_Dir and the Library_Dir.
6183 Add new parameter In_Tree to designate the project node tree to most
6184 subprograms. Adapt to changes in the project manager, using project tree
6186 (Check_Naming_Scheme): Do not alter the casing on platforms where
6187 the casing of file names is not significant.
6188 (Check): Add new parameter In_Tree to designate the
6190 * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
6191 designate the project tree.
6192 Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
6194 * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
6195 to replace those that were in the private part of package Prj.
6196 Add new parameter In__Tree to designate the project node tree to most
6197 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
6198 (Post_Parse_Context_Clause): When specifying the project node of a with
6199 clause, indicate that it is a limited with only if there is "limited"
6200 in the with clause, not necessarily when In_Limited is True.
6201 (Parse): Add new parameter In_Tree to designate the project node tree
6203 * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
6204 designate the project node tree. Adapt to change in Prj.Tree with
6205 project node tree In_Tree.
6207 * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
6208 tree In_Tree in the call to function Empty_Process to give its initial
6209 value to the project data Processed_Data.
6210 Add new parameters In_Tree to designate the project tree and
6211 From_Project_Node_Tree to designate the project node tree to several
6212 subprograms. Adapt to change in project manager with project tree
6213 In_Tree and project node tree From_Project_Node_Tree.
6215 * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
6216 to replace those that were in the private part of package Prj.
6217 Add new parameter In_Tree to designate the project node tree to most
6218 subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
6220 * prj-tree.ads, prj-tree.adb: Add new parameter of type
6221 Project_Node_Tree_Ref to most subprograms.
6222 Use this new parameter to store project nodes in the designated project
6224 (Project_Node_Tree_Ref): New type to designate a project node tree
6225 (Tree_Private_Part): Change table to dynamic table and hash tables to
6226 dynamic hash tables.
6228 * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
6229 the project tree to most subprograms. Adapt to changes in project
6230 manager using project tree In_Tree.
6232 * makegpr.adb (Project_Tree): New constant needed to use project
6235 2005-03-15 Olivier Hainque <hainque@adacore.com>
6237 * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
6238 for sigactions with SA_SIGINFO set. Call
6239 __gnat_adjust_context_for_raise before raising, to perform the
6240 potentially required adjustments to the machine context for the GCC
6243 * raise.h (__gnat_adjust_context_for_raise): New prototype.
6245 * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
6246 Adjust PC by one in the provided machine context.
6247 (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
6248 so that the handler is passed the context structure to adjust prior to
6250 (__gnat_error_handler) HPUX: Adjust the signature to match what an
6251 SA_SIGINFO sigaction should look like. Call
6252 __gnat_adjust_context_for_raise before actually raising.
6253 (__gnat_adjust_context_for_raise): Default noop to help PC
6254 adjustments before raise from signal handlers.
6255 (__gnat_error_handler): Indirectly call a predicate function to
6256 determine if a condition should be resignaled or not.
6257 (__gnat_set_resignal_predicate): User interface to modify the predicate.
6258 (__gnat_default_resignal_p): Default GNAT predicate.
6260 2005-03-15 Doug Rupp <rupp@adacore.com>
6262 * adaint.c: Prefix #include of VMS system header files with vms/
6263 [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
6264 Do not define a dummy function "convert_addresses" under Darwin,
6267 * tb-alvms.c, expect.c: Prefix #include of VMS system header files
6270 2005-03-15 Nicolas Setton <setton@adacore.com>
6272 * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
6275 2005-03-15 Robert Dewar <dewar@adacore.com>
6277 * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
6280 * a-retide.ads: Minor comment changes
6282 2005-03-15 Robert Dewar <dewar@adacore.com>
6284 * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
6285 a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
6286 Realloc_For_Chunk to private part of package.
6287 New subprograms for AI-301
6289 * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
6291 Avoid unnecessary use of Get/Set_Wide_String
6293 2005-03-15 Robert Dewar <dewar@adacore.com>
6297 * a-stunau.ads, a-stunau.adb:
6298 Change interface to allow efficient (and correct) implementation
6299 The previous changes to allow extra space in unbounded strings had
6300 left this interface a bit broken.
6302 * a-suteio.adb: Avoid unnecessary use of Get/Set_String
6304 * g-spipat.ads, g-spipat.adb: New interface for Get_String
6305 Minor reformatting (function specs)
6307 * g-spitbo.adb: New interface for Get_String
6309 * g-spitbo.ads: Minor reformatting
6311 * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
6313 * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
6315 2005-03-15 Javier Miranda <miranda@adacore.com>
6316 Robert Dewar <dewar@adacore.com>
6317 Thomas Quinot <quinot@adacore.com>
6318 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6320 * atree.ads, atree.adb: Add support for Elist24 field
6322 * atree.h: Fix wrong definition of Field27
6323 Add support for Elist16 field
6324 Add support for Elist24 field
6326 * einfo.ads, einfo.adb (Abstract_Interfaces,
6327 Set_Abstract_Interfaces): New subprograms.
6328 (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
6330 (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
6331 entities rather than a single node.
6332 (Is_Interface, Set_Is_Interface): New subprogram
6333 (First_Tag_Component): New syntesized attribute
6334 (Next_Tag_Component): New synthesized attribute
6335 (Write_Entity_Flags): Upgraded to write Is_Interface
6336 (Write_Field24_Name): Upgraded to write Abstract_Interfaces
6337 (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
6338 (Task_Body_Procedure): New subprogram to read this attribute.
6339 (Set_Task_Body_Procedure): New subprogram to set this attribute.
6340 (Has_Controlled_Component): Now applies to all entities.
6341 This is only a documentation change, since it always worked to apply
6342 this to other than composite types (yielding false), but now this is
6344 Update documentation on Must_Be_Byte_Aligned for new spec
6346 * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
6347 exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
6348 uses of the Access_Disp_Table attribute to reference the first dispatch
6349 table associated with a tagged type. As
6350 part of the implementation of abstract interface types,
6351 Access_Disp_Table has been redefined to contain a list of dispatch
6352 tables (rather than a single dispatch table).
6353 Similarly, upgrade all the references to Tag_Component by the
6354 new attribute First_Tag_Component.
6355 (Find_Inherited_TSS): Moved to exp_tss.
6356 Clean up test in Expand_N_Object_Declaration for cases
6357 where we need to do a separate assignment of the initial value.
6358 (Expand_N_Object_Declaration): If the expression in the
6359 declaration of a tagged type is an aggregate, no need to generate an
6360 additional tag assignment.
6361 (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
6363 Bit packed array ops are only called if operands are known to be
6365 (Component_Equality): When returning an N_Raise_Program_Error statement,
6366 ensure that its Etype is set to Empty to avoid confusing GIGI (which
6367 expects that only expressions have a bona fide type).
6368 (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
6369 determine the amount of data to be copied.
6371 * par.adb (P_Interface_Type_Definition): New subprogram that parses the
6372 new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
6373 INTERFACE_TYPE_DEFINITION ::=
6374 [limited | task | protected | synchronized] interface
6375 [AND interface_list]
6377 * par-ch3.adb (P_Type_Declaration): Modified to give support to
6379 (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
6381 (P_Interface_Type_Definition): New subprogram that parses the new
6382 syntax rule of Ada 2005 interfaces
6383 (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
6384 messages by the correct RENAMES (quotes removed).
6386 * sem_prag.adb: Upgrade all the references to Tag_Component by the new
6387 attribute First_Tag_Component.
6389 * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
6390 (Interface_List, Set_Interface_List): New subprograms.
6391 (Interface_Present, Set_Interface_Present): New subprograms.
6392 (Limited_Present, Set_Limited_Present): Available also in derived
6393 type definition nodes.
6394 (Protected_Present, Set_Protected_Present): Available also in
6395 record type definition and
6396 derived type definition nodes.
6397 (Synchronized_Present, Set_Synchronized_Present): New subprograms.
6398 (Task_Present, Set_Task_Present): New subprogram.
6399 (Task_Body_Procedure): Removed.
6400 (Set_Task_Body_Procedure): Removed.
6401 These subprogram have been removed because the attribute
6402 Task_Body_Procedure has been moved to the corresponding task type
6403 or task subtype entity to leave a field free to store the list
6404 of interfaces implemented by a task (for AI-345)
6405 Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
6406 (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
6407 expression flag Do_Range_Check
6408 (Exception_Junk): Change to Flag7 to accomodate above change
6409 (Box_Present, Default_Name, Specification, Set_Box_Present,
6410 Set_Default_Name, Set_Specification): Expand the expression
6411 "X in N_Formal_Subprogram_Declaration" into the corresponding
6412 two comparisons. Required to use the csinfo tool.
6414 * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
6415 "with string" given.
6417 * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
6420 * par-ch11.adb (P_Raise_Statement): Recognize with string expression
6423 * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
6424 attribute Task_Body_Procedure rather than the old semantic field that
6425 was available in the task_type_declaration node.
6427 * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
6428 interface type definitions.
6429 (P_Formal_Derived_Type_Definition): Modified to handle the list of
6432 * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
6433 task type declaration.
6434 (P_Protected): Modified to handle the list of interfaces in a
6435 protected type declaration.
6437 2005-03-15 Doug Rupp <rupp@adacore.com>
6438 Vincent Celier <celier@adacore.com>
6440 * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
6441 (Gen_Output_File_C): Likewise.
6442 (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
6444 2005-03-15 Thomas Quinot <quinot@adacore.com>
6446 * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
6447 is an N_Raise_Constraint_Error node, create a new copy of it without
6448 going through a call to Duplicate_Subexpr.
6450 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
6451 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6452 Nicolas Setton <setton@adacore.com>
6453 Ed Schonberg <schonberg@adacore.com>
6460 * decl.c (gnat_to_gnu_field): Reject aliased components with a
6461 representation clause that prescribes a size not equal to the rounded
6462 size of their types.
6463 (gnat_to_gnu_entity, case E_Component): Always look at
6464 Original_Record_Component if Present and not the entity.
6465 (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
6466 of tagged extension types by not making field for components that are
6468 (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
6469 (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
6470 expression to the type of the object when the object is constant.
6471 Reverse defer_debug_incomplete_list before traversing it, so that trees
6472 are processed in the order at which they were added to the list. This
6473 order is important when using the stabs debug format.
6474 If we are deferring the output of debug information, also defer this
6475 output for a function return type.
6476 When adding fields to a record, prevent emitting debug information
6477 for incomplete records, emit the information only when the record is
6479 (components_to_record): New parameter defer_debug.
6480 (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
6481 (gnat_to_gnu_field_decl): New function.
6482 (substitution_list, annotate_rep): Call it.
6483 (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
6484 (gnat_to_gnu_entity, case E_Record_Type): Likewise.
6485 No longer update discriminants to not be a COMPONENT_REF.
6486 (copy_alias_set): Strip padding from input type; also handle
6487 unconstrained arrays properly.
6489 * gigi.h (write_record_type_debug_info): New function.
6490 Convert to use ANSI-style prototypes. Remove unused
6491 declarations for emit_stack_check, elab_all_gnat and
6492 set_second_error_entity.
6493 (gnat_to_gnu_field_decl): New decl.
6495 * utils.c (write_record_type_debug_info): New function.
6496 (finish_record_type): Delegate generation of debug information to
6497 write_record_type_debug_info.
6498 (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
6499 (update_pointer_to): Fix pasto.
6500 (convert) <UNION_TYPE>: Accept slight type variations when
6501 converting to an unchecked union type.
6503 * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
6504 replace the N_Freeze_Entity with a null statement.
6506 * freeze.adb (Freeze_Expression): If the freeze nodes are generated
6507 within a constrained subcomponent of an enclosing record, place the
6508 freeze nodes in the scope stack entry for the enclosing record.
6509 (Undelay_Type): New Subprogram.
6510 (Set_Small_Size): Pass T, the type to modify; all callers changed.
6511 (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
6512 within records; allow them to have freeze nodes if their base types
6515 * exp_util.adb (Remove_Side_Effects): Properly test for
6516 Expansion_Delayed and handle case when it's inside an
6517 N_Qualified_Expression.
6519 * sem_ch3.adb (Derived_Type_Declaration): New predicate
6520 Comes_From_Generic, to recognize accurately that the parent type in a
6521 derived type declaration can be traced back to a formal type, because
6522 it is one or is derived from one, or because its completion is derived
6524 (Constrain_Component_Type): If component comes from source and has no
6525 explicit constraint, no need to constrain in in a subtype of the
6527 (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
6528 Minor change to propagate Is_Ada_2005 flag
6530 * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
6531 Expansion_Delayed is False.
6532 (assoc_to_constructor): Ignore fields that have a
6533 Corresponding_Discriminant.
6534 (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
6535 function returns "by target", dereference the target pointer using the
6536 type of the actual return value.
6537 <all>: Be prepared for a null gnu_result.
6538 (processed_inline_subprograms): Check flag_really_no_inline
6539 instead of flag_no_inline.
6540 (set_second_error_entity): Remove unused function.
6541 (gnat_to_gnu, case N_Selected_Component): Call
6542 gnat_to_gnu_field_decl.
6543 (assoc_to_constructor): Likewise.
6545 2005-03-15 Robert Dewar <dewar@adacore.com>
6546 Ed Schonberg <schonberg@adacore.com>
6547 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6549 * exp_pakd.adb (Create_Packed_Array_Type): Do not set
6550 Must_Be_Byte_Aligned for cases where we do not need to use a
6551 System.Pack_nn unit.
6553 * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
6555 Needed now that we do some processing for IN parameters as well. This
6556 may well fix some unrelated errors.
6557 (Expand_Call): Handle case of unaligned objects (in particular those
6558 that come from packed arrays).
6559 (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
6560 renamed entity is an inherited operation, re-expand the call using the
6561 original operation, which is the one to call.
6562 Detect attempt to inline parameterless recursive subprogram.
6563 (Represented_As_Scalar): Fix to work properly with private types
6564 (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
6565 accurate estimate. Yields True in far fewer cases than before,
6566 improving the quality of code that depends on this test.
6568 * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
6569 over both visible and private declarations to remove them from tree,
6570 and mark subprograms declared in package as eliminated, to prevent
6571 spurious use in subsequent compilation of generic units in the context.
6573 * exp_util.ads: Minor cleanup in variable names
6575 * sem_eval.ads, sem_eval.adb: Minor reformatting
6576 (Compile_Time_Known_Bounds): New function
6578 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6580 * exp_ch7.adb (Convert_View): Use base types of underlying types when
6581 determining whether an unchecked conversion is needed for the argument
6582 of an initialization call.
6584 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6586 * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
6587 that appears in the instantiation rather than the internal subtype
6588 generated in the wrapper package, to avoid anomalies in gigi when the
6589 target is derived from a private type whose full view is an access type.
6591 2005-03-15 Robert Dewar <dewar@adacore.com>
6593 * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
6595 Add documentation to replace the use of this flag
6596 Fix kludge for Maximum_Alignment on x86 so that it does not apply to
6599 2005-03-15 Thomas Quinot <quinot@adacore.com>
6601 * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
6602 here from exp_attr so it can be shared between exp_attr and exp_dist.
6603 (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
6604 all TSS names, not a subset thereof, and the previous name introduced
6605 an unnecessarily confusion that a distinction might exist between
6606 "OK" TSS names and some "not OK" TSS names.
6608 2005-03-15 Doug Rupp <rupp@adacore.com>
6610 * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
6613 2005-03-15 Pascal Obry <obry@adacore.com>
6614 Eric Botcazou <ebotcazou@adacore.com>
6619 * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
6620 when IN_RTS. This is to work around a bootstrap path problem.
6622 * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
6623 table and pass it to __gnat_install_SEH_handler().
6624 (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
6626 * lang.opt: Fix specification of -fRTS=.
6628 2005-03-15 Doug Rupp <rupp@adacore.com>
6629 Bernard Banner <banner@adacore.com>
6630 Vincent Celier <celier@adacore.com>
6631 Arnaud Charlet <charlet@adacore.com>
6634 This change works fine when gnatlib is built from the gcc directory,
6635 but does not work when using the libada Makefile, since GCC_FOR_TARGET
6636 is not passed to ada/Makefile.in, so more work is needed by a
6637 Makefile/configure expert.
6639 * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
6640 set GMEM_LIB on ia64 linux to add optional support for gnatmem.
6641 Setup gnatlink switch -M for x86_64 linux, as it is already setup
6643 (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
6644 Run ranlib on libgccprefix.a
6645 Define PREFIX_OBJS for Darwin, to build libgccprefix.
6646 (ADA_INCLUDE_SRCS): Split Ada packages.
6648 2005-03-15 Robert Dewar <dewar@adacore.com>
6650 * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
6652 * impunit.adb: Add GNAT.UTF_32
6654 * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
6656 * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
6657 now uses GNAT.UTF_32).
6659 * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
6660 capabilities for categorizing characters using Unicode categories
6662 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6664 * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
6665 instantiation that has been rewritten as a package body, retrieve spec
6666 to generate proper name for implicit_with_clause.
6667 (Install_Parents): Recognize a parent that is an instantiation but has
6668 been rewritten as a package declaration during analysis.
6670 2005-03-15 Javier Miranda <miranda@adacore.com>
6671 Ed Schonberg <schonberg@adacore.com>
6673 * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
6674 parameter reported some error we immediately return. This improves the
6675 behaviour of the frontend in case of errors.
6676 (Install_Parent, Remove_Parent): Introduce new flag
6677 Parent_Unit_Visible, to preserve the proper visibility of the ultimate
6678 ancestor of a generic child unit, when the child is being instantiated.
6679 (Inline_Instance_Body): If we are compiling the private
6680 part or the body of a child unit, restore the proper visibility of the
6681 parents after compiling the instance body.
6683 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6684 Javier Miranda <miranda@adacore.com>
6687 * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
6688 of a private type, in which case it is underlying_type that denotes
6689 the proper task. Also modified to use the new entity attribute
6690 that is directly available in the task type and task subtype entities
6691 (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
6692 arrays when other dimensions than the first are constrained by
6693 discriminants of an enclosing record.
6694 (Insert_Explicit_Dereference): If the prefix is an indexed component or
6695 a combination of indexed and selected components, find ultimate entity
6696 and generate the appropriate reference for it, to suppress spurious
6698 (Note_Possible_Modification): If an entity name has no entity, return.
6699 (Is_Variable): A function call never denotes a variable.
6700 (Requires_Transient_Scope): For record types, recurse only on
6701 components, not on internal subtypes that may have been generated for
6702 constrained components.
6704 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6706 * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
6707 Eliminated as candidates for resolution. Both efficient, and avoids
6708 anomalies with operators declared in deleted code.
6709 (Process_Implicit_Dereference_Prefix): Use this procedure whenever
6710 expansion is disabled (as when compiling a generic) to prevent spurious
6711 warnings on prefixes of selected components.
6713 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6715 * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
6716 attached to a list before checking whether it appears in the private
6717 declarations of the current package.
6718 (Make_Inequality_Operator): Insert declaration in proper declarative
6719 list rather than just setting the Parent field, so that
6720 Is_Private_Declaration can handle it properly.
6722 2005-03-15 Ed Schonberg <schonberg@adacore.com>
6724 * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
6725 a renaming a body, check that the renamed subprogram in not intrinsic.
6726 (Find_Direct_Name): If several use_visible entities hide
6727 each other, and the context is a predefined file compiled through
6728 rtsfind, keep only the entity that comes from a predefined file.
6730 2005-03-15 Geert Bosch <bosch@adacore.com>
6732 * s-fatgen.adb (Valid): Extend special exceptions to account for long
6733 long float padding to also cover AMD64 and IA64.
6735 2005-03-15 Gary Dismukes <dismukes@adacore.com>
6737 * s-imgwch.adb: Add with and use of Interfaces.
6738 (Img_Wide_Character): Change type of Val to Unsigned_16.
6739 (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
6741 2005-03-15 Matthew Gingell <gingell@adacore.com>
6743 * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
6745 2005-03-15 Robert Dewar <dewar@adacore.com>
6747 * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
6749 * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
6751 * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
6753 2005-03-15 Robert Dewar <dewar@adacore.com>
6755 * s-bitops.adb, s-bitops.ads,
6756 s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
6757 s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
6758 tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
6759 s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
6760 s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
6761 s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
6762 s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
6763 s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
6766 2005-03-15 Eric Botcazou <ebotcazou@adacore.com>
6768 * utils2.c (build_binary_op): Fix typo.
6770 2005-03-15 Doug Rupp <rupp@adacore.com>
6772 * s-crtl.ads (popen,pclose): New imports.
6774 2005-03-15 Cyrille Comar <comar@adacore.com>
6776 * comperr.adb (Compiler_Abort): remove references to obsolete
6777 procedures in the bug boxes for various GNAT builds.
6779 2005-03-15 Vincent Celier <celier@adacore.com>
6781 * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
6783 2005-03-15 Geert Bosch <bosch@adacore.com>
6784 Arnaud Charlet <charlet@adacore.com>
6785 Robert Dewar <dewar@adacore.com>
6786 Cyrille Comar <comar@adacore.com>
6787 Sergey Rybin <rybin@adacore.com>
6789 * gnat_ugn.texi: Remove extended inline assembly example, as it was far
6790 too specific and long-winded to be appropriate for the GNAT User's
6792 Warn about use of GCC switches not documented in the GNAT User's Guide,
6793 as these may cause generated code to not conform to Ada semantics.
6794 Remove mention of -gdwarf-2 for sparc64, since this is now the default.
6795 Add documentation for -gnat95 and -gnat05 switches
6796 Remove paragraph documenting obsolete way to refer to third party
6798 Add a few references to Ada_05 that were missing.
6799 Update documentation on -gnatZ/-gnatL.
6800 Document limitation when using -m64 under Solaris.
6801 Change the "Name Casing" subsection of the pretty-printer section
6802 according to the changes in the dictionary processing.
6804 * gnat_rm.texi: Document the Ada_05 pragma.
6805 Section on record representation clauses describes the new more
6806 relaxed rules about placement of large packed bit array components.
6807 Add documentation of GNAT.UTF_32
6809 2005-03-12 Daniel Berlin <dberlin@dberlin.org>
6811 * misc.c (gnat_post_options): Turn off structural
6814 2005-03-08 Laurent Guerby <laurent@guerby.net>
6816 * system-linux-sparc.ads: Fix typo in previous commit.
6818 2005-03-07 James A. Morrison <phython@gcc.gnu.org>
6819 Laurent Guerby <laurent@guerby.net>
6822 * system-linux-sparc.ads: New.
6823 * Makefile.in: Add sparc linux entry.
6825 2005-02-27 Danny Smith <dannysmith@users.sourceforge.net>
6827 * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
6828 parameters as unused.
6830 2005-02-26 Nathanael Nerode <neroden@gcc.gnu.org>
6831 Partial merge from libada-gnattools-branch:
6833 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
6834 * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
6835 into code in gnattools/Makefile.in. Remove direct dependencies on
6836 stamp-tools by tools clauses.
6837 2004-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
6838 * config-lang.in: Add gnattools to $lang_dirs.
6840 2005-02-13 Andrew Pinski <pinskia@physics.uc.edu>
6843 * utils.c (gnat_type_for_mode): Return null instead of ICE because
6844 we asked for an unknown mode.
6846 2005-02-12 Richard Henderson <rth@redhat.com>
6848 * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
6849 validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
6851 2005-02-10 Andreas Jaeger <aj@suse.de>
6853 * init.c (__gnat_initialize): Mark parameter as unused.
6855 2005-02-09 Doug Rupp <rupp@adacore.com>
6857 * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
6858 * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
6860 2005-02-09 Doug Rupp <rupp@adacore.com>
6862 * gnatchop.adb (dup, dup2),
6863 g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
6865 * gnatlbr.adb (mkdir),
6866 mlib-tgt-vms-ia64.adb (popen, plose): Import with decc$ prefix.
6868 * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
6870 2005-02-09 Doug Rupp <rupp@adacore.com>
6872 * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
6874 2005-02-09 Robert Dewar <dewar@adacore.com>
6875 Thomas Quinot <quinot@adacore.com>
6876 Javier Miranda <miranda@adacore.com>
6877 Pascal Obry <obry@adacore.com>
6878 Ed Schonberg <schonberg@adacore.com>
6879 Doug Rupp <rupp@adacore.com>
6880 Gary Dismukes <dismukes@adacore.com>
6881 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6883 * g-zstspl.ads: New file.
6885 * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
6887 * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
6889 Add definition of Wide_Wide_Space for AI-285
6891 * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
6892 interface (to support Ada 95 and Ada 2005 units).
6893 Add Unbounded_IO files
6894 Add entries for Wide_Wide packages for AI-285
6895 Add list of containers packages to Ada 2005 unit list
6897 * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
6898 support new Unbounded_IO package cleanly.
6900 * g-utf_32.ads, g-utf_32.adb: New files.
6902 * Makefile.rtl: Add entry for g-utf_32
6903 Add new files for Unbounded_IO
6904 Adjust make file for new AI-285 wide wide packages
6905 Add AI-302 containers to the run time.
6907 * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
6908 a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
6909 subprograms for AI-301.
6911 * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
6913 * a-stunau.ads: Minor comment correction
6915 * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
6917 Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
6918 (Check_RPC): Update to match changes in expanded code.
6919 Clean up unused entity.
6921 * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
6922 was not taken into account.
6923 This includes proper initialization with Normalize_Scalars.
6924 (Get_Simple_Init_Val): Major rewrite for initialize scalars and
6925 normalize scalars cases (particularly the latter) to do a better job
6926 of finding invalid representations.
6928 * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
6930 * s-strops.ads, s-strops.adb: Remove string normalize routines, never
6933 * exp_dist.adb: Add support for wide wide character type
6934 (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
6935 private part, generate stub bodies at the end of the private part,
6936 not the visible part.
6937 (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
6939 (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
6940 generic wrapper to execute final processing after completing the
6941 expansion of the RPC receiver for an RACW.
6943 * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
6944 packages and attributes.
6945 (Preset_Names): Addition of the new reserved words of Ada 2005,
6946 that is interface, overriding and synchronized.
6947 (Get_Pragma_Id): Give support to the use of the new reserved word
6948 "interface" as a pragma name.
6949 (Is_Pragma_Name): Give support to the use of the new reserved word
6950 "interface" as a pragma name.
6951 (Preset_Names): Add stream_size string for the Stream_Size Ada2005
6952 attribute implementation.
6954 * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
6955 checks to entities that are output parameters of Asm operations.
6956 Handle the Stream_Size attribute.
6957 Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
6959 * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
6961 * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
6962 for second parameter being 0.0.
6963 Add support for wide wide character type.
6964 (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
6966 * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
6967 s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
6968 s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
6969 s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
6970 for wide wide character cases.
6972 * cstand.adb: Create entities for Wide_Wide_Character and
6975 * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
6976 accordance with AI-258.
6977 Add new declarations for 16/32 bit C character types (Part of AI285)
6979 * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
6980 (Obsolescent_Warning): New field
6981 (Rep_Clause): New local subprogram used to share code. Returns the rep
6982 clause for which the name is given in parameter.
6983 (Has_Stream_Size_Clause): New routine.
6984 (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
6985 (Address_Clause): Implementation is now using Rep_Clause.
6986 (Alignment_Clause): Idem.
6987 (Size_Clause): Idem.
6989 * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
6990 entity in non-Ada 2005 mode and generate warning.
6992 * par-prag.adb: Add handling of one argument form for pragma Ada_05.
6993 (Prag): Code cleanup. Remove old gnat pragma "overriding"
6995 * sem_prag.adb: Add handling of one argument form for pragma Ada_05
6996 (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
6997 on the named unit if the pragma is not in the current compilation unit,
6998 so that elaboration calls in the current unit can set up an elaboration
6999 dependency on the named unit, as needed.
7000 (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
7001 subprogram as well as for subprograms declared within a package.
7002 (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
7005 * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
7006 to z) to avoid some instances of duplication for Wide_Wide packages.
7008 * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
7011 * scn.adb: Char_Literal_Value field is now a Uint
7013 * scng.adb: Significant rewrite to handle new Ada 2005 features
7014 allowing wide and wide wide characters in program text, e.g. for
7015 identifiers, as described in AI-285.
7016 (Set_Reserved): New procedure, makes setting up keywords cleaner.
7017 (Initialize_Scanner): Register the new reserved words of Ada 2005.
7018 (Scan): Give support to the new reserved words.
7020 * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
7021 warning notifying that interface, overriding, and synchronized are
7023 (P_Pragma): Allow the use of the new reserved word "interface" as
7026 * gnatls.adb, gnatbind.adb,
7027 ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
7028 identifiers named "interface" to "SAL_Interface".
7030 * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
7031 (Structured Exception handling).
7035 (Gen_Main_Ada): Set the default exit code if specified.
7036 (Gen_Main_C): Likewise.
7038 (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
7039 Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
7041 * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
7044 * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
7045 has a collision with the new Ada 2005 "interface" reserved word.
7047 * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
7048 generate a warning notifying that interface, overriding, and
7049 synchronized are new reserved words.
7051 * scans.ads (Token_Type): Addition of the tokens corresponding to the
7052 new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
7053 and Tok_Synchronized.
7055 * sem_res.adb (Resolve_Actuals): Change error messages to refer to
7056 "dispatching" rather than "primitive" operations, since dispatching
7057 calls are now allowed to abstract formal subprograms (which are not
7059 Char_Literal_Value field is now a Uint
7060 (Resolve_Slice): If the prefix is an access to an unconstrained array,
7061 compute the actual subtype of the designated object to impose the proper
7063 (Resolve_Selected_Component): Do not insert an access check if the
7064 prefix is an access type: such a node is expanded into an explicit
7065 dereference, on which the access check is performed anyway. Removes
7066 expensive duplicate checks.
7067 (Resolve_Call): Use new flag Is_Obsolescent and field
7068 Obsolescent_Warning so that pragma Obsolescent works on library
7070 Add support for wide wide character type
7071 (Resolve_Allocator): Replace the error message on wrong null-exclusion
7072 value by a warning message.
7073 (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
7074 as fixed-point, and one of the operands is non-static and universal, it
7075 can only be an illegal exponentiation operation, in which case there is
7076 no real value to retrieve.
7078 * exp_strm.adb: Add support for wide wide character type
7079 (Build_Elementary_Input_Call): Compute the size of the stream element by
7080 querying the rep chain to find the Stream_Attribute attribute value.
7081 (Build_Elementary_Write_Call): Ditto.
7083 * sem_aggr.adb: Char_Literal_Value field is now a Uint
7084 Add support for wide wide character type
7085 Replace the error messages on wrong null-exclusion value by warnings
7086 as described in Ada 2005.
7087 (Resolve_Extension_Aggregate): Document the fact that the error
7088 message on class-wide expressions in extensions aggregates.
7090 * sem_case.adb: Add support for wide wide character type
7092 * sem_ch13.adb: Add support for wide wide character type
7093 (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
7095 * sem_ch3.adb: Add support for wide wide character type
7096 (Process_Subtype): If constraint is illegal for the type, set Ekind of
7097 now-useless Itype, to prevent cascaded errors on a compiler built
7100 * sem_ch8.adb: Add with and use of Sem_Disp.
7101 (Analyze_Subprogram_Renaming): Replace unclean uses of
7102 Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
7103 of Corresponding_Spec to Empty).
7104 (Attribute_Renaming): Replace use of Corresponding_Spec with
7105 Corresponding_ Formal_Spec and simplify condition.
7106 (Use_One_Package): Check that scope of homonym of identifier is defined,
7107 before checking whether it is a wrapper package.
7108 Add support for wide wide character type
7110 * sem_eval.adb: Add support for wide wide character type.
7111 (Eval_Arithmetic_Op): Check for compile time known signed integer
7112 overflow in the non-static case.
7113 (Subtypes_Statically_Match): A formal scalar type and its base type do
7114 not statically match.
7116 * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
7117 "not in" for test of N_Formal_Subprogram_Declaration (which is now a
7119 (Unit_Declaration_Node): Ditto.
7120 (Is_Variable_Prefix): For the case of an indexed component whose prefix
7121 has a packed array type, the prefix has been rewritten into a type
7122 conversion. Determine variable-ness from the converted expression.
7123 Handle wide wide character cases.
7125 * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
7127 * stringt.ads, stringt.adb: Handle full UTF-32 range.
7128 Remove ["0A"] from comment, since it can look like a line terminator.
7129 Currently we don't permit this, but this is under discussion by the
7130 ARG, and it is easy enough to use a different example.
7132 * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
7133 handling UTF-32 encoding for wide wide character.
7134 Implement new brackets coding ["hhhhhhhh"]
7135 Add UTF-8 encodings for full UTF-32 range
7137 * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
7139 * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
7140 bit range Add full UTF-32 support.
7141 (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
7142 notify that constraint error will be raised at run-time
7143 because a null value is assigned to a null-excluding object.
7144 Remove some obsolete declarations and make Char_Code
7147 * a-except.adb (Rcheck_30): New subprogram. Addition of the message
7148 corresponding to CE_Null_Not_Allowed, and adjust the output of all the
7151 * checks.adb (Check_Null_Not_Allowed): Replace the error message on
7152 wrong null-exclusion value by a warning message.
7153 (Enable_Range_Check): Do range check if the prefix is an
7154 explicit dereference whose designated object is an unconstrained array.
7155 Current algorithm for removing duplicate checks is over-eager in this
7158 * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
7159 null-exclusion value by a warning message
7161 * atree.h, atree.ads, atree.adb: Remove Char_Code field support
7162 completely. Add support for Uint2 field
7164 sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
7165 exp_prag.adb: Char_Literal_Value field is now a Uint.
7167 * exp_util.adb (Insert_Actions): Replace
7168 N_Formal_Subprogram_Declaration by
7169 N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
7170 Char_Literal_Value field is now a Uint.
7172 * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
7173 defined for subprogram renaming declarations. When set, the field
7174 indicates the defining entity of a corresponding formal subprogram
7175 when the renaming corresponds to a formal subprogram association in an
7177 (Set_Corresponding_Formal_Spec): New procedure to return
7178 Corresponding_Formal_Spec field.
7179 Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
7180 (which is now a subtype).
7181 Char_Literal_Value field is now a Uint
7183 * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
7184 pointer to the base of the dispatch table.
7185 Minor changes to comments.
7186 (Controlling_Type): New function for determining the tagged type
7187 associated with a tagged primitive subprogram.
7188 (Expand_Dispatching_Call): Add support for a controlling actual that is
7189 directly a value of type Ada.Tag rather than a tagged object.
7191 * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
7192 describing the new layout.
7193 (Dispatch_Table): The expander computes the actual array size, allocates
7194 the Dispatch_Table record accordingly, and generates code that displaces
7195 the base of the record after the Typeinfo_Ptr component. The access to
7196 these components is done by means of local functions.
7197 (Offset_To_Top): New function.
7198 (Typeinfo_Ptr): New function.
7199 (Get_TSD): Modified to access the new position of the TSD.
7200 (Set_TSD): Modified to save the TSD in its new position.
7202 * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
7203 case of formal abstract subprograms. Add check and message for -gnat05.
7206 * sem_ch12.adb: Add with and use for Sem_Disp.
7207 (Analyze_Associations): Minor change from "=" to "in" for use of
7208 N_Formal_Subtype_Declaration (which is now a subtype).
7209 (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
7210 N_Formal_Subtype_Declaration (which is now a subtype).
7211 (Analyze_Formal_Subprogram): Add handling for
7212 N_Formal_Abstract_Subprogram, marking the formal as abstract and
7213 dispatching, setting the controlling status of the formal parameters
7214 and result, and issuing an error if there is no controlling type for
7215 the formal subprogram.
7216 (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
7217 which is an unclean use of that field, we set the new field
7218 Corresponding_Formal_Spec to make the formal subprogram available to
7219 processing in Analyze_Subprogram_Declaration.
7220 (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
7221 Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
7222 Constrained, so that it is is does not statically match its anonymous
7225 * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
7226 abstract formal subprograms in error check for functions returning
7227 abstract types. Set scope of new designator for
7228 a parameterless subprogram, so that it is available when checking the
7229 body for nested subprograms, before full analysis of said body.
7230 (Analyze_Subprogram_Body): Warn on inlining bodies with nested
7231 subprogram only if inner one comes from source.
7232 (Analyze_Function_Call): If the call is given in object notation, the
7233 analysis of the name rewrites the node and analyzes it with the proper
7234 argument list. After analyzing the name, if the call has been rewritten
7235 and the result type is set, no further analysis is needed.
7236 (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
7237 mark in function specification, in a context where the formals are
7238 visible and hide outer homographs.
7240 * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
7241 as the tagged type for the cases of abstract formal subprograms and
7242 renamings of those. Clean up spec comments.
7243 (Check_Dispatching_Context): Add error message to indicate "abstract
7244 procedure", covering the case of a call to a formal abstract procedure
7245 that has statically tagged operands.
7246 (Check_Dispatching_Call): Check for the case of an actual given by
7247 a tag-indeterminate function call whose type is an ancestor of the
7248 containing call's associated tagged type. This situation can occur
7249 for inherited primitives with function defaults. In this case we
7250 use the tagged type's tag directly as the controlling argument for
7252 (Expand_Call): Name change on call to Expand_Dispatch_Call.
7254 * sprint.adb (Sprint_Node_Actual): Split
7255 N_Formal_Subprogram_Declaration into two alternatives for the new
7256 cases N_Formal_Abstract_Subprogram_Declaration and
7257 N_Formal_Concrete_Subprogram_Declaration.
7258 Char_Literal_Value field is now a Uint.
7260 * trans.c: Get rid of junk Uint2 reference.
7261 Char_Literal_Value field is now a Uint.
7262 (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
7263 (gigi): Correct third arg to gimplify_body.
7265 * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
7266 (TYPE_LANG_FLAG_0): Check for record or union.
7268 * treepr.adb: Char_Literal_Value field is now a Uint
7270 * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
7273 * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
7274 Add full UTF-32 support
7275 Char_Code is now 32 bits
7277 * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
7278 wide character UTF_32 line terminators.
7279 Initialize Main_Source_File to avoid error when no main
7282 * errout.adb (Finalize): Do not check Num_SRef_Pragmas
7283 (Main_Source_File) when no main source has been loaded, to avoid
7286 2005-02-09 Robert Dewar <dewar@adacore.com>
7288 * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
7289 Fix name of Set routine
7291 * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
7294 * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
7295 a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
7298 * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
7299 forms of Get_Line subprograms for AI-301.
7301 * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
7302 a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
7303 a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
7304 a-stwima.ads: Minor reformatting.
7306 2005-02-09 Doug Rupp <rupp@adacore.com>
7307 Thomas Quinot <quinot@adacore.com>
7309 * adaint.c, adaint.h
7310 [VMS] (to_ptr32): New function.
7311 (MAYBE_TO_PTR32): New macro.
7312 (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
7314 [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
7315 [VMS] (#define fork()): Remove since unneccessary.
7316 (__gnat_set_close_on_exec): New routine to support
7317 GNAT.OS_Lib.Set_Close_On_Exec.
7319 * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
7320 the parent side as close-on-exec so that they are not inherited by the
7323 * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
7324 set or clear the FD_CLOEXEC flag on a file descriptor.
7326 2005-02-09 Eric Botcazou <ebotcazou@adacore.com>
7327 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7329 Fix for c330001 - PR ada/19386
7332 (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
7333 on the field if Pragma Component_Alignment (Storage_Unit).
7334 (gnat_to_gnu_entity, case object): Do not treat a renaming that has
7335 side-effects as if it were a constant; also make SAVE_EXPR to protect
7337 (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
7339 (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
7340 (components_to_record): Test it.
7341 Fix improper usage of REFERENCE_CLASS_P.
7343 * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
7346 * utils2.c: Minor reformatting.
7348 * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
7349 handle other cases like RECORD_TYPE.
7351 * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
7353 2005-02-09 Ed Schonberg <schonberg@adacore.com>
7355 * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
7356 component of an array of arrays in an assignment context, and the
7357 aggregate has component associations that require sliding on
7358 assignment, force reanalysis of the aggregate to generate a temporary
7359 before the assignment.
7360 (Must_Slide): Make global to the package, for use in Gen_Assign.
7362 2005-02-09 Ed Schonberg <schonberg@adacore.com>
7364 * exp_ch4.adb (Expand_Composite_Equality): If a component is an
7365 unchecked union with no inferable discriminants, return a
7366 Raise_Program_Error node, rather than inserting it at the point the
7368 (Expand_Record_Equality, Component_Equality): Handle properly the case
7369 where some subcomponent is an unchecked union whose generated equality
7370 code raises program error.
7372 2005-02-09 Doug Rupp <rupp@adacore.com>
7374 * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
7375 [VMS] (#define exit hack): Remove.
7377 2005-02-09 Pascal Obry <obry@adacore.com>
7378 Arnaud Charlet <charlet@adacore.com>
7380 * init.c (__gnat_initialize): Add a new parameter eh which contains the
7381 address of the exception registration. The Win32 version of this
7382 routine calls __gnat_install_SEH_handler() to initialize the SEH
7383 (Structured Exception Handling) handler.
7384 (__gnat_error_handler) [Win32]: Removed. Not needed as we use
7385 SEH (Structured Exception Handling) now.
7386 (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
7387 (__gnat_initialize for ppc-vxworks): Adjust comments and the
7388 preprocessor condition protecting the call to the extra eh setup
7389 subprogram, which is only available for the ppc target.
7390 (__gnat_clear_exception_count): replaced reference to
7391 variable taskIdCurrent by call to taskIdSelf(), cleaner.
7393 * seh_init.c: New file.
7395 * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
7396 (GNATBIND_OBJS): Idem.
7398 * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
7399 routine takes a new parameter (a pointer to the exception registration
7400 for the SEH (Structured Exception Handling) support.
7402 * raise.h: (__gnat_install_SEH_handler): New prototype.
7403 Update copyright notice.
7405 * s-tassta.adb (Task_Wrapper): Declare the exception registration
7406 record and initialize it by calling __gnat_install_SEH_handler.
7408 2005-02-09 Vincent Celier <celier@adacore.com>
7410 * make.adb (Gnatmake): Do not fail when the main project has no object
7413 2005-02-09 Doug Rupp <rupp@adacore.com>
7415 * Makefile.in [VMS] (LN,LN_S): Define as cp -p
7416 Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
7417 [VMS]: Add translations for g-enblsp.adb.
7419 * s-asthan-vms.adb: Removed.
7420 * s-asthan-vms-alpha.adb: Added.
7422 2005-02-09 Pascal Obry <obry@adacore.com>
7424 * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
7425 (LIBGNAT_OBJS): Add seh_init.o.
7427 2005-02-09 Arnaud Charlet <charlet@adacore.com>
7431 * Makefile.in: Link all gnat tools with -static-libgcc, since
7432 -shared-libgcc is now used by default on some systems (e.g. linux with
7434 Remove references to Makefile.prolog/generic, no longer used.
7436 2005-02-09 Vincent Celier <celier@adacore.com>
7438 * prj-makr.adb (Process_Directory): Put file name in canonical case
7439 before matching against the patterns.
7440 If gnatname has been invoked as <prefix>-gnatname
7441 then invoke the compiler as <prefix>-gcc, not just "gcc".
7443 2005-02-09 Ed Schonberg <schonberg@adacore.com>
7445 * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
7446 with expansion disabled. The actual subtype is needed among other
7447 places when the selected component appears in the context of a loop
7448 bound, and denotes a packed array.
7449 (Operator_Check): Always use the first subtype in the
7450 error message, to avoid the appearance of internal base types.
7451 (Transform_Object_Operation): Copy each actual in full
7452 to the parameter associations of the constructed call, rather than
7453 using the shallow copy mechanism of New_Copy_List. This ensures that
7454 the chaining of named associations is done properly.
7455 (Complete_Object_Operation): Rewrite node, rather than
7456 replacing it, so that we can trace back to the original selected
7459 * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
7460 and calls that use object notation, if the called function is not
7461 declared in a withed unit, place the elaboration constraint on the
7462 unit in the context that makes the function accessible.
7463 (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
7464 imposes an elaboration constraint between two packages.
7466 2005-02-09 Ed Schonberg <schonberg@adacore.com>
7468 * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
7469 views of a private type after handling its private dependents, to
7470 maintain proper stack discipline between entry and exit from the
7473 2005-02-09 Cyrille Comar <comar@adacore.com>
7475 * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
7478 2005-02-09 Arnaud Charlet <charlet@adacore.com>
7480 * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
7481 fields for foreign threads.
7483 2005-02-09 Doug Rupp <rupp@adacore.com>
7485 * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
7486 recursion warnings when compiled with -gnatdm.
7488 2005-02-09 Robert Dewar <dewar@adacore.com>
7490 * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
7491 Slight fix to documentation of -gnaty with no parameters
7493 * xr_tabls.ads: Add ??? comment for missing overall comment
7495 * xsinfo.adb: Make default file name be sinfo.h, since this is what
7496 we now use by default.
7498 * xsnames.adb: Adjust end of file test to look for five space followed
7499 by '#' instead of six spaces. The format of xsnames.adb was modified
7502 * a-numeri.ads: Add reference to AI-388 for greek letter pi
7505 * clean.adb: Minor reformatting.
7507 * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
7508 gnatname.adb: Minor reformatting
7509 Add 2005 to copyright output when utility is run
7511 * csets.adb: Eliminate obsolete comment
7513 * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
7516 * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
7518 2005-02-09 Sergey Rybin <rybin@adacore.com>
7520 * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
7521 the difference between compact and incompact layout and add the record
7522 representation clause to the example illustrating different layouts.
7523 Add the description of '-A5' gnatpp option ("align 'AT' keywords in
7524 component clauses").
7526 2005-02-09 Florian Villoing <villoing@adacore.com>
7528 * gnat_ugn.texi: Fix typos.
7529 Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
7531 Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
7532 in the generated documentation.
7534 2005-02-09 Arnaud Charlet <charlet@adacore.com>
7536 * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
7538 Update linker wrapper when linking with non GNU C++.
7540 2005-02-09 Pascal Obry <obry@adacore.com>
7543 Document the procedure to debug the DllMain routine on Windows.
7544 Add note about -funwind-tables and mixed Ada and C/C++ programming in
7546 Document new BIND qualifer /RETURN_CODES=VMS.
7548 2005-02-09 Ben Brosgol <brosgol@adacore.com>
7550 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
7551 Edited gnatmetric chapter
7553 2005-02-09 Robert Dewar <dewar@adacore.com>
7556 Changes to document new wide wide character support
7558 Update documentation on Normalize_Scalars and Initialize_Scalars
7560 2005-02-09 Pascal Obry <obry@adacore.com>
7562 * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
7564 2005-02-09 Jose Ruiz <ruiz@adacore.com>
7566 * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
7567 from the VxWorks kernel) that is needed for getting the active
7568 priority of the different tasks.
7570 * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
7571 Use a pragma Elaborate_Body in the spec file instead.
7572 Noticed by code reading.
7574 2005-02-09 Thomas Quinot <quinot@adacore.com>
7576 * exp_util.ads: Minor correction in comment.
7578 2005-02-09 Arnaud Charlet <charlet@adacore.com>
7580 * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
7581 since this procedure is now too complex to be worth inlining.
7583 2005-02-09 Richard Henderson <rth@redhat.com>
7585 * utils.c (gnat_define_builtin): Remove.
7586 (gnat_install_builtins): Use build_common_builtin_nodes.
7588 2005-02-09 Arnaud Charlet <charlet@adacore.com>
7590 * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
7591 a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
7592 a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
7593 a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
7594 a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
7595 a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
7596 a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
7597 a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
7598 a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
7599 a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
7600 a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
7601 a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
7602 a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
7603 a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
7604 a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
7605 a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
7606 a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
7607 a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
7608 a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
7609 a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
7610 a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
7611 a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
7612 a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
7613 a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
7614 a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
7615 a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
7616 a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
7617 a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
7618 a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
7619 a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
7620 a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
7621 a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
7622 a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
7623 a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
7626 2005-01-27 Laurent GUERBY <laurent@guerby.net>
7628 * Makefile.in: Fix a-intnam.ads from previous commit,
7629 add 2005 to copyright.
7630 * a-intman-rtems.ads: Renamed to...
7631 * a-intnam-rtems.ads:
7633 2005-01-27 Laurent GUERBY <laurent@guerby.net>
7635 * Makefile.in: Rename GNAT RTEMS specific files.
7636 * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
7637 5rosinte.ads, 5rparame.adb: Replaced by files below.
7638 * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
7639 s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
7641 2005-01-27 Joel Sherrill <joel.sherrill@oarcorp.com>
7642 Laurent GUERBY <laurent@guerby.net>
7645 * 5rosinte.ads: Add No_Key constant.
7646 * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
7647 * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
7649 2005-01-26 Laurent GUERBY <laurent@guerby.net>
7652 * i-cobol.adb (Valid_Numeric): Handle zero length case.
7654 2005-01-20 Richard Henderson <rth@redhat.com>
7656 * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
7657 a-intnam-linux.ads and system-linux-alpha.ads.
7658 * a-intnam-linux-alpha.ads: Remove file.
7659 * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
7660 * system-linux-alpha.ads: New file.
7662 2005-01-18 Jakub Jelinek <jakub@redhat.com>
7665 * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
7666 set to the new string.
7668 2005-01-18 Toon Moene <toon@moene.indiv.nluug.nl>
7670 * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
7673 2005-01-18 Richard Henderson <rth@redhat.com>
7675 * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
7676 THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
7678 * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
7680 2005-01-14 Andrew Pinski <pinskia@physics.uc.edu>
7682 * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
7683 (GCC_ZCX_Support): Likewise.
7685 2005-01-11 Bastian Blank <waldi@debian.org>
7687 * system-linux-s390.ads: Define Preallocated_Stacks.
7688 * system-linux-s390x.ads: Likewise.
7690 2005-01-04 Arnaud Charlet <charlet@adacore.com>
7692 * gnat_ugn.texi: Fix texi errors with null variables.
7694 2005-01-03 Thomas Quinot <quinot@adacore.com>
7696 * gen-soccon.c: New utility program to generate g-soccon.ads
7699 * socket.c, gsocket.h: Split inclusion of system header files into a
7700 gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
7702 * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
7703 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
7704 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
7705 g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
7706 should not be edited by hand anymore, but should be regenerated using
7709 2005-01-03 Robert Dewar <dewar@adacore.com>
7710 Ed Schonberg <schonberg@adacore.com>
7711 Vincent Celier <celier@adacore.com>
7713 * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
7714 on/off, since this is an obsolescent feature, for which we now generate
7717 * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
7718 warning mode is set and obsolescent usage of this attribute occurs.
7719 (Resolve_Access, case 'Access): Note that GNAT uses the context type to
7720 disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
7721 predates, and partly motivates, the adoption of the AI.
7722 Implement new Ada 2005 attribute Mod
7724 * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
7727 * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
7729 * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
7730 pragma restrictions.
7731 New entry for Ada 2005 attribute Mod.
7734 Add recognition of new pragma Restrictions No_Dependence
7735 Recognize restriction No_Obsolescent_Features at parse time
7737 * bcheck.adb: Add circuitry for checking for consistency of
7738 No_Dependence restrictions.
7740 * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
7743 * restrict.ads, restrict.adb: Add subprograms to deal with
7744 No_Dependence restrictions.
7746 * rtsfind.adb: Check that implicit with's do not violate No_Dependence
7749 * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
7750 sem_attr.adb: Add check for new restriction No_Obsolescent_Features
7752 * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
7753 dummy parameter to scng instantiation.
7754 Needed for new restriction No_Obsolescent_Features
7756 * scn.adb: (Obsolescent_Check): New procedure
7757 Needed for new restriction No_Obsolescent_Features
7759 * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
7760 specified by AI-285, needed for implementation of AI-388 (adding greek
7761 pi to Ada.Numerics).
7762 Add new generic formal to scng, needed for new restriction
7763 No_Obsolescent_Features.
7765 * s-rident.ads: Add new restriction No_Obsolescent_Features.
7767 * ali.ads, ali.adb: Adjustments for reading new No_Dependence
7769 (Scan_ALI): When finding an unexpected character on an R line, raise
7770 exception Bad_R_Line, instead of calling Fatal_Error, so that, when
7771 Ignore_Errors is True, default restrictions are set and scanning of the
7772 ALI file continues with the next line. Also, when Bad_R_Line is raised
7773 and Ignore_Errors is True, skip to the end of le line.
7775 * sem_ch10.adb: Check that explicit with's do not violate
7776 No_Dependence restrictions.
7777 (Install_Withed_Unit): Add code to implement AI-377 and diagnose
7778 illegal context clauses containing child units of instance.
7780 * sem_prag.adb: Processing and checking for new No_Dependence
7782 (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
7783 analyze and check the External argument.
7785 * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
7787 2005-01-03 Robert Dewar <dewar@adacore.com>
7789 * atree.adb: Add a fifth component to entities
7790 This allows us to add 32 flags and four new fields
7792 * atree.ads: Add a fifth component to entities
7793 This allows us to add 32 flags and four new fields
7795 * einfo.ads, einfo.adb: Document new fields and new flags now available
7796 Add routines for printing new fields
7798 * treepr.adb: Call routines to print out additional fields if present
7800 2005-01-03 Arnaud Charlet <charlet@adacore.com>
7802 * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
7803 gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
7805 * Makefile.in: Add support to build shared Ada libraries on solaris x86
7806 Remove gpr2make, replaced by gprmake.
7807 Remove references to gnatmem and libaddr2line.
7808 Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
7809 (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
7810 Add support for specialized version of Ada.Numerics.Aux for Darwin: use
7811 a-numaux-darwin.ads and a-numaux-darwin.adb
7812 Enable mlib-tgt-lynxos.adb on lynxos.
7814 * Make-lang.in: Remove rules for gpr2make.
7815 When generating sdefault.adb, do not call Relocate_Path
7816 on S3 for function Target_Name, as it is not a path.
7817 Remove references to gnatmem and libaddr2line.
7819 * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
7822 2005-01-03 Samuel Tardieu <tardieu@adacore.com>
7824 * checks.adb (Apply_Alignment_Check): Generate a warning if an object
7825 address is incompatible with its base type alignment constraints when
7826 this can be decided statically.
7828 2005-01-03 Olivier Hainque <hainque@adacore.com>
7830 * decl.c (compatible_signatures_p): New function. The intended purpose
7831 is to check if two function signatures for a call-site and a callee are
7832 compatible enough for the call to be valid. The underlying purpose is
7833 to check if a call to a mapped builtin is using the right interface.
7834 The current code actually does not check antyhing - this a placeholder
7835 for future refinements.
7836 (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
7837 builtin calls for convention Intrinsic.
7839 * gigi.h (builtin_decl_for): Declare (new function).
7841 * utils.c (gnat_install_builtins): Install the target specific builtins.
7842 (builtin_decl_for): New function, provide a dummy body for now.
7844 2005-01-03 Geert Bosch <bosch@adacore.com>
7846 * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
7847 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
7848 (Pred): Implement in terms of Succ.
7850 * trans.c (convert_with_check): Reimplement conversion of float to
7853 2005-01-03 Ed Schonberg <schonberg@adacore.com>
7854 Vincent Celier <celier@adacore.com>
7856 * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
7857 bounds can be negative, and must be declared Int, not Nat.
7859 * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
7860 array is checked after using the index in the array.
7862 * makegpr.adb (Add_Switches): Check if there is a package for the
7863 processor. If there is no package, do not look for switches.
7865 2005-01-03 Ed Schonberg <schonberg@adacore.com>
7867 * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
7868 generation of predefined stream operations (specs and bodies) should
7869 proceed. Under various restrictions these subprograms must not be
7872 2005-01-03 Thomas Quinot <quinot@adacore.com>
7875 Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
7876 amount of PCS-specific code in RACW stubs generation.
7877 (Copy_Specification): Set Etype on copied formal parameter entities, as
7878 this information is needed for PolyORB stubs generation.
7879 (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
7880 variable Dynamic_Async.
7881 (Build_Subprogram_Receiving_Stubs): Make PCS-specific
7882 (Build_RPC_Receiver_Specification): Make generic again, as recent
7883 changes have allowed RPC receivers to have the same profile for both
7884 variants of the PCS.
7885 Reorganise RPC receiver generation to reduce differences between the
7886 structure of GARLIC and PolyORB RPC receivers.
7887 (Add_Receiving_Stubs_To_Declarations): Make this subprogram
7889 Simplify elaboration code for RCI packages.
7891 * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
7892 generation to reduce differences between the structure of GARLIC and
7893 PolyORB RPC receivers.
7895 * s-stratt.adb: Fix typo in comment.
7897 2005-01-03 Thomas Quinot <quinot@adacore.com>
7899 * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
7900 copied from Make_Init_Call).
7902 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
7903 reads and assignments on a temporary variable declared with appropriate
7906 2005-01-03 Robert Dewar <dewar@adacore.com>
7908 * i-c.adb (To_C): Raise CE if string is null and Append_Null
7910 2005-01-03 Robert Dewar <dewar@adacore.com>
7912 * i-cstrin.adb (Update): Do not append a null in form called with a
7913 String. This avoids unintended behavior.
7915 2005-01-03 Arnaud Charlet <charlet@adacore.com>
7918 * init.c: Fix warnings on Free BSD section.
7920 2005-01-03 Arnaud Charlet <charlet@adacore.com>
7923 * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
7926 2005-01-03 Vincent Celier <celier@adacore.com>
7928 * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
7929 libraries when Unique_Compile is True (-u switch).
7932 2005-01-03 Robert Dewar <dewar@adacore.com>
7934 * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
7935 upper case letter or underscore after W, as allowed by spec.
7937 2005-01-03 Arnaud Charlet <charlet@adacore.com>
7939 * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
7940 darwin port by using proper type definitions from header files.
7941 Use SIGTERM instead of SIGABRT for SIGADAABORT.
7943 2005-01-03 Robert Dewar <dewar@adacore.com>
7945 * par.adb: Enhance error message handling for configuration file
7948 2005-01-03 Robert Dewar <dewar@adacore.com>
7950 * s-arit64.adb (Double_Divide): Put back changes that got accidentally
7951 removed during the previous update (test properly for case of dividing
7952 largest negative number by -1, which generates overflow).
7954 2005-01-03 Ed Schonberg <schonberg@adacore.com>
7955 Sergey Rybin <rybin@adacore.com>
7957 * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
7958 to use as the defining identifier for a formal package.
7959 (Remove_Parent): If the instance takes place within (an instance of)
7960 a sibling, preserve private declarations of common parent.
7962 2005-01-03 Ed Schonberg <schonberg@adacore.com>
7964 * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
7965 to determine whether one of the operands is a fixed-point type for
7966 which a user-defined multiplication or division operation might be
7969 * sem_res.adb (Valid_Conversion): The legality rules for conversions
7970 of access types are symmetric in Ada 2005: either designated type can
7973 2005-01-03 Vincent Celier <celier@adacore.com>
7975 * s-fileio.adb (Temp_File_Record): Change length of string component
7976 Name from L_tmpnam + 1 to max_path_len + 1.
7978 2005-01-03 Arnaud Charlet <charlet@adacore.com>
7980 * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
7981 Self_Id.Deferral_Level = 0.
7982 (Do_Pending_Action): Move this function to the spec.
7984 * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
7985 Do_Pending_Action explicitely when needed, in case we're using
7986 No_Abort restrictions.
7988 * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
7989 deferral level since it will not get changed by the generated code.
7990 Keeping a default value of 1 would prevent some operations (e.g.
7991 select or delay) to proceed successfully.
7993 2005-01-03 Ben Brosgol <brosgol@adacore.com>
7994 Robert Dewar <dewar@adacore.com>
7995 Cyrille Comar <comar@adacore.com>
7997 * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
7998 porting guide chapter (vms version).
7999 Revised doc title (removed "for native platforms") and subtitle.
8000 Add discussion on warning flag for obsolescent features. First we
8001 note that it applies to obsolete GNAT features, which was previously
8002 omitted. Second we contrast the behavior with that of the new
8003 Ada 2005 AI-368 restriction No_Obsolescent_Features.
8004 Preliminary rewriting of GNAT & libraries chapter in order to take
8005 into account default project locations & new project manager
8008 2005-01-03 Robert Dewar <dewar@adacore.com>
8010 * cstand.adb (Create_Operators): Clean up format and documentation of
8011 unary and binary operator result tables. No change in code, just
8012 reformatting and addition of comments.
8014 * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
8015 sem_ch2.adb: Minor reformatting
8017 * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
8018 sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
8019 comments for Tree_Read and Tree_Write.
8021 2005-01-03 Pascal Obry <obry@adacore.com>
8023 * exp_attr.ads: Minor reformatting.
8025 2005-01-03 Romain Berrendonner <berrendo@adacore.com>
8027 * comperr.adb (Compiler_Abort): Add specialized message for GAP
8030 2005-01-03 Ed Schonberg <schonberg@adacore.com>
8032 * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
8033 whether the ancestor type is private, as may be the case with nested
8036 2004-12-30 Sohail Somani <sohail@sohailsomani.com>
8039 * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
8041 2004-12-23 Eric Botcazou <ebotcazou@libertysurf.fr>
8043 * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
8044 * utils2.c (build_unary_op): Likewise.
8046 2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8048 * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
8050 2004-12-19 Richard Henderson <rth@redhat.com>
8052 * trans.c (gigi): Update gimplify_body call.
8054 2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
8056 * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
8058 2004-12-07 Ed Falis <falis@adacore.com>
8060 * s-intman-vxworks.adb (Notify_Exception): removed useless check for
8061 current task being suspended.
8063 * init.c (__gnat_clear_exception): added to reset VxWorks exception
8065 (__gnat_map_signal): removed test for current task being suspended.
8067 2004-12-07 Gary Dismukes <dismukes@adacore.com>
8069 * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
8070 from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
8071 targets (such as AAMP).
8073 2004-12-07 Ed Schonberg <schonberg@adacore.com>
8075 * atree.adb (Visit_Itype): Create a new name for the generated itype,
8076 because the back-end may otherwise treat it as a redefinition of the
8079 2004-12-07 Eric Botcazou <ebotcazou@adacore.com>
8081 * back_end.adb (Scan_Back_End_Switches): Accept --param.
8083 * lang-specs.h: Accept --param.
8085 2004-12-07 Vincent Celier <celier@adacore.com>
8087 * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
8088 package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
8089 Current_Body_Suffix => Ada_Body_Suffix).
8090 Take into account Externally_Built attribute.
8092 * clean.adb (In_Extension_Chain): Always return False when one of the
8093 parameter is No_Project.
8094 (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
8095 Ada_Language_Index).
8096 (Gnatclean): Adapt to change in package Prj.Pars (no parameter
8097 Process_Languages for procedure Parse).
8099 * gnatcmd.adb (Carg_Switches): New table.
8100 (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
8101 Adapt to name changes in package Prj (Current_Spec_Suffix =>
8102 Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
8104 * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
8105 Header_Num and function Hash are now declared in package Prj,
8108 * prj.adb (Suffix_Of): New function.
8109 (Set (Suffix)): New procedure.
8110 (Hash): One function moved from Prj.Com
8111 (Is_Present, Language_Processing_Data_Of): New functions
8112 (Set): Two new procedures
8113 (Add_Language_Name, Display_Language_Name): New procedures
8115 * prj.ads: (Suffix_Of): New function
8116 (Set (Suffix)): New procedure
8117 Add several types and tables for multi-language support.
8118 (Header_Num): Type moved from Prj.Com
8119 (Hash): Two functions moved from Prj.Com
8120 (Is_Present, Language_Processing_Data_Of): New functions
8121 (Set): Two new procedures
8122 (Add_Language_Name, Display_Language_Name): New procedures
8123 (Naming): Component name changes:
8124 Current_Spec_Suffix => Ada_Spec_Suffix,
8125 Current_Body_Suffix => Ada_Body_Suffix. Add new components:
8126 Impl_Suffixes, Supp_Suffixes.
8127 (Project_Data): New components: Externally_Built, Supp_Languages,
8128 First_Language_Processing, Supp_Language_Processing, Default_Linker,
8129 Default_Linker_Path.
8131 * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
8132 new package Language_Processing with its attributes (Compiler_Driver,
8133 Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
8134 Binder_Driver, Default_Linker).
8136 * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
8137 (Header_Num): Type moved to package Prj
8139 * prj-env.adb: Adapt to name changes in package Prj
8140 (Current_Spec_Suffix => Ada_Spec_Suffix,
8141 Current_Body_Suffix => Ada_Body_Suffix).
8143 * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
8144 default to the project path, except the "-" is one of the directories
8145 in env var ADA_PROJECT_PATH.
8146 (Current_Project_Path): Global variable, replacing Project_Path
8147 that was in the body of Prj.Part.
8148 (Project_Path): New function
8149 (Set_Project_Path): New procedure
8150 Initialize Current_Project_Path during elaboration of the package
8151 Remove dependency on Prj.Com, no longer needed
8153 * prj-ext.ads (Project_Path): New function
8154 (Set_Project_Path): New procedure
8156 * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
8157 suffix is defined for language <lang>.
8158 (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
8159 accessing directly the components of Naming.
8160 (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
8161 Reorganise of this package.
8162 Break procedure Check in several procedures.
8164 * prj-nmsc.ads: Replace all procedures (Ada_Check,
8165 Other_Languages_Check and Language_Independent_Check) with a single
8168 * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
8169 Process_Languages, no longer needed.
8171 * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
8172 Current_Project_Path.
8173 Remove elaboration code, moved to the body of Prj.Ext
8174 Use new function Prj.Ext.Project_Path instead of old variable
8176 (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
8177 When comparing with project paths on the stack, first put the resolved
8178 path in canonical case.
8179 (Parse_Single_Project): Set the path name of the project file in the
8180 tree to the normalized path.
8182 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
8183 parameter Process_Languages, no longer needed.
8184 (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
8185 Other_Languages_Check.
8187 * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
8188 to store the resolved canonical path of the project file.
8189 Remove dependency to Prj.Com, no longer needed
8191 * prj-util.adb: Adapt to name changes in package Prj
8192 (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
8195 * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
8196 Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
8197 Externally_Built, Include_Option, Language_Processing.
8199 * makegpr.adb: Numerous changes due to changes in packages
8202 * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
8203 default to the project path, except whe "-" is one of the directories
8204 in env var ADA_PROJECT_PATH.
8205 (Gnatls): In verbose mode, add the new section "Project Search Path:"
8207 2004-12-07 Robert Dewar <dewar@adacore.com>
8209 * debug.adb: Document that -gnatdA automatically sets -gnatR3m
8211 * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
8214 * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
8215 flag. No longer needed now that we handle this in gnat1drv.adb.
8217 * repinfo.ads: Minor reformatting
8219 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8220 Olivier Hainque <hainque@adacore.com>
8221 Eric Botcazou <ebotcazou@adacore.com>
8223 * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
8224 TYPE_SIZE_UNIT of result type if SIZE is not specified.
8225 (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
8226 of a bitfield, which we know is useless and causes trouble because of
8227 alignment implications.
8229 * utils.c (create_var_decl): Set DECL_COMMON again on targets without
8231 (process_attributes): Clear DECL_COMMON again when a section attribute
8233 (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
8234 SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
8235 (create_field_decl): Special case ADDRESSABLE negative to mean
8236 "no bitfield creation", to be used by make_aligning_type. Don't
8237 restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
8238 fields claimed addressable still have to be bitfields. Use
8239 value_factor_p instead of a raw binop construction to check for the
8240 position's alignment.
8242 2004-12-07 Geert Bosch <bosch@adacore.com>
8244 * eval_fat.adb: Revert previous change.
8246 2004-12-07 Thomas Quinot <quinot@adacore.com>
8247 Ed Schonberg <schonberg@adacore.com>
8249 * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
8250 with an implicit dereference as its prefix, use
8251 Insert_Explicit_Dereference instead of merely rewriting the prefix into
8252 an explicit dereference. This ensures that a reference to the original
8253 prefix is generated, if appropriate.
8255 * sem_util.adb (Insert_Explicit_Dereference): When an implicit
8256 dereference is rewritten to an explicit one, generate a reference to
8257 the entity denoted by its prefix using the original prefix node, so
8258 the dereference can be properly recorded as a read of the denoted
8259 access value, if appropriate.
8261 * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
8262 emitting 'assigned but never read' warning on a variable on the basis
8263 that it has an access type.
8264 (Check_References): Emit unreferenced warning when the scope is a
8267 2004-12-07 Robert Dewar <dewar@adacore.com>
8268 Ed Schonberg <schonberg@adacore.com>
8270 * exp_ch6.adb (Expand_Call): Add comment on handling of back end
8273 * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
8274 leaving call unchanged.
8275 This deals with the case where the pragma Import specified
8276 an external name, to be handled by the back end.
8278 * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
8279 subprogram which is Imported with convention Intrinsic if an
8280 External_Name argument is specified.
8281 (Process_Import_Or_Interface): Properly diagnose link name argument.
8282 (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
8283 with Sem_Ch6.Cannot_Inline.
8284 (Process_Inline): Provide separate warning for inapplicable inline
8286 (Cannot_Inline): Reject subprograms that have an at_end handler, so that
8287 treatment is uniform on different targets.
8289 2004-12-07 Ed Schonberg <schonberg@adacore.com>
8291 * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
8292 construct is rewritten, preserve end label to permit source navigation.
8294 2004-12-07 Thomas Quinot <quinot@adacore.com>
8296 * exp_dist.adb (Specific_Build_General_Calling_Stubs,
8297 Specific_Build_Stub_Target): New subprograms.
8298 (Build_Subprogram_Calling_Stubs): Make this procedure independent from
8299 the PCS implementation used, using the above PCS-customized subprograms.
8301 (PolyORB_Support.Helpers): New subunit containing supporting subprograms
8302 for generation of DSA code targeted to the PolyORB PCS.
8303 (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
8304 implementation of the partition communication subsystem in ancillary
8306 (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
8307 PolyORB_Support.Build_Stub_Type): New subrograms containing the
8308 PCS-specific part of Add_Stub_Type.
8309 (Insert_Partition_Check): Use runtime library function to perform
8312 * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
8313 (RE_Same_Partition): New entity, from s-parint.
8315 * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
8317 2004-12-07 Gary Dismukes <dismukes@adacore.com>
8319 * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
8320 Output the copyright message on a separate line from the version
8323 2004-12-07 Joel Brobecker <brobecker@adacore.com>
8325 * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
8326 compile-time warning.
8328 2004-12-07 Robert Dewar <dewar@adacore.com>
8330 * g-regpat.adb: (Match): Change a misuse of or to or else
8332 2004-12-07 Ed Schonberg <schonberg@adacore.com>
8335 (Generate_Reference): Handle properly a reference to an entry formal,
8336 when an accept statement has a pragma Unreferenced for it.
8338 * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
8339 and the Has_Pragma_Unreferenced flag for each formal before analyzing
8340 the body, to ensure that warnings are properly emitted for each accept
8341 statement of a given task entry.
8343 2004-12-07 Vasiliy Fofanov <fofanov@adacore.com>
8345 * Makefile.in: Add support for foreign threads on VMS.
8347 2004-12-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8349 * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
8351 (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
8353 * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
8355 * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
8357 (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
8359 2004-12-07 Robert Dewar <dewar@adacore.com>
8361 * nlists.adb (Prepend_Debug): Remove parameters and nest within
8363 (Remove_Next_Debug): Same fix
8365 * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
8366 maintain back pointers now, though we did not used to, and comments
8368 (Prepend): Remove pragma Inline.
8369 (Remove_Next): Same cleanup
8371 2004-12-07 Thomas Quinot <quinot@adacore.com>
8373 * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
8374 used to record an implicit dereference as a read operation on its
8375 prefix when operating under -gnatc. Necessary to avoid spurious
8376 'variable assigned but never read' warnings in that mode.
8377 (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
8378 is a non-overloaded implicit dereference, call the above subprogram to
8379 ensure proper recording of references.
8381 2004-12-07 Gary Dismukes <dismukes@adacore.com>
8383 * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
8384 to be resolved later as part of Analyze_Iteration_Scheme's call to
8387 2004-12-07 Ed Schonberg <schonberg@adacore.com>
8389 * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
8390 prefix is not a scalar type, place error message on prefix, not on
8393 2004-12-07 Bernard Banner <banner@adacore.com>
8395 * vxaddr2line.adb: Add support for x86 vxworks
8397 2004-12-07 Thomas Quinot <quinot@adacore.com>
8399 * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
8400 documentation of the behaviour of these functions when passed an IP
8401 address that has no record in the system hosts database and no reverse
8404 * cstand.adb, a-tags.ads: Fix typos in comment.
8406 2004-12-07 Robert Dewar <dewar@adacore.com>
8408 * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
8409 exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
8410 sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
8411 s-poosiz.ads: Minor reformatting
8413 * make.adb: Minor reformatting
8414 Add some ??? comments asking for more comments
8416 * s-poosiz.adb: Minor reformatting
8417 Add comments on alignment requirement
8419 * sinfo.ads: Remove obsolete comment and fix typo.
8421 2004-12-07 Vincent Celier <celier@adacore.com>
8422 Sergey Rybin <rybin@adacore.com>
8424 * gnat_ugn.texi: Update the section "The GNAT Driver and Project
8425 Files" with the new tool and package names.
8426 Reformatting to suppress most of the warnings for line too long
8427 Document the new section "Project Search Path:" in the output of
8429 Add gnatmetric section
8431 2004-12-07 Vincent Celier <celier@adacore.com>
8433 * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
8434 -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
8435 and -eit to -ept. Added qualifier
8436 /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
8438 2004-11-27 Andreas Schwab <schwab@suse.de>
8440 * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
8442 2004-11-25 Arnaud Charlet <charlet@adacore.com>
8444 * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
8445 internal implementation unit GNAT.Sockets.Thin,
8446 as their usage for sockets is non-portable (using the read and write
8447 functions from the system runtime library is fine on UNIX but won't
8448 work under Windows).
8450 * mingw32.h: Update copyright notice.
8452 2004-11-25 Arnaud Charlet <charlet@adacore.com>
8454 * ada-tree.h: Minor reformatting of previous change to avoid lines
8455 longer than 79 characters.
8457 2004-11-25 Olivier Hainque <hainque@adacore.com>
8459 * tb-gcc.c: GCC infrastructure based implementation of
8462 2004-11-24 Steven Bosscher <stevenb@suse.de>
8464 * misc.c (gnat_post_options): Don't clear
8465 flag_inline_functions.
8467 2004-11-22 Andrew Pinski <pinskia@physics.uc.edu>
8470 * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
8473 2004-11-21 Andreas Jaeger <aj@suse.de>
8475 * stylesw.adb: Change Style_Check_Subprogram_Order to
8476 Style_Check_Order_Subprograms.
8478 2004-11-18 Arnaud Charlet <charlet@adacore.com>
8480 * adaint.h, adaint.c
8481 (__gnat_portable_spawn): Fix cast of spawnvp third parameter
8483 Add also a cast to kill another warning.
8484 (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
8485 parameter with the priority class of the parent process instead of
8486 always using the NORMAL_PRIORITY_CLASS.
8487 (__gnat_dup): New function.
8488 (__gnat_dup2): New function.
8489 (__gnat_is_symbolic_link): Enable the effective body of this
8490 function when __APPLE__ is defined.
8492 * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
8495 2004-11-18 Olivier Hainque <hainque@adacore.com>
8497 * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
8498 address of which may be used to represent "others" and "all others"
8499 choices in exception tables, instead of the current harcoded
8500 (void *)0 and (void *)1.
8501 (Setup_Exception): Do nothing in the GNAT SJLJ case.
8503 * gigi.h (others_decl, all_others_decl): New decls representing the
8504 new Others_Value and All_Others_Value objects.
8505 (struct attrib): Rename "arg" component as "args", since GCC expects a
8506 list of arguments in there.
8508 * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
8509 corresponding objects exported by a-exexpr, instead of hardcoded dummy
8512 * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
8513 others_decl and all_others_decl instead of hardcoded dummy addresses
8514 to represent "others" and "all others" choices, which is cleaner and
8515 more flexible with respect to the possible eh pointer encoding policies.
8517 * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
8518 (process_attributes): Account for the naming change of the "args"
8519 attribute list entry component.
8521 * decl.c (build_attr_list): Rename into prepend_attributes to allow
8522 cumulating attributes for different entities into a single list.
8523 (gnat_to_gnu_entity): Use prepend_attributes to build the list of
8524 attributes for the current entity and propagate first subtype
8525 attributes to other subtypes.
8526 <E_Procedure>: Attribute arguments are attr->args and not
8528 (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
8529 argument provided, as this is what GCC expects. Use NULL_TREE instead
8532 2004-11-18 Robert Dewar <dewar@adacore.com>
8534 * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
8535 Minor reformatting througout (including new function specs)
8536 Add ??? comments asking for clarification.
8538 2004-11-18 Thomas Quinot <quinot@adacore.com>
8540 * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
8541 incomplete duplicate implementation of this subprogram from butil.
8543 2004-11-18 Thomas Quinot <quinot@adacore.com>
8545 * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
8546 procedures factors the common processing for building an RPC receiver
8547 for an RCI package or an RACW type.
8548 Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
8549 Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
8550 (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
8552 (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
8554 (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
8556 (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
8557 distribution subprogram identifiers that are either subprogram numbers
8559 (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
8560 string distribution identifiers assigned to a given subprogram.
8561 (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
8562 (Add_RAS_Dereference_TSS): Add comments.
8563 (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
8564 is not referenced yet because it will be used by the PolyORB DSA
8566 (Insert_Partition_Check): Remove fossile code.
8567 (First_RCI_Subprogram_Id): Document this constant.
8568 (Add_RAS_Access_TSS): Correct the setting of the Etype of the
8570 (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
8571 replaced with calls to Get_Library_Unit_Name_String. Previously there
8572 were several instances of the same code in different locations in the
8573 compiler; this checkin completes the replacement of all of these
8574 instances with calls to a common subprogram.
8577 * sem_dist.adb: Remove comment noting that RPC receiver generation
8578 should be disabled for RACWs that implement RASs.
8579 (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
8581 * sem_util.ads, sem_util.adb (Has_Stream): New function
8582 (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
8583 qualified name of a library unit into the name buffer.
8584 (Note_Possible_Modification): Generate a reference only
8585 if the context comes from source.
8587 * snames.ads (PCS_Names): New subtype corresponding to names of
8588 supported implementations of the Partition Communication Subsystem
8589 (PCS) (i.e. the runtime library support modules for the distributed
8592 2004-11-18 Robert Dewar <dewar@adacore.com>
8593 Ed Schonberg <schonberg@adacore.com>
8595 * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
8596 (Has_Rep_Pragma): New function
8597 (Has_Attribute_Definition_Clause): New function
8598 (Record_Rep_Pragma): Moved here from sem_ch13.adb
8599 (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
8601 * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
8603 * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
8604 (Expand_Pragma_Psect_Object): New procedure
8605 These procedures contain the revised and cleaned up processing for
8606 these two pragmas. This processing was formerly in Sem_Prag, but
8607 is more appropriately moved here. The cleanup involves making sure
8608 that the pragmas are properly attached to the tree, and that no
8609 nodes are improperly shared.
8611 * sem_prag.adb: Move expansion of Common_Object and Psect_Object
8612 pragmas to Exp_Prag, which is more appropriate.
8613 Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
8614 check for duplicates Remove use of Is_Psected flag, no longer needed.
8615 Use new Make_String_Literal function with string.
8617 * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
8618 that are functions return universal values, that have to be converted
8619 to the context type.
8620 Use new Make_String_Literal function with string.
8621 (Get_Stream_Convert_Pragma): New function, replaces the use of
8622 Get_Rep_Pragma, which had to be kludged to work in this case.
8624 * freeze.adb: Use new Has_Rep_Pragma function
8626 * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
8627 function with string.
8628 Use new Has_Rep_Pragma function.
8630 * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
8633 2004-11-18 Robert Dewar <dewar@adacore.com>
8635 * errout.ads, errout.adb: (First_Sloc): New function
8637 * par-ch5.adb (P_Condition): Check for redundant parens is now a style
8638 check (-gnatyx) instead of being included as a redundant construct
8641 * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
8642 Style_Check_Order_Subprograms.
8644 * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
8645 stylesw.adb: Add Style_Check_Xtra_Parens
8647 * usage.adb: Add line for -gnatyx (check extra parens)
8649 * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
8651 2004-11-18 Ed Schonberg <schonberg@adacore.com>
8652 Robert Dewar <dewar@adacore.com>
8654 * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
8655 discriminant of a constrained subtype, analyze the copy of the
8656 corresponding constraint, because in some cases it may be only
8658 Removes long-lived ??? comments.
8660 * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
8661 handled controlled or secondary-stack expressions within the
8662 iteration_scheme of a loop.
8664 * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
8665 bounds that may contain functions calls, to prevent memory leaks when
8666 the bound contains a call to a function that uses the secondary stack.
8667 (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
8668 generate temporaries for loop bounds that might contain function calls
8669 that require secondary stack and/or finalization actions.
8671 * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
8672 selected component and the selector is overloadable (not just a
8673 function) treat as function call, Analyze_Call will disambiguate if
8675 (Analyze_Selected_Component): Do not generate an actual subtype for the
8676 selected component if expansion is disabled. The actual subtype is only
8677 needed for constraint checks.
8678 (Analyze_Allocator): If restriction No_Streams is set, then do
8679 not permit objects to be declared of a stream type, or of a
8680 composite type containing a stream.
8682 * restrict.ads: Remove the a-stream entry from Unit_Array, since
8683 No_Streams no longer prohibits with'ing this package.
8685 * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
8686 discriminants, but the parent base has unknown discriminants, there is
8687 no discriminant constraint to inherit. Such a discrepancy can arise
8688 when the actual for a formal type with unknown discriminants is a
8689 similar private type whose full view has discriminants.
8690 (Analyze_Object_Declaration): If restriction No_Streams is set, then
8691 do not permit objects to be declared of a stream type, or of a
8692 composite type containing a stream.
8694 2004-11-18 Ed Schonberg <schonberg@adacore.com>
8696 * exp_dbug.ads: Update documentation to reflect simpler encoding for
8697 protected operations.
8699 * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
8700 generated name, it complicates decoding in gdb and hinders debugging
8701 of protected operations.
8702 (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
8703 flag for the protected entry barrier function.
8704 (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
8705 flag for the protected entry function.
8707 2004-11-18 Nicolas Setton <setton@adacore.com>
8709 * expect.c: Define __unix__ when __APPLE__ is defined.
8711 * Makefile.in: Inform the value of the variable GMEM_LIB in the
8712 Darwin-specific section.
8714 * lang-specs.h: Change the placement of the %1 marker.
8715 Works around the fact that gcc adds -fPIC by default under Darwin.
8717 2004-11-18 Ed Schonberg <schonberg@adacore.com>
8719 * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
8720 type of the object with the packed array type, set the Analyzed flag
8721 on the object if it is an entity or simple indexed component, to avoid
8722 spurious type errors.
8724 2004-11-18 Gary Dismukes <dismukes@adacore.com>
8726 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
8727 gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
8728 separate line from the version message.
8730 2004-11-18 Ed Falis <falis@adacore.com>
8732 * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
8734 (init_float): Eliminate initialization of floating point status for
8735 AE653. The instructions have no effect for vThreads.
8737 2004-11-18 Vincent Celier <celier@adacore.com>
8739 * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
8740 gnatbind is invoked with -shared.
8742 2004-11-18 Jose Ruiz <ruiz@adacore.com>
8744 * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
8745 for Detect_Blocking which is redundant with the check done within the
8746 procedure Protected_Single_Entry_Call.
8747 (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
8748 Detect_Blocking which is redundant with the check done within the
8749 procedure Protected_Single_Entry_Call.
8751 2004-11-18 Vincent Celier <celier@adacore.com>
8753 * makegpr.adb (Compile): Put the compiling switches (in package
8754 Compiler and on the command line) immediately after "-c", instead of
8755 at the end of the command line invocation of the compiler, when
8756 compiling a non-Ada file.
8757 (Build_Global_Archive): When there is no need to rebuild the archive,
8758 set Global_Archive_Exists, so that the archive is passed to the linker
8761 2004-11-18 Robert Dewar <dewar@adacore.com>
8762 Sergey Rybin <rybin@adacore.com>
8765 Remove extra paren check from list of checks for redundant constructs
8766 Add documentation of new -gnatyx style check (check extra parens)
8767 Remove paragraph about gnatelim debug options.
8769 * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
8770 objects rather than forbidding dependencies on the package Ada.Streams.
8772 * sinfo.ads: Add ??? note that we should document pragmas passed to
8775 * g-expect.ads: Fix a few typos in the comments.
8777 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
8779 * misc.c (gnat_handle_option): Use %< and %> for quoting in
8782 2004-11-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8784 * a-numaux-x86.adb (Tan): Fix fdivp syntax.
8786 2004-11-07 Andreas Schwab <schwab@suse.de>
8788 * Makefile.in (install-gnatlib): Remove spurious hyphen.
8790 2004-11-02 Andrew Pinski <pinskia@physics.uc.edu>
8793 * Makefile.in (darwin): Set soext to .dylib.
8795 2004-10-26 Vincent Celier <celier@gnat.com>
8796 Thomas Quinot <quinot@act-europe.fr>
8798 * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
8799 (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
8800 there is no use of GNAT.Sockets.Constants.
8801 Remove remaining pragma Import for C_Write
8802 Remove C_Read and C_Write from internal implementation unit
8803 GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
8804 the read and write functions from the system runtime library is fine
8805 on UNIX but won't work under Windows).
8807 * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
8808 (Check_Selector): Use C_Recv instead of C_Read.
8809 Selectors are the GNAT.Sockets abstraction to perform a select()
8810 call on a set of descriptors. To allow abortion of an ongoing
8811 select operation, some data is written to a dedicated socket that
8812 is always monitored.
8813 Under Windows, the write and read library functions cannot operate
8814 on sockets, so we need to use send and recv instead, which is portable
8815 across all supported platforms.
8817 * g-socthi.ads: Remove C_Read and C_Write from internal implementation
8818 unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
8819 (using the read and write functions from the system runtime library is
8820 fine on UNIX but won't work under Windows).
8822 2004-10-26 Nicolas Setton <setton@act-europe.fr>
8824 * mlib-tgt-darwin.adb: New file.
8826 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
8827 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
8828 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
8829 mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New
8832 * Makefile.in: Add support for building shared libraries under Darwin.
8833 (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
8834 the low level EH init subprogram to be called from __gnat_initialize.
8836 * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
8837 indicates which options to pass to the archive indexer.
8839 * mlib-utl.adb: Add support for calling ranlib with additional
8840 options. This is needed for instance under Mac OS X.
8841 (Ranlib_Options): New global variable, used to store the potential
8842 options to pass to ranlib.
8843 (Ar): Use Ranlib_Options when spawning ranlib.
8844 (Initialize): Set the value of ranlib option.
8846 2004-10-26 Olivier Hainque <hainque@act-europe.fr>
8848 * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
8849 instead of 8K, to reflect the real potential needs for stack-checking
8852 2004-10-26 Pascal Obry <obry@gnat.com>
8854 * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
8856 * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
8857 Windows only the initial thread stack size can be set so it is good to
8858 start we a low stack size.
8859 The OS will adjust the size as needed.
8861 2004-10-26 Olivier Hainque <hainque@act-europe.fr>
8862 Nicolas Setton <setton@act-europe.fr>
8864 * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
8865 "__unix__" instead of "unix".
8866 The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
8867 sections were just mistakenly ignored. The former is
8868 implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
8869 Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
8870 of hpux. This prevents an unwanted definition of the symbol
8871 convert_addresses in adaint.o.
8873 2004-10-26 Gary Dismukes <dismukes@gnat.com>
8875 * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
8876 compatibility with type Unwind_Word on 16-bit targets such as AAMP.
8878 2004-10-26 Cyrille Comar <comar@act-europe.fr>
8880 * a-filico.ads, a-filico.adb: fix incorrect header.
8882 2004-10-26 Javier Miranda <miranda@gnat.com>
8884 * a-ststio.ads: Fix typo in identifier
8886 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
8888 * sem_ch4.adb: Minor reformatting.
8890 2004-10-26 Ed Schonberg <schonberg@gnat.com>
8892 * checks.adb (Expr_Known_Valid): If floating-point validity checks are
8893 enabled, check the result of unary and binary operations when the
8894 expression is the right-hand side of an assignment.
8896 2004-10-26 Vincent Celier <celier@gnat.com>
8898 * clean.adb (Delete): Do not output warnings when in quiet output and
8899 not in verbose mode.
8900 (Force_Deletions): New Boolean flag, defaulted to False
8901 (Delete): Only delete a file if it is writable, and when
8902 Force_Deletions is True.
8903 (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
8904 (Usage): Line for new switch -f
8905 (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
8908 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
8910 * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
8911 JM type only if its size matches that of the wrapper. When a size is
8912 prescribed and the field is not aliased, remove the wrapper of a JM
8913 type only if the size is not greater than that of the packed array.
8914 (gnat_to_gnu_entity): Change the extension of packed array wrappers
8917 2004-10-26 Geert Bosch <bosch@gnat.com>
8919 * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
8920 (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
8921 (Pred): Implement in terms of Succ.
8923 2004-10-26 Ed Schonberg <schonberg@gnat.com>
8925 * exp_aggr.adb (Safe_Component): An aggregate component that is an
8926 unchecked conversion is safe for in-place use if the expression of the
8928 (Expand_Array_Aggregate): An aggregate that initializes an allocator may
8929 be expandable in place even if the aggregate does not come from source.
8930 (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
8931 designated object of an allocator in place, rather than building it
8932 first on the stack. The previous scheme forces a full copy of the array,
8933 and may be altogether unsusable if the size of the array is too large
8934 for stack allocation.
8936 2004-10-26 Robert Dewar <dewar@gnat.com>
8938 * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
8939 compares if the component is atomic.
8941 * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
8942 array assignment if the component type is atomic.
8944 2004-10-26 Ed Schonberg <schonberg@gnat.com>
8945 Eric Botcazou <ebotcazou@act-europe.fr>
8947 * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
8948 is aliased and is a by_reference type, do not pass by copy.
8949 (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
8950 detect whether the call is in the right side of an assignment or
8951 the expression of an object declaration. Recurse on component
8952 association within aggregates.
8953 Call it in the condition that determines whether the temporary is
8954 necessary for correct stack-checking.
8956 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
8958 * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
8959 RACW_Type, used in the PolyORB version.
8960 Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
8961 version and the GARLIC version.
8963 * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
8964 Rename RCI_Info to RCI_Locator for better consistency between the
8965 GARLIC and PolyORB versions of the distributed systems annex.
8966 (DSA_Implementation_Name): This enumeration lists the possible
8967 implementations of the Partition Communication Subsystem for the
8968 Distributed Systems Annex (DSA). The three available implementations
8969 are the dummy stub implementation (No_DSA), and two versions based on
8970 two different distribution runtime libraries: GARLIC and PolyORB. Both
8971 the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
8973 Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
8976 * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
8977 between the GARLIC and PolyORB versions of the distributed systems
8979 Remove RE_Unbounded_Reclaim_Pool since it is unused.
8981 2004-10-26 Gary Dismukes <dismukes@gnat.com>
8983 * gnat1drv.adb: Suppress calling the back end when
8984 Frontend_Layout_On_Target is true.
8986 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
8988 * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
8989 Set_Read_Only): New subprograms.
8990 These new routines allow the user to set or unset the Owner execute
8991 and Owner write permission flags on a file.
8993 * makegpr.adb, mlib.adb, mlib-prj.adb: Use
8994 GNAT.OS_Lib.Set_Executable instead of rolling our own.
8996 2004-10-26 Matthew Gingell <gingell@gnat.com>
8998 * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
9000 2004-10-26 Pascal Obry <obry@gnat.com>
9002 * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
9003 memory before the faulting page we properly test the process read
9004 access for this address using appropriate Win32 routine.
9005 (HPUX sections): guard with "__hpux__" instead of "hpux".
9007 2004-10-26 Robert Dewar <dewar@gnat.com>
9009 * lib-xref.adb (Generate_Reference): Don't complain about reference to
9010 entry parameter if pragma Unreferenced set, since we do not properly
9011 handle the case of multiple parameters.
9013 2004-10-26 Vincent Celier <celier@gnat.com>
9015 * prj-env.adb: (Contains_ALI_Files): New Boolean function
9016 (Ada_Objects_Path.Add): For a library project, add to the object path
9017 the library directory only if there is no object directory or if the
9018 library directory contains ALI files.
9019 (Set_Ada_Paths.Add.Recursive_Add): Ditto
9021 2004-10-26 Vincent Celier <celier@gnat.com>
9023 * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
9024 extension of library projects.
9026 * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
9027 path defaults to ".:<prefix>/lib/gnat".
9028 (Parse): For an extending all project, allow direct import of a project
9029 that is virtually extended.
9031 * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
9032 the specified name is directly imported, return its ID. Otherwise, if
9033 an extension of this project is imported, return the ID of the
9036 2004-10-26 Robert Dewar <dewar@gnat.com>
9038 * s-arit64.adb: (Le3): New function, used by Scaled_Divide
9039 (Sub3): New procedure, used by Scaled_Divide
9040 (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
9041 correct more than one instance of failure to propagate carries
9043 (Double_Divide): Handle overflow case of largest negative number
9044 divided by minus one.
9046 * s-arit64.ads (Double_Divide): Document that overflow can occur in
9047 the case of a quotient value out of range.
9050 2004-10-26 Robert Dewar <dewar@gnat.com>
9052 * s-bitops.adb (Bit_Eq): Remove redundant check.
9054 * s-bitops.ads: Minor comment updates
9055 Change some occurrences of Address to System.Address
9057 * s-carsi8.ads: Fix minor cut-and-paste error in comments
9059 2004-10-26 Ed Schonberg <schonberg@gnat.com>
9061 * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
9062 accessibility check to prefix that is a protected operation.
9064 2004-10-26 Ed Schonberg <schonberg@gnat.com>
9066 * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
9067 empty, post message on stub.
9069 2004-10-26 Ed Schonberg <schonberg@gnat.com>
9070 Javier Miranda <miranda@gnat.com>
9072 * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
9073 current instance appears within a unit that is directly in the context
9075 Used to determine whether the body of the instance should be analyzed
9076 immediately after its spec, to make its subprogram bodies available
9077 for front-end inlining.
9078 (Analyze_Formal_Array_Type): Cleanup condition that checks that range
9079 constraint is not allowed on the component type (AARM 12.5.3(3))
9081 2004-10-26 Cyrille Comar <comar@act-europe.fr>
9083 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
9084 'Storage_Pool): enhance, document & limit detection of non-sharable
9087 * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
9089 * s-pooglo.ads: Add more documentation now that this pool is properly
9092 2004-10-26 Ed Schonberg <schonberg@gnat.com>
9094 * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
9095 or protected type with discriminants, do not constrain the
9096 corresponding record type if the subtype declaration has no
9097 discriminant constraints. This can be the case in source code, or in
9098 the subtype declaration created to rename an actual type within an
9101 2004-10-26 Ed Schonberg <schonberg@gnat.com>
9103 * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
9104 different kind of stub (possibly wrong name for file), do not check
9106 (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
9107 includes call to some function that returns an unconstrained type, do
9110 2004-10-26 Ed Schonberg <schonberg@gnat.com>
9112 * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
9113 appear in the code for the main unit. Dependencies among units in the
9114 context of the main unit are established when those other units are
9115 compiled. Otherwise spurious elaboration constraints can generate
9116 incorrect elaboration circularities.
9118 2004-10-26 Thomas Quinot <quinot@act-europe.fr>
9119 Ed Schonberg <schonberg@gnat.com>
9121 * sem_util.adb (Is_Aliased_View): Defend against the case where this
9122 subprogram is called with a parameter that is not an object name. This
9123 situation arises for some cases of illegal code, which is diagnosed
9124 later, and in this case it is wrong to call Is_Aliased, as that might
9125 cause a compiler crash.
9126 (Explain_Limited_Type): Refine previous fix to include
9127 inherited components of derived types, to provide complete information.
9129 * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
9130 is the prival for a protected object.
9131 It is necessary to mark this entity as a variable, in addition to
9132 flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
9133 modified to avoid checking the Aliased flag on entities that are not
9134 objects. (Checking that flag for non-objects is erroneous and could
9135 lead to a compiler crash).
9137 2004-10-26 Robert Dewar <dewar@gnat.com>
9139 * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
9140 X_Frac = 0.5, then we know that the number X must be positive.
9141 (Succ): Remove the same redundant test, and also fix the primary test
9142 to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
9144 (Decompose): Add fuller comments to spec
9146 2004-10-26 Pascal Obry <obry@gnat.com>
9148 * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
9149 validity (process must have read access). Set to 0 in all other cases.
9150 (STOP_FRAME): Now check for ptr validity to avoid a segmentation
9152 (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
9153 segmentation violation.
9155 2004-10-26 Eric Botcazou <ebotcazou@act-europe.fr>
9157 * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
9158 whose type is a constructed subtype of an aliased object with an
9159 unconstrained nominal subtype, convert the actual to the constructed
9160 subtype before taking its address.
9162 2004-10-26 Vincent Celier <celier@gnat.com>
9164 * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
9165 (Is_Path_Name_Case_Sensitive): New function
9167 * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
9168 (Base_Name, Simple_Name, Current_Directory, Compose,
9169 Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
9172 2004-10-26 Cyrille Comar <comar@act-europe.fr>
9173 Vasiliy Fofanov <fofanov@act-europe.fr>
9174 Vincent Celier <celier@gnat.com>
9176 * gnat_ugn.texi: Generalize "finding memory problems" section into a
9177 "memory management issues" section and document some of the useful
9178 memory pools provided as part of the GNAT library.
9179 Remove "virtual" from declaration of A::method2 in
9180 the simple example of Ada/C++ mixed system.
9181 Library Projects may be virtually extended: their virtual extensions
9182 are not Library Projects.
9183 Added section on extending project hierarchies.
9185 2004-10-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
9187 * adaint.c (__gnat_get_libraries_from_registry): Cast value
9189 (__gnat_portable_spawn): Remove const.
9191 * mingw32.h (MAXPATHLEN): Check for previous definition.
9193 2004-10-17 Matthias Klose <doko@debian.org>
9195 * gnatvsn.ads: Set gnat library version to 4.0.
9197 2004-10-05 Vincent Celier <celier@gnat.com>
9199 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
9201 2004-10-04 Laurent GUERBY <laurent@guerby.net>
9204 * Makefile.in: Define and use RANLIB_FLAGS.
9206 2004-10-04 Pascal Obry <obry@gnat.com>
9208 * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
9209 other x86 platforms).
9211 2004-10-04 Olivier Hainque <hainque@act-europe.fr>
9213 * s-tassta.adb (Task_Wrapper): Make it Convention C, which makes sense
9214 in general and triggers stack alignment adjustment for thread entry
9215 points on targets where this is necessary.
9217 2004-10-04 Bernard Banner <banner@gnat.com>
9221 * Makefile.in: Add section for powerpc linux
9222 Add variant i-vxwork-x86.ads
9224 * i-vxwork-x86.ads, system-linux-ppc.ads: New files.
9226 2004-10-04 Olivier Hainque <hainque@act-europe.fr>
9228 * init.c (__gnat_initialize): Call an Ada subprogram to perform the
9229 table registration calls when need be. Ensures no reference to the crt
9230 ctors symbol are issued in the SJLJ case, which avoids possible
9231 undefined symbol errors in the case of modules to be statically linked
9234 2004-10-04 Javier Miranda <miranda@gnat.com>
9236 * sem_ch4.adb (Try_Object_Operation): Reformat the code to expand
9237 in-line the code corresponding to subprogram Analyze_Actuals. In
9238 addition, analyze the actuals only in case of subprogram call.
9240 2004-10-04 Ed Falis <falis@gnat.com>
9242 * s-vxwork-x86.ads: (FP_CONTEXT): Defined to be correct size
9244 2004-10-04 Sergey Rybin <rybin@act-europe.fr>
9246 * g-dirope.ads (Base_Name): Clarify the meaning of the Suffix parameter
9247 in the documentation.
9249 2004-10-04 Robert Dewar <dewar@gnat.com>
9251 * sem_ch5.adb (Unblocked_Exit_Count): Now used for blocks as well as
9253 (Analyze_Block_Statement): Add circuitry to detect following dead code
9254 (Check_Unreachable_Code): Handle case of block exit
9256 2004-10-04 Robert Dewar <dewar@gnat.com>
9258 * g-spipat.adb: (XMatch): Avoid warning for Logic_Error call
9259 (XMatchD): Avoid warning for Logic_Error call
9261 2004-10-04 Robert Dewar <dewar@gnat.com>
9263 * exp_ch4.adb (Is_Procedure_Actual): Correct so that this does not
9264 consider expressions buried within a procedure actual to be an actual.
9265 This caused some blowups with uses of packed slices within a procedure
9268 2004-10-04 Robert Dewar <dewar@gnat.com>
9270 * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no
9271 longer need to be initialized to zero.
9272 (Get_Simple_Init_Val): Modular packed arrays no longer need to be
9273 initialized to zero.
9275 * checks.adb (Expr_Known_Valid): Packed arrays are now always
9276 considered valid, even if the representation is modular. That's correct
9277 now that we no longer initialize packed modular arrays to zero.
9279 * exp_dbug.ads: Clarify documentation on handling of PAD and JM
9280 suffixes. These are now documented as the only cases in which the
9281 debugger ignores outer records.
9282 Previously, the spec allowed arbitrary suffixes for this purpose.
9283 Change name of LJM to JM for packed array pad records
9284 Create separate section on packed array handling, and add a whole new
9285 set of comments to this section describing the situation with packed
9286 modular types and justification requirements depending on endianness.
9288 2004-10-04 Robert Dewar <dewar@gnat.com>
9290 * a-except.adb: Add a comment for last change
9292 * einfo.ads: Minor spelling correction in comment
9294 * exp_pakd.adb, gnatdll.adb, prj-attr.ads: Minor reformatting
9296 * sem_ch11.adb: Fix a case of using | instead of \ for continuation
9299 * sem_util.ads: Minor comment update
9301 2004-10-04 Ed Schonberg <schonberg@gnat.com>
9303 * sem_ch6.adb (Analyze_Subprogram_Body): Do not treat Inline as
9304 Inline_Always when in Configurable_Run_Time mode.
9306 * sem_prag.adb (Process_Convention): If entity is an inherited
9307 subprogram, apply convention to parent subprogram if in same scope.
9308 (Analyze_Pragma, case Inline): Do not treat Inline as Inline_Always
9309 when in Configurable_Run_Time mode.
9311 2004-10-04 Ed Schonberg <schonberg@gnat.com>
9313 * sem_ch3.adb (Build_Derived_Record_Type): Set First/Last entity of
9314 class_wide type after component list has been inherited.
9316 2004-10-04 Ed Schonberg <schonberg@gnat.com>
9318 * sem_ch12.adb (Check_Generic_Actuals): New predicate
9319 Denotes_Previous_Actual, to handle properly the case of a private
9320 actual that is also the component type of a subsequent array actual.
9321 The visibility status of the first actual is not affected when the
9322 second is installed.
9323 (Process_Nested_Formal): Subsidiary of Instantiate_Formal_Package, to
9324 make fully recursive the treatment of formals of packages declared
9326 (Restore_Nested_Formal): Subsidiary of Restore_Private_Views, to undo
9327 the above on exit from an instantiation.
9328 (Denotes_Formal_Package): When called from Restore_Private_Views, ignore
9329 current instantiation which is now complete.
9330 (Analyze_Package_Instantiation): No instantiated body is needed if the
9331 main unit is generic. Efficient, and avoid anomalies when a instance
9332 appears in a package accessed through rtsfind.
9334 2004-10-04 Ed Schonberg <schonberg@gnat.com>
9336 * exp_ch6.adb (Expand_N_Function_Call): If stack checking is enabled,
9337 do not generate a declaration for a temporary if the call is part of a
9338 library-level instantiation.
9340 2004-10-04 Ed Schonberg <schonberg@gnat.com>
9342 * sem_util.adb (Explain_Limited_Type): Ignore internal components when
9343 searching for a limited component to flag.
9345 * exp_attr.adb (Freeze_Stream_Subprogram): Subsidiary procedure to
9346 expansion of Input, to account for the fact that the implicit call
9347 generated by the attribute reference must freeze the user-defined
9348 stream subprogram. This is only relevant to 'Input, because it can
9349 appear in an object declaration, prior to the body of the subprogram.
9351 * sem_ch13.adb (Rep_Item_Too_Late): Make the error non-serious, so that
9352 expansion can proceed and further errors uncovered.
9353 (Minor clean up): Fix cases of using | instead of \ for continuation
9356 2004-10-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9358 * cuintp.c, decl.c, utils2.c: Use gcc_assert and gcc_unreachable.
9360 * trans.c (assoc_to_constructor): Fix unused var warning if no checking.
9361 (gnat_gimplify_expr, case ADDR_EXPR): Fix error in last change.
9362 Use gcc_assert and gcc_unreachable.
9364 * decl.c (gnat_to_gnu_entity, case object): Check and process a
9365 specified alignment before validating size.
9366 (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Create a
9367 stripped-down declaration for the type of the inner field when making
9370 * utils.c (finish_record_type): Do not compute the size in units
9371 incrementally. Instead compute it once for the rep clause case.
9372 Use gcc_assert and gcc_unreachable.
9374 2004-10-04 Vincent Celier <celier@gnat.com>
9376 * a-dirval-mingw.adb (Invalid_Character): Add '\' as invalid character
9378 (Is_Valid_Path_Name): Take '/' as a directory separator.
9380 2004-10-04 Vincent Celier <celier@gnat.com>
9382 * prj-part.adb (Parse_Single_Project): Call Is_Extending_All
9383 (Extended_Project) only if Extended_Project is defined, to avoid
9385 (Post_Parse_Context_Clause): Always call Set_Path_Name_Of with a
9387 (Parse_Single_Project): Ditto.
9389 * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not call
9390 Add_To_Project_Path for virtual projects.
9392 2004-10-04 Vincent Celier <celier@gnat.com>
9394 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
9395 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
9396 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
9397 mlib-tgt-vxworks.adb, mlib-tgt.adb (Build_Dynamic_Library): New
9398 parameter Options_2.
9400 * mlib-prj.ads, mlib-prj.adb (Build_Library): Call
9401 Build_Dynamic_Library with an empty Options_2.
9403 * mlib-utl.ads, mlib-utl.adb (Gcc): Parameter Options_2 has no
9406 * makegpr.adb (Get_Imported_Directories.add): Remove trailing
9407 directory separator, if any.
9408 (Gprmake): Do not allow mains on the command line for library projects.
9409 Do not attempt to link when the project is a library project.
9410 (Library_Opts): New table to store Library_Options.
9411 (Build_Library): If Library_Options is specified, pass these options
9412 when building a shared library.
9414 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
9416 * s-tposen.adb (Service_Entry): The object must be always unlocked at
9417 the end of this procedure now that the unlock operation was inserted
9420 2004-10-04 Jose Ruiz <ruiz@act-europe.fr>
9422 * targparm.ads, targparm.adb (Targparm_Tags): Add PAS value
9423 corresponding to the Preallocated_Stacks flags in System.
9424 (Get_Target_Parameters): Including the processing for
9425 Preallocated_Stacks.
9427 * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
9428 system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
9429 system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
9430 system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
9431 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
9432 system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
9433 system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
9434 system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
9435 system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
9436 system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
9437 system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
9438 used to signal whether the compiler creates the required stacks and
9439 descriptors for the different tasks (when True) or it is done by the
9440 underlying operating system at run time (when False).
9441 It is initially set to False in all targets.
9443 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Create the task stack
9444 if it is supported by the target.
9445 (Make_Task_Create_Call): Pass the stack address if it has been
9446 previously created. Otherwise pass a Null_Address.
9448 * snames.adb: Add _stack.
9450 * snames.ads: Add Name_uStack. Required to allow the expander to
9451 statically allocated task stacks.
9453 * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add
9454 Stack_Address argument.
9455 Check that its value is equal to Null_Address because this target does
9456 not support the static stack allocation.
9458 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
9460 * usage.adb: Change "pragma inline" to "pragma Inline" in information
9463 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
9465 * exp_dist.adb: Split declaration of asynchronous flag out of
9466 Add_RACW_Read_Attribute.
9467 Minor reformatting for better alignment with PolyORB version.
9468 Store the entity for the asynchronous flag of an RACW, rather than the
9469 expression, in the asynchronous flags table. This will allow this flag
9470 to be used in other subprograms beside Add_RACW_Read_Attribute.
9472 2004-10-04 Thomas Quinot <quinot@act-europe.fr>
9474 * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
9475 g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
9476 g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
9477 g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
9478 g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads: Add new
9479 sockets constant MSG_NOSIGNAL (Linux-specific).
9480 Add new sockets constant MSG_Forced_Flags, list of flags to be set on
9481 all Send operations.
9482 For Linux, set MSG_NOSIGNAL on all send operations to prevent them
9483 from trigerring SIGPIPE.
9484 Rename components to avoid clash with Ada 2005 possible reserved
9486 (Check_Selector): When the select system call returns with an error
9487 condition, propagate Socket_Error to the caller.
9489 2004-10-01 Jan Hubicka <jh@suse.cz>
9491 * misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.
9493 2004-09-23 Robert Dewar <dewar@gnat.com>
9497 * sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
9498 instead do this at freeze time (we won't do it if there is an address
9500 Change "pragma inline" to "pragma Inline" in information and error
9504 * freeze.adb (Check_Address_Clause): Remove previous change, not the
9505 right way of doing things after all.
9506 (Freeze_Entity): For object, set Is_Public for imported entities
9507 unless there is an address clause present.
9509 2004-09-21 Olivier Hainque <hainque@act-europe.fr>
9511 * decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
9512 dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
9513 ensures proper handling of types with rep clauses, which might have
9514 their TYPE_SIZE set already.
9516 2004-09-21 Robert Dewar <dewar@gnat.com>
9518 * decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
9519 packed array types in both little- and big-endian cases. This change
9520 ensures that we no longer count on the unused bits being initialized
9521 for such types (and in particular ensures that equality testing will
9522 only read the relevant bits).
9523 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
9524 These changes mean that we no longer need to initialize small packed
9526 (gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
9527 optimization to an LJM field as to its parent field.
9529 * ada-tree.h, trans.c, utils.c, utils2.c:
9530 Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
9532 2004-09-20 Jan Hubicka <jh@suse.cz>
9534 * utils.c (gnat_finalize): Remove.
9535 (end_subprog_body): Directly call cgraph_finalize_function;
9536 do not lower the nested functions.
9538 2004-09-20 Robert Dewar <dewar@gnat.com>
9542 * freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
9543 if an address clause is present, since that means that the Import
9546 2004-09-20 Arnaud Charlet <charlet@act-europe.fr>
9548 * 5tsystem.ads: Removed, no longer used.
9550 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
9551 Zack Weinberg <zack@codesourcery.com>
9553 * ada-tree.def: Use tree_code_class enumeration constants
9554 instead of code letters.
9555 * ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
9556 Update for new tree-class enumeration constants.
9558 2004-09-17 Vincent Celier <celier@gnat.com>
9560 * prj-attr-pm.ads, prj-attr-pm.adb: New files, to split some private
9561 capabilities of the general project manager.
9563 2004-09-09 Vincent Celier <celier@gnat.com>
9565 * a-direct.ads: Add pragma Ada_05
9566 (Directory_Entry_Type): Give default value to component Kind to avoid
9567 not initialized warnings.
9569 * a-direct.adb (Current_Directory): Remove directory separator at the
9571 (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
9572 an existing directory.
9573 (Fetch_Next_Entry): Give default value to variable Kind to avoid warning
9574 (Size (String)): Function C_Size returns Long_Integer, not File_Size.
9575 Convert the result to File_Size.
9577 * prj.ads: (Project_Error): New exception
9579 * prj-attr.adb: Except in procedure Initialize, Fail comes from
9580 Prj.Com, not from Osint.
9581 (Attrs, Package_Attributes): Tables moved to private part of spec
9582 (Add_Attribute, Add_Unknown_Package): Moved to new child package
9584 (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
9585 Prj.Project_Error after call to Fail.
9586 (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
9587 Fail. Check that package name is not already in use.
9589 * prj-attr.ads: Comment updates to indicate that all subprograms may be
9590 used by tools, not only by the project manager, and to indicate that
9591 exception Prj.Prj_Error may be raised in case of problem.
9592 (Add_Unknown_Package, Add_Attribute): Moved to new child package
9594 (Attrs, Package_Attributes): Table instantiations moved from the body to
9595 the private part to be accessible from Prj.Attr.PM body.
9597 * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
9598 from new package Prj.Attr.PM.
9599 (Parse_Attribute_Declaration): Call Add_Attribute from new package
9602 * Makefile.in: Add prj-attr-pm.o to gnatmake object list
9604 * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
9605 instead of Elaboration_Checks).
9607 * a-calend.adb: Minor reformatting
9609 2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9611 * gigi.h (maybe_pad_type): New declaration.
9612 (create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
9614 * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
9616 * cuintp.c: Convert to use buildN.
9618 * decl.c (maybe_pad_type): No longer static.
9619 (gnat_to_gnu_entity, case E_Function): Handle case of returning by
9621 Convert to use buildN.
9623 * trans.c (call_to_gnu): Add arg GNU_TARGET; support
9624 TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
9625 (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
9627 (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
9628 (gnat_gimplify_expr, case ADDR_EXPR): New case.
9629 Convert to use buildN.
9631 * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
9632 TREE_READONLY for const.
9633 Convert to use buildN.
9635 * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
9636 (create_var_decl): Refine when TREE_STATIC is set.
9637 Convert to use buildN.
9639 2004-09-09 Gary Dismukes <dismukes@gnat.com>
9641 * gnat_ugn.texi: Delete text relating to checking of ali and object
9644 * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
9647 2004-09-09 Jose Ruiz <ruiz@act-europe.fr>
9649 * gnat_ugn.texi: Add Detect_Blocking to the list of configuration
9650 pragmas recognized by GNAT.
9652 * gnat_rm.texi: Document pragma Detect_Blocking.
9654 * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
9655 raise Program_Error if called from a protected operation.
9657 * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
9658 the protected action nesting level.
9659 (Lock_Read_Only): When pragma Detect_Blocking is active increase the
9660 protected action nesting level.
9661 (Unlock): When pragma Detect_Blocking is active decrease the protected
9662 action nesting level.
9664 * s-taskin.adb (Initialize_ATCB): Initialize to 0 the
9665 Protected_Action_Nesting.
9667 * s-taskin.ads: Adding the field Protected_Action_Nesting to the
9668 Common_ATCB record. It contains the dynamic level of protected action
9669 nesting for each task. It is needed for checking whether potentially
9670 blocking operations are called from protected operations.
9671 (Detect_Blocking): Adding a Boolean constant reflecting whether pragma
9672 Detect_Blocking is active or not in the partition.
9674 * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
9675 raise Program_Error if called from a protected operation.
9676 (Task_Entry_Call): When pragma Detect_Blocking is active, raise
9677 Program_Error if called from a protected operation.
9678 (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
9679 Program_Error if called from a protected operation.
9681 * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
9682 raise Program_Error if called from a protected operation.
9684 * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
9685 raise Program_Error if called from a protected operation, and increase
9686 the protected action nesting level.
9687 (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
9688 Program_Error if called from a protected operation, and increase the
9689 protected action nesting level.
9690 (Unlock_Entries): When pragma Detect_Blocking is active decrease the
9691 protected action nesting level.
9693 * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
9694 raise Program_Error if called from a protected operation, and increase
9695 the protected action nesting level.
9696 (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
9697 Program_Error if called from a protected operation, and increase the
9698 protected action nesting level.
9699 (Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
9700 raise Program_Error if called from a protected operation.
9701 (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
9702 active, raise Program_Error if called from a protected operation.
9703 (Unlock_Entry): When pragma Detect_Blocking is active decrease the
9704 protected action nesting level.
9706 * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
9707 insertion of the statement raising Program_Error. The run time
9708 contains the required machinery for handling that.
9710 * sem_util.ads: Change comment associated to procedure
9711 Check_Potentially_Blocking_Operation.
9712 This procedure does not insert a call for raising the exception because
9713 that is currently done by the run time.
9715 * raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
9717 * init.c: Add the global variable __gl_detect_blocking that indicates
9718 whether pragma Detect_Blocking is active (1) or not (0). Needed for
9719 making the pragma available at run time.
9720 (__gnat_set_globals): Pass and update the detect_blocking parameter.
9722 * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
9723 pragma Detect_Blocking is active.
9725 * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
9727 * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
9728 DB is found in the ali file. Any unit compiled with pragma
9729 Detect_Blocking active forces its effect in the whole partition.
9731 * a-retide.adb (Delay_Until): Raise Program_Error if pragma
9732 Detect_Blocking is active and delay is called from a protected
9735 * bindgen.adb (Gen_Adainit_Ada): When generating the call to
9736 __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
9737 Detect_Blocking is active (0 otherwise).
9738 (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
9739 as Detect_Blocking parameter if pragma Detect_Blocking is active (0
9742 2004-09-09 Thomas Quinot <quinot@act-europe.fr>
9744 * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
9745 GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
9748 * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
9749 (Register_Receiving_Stub): Add Subp_Info formal parameter.
9750 Update API in placeholder implemetation of s-parint to reflect changes
9751 in distribution runtime library.
9753 * sem_ch3.adb (Expand_Derived_Record): Rename to
9754 Expand_Record_Extension.
9756 * sem_disp.adb (Check_Controlling_Formals): Improve error message for
9757 primitive operations of potentially distributed object types that have
9758 non-controlling anonymous access formals.
9760 * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
9762 New implementation of expansion for remote access-to-subprogram types,
9763 based on the RACW infrastructure.
9764 This version of sem_dist is compatible with PolyORB/DSA as well as
9767 * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
9768 Asynchrronous that applies to a remote access-to-subprogram type, mark
9769 the underlying RACW type as asynchronous.
9771 * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
9772 __gnat_using_gnu_linker to 1.
9774 * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
9775 g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
9776 GNAT.Perfect_Hash_Generators, and remove the empty
9777 GNAT.Perfect_Hash package.
9779 * atree.adb: Minor reformatting
9781 * exp_ch3.adb (Expand_Derived_Record): Rename to
9782 Expand_Record_Extension.
9783 (Build_Record_Init_Proc.Build_Assignment): The default expression in
9784 a component declaration must remain attached at that point in the
9785 tree so New_Copy_Tree copies it if the enclosing record type is derived.
9786 It is therefore necessary to take a copy of the expression when building
9787 the corresponding assignment statement in the init proc.
9788 As a side effect, in the case of a derived record type, we now see the
9789 original expression, without any rewriting that could have occurred
9790 during expansion of the ancestor type's init proc, and we do not need
9791 to go back to Original_Node.
9793 * exp_ch3.ads (Expand_Derived_Record): Rename to
9794 Expand_Record_Extension.
9796 * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
9797 Returns the RACW type used to implement a remote access-to-subprogram
9799 (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
9800 New subprograms. Used to create a proxy tagged object for a remote
9801 subprogram. The proxy object is used as the designated object
9802 for RAS values on the same partition (unless All_Calls_Remote applies).
9803 (Build_Get_Unique_RP_Call): New subprogram. Build a call to
9804 System.Partition_Interface.Get_Unique_Remote_Pointer.
9805 (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
9806 Renamed from Add_RAS_*_Attribute.
9807 (Add_Receiving_Stubs_To_Declarations): Generate a table of local
9809 New implementation of expansion for remote access-to-subprogram types,
9810 based on the RACW infrastructure.
9812 * exp_dist.ads (Copy_Specification): Update comment to note that this
9813 function can copy the specification from either a subprogram
9814 specification or an access-to-subprogram type definition.
9816 2004-09-09 Ed Schonberg <schonberg@gnat.com>
9818 * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
9819 in an instance, between an explicit subprogram an one inherited from a
9820 type derived from an actual.
9822 * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
9823 add a polling call if the subprogram is to be inlined by the back-end,
9824 to avoid repeated calls with multiple inlinings.
9826 * checks.adb (Apply_Alignment_Check): If the expression in the address
9827 clause is a call whose name is not a static entity (e.g. a dispatching
9828 call), treat as dynamic.
9830 2004-09-09 Robert Dewar <dewar@gnat.com>
9832 * g-trasym.ads: Minor reformatting
9834 * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
9835 packed arrays, since unused bits are expected to be zero for a
9838 2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
9840 * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
9843 2004-09-09 Pascal Obry <obry@gnat.com>
9845 * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
9846 enable map file generation. Add the right option to generate the map
9847 file if Map_File is set to True.
9849 * gnatdll.adb (Gen_Map_File): New variable.
9850 (Syntax): Add info about new -m (Map_File) option.
9851 (Parse_Command_Line): Add support for -m option.
9852 (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
9855 2004-09-09 Laurent Pautet <pautet@act-europe.fr>
9857 * gnatls.adb: Add a very verbose mode -V. Such mode is required by the
9858 new gnatdist implementation.
9859 Define a subpackage isolating the output routines specific to this
9862 2004-09-09 Joel Brobecker <brobecker@gnat.com>
9864 * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
9866 * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
9868 2004-09-09 Cyrille Comar <comar@act-europe.fr>
9870 * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
9873 * opt.ads: Add Ada_Version_Runtime constant used to decide which
9874 version of the language is used to compile the run time.
9876 2004-09-09 Arnaud Charlet <charlet@act-europe.fr>
9878 * sem_util.adb (Requires_Transient_Scope): Re-enable handling
9879 of variable length temporaries for function return now that the
9880 back-end and gigi support it.
9882 2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9884 * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
9886 * trans.c (struct stmt_group): Delete field GLOBAL.
9887 (gnat_init_stmt_group): Do not initialize it.
9888 (call_to_gnu): Use save_expr, not protect_multiple_eval.
9889 (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
9890 (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
9891 (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
9892 (start_stmt_group): Likewise.
9893 (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
9895 * utils2.c (ggc.h): Include.
9896 (build_call_raise): Call build_int_cst, not build_int_2.
9898 * utils.c (gnat_init_decl_processing): Fix arg to
9899 build_common_tree_nodes.
9900 (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
9901 (gnat_define_builtin): Set built_in_decls.
9902 (init_gigi_decls): Call build_int_cst, not build_int_2.
9904 * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
9905 (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
9906 (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
9907 (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
9908 SET_TYPE_MODULE): Use them.
9909 (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
9910 (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
9911 (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
9912 SET_TYPE_ADA_SIZE): Likewise.
9913 (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
9914 (DECL_CONST_CORRESPONDING_VAR,
9915 SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
9916 (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
9917 (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
9918 (TYPE_RM_SIZE_NUM): New macro.
9919 (TYPE_RM_SIZE): Modified to use above.
9921 * cuintp.c: (build_cst_from_int): New function.
9922 (UI_To_gnu): Use it.
9924 * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
9925 (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
9926 (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
9927 MIN_EXPR for the size, copy it into new.
9929 2004-09-01 Robert Dewar <dewar@gnat.com>
9931 * exp_ch6.adb (Expand_Call): Properly handle validity checks for
9932 packed indexed component where array is an IN OUT formal. This
9933 generated garbage code previously.
9935 * gnat_ugn.texi: Document -fverbose-asm
9937 * gnat-style.texi: Minor updates (note that boolean constants and
9938 variables are joined with AND/OR rather than short circuit forms).
9940 2004-09-01 Ed Schonberg <schonberg@gnat.com>
9942 * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
9943 it is an upward conversion of an untagged type with no representation
9946 2004-09-01 Thomas Quinot <quinot@act-europe.fr>
9948 * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
9949 System.Partition_Interface.
9951 * checks.adb (Apply_Access_Checks): Do not generate checks when
9952 expander is not active (but check for unset reference to prefix of
9955 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
9956 pragma Debug as an if statement with a constant condition, for
9957 consistent treatment of entity references contained within the
9958 enclosed procedure call.
9960 2004-09-01 Vincent Celier <celier@gnat.com>
9962 * bindgen.adb: (Set_EA_Last): New procedure
9963 (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
9965 (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
9966 (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
9967 linked without errors.
9968 (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
9970 (Gen_Exception_Table_C): Correct same bugs
9972 * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
9974 * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
9975 on Windows, make sure that the drive letter is in upper case.
9977 * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
9978 Windows, when the drive letter is added and Case_Sensitive is True, the
9979 drive letter is forced to upper case.
9981 * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
9982 to Options_2 for the call to MLib.Utl.Gcc.
9984 * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
9985 directory separator when defining BASE_DIR.
9987 2004-09-01 Pascal Obry <obry@gnat.com>
9989 * gprcmd.adb (Extend): Do not output trailing directory separator. This
9990 is not needed and it confuses Windows GNU/make which does not report
9991 directory terminated by a slash as a directory.
9992 (gprcmd): Idem for "pwd" internal command.
9994 * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
9995 target names rewrite to fix regressions with recent version of
9996 GNU/make. Starting with GNU/make 3.80 the pipe character was not
9997 handled properly anymore.
9999 2004-09-01 Andreas Schwab <schwab@suse.de>
10001 * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
10002 * raise.c [!IN_RTS]: Undef abort.
10004 2004-08-27 Nathan Sidwell <nathan@codesourcery.com>
10006 * utils2.c (build_allocator): Use ssize_int.
10008 * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
10010 2004-08-27 Andreas Schwab <schwab@suse.de>
10012 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
10014 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
10015 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10017 * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
10019 2004-08-25 Nathan Sidwell <nathan@codesourcery.com>
10021 * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
10022 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
10023 * utils.c (init_gigi_decls): Likewise.
10024 * utils2.c (build_call_raise, build_allocator): Likewise.
10026 2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
10028 * utils.c (gnat_init_decl_processing): Adjust
10029 build_common_tree_nodes call.
10031 2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
10033 * utils2.c (build_allocator): Use build_int_cst for negative
10036 2004-08-18 Richard Henderson <rth@redhat.com>
10038 * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
10040 2004-08-16 Nathan Sidwell <nathan@codesourcery.com>
10042 * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
10044 * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
10045 (gnat_to_gnu): Likewise.
10047 2004-08-16 Pascal Obry <obry@gnat.com>
10049 * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
10050 backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
10051 option and not mdll anymore. Update comment.
10053 2004-08-16 Pascal Obry <obry@gnat.com>
10055 * bld.adb (Put_Include_Project): Properly handle directory separators
10058 2004-08-16 Ed Schonberg <schonberg@gnat.com>
10060 * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
10061 decreasing the number of allocated junk nodes while searching for the
10062 appropriate subprogram.
10064 2004-08-15 Nathan Sidwell <nathan@codesourcery.com>
10066 * cuintp.c (UI_To_gnu): Use build_int_cst..
10067 * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
10068 * utils.c (init_gigi_decls): Likewise.
10069 * utils2.c (build_call_raise): Likewise.
10071 2004-08-13 Olivier Hainque <hainque@act-europe.fr>
10073 * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
10074 for a global aliased object with a variable size and an unconstrained
10075 nominal subtype, pretend there is no initializer if the one we have is
10076 incomplete, and avoid referencing an inexistant component in there. The
10077 part we have will be rebuilt anyway and the reference may confuse
10078 further operations.
10080 2004-08-13 Thomas Quinot <quinot@act-europe.fr>
10082 * einfo.ads: Minor reformatting
10084 * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
10085 restrictions in the ALI if we only want to warn about violations.
10087 2004-08-13 Vincent Celier <celier@gnat.com>
10089 * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
10090 when creating a new Unit_Record in table Units.
10092 * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
10093 that are violated, if any.
10095 * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
10096 add directory separator if path already ends with a directory separator.
10098 2004-08-13 Ed Schonberg <schonberg@gnat.com>
10100 * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
10101 unit, this is an attempt to inline a construct that is not available in
10102 the current restricted mode, so abort rather than trying to continue.
10104 * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
10105 discriminants that rename those of the parent, recover names of
10106 original discriminants for the constraint on the full view of the
10108 (Complete_Private_Subtype): Do not create a subtype declaration if the
10109 subtype is an itype.
10111 * gnat_rm.texi: Added section on implementation of discriminated
10112 records with default values for discriminants.
10114 2004-08-13 Ed Schonberg <schonberg@gnat.com>
10117 * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
10118 the second operand is overloaded.
10120 2004-08-10 Richard Henderson <rth@redhat.com>
10122 * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
10123 add __builtin_alloca.
10125 2004-08-10 Richard Henderson <rth@redhat.com>
10127 * config-lang.in (boot_language): Yes.
10129 2004-08-09 Thomas Quinot <quinot@act-europe.fr>
10131 * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
10132 from complaining on potential uninitialized reference.
10133 Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
10134 new specification and test explicitly for non-zero return value.
10136 * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
10137 returning C.int, to avoid using a derived boolean type.
10139 * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
10140 Duplicate_Subexpr_No_Checks in preference to direct use of
10141 Remove_Side_Effects and New_Copy_Tree.
10142 Clear Comes_From_Source on prefix of 'Size attribute reference.
10144 * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
10145 g-socthi-vxworks.adb: Change calls to
10146 GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
10147 and test explicitly for non-zero return value.
10149 * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
10150 (Is_Socket_In_Set): Declare imported function as returning C.int, to
10151 avoid using a derived boolean type.
10153 2004-08-09 Albert Lee <lee@gnat.com>
10155 * system-irix-n32.ads: Refine tasking priority constants for IRIX.
10157 2004-08-09 Pascal Obry <obry@gnat.com>
10159 * gnat_ugn.texi: Document new way to build DLLs on Windows using
10160 GCC's -shared option.
10162 * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
10163 Options_2 parameter (options put after object files).
10165 2004-08-09 Olivier Hainque <hainque@act-europe.fr>
10167 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
10168 ignore overflows on low and high bounds of an index to also account for
10169 differences in signedness between sizetype and gnu_index_subtype.
10170 These are as legitimate as the ones caused by a lower TYPE_PRECISION
10173 2004-08-09 Robert Dewar <dewar@gnat.com>
10175 * s-solita.ads, s-solita.adb: Minor reformatting
10177 * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
10178 Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
10179 obsolescent section
10180 Add note that No_Implicit_Conditionals does not suppress
10181 run time constraint checks.
10183 * vms_conv.ads: Minor reformatting
10185 * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
10186 and necessary for following change).
10187 (Mark): Return new format Mark_Id containing sec stack address
10188 (Release): Use sec stack address from Mark_Id avoiding Self call
10190 * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
10191 pointer (cleanup and necessary for following change).
10192 Define Mark_Id as record containing address of secondary stack, that way
10193 Release does not need to find the stack again, decreasing the number of
10194 calls to Self and improving efficiency.
10196 * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
10198 * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
10199 case variable into the individual case branches when possible.
10201 * sem_ch11.adb: Minor reformatting
10203 * prj.ads: Correct spelling of suffixs
10205 * prj-nmsc.adb: Minor reformatting
10206 Correct spelling suffixs throughout (also in identifiers)
10208 * freeze.adb: Minor spelling correction
10210 * exp_ch2.adb: Cleanups to handling of Current_Value
10211 (no functional effect).
10213 * bld.adb: Correct spelling of suffixs
10215 * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
10217 2004-08-09 Ed Schonberg <schonberg@gnat.com>
10221 * sem_ch7.adb (Install_Private_Declarations): In the body of the
10222 package or of a child, private entities are both immediately_visible
10225 2004-08-09 Ed Schonberg <schonberg@gnat.com>
10227 * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
10228 there are no range checks on the value of the literal.
10230 * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
10231 wrapped is the triggering alternative of an asynchronous select, action
10232 statements mustbe inserted before the select itself.
10234 * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
10235 case where the prefix is a protected function call.
10236 (Resolve_Attribute, case 'Access): The attribute reference on a
10237 subprogram is legal in a generic body if the subprogram is declared
10240 2004-08-09 Vincent Celier <celier@gnat.com>
10242 * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
10243 languages, otherwise building the library may fail with unresolved
10245 (Compile_Sources): Do not build libraries if -c switch is used
10247 * gnatlink.adb (Process_Args): New switches -M and -Mmap
10248 (Write_Usage): If map file creation is supported, output new switches
10250 (Gnatlink): When -M is specified, add the necessary switch(es) to the
10251 gcc call, when supported.
10253 * Makefile.in: Added indepsw.o to the object list for gnatlink
10254 Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
10256 * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
10257 indepsw.adb, indepsw.ads: New files.
10259 2004-08-09 Bernard Banner <banner@gnat.com>
10261 * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
10263 * Makefile.in: add section for vxworks x86
10265 2004-08-09 Hristian Kirtchev <kirtchev@gnat.com>
10267 * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
10268 per-object constrained components where the discriminant is of an
10270 (Build_Record_Init_Proc): Add condition to prevent the inheritance of
10271 the parent initialization procedure for derived Unchecked_Unions.
10272 Instead, derived Unchecked_Unions build their own initialization
10274 (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
10275 Check the body of the subprogram for details.
10276 (Freeze_Record_Type): Prevent the inheritance of discriminant checking
10277 functions for derived Unchecked_Union types by introducing a condition.
10278 Allow the creation of TSS equality functions for Unchecked_Unions.
10279 (Make_Eq_Case): Rename formal parameter Node to E in function signature.
10280 Add formal parameter Discr to function signature. Discr is used to
10281 control the generated case statement for Unchecked_Union types.
10282 (Make_Eq_If): Rename formal parameter Node to E in function signature.
10284 * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
10286 Check the body of the subprogram for details.
10287 (Expand_Composite_Equality): Augment composite type equality to include
10288 correct handling of Unchecked_Union components.
10289 (Expand_N_In): Add condition to detect illegal membership tests when the
10290 subtype mark is a constrained Unchecked_Union and the expression lacks
10291 inferable discriminants, and build a Raise_Program_Error node.
10292 (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
10293 to detect types that contain components of unconstrained Unchecked_Union
10294 subtype. Add condition to detect equality between types that have an
10295 unconstrained Unchecked_Union component, and build a Raise_Program_Error
10296 node. Add condition to detect equality between Unchecked_Union types
10297 that lack inferable discriminants, and build a Raise_Program_Error node.
10298 Otherwise build a TSS equality function call.
10299 (Expand_N_Type_Conversion): Add condition to detect illegal conversions
10300 from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
10301 with the operand lacking inferable discriminants, and build a Raise_
10302 Program_Error node.
10303 (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
10304 composite equality.
10305 (Has_Inferable_Discriminants): Implement new predicate for objects and
10306 expressions of Unchecked_Union type. Check the body of subprogram for
10308 (Has_Unconstrained_UU_Components): Add function
10309 Component_Is_Unconstrained_UU. It is used to detect whether a single
10310 component is of an unconstrained Unchecked_Union subtype. Add function
10311 Variant_Is_Unconstrained_UU. It is used to detect whether a single
10312 component inside a variant is of an unconstrained Unchecked_Union type.
10314 * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
10315 inferred discriminant values. Add condition to generate a case
10316 statement with an inferred discriminant as the switch.
10317 (Make_Component_List_Assign): Introduce a Boolean flag that determines
10318 the behaviour of the subprogram in the presence of an Unchecked_Union.
10319 Add condition to trigger the usage of the inferred discriminant value
10320 as the generated case statement switch.
10321 (Make_Field_Assign): Introduce a Boolean flag that determines the
10322 behaviour of the subprogram in the presence of an Unchecked_Union. Add
10323 condition to trigger the usage of the inferred discriminant value as
10324 the right-hand side of the generated assignment.
10326 * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
10327 parameter generation when dealing with Unchecked_Unions.
10329 * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
10330 checks for Unchecked_Unions.
10332 * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
10334 * exp_attr.adb (Expand_N_Attribute_Reference): Produce
10335 Raise_Program_Error nodes for the execution of Read and Write
10336 attributes of Unchecked_Union types and the execution of Input and
10337 Output attributes of Unchecked_Union types that lack default
10338 discriminant values.
10340 * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
10341 Unchecked_Union. Add procedure Check_Component. It is used to inspect
10342 per-object constrained components of Unchecked_Unions for being
10343 Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
10344 check individual components withing a variant.
10346 * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
10347 comparison of Unchecked_Unions.
10348 (Resolve_Equality_OP): Remove guard that prevents equality between
10351 * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
10352 of component subtypes for Unchecked_Union components.
10353 (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
10354 since it is the actual subtype.
10356 * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
10357 pass of Unchecked_Union subtypes as generic actuals to formal types
10358 that lack known_discriminant_parts or that are derived Unchecked_Union
10359 types, and do nothing. In any other case, produce an error message.
10361 * sem_ch3.adb (Analyze_Component_Declaration): Add function
10362 Contains_POC. It determines whether a constraint uses the discriminant
10363 of an enclosing record type.
10364 Add condition to detect per-object constrained component and set the
10366 (Derived_Type_Declaration): Remove guard that prevents derivation from
10367 Unchecked_Union types.
10368 (Process_Subtype): Remove quard that prevents the creation of Unchecked_
10371 * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
10372 references to Unchecked_Union discriminants.
10374 * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
10375 formal generation when dealing with Unchecked_Unions.
10376 (Set_Actual_Subtypes): Add condition to prevent generation of actual
10377 subtypes for Unchecked_Unions.
10379 * sem_ch7.adb (Analyze_Package_Specification): Add procedure
10380 Inspect_Unchecked_Union_Completion. It is used to detect incorrect
10381 completions of discriminated partial views by Unchecked_Unions and
10382 produce an error message.
10384 2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10386 * trans.c (struct stmt_group): New field, GLOBAL.
10387 (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
10388 (struct elab_info): New struct.
10389 (elab_info_list, gnu_elab_proc_stack): New variables.
10390 (Compilation_Unit_to_gnu): New procedure.
10391 (gigi): Call it and also handle elaboration procs we've saved.
10392 (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
10393 global field from parent.
10394 (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
10395 (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
10396 (start_stmt_group): Initialize global field from parent.
10397 (add_decl_expr): Set to global for current statement group.
10398 (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
10401 * utils.c (global_bindings_p): True when no current_function_decl; no
10402 longer check current_binding_level.
10404 2004-08-09 Ben Brosgol <brosgol@gnat.com>
10406 * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
10409 * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
10411 2004-08-06 Andreas Schwab <schwab@suse.de>
10413 * utils.c (gnat_define_builtin): Remove second parameter of
10415 (begin_subprog_body): Likewise.
10417 2004-07-26 Arnaud Charlet <charlet@act-europe.fr>
10419 * sem_util.adb (Requires_Transient_Scope): Temporarily disable
10420 optimization, not supported by the tree-ssa back-end.
10422 2004-07-26 Olivier Hainque <hainque@act-europe.fr>
10424 * s-mastop-irix.adb: Update comments.
10426 * a-except.adb (Exception_Information): Raise Constraint_Error if
10427 exception Id is Null_Id.
10428 This is required behavior, which is more reliably and clearly checked
10429 at the top level interface level.
10431 2004-07-26 Javier Miranda <miranda@gnat.com>
10433 * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
10434 call if a component has no default_expression and the box is used.
10436 * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
10437 default_expression and you use box, it behaves as if you had declared a
10438 stand-alone object.
10439 (Resolve_Record_Aggregate): If a component has no default_expression and
10440 you use box, it behaves as if you had declared a stand-alone object.
10442 * sem_ch10.adb (Install_Siblings): Do not make visible the private
10443 entities of private-with siblings.
10445 2004-07-26 Ed Schonberg <schonberg@gnat.com>
10447 * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
10448 for a component of an itype, set the parent pointer for analysis,
10449 there is no list in which to insert it.
10451 * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
10452 bona-fide renamings, not for inherited operations.
10454 * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
10455 actual for a formal that is an access parameter, create local
10456 finalization list even if the expression is not an aggregate.
10458 2004-07-26 Ed Schonberg <schonberg@gnat.com>
10461 * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
10462 Diagnose properly illegal subprogram renamings that are library units.
10464 2004-07-26 Ed Schonberg <schonberg@gnat.com>
10467 * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
10468 conversion rewritten as an unchecked conversion, check that original
10469 expression is a variable.
10471 * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
10472 unchecked_conversion, create new node rather than rewriting in place,
10473 to preserve original construct.
10475 2004-07-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10477 * gigi.h (gnat_expand_body): Deleted.
10479 * Make-lang.in: (trans.o): Depends on function.h.
10481 * misc.c: (gnat_expand_body): Moved to here.
10483 * trans.c (gnat_expand_body_1): Deleted.
10484 (gnat_expand_body): Moved from here.
10485 (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
10486 (add_stmt): Check for marked visited with global_bindings_p.
10487 (gnat_gimplify_expr, case COMPONENT_REF): New case.
10488 (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
10490 * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
10491 VIEW_CONVERT_EXPR if not operation type.
10493 * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
10496 * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
10497 changes: reformatting of negation operators, removing unneeded
10498 inequality comparison with zero, converting equality comparisons with
10499 zero to negations, changing int/0/1 to bool/false/true, replace calls
10500 to gigi_abort with abort, and various other similar changes.
10502 2004-07-26 Vincent Celier <celier@gnat.com>
10504 * gnatcmd.adb (GNATCmd): Add processing for new built-in command
10507 * make.adb (Gnatmake): Fail when a library is not present and there is
10508 no object directory.
10510 * mlib-prj.adb (Check_Library): No need to check if the library needs
10511 to be rebuilt if there is no object directory, hence no object files
10512 to build the library.
10514 * opt.ads (Setup_Projects): New Boolean flag.
10516 * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
10518 Create directory when Kind /= "" and in "gnat setup". Report error if
10519 directory cannot be created.
10520 (Ada_Check): Create library interface copy dir if it does not exist
10521 and we are in "gnat setup".
10522 (Find_Sources): No error if in "gnat setup" and no Ada sources were
10524 (Language_Independent_Check): Create object directory, exec directory
10525 and/or library directory if they do not exist and we are in
10528 * vms_conv.ads: (Command_Type): New command Setup.
10530 * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
10532 * vms_data.ads: Add qualifiers/switches for new built-in command
10535 2004-07-25 Richard Henderson <rth@redhat.com>
10537 * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
10538 DECL_IGNORED_P on RESULT_DECL.
10540 2004-07-20 Olivier Hainque <hainque@act-europe.fr>
10542 * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
10543 allocation and potentially overflowing update with
10544 Tailored_Exception_Information. Use the sec-stack free procedural
10545 interface to output Exception_Information instead.
10547 * a-except.adb (To_Stderr): New subprogram for character, and string
10548 version moved from a-exextr to be visible from other separate units.
10549 (Tailored_Exception_Information): Remove the procedural version,
10550 previously used by the default Last_Chance_Handler and not any more.
10551 Adjust various comments.
10553 * a-exexda.adb: Generalize the exception information procedural
10554 interface, to minimize the use of secondary stack and the need for
10555 local buffers when the info is to be output to stderr:
10556 (Address_Image): Removed.
10557 (Append_Info_Character): New subprogram, checking for overflows and
10558 outputing to stderr if buffer to fill is of length 0.
10559 (Append_Info_String): Output to stderr if buffer to fill is of length 0.
10560 (Append_Info_Address, Append_Info_Exception_Name,
10561 Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
10562 Append_Info_Basic_Exception_Traceback,
10563 Append_Info_Exception_Information): New subprograms.
10564 (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
10565 (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
10566 Exception_Info_Maxlength, Exception_Name_Length,
10567 Exception_Message_Length): New subprograms.
10568 (Exception_Information): Use Append_Info_Exception_Information.
10569 (Tailored_Exception_Information): Use
10570 Append_Info_Basic_Exception_Information.
10571 Export services for the default Last_Chance_Handler.
10573 * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
10574 other separate units.
10576 2004-07-20 Vincent Celier <celier@gnat.com>
10578 * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
10580 2004-07-20 Ed Schonberg <schonberg@gnat.com>
10582 * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
10583 emit itype references for the designated types of component types that
10584 are declared outside of the full record declaration, and that may
10585 denote a partial view of that record type.
10587 2004-07-20 Ed Schonberg <schonberg@gnat.com>
10590 * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
10591 which is the designated type in an access component declaration, to the
10592 list of incomplete dependents of the parent type, to avoid elaboration
10593 issues with out-of-scope subtypes.
10594 (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
10595 full view of the parent.
10597 2004-07-20 Ed Schonberg <schonberg@gnat.com>
10600 * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
10601 entities that are hidden, such as references to generic actuals
10602 outside an instance.
10604 2004-07-20 Javier Miranda <miranda@gnat.com>
10606 * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
10607 support to the new notation.
10608 (Analyze_Selected_Component): Add call to Try_Object_Operation.
10610 2004-07-20 Jose Ruiz <ruiz@act-europe.fr>
10612 * s-taprob.adb: Adding the elaboration code required for initializing
10613 the tasking soft links that are common to the full and the restricted
10616 * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
10617 restricted run time has been moved to the package
10618 System.Soft_Links.Tasking.
10620 * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
10621 restricted run time has been moved to the package
10622 System.Soft_Links.Tasking.
10624 * Makefile.rtl: Add entry for s-solita.o in run-time library list.
10626 * s-solita.ads, s-solita.adb: New files.
10628 2004-07-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10630 * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
10631 Case_Statement_to_gnu): Split off from gnat_to_gnu.
10632 (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
10633 Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
10634 Exception_Handler_to_gnu_zcx): Likewise.
10636 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
10638 * gigi.h (builtin_function): Declare.
10640 2004-07-15 Robert Dewar <dewar@gnat.com>
10642 * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
10645 * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
10646 access values as an example of a warning.
10648 * gnat_rm.texi: Document new attribute Has_Access_Values
10650 * gnat-style.texi: Document that box comments belong on nested
10653 * sem_util.ads (Has_Access_Values): Improved documentation
10655 * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
10657 * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
10658 (Process_Interface_Name): Call to this new procedure
10659 (Set_Extended_Import_Export_External_Name): Call to this new procedure
10661 * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
10663 * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
10665 * einfo.ads: Minor comment typo fixed
10667 2004-07-15 Jose Ruiz <ruiz@act-europe.fr>
10669 * snames.adb: Add _atcb.
10671 * snames.ads: Add Name_uATCB.
10673 * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
10674 (in the expanded code) when using the restricted run time.
10676 * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
10677 a in parameter in order to allow ATCBs to be preallocated (in the
10680 * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
10681 order to allow ATCBs to be preallocated. In case of error, the ATCB is
10682 deallocated in System.Tasking.Stages.
10684 * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
10685 order to allow ATCBs to be preallocated.
10687 * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
10688 here. It was previously done in Initialize_ATCB.
10690 * rtsfind.ads: Make the Ada_Task_Control_Block visible.
10692 * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
10693 Restricted run time.
10695 * exp_ch3.adb: When using the Restricted run time, pass the
10696 preallocated Ada_Task_Control_Block when creating a task.
10698 2004-07-15 Ed Schonberg <schonberg@gnat.com>
10700 * sem_util.adb (Normalize_Actuals): If there are no actuals on a
10701 function call that is itself an actual in an enclosing call, diagnose
10702 problem here rather than assuming that resolution will catch it.
10704 * sem_ch7.adb (Analyze_Package_Specification): If the specification is
10705 the local copy of a generic unit for a formal package, and the generic
10706 is a child unit, install private part of ancestors before compiling
10707 private part of spec.
10709 * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
10710 use scope entities rather than tree structures, to handle properly
10711 parent units that are instances rewritten as bodies for inlining
10714 * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
10715 Remove_Parents): Handle properly a parent unit that is an
10716 instantiation, when the unit has been rewritten as a body for inlining
10719 * par.adb (Goto_List): Global variable to collect goto statements in a
10720 given unit, for use in detecting natural loops.
10722 * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
10723 use in detecting natural loops.
10725 * par-labl.adb (Find_Natural_Loops): Recognize loops create by
10726 backwards goto's, and rewrite as a infinite loop, to improve locality
10729 * exp_util.adb (Force_Evaluation): Recognize a left-hand side
10730 subcomponent that includes an indexed reference, to prevent the
10731 generation of copies that would miscompile the desired assignment
10733 (Build_Task_Image_Decls): Add a numeric suffix to
10734 generated name for string variable, to avoid spurious conflicts with
10735 the name of the type of a single protected object.
10737 * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
10738 loop with an explicit exit statement, to avoid generating an
10739 out-of-range value with 'Succ leading to spurious constraint_errors
10740 when compiling with -gnatVo.
10742 2004-07-15 Thomas Quinot <quinot@act-europe.fr>
10744 * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
10745 might not be analyzed yet, even if its Etype is already set (case of an
10746 unchecked conversion built using Unchecked_Convert_To, for example).
10747 If the prefix has already been analyzed, this will be a nop anyway.
10749 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
10750 controller type, or an assignment of a record type with controlled
10751 components, copy only user data, and leave the finalization chain
10752 pointers untouched.
10754 2004-07-15 Vincent Celier <celier@gnat.com>
10756 * make.adb (Collect_Arguments): Improve error message when attempting
10757 to compile a source not part of any project, when -x is not used.
10759 * prj.ads: (Defined_Variable_Kind): New subtype
10761 * prj-attr.adb (Register_New_Package): Two new procedures to register
10762 a package with or without its attributes.
10763 (Register_New_Attribute): Mew procedure to register a new attribute in a
10765 New attribute oriented subprograms: Attribute_Node_Id_Of,
10766 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
10767 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
10769 New package oriented subprograms: Package_Node_Id_Of,
10770 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
10772 * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
10774 (Package_Node_Id): Now a private, self initialized type
10775 (Register_New_Package): New procedure to register a package with its
10777 New attribute oriented subprograms: Attribute_Node_Id_Of,
10778 Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
10779 Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
10781 New package oriented subprograms: Package_Node_Id_Of,
10782 Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
10784 * prj-dect.adb (Parse_Attribute_Declaration,
10785 Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
10787 * prj-makr.adb (Make): Parse existing project file before creating
10788 other files. Fail if there was an error during parsing.
10790 * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
10791 new spec of Prj.Attr.
10793 * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
10794 to new spec of Prj.Attr.
10796 2004-07-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10798 * utils2.c: Fix typo in comment.
10800 2004-07-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10802 * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
10803 * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
10805 2004-07-14 Andreas Schwab <schwab@suse.de>
10807 * trans.c (gnat_init_stmt_group): Remove duplicate definition.
10809 2004-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10811 * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
10813 (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
10816 * misc.c (gnat_types_compatible_p): New function.
10817 (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
10818 (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
10820 * trans.c (gigi): Move processing of main N_Compilation_Unit here.
10821 (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
10822 (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
10823 (mark_visited): Don't mark dummy type.
10824 (tree_transform <N_Procedure_Call_Statement>): Unless this is an In
10825 parameter, we must remove any LJM building from GNU_NAME.
10826 (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
10827 (pos_to_constructor): Use int_const_binop.
10828 (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
10831 * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
10832 (gnat_pushlevel): Set TREE_USE on BLOCK node.
10833 (gnat_install_builtins): Add __builtin_memset.
10835 2004-07-13 Olivier Hainque <hainque@act-europe.fr>
10837 * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
10838 for a renaming, stabilize the initialization expression if we are at a
10839 local level. At the local level, uses of the renaming may be performed
10840 by a direct dereference of the initializing expression, and we don't
10841 want possible variables there to be evaluated for every use.
10843 * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
10844 Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
10845 them on the way. Account for the fact that we may introduce side
10846 effects in the process.
10848 2004-07-13 Richard Henderson <rth@redhat.com>
10850 * misc.c (default_pass_by_ref): Use pass_by_reference.
10852 2004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
10854 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
10855 LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
10857 2004-07-08 Richard Henderson <rth@redhat.com>
10859 * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
10862 2004-07-06 Vincent Celier <celier@gnat.com>
10864 * vms_conv.ads: Minor reformatting.
10865 Alphabetical order for enumerated values of type Command_Type, to have
10866 the command in alphabetical order for the usage.
10868 * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
10869 the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
10871 * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
10873 * makegpr.adb (Global_Archive_Exists): New global Boolean variable
10874 (Add_Archive_Path): Only add the global archive if there is one.
10875 (Build_Global_Archive): Set Global_Archive_Exists depending if there is
10876 or not any object file to put in the global archive, and don't build
10877 a global archive if there is none.
10878 (X_Switches): New table
10879 (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
10880 in the X_Switches table, if any.
10881 (Initialize): Make sure the X_Switches table is empty
10882 (Scan_Arg): Record -X switches in table X_Switches
10884 * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
10886 * make.adb: Minor comment fix
10888 * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
10889 invoked with directory information, add the directory in front of the
10892 * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
10893 invoked with directory information, add the directory in front of the
10896 * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
10897 when Keep_Temporary_Files is False.
10898 (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
10899 directory information, add the directory in front of the path.
10900 When not on VMS, handle new switch -dn before the command to set
10901 Keep_Temporary_Files to True.
10902 (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
10905 * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
10906 invoked with directory information, add the directory in front of the
10909 2004-07-06 Thomas Quinot <quinot@act-europe.fr>
10911 * snames.ads, snames.adb (Name_Stub): New name for the distributed
10914 * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
10915 New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
10917 * g-socket.adb (To_Timeval): Fix incorrect conversion of
10918 Selector_Duration to Timeval for the case of 0.0.
10920 * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
10921 documentation from Evolve_And_Then.
10923 2004-07-06 Jose Ruiz <ruiz@act-europe.fr>
10925 * s-taprop-tru64.adb, s-taprop-os2.adb,
10926 s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
10928 2004-07-06 Robert Dewar <dewar@gnat.com>
10930 * s-osinte-hpux.ads, s-osinte-freebsd.ads,
10931 s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
10932 s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
10933 s-interr-sigaction.adb, s-taprop-irix-athread.adb,
10934 s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
10935 s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
10936 s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
10937 s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
10938 a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
10939 a-tags.ads, bindgen.ads, checks.adb, checks.adb,
10940 csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
10941 exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
10942 g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
10943 i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
10944 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
10945 sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
10946 sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
10947 s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
10948 s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
10949 s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
10950 vms_data.ads: Minor reformatting,
10951 Fix bad box comment format.
10953 * gnat_rm.texi: Fix minor grammatical error
10955 * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
10957 * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
10958 more cases of discriminated records to be recognized as not needing a
10960 (Has_Access_Values): New function.
10962 * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
10964 * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
10965 Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
10966 with LRM terminology).
10967 Change terminology in comments primitive type => elementary type.
10969 2004-07-06 Ed Schonberg <schonberg@gnat.com>
10972 * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
10973 parameters do not impose any requirements on the presence of a body.
10975 2004-07-06 Ed Schonberg <schonberg@gnat.com>
10978 * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
10979 compilation unit and is in an open scope at the point of instantiation,
10980 assume that a body may be present later.
10982 2004-07-06 Ed Schonberg <schonberg@gnat.com>
10984 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
10985 Improve error message when specified size is not supported.
10987 * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
10988 is never a primitive operation.
10990 2004-07-05 Andreas Schwab <schwab@suse.de>
10992 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
10993 RECORD_OR_UNION_CHECK.
10994 (TYPE_CONTAINS_TEMPLATE_P): Likewise.
10996 2004-07-04 Kelley Cook <kcook@gcc.gnu.org>
10998 * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
10999 dependency on xgnatugn, instead build it via a submake.
11000 (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
11002 2004-07-04 Richard Henderson <rth@redhat.com>
11004 * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
11006 2004-07-01 Richard Henderson <rth@redhat.com>
11008 * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
11009 * utils.c (max_size): Likewise.
11011 2004-06-28 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11013 * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
11014 and rest_of_type_compilation; add arg to create_*_decl.
11015 (annotate_decl_with_node): Deleted.
11016 (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
11017 * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
11018 (get_current_block_context, gnat_pushdecl): New declarations.
11019 (gnat_init_stmt_group): Likewise.
11020 (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
11021 * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
11022 (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
11023 (gnat_init): Call gnat_init_stmt_group.
11024 * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
11025 (gnu_pending_elaboration_list): Deleted.
11026 (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
11027 (gigi): Rearrange initialization calls and move some to last above.
11028 (gnat_to_gnu): If statement and not in procedure, go into elab proc.
11029 Delete calls to add_decl_expr; add arg to create_*_decl.
11030 (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
11031 (gnat_to_gnu, case N_Subprogram_Body): Move some code to
11032 begin_subprog_body and call it.
11033 Don't push and pop ggc context.
11034 (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
11035 (add_stmt): Remove handling of DECL_EXPR from here.
11036 If not in function, mark visited.
11037 (add_decl_expr): Put global at top level.
11038 Check for cases of DECL_INITIAL we have to handle here.
11039 (process_type): Add extra arg to create_type_decl.
11040 (build_unit_elab): Rework to just gimplify.
11041 * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
11042 (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
11043 (get_pending_elaborations, pending_elaborations_p): Likewise.
11044 (push_pending_elaborations, pop_pending_elaborations): Likewise.
11045 (get_elaboration_location, insert_elaboration_list): Likewise.
11046 (gnat_binding_level): Renamed from ada_binding_level.
11047 (init_gnat_to_gnu): Don't clear pending_elaborations.
11048 (global_bindings_p): Treat as global if no current_binding_level.
11049 (set_current_block_context): New function.
11050 (gnat_pushdecl): Renamed from pushdecl; major rework.
11051 All callers changed.
11052 (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
11053 (finish_record_type): Call call pushdecl for stub decl.
11054 (function_nesting_depth): Deleted.
11055 (begin_subprog_body): Delete obsolete code.
11056 * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
11058 2004-06-28 Robert Dewar <dewar@gnat.com>
11060 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
11061 mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
11062 mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
11063 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
11064 a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
11066 * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
11067 deal with problem of inefficient slices on machines with strict
11068 alignment, when the slice is a component of a composite.
11070 * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
11071 machines, we need the check there as well.
11073 2004-06-28 Ed Schonberg <schonberg@gnat.com>
11075 * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
11076 determine safe copying direction for overlapping slice assignments
11077 when component is controlled.
11079 * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
11080 formal derived type in the actual for a formal package are visible in
11081 the enclosing instance.
11083 2004-06-28 Ed Schonberg <schonberg@gnat.com>
11086 * sem_util.adb (Trace_Components): Diagnose properly an illegal
11087 circularity involving a private type whose completion includes a
11088 self-referential component.
11089 (Enter_Name): Use Is_Inherited_Operation to distinguish a source
11090 renaming or an instantiation from an implicit derived operation.
11092 2004-06-28 Pascal Obry <obry@gnat.com>
11094 * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
11096 (Library_File_Name_For): Idem.
11098 2004-06-28 Matthew Gingell <gingell@gnat.com>
11100 * g-traceb.ads: Add explanatory note on the format of addresses
11101 expected by addr2line.
11103 2004-06-28 Jerome Guitton <guitton@act-europe.fr>
11105 * Makefile.in: Force debugging information on s-tasdeb.adb,
11106 a-except.adb and s-assert.adb needed by the debugger.
11108 2004-06-28 Vincent Celier <celier@gnat.com>
11110 * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
11114 * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
11116 * prj.adb: Minor reformatting
11117 (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
11119 * prj.ads: Comment updates
11121 (Project_Data): Change Flag1 to Need_To_Build_Lib.
11122 Remove Flag2: not used.
11124 * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
11127 * gnat_ugn.texi: Put a "null;" declaration in one project file example
11129 * gnat_rm.texi: Document Empty declarations "null;".
11131 * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
11132 front of the linker options.
11133 (Link_Foreign): Put the global archives and the libraries in front of
11134 the linker options.
11136 2004-06-28 Javier Miranda <miranda@gnat.com>
11138 * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
11139 (RTU_Loaded): Code cleanup
11140 (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
11141 withed predefined units.
11143 * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
11144 explicitly withed predefined units.
11145 Fix typo in comment
11147 * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
11148 explicitly withed predefined units.
11150 2004-06-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11152 * ada-tree.def (DECL_STMT): Deleted.
11153 * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
11154 (DECL_STMT_VAR): Deleted.
11155 * decl.c: add_decl_stmt now add_decl_expr.
11156 * gigi.h: Likewise.
11157 * trans.c: Likewise.
11158 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
11159 (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
11160 (add_stmt): Only handle padded type here.
11161 (add_stmt_with_node): Allow gnat_node to not be present.
11162 (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
11163 (gnat_gimplify_stmt, case DECL_STMT): Deleted.
11164 (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
11165 make a SAVE_EXPR for the entire fat pointer.
11166 * utils.c (pushdecl): Walk a DECL_EXPR in global case.
11167 (create_index_type): Make a DECL_EXPR.
11168 (end_subprog_body): Don't call allocate_struct_function here but
11171 2004-06-25 Pascal Obry <obry@gnat.com>
11173 * makegpr.adb (Build_Library): Remove parameter Lib_Address and
11174 Relocatable from Build_Dynamic_Library call.
11176 * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
11177 Relocatable are now synonym.
11179 * Makefile.in: Use s-parame-mingw.adb on MingW platform.
11181 * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
11182 Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
11185 * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
11186 Lib_Address and Relocatable.
11187 (Default_DLL_Address): Removed.
11189 * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
11190 mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
11191 mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
11192 (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
11193 (Default_DLL_Address): Removed.
11195 * mlib-tgt-mingw.adb: Ditto.
11196 (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
11198 * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
11199 the initial thread stack size.
11201 * a-strmap.ads: Move package L to private part as it is not used in
11202 the spec. Found while reading code.
11204 2004-06-25 Olivier Hainque <hainque@act-europe.fr>
11206 * tracebak.c: Introduce support for a GCC infrastructure based
11207 implementation of __gnat_backtrace.
11209 * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
11210 any more. Use accessors instead. This eases maintenance and relaxes
11211 some alignment constraints.
11212 (_GNAT_Exception structure): Remove the Ada specific fields
11213 (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
11215 (is_handled_by, __gnat_eh_personality): Replace component references to
11216 exception structure by use of the new accessors.
11218 * init.c (__gnat_initialize): Adjust comments to match the just
11219 reverted meaning of the -static link-time option.
11221 * adaint.c (convert_addresses): Arrange not to define a stub for
11222 mips-irix any more, as we now want to rely on a real version from a
11223 recent libaddr2line.
11225 * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
11226 the personality routine can use them and not have to rely on a C
11227 counterpart of the record anymore. This simplifies maintenance and
11228 relaxes the constraint of having Standard'Maximum_Alignment match
11230 Update comments, and add a section on the common header alignment issue.
11232 2004-06-25 Geert Bosch <bosch@gnat.com>
11234 * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
11235 polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
11237 2004-06-25 Robert Dewar <dewar@gnat.com>
11239 * gnat_rm.texi: Fix section on component clauses to indicate that the
11240 restriction on byte boundary placement still applies for bit packed
11242 Add comment on stack usage from Initialize_Scalars
11244 * gnat_ugn.texi: Add documentation for -gnatyLnnn
11246 * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
11247 limiting nesting level.
11249 * usage.adb: Add line for -gnatyLnnn switch
11251 * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
11252 sem_ch13.adb, exp_aggr.adb: Minor reformatting
11254 * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
11255 type as well as on the subtype. This corrects a problem in freeze in
11256 setting alignments of atomic types.
11258 * sem_eval.ads: Minor comment typo fixed
11260 * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
11261 level. Minor reformatting.
11263 * fname.adb (Is_Predefined_File_Name): Require a letter after the
11264 minus sign. This means that file names like a--b.adb will not be
11265 considered predefined.
11267 * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
11268 record Test new flag and give diagnostic for bad component clause.
11269 (Freeze_Entity): Set alignment of array from component alignment in
11270 cases where this is safe to do.
11272 * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
11275 * cstand.adb: (Create_Standard): Set alignment of String to 1
11277 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
11279 * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
11280 code in the common constrained array cases.
11282 * a-storio.adb: Change implementation to avoid possible alignment
11283 problems on machines requiring strict alignment (data should be moved
11284 as type Buffer, not type Elmt).
11286 * checks.adb (Apply_Array_Size_Check): Improve these checks by
11287 killing the overflow checks which we really do not need (64-bits is
11290 2004-06-25 Vincent Celier <celier@gnat.com>
11292 * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
11293 (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
11294 inconditionally for the main project.
11295 (Recursive_Add_Archives.Add_Archive_Path): New procedure
11296 (Link_Executables.Check_Time_Stamps): New procedure
11297 (Link_Executables.Link_Foreign): New procedure
11298 Changes made to reduce nesting level of this package
11299 (Check): New procedure
11300 (Add_Switches): When not in quiet output, check that a switch is not
11301 the concatenation of several valid switches. If it is, issue a warning.
11302 (Build_Global_Archive): If the global archive is rebuilt, linking need
11304 (Compile_Sources): Rebuilding a library archive does not imply
11305 rebuilding the global archive.
11306 (Build_Global_Archive): New procedure
11307 (Build_Library): New name for Build_Archive, now only for library
11309 (Check_Archive_Builder): New procedure
11310 (Create_Global_Archive_Dependency_File): New procedure
11311 (Gprmake): Call Build_Global_Archive before linking
11312 * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
11314 (Scan_Arg): Display the Copyright notice when -v is used
11316 * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
11319 * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
11321 Add new GNAT LIST qualifier /FILES=
11322 Added qualifier /DIRECTORY= to GNAT METRIC
11323 Added qualifier /FILES= to GNAT METRIC
11324 Added qualifier /FILES to GNAT PRETTY
11326 * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
11327 to take into account both versions of the switch.
11329 * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
11330 always be the last switch to the gcc driver. Disable switch storing so
11331 that switches automatically added by the gcc driver are not put in the
11334 * prj.adb (Project_Empty): Take into account changes in components of
11337 * prj.ads (Languages_Processed): New enumaration value All_Languages.
11339 * prj.ads (Project_Data): Remove component Lib_Elaboration: never
11340 used. Split Boolean component Ada_Sources_Present in two Boolean
11341 components Ada_Sources_Present and Other_Sources_Present.
11344 * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
11345 instead of Sources_Present.
11346 (Set_Ada_Paths.Add.Recursive_Add): Ditto
11348 * prj-nmsc.adb: Minor reformatting
11349 (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
11350 (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
11351 Check_Ada_Naming_Scheme.
11352 Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
11355 * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
11357 Make sure that all cycles where there is at least one "limited with"
11359 (Parse_Single_Project): New Boolean parameter In_Limited
11361 * prj-proc.adb (Recursive_Check): When Process_Languages is
11362 All_Languages, call first Prj.Nmsc.Ada_Check, then
11363 Prj.Nmsc.Other_Languages_Check.
11365 * prj-proc.adb (Process): Use Ada_Sources_Present or
11366 Other_Sources_Present (instead of Sources_Present) depending on
11369 * lang-specs.h: Keep -g and -m switches in the same order, and as the
11372 * lib.adb (Switch_Storing_Enabled): New global Boolean flag
11373 (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
11375 (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
11378 * lib.ads (Disable_Switch_Storing): New procedure.
11380 * make.adb: Modifications to reduce nesting level of this package.
11381 (Check_Standard_Library): New procedure
11382 (Gnatmake.Check_Mains): New procedure
11383 (Gnatmake.Create_Binder_Mapping_File): New procedure
11384 (Compile_Sources.Compile): Add switch -gnatez as the last option
11385 (Display): Never display -gnatez
11387 * Makefile.generic:
11388 When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
11390 * gnatcmd.adb (Check_Project): New function
11391 (Process_Link): New procedure to reduce nesting depth
11392 (Check_Files): New procedure to reduce the nesting depth.
11393 For GNAT METRIC, include the inherited sources in extending projects.
11394 (GNATCmd): When GNAT LS is invoked with a project file and no files,
11395 add the list of files from the sources of the project file. If this list
11396 is too long, put it in a temp text files and use switch -files=
11397 (Delete_Temp_Config_Files): Delete the temp text file that contains
11398 a list of source for gnatpp or gnatmetric, if one has been created.
11399 (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
11400 in the project file is too large, create a temporary text file that
11401 list them and pass it to the tool with "-files=<temp text file>".
11402 (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
11404 * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
11405 generated file is in not in Ada.
11407 * gnatls.adb: Remove all parameters And_Save that are no longer used.
11408 (Scan_Ls_Arg): Add processing for -files=
11409 (Usage): Add line for -files=
11411 * g-os_lib.adb (On_Windows): New global constant Boolean flag
11412 (Normalize_Pathname): When on Windows and the path starts with a
11413 directory separator, make sure that the resulting path will start with
11416 * clean.adb (Clean_Archive): New procedure
11417 (Clean_Project): When there is non-Ada code, delete the global archive,
11418 the archive dependency files, the object files and their dependency
11419 files, if they exist.
11420 (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
11422 2004-06-25 Thomas Quinot <quinot@act-europe.fr>
11424 * sinfo.ads: Fix typo in comment.
11426 * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
11427 the TSS for remote access-to-subprogram types, since these TSS are
11428 always present once the type has been analyzed.
11429 (RAS_E_Dereference): Same.
11431 * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
11432 reference raises Bad_Attribute, mark the reference as analyzed so the
11433 node (and any children resulting from rewrites that could have occurred
11434 during the analysis that ultimately failed) is not analyzed again.
11436 * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
11438 * exp_dist.adb: Minor comment fix.
11440 * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
11441 type is an anonymous access type, no unchecked deallocation of the
11442 allocated object can occur. If the object is controlled, attach it with
11443 a count of 1. This allows attachment to the Global_Final_List, if
11444 no other relevant list is available.
11445 (Get_Allocator_Final_List): For an anonymous access type that is
11446 the type of a discriminant or record component, the corresponding
11447 finalisation list is the one of the scope of the type.
11449 2004-06-25 Ed Schonberg <schonberg@gnat.com>
11451 * sem_ch3.adb (Replace_Type): When computing the signature of an
11452 inherited subprogram, use the first subtype if the derived type
11453 declaration has no constraint.
11455 * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
11456 before applying previous optimization. Minor code cleanup.
11458 * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
11459 placed at the beginning of an unpacked record without explicit
11460 alignment, a slice of it will be aligned and does not need a copy when
11463 2004-06-25 Ed Schonberg <schonberg@gnat.com>
11467 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
11468 reference is written with expressions mimicking parameters.
11470 2004-06-25 Hristian Kirtchev <kirtchev@gnat.com>
11473 * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
11474 STEP 2a. The constraints of a full type declaration of a derived record
11475 type are checked for conformance with those declared in the
11476 corresponding private extension declaration. The message
11477 "not conformant with previous declaration" is emitted if an error is
11480 2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr>
11482 * g-traceb.ads: Document the need for -E binder switch in the spec.
11484 * g-trasym.ads: Document the need for -E binder switch in the spec.
11486 2004-06-25 Jose Ruiz <ruiz@act-europe.fr>
11488 * sem_prag.adb: Add handling of pragma Detect_Blocking.
11490 * snames.h, snames.ads, snames.adb: Add entry for pragma
11493 * s-rident.ads: Change reference to pragma Detect_Blocking.
11495 * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
11498 * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
11499 to indicate whether pragma Detect_Blocking is active.
11501 * par-prag.adb: Add entry for pragma Detect_Blocking.
11503 * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
11504 of not handling WITH.
11505 Note that this replaces the previous update which was incorrect.
11507 2004-06-25 Javier Miranda <miranda@gnat.com>
11509 * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
11510 use-clauses to have a clean environment.
11512 * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
11513 the installation of the use-clauses to stablish a clean environment in
11514 case of compilation of a separate unit; otherwise the call to
11515 use_one_package is protected by the barrier Applicable_Use.
11517 * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
11518 the installation of the use-clauses to stablish a clean environment in
11519 case of compilation of a separate unit.
11520 (End_Use_Clauses): Minor comment cleanup.
11522 2004-06-25 Sergey Rybin <rybin@act-europe.fr>
11524 * gnat_ugn.texi: Add description of the gnatpp 'files' switch
11526 2004-06-23 Richard Henderson <rth@redhat.com>
11528 * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
11530 2004-06-20 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11532 * decl.c (elaborate_expression, elaborate_expression_1): Arguments
11533 now bool instead of int.
11534 (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
11535 * trans.c (gnu_switch_label_stack): New function.
11536 (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
11537 elaboration of renamed entity returns.
11538 (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
11539 (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
11540 (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
11541 (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
11542 DECL_SIZE_UNIT and simplify variable-sized case.
11543 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
11544 Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
11545 (gnat_stabilize_reference): Add arg to COMPONENT_REF.
11546 (build_unit_elab): Disable for now.
11547 * utils.c (mark_visited): New function.
11548 (pushdecl): Walk tree to call it for global decl.
11549 (update_pointer_to): Update all variants of pointer and ref types.
11550 Add arg to COMPONENT_REF.
11551 (convert): Likewise.
11552 Move check for converting between variants lower down.
11553 * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
11554 (build_allocator): Don't force type of MODIFY_EXPR.
11555 (gnat_mark_addressable, case VAR_DECL): Unconditionally call
11556 put_var_into_stack.
11558 2004-06-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11560 * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
11561 * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
11562 * decl.c (gnat_to_gnu_entity): Also set force_global for imported
11564 * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
11565 all callers changed.
11566 (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
11567 the way that EXIT_STMT finds the loop label.
11568 (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
11569 (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
11570 (add_stmt): Use annotate_with_locus insted of setting directly.
11571 (pos_to_construct): Set TREE_PURPOSE of each entry to index.
11572 (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
11573 * utils.c (gnat_install_builtins): Install __builtin_memcmp.
11574 (build_vms_descriptor): Add extra args to ARRAY_REF.
11575 (convert): Use VIEW_CONVERT_EXPR between aggregate types.
11576 * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
11578 (build_binary_op): Don't make explicit CONVERT_EXPR.
11579 Add extra rgs to ARRAY_REF.
11581 2004-06-14 Pascal Obry <obry@gnat.com>
11583 * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
11584 Windows. Fix minor typo.
11586 * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
11587 which is now supported on Windows. With this implementation using the
11588 Library Project feature is no different on Windows than on UNIX.
11590 2004-06-14 Vincent Celier <celier@gnat.com>
11592 * makegpr.adb (Compile_Sources): Nothing to do when there are no
11595 * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
11597 * prj-part.adb (Parse_Single_Project): When a duplicate project name is
11598 found, show the project name and the path of the previously parsed
11601 2004-06-14 Ed Schonberg <schonberg@gnat.com>
11603 * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
11604 array, avoid copying the actual before the call.
11606 2004-06-14 Thomas Quinot <quinot@act-europe.fr>
11608 * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
11609 Instead, allocate memory on worst-case alignment assumptions, and then
11610 return an aligned address within the allocated zone.
11612 2004-06-14 Robert Dewar <dewar@gnat.com>
11614 * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
11615 elab entities in predefined units in No_Run_Time_Mode.
11616 (Gen_Adainit_C): Same fix
11617 (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
11618 units in No_Run_Time_Mode
11619 (Gen_Elab_Calls_C): Same fix
11621 * symbols-vms-alpha.adb: Minor reformatting
11623 * g-debpoo.ads: Minor reformatting
11625 * lib.adb (In_Same_Extended_Unit): Version working on node id's
11627 * lib.ads (In_Same_Extended_Unit): Version working on node id's
11629 * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
11632 * make.adb: Minor reformatting
11634 * par-ch12.adb: Minor reformatting
11636 * par-prag.adb: Add dummy entry for pragma Profile_Warnings
11638 * prj-strt.adb: Minor reformatting
11640 * restrict.ads, restrict.adb: Redo handling of profile restrictions to
11643 * sem_attr.adb: Minor reformatting
11645 * sem_ch7.adb: Minor reformatting
11647 * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
11648 for type in the same unit as the object declaration.
11650 * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
11651 static string expressions and not just string literals.
11653 (Set_Warning): Reset restriction warning flag for restriction pragma
11654 Implement pragma Profile_Warnings
11655 Implement pragma Profile (Restricted)
11656 Give obolescent messages for old restrictions and pragmas
11658 * snames.h, snames.ads, snames.adb: Add new entry for pragma
11661 * s-rident.ads: Add declarations for restrictions required by profile
11662 Restricted and profile Ravenscar.
11664 * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
11666 * gnat_ugn.texi: Correct some missing entries in the list of GNAT
11667 configuration pragmas.
11669 2004-06-11 Vincent Celier <celier@gnat.com>
11671 * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
11672 gnatsym, when symbol policy is Restricted.
11674 * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
11675 gnatsym, when symbol policy is Restricted.
11677 * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
11678 read the symbol file.
11679 (Finalize): Fail in symbol policy Restricted if a symbol in the original
11680 symbol file is not in the object files. Do not create a new symbol file
11681 when symbol policy is Restricted.
11683 * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
11686 * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
11688 (Usage): Line for new switch -R
11690 * make.adb (Initialize): When the platform is not VMS, add the
11691 directory where gnatmake is invoked in the front of the path, if
11692 gnatmake is invoked with directory information. Change the Scan_Args
11693 while loop to a for loop.
11694 (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
11695 if Depth is equal or greater than the proposed depth, there is nothing
11697 (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
11700 * prj.ads: Add new symbol policy Restricted.
11702 * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
11703 with the new parameters Check_All_Labels and Case_Location.
11705 * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
11706 (Library_Symbol_File needs to be defined).
11708 * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
11709 and Case_Location If Check_All_Labels is True, check that all values of
11710 the string type are used, and output warning(s) if they are not.
11712 * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
11715 * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
11717 * gnat_ugn.texi: Update documentation about the library directory in
11720 * makegpr.adb (Display_Command): In verbose mode, also display the
11721 value of the CPATH env var, when the compiler is gcc.
11722 (Initialize): Change the Scan_Args while loop to a for loop
11723 (Compile_Individual_Sources): Change directory to object directory
11724 before compilations.
11726 * symbols.ads: New symbol policy Restricted.
11728 2004-06-11 Olivier Hainque <hainque@act-europe.fr>
11730 * a-except.adb (Raise_After_Setup family): Remove. The responsibility
11731 is now taken care of internally in the Exception_Propagation package
11732 and does not require clients assistance any more.
11734 * a-exexpr.adb (Is_Setup_And_Not_Propagated,
11735 Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
11736 functions. Helpers to maintain a predicate required in the handling of
11737 occurrence transfer between tasks.
11738 This is now handled internally and does not require clients assistance
11739 for the setup/propagate separation anymore.
11740 (Setup_Exception, Propagate_Exception): Simplify the Private_Data
11741 allocation strategy, handle the Setup_And_Not_Propagated predicate and
11744 * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
11745 raise_after_setup, now that everything is handled internally within the
11746 setup/propagation engine.
11748 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
11750 * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
11751 Add additional conditions for the case of an actual being a simple
11752 name or literal. Improve inlining by preventing the generation
11753 of temporaries with a short lifetime (one use).
11755 2004-06-11 Hristian Kirtchev <kirtchev@gnat.com>
11759 * einfo.ads: Minor comment updates for Has_Completion and
11760 E_Constant list of flags.
11762 * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
11763 and constant redeclarations now set the Has_Completion flag of their
11764 defining identifiers.
11766 * sem_ch7.adb (Analyze_Package_Spec): Add procedure
11767 Inspect_Deferred_Constant_Completion.
11768 Used to detect private deferred constants that have not been completed
11769 either by a constant redeclaration or pragma Import. Emits error message
11770 "constant declaration requires initialization expression".
11772 * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
11773 completes a deferred constant.
11775 2004-06-11 Geert Bosch <bosch@gnat.com>
11777 * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
11779 * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
11780 calculating exponent for scaling denormal numbers.
11781 (Leading_Part): Properly raise Constraint_Error for zero or negative
11783 (Remainder): Properly raise Constraint_Error for zero divisor.
11785 2004-06-11 Thomas Quinot <quinot@act-europe.fr>
11787 * sem_util.adb: Minor reformatting.
11789 * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
11790 dereference when accessing the entry parameter record.
11791 (Check_Array_Type): Always check for possible implicit dereference.
11792 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
11793 Abort if a pointer is still present (denoting that an implicit
11794 dereference was left in the tree by the front-end).
11796 * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
11797 dereference when accessing the entry parameter record.
11798 (Check_Array_Type): Always check for possible implicit dereference.
11799 (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
11800 Abort if a pointer is still present (denoting that an implicit
11801 dereference was left in the tree by the front-end).
11803 2004-06-11 Emmanuel Briot <briot@act-europe.fr>
11805 * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
11806 message, like the compiler itself does. Easier to parse the output.
11808 * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
11810 * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
11811 be base names, and not includes directories.
11813 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
11815 * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
11816 so that dependencies are properly taken into account by make.
11818 2004-06-11 Arnaud Charlet <charlet@act-europe.fr>
11821 * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
11822 exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
11824 2004-06-11 Jerome Guitton <guitton@act-europe.fr>
11826 * Makefile.in (install-gnatlib): install target-specific run-time files.
11828 * Make-lang.in: Remove obsolete targets.
11830 2004-06-11 Ed Schonberg <schonberg@gnat.com>
11832 * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
11833 specification, to catch misuses of program unit names.
11835 * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
11836 superfluous conversions in an instance.
11838 2004-06-11 Ed Schonberg <schonberg@gnat.com>
11842 * sem_ch12.adb (Save_References): If operator node has been folded to
11843 enumeration literal, associated_node must be discarded.
11845 2004-06-11 Jose Ruiz <ruiz@act-europe.fr>
11847 * s-stchop-vxworks.adb: Add required pragma Convention to
11848 Task_Descriptor because it is updated by a C function.
11850 2004-06-08 Arnaud Charlet <charlet@act-europe.fr>
11854 * Makefile.in: Remove target specific SO_OPT on IRIX
11856 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11858 * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
11859 (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
11860 (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
11861 (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
11862 (STMT_STMT, USE_STMT): New statement codes.
11863 (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
11864 * ada-tree.h: Reflect above changes.
11865 (struct tree_loop_id): Deleted.
11866 (union lang_tree_node, struct lang_decl, struct lang_type):
11867 Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
11868 and DECL_LANGUAGE_SPECIFIC to reflect these changes.
11869 (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
11870 (IS_ADA_STMT): New macro.
11871 * decl.c (annotate_decl_with_node): New function.
11872 (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
11873 (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
11874 Call add_stmt_with_node to do needed assignments.
11875 Add call to update setjmp buffer directly, not via EXPR_STMT.
11876 (maybe_variable): Argment GNAT_NODE deleted.
11877 * gigi.h (maybe_variable): Likewise.
11878 (make_transform, add_stmt_with_node, set_block_for_group): New.
11879 (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
11880 (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
11881 (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
11882 (set_lineno, set_lineno_from_sloc): Likewise.
11883 (record_code_position, insert_code_for): Likewise.
11884 (gnat_poplevel): Now returns void.
11885 (end_subprog_body): Now takes argument.
11886 * misc.c (cgraph.h, tree-inline.h): New includes.
11887 (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
11888 (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
11889 (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
11890 (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
11891 (gnat_parse_file): Don't set immediate_size_expand.
11892 Call cgraph functions.
11893 (gnat_expand_expr): Remove most cases.
11894 (record_code_position, insert_code_for): Remove from here.
11895 * trans.c (toplev.h, tree-gimple.h): Now included.
11896 (discard_file_names): Deleted.
11897 (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
11898 (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
11899 (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
11900 (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
11901 (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
11902 (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
11903 (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
11904 (set_block_for_group, add_stmt_list): Likewise.
11905 (start_stmt_group): Renamed from start_block_stmt.
11906 (end_stmt_group): Likewise, from end_block_stmt.
11907 (build_stmt_group): Likewise, from build_block_stmt, also add arg.
11908 (gigi): Don't set discard_file_names or call set_lineno.
11909 Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
11910 (tree_transform): Deleted, now renamed to be gnat_to_gnu.
11911 Numerous changes throughout to reflect new names and complete
11912 function-at-a-time implementation.
11913 (gnat_expand_stmt): Delete or comment out all cases.
11914 (process_inlined_subprograms): Use add_stmt.
11915 (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
11916 call set_lineno; also remove unneeded block handling.
11917 (process_type): Remove unneeded block handling.
11918 (build_unit_elab): Remove calls to deleted functions.
11919 * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
11920 (tree-dump.h): Likewise.
11921 (struct ada_binding_level): Add field jmpbuf_decl.
11922 (gnat_define_builtin, gnat_install_builtins): New.
11923 (gnat_gimplify_function, gnat_finalize): Likewise.
11924 (gnat_poplevel): No longer return BLOCK, set it instead.
11925 Remove code dealing with nested functions.
11926 (gnat_init_decl_processing): Also set size_type_node.
11927 Call gnat_install_builtins.
11928 (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
11929 (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
11930 Remove special-case for "main".
11931 (end_subprog_body): Add arg and rework for tree-ssa.
11932 (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
11933 Add case for BOOLEAN_TYPE.
11934 * utils2.c (rtl.h): Now include.
11935 (build_call_raise): Test Debug_Flag_NN directly.
11936 (build_call_alloc_dealloc): Don't use local stack allocation for now.
11937 (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
11938 (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
11940 2004-06-07 Robert Dewar <dewar@gnat.com>
11942 * a-direct.ads, einfo.ads: Minor comment updates
11944 * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
11945 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
11946 s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
11947 s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
11948 s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
11950 * s-interr-sigaction.adb: Remove unreferenced variable
11951 (Attached_Interrupts). Minor reformatting.
11952 Avoid use of variable I (replace by J).
11954 * par-ch10.adb: Fix text of one error message
11956 * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
11957 exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
11958 exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
11959 opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
11960 par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
11961 par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
11962 sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
11963 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
11964 sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
11965 sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
11966 snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
11969 2004-06-07 Doug Rupp <rupp@gnat.com>
11971 * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
11973 * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
11975 * mlib-tgt-vms-ia64.adb: New file.
11977 * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
11978 Add mlib-tgt-vms-ia64.adb
11979 Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
11980 Move to alpha specific ifeq section.
11981 Add VMS specific versions of symbols.adb
11982 Renaming of 5q vms files.
11984 * 5qsystem.ads renamed to system-vms_64.ads.
11986 2004-06-07 Vincent Celier <celier@gnat.com>
11988 * a-calend.ads: Add a GNAT Note comment after function Time_Of to
11989 explain that when a time of day corresponding to the non existing hour
11990 on the day switching to DST is specified, Split may return a different
11993 * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
11996 * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
11997 (Normalize_Pathname): Only resolve VMS logical names when on VMS.
11999 * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
12001 If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
12002 the linking options.
12003 (Build_Library.Check_Libs): On VMS, if there is a dependency on
12004 g-trasym.ads, set Gtrasymobj_Needed to True.
12006 * prj-attr.adb: Add new package Metrics for gnatmetric
12008 * prj-nmsc.adb (Record_Other_Sources): Put source file names in
12009 canonical case to take into account files with upper case characters on
12011 (Ada_Check): Load the reference symbol file name in the name buffer to
12012 check it, not the symbol file name.
12014 * snames.ads, snames.adb: Add standard name Metrics (name of project
12015 file package for gnatmetric).
12017 * vms_conv.ads: Add Metric to Comment_Type
12019 * vms_conv.adb (Initialize): Add component dor Metric in Command_List
12021 * vms_data.ads: Add qualifiers for GNAT METRIC
12023 * makegpr.adb (Link_Executables): Take into account the switches
12024 specified in package Linker of the main project.
12026 2004-06-07 Thomas Quinot <quinot@act-europe.fr>
12028 * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
12029 the index of the last element is Units.Last, not Units.Table'Last
12030 (which is usually not a valid index within the actually allocated
12031 storage for the table).
12033 * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
12034 determines whether to generate a call to a checked storage pool
12035 Dereference action.
12036 Generate such a call only for a dereference that either comes from
12037 source, or is the result of rewriting a dereference that comes from
12040 2004-06-07 Romain Berrendonner <berrendo@act-europe.fr>
12042 * bindgen.adb (Gen_Output_File): Add support for GAP builds.
12044 2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr>
12046 (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
12047 file level, elaborate the stride for inner dimensions in alignment
12050 * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
12053 2004-06-07 Javier Miranda <miranda@gnat.com>
12055 * exp_ch6.adb: Correct wrong modification in previous patch
12057 2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr>
12059 * g-trasym.ads: Corrected comment to properly reflect level of support
12062 2004-06-07 Hristian Kirtchev <kirtchev@gnat.com>
12064 * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
12065 includes case of a variable referenced on the left hand side of an
12066 assignment, therefore remove redundant code. Variables and prefixes of
12067 indexed or selected components are now marked as referenced on left
12068 hand side. Warnings are now properly emitted when variables or prefixes
12069 are assigned but not read.
12071 * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
12072 left hand side referenced variables. Private access types do not
12073 produce the warning "variable ... is assigned but never read".
12074 Add also additional checks to left hand side referenced variables.
12075 Aliased, renamed objects and access types do not produce the warning
12076 "variable ... is assigned but never read" since other entities may read
12077 the memory location.
12079 2004-06-07 Jerome Guitton <guitton@act-europe.fr>
12081 * Makefile.in: In the powerpc/vxworks-specific section, restore
12082 EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
12085 2004-06-07 Ed Schonberg <schonberg@gnat.com>
12087 * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
12088 predefined operators.
12089 Removes spurious type errors from g-trasym-vms.adb.
12091 * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
12092 distinct from the operator appearing in the source, call appropriate
12093 routine to insert conversions when needed, and complete resolution of
12095 (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
12096 interpretations for rewritten right operand.
12097 (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
12098 the other operand is overloaded and the context is a type conversion.
12100 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12102 * ada-tree.def (BLOCK_STMT): Now has two operands.
12105 * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
12107 * gigi.h: (gnat_poplevel): Now returns a tree.
12109 * trans.c (end_block_stmt): Add arg; all callers changed.
12110 (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
12111 (start_block_stmt): Clear BLOCK_STMT_BLOCK.
12112 (add_stmt): Set TREE_TYPE.
12113 (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
12114 (gnat_expand_stmt, case BREAK_STMT): New case.
12116 * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
12118 2004-06-07 Jose Ruiz <ruiz@act-europe.fr>
12120 * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
12121 procedure Set_Stack_Size that is not needed.
12123 2004-06-07 Sergey Rybin <rybin@act-europe.fr>
12125 * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
12126 used for gnatpp input file and for the files upon which it depends
12128 2004-06-07 Ben Brosgol <brosgol@gnat.com>
12130 * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
12132 2004-06-07 Arnaud Charlet <charlet@act-europe.fr>
12134 * gnatvsn.ads: Bump version numbers appropriately.
12135 Add new build type.
12137 2004-06-07 Pascal Obry <obry@gnat.com>
12139 * gnat_ugn.texi: Improve comments about imported names and link names
12140 on Windows. Add a note about the requirement to use -k gnatdll's option
12141 when working with a DLL which has stripped stdcall symbols (no @nn
12144 2004-05-27 Vincent Celier <celier@gnat.com>
12146 * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
12147 COMMENTS_LAYOUT=UNTOUCHED
12149 * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
12150 symbols-vms-alpha.adb
12152 2004-05-27 Thomas Quinot <quinot@act-europe.fr>
12154 * sem.ads: Clarify documentation on checks suppression.
12156 * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
12158 2004-05-27 Ed Schonberg <schonberg@gnat.com>
12160 * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
12161 the case of multiple derivations.
12162 (Is_Object_Reference): For a selected component, verify that the prefix
12163 is itself an object and not a value.
12165 * sem_ch12.adb (Same_Instantiated_Constant): New name for
12166 Same_Instantiated_Entity.
12167 (Same_Instantiated_Variable): Subsidiary to
12168 Check_Formal_Package_Instance, to recognize actuals for in-out generic
12169 formals that are obtained from a previous formal package.
12170 (Instantiate_Subprogram_Body): Emit proper error when
12171 generating code and the proper body of a stub is missing.
12173 * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
12174 has a universal interpretation, do the disambiguation here.
12176 * exp_ch4.adb (Expand_N_Type_Conversion,
12177 Expand_N_Unchecked_Type_Conversion): Special handling when target type
12178 is Address, to avoid typing anomalies when Address is a visible integer
12181 * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
12182 to determine whether a subprogram should not be marked Pure, even when
12183 declared in a pure package.
12185 2004-05-27 Jose Ruiz <ruiz@act-europe.fr>
12187 * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
12189 * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
12190 Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
12191 Update the documentation about the Ravenscar profile, following the
12192 definition found in AI-249.
12194 * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
12195 setting the Profile (Ravenscar). This must be done in addition to
12196 setting the required restrictions.
12198 * rtsfind.ads: Add the set of operations defined in package
12201 * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
12204 2004-05-27 Eric Botcazou <ebotcazou@act-europe.fr>
12206 lang-specs.h: Always require -c or -S and always redirect to /dev/null
12207 if -gnatc or -gnats is passed.
12209 2004-05-27 Hristian Kirtchev <kirtchev@gnat.com>
12211 * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
12212 a significant reference. Warnings are now properly emitted when a
12213 discriminated type is not referenced.
12215 * lib-xref.adb (Generate_Reference): A deferred constant completion,
12216 record representation clause or record type discriminant does not
12217 produce a reference to its corresponding entity. Warnings are now
12218 properly emitted when deferred constants and record types are not
12221 2004-05-27 Geert Bosch <bosch@gnat.com>
12223 * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
12224 Fixes ACATS Annex G tests.
12226 2004-05-27 Robert Dewar <dewar@gnat.com>
12228 * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
12231 2004-05-27 Arnaud Charlet <charlet@act-europe.fr>
12233 * s-interr.adb (Server_Task): Take into account case of early return
12234 from sigwait under e.g. linux.
12236 2004-05-27 Sergey Rybin <rybin@act-europe.fr>
12238 * gnat_ugn.texi: Add description for the new gnatpp options:
12239 -rnb - replace the original source without creating its backup copy
12240 -c0 - do not format comments
12242 2004-05-24 Geert Bosch <bosch@gnat.com>
12244 * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
12245 with 192 bits of precision, sufficient to reduce a double-extended
12246 arguments X with a maximum relative error of T'Machine_Epsilon, for X
12247 in -2.0**32 .. 2.0**32.
12248 (Cos, Sin): Always reduce arguments of 1/4 Pi or larger, to prevent
12249 reduction by the processor, which only uses a 68-bit approximation of
12251 (Tan): Always reduce arguments and compute function either using
12252 the processor's fptan instruction, or by dividing sin and cos as needed.
12254 2004-05-24 Doug Rupp <rupp@gnat.com>
12256 * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
12257 gcc error on 32/64 bit VMS.
12259 2004-05-24 Olivier Hainque <hainque@act-europe.fr>
12261 * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
12262 since this is what we get for stack overflows although not documented
12264 Document the issues which may require adjustments to our signal
12267 2004-05-24 Ed Schonberg <schonberg@gnat.com>
12269 * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
12270 enclosing dynamic scope if the instantiation is within a generic unit.
12272 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
12274 * exp_dbug.ads: Fix typo.
12276 * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
12277 Rename it to its proper name: system-linux-ia64.ads
12278 (stamp-gnatlib1): Remove extra target specific run time files when
12279 setting up the rts directory.
12281 2004-05-24 Javier Miranda <miranda@gnat.com>
12283 * einfo.ads, einfo.adb (Limited_Views): Removed.
12284 (Limited_View): New attribute that replaces the previous one. It is
12285 now a bona fide package with the limited-view list through the
12286 first_entity and first_private attributes.
12288 * sem_ch10.adb (Install_Private_With_Clauses): Give support to
12289 limited-private-with clause.
12290 (Install_Limited_Withed_Unit): Install the private declarations of a
12291 limited-private-withed package. Update the installation of the shadow
12292 entities according to the new structure (see Build_Limited_Views)
12293 (Build_Limited_Views): Replace the previous implementation of the
12294 limited view by a package entity that references the first shadow
12295 entity plus the first shadow private entity (required for limited-
12296 private-with clause)
12297 (New_Internal_Shadow_Entity): Code cleanup.
12298 (Remove_Limited_With_Clause): Update the implementation to undo the
12299 new work carried out by Build_Limited_Views.
12300 (Build_Chain): Complete documentation.
12301 Replace Ada0Y by Ada 0Y in comments
12304 * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
12305 types the level of accessibility depends on the enclosing type
12308 * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
12309 entities. Complete documentation of previous change.
12311 2004-05-24 Robert Dewar <dewar@gnat.com>
12313 * namet.adb: Minor reformatting
12314 Avoid use of name I (replace by J)
12315 Minor code restructuring
12317 * sem_ch6.adb: Minor reformatting
12319 * lib-writ.adb: Do not set restriction as active if this is a
12320 Restriction_Warning case.
12322 * sem_prag.adb: Reset restriction warning flag if real pragma
12323 restriction encountered.
12325 * s-htable.adb: Minor reformatting
12326 Change rotate count to 3 in Hash (improves hash for small strings)
12328 * 5qsystem.ads: Add comments for type Address (no literals allowed).
12330 * gnat_ugn.texi: Add new section of documentation "Code Generation
12331 Control", which describes the use of -m switches.
12333 2004-05-24 Eric Botcazou <ebotcazou@act-europe.fr>
12335 trans.c (tree_transform) <N_Identifier>: Do the dereference directly
12336 through the DECL_INITIAL for renamed variables.
12338 2004-05-24 Arnaud Charlet <charlet@act-europe.fr>
12340 * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
12342 2004-05-19 Joel Brobecker <brobecker@gnat.com>
12344 * exp_dbug.ads: Correct comments concerning handling of overloading,
12345 since we no longer use $ anymore.
12347 2004-05-19 Sergey Rybin <rybin@act-europe.fr>
12349 * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
12350 ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
12351 with illegal subunits.
12353 2004-05-19 Ed Schonberg <schonberg@gnat.com>
12355 * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
12356 body with front-end inlining enabled, check whether an inline pragma
12357 appears immediately after the body and applies to it.
12359 * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
12360 enabled and the pragma appears after the body of the subprogram.
12362 2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12364 Part of function-at-a-time conversion
12366 * misc.c (adjust_decl_rtl): Deleted.
12367 (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
12370 * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
12371 (add_decl_stmt, add_stmt, block_has_vars): New functions.
12372 (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
12374 * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
12375 when making a decl.
12376 (gnat_to_gnu_entity): Likewise.
12377 Use add_stmt to update setjmp buffer.
12378 Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
12380 No longer call adjust_decl_rtl.
12381 (DECL_INIT_BY_ASSIGN_P): New macro.
12382 (DECL_STMT_VAR): Likewise.
12384 * trans.c (gigi): Call start_block_stmt to make the outermost
12386 (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
12387 Call start_block_stmt and end_block_stmt temporarily.
12388 Use gnat_expand_stmt instead of expand_expr_stmt.
12389 (add_decl_stmt): New function.
12390 (tree_transform): Call it.
12391 (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
12392 (end_block_stmt): Set type and NULL_STMT.
12393 (gnat_expand_stmt): Make recursize call instead of calling
12395 (gnat_expand_stmt, case DECL_STMT): New case.
12396 (set_lineno_from_sloc): Do nothing if global.
12397 (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
12398 (start_block_stmt, add_stmt, end_block_stmt): New functions.
12399 (build_block_stmt): Call them.
12400 (gnat_to_code): Don't expand NULL_STMT.
12401 (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
12403 (tree_transform): Likewise.
12404 (tree_transform, case N_Null_Statement): Return NULL_STMT.
12405 (gnat_expand_stmt, case NULL_STMT): New case.
12406 (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
12409 * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
12412 * utils.c (create_var_decl): Do not call expand_decl or
12414 Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
12415 Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
12417 (struct e_stack): Add chain_next to GTY.
12418 (struct binding_level): Deleted.
12419 (struct ada_binding_level): New struct.
12420 (free_block_chain): New.
12421 (global_binding_level, clear_binding_level): Deleted.
12422 (global_bindings_p): Rework to see if no chain.
12423 (kept_level_p, set_block): Deleted.
12424 (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
12425 new data structure and work directly on BLOCK node.
12426 (gnat_poplevel): Similarly.
12427 (get_decls): Look at BLOCK_VARS.
12428 (insert_block): Work directly on BLOCK node.
12429 (block_has_var): New function.
12430 (pushdecl): Rework for new binding structures.
12431 (gnat_init_decl_processing): Rename and rework calls to pushlevel and
12433 (build_subprog_body): Likewise.
12434 (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
12436 * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
12438 * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
12439 (DECL_STMT_VAR): Likewise.
12441 2004-05-17 Robert Dewar <dewar@gnat.com>
12443 * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
12446 * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
12447 of restriction synonyums by using
12448 Restrict.Process_Restriction_Synonyms.
12450 * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
12452 * s-restri.ads (Tasking_Allowed): Correct missing comment
12454 * s-rident.ads: Add entries for restriction synonyms
12456 * ali.adb: Fix some problems with badly formatted ALI files that can
12457 result in infinite loops.
12459 * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
12460 s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
12461 s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
12462 s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
12463 s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
12464 s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
12465 s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
12466 s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
12467 s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
12468 a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
12469 exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
12470 s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
12471 s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
12472 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
12473 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
12474 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
12475 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
12476 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
12477 s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
12478 s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
12479 to Task_Id (minor cleanup).
12481 2004-05-17 Vincent Celier <celier@gnat.com>
12483 * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
12484 directory separator.
12486 * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
12487 project being extended, if Languages is not declared in extending
12490 2004-05-17 Javier Miranda <miranda@gnat.com>
12492 * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
12493 limited view of a visible sibling.
12495 2004-05-14 Robert Dewar <dewar@gnat.com>
12497 * gnat_ugn.texi: Minor change to -gnatS documentation
12499 * sprint.adb: Remove some instances of Assert (False) and for this
12500 purpose replace them by output of a ??? string.
12502 * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
12505 * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
12506 flag processing. This was suppressing required dependencies in
12507 No_Run_Time mode and is not needed since the binder does not generate
12508 references for things in libgnat anyway.
12510 * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
12513 2004-05-14 Thomas Quinot <quinot@act-europe.fr>
12515 * gnat_ugn.texi: Document AIX-specific issue with initialization of
12518 * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
12519 action for the case of an actual parameter in an init proc call.
12521 2004-05-14 Ed Schonberg <schonberg@gnat.com>
12523 * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
12524 subtype, check visible entities in base type.
12526 * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
12527 actions if the object is a renaming.
12529 * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
12530 Check_Formal_Package_Instance, to determine more precisely when the
12531 formal and the actual denote the same entity.
12533 2004-05-14 Javier Miranda <miranda@gnat.com>
12535 * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
12537 * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
12538 corresponding to a private_with must be removed from visibility; it
12539 will be made visible later, just before we analyze the private part of
12541 (Check_Private_Child_Unit): Allow private_with clauses in public
12543 (Install_Siblings): Make visible the private entities of private-withed
12545 (Install_Withed_Unit): Do not install the private withed unit if we
12546 are compiling a package declaration and the Private_With_OK flag was
12547 not set by the caller. These declarations will be installed later,
12548 just before we analyze the private part of the package.
12550 * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
12551 during the evaluation of the expression that initializes the object,
12552 decorate it with the expected type to avoid cascade errors.
12555 * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
12556 subprogram we have to install the private_with clauses after its
12557 specification has been analyzed (as documented in AI-262.TXT).
12559 * sem_ch8.adb (Has_Private_With): New function. Determines if the
12560 current compilation unit has a private with on a given entity.
12561 (Find_Direct_Name): Detect the Beaujolais problem described in
12564 * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
12565 provides the functionality of the function Is_Ancestor that was
12566 previously available in sem_ch10. It has been renamed to avoid
12569 * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
12571 2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12573 * utils.c (build_vms_descriptor): Use SImode pointers.
12575 2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr>
12577 * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
12579 2004-05-14 GNAT Script <nobody@gnat.com>
12581 * Make-lang.in: Makefile automatically updated
12583 2004-05-14 Arnaud Charlet <charlet@act-europe.fr>
12585 Renaming of target specific files for clarity
12587 * Makefile.in: Rename GNAT target specific files.
12589 * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
12590 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
12591 3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
12592 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
12593 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
12594 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
12595 42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
12596 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
12597 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
12598 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
12599 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
12600 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
12601 51osinte.adb, 51osinte.ads, 51system.ads,
12602 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
12603 55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
12604 56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
12605 56tpopsp.adb, 57system.ads, 58system.ads,
12606 5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
12607 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
12608 5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
12609 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
12610 5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
12611 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
12612 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
12613 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
12614 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
12615 5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
12616 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
12617 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
12618 5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
12619 5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
12620 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
12621 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
12622 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
12623 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
12624 5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
12625 5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
12626 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
12627 5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
12628 5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
12629 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
12630 5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
12631 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
12632 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
12633 5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
12634 5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
12635 5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
12636 5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
12637 5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
12638 5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
12639 5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
12640 5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
12641 5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
12642 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
12643 7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
12644 7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
12645 7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
12647 * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
12648 a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
12649 a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
12650 a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
12651 a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
12652 a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
12653 a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
12654 a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
12655 a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
12656 a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
12657 g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
12658 g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
12659 g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
12660 g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
12661 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
12662 g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
12663 g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
12664 g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
12665 interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
12666 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
12667 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
12668 mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
12669 s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
12670 s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
12671 s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
12672 s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
12673 s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
12674 s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
12675 s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
12676 s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
12677 s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
12678 s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
12679 s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
12680 s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
12681 s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
12682 s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
12683 s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
12684 s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
12685 s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
12686 s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
12687 s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
12688 s-osinte-vms.ads, s-osinte-vxworks.adb,
12689 s-osinte-vxworks.ads, s-osprim-mingw.adb,
12690 s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
12691 s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
12692 s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
12693 s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
12694 s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
12695 s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
12696 s-stchop-vxworks.adb, s-taprop-dummy.adb,
12697 s-taprop-hpux-dce.adb, s-taprop-irix.adb,
12698 s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
12699 s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
12700 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
12701 s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
12702 s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
12703 s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
12704 s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
12705 s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
12706 s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
12707 s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
12708 s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
12709 s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
12710 s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
12711 s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
12712 s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
12713 s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
12714 s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
12715 symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
12716 system-hpux.ads, system-interix.ads, system-irix-n32.ads,
12717 system-irix-o32.ads, system-linux-x86_64.ads,
12718 system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
12719 system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
12720 system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
12721 system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
12722 system-vxworks-alpha.ads, system-vxworks-m68k.ads,
12723 system-vxworks-mips.ads, system-vxworks-ppc.ads,
12724 system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
12727 2004-05-13 Zack Weinberg <zack@codesourcery.com>
12729 * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
12731 2004-05-13 Diego Novillo <dnovillo@redhat.com>
12733 Merge from tree-ssa-20020619-branch.
12735 * config-lang.in (boot_language, build_by_default): Set
12737 * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
12738 (max_size): Add static chain op for call_expr.
12740 2004-05-12 Richard Sandiford <rsandifo@redhat.com>
12743 * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
12745 2004-05-11 Roger Sayle <roger@eyesopen.com>
12747 * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
12750 2004-05-10 Doug Rupp <rupp@gnat.com>
12752 * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
12755 * s-auxdec.ads: Add Short_Address subtype (moved here from System).
12757 * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
12759 * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
12760 Fixes undefined symbols in IA64 gnatlib.
12762 * 5vinmaop.adb: Reference s-auxdec for Short_Address.
12764 * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
12765 Short_Address). This will be moved to system.auxdec.
12767 2004-05-10 Thomas Quinot <quinot@act-europe.fr>
12769 * sem_util.adb: Replace test for presence of a node that is always
12770 present with a call to Discard_Node.
12772 * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
12773 Analyze on the library unit node after generation of distribution stub
12774 constructs. The call was a no-op because Unit_Node has already been
12775 Analyzed, and the tree fragments for the distribution stubs are
12776 analyzed as they are inserted in Exp_Dist.
12777 Update comment regarding to distribution stubs to reflect that we
12778 do not generate stub in separate files anymore.
12780 * einfo.ads: Clarify the fact that a tagged private type has the
12781 E_Record_Type_With_Private Ekind.
12783 * erroutc.adb: Minor reformatting
12785 * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
12786 values if line length is increased using -gnatyM (noticed during code
12789 * eval_fat.adb: Minor reformatting
12790 Put spaces around exponentiation operator
12792 2004-05-10 Ed Schonberg <schonberg@gnat.com>
12795 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
12796 has been rewritten as an explicit dereference, retrieve type of
12797 original node to check for possibly unconstrained record type.
12799 2004-05-10 Ed Schonberg <schonberg@gnat.com>
12801 * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
12802 overriding, use the operation of the parent unconditionally.
12804 * sem_ch4.adb (Remove_Address_Interpretations): Remove address
12805 operation when either operand is a literal, to avoid further
12808 * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
12809 overridden by a previous explicit declaration, mark the previous entity
12812 * sem_disp.adb (Check_Dispatching_Operation): New predicate
12813 Is_Visibly_Controlled, to determine whether a declaration of a
12814 primitive control operation for a derived type overrides an inherited
12815 one. Add warning if the explicit declaration does not override.
12817 2004-05-10 Vincent Celier <celier@gnat.com>
12819 * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
12820 some cases when the sources are no longer present.
12822 * make.adb (Collect_Arguments): Fail if an external source, not part
12823 of any project need to be compiled, when switch -x has not been
12826 * makeusg.adb: Document new switch -x
12828 * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
12829 defaulted to False.
12831 * switch-m.adb (Scan_Make_Switches): New switch -x
12833 * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
12834 gnatmake switch -x.
12836 * gnat_ugn.texi: Document new gnatmake switch -x
12838 2004-05-10 Eric Botcazou <ebotcazou@act-europe.fr>
12840 * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
12842 * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
12843 (process_attributes): Likewise.
12845 2004-05-10 Joel Brobecker <brobecker@gnat.com>
12847 * s-inmaop.ads: Fix spelling mistake in one of the comments.
12849 2004-05-10 Robert Dewar <dewar@gnat.com>
12851 * gnat_ugn.texi: Document that for config pragma files, the maximum
12852 line length is always 32767.
12854 * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
12855 literals is now allowed.
12857 * gnat-style.texi: Remove statement about splitting long lines before
12858 an operator rather than after, since we do not follow this rule at all.
12859 Clarify rule (really lack of rule) for spaces around exponentiation
12861 * sem_elim.adb: Allow concatenation of string literals as well as a
12862 single string literal for pragma arguments.
12864 * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
12866 * a-textio.adb (Terminate_Line): Do not add line feed if nothing
12867 written for append case.
12869 * frontend.adb: Changes to avoid checking max line length in config
12872 * g-os_lib.ads: Minor reformatting
12874 * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
12875 wrong in any case. Instead use standard value. Noticed during code
12878 * opt.ads (Max_Line_Length): New field, used to implement removal of
12879 limitation on length of lines when scanning config pragma files.
12881 * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
12882 makeutl.ads, makeutl.adb: Minor reformatting
12884 * scn.adb: Do not check line length while scanning config pragma files
12885 Do not check line length while scanning out license information
12887 * scng.adb: Changes to avoid line length checks while parsing config
12890 2004-05-10 GNAT Script <nobody@gnat.com>
12892 * Make-lang.in: Makefile automatically updated
12894 2004-05-05 Arnaud Charlet <charlet@act-europe.fr>
12896 * osint.adb (Find_Program_Name): Fix handling of VMS version
12899 2004-05-05 Emmanuel Briot <briot@act-europe.fr>
12901 * g-os_lib.ads (Invalid_Time): New constant
12903 * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
12904 return OS_Time instead of time_t to match what is imported by Ada.
12905 Now return -1 if the file doesn't exist, instead of a random value
12907 2004-05-05 Robert Dewar <dewar@gnat.com>
12909 * usage.adb: Add line for -gnatR?s switch
12911 * sem_ch13.adb, exp_ch2.adb: Minor reformatting
12913 * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
12914 and for Match (Data_First, Data_last)
12916 * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
12917 written when we are dealing with multi-unit files.
12919 2004-05-05 Jerome Guitton <guitton@act-europe.fr>
12921 * Makefile.in: Remove unused targets and variables.
12923 2004-05-05 Vincent Celier <celier@gnat.com>
12925 * switch-m.adb: New gnatmake switch -eI
12927 * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
12928 of new gnatmake switch -eInnn.
12930 * makegpr.adb: Take into account new parameters Index and Src_Index in
12933 * clean.adb: Implement support for multi-unit sources, including new
12936 * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
12939 * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
12940 (Extract_From_Q): New out parameter Index
12941 (Mark, Is_Marked): Subprograms moved to Makeutl
12942 (Switches_Of): New parameter Source_Index
12943 (Add_Switch): New parameter Index
12944 (Check): New parameter Source_Index
12945 (Collect_Arguments): New parameter Source_Index
12946 (Collect_Arguments_And_Compile): New parameter Source_Index
12947 (Compile): New parameter Source_Index
12948 Put subprograms in alphabetical order
12949 Add support for multi-source sources, including in project files.
12951 * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
12952 (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
12955 * makeusg.adb: New gnatmake switch -eInnn
12957 * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
12960 * opt.ads (Main_Index): New variable, defaulted to 0.
12962 * osint.ads, osinte.adb (Add_File): New parameter Index
12963 (Current_Source_Index): New function
12965 * prj.adb: Take into account new components Index and Src_Index
12967 * prj.ads (String_Element): New component Index
12968 (Variable_Value): New component Index
12969 (Array_Element): New component Src_Index
12971 * prj-attr.adb: Indicate that optional index may be specified for
12972 attributes Main, Executable, Spec, Body and some of Switches.
12974 * prj-attr.ads (Attribute_Kind): New values for optional indexes
12975 (Attribute_Record): New component Optional_Index
12977 * prj-com.ads (File_Name_Data): New component Index
12979 * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
12981 * prj-env.adb (Put): Output optional index
12983 * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
12984 attributes Spec and Body.
12986 * prj-nmsc.adb: Process optional indexes
12988 * prj-pp.adb: Ouput "at" for optional indexes
12990 * prj-proc.adb: Take into account optional indexes
12992 * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
12993 Optional_Index. For string literal,
12994 process optional index when Optional_Index is True.
12995 (Parse_Expresion): New Boolean parameter Optional_Index
12997 * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
12998 (Set_Source_Index_Of): New procedure
13000 * prj-util.adb (Executable_Of, Value_Of): Take into account optional
13003 * prj-util.ads (Executable_Of): New parameter Index
13004 (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
13005 New parameter Src_Index, defaulted to 0.
13007 2004-05-05 Ed Schonberg <schonberg@gnat.com>
13010 * sem_ch3.adb (Access_Definition): If this is an access parameter
13011 whose designated type is imported through a limited_with clause, do
13012 not add the enclosing subprogram to the list of private dependents of
13015 2004-05-05 Ed Schonberg <schonberg@gnat.com>
13018 * sem_ch6.adb (Base_Types_Match): True if one type is imported through
13019 a limited_with clause, and the other is its non-limited view.
13021 2004-05-05 Thomas Quinot <quinot@act-europe.fr>
13023 * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
13025 * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
13026 exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
13027 Stand.Boolean_Literals to produce references to entities
13028 Standard_False and Standard_True from compile-time computed boolean
13031 * stand.ads (Boolean_Literals): New variable, provides the entity
13032 values for False and True, for use by the expander.
13034 2004-05-05 Doug Rupp <rupp@gnat.com>
13036 * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
13037 5vinmaop.adb: Unchecked convert Short_Address vice Address
13039 * adaint.c, raise.c: Caste CRTL function return value
13040 to avoid gcc error on 32/64 bit IVMS.
13042 * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
13045 * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
13047 * 5qsystem.ads (Address): Declare as Long_Integer
13048 (Short_Address): Declare as 32 bit subtype of Address
13049 Declare abstract address operations to avoid gratuitous ambiguities.
13051 2004-05-05 Jose Ruiz <ruiz@act-europe.fr>
13053 * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
13054 instead of the old Boolean_Entry_Barriers.
13055 Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
13057 2004-05-05 GNAT Script <nobody@gnat.com>
13059 * Make-lang.in: Makefile automatically updated
13061 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
13063 * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
13065 2004-05-03 Olivier Hainque <hainque@act-europe.fr>
13069 * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
13070 alone. Replacing object references by literals is inappropriate in a
13071 so low level context.
13073 2004-05-03 Arnaud Charlet <charlet@act-europe.fr>
13075 * a-exexpr.adb: Add comments
13077 2004-05-03 Joel Brobecker <brobecker@gnat.com>
13079 * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
13080 declare the Ancestor_Tags array in Type_Specific_Data with a small size
13081 without risking a bounds check error when accessing one of its
13083 (Type_Specific_Data): Define Ancestor_Tags as a small array.
13084 This prevents us from hitting a limitation during the debug info
13085 generation when using stabs.
13087 * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
13089 This prevents us from hitting a limitation during the debug info
13090 generation when using stabs.
13092 2004-05-03 Eric Botcazou <ebotcazou@act-europe.fr>
13094 lang-specs.h: Remove -gnatz* from specs.
13096 2004-05-03 Vincent Celier <celier@gnat.com>
13098 * gprmake.adb, makegpr.ads, makegpr.adb: New files.
13100 * Make-lang.in, Makefile.in: Add gprmake
13102 2004-05-03 Thomas Quinot <quinot@act-europe.fr>
13104 * sem_aggr.adb: Fix typo in comment.
13106 2004-05-03 Robert Dewar <dewar@gnat.com>
13108 * make.adb: Minor reformatting
13110 * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
13112 * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
13113 so that it works when address is not a private type.
13115 * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
13116 properly with rewritten unchecked conversions. This prevents
13117 order-of-elaboration issues that can otherwise arise.
13118 (Minimum_Size): Don't check size of access types under VMS
13120 * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
13121 interpretations of integer literals as type System.Address.
13123 * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
13124 (Is_Descendent_Of): New function
13126 2004-05-03 Jose Ruiz <ruiz@act-europe.fr>
13128 * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
13129 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
13130 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
13132 * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
13133 of the old Max_Entry_Queue_Depth.
13135 * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
13136 Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
13137 No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
13139 * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
13140 New entry for proper handling of Max_Entry_Queue_Depth.
13141 New entry for proper handling of No_Dynamic_Interrupts.
13143 * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
13144 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
13145 Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
13146 the GNAT specific restriction Max_Entry_Queue_Depth.
13147 Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
13148 the GNAT specific restriction No_Dynamic_Interrupts.
13150 * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
13151 instead of the old Boolean_Entry_Barriers.
13152 Use the new restriction No_Dynamic_Attachment instead of the old
13153 No_Dynamic_Interrupts.
13155 * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
13156 supersedes the GNAT specific restriction Boolean_Entry_Barriers.
13158 * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
13159 of the old Max_Entry_Queue_Depth.
13161 2004-05-03 GNAT Script <nobody@gnat.com>
13163 * Make-lang.in: Makefile automatically updated
13165 2004-04-29 Ed Schonberg <schonberg@gnat.com>
13167 * checks.adb (Enable_Range_Check): If the prefix of an index component
13168 is an access to an unconstrained array, perform check unconditionally.
13170 2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13172 * decl.c (gnat_to_gnu_field): Also call make_packable_type if
13175 2004-04-29 Olivier Hainque <hainque@act-europe.fr>
13177 * init.c (__gnat_install_handler, __gnat_error_handler): Remove
13178 alternate stack setting. There was no support for the tasking cases
13179 and the changes eventually caused a number of side-effect failures in
13180 the non-tasking case too.
13182 2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr>
13184 lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
13187 2004-04-29 Vincent Celier <celier@gnat.com>
13189 * make.adb (Gnatmake): Increase max size of argument array for
13190 gnatbind for the potential addition of -F.
13191 If there are Stand-Alone Library projects, invoke gnatbind with -F to
13192 be sure that elaboration flags will be checked.
13194 * switch-c.adb: Correct call to Scan_Pos for -gnateI
13196 2004-04-29 Thomas Quinot <quinot@act-europe.fr>
13198 * sem_warn.adb (Check_References): Move '<access-variable> may be
13199 null' warning out of under Warn_On_No_Value_Assigned.
13201 2004-04-29 Ed Falis <falis@gnat.com>
13203 * gnat_ugn.texi: Fixed texi error
13205 2004-04-29 Robert Dewar <dewar@gnat.com>
13207 * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
13208 abstract operations if they come from predefined files.
13210 * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
13213 * s-addope.adb: Correct obvious error in mod function
13215 2004-04-28 Andrew W. Reynolds <awreynolds@mac.com>
13217 * Makefile.in: Add target pairs for powerpc darwin*
13220 * a-intnam-darwin.ads, s-osinte-darwin.adb,
13221 s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
13223 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
13225 * Makefile.in: Add target macro definitions for s390*-linux*.
13226 * system-linux-s390.ads: New file.
13227 * system-linux-s390x.ads: New file.
13229 2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
13231 * gnat_ugn.texi: Correct argument to @setfilename.
13233 2004-04-28 Ulrich Weigand <uweigand@de.ibm.com>
13235 * a-exexpr.adb (Unwind_Word): New data type.
13236 (Unwind_Exception): Use it as type of Private1 and Private2.
13238 * raise.c (db_action_for): Fix debug printf.
13240 2004-04-27 Ed Schonberg <schonberg@gnat.com>
13242 * a-wtmoio.ads: Formal type must be a modular type, not a signed
13245 2004-04-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13247 * decl.c (gnat_to_gnu_entity, case object): Call
13248 __builtin_update_setjmp_buf.
13250 * gigi.h (update_setjmp_buf): Deleted.
13251 (ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.
13253 * misc.c: (update_setjmp_buf): Deleted.
13255 * trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
13256 around block of RTL.
13258 * utils.c (init_gigi_decls): Initialize update_setjmp_buf.
13260 2004-04-26 Thomas Quinot <quinot@act-europe.fr>
13262 * sem_dist.adb, exp_dist.adb: When constructing a RAS value for a local
13263 subprogram for which no pragma All_Calls_Remote applies, store the
13264 address of the real subprogram in the underlying record type, so local
13265 dereferences do not go through the PCS.
13267 2004-04-26 Robert Dewar <dewar@gnat.com>
13269 * i-c.ads: Add some type qualifications to avoid ambiguities when
13270 compiling with s-auxdec.ads and a non-private address type.
13272 2004-04-26 Arnaud Charlet <charlet@act-europe.fr>
13274 * Makefile.rtl: Fix error in previous check-in:
13275 Add s-addope.o to non tasking object list (rather than tasking object
13278 2004-04-26 Javier Miranda <miranda@gnat.com>
13280 * sem_aggr.adb: Fix typo in comments
13281 (Resolve_Aggr_Expr): Propagate the type to the nested aggregate.
13282 Required to check the null-exclusion attribute.
13284 * sem_attr.adb (Resolve_Attribute): Check the accessibility level in
13285 case of anonymous access types in record and array components. For a
13286 component definition the level is the same of the enclosing composite
13289 * sem_ch3.adb (Analyze_Component_Declaration): In case of components
13290 that are anonymous access types the level of accessibility depends on
13291 the enclosing type declaration. In order to have this information, set
13292 the scope of the anonymous access type to the enclosing record type
13294 (Array_Type_Declaration): In case of components that are anonymous
13295 access types the level of accessibility depends on the enclosing type
13296 declaration. In order to have this information, set the scope of the
13297 anonymous access type to the enclosing array type declaration.
13299 * sem_ch3.adb (Array_Type_Declaration): Set the scope of the anonymous
13302 * sem_ch8.adb (Analyze_Object_Renaming): Add check to verify that
13303 renaming of anonymous access-to-constant types allowed if and only if
13304 the renamed object is access-to-constant.
13306 * sem_util.adb (Type_Access_Level): In case of anonymous access types
13307 that are component_definition or discriminants of a nonlimited type,
13308 the level is the same as that of the enclosing component type.
13310 2004-04-26 Sergey Rybin <rybin@act-europe.fr>
13312 * sem_elim.adb: Some minor code reorganization from code reading. Fix
13313 misprint in the function name (File_Name_Match).
13315 2004-04-23 Laurent GUERBY <laurent@guerby.net>
13317 * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
13320 2004-04-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13322 * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
13324 2004-04-23 Emmanuel Briot <briot@act-europe.fr>
13326 * adaint.c (__gnat_try_lock): No longer requires that the parent
13327 directory be writable, the directory itself is enough.
13328 (gnat_is_absolute_path): Change profile, so that the call from
13329 GNAT.OS_Lib can be made more efficient.
13331 * adaint.h (gnat_is_absolute_path): Change profile, so that the call
13332 from GNAT.OS_Lib can be made more efficient.
13334 * g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
13335 one copy of the file name. Found by code reading.
13337 2004-04-23 Vincent Celier <celier@gnat.com>
13339 * gnat_ugn.texi: Add documentation for gnatmake switch -eL
13340 Correct documentation on gnatmake switches transmitted to the compiler
13342 * ali.ads: Minor comment fix
13344 2004-04-23 Javier Miranda <miranda@gnat.com>
13346 * sem_ch6.adb: (Confirming Types): Code cleanup
13348 * decl.c (gnat_to_gnu_entity): Give support to anonymous access to
13349 subprogram types: E_Anonymous_Access_Subprogram_Type and
13350 E_Anonymous_Access_Protected_Subprogram_Type.
13352 2004-04-23 Thomas Quinot <quinot@act-europe.fr>
13354 * sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
13355 whether a pragma All_Calls_Remote applies to the subprogram on which
13357 No functional change is introduced by this revision; the new parameter
13358 will be used to allow calls to local RCI subprograms to be optimized
13359 to not use the PCS in the case where no pragma All_Calls_Remote applies,
13360 as is already done in the PolyORB implementation of the DSA.
13362 * exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
13363 whether a pragma All_Calls_Remote applies to the subprogram on which
13365 No functional change is introduced by this revision; the new parameter
13366 will be used to allow calls to local RCI subprograms to be optimized
13367 to not use the PCS in the case where no pragma All_Calls_Remote applies,
13368 as is already done in the PolyORB implementation of the DSA.
13370 2004-04-23 Robert Dewar <dewar@gnat.com>
13372 * Makefile.rtl: Add entry for s-addope.o in run time library list
13373 * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
13374 * s-addope.ads, s-addope.adb: New files.
13376 * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
13377 s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
13378 s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
13379 System.Address to be non-private and signed.
13381 * sem_elim.adb: Minor reformatting (fairly extensive)
13382 Some minor code reorganization from code reading
13383 Add a couple of ??? comments
13385 2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13387 * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
13388 (tree_transform, case N_If_Statement): Remove non-determinism.
13390 * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
13392 2004-04-23 Sergey Rybin <rybin@act-europe.fr>
13394 * gnat_rm.texi: Small fixes in the changes made in the 'pragma
13395 Eliminate' section.
13397 * snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
13398 no longer used as a parameter name for Eliminate pragma).
13400 2004-04-22 Laurent GUERBY <laurent@guerby.net>
13402 PR optimization/14984
13403 PR optimization/14985
13404 * trans.c (gigi): Fix non determinism leading to bootstrap
13405 comparison failures.
13407 2004-04-21 Pascal Obry <obry@gnat.com>
13409 * adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
13410 passed to spawnvp() to properly handle program pathname with spaces on
13413 2004-04-21 Emmanuel Briot <briot@act-europe.fr>
13415 * g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
13416 (Allocate, Deallocate, Free_Physically): Make sure the tasks are
13417 unlocked in case of exceptions.
13419 2004-04-21 Joel Brobecker <brobecker@gnat.com>
13421 * gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
13422 This function does not exist anymore.
13424 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
13426 * gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
13428 * link.c: Move variables to the __gnat name space.
13430 * Makefile.in: list link.o explicitly when needed.
13432 * mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
13434 2004-04-21 Javier Miranda <miranda@gnat.com>
13436 * einfo.adb (Original_Access_Type): New subprogram
13437 (Set_Original_Access_Type): New subprogram
13438 (Write_Field21_Name): Write the name of the new field
13440 * einfo.ads (Original_Access_Type): New field present in access to
13442 Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
13443 E_Anonymous_Access_Protected_Subprogram_Type.
13445 * lib-xref.adb (Output_One_Ref): Give support to anonymous access to
13448 * lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
13449 to anonymous access to subprogram types.
13451 * sem_attr.adb (Resolve_Attribute): Give support to anonymous access
13452 to subprogram types.
13454 * sem_ch3.adb (Access_Definition): Complete decoration of entities
13455 corresponding to anonymous access to subprogram types.
13456 (Analyze_Component_Declaration): Add new actual to the call to
13457 subprogram replace_anonymous_access_to_protected_subprogram.
13458 (Array_Type_Declaration): Add new actual to the call to subprogram
13459 replace_anonymous_access_to_protected_subprogram.
13460 (Process_Discriminants): Add new actual to the call to subprogram
13461 replace_anonymous_access_to_protected_subprogram.
13462 (Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
13464 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
13467 * sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
13468 access to subprogram types.
13470 * sem_util.adb (Has_Declarations): Addition of package_specification
13473 2004-04-21 Ed Schonberg <schonberg@gnat.com>
13475 * sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
13476 inlined flags to renamed entity only if in current unit.
13478 2004-04-21 Thomas Quinot <quinot@act-europe.fr>
13480 * s-parint.ads: Add DSA implementation marker.
13482 * rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
13483 value of System.Partition_Interface.DSA_Implementation to determine
13484 what version of the distributed systems annex is available (no
13485 implementation, GLADE, or PolyORB).
13487 2004-04-21 Joel Brobecker <brobecker@gnat.com>
13489 * targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
13491 2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13493 * utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
13494 with new type if alias sets differ.
13495 Fixes ACATS c41103b.
13497 2004-04-21 Vincent Celier <celier@gnat.com>
13499 * prj.ads: Remove FORTRAN as an accepted language: not tested yet.
13500 Add array Lang_Args for the language specific compiling argument
13503 * gnat_ugn.texi: Explain in more details when a library is rebuilt.
13505 2004-04-21 Sergey Rybin <rybin@act-europe.fr>
13507 * gnat_rm.texi: Update the descripton of the Eliminate pragma
13508 according to the recent changes in the format of the parameters of the
13509 pragma (replacing Homonym_Number with Source_Location).
13511 2004-04-19 Arnaud Charlet <charlet@act-europe.fr>
13513 * 5isystem.ads: Removed, unused.
13515 * gnat_rm.texi: Redo 1.13 change.
13517 2004-04-19 Robert Dewar <dewar@gnat.com>
13519 * s-stoele.ads: Clean up definition of Storage_Offset (the new
13520 definition is cleaner, avoids the kludge of explicit Standard operator
13521 references, and also is consistent with a visible System.Address with
13522 no visible operations.
13524 * s-geveop.adb: Add declarations to avoid assumption of visible
13525 operations on type System.Address (since these might not be available
13526 if Address is a non-private type for which the operations
13527 are made abstract).
13529 * sem_eval.adb: Minor reformatting
13531 * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
13532 s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
13533 reformatting (new function spec format).
13535 * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
13536 s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
13537 s-caun64.adb: Add declarations to avoid assumption of visible
13538 operations on type System.Address (since these might not be available
13539 if Address is a non-private type for which the operations are made
13542 * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.
13544 * exp_intr.adb: Minor comment update
13546 * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.
13548 * 5omastop.adb: Add declarations to avoid assumption of visible
13549 operations on type System.Address (since these might not be available
13550 if Address is a non-private type for which the operations
13551 are made abstract).
13553 2004-04-19 Vincent Celier <celier@gnat.com>
13555 * switch-m.adb: (Scan_Make_Switches): Process new switch -eL
13557 * prj-pars.ads (Parse): New Boolean parameter Process_Languages,
13560 * prj-proc.adb (Process): New Boolean parameter Process_Languages,
13562 Call Check with Process_Languages.
13563 (Check): New Boolean parameter Process_Languages. Call Recursive_Check
13564 with Process_Languages.
13565 (Recursive_Check): New Boolean parameter Process_Languages. Call
13566 Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
13569 * prj-proc.ads (Process): New Boolean parameter Process_Languages,
13571 * prj-util.ads, prj-util.adb (Executable_Of): New Boolean
13572 parameter Ada_Main, defaulted to True.
13573 Check for Ada specific characteristics only when Ada_Main is True.
13575 * opt.ads: (Follow_Links): New Boolean flag for gnatmake
13577 * prj.adb: (Project_Empty): Add new Project_Data components.
13579 * prj.ads: New types and tables for non Ada languages.
13580 (Project_Data): New components Languages, Impl_Suffixes,
13581 First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
13582 Include_Path, Include_Data_Set.
13584 * prj-env.ads, prj-env.adb: Minor reformatting
13586 * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
13587 Put subprograms in alphabetical order
13589 * prj-pars.adb (Parse): New Boolean parameter Process_Languages,
13590 defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
13593 * mlib-prj.adb: Back out modification in last version, as they are
13595 (Build_Library.Check_Libs): Remove useless pragma Warnings (Off)
13597 * make.adb: (Mains): Moved to package Makeutl
13598 (Linker_Opts): Moved to package Makeutl
13599 (Is_External_Assignment): Moved to package Makeutl
13600 (Test_If_Relative_Path): Moved to package Makeutl
13601 (Gnatmake): Move sorting of linker options to function
13602 Makeutl.Linker_Options_Switches.
13604 * makeutl.ads, makeutl.adb: New files.
13606 * Makefile.in: Add makeutl.o to the object files for gnatmake
13608 * makeusg.adb: Add line for new switch -eL.
13610 * gnatls.adb (Image): New function.
13611 (Output_Unit): If in verbose mode, output the list of restrictions
13612 specified by pragmas Restrictions.
13614 * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
13617 * a-calend.adb (Split): Shift the date by multiple of 56 years, if
13618 needed, to put it in the range 1970 (included) - 2026 (excluded).
13619 (Time_Of): Do not shift Unix_Min_Year (1970).
13620 Shift the date by multiple of 56 years, if needed, to put it in the
13621 range 1970 (included) - 2026 (excluded).
13623 * adaint.h, adaint.c (__gnat_set_executable): New function.
13625 2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13627 * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
13628 and pop GC context.
13629 (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
13630 (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
13631 (tree_transform, case N_Procedure_Call_Statement): Build a tree.
13632 (tree_transform, case N_Code_Statement): Likewise.
13633 (gnat_expand_stmt, case LABEL_STMT): Don't look at
13634 LABEL_STMT_FIRST_IN_EH.
13635 (gnat_expand_stmt, case ASM_STMT): New case.
13637 * utils2.c (build_unary_op): Properly set TREE_READONLY of
13638 UNCONSTRAINED_ARRAY_REF.
13640 * utils.c (poplevel): Temporarily push/pop GC context around inline
13641 function expansion.
13643 * decl.c (maybe_variable): Properly set TREE_READONLY of
13644 UNCONSTRAINED_ARRAY_REF.
13645 (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.
13647 * ada-tree.def: (ASM_STMT): New.
13649 * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
13650 (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
13651 ASM_STMT_INPUT): New.
13652 (ASM_STMT_CLOBBER): Likewise.
13654 2004-04-19 Thomas Quinot <quinot@act-europe.fr>
13656 * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
13657 general rcheck mechanism to raise Program_Error for E.4(18), instead
13658 of a custom raiser in System.Partition_Interface.
13659 Part of general cleanup work before PolyORB integration.
13661 * snames.ads, snames.adb: Add new runtime library entities and names
13664 * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
13666 (Build_Subprogram_Id): New subprogram provided by exp_dist
13667 Code reorganisation in preparation for PolyORB integration.
13669 * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
13671 (Build_Subprogram_Id): New subprogram provided by exp_dist
13673 * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
13674 actual parameter types for call to dereference of an
13675 access-to-subprogram type.
13677 * rtsfind.ads: Add new runtime library entities and names for PolyORB
13680 * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
13681 instead, which has the same behaviour here since we never pass it a
13684 * link.c (run_path_option, Solaris case): Use -Wl, as for other
13687 * Makefile.in: adjust object file lists for gnatlink and gnatmake
13688 to account for new dependency upon Interfaces.C.Strings + link.o
13689 For x86 FreeBSD, use 86numaux.
13691 * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
13692 from Mlib.Tgt to Mlib.
13694 * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
13695 target-independent.
13697 * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
13698 target-specific versions of this subprogram, now implemented as a
13699 target-independent function in Mlib.
13701 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
13702 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
13703 (Linker_Library_Path_Option): Remove target-specific versions of this
13704 subprogram, now implemented as a target-independent function in Mlib.
13706 * atree.adb: (Allocate_Initialize_Node): New subprogram.
13707 Factors out node table slots allocation.
13708 (Fix_Parents): New subprogram.
13709 Encapsulate the pattern of fixing up parent pointers for syntactic
13710 children of a rewritten node.
13711 (New_Copy_Tree): Use New_Copy to copy non-entity nodes.
13712 (Rewrite): Use New_Copy when creating saved copy of original node.
13713 (Replace): Use Copy_Node to copy nodes.
13715 2004-04-19 Javier Miranda <miranda@gnat.com>
13717 * sprint.adb (Sprint_Node_Actual): Give support to the new
13718 Access_To_Subprogram node available in Access_Definition nodes. In
13719 addition, give support to the AI-231 node fields: null-exclusion,
13720 all-present, constant-present.
13722 * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
13724 * sinfo.ads, sinfo.adb:
13725 New field Access_To_Subprogram_Definition in Access_Definition nodes
13727 * sem_ch6.adb (Process_Formals): Move here the code that creates and
13728 decorates internal subtype declaration corresponding to the
13729 null-excluding formal. This code was previously in Set_Actual_Subtypes.
13730 In addition, carry out some code cleanup on this code. In case of
13731 access to protected subprogram call
13732 Replace_Anonymous_Access_To_Protected_Subprogram.
13733 (Set_Actual_Subtypes): Code cleanup.
13735 * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
13736 Find_Type in case of anonymous access renamings. Add warning in case of
13737 null-excluding attribute used in anonymous access renaming.
13739 * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
13742 * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
13744 (Access_Definition): In case of anonymous access to subprograms call
13745 the corresponding semantic routine to decorate the node.
13746 (Access_Subprogram_Declaration): Addition of some comments indicating
13747 some code that probably should be added here. Detected by comparison
13748 with the access_definition subprogram.
13749 (Analyze_Component_Declaration): In case of access to protected
13750 subprogram call Replace_Anonymous_Access_To_Protected.
13751 (Array_Type_Declaration): In case of access to protected subprogram call
13752 Replace_Anonymous_Access_To_Protected_Subprogram.
13753 (Process_Discriminants): In case of access to protected subprogram call
13754 Replace_Anonymous_Access_To_Protected_Subprogram.
13756 * par.adb (P_Access_Definition): New formal that indicates if the
13757 null-exclusion part was present.
13758 (P_Access_Type_Definition): New formal that indicates if the caller has
13759 already parsed the null-excluding part.
13761 * par-ch3.adb (P_Subtype_Declaration): Code cleanup.
13762 (P_Identifier_Declarations): Code cleanup and give support to renamings
13763 of anonymous access to subprogram types.
13764 (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
13765 (P_Array_Type_Definition): Give support to AI-254.
13766 (P_Component_Items): Give support to AI-254.
13767 (P_Access_Definition): New formal that indicates if the header was
13768 already parsed by the caller.
13769 (P_Access_Type_Definition): New formal that indicates if the caller has
13770 already parsed the null-excluding part.
13772 * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
13773 call to P_Access_Definition.
13775 2004-04-19 Geert Bosch <bosch@gnat.com>
13777 * checks.adb (Apply_Float_Conversion_Check): New procedure to implement
13778 the delicate semantics of floating-point to integer conversion.
13779 (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.
13781 * eval_fat.adb (Machine_Mantissa): Moved to spec.
13782 (Machine_Radix): New function.
13784 * eval_fat.ads (Machine_Mantissa): Moved from body for use in
13786 (Machine_Radix): New function also for use in conversion checks.
13788 2004-04-19 Ed Schonberg <schonberg@gnat.com>
13790 * par-prag.adb (Source_File_Name_Project): Fix typo in error message.
13792 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
13793 to decorate the access-to-protected subprogram and the equivalent type.
13795 * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
13796 to anonymous access to subprogram types.
13798 * exp_ch4.adb (Expand_N_In): Preserve Static flag before
13799 constant-folding, for legality checks in contexts that require an RM
13802 * exp_ch6.adb (Expand_N_Function_Call): If call may generate large
13803 temporary but stack checking is not enabled, increment serial number
13804 to so that symbol generation is consistent with and without stack
13807 * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
13808 independent on whether stack checking is enabled, caller must check
13809 the corresponding flag.
13811 * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
13813 (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
13814 parent if it has discriminants.
13815 (Build_Derived_Private_Type): Constructed full view does
13816 not come from source.
13817 (Process_Discriminants): Default discriminants on a tagged type are
13818 legal if this is the internal completion of a private untagged
13821 * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
13822 no constraint checks, because it corresponds to an existing object.
13824 * sem_prag.adb (Process_Convention): Pragma applies
13825 only to subprograms in the same declarative part, i.e. the same unit,
13826 not the same scope.
13828 * sem_res.adb (Valid_Conversion): In an instance or inlined body,
13829 ignore type mismatch on a numeric conversion if expression comes from
13832 2004-04-19 Sergey Rybin <rybin@act-europe.fr>
13834 * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
13835 Homonym_Number parameter, add processing for Source_Location parameter
13837 (Check_Eliminated): Remove the check for homonym numbers, add the check
13838 for source location traces.
13840 * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
13841 with Arg_Source_Location corresponding to the changes in the format of
13844 * sem_prag.adb: (Analyze_Pragma): Changes in the processing of
13845 Eliminate pragma corresponding to the changes in the format of the
13846 pragma: Homonym_Number is replaced with Source_Location, two ways of
13847 distinguishing homonyms are mutially-exclusive.
13849 2004-04-19 Joel Brobecker <brobecker@gnat.com>
13851 * get_targ.ads (Get_No_Dollar_In_Label): Remove.
13853 * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
13854 No_Dollar_In_Label, no longer necessary, as it is always True.
13855 (Strip_Suffixes): Likewise.
13857 2004-04-19 Gary Dismukes <dismukes@gnat.com>
13859 * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
13860 modulus for compatibility with size clause on targets with 16-bit
13863 * layout.adb (Discrimify): In the case of private types, set Vtyp to
13864 full type to fix type mismatches on calls to size functions for
13865 discriminant-dependent array components.
13867 2004-04-19 Jerome Guitton <guitton@act-europe.fr>
13869 * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
13872 2004-04-19 Pascal Obry <obry@gnat.com>
13874 * mdll-utl.adb (Locate): New version is idempotent.
13876 2004-04-17 Laurent Guerby <laurent@guerby.net>
13878 PR ada/14988 (partial)
13879 * impunit.adb: Fix typo.
13881 2004-04-14 Nathanael Nerode <neroden@gcc.gnu.org>
13883 * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
13884 and install-rts-cert targets. Remove all gnatlib and gnattools
13885 targets and all other rts-* targets (moved to libada). Remove (now)
13886 unused Make variables CHMOD, CHMOD_AX_FLAGS, shext, THREAD_KIND,
13887 TRACE, GNATLIBFLAGS, GNATLIBCFLAGS.
13889 2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13891 * trans.c (tree_transform): Shortcut returning error_mark_node for
13892 statements in annotate_only_mode.
13893 (tree_transform, case N_Label, case N_Return_Statement,
13894 N_Goto_Statement): Make statement tree instead of generating code.
13895 (tree_transform, case N_Assignment_Statement): No longer check
13896 type_annotate_only.
13897 (gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
13899 (first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
13901 (gnat_to_gnu): Collect any RTL generated and deal with it.
13902 (tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
13903 (tree_transform case N_If_Statement): Rewrite to make IF_STMT.
13904 (gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
13906 * ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
13908 * ada-tree.def (EXPR_STMT): Fix typo in name.
13909 (BLOCK_STMT, IF_STMT): New nodes.
13911 * ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
13912 LABEL_STMT_FIRST_IN_EH): New macros.
13913 (RETURN_STMT_EXPR): Likewise.
13915 * ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
13916 IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
13918 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
13920 * atree.ads: Correct documentation on extended nodes.
13922 * link.c: Set run_path_option for FreeBSD.
13924 2004-04-08 Vincent Celier <celier@gnat.com>
13926 * mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
13927 one of the ALI file, do not link with DEC lib.
13929 * par.adb Remove the last two characters ("%s" or "%b") when checking
13930 if a language defined unit may be recompiled.
13932 2004-04-08 Ed Schonberg <schonberg@gnat.com>
13934 * sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
13935 removal of abstract operation leaves no possible interpretation for
13938 * sem_eval.adb (Eval_Qualified_Expression): Use
13939 Set_Raises_Constraint_Error on node when needed, so that it does not
13940 get optimized away by subsequent optimizations.
13942 * sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
13943 operands even when they are not wrapped in a type conversion.
13945 2004-04-08 Olivier Hainque <hainque@act-europe.fr>
13947 * sem_prag.adb (Set_Exported): Warn about making static as result of
13948 export only when the export is coming from source. This may be not
13949 be true e.g. on VMS where we expand export pragmas for exception codes
13950 together with imported or exported exceptions, and we don't want the
13951 user to be warned about something he didn't write.
13953 2004-04-08 Thomas Quinot <quinot@act-europe.fr>
13955 * sem_util.adb (Note_Possible_Modification): Reorganize to remove code
13956 duplication between normal entities and those declared as renamings.
13957 No functional change.
13959 * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
13960 inline functions returning an unconstrained result.
13962 2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
13964 * utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
13965 conform to what other front-ends do.
13967 2004-04-08 Doug Rupp <rupp@gnat.com>
13969 * 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
13972 2004-04-06 Pascal Obry <obry@gnat.com>
13974 * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
13976 * osint.adb (Program_Name): Do not look past a directory separator.
13978 2004-04-06 Thomas Quinot <quinot@act-europe.fr>
13980 * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
13982 * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
13983 requirement for preserving a copy of the original assignment node.
13985 * sinfo.ads: Update comment (Original_Tree -> Original_Node).
13987 2004-04-06 Olivier Hainque <hainque@act-europe.fr>
13989 (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
13992 2004-04-06 Ed Schonberg <schonberg@gnat.com>
13994 * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
13995 operator calls in functional notation, and apply
13996 Universal_Interpretation to operands, not to their type.
13998 2004-04-06 Robert Dewar <dewar@gnat.com>
14000 * 5wdirval.adb: Minor reformatting
14002 2004-04-06 Ed Falis <falis@gnat.com>
14004 * gnat_rm.texi: Improve a reference to the GCC manual
14006 2004-04-05 Vincent Celier <celier@gnat.com>
14008 * adaint.h, adaint.c: Add function __gnat_named_file_length
14010 * impunit.adb: Add Ada.Directories to the list
14012 * Makefile.in: Add VMS and Windows versions of
14013 Ada.Directories.Validity package body.
14015 * Makefile.rtl: Add a-direct and a-dirval
14017 * mlib-tgt.ads: Minor comment update.
14019 * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
14020 a-direct.ads, a-direct.adb: New files.
14022 2004-04-05 Vincent Celier <celier@gnat.com>
14025 * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
14026 just to the compiler.
14028 2004-04-05 Robert Dewar <dewar@gnat.com>
14030 * a-except.adb (Exception_Name_Simple): Make sure lower bound of
14031 returned string is 1.
14033 * ali-util.adb: Use proper specific form for Warnings (Off, entity)
14035 * eval_fat.ads: Minor reformatting
14037 * g-curexc.ads: Document that lower bound of returned string values
14040 * gnatlink.adb: Add ??? comment for previous change
14041 (need to document why this is VMS specific)
14043 * s-stoele.ads: Minor reformatting
14045 * tbuild.ads: Minor reformatting throughout (new function specs)
14047 * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
14050 * scng.adb: Minor reformatting
14052 2004-04-05 Geert Bosch <bosch@gnat.com>
14054 * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
14055 (Leading_Part): Still perform truncation to machine number if the
14056 specified radix_digits is greater or equal to machine_mantissa.
14058 2004-04-05 Javier Miranda <miranda@gnat.com>
14060 * par-ch3.adb: Complete documentation of previous change
14061 Correct wrong syntax documentation of the OBJECT_DECLARATION rule
14062 (aliased must appear before constant).
14064 * par-ch4.adb: Complete documentation of previous change.
14066 * par-ch6.adb: Complete documentation of previous change.
14068 * sinfo.ads: Fix typo in commment.
14070 2004-04-05 Ed Schonberg <schonberg@gnat.com>
14072 * sem_ch3.adb (Inherit_Components): If derived type is private and has
14073 stored discriminants, use its discriminants to constrain parent type,
14074 as is done for non-private derived record types.
14076 * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
14077 Ada 2005 AI-310: an abstract non-dispatching operation is not a
14078 candidate interpretation in an overloaded call.
14080 * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
14081 expression is Null and target type is not an access type (e.g. a
14082 non-private address type).
14084 2004-04-05 Thomas Quinot <quinot@act-europe.fr>
14086 * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
14087 statement whose right-hand side is an inlined call, save a copy of the
14088 original assignment subtree to preserve enough consistency for
14089 Analyze_Assignment to proceed.
14091 * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
14092 complete assignment subtree which is now unnecessary, as the expansion
14093 of inlined call has been improved to preserve a consistent assignment
14094 tree. Note_Possible_Modification must be called only
14095 after checks have been applied, or else unnecessary checks will
14098 * sem_util.adb (Note_Possible_Modification): Reorganise the handling
14099 of explicit dereferences that do not Come_From_Source:
14100 - be selective on cases where we must go back to the dereferenced
14101 pointer (an assignment to an implicit dereference must not be
14102 recorded as modifying the pointer);
14103 - do not rely on Original_Node being present (Analyze_Assignment
14104 calls Note_Possible_Modification on a copied tree).
14106 * sem_warn.adb (Check_References): When an unset reference to a pointer
14107 that is never assigned is encountered, prefer '<pointer> may be null'
14108 warning over '<pointer> is never assigned a value'.
14110 2004-04-05 Ramon Fernandez <fernandez@gnat.com>
14112 * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
14115 2004-04-05 Olivier Hainque <hainque@act-europe.fr>
14117 * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
14118 libexc. We currently don't reference anything in this library and
14119 linking it in triggers linker warnings we don't want to see.
14121 * init.c: Update comments.
14123 2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14125 * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
14126 * utils.c (create_field_decl): Likewise.
14127 * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
14129 2004-04-02 Arnaud Charlet <charlet@act-europe.fr>
14131 * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
14132 Replace ifinfo by ifnottex, to make makeinfo --html happy again.
14133 Add info directory entry and category.
14135 2004-04-02 Jan Hubicka <jh@suse.cz>
14137 * utils.c: Include function.h
14138 (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
14140 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
14143 * Make-lang.in: Clean up generation of documentation
14145 * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
14147 * xgnatug.adb: Removed, replaced by xgnatugn.adb
14149 * xgnatugn.adb: Replaces xgnatug.adb
14151 * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
14153 * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
14155 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
14156 gnat_ug_wnt.texi: Removed.
14158 2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
14160 * utils2.c: Update copyright notice.
14162 2004-04-01 Robert Dewar <dewar@gnat.com>
14164 * checks.adb: Minor reformatting throughout
14165 Note that prev checkin added RM reference to alignment warning
14167 2004-04-01 Ed Schonberg <schonberg@gnat.com>
14169 * exp_aggr.adb (Get_Component_Val): Treat a string literal as
14170 non-static when building aggregate for bit-packed array.
14172 * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
14173 function call that is itself the actual in a procedure call, build
14176 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
14177 a string literal, create a temporary for it, constant folding only
14178 handles scalars here.
14180 2004-04-01 Vincent Celier <celier@gnat.com>
14182 * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
14183 Error_Msg_SP): New empty procedures to instantiate the Scanner.
14184 (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
14186 (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
14187 (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
14188 and get the checksum.
14190 * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
14192 Increase the Marking_Label at the end of the Multiple_Main_Loop,
14193 instead of at the beginning.
14195 * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
14197 (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
14200 * osint.ads (Multi_Unit_Index_Character): New Character global variable
14202 * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
14205 * par.adb: Remove test on file name to detect language defined units.
14206 Add test on unit name, after parsing, to detect language defined units
14207 that are not compiled with -gnatg (except System.RPC and its children)
14209 * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
14210 following units without style checking.
14212 * switch-c.adb: Change -gnatC to -gnateI
14214 * usage.adb: Document new switch -gnateInnn
14216 * scng.adb (Accumulate_Token_Checksum): New procedure
14217 (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
14218 word or literal number.
14219 (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
14222 2004-04-01 Thomas Quinot <quinot@act-europe.fr>
14225 g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
14226 switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
14227 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
14228 5vtpopde.adb: Add missing 'constant' keywords.
14230 2004-04-01 Javier Miranda <miranda@gnat.com>
14232 * par-ch4.adb: (P_Allocator): Code cleanup
14234 * sem_ch3.adb (Access_Definition): Properly set the null-excluding
14237 * sinfo.ads: Complete documentation of previous change
14239 2004-04-01 Pascal Obry <obry@gnat.com>
14241 * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
14242 only on VMS. This special handling was done because an old GNU/ld bug
14243 on Windows which has been fixed.
14245 2004-04-01 GNAT Script <nobody@gnat.com>
14247 * Make-lang.in: Makefile automatically updated
14249 2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14251 * decl.c (gnat_to_gnu_entity, make_type_from_size):
14252 Use TYPE_UNSIGNED, not TREE_UNSIGNED.
14253 * trans.c (tree_transform, convert_with_check): Likewise.
14254 * utils.c (gnat_signed_or_unsigned_type): Likewise.
14255 (build_vms_descriptor, unchecked_convert): Likewise.
14256 * utils2.c (nonbinary_modular_operation): Likewise.
14258 2004-03-29 Javier Miranda <miranda@gnat.com>
14260 * checks.adb (Null_Exclusion_Static_Checks): New subprogram
14261 (Install_Null_Excluding_Check): Local subprogram that determines whether
14262 an access node requires a runtime access check and if so inserts the
14263 appropriate run-time check.
14264 (Apply_Access_Check): Call Install_Null_Excluding check if required
14265 (Apply_Constraint_Check): Call Install_Null_Excluding check if required
14267 * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
14269 * einfo.ads: Fix typo in comment
14271 * exp_ch3.adb (Build_Assignment): Generate conversion to the
14272 null-excluding type to force the corresponding run-time check.
14273 (Expand_N_Object_Declaration): Generate conversion to the null-excluding
14274 type to force the corresponding run-time check.
14276 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
14277 the null-excluding type to force the corresponding run-time check.
14279 * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
14280 case of access types unless they have the null-excluding attribute.
14282 * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
14285 * exp_util.ads: Fix typo in comment
14287 * par.adb (P_Null_Exclusion): New subprogram
14288 (P_Subtype_Indication): New formal that indicates if the null-excluding
14289 part has been scanned-out and it was present
14291 * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
14293 * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
14294 (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
14295 type to force the corresponding run-time check
14296 (Resolve_Aggregate): Propagate the null-excluding attribute to the array
14298 (Resolve_Array_Aggregate): Carry out some static checks
14299 (Resolve_Record_Aggregate.Get_Value): Carry out some static check
14301 * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
14302 attribute must be set only if specified by means of the null-excluding
14303 part. In addition, we must also propagate the access-constant attribute
14305 (Access_Subprogram_Declaration, Access_Type_Declaration,
14306 Analyze_Component_Declaration, Analyze_Object_Declaration,
14307 Array_Type_Declaration, Process_Discriminants,
14308 Analyze_Subtype_Declaration): Propagate the null-excluding attribute
14309 and carry out some static checks.
14310 (Build_Derived_Access_Type): Set the null-excluding attribute
14311 (Derived_Type_Declaration, Process_Subtype): Carry out some static
14314 * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
14316 * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
14318 * sem_ch6.adb (Process_Formals): Carry out some static checks.
14319 (Set_Actual_Subtypes): Generate null-excluding subtype if the
14320 null-excluding part was present; it is not required to be done here in
14321 case of anonymous access types.
14322 (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
14325 * sem_res.adb (Resolve_Actuals): Carry out some static check
14326 (Resolve_Null): Allow null in anonymous access
14328 * sinfo.adb: New subprogram Null_Exclusion_Present
14329 All_Present and Constant_Present available on access_definition nodes
14331 * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
14332 object_declaration, derived_type_definition, component_definition,
14333 discriminant_specification, access_to_object_definition,
14334 access_function_definition, allocator, access_procedure_definition,
14335 access_definition, parameter_specification, All_Present and
14336 Constant_Present flags available on access_definition nodes.
14338 2004-03-29 Robert Dewar <dewar@gnat.com>
14340 * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
14341 gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
14342 opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
14343 par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
14344 sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
14345 sem_prag.adb: Updates to handle multiple units/file
14347 * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
14349 * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
14350 sem_util.adb: Minor reformatting
14352 * sem_ch12.adb: Add comment for previous change
14354 2004-03-29 Laurent Pautet <pautet@act-europe.fr>
14356 * osint.adb (Executable_Prefix): Set Exec_Name to the current
14357 executable name when not initialized. Otherwise, use its current value.
14359 * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
14360 initialize it to another executable name than the current one. This
14361 allows to configure paths for an executable name (gnatmake) different
14362 from the current one (gnatdist).
14364 2004-03-29 Ed Schonberg <schonberg@gnat.com>
14366 * exp_ch6.adb (Expand_Call): A call to a function declared in the
14367 current unit cannot be inlined if it appears in the body of a withed
14368 unit, to avoid order of elaboration problems in gigi.
14370 * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
14371 information for protected (wrapper) operation as well, to simplify gdb
14374 * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
14375 protected body, indicate that the entity for the generated spec comes
14376 from source, to ensure that references are properly generated for it.
14377 (Build_Body_To_Inline): Do not inline a function that returns a
14380 * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
14381 apply convention to homonyms that are declared explicitly.
14383 * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
14384 that renames an equality operator and the operands are overloaded,
14385 resolve them with the declared formal types, before rewriting as an
14388 2004-03-29 GNAT Script <nobody@gnat.com>
14390 * Make-lang.in: Makefile automatically updated
14392 2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
14394 * memtrack.adb: Log realloc calls, which are treated as free followed
14397 2004-03-25 Vincent Celier <celier@gnat.com>
14399 * prj-makr.adb (Process_Directories): Detect when a file contains
14400 several units. Do not include such files in the config pragmas or
14401 in the naming scheme.
14403 * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
14404 Resolve links only when not in Trusted_Mode.
14405 (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
14406 Do not resolve links for the display names.
14408 * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
14409 resolve links when computing the display names.
14411 2004-03-25 Thomas Quinot <quinot@act-europe.fr>
14413 * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
14414 attribute reference does not denote a subtype, it can be any
14415 expression that has a classwide type, potentially after an implicit
14416 dereference. In particular, the prefix can be a view conversion for
14417 a classwide type (for which Is_Object_Reference holds), but it can
14418 also be a value conversion for an access-to-classwide type. In the
14419 latter case, there is an implicit dereference, and the original node
14420 for the prefix does not verify Is_Object_Reference.
14422 * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
14423 conversion of a discriminant-dependent component of a mutable object
14426 2004-03-25 Ed Schonberg <schonberg@gnat.com>
14428 * freeze.adb (Freeze_Entity): When an inherited subprogram is
14429 inherited, has convention C, and has unconstrained array parameters,
14430 place the corresponding warning on the derived type declaration rather
14431 than the original subprogram.
14433 * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
14434 indication on renaming declaration, if formal has a box and actual
14437 * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
14438 determine whether to generate an implicit or explicit reference to
14439 the renamed entity.
14441 * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
14442 subprogram renaming comes from a defaulted formal subprogram in an
14445 2004-03-25 Gary Dismukes <dismukes@gnat.com>
14447 * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
14448 value expressions to ensure that calls within a component definition
14449 will be checked (since those are evaluated during the record type's
14452 2004-03-25 Arnaud Charlet <charlet@act-europe.fr>
14454 * s-tpobop.adb: Code clean up:
14455 (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
14457 (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
14459 2004-03-25 Jose Ruiz <ruiz@act-europe.fr>
14461 * Makefile.in: Clean up in the ravenscar run time.
14463 2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14465 * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
14466 of No_Strict_Aliasing to build_pointer_type_for_mode.
14467 * utils.c (update_pointer_to): Walk pointer and ref chains.
14469 2004-03-22 Cyrille Comar <comar@act-europe.fr>
14471 * ali.ads: Fix Comment about Dynamic_Elab.
14473 * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
14474 Has_RACW, Is_Generic, etc.)
14475 (Output_Object, Gnatls): Take into account ALI files not attached to
14478 2004-03-22 Vincent Celier <celier@gnat.com>
14480 * gprep.adb: Change all String_Access to Name_Id
14481 (Is_ASCII_Letter): new function
14482 (Double_File_Name_Buffer): New procedure
14483 (Preprocess_Infile_Name): New procedure
14484 (Process_Files): New procedure
14485 (Gnatprep): Check if output and input are existing directories.
14486 Call Process_Files to do the real job.
14488 2004-03-22 Robert Dewar <dewar@gnat.com>
14490 * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
14491 s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
14493 2004-03-22 Sergey Rybin <rybin@act-europe.fr>
14495 * scn.adb (Contains): Add check for EOF, is needed for a degenerated
14496 case when the source contains only comments.
14498 2004-03-22 Ed Schonberg <schonberg@gnat.com>
14500 * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
14501 declaration for a child subprogram body that acts as a spec, indicate
14502 that the entity in the declaration needs debugging information.
14504 * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
14505 full view if the subtype is created for a constrained record component;
14506 gigi has enough information to construct the record, and there is no
14507 place in the tree for the declaration.
14509 * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
14510 serial number for the dummy body that is built for analysis, to avoid
14511 inconsistencies in the generation of internal names when compiling
14514 2004-03-22 Thomas Quinot <quinot@act-europe.fr>
14516 * sem_util.adb (Is_Object_Reference): A view conversion denotes an
14519 2004-03-22 GNAT Script <nobody@gnat.com>
14521 * Make-lang.in: Makefile automatically updated
14523 2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14525 * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
14526 * trans.c (tree_transform, emit_index_check): Likewise.
14527 * utils.c (build_template): Likewise.
14528 (max_size, convert): Remove handling of WITH_RECORD_EXPR.
14529 (maybe_unconstrained_array, unchecked_convert): Likewise.
14530 * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
14531 (build_unary_op): Likewise.
14532 (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
14533 (fill_vms_descriptor): Likewise.
14534 (build_call_alloc_dealloc): Likewise.
14536 * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
14538 2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
14541 * gnat_ug.texi: Add info directory category and entry.
14542 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
14543 gnat_ug_wnt.texi: Regenerate.
14545 2004-03-19 Arnaud Charlet <charlet@act-europe.fr>
14547 * ada-tree.h: Update copyright notice.
14548 Minor reformatting.
14550 2004-03-19 Olivier Hainque <hainque@act-europe.fr>
14552 * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
14553 as regular exception objects and not as mere integers representing the
14554 condition code. The latter approach required some dynamics to mask off
14555 severity bits, which did not fit well into the GCC table based model.
14556 (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
14557 exception data objects. We don't it and it would conflict with the other
14558 external symbol we have to generate for such exceptions.
14560 * trans.c (tree_transform, case N_Exception_Handler): Remove part of
14561 the special code for VMS exceptions, since these are now represented
14562 as regular exceptions objects.
14564 2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14566 * decl.c (debug_no_type_hash): Remove.
14567 (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
14568 * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
14570 2004-03-19 Laurent Guerby <laurent@guerby.net>
14572 * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
14573 aggregate, allows bootstrap from 3.3 on powerpc-darwin.
14575 2004-03-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14577 * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
14578 (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
14579 (TYPE_RM_SIZE_INT): Directly use type.values.
14580 (TREE_LOOP_ID): Clean up check.
14581 * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
14582 TYPE_VALUES, not TYPE_FIELDS.
14583 * trans.c (convert_with_check): Delay access of bounds of basetype
14584 until sure is numeric.
14586 2004-03-18 Arnaud Charlet <charlet@act-europe.fr>
14588 * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
14591 * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
14592 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
14593 Specific.Set instead of direct call to e.g pthread_setspecific.
14595 2004-03-18 Thomas Quinot <quinot@act-europe.fr>
14597 * adaint.c: Update comments.
14599 * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
14600 GNATLIB_SHARED for FreeBSD.
14602 2004-03-18 Jose Ruiz <ruiz@act-europe.fr>
14604 * init.c [VxWorks]: Do not fix the stack size for the environment task.
14605 When needed (stack checking) the stack size is retrieved
14606 from the VxWorks kernel.
14608 * Makefile.in: Flag -nostdinc is required when building the run time
14609 for avoiding looking for files in the base compiler.
14610 Add the VxWorks specific version of the package body for
14611 System.Stack_checking.Operations (5zstchop.adb).
14613 * Make-lang.in: Add the object file for
14614 System.Stack_Checking.Operations.
14616 * Makefile.rtl: Add object file for the package
14617 System.Stack_Checking.Operations.
14619 * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
14621 * s-stache.ads, s-stache.adb: Move the operations related to stack
14622 checking from this package to package System.Stack_Checking.Operations.
14623 This way, stack checking operations are only linked in the final
14624 executable when using the -fstack-check flag.
14626 2004-03-18 Doug Rupp <rupp@gnat.com>
14628 * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
14631 * 5qsystem.ads, 5xcrtl.ads: New files.
14633 2004-03-18 Vincent Celier <celier@gnat.com>
14635 * prj.adb (Reset): Reset hash table Files_Htable
14637 * prj-env.adb (Source_Paths, Object_Paths): New tables.
14638 (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
14639 the procedures Add_To_Path_File.
14640 (Set_Ada_Paths): Accumulate source and object dirs in the tables,
14641 making sure that each directory is present only once and, for object
14642 dirs, when a directory already present is added, the duplicate is
14643 removed and the directory is always put as the last in the table.
14644 Write the path files at the end of these accumulations.
14646 * prj-nmsc.adb (Record_Source): Add source file name in hash table
14647 Files_Htable for all sources.
14649 * prj-proc.adb (Process): Remove restrictions between not directly
14650 related extending projects.
14652 2004-03-18 Emmanuel Briot <briot@act-europe.fr>
14654 * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
14655 (Find_Sources): Minor speed optimization.
14657 * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
14658 parameter Trusted_Mode.
14660 2004-03-18 Sergey Rybin <rybin@act-europe.fr>
14662 * scn.adb (Determine_License): Take into account a degenerated case
14663 when the source contains only comments.
14665 2004-03-18 Ed Schonberg <schonberg@gnat.com>
14667 * sem_warn.adb (Check_References): For a warning on a selected
14668 component that does not come from source, locate an uninitialized
14669 component of the record type to produce a more precise error message.
14671 2004-03-15 Jerome Guitton <guitton@act-europe.fr>
14673 * 3zsoccon.ads: Fix multicast options.
14675 * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
14678 2004-03-15 Robert Dewar <dewar@gnat.com>
14680 * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
14681 pragma used for a private type.
14683 * lib-xref.adb (Generate_Reference): Do not generate warning if
14684 reference is in a different unit from the pragma Unreferenced.
14686 * 5vtpopde.adb: Minor reformatting
14687 Fix casing of To_Task_ID
14689 * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
14690 flag if we have an unchecked conversion to an access type in the same
14693 2004-03-15 Geert Bosch <bosch@gnat.com>
14695 * a-ngcoty.adb (Modulus): In alternate formula for large real or
14696 imaginary parts, use Double precision throughout.
14698 * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
14699 we want to be able to compile run-time with -gnata for testing, but
14700 this may also be instantiated in user code that is compiled with -gnata.
14702 2004-03-15 Olivier Hainque <hainque@act-europe.fr>
14704 * s-stalib.ads (Exception_Code): New type, to represent Import/Export
14705 codes. Having a separate type for this is useful to enforce consistency
14706 throughout the various run-time units.
14707 (Exception_Data): Use Exception_Code for Import_Code.
14709 * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
14710 Natural and Integer in various places.
14711 (Register_VMS_Exception): Use Base_Code_In to compute the exception code
14712 with the severity bits masked off.
14713 (Register_VMS_Exception): Handle the additional exception data pointer
14716 * raise.c (_GNAT_Exception structure): Remove the handled_by_others
14717 component, now reflected by an exported accessor.
14718 (is_handled_by): New routine to compute whether the propagated
14719 occurrence matches some handler choice specification. Extracted out of
14720 get_action_description_for, and expanded to take care of the VMS
14722 (get_action_description_for): Use is_handled_by instead of an explicit
14723 complex condition to decide if the current choice at hand catches the
14724 propagated occurrence.
14726 * raise.h (Exception_Code): New type for C.
14728 * rtsfind.ads (RE_Id, RE_Unit_Table): Add
14729 System.Standard_Library.Exception_Code, to allow references from the
14730 pragma import/export expander.
14732 * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
14733 New accessors to allow easy access to GNAT exception data
14735 (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
14736 redundant Handled_By_Others component, helper for the personality
14737 routine which will now be able to call the appropriate exception data
14740 * cstand.adb (Create_Standard): Adjust the type of the Import_Code
14741 component of Standard_Exception_Type to be the closest possible to
14742 Exception_Code in System.Standard_Library, that we cannot get at this
14743 point. Expand a ??? comment to notify that this type node should
14744 probably be rewritten later on.
14746 * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
14747 registration call to include a pointer to the exception object in the
14750 * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
14751 instead of int and explicit bitmasks.
14753 2004-03-15 Vincent Celier <celier@gnat.com>
14755 * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
14756 equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
14758 * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
14759 longer needed now that it is in the spec of
14760 System.Tasking.Task_Attributes.
14762 * adaint.h, adaint.c: (__gnat_create_output_file): New function
14764 * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
14766 * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
14768 * make.adb (Gnatmake): Do not check the executable suffix; it is being
14769 taken care of in Scan_Make_Arg.
14770 (Scan_Make_Arg): Add the executable suffix only if the argument
14771 following -o, in canonical case, does not end with the executable
14772 suffix. When in verbose mode and executable file name does not end
14773 with executable suffix, output the executable name, in canonical case.
14775 * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
14776 to avoid warnings when instantiating Ada.Task_Attributes.
14779 * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
14780 in the correct order.
14782 * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
14783 redirect standard output and error to a file for the invocation of the
14784 compiler, then read the file.
14786 * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
14787 directory, instead of the Value.
14788 (Find_Source_Dirs): Remove useless code & comments.
14790 2004-03-15 Ed Schonberg <schonberg@gnat.com>
14792 * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
14793 tagged type is inherited, and the parent operation is not frozen yet,
14794 force generation of a freeze node for the inherited operation, so the
14795 corresponding dispatch entry is properly initialized.
14796 (Make_Predefined_Primitive_Specs): Check that return type is Boolean
14797 when looking for user-defined equality operation.
14799 * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
14800 boolean when locating primitive equality of tagged component.
14802 * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
14803 bit-aligned field and the right-hand side a string literal, introduce
14804 a temporary before expanding assignment into a loop.
14806 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
14807 priority in full, to ensure that any expanded subepxressions of it are
14808 elaborated in the scope of the init_proc.
14810 * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
14811 after object declaration, skipping over code that may have been
14812 generated for validity checks.
14814 * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
14815 discriminants, ignore the known discriminants of its full view, if
14816 any, to check legality.
14818 * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
14819 component if type has unknown discriminants.
14820 (Analyze_Private_Extension_Declaration): Discriminant constraint is
14821 null if type has unknown discriminants.
14823 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
14824 for end label when present.
14826 * s-fileio.adb (Open): When called with a C_Stream, use given name for
14827 temporary file, rather than an empty string.
14829 2004-03-15 Ed Falis <falis@gnat.com>
14831 * s-thread.adb: Removed, no longer used.
14833 2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14835 * decl.c (target.h): Now include.
14836 (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
14837 in new build_pointer_from_mode calls for non-fat/non-thin pointer.
14838 (validate_size): For POINTER_TYPE, get smallest size permitted on
14841 * fe.h: Sort Einfo decls and add Set_Mechanism.
14843 * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
14844 (ada/decl.o): Depends on target.h.
14846 * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
14847 FUNCTION_BOUNDARY; always use TYPE_ALIGN.
14849 2004-03-15 Thomas Quinot <quinot@act-europe.fr>
14851 * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
14853 * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
14854 Insert_Dereference_Action when rewriting an implicit dereference into
14855 an explicit one, this will be taken care of during expansion of the
14856 explicit dereference.
14857 (Expand_N_Slice): Same. Always do the rewriting, even for the case
14858 of non-packed slices, since the dereference action generated by
14859 expansion of the explicit dereference is needed in any case.
14860 (Expand_N_Selected_Component): When rewriting an implicit dereference,
14861 analyze and resolve the rewritten explicit dereference so it is seen
14863 (Insert_Dereference_Action): This procedure is now called only for the
14864 expansion of an N_Explcit_Dereference_Node. Do insert a check even for
14865 dereferences that do not come from source (including explicit
14866 dereferences resulting from rewriting implicit ones), but do not
14867 recursively insert a check for the dereference nodes contained within
14869 (Insert_Dereference_Action): Clarify and correct comment.
14871 2004-03-08 Paolo Bonzini <bonzini@gnu.org>
14874 Move language detection to the top level.
14875 * config-lang.in: Build by default.
14877 2004-03-05 Robert Dewar <dewar@gnat.com>
14879 * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
14881 * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
14882 i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
14883 5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
14884 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
14885 unchecked conversion to spec to avoid warnings.
14887 * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
14890 * 7stpopsp.adb: Correct casing in To_Task_ID call
14892 * a-strsea.ads, a-strsea.adb: Minor reformatting
14894 * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
14896 * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
14897 Adjust Max_Msg_Length to be clearly large enough.
14899 * fe.h: Define In_Same_Source_Unit
14901 * osint.adb: Add pragma Warnings Off to suppress warnings
14902 * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
14905 * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
14907 * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
14909 * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
14911 * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
14913 * sem_prag.adb: Implement pragma No_Strict_Aliasing.
14915 * sinfo.ads: Remove obsolete comment on validate unchecked conversion
14916 node. We now do generate them for gcc back end.
14918 * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
14921 * sinput-c.adb: Fix bad name in header.
14922 Add pragma Warnings Off to suppress aliasing warning.
14924 * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
14926 * snames.h, snames.ads, snames.adb: Add entry for pragma
14927 No_Strict_Aliasing.
14929 2004-03-05 Vincent Celier <celier@gnat.com>
14931 * prj-com.ads: Add hash table Files_Htable to check when a file name
14932 is already a source of another project.
14934 * prj-nmsc.adb (Record_Source): Before recording a new source, check
14935 if its file name is not already a source of another project. Report an
14938 * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
14939 source file name, call gnatpp with all the sources of the main project.
14941 * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
14944 * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
14945 NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
14946 /RUNTIME_SYSTEM=, converted to --RTS=
14947 /NOTABS, converted to -notabs
14949 2004-03-05 Pascal Obry <obry@gnat.com>
14951 * make.adb: Minor reformatting.
14953 2004-03-05 Ed Schonberg <schonberg@gnat.com>
14955 Part of implemention of AI-262.
14956 * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
14958 * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
14961 * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
14962 when component type is a partially constrained class-wide subtype.
14963 (Constrain_Discriminated_Type): If parent type has unknown
14964 discriminants, a constraint is illegal, even if full view has
14966 (Build_Derived_Record_Type): Inherit discriminants when deriving a type
14967 with unknown discriminants whose full view is a discriminated record.
14969 * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
14970 flag, to handle properly derivations of tagged types with unknown
14972 (Analyze_Package_Spec, Analyze_Package_Body): Install
14973 Private_With_Clauses before analyzing private part or body.
14975 * einfo.ads: Indicate that both Has_Unknown_Discriminants and
14976 Has_Discriminants can be true for a given type (documentation).
14978 2004-03-05 Arnaud Charlet <charlet@act-europe.fr>
14980 * s-restri.ads: Fix license (GPL->GMGPL).
14982 * s-tassta.adb: Minor reformatting.
14984 * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
14985 by calls to Exit_One_ATC_Level, since additional clean up is performed
14988 * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
14989 by calls to Exit_One_ATC_Level, since additional clean up is performed
14992 2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14994 * trans.c: Reflect GCC changes to fix bootstrap problem.
14995 Add warning for suspicious aliasing unchecked conversion.
14997 2004-03-05 GNAT Script <nobody@gnat.com>
14999 * Make-lang.in: Makefile automatically updated
15001 2004-03-02 Emmanuel Briot <briot@act-europe.fr>
15003 * ali.adb (Read_Instantiation_Instance): Do not modify the
15004 current_file_num when reading information about instantiations, since
15005 this corrupts files in later references.
15007 2004-03-02 Vincent Celier <celier@gnat.com>
15009 * bcheck.adb (Check_Consistency): Get the full path of an ALI file
15010 before checking if it is read-only.
15012 * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
15013 of SRC_DIRS and eliminate duplicates.
15015 * gprcmd.adb: Replace command "path" with command "path_sep" to return
15016 the path separator.
15017 (Usage): Document path_sep
15019 * Makefile.generic: For Ada and GNU C++ cases, link directly with the
15020 C++ compiler. No need for a script.
15021 Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
15022 Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
15025 * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
15026 where there are Ada sources.
15027 (Set_Ada_Paths): Only add to the include path the source dirs of project
15029 (Add_To_Path): Add the Display_Values of the directories, not their
15032 * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
15035 * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
15037 (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
15038 Value is canonicalized.
15039 (Language_Independent_Check): Do not copy Value to Display_Value when
15040 canonicalizing Value.
15042 * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
15043 path to find limited with cycles.
15044 (Parse_Single_Project): Use canonical cased path to find the end of a
15047 2004-03-02 Ed Schonberg <schonberg@gnat.com>
15049 * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
15050 and not a child unit.
15052 * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
15053 appear in a with_clause.
15055 * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
15056 only happen in type_annotate mode, do not try to elaborate it.
15058 * exp_util.adb (Force_Evaluation): If expression is a selected
15059 component on the left of an assignment, use a renaming rather than a
15060 temporary to remove side effects.
15062 * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
15063 inlined instance body, which is analyzed before the end of the
15066 2004-03-02 Robert Dewar <dewar@gnat.com>
15068 * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
15069 sem_ch4.adb: Use new feature for substitution of keywords in VMS
15071 * errout.ads, errout.adb: Implement new circuit for substitution of
15074 * sem_case.adb (Analyze_Choices): Place message properly when case is
15075 a subtype reference rather than an explicit range.
15077 * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
15079 2004-03-02 Doug Rupp <rupp@gnat.com>
15081 * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
15083 2004-03-02 Thomas Quinot <quinot@act-europe.fr>
15085 * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
15087 2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15089 * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
15092 2004-02-25 Robert Dewar <dewar@gnat.com>
15094 * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
15095 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
15096 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
15097 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
15098 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
15099 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
15100 the defining instance of the type to avoid aliasing problems.
15101 Fix copyright header. Fix bad comments in package header.
15103 * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
15105 2004-02-25 Ed Schonberg <schonberg@gnat.com>
15107 * exp_ch2.adb (Param_Entity): Handle properly formals that have been
15108 rewritten as references when aliased through an address clause.
15110 * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
15111 whether call can be interpreted as an indirect call to the result of a
15112 parameterless function call returning an access subprogram.
15114 2004-02-25 Arnaud Charlet <charlet@act-europe.fr>
15117 * exp_ch7.adb (Make_Clean): Remove generation of calls to
15118 Unlock[_Entries], since this is now done by Service_Entries directly.
15120 * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
15122 * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
15123 Requeue_Call for better code readability. Change spec and update calls:
15124 PO_Service_Entries now unlock the PO on exit.
15125 (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
15126 PO_Service_Entries.
15128 * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
15130 * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
15132 2004-02-25 Sergey Rybin <rybin@act-europe.fr>
15134 * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
15135 protected subprogram call and analyzing the result of such expanding
15136 in case when the called protected subprogram is eliminated.
15138 * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
15141 2004-02-25 Jerome Guitton <guitton@act-europe.fr>
15143 * Makefile.in: Clean ups.
15145 2004-02-23 Ed Schonberg <schonberg@gnat.com>
15147 * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
15148 protected operations if original subprogram is flagged as eliminated.
15149 (Expand_N_Subprogram_Body): For a protected operation, create
15150 discriminals for next operation before checking whether the operation
15153 * exp_ch9.adb (Expand_N_Protected_Body,
15154 Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
15155 for internal protected operations if the original subprogram is
15158 * sem_elim.adb (Check_Eliminated): Handle properly protected operations
15159 declared in a single protected object.
15161 2004-02-23 Vincent Celier <celier@gnat.com>
15163 * prj-attr.adb: Make attribute Builder'Executable an associative array,
15164 case insensitive if file names are case insensitive, instead of a
15165 standard associative array.
15167 * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
15168 them as case insensitive on platforms where the file names are case
15171 * prj-part.adb (Parse_Single_Project): Make sure, when checking if
15172 project file has already been parsed that canonical path are compared.
15174 2004-02-23 Robert Dewar <dewar@gnat.com>
15176 * sinput-c.ads: Correct bad unit title in header
15178 * freeze.adb: Minor reformatting
15180 2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15182 * trans.c (tree_transform, case N_Procedure_Call_Statement): For
15183 nonaddressable COMPONENT_REF that is removing padding that we are
15184 taking the address of, take the address of the padded record instead
15185 if item is variable size.
15187 2004-02-20 Robert Dewar <dewar@gnat.com>
15189 * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
15191 2004-02-20 Ed Schonberg <schonberg@gnat.com>
15193 * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
15194 itype references for the constrained designated type of a component
15195 whose base type is already frozen.
15197 2004-02-20 Arnaud Charlet <charlet@act-europe.fr>
15199 * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
15200 avoid GCC warnings.
15202 2004-02-20 Sergey Rybin <rybin@act-europe.fr>
15204 * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
15205 identifier for a phantom package that rewrites the formal package
15206 declaration with a box. The Add semantic decorations for the defining
15207 identifier from the original node (that represents the formal package).
15209 2004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
15211 * Make-lang.in (ada/stamp-sdefault): Use the top level
15214 2004-02-19 Richard Henderson <rth@redhat.com>
15216 * misc.c (record_code_position): Add third build arg for RTL_EXPR.
15218 2004-02-18 Emmanuel Briot <briot@act-europe.fr>
15220 * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
15221 Scan_ALI can be used for multiple ALI files without reinitializing
15224 2004-02-18 Robert Dewar <dewar@gnat.com>
15226 * debug.adb: Minor reformatting.
15228 2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15230 * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
15231 to zero if there is an address clause.
15233 2004-02-18 Thomas Quinot <quinot@act-europe.fr>
15235 * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
15237 2004-02-18 Gary Dismukes <dismukes@gnat.com>
15239 * layout.adb (Layout_Component_List): Revise generation of call to
15240 discriminant-checking function to pass selections of all of the type's
15241 discriminants rather than just the variant-controlling discriminant.
15243 2004-02-18 Olivier Hainque <hainque@act-europe.fr>
15245 * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
15246 fail in the current setup and triggers spurious system error messages.
15247 Pretend it occurred and failed instead.
15249 2004-02-18 Vincent Celier <celier@gnat.com>
15251 * bld.adb: Mark FLDFLAGS as saved
15252 (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
15253 it is not the root project. Put each directory to be
15254 extended between double quotes to prevent it to be expanded on Windows.
15255 (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
15256 the project file. Set them back to their initial values if they have not
15257 been set in the project file.
15259 * gprcmd.adb: (Gprdebug, Debug): New global variables
15260 (Display_Command): New procedure
15261 (Usage): Document new command "linkopts"
15262 Call Display_Command when env var GPRDEBUG has the value "TRUE"
15263 Implement new command "linkopts"
15264 Remove quotes that may be around arguments for "extend"
15265 Always call Normalize_Pathname with arguments formatted for the platform
15267 * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
15268 Change @echo to @$(display) in target clean to be able to clean silently
15270 * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
15272 * prj-part.adb (Project_Path_Name_Of): Do not put final result in
15275 * prj-part.adb (Parse_Single_Project): Always call with From_Extended
15276 = Extending_All when current project is an extending all project.
15278 * vms_conv.adb (Output_File_Expected): New Boolean global variable,
15279 set to True only for LINK command, after Unix switch -o.
15280 (Process_Arguments): Set Output_File_Expected to True for LINK command
15281 after Unix switch -o. When Output_File_Expected is True, never add an
15282 extension to a file name.
15284 * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
15285 option file name, only to the --for-linker= switch.
15286 (Option_File_Name): If option file name do not end with ".opt", append
15289 2004-02-18 GNAT Script <nobody@gnat.com>
15291 * Make-lang.in: Makefile automatically updated
15293 2004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
15295 * Make-lang.in (stamp-sdefault): Do not depend on
15298 2004-02-12 Zack Weinberg <zack@codesourcery.com>
15300 * config-lang.in: Disable Ada by default until probe logic for
15301 a bootstrap Ada compiler can be moved to the top level configure
15304 2004-02-12 Olivier Hainque <hainque@act-europe.fr>
15306 * decl.c (components_to_record): Don't claim that the internal fields
15307 we make to hold the variant parts are semantically addressable, because
15310 * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
15311 adjust the comment describing the modular type form when we can use it.
15312 (Install_PAT): Account for the Esiz renaming.
15314 * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
15315 sc_onstack context indication before raising the exception to which
15316 the signal is mapped. Allows better handling of later signals possibly
15317 triggered by the resumed user code if the exception is handled.
15319 2004-02-12 Arnaud Charlet <charlet@act-europe.fr>
15321 * 5zinit.adb: Removed, no longer used.
15323 2004-02-12 Robert Dewar <dewar@gnat.com>
15325 * ali.adb: Remove separating space between parameters on R line. Makes
15326 format consistent with format used by the binder for Set_Globals call.
15328 * atree.ads, atree.adb: Minor reformatting (new function header format)
15330 * bindgen.adb: Add Run-Time Globals documentation section containing
15331 detailed documentation of the globals passed from the binder file to
15334 * gnatls.adb: Minor reformatting
15336 * init.c (__gnat_set_globals): Add note pointing to documentation in
15339 * lib-writ.ads, lib-writ.adb: Remove separating space between
15340 parameters on R line.
15341 Makes format consistent with format used by the binder for Set_Globals
15344 * osint.ads: Add 2004 to copyright notice
15347 * snames.ads: Correct capitalization of FIFO_Within_Priorities
15348 Noticed during code reading, documentation issue only
15350 * usage.adb: Remove junk line for obsolete C switch
15351 Noticed during code reading
15353 2004-02-12 Vincent Celier <celier@gnat.com>
15355 * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
15356 extend for each directory, so that multiple /** directories are
15357 extended individually.
15358 (Recursive_Process): Set the default for LANGUAGES to ada
15360 * gprcmd.adb: Define new command "ignore", to do nothing.
15361 Implement new comment "path".
15363 * Makefile.generic: Suppress output when SILENT is set
15364 Make sure that when compiler for C/C++ is gcc, the correct -x switch is
15365 used, so that the correct compiler is invoked.
15366 When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
15367 CXX_INCLUDE_PATH, to avoid failure with too long command lines.
15369 2004-02-12 Jerome Guitton <guitton@act-europe.fr>
15371 * Makefile.in: Clean ups and remove obsolete targets.
15373 2004-02-12 Ed Schonberg <schonberg@gnat.com>
15375 * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
15376 predicate declared in exp_util.
15378 * exp_util.adb: Add comments.
15380 * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
15381 visibility before compiling context of the subunit.
15383 * sem_res.adb (Check_Parameterless_Call): If the context expects a
15384 value but the name is a procedure, do not attempt to analyze as a call,
15385 in order to obtain more telling diagnostics.
15387 * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
15388 'Access on parameterless function calls.
15389 (Normalize_Actuals): For a parameterless function call with missing
15390 actuals, defer diagnostic until resolution of enclosing call.
15392 * sem_util.adb (Wrong_Type): If the context type is an access to
15393 subprogram and the expression is a procedure name, suggest a missing
15396 2004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
15397 Nathanael Nerode <neroden@gcc.gnu.org>
15399 PR ada/6637, PR ada/5911
15400 Merge with libada-branch:
15401 * config-lang.in: Build libada only when ada is built.
15403 2004-02-09 Ed Schonberg <schonberg@gnat.com>
15405 * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
15406 for a tagged type, verify that both formals have the same type.
15408 * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
15409 temporary when the formal is an in-parameter and the actual a possibly
15412 * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
15413 when expansion is disabled, to ensure proper name capture with
15414 overloaded literals. Condition can be of any boolean type, resolve
15417 * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
15418 renaming is for a formal subprogram with a default operator name, and
15419 there is a usable operator that is visible at the point of
15422 2004-02-09 Robert Dewar <dewar@gnat.com>
15424 * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
15425 rewrite to ignore errors in ali files, intended to allow tools downward
15426 compatibility with new versions of ali files.
15428 * ali.ads: Add new parameter Ignore_Errors
15430 * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
15431 duplicating the error message giving the file with restrictions.
15433 * debug.adb: Add debug flag I for gnatbind
15435 * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
15436 operators for the case where the operator is a defining operator.
15438 * exp_ch3.adb: Minor reformatting (new function spec format).
15440 * exp_ch4.adb: Add comment for previous change, and make minor
15441 adjustment to loop to always check for improper loop termination.
15442 Minor reformatting throughout (new function spec format).
15444 * gnatbind.adb: Implement -di debug flag for gnatbind
15446 * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
15448 * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
15450 * lib-load.adb: Fix bad assertion.
15451 Found by testing and code reading.
15452 Minor reformatting.
15454 * lib-load.ads: Minor reformatting.
15456 * lib-writ.adb: There is only one R line now.
15458 * lib-writ.ads: Add documentation on making downward compatible changes
15459 to ali files so old tools work with new ali files.
15460 There is only one R line now.
15461 Add documentation on format incompatibilities (with special GPS note)
15463 * namet.ads, namet.adb: (Is_Operator_Name): New procedure
15465 * par-load.adb: Minor reformatting
15467 * sem_ch8.adb: Fix to error message from last update
15468 Minor reformatting and restructuring of code from last update
15470 * par-prag.adb, snames.adb, snames.ads, snames.h,
15471 sem_prag.adb: Implement pragma Profile.
15473 * stylesw.adb: Implement -gnatyN switch to turn off all style check
15476 * usage.adb: Add line for -gnatyN switch
15478 * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
15480 2004-02-09 Albert Lee <lee@gnat.com>
15482 * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
15484 2004-02-09 Ed Schonberg <schonberg@gnat.com>
15486 * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
15489 * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
15490 is nested in an instance that is not frozen yet, to avoid
15491 order-of-elaboration problems in gigi.
15493 * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
15494 body the attribute is legal.
15496 2004-02-09 Robert Dewar <dewar@gnat.com>
15498 * s-rident.ads: Minor comment correction
15500 * targparm.adb: Remove dependence on uintp completely. There was
15501 always a bug in Make in that it called Targparm before initializing
15502 the Uint package. The old code appeared to get away with this, but
15503 the new code did not! This caused an assertion error in gnatmake.
15505 * targparm.ads: Fix bad comment, restriction pragmas with parameters
15506 are indeed fully supported.
15508 2004-02-06 Alan Modra <amodra@bigpond.net.au>
15510 * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
15512 2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
15514 * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
15515 with targetm.calls.promote_prototypes.
15517 2004-02-04 Robert Dewar <dewar@gnat.com>
15519 * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
15520 ali.ads, gprcmd.adb: Minor reformatting
15522 * bindgen.adb: Output restrictions string for new style restrictions
15525 * impunit.adb: Add s-rident.ads (System.Rident) and
15526 s-restri (System.Restrictions)
15528 * lib-writ.adb: Fix bug in writing restrictions string (last few
15531 * s-restri.ads, s-restri.adb: Change name Restrictions to
15532 Run_Time_Restrictions to avoid conflict with package name.
15533 Add circuit to read and acquire run time restrictions.
15535 2004-02-04 Jose Ruiz <ruiz@act-europe.fr>
15537 * restrict.ads, restrict.adb: Use the new restriction
15538 No_Task_Attributes_Package instead of the old No_Task_Attributes.
15540 * sem_prag.adb: No_Task_Attributes is a synonym of
15541 No_Task_Attributes_Package.
15543 * snames.ads, snames.adb: New entry for proper handling of
15544 No_Task_Attributes.
15546 * s-rident.ads: Adding restriction No_Task_Attributes_Package
15547 (AI-00249) that supersedes the GNAT specific restriction
15548 No_Task_Attributes.
15550 2004-02-04 Ed Schonberg <schonberg@gnat.com>
15553 (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
15554 body, an identifier may be wrapped in an unchecked conversion.
15556 2004-02-04 Vincent Celier <celier@gnat.com>
15558 * lib-writ.ads: Comment update for the W lines
15560 * bld.adb: (Expression): An empty string list is static
15562 * fname-uf.adb: Minor comment update
15564 * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
15566 * gnatbind.adb: Initialize Cumulative_Restrictions with the
15567 restrictions on the target.
15569 2004-02-03 Kazu Hirata <kazu@cs.umass.edu>
15571 * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
15574 2004-02-02 Arnaud Charlet <charlet@gnat.com>
15576 * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
15578 2004-02-02 Vincent Celier <celier@gnat.com>
15580 * gprcmd.adb (Check_Args): If condition is false, print the invoked
15581 comment before the usage.
15582 Gprcmd: Fail when command is not recognized.
15583 (Usage): Document command "prefix"
15585 * g-md5.adb (Digest): Process last block.
15586 (Update): Do not process last block. Store remaining characters and
15589 * g-md5.ads (Update): Document that several call to update are
15590 equivalent to one call with the concatenated string.
15591 (Context): Add fields to allow new Update behaviour.
15593 * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
15594 defaulted to False.
15595 When May_Fail is True and no existing file can be found, return No_File.
15597 * 6vcstrea.adb: Inlined functions are now wrappers to implementation
15600 * lib-writ.adb (Write_With_Lines): When body file does not exist, use
15601 spec file name instead on the W line.
15603 2004-02-02 Robert Dewar <dewar@gnat.com>
15605 * ali.adb: Read and acquire info from new format restrictions lines
15607 * bcheck.adb: Add circuits for checking restrictions with parameters
15609 * bindgen.adb: Output dummy restrictions data
15610 To be changed later
15612 * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
15613 exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
15614 freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
15615 sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
15616 sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
15618 * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
15619 the warning message on access to possibly uninitialized variable S)
15620 Minor changes for new restrictions handling.
15622 * gnatbind.adb: Minor reformatting
15623 Minor changes for new restrictions handling
15624 Move circuit for -r processing here from bcheck (cleaner)
15626 * gnatcmd.adb, gnatlink.adb: Minor reformatting
15628 * lib-writ.adb: Output new format restrictions lines
15630 * lib-writ.ads: Document new R format lines for new restrictions
15633 * s-restri.ads/adb: New files
15635 * Makefile.rtl: Add entry for s-restri.ads/adb
15637 * par-ch3.adb: Fix bad error messages starting with upper case letter
15640 * restrict.adb: Major rewrite throughout for new restrictions handling
15641 Major point is to handle restrictions with parameters
15643 * restrict.ads: Major changes in interface to handle restrictions with
15644 parameters. Also generally simplifies setting of restrictions.
15646 * snames.ads/adb: New entry for proper handling of No_Requeue
15648 * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
15649 restriction counting.
15650 Other minor changes for new restrictions handling
15652 * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
15653 Restriction_Warnings now allows full parameter notation
15654 Major rewrite of Restrictions for new restrictions handling
15656 2004-02-02 Javier Miranda <miranda@gnat.com>
15658 * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
15659 syntax rule for object renaming declarations.
15660 (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
15661 component definitions.
15663 * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
15665 (Array_Type_Declaration): Give support to access components. In addition
15666 it was also modified to reflect the name of the object in anonymous
15667 array types. The old code did not take into account that it is possible
15668 to have an unconstrained anonymous array with an initial value.
15669 (Check_Or_Process_Discriminants): Allow access discriminant in
15671 (Process_Discriminants): Allow access discriminant in non-limited types
15672 Initialize the new Access_Definition field in N_Object_Renaming_Decl
15673 node. Change Ada0Y to Ada 0Y in comments
15675 * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
15676 equality operators.
15677 Change Ada0Y to Ada 0Y in comments
15679 * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
15680 renamings Change Ada0Y to Ada 0Y in comments
15682 * sem_type.adb (Find_Unique_Type): Give support to the equality
15683 operators for universal access types
15684 Change Ada0Y to Ada 0Y in comments
15686 * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
15688 * sinfo.ads (N_Component_Definition): Addition of Access_Definition
15690 (N_Object_Renaming_Declaration): Addition of Access_Definition field
15691 Change Ada0Y to Ada 0Y in comments
15693 * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
15694 component definition and object renaming nodes
15695 Change Ada0Y to Ada 0Y in comments
15697 2004-02-02 Jose Ruiz <ruiz@act-europe.fr>
15699 * restrict.adb: Use the new restriction identifier
15700 No_Requeue_Statements instead of the old No_Requeue for defining the
15701 restricted profile.
15703 * sem_ch9.adb (Analyze_Requeue): Check the new restriction
15704 No_Requeue_Statements.
15706 * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
15707 that supersedes the GNAT specific restriction No_Requeue. The later is
15708 kept for backward compatibility.
15710 2004-02-02 Ed Schonberg <schonberg@gnat.com>
15712 * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
15713 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
15714 pragma and fix incorrect ones.
15716 * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
15717 warning if the pragma is redundant.
15719 2004-02-02 Thomas Quinot <quinot@act-europe.fr>
15721 * 5staprop.adb: Add missing 'constant' keywords.
15723 * Makefile.in: use consistent value for SYMLIB on
15724 platforms where libaddr2line is supported.
15726 2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15728 * utils.c (end_subprog_body): Do not call rest_of_compilation if just
15731 2004-02-02 Olivier Hainque <hainque@act-europe.fr>
15733 * init.c (__gnat_install_handler): Setup an alternate stack for signal
15734 handlers in the environment thread. This allows proper propagation of
15735 an exception on stack overflows in this thread even when the builtin
15736 ABI stack-checking scheme is used without support for a stack reserve
15739 * utils.c (create_field_decl): Augment the head comment about bitfield
15740 creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
15741 here, because the former is not accurate enough at this point.
15742 Let finish_record_type decide instead.
15743 Don't make a bitfield if the field is to be addressable.
15744 Always set a size for the field if the record is packed, to ensure the
15745 checks for bitfield creation are triggered.
15746 (finish_record_type): During last pass over the fields, clear
15747 DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
15748 not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
15749 from DECL_BIT_FIELD.
15751 2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
15753 * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
15754 (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
15755 (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
15757 2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15759 * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
15761 * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
15762 (ZCX_By_Default): Likewise.
15763 (Front_End_ZCX_Support): Likewise.
15765 * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
15766 (Initialize_Lock): Mark Level unreferenced.
15767 (Sleep): Mark Reason unreferenced.
15768 (Timed_Sleep): Likewise.
15769 (Wakeup): Likewise.
15770 (Exit_Task): Use Result.
15771 (Check_No_Locks): Mark Self_ID unreferenced.
15773 * 5gtasinf.adb (New_Sproc): Make Attr constant.
15774 (Bound_Thread_Attributes): Make Sproc constant.
15775 (New_Bound_Thread_Attributes): Likewise.
15777 2004-01-26 Ed Schonberg <schonberg@gnat.com>
15779 * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
15780 one-dimensional array an slice assignments, when component type is
15783 * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
15784 component type is controlled, and control_actions are in effect, use
15785 TSS procedure rather than generating inline code.
15787 * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
15788 arrays with controlled components.
15790 2004-01-26 Vincent Celier <celier@gnat.com>
15792 * gnatcmd.adb (GNATCmd): Add specification of argument file on the
15793 command line for the non VMS case.
15795 * gnatlink.adb (Process_Binder_File): When building object file, if
15796 GNU linker is used, put all object paths between quotes, to prevent ld
15797 error when there are unusual characters (such as '!') in the paths.
15799 * Makefile.generic: When there are sources in Ada and the main is in
15800 C/C++, invoke gnatmake with -B, instead of -z.
15802 * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
15803 from VMS_Conversion.
15804 (Process_Argument): New procedure, extracted from VMS_Conversion. Add
15805 specification of argument file on the command line.
15807 2004-01-26 Bernard Banner <banner@gnat.com>
15809 * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
15811 2004-01-26 Ed Schonberg <schonberg@gnat.com>
15813 * snames.adb: Update copyright notice.
15814 Add info on slice assignment for controlled arrays.
15816 2004-01-23 Robert Dewar <dewar@gnat.com>
15818 * exp_aggr.adb: Minor reformatting
15820 * exp_ch9.adb: Minor code clean up
15822 Fix bad character in comment
15825 * targparm.adb (Get_Target_Parameters): Give clean abort error on
15826 unexpected end of file, along with more detailed message.
15828 2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15830 * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
15833 * decl.c (copy_alias_set): New function.
15834 (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
15836 2004-01-23 Doug Rupp <rupp@gnat.com>
15838 * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
15839 lib$${file} in case subsequent character is not a separator.
15841 2004-01-23 Vincent Celier <celier@gnat.com>
15843 * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
15844 when the GCC version is at least 3.
15846 * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
15847 Remove all "Opt.", to prepare for opt split
15849 * prj-part.adb (Parse_Single_Project): New Boolean out parameter
15850 Extends_All. Set to True when the project parsed is an extending all
15851 project. Fails for importing an extending all project only when the
15852 imported project is an extending all project.
15853 (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
15854 depending on the value of Extends_All returned.
15856 * prj-proc.adb (Process): Check that no project shares its object
15857 directory with a project that extends it, directly or indirectly,
15858 including a virtual project.
15859 Check that no project extended by another project shares its object
15860 directory with another also extended project.
15862 * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
15863 Kind = N_With_Clause
15865 * prj-tree.ads: Minor reformatting
15866 Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
15868 2004-01-23 Ed Schonberg <schonberg@gnat.com>
15870 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
15871 applies to a type with an incomplete view, use full view in Name of
15872 clause, for consistency with uses of Get_Attribute_Definition_Clause.
15874 2004-01-23 Arnaud Charlet <charlet@act-europe.fr>
15876 * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
15877 SCHED_RR, since other values are not supported by this policy.
15878 (Initialize): Move initialization of mutex attribute to package
15879 elaboration, to prevent early access to this variable.
15881 * Makefile.in: Remove mention of Makefile.adalib, unused.
15883 * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
15884 1ssecsta.ads: Removed, unused.
15886 2004-01-21 Javier Miranda <miranda@gnat.com>
15888 * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
15889 entity if already built in the current scope.
15891 * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
15892 reminder in internal scopes. Required for nested limited aggregates.
15894 2004-01-21 Doug Rupp <rupp@gnat.com>
15896 * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
15897 VMS. Replace all occurences of libgnat- and libgnarl- with
15898 libgnat$(hyphen) and libgnarl$(hyphen).
15899 Fixed shared library build problem on VMS.
15901 2004-01-21 Robert Dewar <dewar@gnat.com>
15903 * mlib-prj.adb: Minor reformatting
15905 2004-01-21 Thomas Quinot <quinot@act-europe.fr>
15907 * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
15908 'constant' keywords for declaration of pointers that are not modified.
15910 * exp_pakd.adb: Fix English in comment.
15912 2004-01-21 Ed Schonberg <schonberg@gnat.com>
15915 * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
15916 copy all attributes of the parent, including the foreign language
15919 2004-01-21 Sergey Rybin <rybin@act-europe.fr>
15922 * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
15923 for 'delay until' statement.
15925 2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
15927 * Make-lang.in: Replace $(docdir) with doc.
15928 (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
15929 doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
15930 to use consistent MAKEINFO rule.
15931 (ada.man, ada.srcman): Dummy entry.
15932 (ADA_INFOFILES): Define.
15933 (ada.info, ada.srcinfo): New rules.
15935 2004-01-19 Arnaud Charlet <charlet@act-europe.fr>
15937 * utils.c: Update copyright notice, missed in previous change.
15939 2004-01-19 Vincent Celier <celier@gnat.com>
15941 * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
15942 args if Bind is True. Set First_ALI, if not already done.
15943 (Build_Library): For Stand Alone Libraries, extract from one ALI file
15944 an eventual --RTS switch, for gnatbind, and all backend switches +
15945 --RTS, for linking.
15947 2004-01-19 Robert Dewar <dewar@gnat.com>
15949 * sem_attr.adb, memtrack.adb: Minor reformatting
15951 2004-01-19 Ed Schonberg <schonberg@gnat.com>
15953 * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
15954 that rename enumeration literals. This is properly done in sem_eval.
15956 * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
15957 to functions that rename enumeration literals.
15959 * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
15960 functions that rename enumeration literals.
15962 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
15964 * Make-lang.in (utils.o): Depend on target.h.
15965 * utils.c: Include target.h.
15966 (process_attributes): Use targetm.have_named_sections instead
15967 of ASM_OUTPUT_SECTION_NAME.
15969 2004-01-16 Andreas Jaeger <aj@suse.de>
15971 * Makefile.in: Add $(DESTDIR).
15973 2004-01-15 Olivier Hainque <hainque@act-europe.fr>
15975 * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
15976 also when not defining if a Size clause applies. That information is
15979 2004-01-15 Arnaud Charlet <charlet@act-europe.fr>
15981 * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
15982 symbolic links for the shared gnat run time when needed.
15984 2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
15986 * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
15987 for writing, and terminate with an error message if not.
15989 2004-01-15 Ed Schonberg <schonberg@gnat.com>
15991 * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
15992 warning on an access to subprogram in an instance, when the target
15993 type is declared in the same generic unit.
15994 (Eval_Attribute): If 'access is known to fail accessibility check,
15995 rewrite as a raise statement.
15997 2004-01-15 GNAT Script <nobody@gnat.com>
15999 * Make-lang.in: Makefile automatically updated
16001 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
16003 * Make-lang.in (ada.srcextra): Dummy entry.
16005 2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
16007 * Make-lang.in: Only regenerate texi files if --enable-maintainer-mode.
16009 2004-01-13 Ed Schonberg <schonberg@gnat.com>
16011 * exp_ch3.adb (Build_Assignment): Fix bug in handling of controlled
16012 components that are initialized with aggregates.
16014 2004-01-13 Vincent Celier <celier@gnat.com>
16016 * gnatlink.adb (Process_Binder_File): To find directory of shared
16017 libgcc, if "gcc-lib" is not a subdirectory, look for the last
16018 subdirectory "lib" in the path of the shared libgnat or libgnarl.
16020 * make.adb (Gnatmake): If GCC version is at least 3, link with
16021 -shared-libgcc, when there is at least one shared library project.
16023 * opt.ads (GCC_Version): New integer constant.
16025 * adaint.c (get_gcc_version): New function.
16027 2004-01-13 Robert Dewar <dewar@gnat.com>
16029 * sem_dist.adb, sem_res.adb, sem_util.adb,
16030 sprint.adb, 3zsocthi.adb, einfo.adb, cstand.adb,
16031 exp_ch4.adb, exp_ch9.adb, exp_dist.adb: Minor reformatting
16033 2004-01-13 Thomas Quinot <quinot@act-europe.fr>
16035 * s-interr.adb, s-stache.adb, s-taenca.adb, g-regpat.adb,
16036 g-spitbo.adb, 5itaprop.adb: Add missing 'constant' keywords in object
16039 2004-01-12 Arnaud Charlet <charlet@act-europe.fr>
16041 * misc.c: Remove trailing spaces.
16042 Update copyright notice missed in previous change.
16045 * bld.adb (Recursive_Process): Reference prefix/share/gnat instead of
16048 * Makefile.generic: Update copyright.
16049 Add license notice.
16051 * Makefile.in (ADA_SHARE_MAKE_DIR): Set to prefix/share/gnat instead
16052 of prefix/share/make.
16054 * Makefile.prolog: Update copyright.
16055 Add license notice.
16057 2004-01-12 Laurent Pautet <pautet@act-europe.fr>
16059 * 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb,
16060 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb,
16061 g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr
16064 * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message
16067 2004-01-12 Javier Miranda <miranda@gnat.com>
16069 * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb,
16070 exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb,
16071 sem_ch12.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb,
16072 sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of
16073 Component_Definition node.
16075 2004-01-12 Ed Falis <falis@gnat.com>
16077 * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
16079 2004-01-12 Thomas Quinot <quinot@act-europe.fr>
16081 * link.c: Change default libgnat kind to STATIC for FreeBSD.
16083 2004-01-12 Bernard Banner <banner@gnat.com>
16085 * Makefile.in: map 86numaux to a-numaux for x86_64
16087 2004-01-12 Ed Schonberg <schonberg@gnat.com>
16089 * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
16090 generated to rename a generic actual, go to the actual itself, the
16091 subtype is not a user-visible entity.
16093 * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
16094 part is a private subtype, reset the visibility of its full view, if
16095 any, to be consistent.
16098 * sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
16099 to use a generic package G as a formal package for another generic
16102 2004-01-12 Robert Dewar <dewar@gnat.com>
16104 * trans.c (Eliminate_Error_Msg): New procedure called to generate msg
16106 * usage.adb: Remove mention of obsolete -gnatwb switch
16107 Noticed during code reading
16109 2004-01-12 Jerome Guitton <guitton@act-europe.fr>
16111 * 1ssecsta.adb: Minor changes for -gnatwa warnings
16113 2004-01-12 GNAT Script <nobody@gnat.com>
16115 * Make-lang.in: Makefile automatically updated
16117 2004-01-09 Mark Mitchell <mark@codesourcery.com>
16119 * misc.c (gnat_expand_expr): Add alt_rtl parameter.
16121 2004-01-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16123 * link.c [sgi] (shared_libgnat_default): Change to STATIC.
16125 2004-01-05 Kelley Cook <kcook@gcc.gnu.org>
16127 * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
16128 Update comment and copyright date.
16129 * stamp-xgnatug: Delete.
16131 2004-01-05 Robert Dewar <dewar@gnat.com>
16133 * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
16134 be modified by the binder generated main program if the -D switch is
16137 * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
16138 imported functions (since now we expect this to be done for imported
16141 * 5vtaprop.adb: Add several ??? for sections requiring more comments
16142 Minor reformatting throughout
16144 * 5zinit.adb: Minor reformatting
16145 Add 2004 to copyright date
16146 Minor changes to avoid -gnatwa warnings
16147 Correct some instances of using OR instead of OR ELSE (noted while
16148 doing reformatting)
16150 * sprint.adb: Minor updates to avoid -gnatwa warnings
16152 * s-secsta.ads, s-secsta.adb:
16153 (SS_Get_Max): New function to obtain high water mark for ss stack
16154 Default_Secondary_Stack is not a constant since it may be modified by
16155 the binder generated main program if the -D switch is used.
16157 * switch-b.adb: New -Dnnn switch for binder
16160 Make -gnatg imply all warnings currently in -gnatwa
16162 * vms_conv.adb: Minor reformatting
16163 Add 2004 to copyright notice
16164 Add 2004 to printed copyright notice
16166 * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
16167 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
16168 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
16169 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
16170 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
16171 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
16172 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
16173 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
16174 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
16175 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
16176 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
16177 vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
16178 xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
16179 sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
16180 checks.adb, clean.adb, cstand.adb, einfo.ads,
16181 einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
16182 exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
16183 prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
16184 sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
16185 g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
16186 lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
16187 Minor reformatting and code clean ups.
16188 Minor changes to prevent -gnatwa warnings
16190 * ali.adb: Minor reformatting and cleanup of code
16191 Acquire new SS indication of secondary stack use from ali files
16193 * a-numaux.ads: Add Pure_Function pragmas for all imported functions
16194 (since now we expect this to be done for imported functions)
16196 * bindgen.adb: Generate call to modify default secondary stack size if
16199 * bindusg.adb: Add line for new -D switch
16201 * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
16202 replacement name for Type_May_Have_Non_Bit_Aligned_Components!
16203 Add circuitry for both records and arrays to avoid gigi
16204 processing if the type involved has non-bit-aligned components
16206 * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
16207 N_String_Literal node always references an E_String_Literal_Subtype
16208 entity. This may not be true in the future.
16209 (Possible_Bit_Aligned_Component): Move processing of
16210 Component_May_Be_Bit_Aligned from exp_ch5 to exp_util
16212 * exp_ch6.adb (Expand_Thread_Body): Pick up
16213 Default_Secondary_Stack_Size as variable so that we get value modified
16214 by possible -Dnnn binder parameter.
16216 * exp_util.adb (Component_May_Be_Bit_Aligned): New function.
16217 (Type_May_Have_Bit_Aligned_Components): New function.
16219 * exp_util.ads (Component_May_Be_Bit_Aligned): New function.
16220 (Type_May_Have_Bit_Aligned_Components): New function.
16222 * fe.h: (Set_Identifier_Casing): Fix prototype.
16223 Add declaration for Sem_Elim.Eliminate_Error_Msg.
16224 Minor reformatting.
16226 * freeze.adb (Freeze_Entity): Add RM reference to error message about
16227 importing constant atomic/volatile objects.
16228 (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
16229 unless explicit Pure_Function pragma given, to avoid insidious bug of
16230 call to non-pure imported function getting eliminated.
16232 * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
16233 gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
16234 gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
16235 Add 2004 to printed copyright notice
16237 * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
16240 * Makefile.rtl: Add entry for g-sestin.o
16241 g-sestin.ads: New file.
16243 * mdll.adb: Minor changes to avoid -gnatwa warnings
16245 * mlib-tgt.adb: Minor reformatting
16247 * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
16248 New switch Sec_Stack_Used (GNAT, GNATBIND)
16249 Make Default_Secondary_Stack_Size a variable instead of a constant,
16250 so that it can be modified by the new -Dnnn bind switch.
16252 * rtsfind.adb (Load_Fail): Give full error message in configurable
16253 run-time mode if all_errors mode is set. This was not done in the case
16254 of a file not found, which was an oversight.
16255 Note if secondary stack unit is used by compiler.
16257 * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
16258 ineffective elaborate all pragmas on non-visible packages (this
16259 happened when a renamed subprogram was called). Now the elaborate all
16260 always goes on the package containing the renaming rather than the one
16261 containing the renamed subprogram.
16263 * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
16264 (Process_Eliminate_Pragma): Add parameter to capture pragma location.
16266 * sem_eval.adb (Eval_String_Literal): Do not assume that string literal
16267 has an Etype that references an E_String_Literal.
16268 (Eval_String_Literal): Avoid assumption that N_String_Literal node
16269 always references an E_String_Literal_Subtype entity. This may not
16270 be true in the future.
16272 * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
16275 * sem_res.adb (Resolve): Specialize msg for function name used in proc
16278 2004-01-05 Ed Falis <falis@gnat.com>
16280 * g-debuti.adb: Replaced direct boolean operator with short-circuit
16283 2004-01-05 Vincent Celier <celier@gnat.com>
16285 * bld.adb: Minor comment updates
16286 (Process_Declarative_Items): Correct incorrect name (Index_Name instead
16289 * make.adb (Gnatmake): Special process for files to compile/check when
16290 -B is specified. Fail when there are only foreign mains in attribute
16291 Main of the project file and -B is not specified. Do not skip bind/link
16292 steps when -B is specified.
16294 * makeusg.adb: Document new switch -B
16296 * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag
16298 * switch-m.adb: (Scan_Make_Switches): Process -B switch
16300 * vms_data.ads: Add new GNAT PRETTY qualifier
16301 /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff
16303 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16305 * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
16308 * misc.c (gnat_printable_name): If VERBOSITY is 2, call
16309 Set_Identifier_Casing.
16311 * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
16312 has size that overflows.
16314 2004-01-05 Gary Dismukes <dismukes@gnat.com>
16316 * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
16317 -gnatwa warning on static condition.
16319 2004-01-05 Doug Rupp <rupp@gnat.com>
16321 * link.c: (shared_libgnat_default) [VMS]: Change to STATIC.
16323 2004-01-05 Arnaud Charlet <charlet@act-europe.fr>
16325 * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
16326 all attributes, including read-only attribute.
16328 2004-01-05 Pascal Obry <obry@gnat.com>
16330 * bindgen.adb (Gen_Object_Files_Options): Generate the new shared
16331 library naming scheme.
16333 * mlib-prj.adb (Build_Library): Generate different names for the static
16334 or dynamic version of the GNAT runtime. This is needed to support the
16335 new shared library naming scheme.
16336 (Process_Binder_File): Add detection of shared library in binder file
16337 based on the new naming scheme.
16339 * gnatlink.adb (Process_Binder_File): Properly detect the new naming
16340 scheme for the shared runtime libraries.
16343 (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
16345 (install-gnatlib): Do not create symlinks for shared libraries.
16346 (gnatlib-shared-default): Idem.
16347 (gnatlib-shared-dual-win32): New target. Not used for now as the
16348 auto-import feature does not support arrays/records.
16349 (gnatlib-shared-win32): Do not create copy for the shared libraries.
16350 (gnatlib-shared-vms): Fix shared runtime libraries names.
16352 * osint.ads, osint.adb (Shared_Lib): New routine, returns the target
16353 dependent runtime shared library name.
16355 2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr>
16357 * osint.adb (Read_Library_Info): Remove bogus check if ALI is older
16360 2004-01-05 Ed Schonberg <schonberg@gnat.com>
16362 * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
16363 protected objects when allocator has a subtype indication, not a
16364 qualified expression. Note that qualified expressions may have to be
16365 checked when limited aggregates are implemented.
16367 * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
16368 pure, emit warning.
16369 (Analyze_Pragma, case Pure_Function): If enclosing package is pure and
16370 subprogram is imported, remove warning.
16372 2004-01-05 Geert Bosch <bosch@gnat.com>
16374 * s-poosiz.adb: Update copyright notice.
16375 (Allocate): Use Task_Lock to protect against concurrent access.
16376 (Deallocate): Likewise.
16378 2004-01-05 Joel Brobecker <brobecker@gnat.com>
16380 * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
16383 2003-12-23 Kelley Cook <kcook@gcc.gnu.org>
16385 * gnat_ug.texi: Force a CVS commit by updating copyright.
16386 * gnat_ug_vxw.texi: Regenerate.
16387 * gnat_ug_wnt.texi: Regenerate.
16388 * gnat_ug_vms.texi: Regenerate.
16389 * gnat_ug_unx.texi: Regenerate.
16391 2003-12-20 Kazu Hirata <kazu@cs.umass.edu>
16393 * trans.c: Remove uses of "register" specifier in
16394 declarations of local variables.
16396 2003-12-18 Kelley Cook <kcook@gcc.gnu.org>
16398 * stamp-xgnatug: New stamp file.
16399 * Make-lang.in (stamp-xgnatug): New stamp file and comment.
16400 (ada/doctools/xgnatug): Add $(build_exeext).
16401 (ada/gnat_ug_unx.texi, ada/gnat_ug_vwx.texi, ada/gnat_ug_vms.texi
16402 ada/gnat_ug_wnt.texi): Update to depend on stamp-xgnatug.
16404 2003-12-17 Ed Falis <falis@gnat.com>
16406 * a-elchha.adb (Tailored_Exception_Information): made Info constant to
16409 * a-exextr.adb: Add context clause for
16410 Ada.Exceptions.Last_Chance_Handler.
16412 2003-12-17 Sergey Rybin <rybin@act-europe.fr>
16414 * cstand.adb (Create_Standard): Change the way how the declaration of
16415 the Duration type is created (making it the same way as it is for all
16416 the other standard types).
16418 2003-12-17 Robert Dewar <dewar@gnat.com>
16420 * s-crtl.ads: Fix header format
16421 Change Pure to Preelaborate
16423 2003-12-17 Ed Schonberg <schonberg@gnat.com>
16425 * checks.adb (Selected_Length_Checks): Generate an Itype reference for
16426 the expression type only if it is declared in the current unit.
16428 * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
16429 are universal and already analyzed, as can occur in constrained
16430 subcomponents that depend on discriminants, when one constraint is a
16433 * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
16434 type Any_Fixed is legal as the argument of a conversion, if only one
16435 fixed-point type is in context.
16437 2003-12-17 GNAT Script <nobody@gnat.com>
16439 * Make-lang.in: Makefile automatically updated
16441 2003-12-15 Robert Dewar <dewar@gnat.com>
16443 * exp_ch6.adb (Expand_Thread_Body): Fix error in picking up default
16446 2003-12-15 Vincent Celier <celier@gnat.com>
16448 * gnatchop.adb: (Error_Msg): Do not exit on error for a warning
16449 (Gnatchop): Do not set failure status when reporting the number of
16452 2003-12-15 Doug Rupp <rupp@gnat.com>
16454 * s-ctrl.ads: New file.
16456 * Makefile.rtl (GNAT_RTL_NONTASKING_OBJS): Add s-crtl$(objext).
16458 * Make-lang.in: (GNAT_ADA_OBJS): Add ada/s-crtl.o.
16459 (GNATBIND_OBJS): Add ada/s-crtl.o.
16461 * Makefile.in [VMS]: Clean up ifeq rules.
16463 * gnatlink.adb, 6vcstrea.adb, a-direio.adb, a-sequio.adb,
16464 a-ststio.adb, a-textio.adb, g-os_lib.adb, a-witeio.adb,
16465 g-os_lib.ads, i-cstrea.adb, i-cstrea.ads, s-direio.adb,
16466 s-fileio.adb, s-memcop.ads, s-memory.adb, s-stache.adb,
16467 s-tasdeb.adb: Update copyright.
16468 Import System.CRTL.
16469 Make minor modifications to use System.CRTL declared functions instead
16470 of importing locally.
16472 2003-12-15 GNAT Script <nobody@gnat.com>
16474 * Make-lang.in: Makefile automatically updated
16476 2003-12-11 Ed Falis <falis@gnat.com>
16478 * 5zinit.adb: Clean up.
16480 * 5zintman.adb (Notify_Exception): replaced case statement with a call
16481 to __gnat_map_signal, imported from init.c to support
16482 signal -> exception mappings that depend on the vxWorks version.
16485 Created and exported __gnat_map_signal to support signal -> exception
16486 mapping that is dependent on the VxWorks version.
16487 Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
16489 2003-12-11 Vasiliy Fofanv <fofanov@act-europe.fr>
16491 * 5wosinte.ads: Link with -mthreads switch.
16493 2003-12-11 Arnaud Charlet <charlet@act-europe.fr>
16495 * init.c (__gnat_install_handler [NetBSD]): Set
16496 __gnat_handler_installed, as done on all other platforms.
16497 Remove duplicated code.
16499 2003-12-11 Jerome Guitton <guitton@act-europe.fr>
16501 * Makefile.in (rts-zfp, rts-ravenscar): Create libgnat.a.
16503 2003-12-11 Thomas Quinot <quinot@act-europe.fr>
16505 * sinfo.ads: Fix inconsistent example code in comment.
16507 2003-12-11 Robert Dewar <dewar@gnat.com>
16509 * a-tiinau.adb: Add a couple of comments
16511 * sem_ch3.adb: Minor reformatting
16514 Fix bad prototype of Same_Base_Type in body (code reading cleanup)
16515 Minor reformatting throughout
16517 2003-12-11 Ed Schonberg <schonberg@gnat.com>
16519 * exp_ch7.adb (Establish_Transient_Scope): If the call is within the
16520 bounds of a loop, create a separate block in order to generate proper
16521 cleanup actions to prevent memory leaks.
16523 * sem_res.adb (Resolve_Call): After a call to
16524 Establish_Transient_Scope, the call may be rewritten and relocated, in
16525 which case no further processing is needed.
16527 * sem_util.adb: (Wrong_Type): Refine previous fix.
16528 Fixes ACATS regressions.
16532 * sem_prag.adb (Back_End_Cannot_Inline): A renaming_as_body can always
16535 2003-12-08 Jerome Guitton <guitton@act-europe.fr>
16537 * 5ytiitho.adb, 5zthrini.adb, 5ztiitho.adb, i-vthrea.adb,
16538 i-vthrea.ads, s-tpae65.adb, s-tpae65.ads: Cleanup: Remove a bunch of
16541 * Makefile.in: (rts-ravenscar): Generate an empty libgnat.a.
16544 2003-12-08 Robert Dewar <dewar@gnat.com>
16546 * 7sintman.adb: Minor reformatting
16548 * bindgen.adb: Configurable_Run_Time mode no longer suppresses the
16549 standard linker options to get standard libraries linked. We now plan
16550 to provide dummy versions of these libraries to match the appropriate
16551 configurable run-time (e.g. if a library is not needed at all, provide
16552 a dummy empty library).
16554 * targparm.ads: Configurable_Run_Time mode no longer affects linker
16555 options (-L parameters and standard libraries). What we plan to do is
16556 to provide dummy libraries where the libraries are not required.
16558 * gnatbind.adb: Minor comment improvement
16560 2003-12-08 Javier Miranda <miranda@gnat.com>
16562 * exp_aggr.adb (Build_Record_Aggr_Code): Do not remove the expanded
16563 aggregate in the parent. Otherwise constants with limited aggregates
16564 are not supported. Add new formal to pass the component type (Ctype).
16565 It is required to call the corresponding IP subprogram in case of
16566 default initialized components.
16567 (Gen_Assign): In case of default-initialized component, generate a
16568 call to the IP subprogram associated with the component.
16569 (Build_Record_Aggr_Code): Remove the aggregate from the parent in case
16570 of aggregate with default initialized components.
16571 (Has_Default_Init_Comps): Improve implementation to recursively check
16572 all the present expressions.
16574 * exp_ch3.ads, exp_ch3.adb (Build_Initialization_Call): Add new formal
16575 to indicate that the initialization call corresponds to a
16576 default-initialized component of an aggregate.
16577 In case of default initialized aggregate with tasks this parameter is
16578 used to generate a null string (this is just a workaround that must be
16579 improved later). In case of discriminants, this parameter is used to
16580 generate a selected component node that gives access to the discriminant
16583 * exp_ch9.ads, exp_ch9.adb (Build_Task_Allocate_Block_With_Stmts): New
16584 subprogram, based on Build_Task_Allocate_Block, but adapted to expand
16585 allocated aggregates with default-initialized components.
16587 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Improve error message if
16588 the box notation is used in positional aggregates.
16590 2003-12-08 Samuel Tardieu <tardieu@act-europe.fr>
16592 * lib.ads: Fix typo in comment
16594 2003-12-08 Vincent Celier <celier@gnat.com>
16596 * prj.adb (Project_Empty): New component Unkept_Comments
16597 (Scan): Remove procedure; moved to Prj.Err.
16599 * prj.ads (Project_Data): New Boolean component Unkept_Comments
16600 (Scan): Remove procedure; moved to Prj.Err.
16602 * prj-dect.adb: Manage comments for the different declarations.
16604 * prj-part.adb (With_Record): New component Node
16605 (Parse): New Boolean parameter Store_Comments, defaulted to False.
16606 Set the scanner to return ends of line and comments as tokens, if
16607 Store_Comments is True.
16608 (Pre_Parse_Context_Clause): Create the N_With_Clause nodes so that
16609 comments are associated with these nodes. Store the node IDs in the
16611 (Post_Parse_Context_Clause): Use the N_With_Clause nodes stored in the
16613 (Parse_Single_Project): Call Pre_Parse_Context_Clause before creating
16614 the N_Project node. Call Tree.Save and Tree.Reset before scanning the
16615 current project. Call Tree.Restore afterwards. Set the various nodes
16616 for comment storage (Next_End, End_Of_Line, Previous_Line,
16619 * prj-part.ads (Parse): New Boolean parameter Store_Comments,
16620 defaulted to False.
16622 * prj-pp.adb (Write_String): New Boolean parameter Truncated, defaulted
16623 to False. When Truncated is True, truncate the string, never go to the
16625 (Write_End_Of_Line_Comment): New procedure
16626 (Print): Process comments for nodes N_With_Clause,
16627 N_Package_Declaration, N_String_Type_Declaration,
16628 N_Attribute_Declaration, N_Typed_Variable_Declaration,
16629 N_Variable_Declaration, N_Case_Construction, N_Case_Item.
16630 Process nodes N_Comment.
16632 * prj-tree.ads, prj-tree.adb (Default_Project_Node): If it is a node
16633 without comments and there are some comments, set the flag
16634 Unkept_Comments to True.
16635 (Scan): If there are comments, set the flag Unkept_Comments to True and
16636 clear the comments.
16637 (Project_Node_Kind): Add enum values N_Comment_Zones, N_Comment
16638 (Next_End_Nodes: New table
16639 (Comment_Zones_Of): New function
16640 (Scan): New procedure; moved from Prj. Accumulate comments in the
16641 Comments table and set end of line comments, comments after, after end
16643 (Add_Comments): New procedure
16644 (Save, Restore, Seset_State): New procedures
16645 (There_Are_Unkept_Comments): New function
16646 (Set_Previous_Line_Node, Set_Previous_End_Node): New procedures
16647 (Set_End_Of_Line, Set_Next_End_Node, Remove_Next_End_Node): New
16649 (First_Comment_After, First_Comment_After_End): New functions
16650 (First_Comment_Before, First_Comment_Before_End): New functions
16651 (Next_Comment): New function
16652 (End_Of_Line_Comment, Follows_Empty_Line,
16653 Is_Followed_By_Empty_Line): New functions
16654 (Set_First_Comment_After, Set_First_Comment_After_End): New procedures
16655 (Set_First_Comment_Before, Set_First_Comment_Before_End): New procedures
16656 (Set_Next_Comment): New procedure
16657 (Default_Project_Node): Associate comment before if the node can store
16660 * scans.ads (Token_Type): New enumeration value Tok_Comment
16661 (Comment_Id): New global variable
16663 * scng.ads, scng.adb (Comment_Is_Token): New Boolean global variable,
16664 defaulted to False.
16665 (Scan): Store position of start of comment. If comments are tokens, set
16666 Comment_Id and set Token to Tok_Comment when scanning a comment.
16667 (Set_Comment_As_Token): New procedure
16669 * sinput-p.adb: Update Copyright notice
16670 (Source_File_Is_Subunit): Call Prj.Err.Scanner.Scan instead of Prj.Scan
16671 that no longer exists.
16673 2003-12-08 Javier Miranda <miranda@gnat.com>
16675 * sem_aggr.adb: Add dependence on Exp_Tss package
16676 Correct typo in comment
16677 (Resolve_Aggregate): In case of array aggregates set the estimated
16678 type of the aggregate before calling resolve. This is needed to know
16679 the name of the corresponding IP in case of limited array aggregates.
16680 (Resolve_Array_Aggregate): Delay the resolution to the expansion phase
16681 in case of default initialized array components.
16683 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Allow limited
16684 types. Required to give support to limited aggregates in generic
16687 2003-12-08 Ed Schonberg <schonberg@gnat.com>
16689 * sem_ch3.adb (Check_Initialization): For legality purposes, an
16690 inlined body functions like an instantiation.
16691 (Decimal_Fixed_Point_Declaration): Do not set kind of first subtype
16692 until bounds are analyzed, to diagnose premature use of type.
16694 * sem_util.adb (Wrong_Type): Improve error message when the type of
16695 the expression is used prematurely.
16697 2003-12-08 GNAT Script <nobody@gnat.com>
16699 * Make-lang.in: Makefile automatically updated
16701 2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
16703 * sinfo.h, einfo.h, nmake.ads, nmake.adb, treeprs.ads: Removed, since
16704 they are automatically generated by Make-lang.in and cause nothing but
16705 maintenance troubles.
16707 2003-12-05 Thomas Quinot <quinot@act-europe.fr>
16709 * 3ssoliop.ads: Fix comment (this is the Solaris, not the UnixWare,
16710 version of this unit).
16712 2003-12-05 Olivier Hainque <hainque@act-europe.fr>
16714 * 53osinte.ads, 54osinte.ads, 55osinte.ads, 56osinte.ads, 5bosinte.ads,
16715 5cosinte.ads, 5hosinte.ads, 5iosinte.ads, 5losinte.ads,
16716 5tosinte.ads: Define the SA_SIGINFO constant, to allow references from
16717 the body of System.Interrupt_Management common to several targets.
16718 Update copyright notice when appropriate.
16720 * 52osinte.ads, 5posinte.ads: Define a dummy value for the SA_SIGINFO
16723 * 7sintman.adb (elaboration): Set SA_SIGINFO in the sigaction flags,
16724 to ensure that the kernel fills in the interrupted context structure
16725 before calling a signal handler, which is necessary to be able to
16726 unwind past it. Update the copyright notice.
16728 2003-12-05 Jerome Guitton <guitton@act-europe.fr>
16730 * a-elchha.ads: New file.
16732 * a-elchha.adb: New default last chance handler. Contents taken from
16733 Ada.Exceptions.Exception_Traces.Unhandled_Exception_Terminate.
16735 * a-exextr.adb (Unhandled_Exception_Terminate): Most of this routine
16736 is moved to a-elchha.adb to provide a target-independent default last
16739 * Makefile.rtl: Add a-elchha.o
16741 * Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-elchha.o.
16743 2003-12-05 Ed Schonberg <schonberg@gnat.com>
16745 * exp_ch6.adb (Expand_Call): If the subprogram is inlined and is
16746 declared in an instance, do not inline the call if the instance is not
16747 frozen yet, to prevent order of elaboration problems.
16749 * sem_prag.adb: Add comments for previous fix.
16751 2003-12-05 Samuel Tardieu <tardieu@act-europe.fr>
16753 * g-table.adb: Use the right variable in Set_Item.
16754 Update copyright notice.
16756 2003-12-05 Arnaud Charlet <charlet@act-europe.fr>
16758 * Makefile.in: Remove unused rules.
16760 2003-12-05 Vincent Celier <celier@gnat.com>
16762 * switch-c.adb (Scan_Front_End_Switches): Remove processing of
16763 -nostdlib. Not needed here after all.
16765 2003-12-03 Thomas Quinot <quinot@act-europe.fr>
16769 * adaint.h, adaint.c, g-os_lib.ads:
16770 Do not assume that the offset argument to lseek(2) is a 32 bit integer,
16771 on some platforms (including FreeBSD), it is a 64 bit value.
16772 Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
16774 2003-12-03 Arnaud Charlet <charlet@act-europe.fr>
16776 * gnatvsn.ads (Library_Version): Now contain only the relevant
16778 (Verbose_Library_Version): New constant.
16780 * g-spipat.adb, g-awk.adb, g-debpoo.adb,
16781 g-memdum.adb, g-thread.adb, s-geveop.adb, s-interr.adb,
16782 s-taskin.adb, s-tassta.adb: Make code compile with -gnatwa.
16784 * gnatlbr.adb: Clean up: replace Library_Version by
16785 Verbose_Library_Version.
16787 * make.adb, lib-writ.adb, exp_attr.adb:
16788 Clean up: replace Library_Version by Verbose_Library_Version.
16790 * 5lintman.adb: Removed.
16793 Update and simplify computation of LIBRARY_VERSION.
16794 Fix computation of GSMATCH_VERSION.
16795 5lintman.adb is no longer used: replaced by 7sintman.adb.
16797 2003-12-03 Robert Dewar <dewar@gnat.com>
16800 (Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
16801 name. Modified to consider small non-bit-packed arrays as troublesome
16802 and in need of component-by-component assigment expansion.
16804 2003-12-03 Vincent Celier <celier@gnat.com>
16806 * lang-specs.h: Process nostdlib as nostdinc
16808 * back_end.adb: Update Copyright notice
16809 (Scan_Compiler_Arguments): Process -nostdlib directly.
16811 2003-12-03 Jose Ruiz <ruiz@act-europe.fr>
16814 When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
16815 redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
16816 included in HIE_NONE_TARGET_PAIRS.
16818 2003-12-03 Ed Schonberg <schonberg@gnat.com>
16821 (Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
16822 is legal in an instance, because legality is cheched in the template.
16825 (Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
16826 appplied to an unchecked conversion of a formal parameter.
16829 (Output_Unreferenced_Messages): Suppress "not read" warnings on imported
16832 2003-12-03 Olivier Hainque <hainque@act-europe.fr>
16834 * tb-alvms.c (unwind_regular_code, unwind_kernel_handler): New
16835 routines. The second one is new functionality to deal with backtracing
16836 through signal handlers.
16837 (unwind): Split into the two separate subroutines above.
16838 Update the documentation, and deal properly with sizeof (REG) different
16839 from sizeof (void*).
16841 2003-12-01 Nicolas Setton <setton@act-europe.fr>
16843 * a-except.adb (Raise_Current_Excep): Add a pragma Inspection_Point,
16844 so that the debugger can reliably access the value of the parameter,
16845 and therefore is able to display the exception name when an exception
16846 breakpoint is reached.
16848 2003-12-01 Thomas Quinot <quinot@act-europe.fr>
16850 * fmap.adb: Fix typo in warning message.
16852 * g-socket.ads, g-socket.adb: Make Free a visible instance of
16853 Ada.Unchecked_Deallocation (no need to wrap it in a subprogram).
16855 2003-12-01 Vincent Celier <celier@gnat.com>
16857 * mlib-prj.adb (Build_Library.Process): Do not check a withed unit if
16859 (Build_Library): Get the switches only if Default_Switches is declared
16862 2003-12-01 Ed Schonberg <schonberg@gnat.com>
16864 * exp_ch6.adb (Expand_Actuals): When applying validity checks to
16865 actuals that are indexed components, reanalyze actual to ensure that
16866 packed array references are properly expanded.
16868 * sem_ch5.adb (Diagnose_Non_Variable_Lhs): Add special case for
16869 attempted assignment to a discriminant.
16871 2003-12-01 Robert Dewar <dewar@gnat.com>
16873 * rtsfind.adb, exp_ch4.adb, s-exnint.ads, s-exnint.adb: Minor
16876 * switch-c.adb: Minor reformatting of comments
16878 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
16880 * Makefile.in: Clean ups.
16882 2003-12-01 GNAT Script <nobody@gnat.com>
16884 * Make-lang.in: Makefile automatically updated
16886 2003-12-01 Arnaud Charlet <charlet@act-europe.fr>
16888 * 5wsystem.ads: Disable zero cost exception, not ready yet.
16890 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
16892 * Make-lang.in (nmake.ads): Add dependency on ada/nmake.adb
16893 to force serialization.
16895 2003-11-26 Thomas Quinot <quinot@act-europe.fr>
16897 * g-socket.ads, g-socket.adb:
16898 Clarify documentation of function Stream. Introduce a Free procedure
16899 to release the returned Stream once it becomes unused.
16901 * 5asystem.ads: For Alpha Tru64, enable ZCX by default.
16903 2003-11-26 Arnaud Charlet <charlet@act-europe.fr>
16905 (Cond_Timed_Wait): Introduce new constant Time_Out_Max,
16906 since NT 4 cannot handle timeout values that are too large,
16907 e.g. DWORD'Last - 1.
16909 2003-11-26 Ed Schonberg <schonberg@gnat.com>
16912 (Expand_N_Slice): Recognize all cases of slices that appear as actuals
16913 in procedure calls and whose expansion must be deferred.
16915 * exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
16919 (Build_Derived_Array_Type): Create operator for unconstrained type
16920 if ancestor is unconstrained.
16922 2003-11-26 Vincent Celier <celier@gnat.com>
16924 * make.adb (Project_Object_Directory): New global variable
16925 (Change_To_Object_Directory): New procedure
16926 (Collect_Arguments_And_Compile): Call Change_To_Object_Directory instead
16927 of Change_Dir directly. Do not change working directory to object
16928 directory of main project after each compilation.
16929 (Gnatmake): Use Change_To_Object_Directory instead of Change_Dir
16931 Change to object directory of main project before binding step.
16932 (Initialize): Initialize Project_Object_Directory to No_Project
16935 (Build_Library): Take into account Builder'Default_Switches ("Ada") when
16936 binding a Stand-Alone Library.
16938 * output.adb: Update Copyright notice
16939 (Write_Char): Output buffer when full
16941 2003-11-26 Robert Dewar <dewar@gnat.com>
16943 * sem_ch13.adb: (Check_Size): Reset size if size is too small
16946 (Check_Size): Fix documentation to include bit-packed array case
16948 * sem_res.adb: Implement restriction No_Direct_Boolean_Operators
16950 * s-rident.ads: Put No_Direct_Boolean_Operators in proper order
16952 * s-rident.ads: Add new restriction No_Direct_Boolean_Operators
16954 2003-11-24 Arnaud Charlet <charlet@act-europe.fr>
16957 * utils.c (init_gigi_decls): Change name of built-in setjmp to
16958 __builtin_setjmp, since this is apparently needed by recent
16961 2003-11-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16963 * adadecode.c: Only include ctype.h if not IN_GCC.
16964 (__gnat_decode): Use ISDIGIT from safe-ctype.h.
16966 2003-11-24 Jose Ruiz <ruiz@act-europe.fr>
16969 Use 5zintman.ads for VxWorks targets. This file avoid confusion between
16970 signals and interrupts.
16972 * 5zintman.ads: New File.
16974 * 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
16975 add exception signals to the set of unmasked signals.
16978 Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
16979 between signals and interrupts.
16980 Add to Unblocked_Signal_Mask the set of signals that are in
16984 Adding a check to see whether the Interrupt_ID we want to unmask is in
16985 the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
16986 reason is that the index type of the Keep_Unmasked array is not always
16987 Interrupt_ID; it may be a subtype of Interrupt_ID.
16989 2003-11-24 Gary Dismukes <dismukes@gnat.com>
16992 (Remove_Side_Effects): Condition constantness of object created for a
16993 an unchecked type conversion on the constantness of the expression
16994 to ensure the correct value for 'Constrained when passing components
16995 of view-converted class-wide objects.
16997 2003-11-24 Robert Dewar <dewar@gnat.com>
16999 * par-load.adb (Load): Improve handling of misspelled and missing units
17000 Removes several cases of compilation abandoned messages
17002 * lib.adb: (Remove_Unit): New procedure
17004 * lib.ads: (Remove_Unit): New procedure
17006 * lib-load.adb: Minor reformatting
17008 2003-11-24 Vincent Celier <celier@gnat.com>
17011 (Gnatmake, Initialize): Call Usage instead of Makeusg directly
17012 (Marking_Label): Label to mark processed source files. Incremented for
17014 (Gnatmake): Increase Marking_Labet for each executable
17015 (Is_Marked): Compare against marking label
17016 (Mark): Mark with marking label
17018 2003-11-24 Jerome Guitton <guitton@act-europe.fr>
17021 Move the declaration of the TSD for System.Threads to System.Soft_Links.
17024 * Makefile.in: Added target pair for s-thread.adb for cert runtime.
17025 (rts-cert): build a single relocatable object for the run-time lib.
17028 2003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
17031 Use gnatls rather than gcc to obtain the location of GNAT RTL for
17034 2003-11-24 Sergey Rybin <rybin@act-europe.fr>
17036 * opt.adb (Tree_Write): Gnat_Version_String is now a function, so we
17037 can not use it as before (that is, as a variable) when dumping it into
17038 the tree file. Add a local variable to store the result of this
17039 function and to be used as the string to be written into the tree.
17041 * scn.adb (Initialize_Scanner): Add comments explaining the recent
17044 * sinput.adb (Source_First, Source_Last): In case of
17045 Internal_Source_File, replace returning attributes of
17046 Internal_Source_Ptr (which is wrong) with returning attributes of
17049 2003-11-24 Ed Schonberg <schonberg@gnat.com>
17052 (New_Concatenation_Op): Proper name for New_Binary_Operator, only
17053 used for implicit concatenation operators.
17057 (Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
17058 task bodies that are in the scope of a Suppress pragma.
17059 (Check_A Call): Use the flag to prevent spurious elaboration checks.
17061 * sinfo.ads, sinfo.adb:
17062 New flag No_Elaboration_Check on function/procedure calls, to properly
17063 suppress checks on calls in task bodies that are within a local suppress
17067 (Expand_Concatenate_Other): Use the proper integer type for the
17068 expression for the upper bound, to avoid universal_integer computations
17071 2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
17073 * .cvsignore: Delete.
17075 2003-11-21 Andreas Schwab <schwab@suse.de>
17077 * 55system.ads: Set ZCX_By_Default and GCC_ZCX_Support to True.
17079 2003-11-21 Vasiliy Fofanov <fofanov@act-europe.fr>
17081 * 5wsystem.ads: Enable zero cost exception.
17083 2003-11-21 Jerome Guitton <guitton@act-europe.fr>
17085 * 5ztiitho.adb: Remove an unreferenced variable.
17087 2003-11-21 Thomas Quinot <quinot@act-europe.fr>
17089 * adaint.c: For FreeBSD, use mkstemp.
17091 2003-11-21 Arnaud Charlet <charlet@act-europe.fr>
17093 * gnatlbr.adb: Now reference Gnat_Static_Version_String.
17095 2003-11-21 Robert Dewar <dewar@gnat.com>
17097 * bld.adb: Remove useless USE of gnatvsn
17099 * gnatchop.adb: Minor reformatting
17100 Clean up version handling to be more consistent
17102 * gnatxref.adb: Minor reformatting
17104 * gprcmd.adb: Minor reformatting
17105 Fix output of copyright to be more consistent with other tools
17107 2003-11-21 Vincent Celier <celier@gnat.com>
17109 * make.adb (Scan_Make_Args): Do not transmit --RTS= to gnatlink
17111 2003-11-21 Sergey Rybin <rybin@act-europe.fr>
17113 * atree.adb (Initialize): Add initializations for global variables
17114 used in New_Copy_Tree.
17116 * cstand.adb (Create_Standard): Add call to Initialize_Scanner (with
17117 Internal_Source_File as the actual).
17118 Put the set of statements creating Any_Character before the set of
17119 statements creating Any_Array to have Any_Character fully initialized
17120 when it is used in creating Any_Array.
17122 * scn.adb (Initialize_Scanner): Do not set Comes_From_Source ON and do
17123 not call Scan in case if the actual is Internal_Source_File
17124 Add 2003 to copyright note.
17126 * sinput.adb (Source_First, Source_Last, Source_Text): Add code for
17127 processing Internal_Source_File.
17129 * types.ads: Add the constant Internal_Source_File representing the
17130 source buffer for artificial source-code-like strings created within
17131 the compiler (the definition of Source_File_Index is changed).
17133 2003-11-20 Arnaud Charlet <charlet@act-europe.fr>
17135 * 35soccon.ads, 45intnam.ads, 55osinte.adb, 55osinte.ads,
17136 56system.ads: New file, FreeBSD version.
17138 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
17140 * Make-lang.in (ada.extraclean): Delete.
17142 2003-11-19 Arnaud Charlet <charlet@act-europe.fr>
17144 * gnatmem.adb: Clean up verbose output.
17146 * gprcmd.adb: Change copyright to FSF.
17148 2003-11-19 Vincent Celier <celier@gnat.com>
17150 * symbols.adb: (Initialize): New parameters Reference, Symbol_Policy
17151 and Version (ignored).
17153 * symbols.ads: (Policy): New type
17154 (Initialize): New parameter Reference, Symbol_Policy and
17156 Remove parameter Force.
17157 Minor reformatting.
17159 * snames.ads, snames.adbadb: New standard names
17160 Library_Reference_Symbol_File and Library_Symbol_Policy
17163 (Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
17167 (Build_Dynamic_Library): New parameter Symbol_Data (ignored)
17169 * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
17171 * prj.adb: (Project_Empty): New component Symbol_Data
17173 * prj.ads: (Policy, Symbol_Record): New types
17174 (Project_Data): New component Symbol_Data
17177 New attributes Library_Symbol_File, Library_Symbol_Policy and
17178 Library_Reference_Symbol_File.
17181 (Ada_Check): When project is a Stand-Alone library project, process
17182 attribute Library_Symbol_File, Library_Symbol_Policy and
17183 Library_Reference_Symbol_File.
17185 * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb,
17186 5wml-tgt.adb, 5zml-tgt.adb, 5lml-tgt.adb,
17187 5sml-tgt.adb (Build_Dynamic_Library): New parameter
17188 Symbol_Data (ignored).
17190 * 5vml-tgt.adb (VMS_Options): Remove --for-linker=gsmatch=equal,1,0
17191 (Build_Dynamic_Library): New parameter Symbol_Data. New internal
17192 functions Option_File_Name and Version_String. Set new options of
17193 gnatsym related to symbol file, symbol policy and reference symbol
17197 Extensive modifications to take into account the reference symbol file,
17198 the symbol policy, the library version and to put in the symbol file the
17199 minor and major IDs.
17201 * bld.adb (Process_Declarative_Items): Put second argument of
17202 gprcmd to_absolute between single quotes, to avoid problems with
17205 * bld-io.adb: Update Copyright notice.
17206 (Flush): Remove last character of a line, if it is a back slash, to
17207 avoid make problems.
17210 Implement new scheme with reference symbol file and symbol policy.
17212 * g-os_lib.ads: (Is_Directory): Clarify comment
17214 2003-11-19 Robert Dewar <dewar@gnat.com>
17216 * atree.adb: Move New_Copy_Tree global variables to head of package
17218 * errout.adb: Minor reformatting
17220 2003-11-19 Javier Miranda <miranda@gnat.com>
17222 * sem_ch4.adb: (Diagnose_Call): Improve error message.
17223 Add reference to Ada0Y (AI-50217)
17225 * sem_ch6.adb, sem_ch8.adb, sem_type.adb,
17226 sem_util.adb: Add reference to AI-50217
17228 * sinfo.ads: (N_With_Clause): Document fields referred to AI-50217
17230 * sprint.adb: Add reference to Ada0Y (AI-50217, AI-287)
17232 * sem_aggr.adb: Complete documentation of AI-287 changes
17234 * par-ch4.adb: Document previous changes.
17236 * lib-load.adb, lib-writ.adb, einfo.ads, par-ch10.adb,
17237 sem_cat.adb, sem_ch3.adb, sem_ch10.adb, sem_ch12.adb: Add references to
17240 * exp_aggr.adb: Add references to AI-287 in previous changes
17242 2003-11-19 Ed Schonberg <schonberg@gnat.com>
17245 (Add_Call_By_Copy_Node): Do not original node of rewritten expression
17246 in the rewriting is the result of an inlined call.
17248 * exp_ch6.adb (Add_Call_By_Copy_Node): If actual for (in-)out
17249 parameter is a type conversion, use original node to construct the
17250 post-call assignment, because expression may have been rewritten, e.g.
17251 if it is a packed array.
17254 (Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
17255 body, just as it is in an instance.
17256 Categorization routines
17258 * sem_ch12.adb (Analyze_Association, Instantiate_Formal_Subprogram,
17259 Instantiate_Object): Set proper sloc reference for message on missing
17262 2003-11-19 Thomas Quinot <quinot@act-europe.fr>
17264 * Makefile.in: Add FreeBSD libgnat pairs.
17266 * usage.adb: Fix typo in usage message.
17268 2003-11-19 Jerome Guitton <guitton@act-europe.fr>
17270 * Makefile.in: On powerpc-wrs-vxworksae: Add s-thread.ad?,
17271 s-thrini.ad? and s-tiitho.adb to the full runtime, to support the
17272 pragma Thread_Body.
17273 Remove i-vthrea.ad? and s-tpae65.ad?, not needed anymore.
17275 * s-thread.adb: This file is now a dummy implementation of
17278 2003-11-19 Sergey Rybin <rybin@act-europe.fr>
17280 * rtsfind.adb (Initialize): Add initialization for RTE_Is_Available
17282 2003-11-19 Emmanuel Briot <briot@act-europe.fr>
17284 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
17285 instanciation references in the parent type description.
17287 2003-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17289 * ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".
17291 * decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
17292 TYPE_PRECISION directly from esize.
17294 2003-11-18 Thomas Quinot <quinot@act-europe.fr>
17297 Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
17299 * init.c: Initialization routines for FreeBSD
17301 * link.c: Link info for FreeBSD
17303 * sysdep.c: Add the case of FreeBSD
17305 2003-11-17 Jerome Guitton <guitton@act-europe.fr>
17307 * 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
17308 already called in System.Threads.
17310 * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
17311 environment task, as it has been moved to System.Threads.Initialization.
17313 2003-11-17 Arnaud Charlet <charlet@act-europe.fr>
17315 * adaint.c (__gnatlib_install_locks): Only reference
17316 __gnat_install_locks on VMS, since other platforms can avoid using
17317 --enable-threads=gnat
17319 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17321 * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro.
17323 * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
17324 TYPE_PACKED_ARRAY_TYPE_P.
17325 (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.
17327 Part of PR ada/12806
17328 * utils.c (float_type_for_precision): Renamed from float_type_for_size.
17329 Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.
17331 2003-11-17 Vincent Celier <celier@gnat.com>
17333 * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
17335 Do not set exit status to Failure when Warning is True.
17336 (Gnatchop): Make errors "no compilation units found" and
17337 "no source files written" warnings only.
17339 * make.adb (Gnatmake): When using a project file, set
17340 Look_In_Primary_Dir to False.
17341 (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
17342 and Local_Configuration_Pragmas in the project where they are declared
17343 not an extending project which might have inherited them.
17345 * osint.adb (Locate_File): If Name is already an absolute path, do not
17346 look for a directory.
17348 * par-ch10.adb (P_Compilation_Unit): If source contains no token, and
17349 -gnats (Check_Syntax) is used, issue only a warning, not an error.
17351 * prj.adb (Register_Default_Naming_Scheme): Add new component Project
17352 in objects of type Variable_Value.
17354 * prj.ads: (Variable_Value): New component Project
17356 * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
17357 is in a project extended by Project.
17359 * prj-proc.adb (Add_Attributes): New parameter Project. Set component
17360 Project of Variable_Values to this new parameter value.
17361 (Expression): Set component Project of Variable_Values.
17362 (Process_Declarative_Items): Call Add_Attributes with parameter Project.
17363 Set the component Project in array elements.
17365 2003-11-17 Sergey Rybin <rybin@act-europe.fr>
17367 * errout.adb: (Initialize): Add initialization for error nodes.
17369 * sem_ch12.adb (Initialize): Add missing initializations for
17370 Exchanged_Views and Hidden_Entities.
17372 2003-11-17 Ed Schonberg <schonberg@gnat.com>
17374 * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
17375 already instantiated tree for use in subsequent inlining.
17376 (Analyze_Associations, Instantiate_Formal_Subprogram,
17377 Instantiate_Object): improve error message for mismatch in
17380 * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
17381 instantiations of subprograms declared in instances.
17383 2003-11-17 Javier Miranda <miranda@gnat.com>
17385 * sem_ch4.adb (Analyze_Allocator): Previous modification must be
17386 executed only under the Extensions_Allowed flag.
17388 2003-11-17 Robert Dewar <dewar@gnat.com>
17390 * a-exexda.adb (Address_Image): Fix documentation to indicate leading
17392 (Address_Image): Fix bug of returning 0x instead of 0x0
17393 Minor reformatting (function specs).
17395 * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
17396 (missed case of 33-63)
17398 * freeze.adb, sem_ch13.adb: Properly check size of packed bit array
17400 * s-thread.adb: Add comments for pragma Restriction
17402 * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
17403 sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting
17405 2003-11-17 Ed Falis <falis@gnat.com>
17407 * s-thread.adb: Added No_Tasking restriction for this implementation.
17409 2003-11-17 Emmanuel Briot <briot@act-europe.fr>
17411 * xref_lib.adb (Parse_Identifier_Info): Add handling of generic
17412 instanciation references in the parent type description.
17414 2003-11-17 GNAT Script <nobody@gnat.com>
17416 * Make-lang.in: Makefile automatically updated
17418 2003-11-16 Jason Merrill <jason@redhat.com>
17420 * Make-lang.in (ada.tags): Create TAGS.sub files in each directory
17421 and TAGS files that include them for each front end.
17423 2003-11-14 Andreas Jaeger <aj@suse.de>
17425 * lang.opt: Change -Wno-long-long to -Wlong-long since the latter
17426 is the canonical version.
17427 * misc.c (gnat_handle_option): Likewise.
17429 * Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.
17431 * 5nsystem.ads: New file for x86_64-linux-gnu.
17433 2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
17435 * nmake.ads, nmake.adb, sinfo.h, treeprs.ads: Regenerated.
17437 * comperr.adb: Fix logic in previous change.
17439 2003-11-13 Vincent Celier <celier@gnat.com>
17441 * 5bml-tgt.adb (Build_Dynamic_Library): Use
17442 Osint.Include_Dir_Default_Prefix instead of
17443 Sdefault.Include_Dir_Default_Name.
17445 * gnatlbr.adb: Update Copyright notice
17446 (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
17447 Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
17448 instead of Sdefault.Object_Dir_Default_Name
17451 (Process_Binder_File): Never suppress the option following -Xlinker
17454 (Gcc): Use Osint.Object_Dir_Default_Prefix instead of
17455 Sdefault.Object_Dir_Default_Name.
17457 * osint.ads, osint.adb:
17458 (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
17459 Minor reformatting.
17461 * vms_conv.ads: Minor reformating
17462 Remove GNAT STANDARD and GNAT PSTA
17465 Allow GNAT MAKE to have several files on the command line.
17466 (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
17467 Sdefault.Object_Dir_Default_Name.
17469 Remove data for GNAT STANDARD
17472 Add new compiler qualifier /PRINT_STANDARD (-gnatS)
17473 Remove data for GNAT STANDARD
17474 Remove options and documentation for -gnatwb/-gnatwB: these warning
17475 options no longer exist.
17477 2003-11-13 Ed Falis <falis@gnat.com>
17479 * 5zthrini.adb: (Init_RTS): Made visible
17482 (Register): Removed unnecessary call to taskVarGet that checked whether
17483 an ATSD was already set as a task var for the argument thread.
17486 Updated comment to reflect that this is a VxWorks version
17487 Added context clause for System.Threads.Initialization
17488 Added call to System.Threads.Initialization.Init_RTS
17490 2003-11-13 Jerome Guitton <guitton@act-europe.fr>
17493 (Init_RTS): New procedure, for the initialization of the run-time lib.
17496 Remove dependancy on System.Init, so that this file can be used in the
17497 AE653 sequential run-time lib.
17499 2003-11-13 Robert Dewar <dewar@gnat.com>
17501 * bindgen.adb: Minor reformatting
17503 2003-11-13 Ed Schonberg <schonberg@gnat.com>
17506 (Apply_Discriminant_Check): Do no apply check if target type is derived
17507 from source type with no applicable constraint.
17510 (Ensure_System_Dependency): Do not apply the style checks that may have
17511 been specified for the main unit.
17514 (Find_Selected_Component): Further improvement in error message, with
17518 (Resolve): Handle properly the case of an illegal overloaded protected
17521 2003-11-13 Javier Miranda <miranda@gnat.com>
17524 (Has_Default_Init_Comps): New function to check the presence of
17525 default initialization in an aggregate.
17526 (Build_Record_Aggr_Code): Recursively expand the ancestor in case of
17527 extension aggregate of a limited record. In addition, a new formal
17528 was added to do not initialize the record controller (if any) during
17529 this recursive expansion of ancestors.
17530 (Init_Controller): Add support for limited record components.
17531 (Expand_Record_Aggregate): In case of default initialized components
17532 convert the aggregate into a set of assignments.
17534 * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
17535 describing the new syntax.
17536 Nothing else needed to be done because this subprogram delegates part of
17537 its work to P_Precord_Or_Array_Component_Association.
17538 (P_Record_Or_Array_Component_Association): Give support to the new
17539 syntax for default initialization of components.
17542 (Resolve_Aggregate): Relax the strictness of the frontend in case of
17543 limited aggregates.
17544 (Resolve_Record_Aggregate): Give support to default initialized
17546 (Get_Value): In case of default initialized components, duplicate
17547 the corresponding default expression (from the record type
17548 declaration). In case of default initialization in the *others*
17549 choice, do not check that all components have the same type.
17550 (Resolve_Extension_Aggregate): Give support to limited extension
17554 (Check_Initialization): Relax the strictness of the front-end in case
17555 of aggregate and extension aggregates. This test is now done in
17556 Get_Value in a per-component manner.
17558 * sem_ch4.adb (Analyze_Allocator): Don't post an error if the
17559 expression corresponds to a limited aggregate. This test is now done
17562 * sinfo.ads, sinfo.adb (N_Component_Association): Addition of
17565 * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
17566 present in an N_Component_Association node
17568 2003-11-13 Thomas Quinot <quinot@act-europe.fr>
17570 * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
17571 type-conformant entry only if they are homographs.
17573 2003-11-13 GNAT Script <nobody@gnat.com>
17575 * Make-lang.in: Makefile automatically updated
17577 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17579 * adadecode.c: Use <> form of include for ctype.h.
17580 * sysdep.c [IN_RTS]: Use <> form of include for time.h.
17582 2003-11-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17584 * 5gsystem.ads (Functions_Return_By_DSP): Set to False.
17585 Works around PR middle-end/6552.
17587 2003-11-10 Ed Falis <falis@gnat.com>
17589 * 5ytiitho.adb: (procStartHookAdd): Definition and call deleted
17591 * 5zinit.adb: (Install_Handler): Moved back to spec
17592 (Install_Signal_Handlers): Deleted
17594 * 5zthrini.adb: Added context clause for System.Storage_Elements
17595 (Register): Only handles creation of taskVar; initialization moved to
17597 (Reset_TSD): Deleted; replaced by Thread_Body_Enter
17598 Added declaration of environment task secondary stack and
17601 * s-thread.adb: Implement bodies for thread body processing
17604 Added comment identifying supported targets for pragma Thread_Body.
17606 2003-11-10 Pascal Obry <obry@gnat.com>
17608 * adaint.c (_gnat_stat) [WIN32]: Check if name is not bigger than
17612 (Open): Properly check for string length before copying into the buffer.
17613 Raises Name_Error if buffer is too small. Note that this was a potential
17616 2003-11-10 Romain Berrendonner <berrendo@act-europe.fr>
17618 * bindgen.adb, comperr.adb: Code clean ups.
17619 * gnatvsn.ads, gnatvsn.adb (Get_Gnat_Version_Type): New function.
17621 2003-11-10 Sergey Rybin <rybin@act-europe.fr>
17623 * gnat1drv.adb: Add call to Sem_Elim.Initialize.
17625 2003-11-10 Vincent Celier <celier@gnat.com>
17628 (Gprcmd): Add new command "prefix" to get the prefix of the GNAT
17631 * make.adb (Scan_Make_Arg): Transmit -nostdlib to the compiler
17633 * prj.adb: (Project_Empty): Add new boolean component Virtual
17635 * prj.ads: (Virtual_Prefix): New constant string
17636 (Project_Data): New boolean component Virtual
17638 * prj-nmsc.adb (Language_Independent_Check): Adjust error message when
17639 a library project is extended by a virtual extending project.
17642 Modifications throughout to implement extending-all project, including:
17643 (Virtual_Hash, Processed_Hash): New hash tables
17644 (Create_Virtual_Extending_Project): New procedure
17645 (Look_For_Virtual_Projects_For): New procedure
17648 (Process): After checking the projects, if main project is an
17649 extending-all project, set the object directory of all virtual extending
17650 project to the object directory of the main project.
17651 Adjust error message when a virtual extending project has the same
17652 object directory as an project being extended.
17653 (Recursive_Process): If name starts with the virtual prefix, set Virtual
17654 to True in the project data.
17657 (Default_Project_Node): Add new boolean component Extending_All
17658 (Is_Extending_All): New function
17659 (Set_Is_Extending_All): New procedure
17661 * prj-tree.ads: (Is_Extending_All): New function
17662 (Set_Is_Extending_All): New procedure
17663 (Project_Node_Record): New boolean component Extending_All
17665 * switch-c.adb: (Scan_Front_End_Switches): Process -nostdlib
17668 Add qualifier /NOSTD_LIBRARIES (-nostdlib) for the compiler
17670 * bld.adb (Recursive_Process): If MAKE_ROOT is not defined, call
17671 "gprcmd prefix" to define it.
17673 2003-11-10 Thomas Quinot <quinot@act-europe.fr>
17675 * einfo.ads: Fix a typo and remove an extraneous word in comments.
17678 (Create_Dummy_Package_Unit): Set the scope of the entity for the
17679 created dummy package to Standard_Standard, not to itself, to
17680 defend other parts of the front-end against encoutering a cycle in
17684 (Analyze_With_Clause): When setting the entities for the successive
17685 N_Expanded_Names that constitute the name of a child unit, do not
17686 attempt to go further than Standard_Standard in the chain of scopes.
17687 This case arises from the placeholder units created by
17688 Create_Dummy_Package_Unit in the case of a with_clause for a
17689 nonexistent child unit.
17691 2003-11-10 Ed Schonberg <schonberg@gnat.com>
17694 (Expand_Thread_Body): Place subprogram on scope stack, so that new
17695 declarations are given the proper scope.
17698 (Check_Expr_Constants): Reject an expression that contains a constant
17699 created during expansion, and that appears after the object to which
17700 the address clause applies.
17702 * sem_ch5.adb (Check_Controlled_Array_Attribute): Subsidiary of
17703 Analyze_Iteration_Scheme, to rewrite a loop parameter specification
17704 that uses 'Range of a function call with controlled components, so
17705 that the function result can be finalized before starting the loop.
17708 (Find_Selected_Component): Improve error message when prefix is
17709 an implicit dereference of an incomplete type.
17711 2003-11-10 Robert Dewar <dewar@gnat.com>
17713 * opt.ads: New Print_Standard flag for -gnatS switch
17715 * sem_ch13.adb: Remove some additional checks for unaligned arrays
17717 * cstand.adb (Create_Standard): Print out package standard if -gnatS
17720 * debug.adb: Update doc for -gnatds to discuss relationship with new
17723 * sinfo.adb: Add new field Entity_Or_Associated_Node
17725 * sinfo.ads: Add new field Entity_Or_Associated_Node
17726 Update documentation for Associated_Node and Entity fields to clarify
17727 relationship and usage.
17730 (Write_Id): Properly process Associated_Node field in generic template
17733 Recognize new -gnatS switch for printing package Standard
17734 This replaces gnatpsta
17737 Add line for new -gnatS switch for printing package Standard
17738 This replaces gnatpsta
17740 2003-11-10 Andreas Jaeger <aj@suse.de>
17742 * 7sosprim.adb: tv_usec of struct_timeval and time_t are long
17745 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
17747 * misc.c, lang.opt: Add handling of -nostdlib, now recognized/needed
17750 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
17752 * Makefile.in, Make-lang.in: Remove build of gnat_wrapper and gnatpsta,
17755 * gnatpsta.adb, gnat_wrapper.adb: Removed, no longer needed.
17757 * sysdep.c: Add handling of cygwin.
17759 2003-11-10 GNAT Script <nobody@gnat.com>
17761 * Make-lang.in: Makefile automatically updated
17763 2003-11-10 Arnaud Charlet <charlet@act-europe.fr>
17766 * osint.ads, osint.adb (Relocate_Path, Executable_Suffix): New
17767 functions. Used to handle dynamic prefix relocation, via set_std_prefix.
17768 Replace GNAT_ROOT by GCC_ROOT.
17770 * Make-lang.in: Use new function Relocate_Path to generate sdefault.adb
17772 2003-11-06 Zack Weinberg <zack@codesourcery.com>
17774 * misc.c (fp_prec_to_size, fp_size_to_prec): Use GET_MODE_PRECISION
17775 and update for changed meaning of GET_MODE_BITSIZE.
17777 2003-11-04 Doug Rupp <rupp@gnat.com>
17779 * sysdep.c: Problem discovered during IA64 VMS port.
17780 [VMS] #include <unixio.h> to get proper prototypes.
17783 Issues discovered/problems fixed during IA64 VMS port.
17784 [VMS] #define _POSIX_EXIT for proper semantics.
17785 [VMS] #include <unixio.h> for proper prototypes.
17786 [VMS] (fork): #define IA64 version.
17787 (__gnat_os_exit): Remove unnecessary VMS specific code.
17789 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17791 Part of PR ada/12806
17793 * ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
17797 (gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
17800 * targtyps.c, decl.c, misc.c,
17801 gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
17802 routines to work around change in FP sizing semantics in GCC.
17805 (build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.
17807 * gigi.h: (enumerate_modes): New function.
17809 * Make-lang.in: (ada/misc.o): Add real.h.
17811 * misc.c: (enumerate_modes): New function.
17813 2003-11-04 Robert Dewar <dewar@gnat.com>
17815 * 3vtrasym.adb: Minor reformatting
17816 Use terminology encoded/decoded name, rather than C++ specific notion
17817 of mangling (this is the terminology used throughout GNAT).
17819 * einfo.h: Regenerated
17821 * einfo.ads, einfo.adb: Add new flag Is_Thread_Body
17824 (Expand_N_Subprogram_Body): Handle expansion of thread body procedure
17826 * par-prag.adb: Add dummy entry for Thread_Body pragma
17829 Add entries for System.Threads entities for thread body processing
17832 (Analyze_Pragma, Access attributes): Check these are not applied to a
17833 thread body, since this is not permitted
17835 * sem_prag.adb: Add processing for Thread_Body pragma.
17839 (Resolve_Call): Check for incorrect attempt to call a thread body
17840 procedure with a direct call.
17842 * snames.ads, snames.adb: Add entry for Thread_Body pragma
17843 Add names associated with thread body expansion
17845 * snames.h: Add entry for Thread_Body pragma
17847 * s-thread.adb: Add entries for thread body processing
17848 These are dummy bodies so far
17850 * s-thread.ads: Add documentation on thread body handling.
17851 Add entries for thread body processing.
17853 2003-11-04 Javier Miranda <miranda@gnat.com>
17856 (Build_Limited_Views): Return after posting an error in case of limited
17857 with_clause on subprograms, generics, instances or generic renamings
17858 (Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
17859 on subprograms, generics, instances or generic renamings
17861 2003-11-04 Arnaud Charlet <charlet@act-europe.fr>
17863 * raise.c (setup_to_install): Correct mistake in last revision; two
17864 arguments out of order.
17866 * trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
17867 gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
17868 notice, missed in previous change.
17869 Remove trailing blanks and other style errors introduced in previous
17872 2003-11-04 Olivier Hainque <hainque@act-europe.fr>
17874 * decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
17875 rid of the wrapper for a LJM type, ensuring we don't do that if the
17876 field is addressable. This avoids potential low level type view
17877 mismatches later on, for instance in a by-reference argument passing
17880 2003-11-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17882 * decl.c (gnat_to_gnu_field): No longer check for BLKmode being
17883 aligned at byte boundary.
17885 2003-11-04 Joel Brobecker <brobecker@gnat.com>
17887 * decl.c (components_to_record): Do not delete the empty variants from
17888 the end of the union type.
17890 2003-11-04 Ed Schonberg <schonberg@gnat.com>
17892 * exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
17893 operation for a derived type, an explicit declaration may use a local
17894 subtype of Boolean.
17896 2003-11-04 Vincent Celier <celier@gnat.com>
17898 * make.adb (Gnatmake): Allow main sources on the command line with a
17899 library project when it is only for compilation (no binding or
17902 2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17904 * Makefile.in: Remove many duplicate variables.
17906 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
17908 * Make-lang.in (dvi): Move targets to $(docobjdir).
17909 (gnat_ug_vms.dvi): Simplify rule and adjust target.
17910 (gnat_ug_wnt.dvi): Likewise.
17911 (gnat_ug_unx.dvi): Likewise.
17912 (gnat_ug_vxw.dvi): Likewise.
17913 (gnat_rm.dvi): Likewise.
17914 (gnat-style.dvi): Likewise.
17916 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
17918 * gigi.h: Missed commit from update for C90.
17920 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
17922 * Makefile.in (ada/b_gnat1.o): Compile with -Wno-error.
17924 2003-10-31 Andreas Schwab <schwab@suse.de>
17926 * raise.c (get_action_description_for): Fix typo in last change.
17928 2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
17931 * ada/Make-lang.in: Move default definitions of X_ADA_CFLAGS,
17932 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from here to master Makefile.in.
17934 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
17936 * adadecode.c, adaint.c, argv.c, aux-io.c, cal.c, cio.c, cstreams.c,
17937 ctrl_c.c, cuintp.c, decl.c, errno.c, exit.c, expect.c, final.c,
17938 gigi.h, gmem.c, gnatbl.c, init.c, misc.c, mkdir.c, raise.c, socket.c,
17939 sysdep.c, sysdep.c, targtyps.c, tb-alvms.c, tb-alvxw.c, tracebak.c,
17940 trans.c, utils.c, utils2.c: Convert function prototypes to C90.
17942 2003-10-30 Vasiliy Fofanov <fofanov@act-europe.fr>
17945 Demangle Ada symbols returned by TBK$SYMBOLIZE. Correctly align line
17946 numbers when symbol name is too long.
17948 2003-10-30 Ed Falis <falis@gnat.com>
17950 * g-signal.ads, g-signal.adb: New files
17952 * impunit.adb: (Non_Imp_File_Names): Added "g-signal"
17954 * Makefile.rtl: Introduce GNAT.Signals
17956 2003-10-30 Robert Dewar <dewar@gnat.com>
17958 * freeze.adb: Minor reformatting
17960 * lib-writ.adb (Write_ALI): Never write ali file if -gnats is specified
17962 * par.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb,
17963 par-ch5.adb, par-ch6.adb, par-ch9.adb, par-util.adb:
17964 New handling of Id_Check parameter to improve recognition of keywords
17965 used as identifiers.
17966 Update copyright notice to include 2003
17968 2003-10-29 Robert Dewar <dewar@gnat.com>
17970 * 3vtrasym.adb, 5vtraent.ads, sprint.adb,
17971 sem_ch10.adb: Minor reformatting
17973 * exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
17974 (Expand_Assign_Record): Test right hand side for bit unaligned as well
17976 2003-10-29 Vasiliy Fofanov <fofanov@act-europe.fr>
17978 * 3vtrasym.adb, 5vtraent.adb, 5vtraent.ads, tb-alvms.c:
17979 Support for TBK$SYMBOLIZE-based symbolic traceback.
17981 2003-10-29 Jose Ruiz <ruiz@act-europe.fr>
17984 Revert previous change, that did not work well when pragma No_Run_Time
17985 was used in conjunction with a run-time other than ZFP.
17987 2003-10-29 Vincent Celier <celier@gnat.com>
17990 (Gnatmake): When there are no Ada mains in attribute Main, disable the
17991 bind and link steps only is switch -z is not used.
17993 2003-10-29 Arnaud Charlet <charlet@act-europe.fr>
17995 * Makefile.generic: Remove duplicated setting of CC.
17997 * Makefile.prolog: Set CC to gcc by default, to override make's
18000 * einfo.h: Regenerated.
18002 2003-10-29 Ed Schonberg <schonberg@gnat.com>
18004 * sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
18005 current body, after compiling subunit.
18007 * itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
18008 when in deleted code, because gigi needs properly ordered freeze
18009 actions to annotate types.
18011 * freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
18012 prevent the premature freezing of record type that contains
18013 subcomponents with a private type that does not yet have a completion.
18015 2003-10-29 Javier Miranda <miranda@gnat.com>
18018 (Analyze_Package_Instantiation): Check that instances can not be used in
18019 limited with_clauses.
18022 (Analyze_Package_Renaming): Check that limited withed packages cannot
18023 be renamed. Improve text on error messages related to limited
18026 * einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.
18028 * sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
18029 Update copyright notice.
18031 * sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
18032 (Install_Limited_Context_Clauses): New subprogram that isolates all the
18033 checks required for limited context_clauses and installs the limited
18035 (Install_Limited_Withed_Unit): Complete its documentation.
18036 (Analyze_Context): Check that limited with_clauses are only allowed in
18038 (Install_Context): Call Install_Limited_Context_Clauses after the
18039 parents have been installed.
18040 (Install_Limited_Withed_Unit): Add documentation. Mark the installed
18041 package as 'From_With_Type'; this mark indicates that the limited view
18042 is installed. Used to check bad usages of limited with_clauses.
18043 (Build_Limited_Views): Do not add shadow entities to the scope's list
18044 of entities. Do not add real entities to the Non_Limited_Views chain.
18045 Improve error notification.
18046 (Remove_Context_Clauses): Remove context clauses in two phases:
18047 limited views first and regular views later (to maintain the
18049 (Remove_Limited_With_Clause): If the package is analyzed then reinstall
18050 its visible entities.
18052 2003-10-29 Thomas Quinot <quinot@act-europe.fr>
18054 * sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
18055 with any type that Is_Fixed_Point_Type.
18057 * sinfo.ads: Fix documentation for Associated_Node attribute.
18059 2003-10-29 Sergey Rybin <rybin@act-europe.fr>
18061 * switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
18062 both '-gnatc' and '-gnatt' are specified.
18064 * atree.adb (Initialize): Add initialization for Node_Count (set to
18067 2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18069 * decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
18070 do not consider as Pure.
18072 Part of implementation of function-at-a-time:
18074 * trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
18075 (tree_transform): Add new argument to build_component_ref.
18076 (tree_transform, case N_Assignment_Statement): Make and return an
18078 (tree_transform): If result IS_STMT, set flags and return it.
18079 (gnat_expand_stmt, set_lineno_from_sloc): New functions.
18081 * utils2.c (build_simple_component_ref, build_component_ref): Add new
18083 (build_binary_op, case EQ_EXPR): Pass additional arg to it.
18084 (build_allocator): Likewise.
18086 * utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
18087 Add new arg to build_component_ref.
18088 (maybe_unconstrained_array, unchecked_convert): Likewise.
18090 * ada-tree.def (EXPR_STMT): New code.
18092 * ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.
18094 * decl.c (gnat_to_gnu_entity, case object): Add extra arg to
18095 build_component_ref calls.
18097 * misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.
18099 * gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
18100 (build_component_ref): Add new argument, NO_FOLD_P.
18102 2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
18104 * Makefile.generic: Add missing substitution on object_deps handling.
18107 * Make-lang.in (check-ada): Enable ACATS test suite.
18109 2003-10-27 Robert Dewar <dewar@gnat.com>
18112 (Freeze_Array_Type): We do not need an initialization routine for types
18113 derived from String or Wide_String. They should be treated the same
18114 as String and Wide_String themselves. This caused problems with the
18115 use of Initialize_Scalars.
18118 (Expand_Assign_Record): Do component-wise assignment of non-byte aligned
18119 composites. This allows use of component clauses that are not byte
18123 (Analyze_Pragma, case Pack): Generate warning and ignore pack if there
18124 is an attempt to pack an array of atomic objects.
18126 * make.adb, prj-env.adb, prj-env.ads: Minor reformatting
18128 2003-10-27 Pascal Obry <obry@gnat.com>
18131 (Basename): Check for drive letters in a pathname only on DOS based OS.
18133 2003-10-27 Vincent Celier <celier@gnat.com>
18136 (Gnatmake): When unable to change dir to the object dir, display the
18137 content of the parent dir of the obj dir, to try to understand why this
18140 2003-10-27 GNAT Script <nobody@gnat.com>
18142 * Make-lang.in: Makefile automatically updated
18144 2003-10-27 Ed Schonberg <schonberg@gnat.com>
18147 (Inline_Instance_Body): Indicate that the save/restore of use_clauses
18148 should not be done in Save/Restore_Scope_Stack, because it is performed
18152 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
18153 whether use clauses should be removed/restored.
18156 (Save_Scope_Stack, Restore_Scope_Stack): Add parameter to indicate
18157 whether use clauses should be removed/restored.
18159 2003-10-26 Andreas Jaeger <aj@suse.de>
18161 * Makefile.in: Remove duplicated lines.
18163 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
18165 * gnatvsn.ads (Gnat_Static_Version_String): New constant, used to
18166 minimize the differences with ACT tree.
18168 * gnatkr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb,
18169 gnatprep.adb, gnatpsta.adb, gnatvsn.ads: Take advantage of
18170 Gnatvsn.Gnat_Static_Version_String to reduce differences between
18173 2003-10-24 Pascal Obry <obry@gnat.com>
18175 * adadecode.c (ostrcpy): New function.
18176 (__gnat_decode): Use ostrcpy of strcpy.
18177 (has_prefix): Set first parameter a const.
18178 (has_suffix): Set first parameter a const.
18179 Update copyright notice. Fix source name in header.
18180 Removes a trailing space.
18183 2003-10-24 Jose Ruiz <ruiz@act-europe.fr>
18186 Remove the test against being in No_Run_Time_Mode before generating a
18187 call to Register_Tag. It is redundant with the test against the
18188 availability of the function Register_Tag.
18190 2003-10-24 Vincent Celier <celier@gnat.com>
18192 * g-catiio.adb: (Month_Name): Correct spelling of February
18194 * make.adb: (Mains): New package
18195 (Initialize): Call Mains.Delete
18196 (Gnatmake): Check that each main on the command line is a source of a
18197 project file and, if there are several mains, each of them is a source
18198 of the same project file.
18199 (Gnatmake): When a foreign language is specified in attribute Languages,
18200 no main is specified on the command line and attribute Mains is not
18201 empty, only build the Ada main. If there is no Ada main, just compile
18202 the Ada sources and their closure.
18203 (Gnatmake): If a main is specified on the command line with directory
18204 information, check that the source exists and, if it does, that the path
18205 is the actual path of a source of a project.
18208 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path. When
18209 Full_Path is True, return the full path instead of the simple file name.
18210 (Project_Of): New function
18213 (File_Name_Of_Library_Unit_Body): New Boolean parameter Full_Path,
18214 defaulted to False.
18215 (Project_Of): New function
18217 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
18219 * Makefile.generic:
18220 Ensure objects of main project are always checked and rebuilt if needed.
18221 Set CC to gcc by default.
18222 Prepare new handling of link by creating a global archive (not activated
18225 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
18226 stringt.h: Update copyright notice. Remove trailing blanks.
18227 Fix source name in header.
18229 2003-10-24 Robert Dewar <dewar@gnat.com>
18231 * sem_ch12.adb: Minor reformatting
18234 Minor reformatting (including new function return style throughout)
18237 Minor reformatting (including new function return style throughout)
18239 2003-10-24 Arnaud Charlet <charlet@act-europe.fr>
18241 * adadecode.h, atree.h, elists.h, nlists.h, raise.h,
18242 stringt.h: Update copyright notice. Remove trailing blanks.
18243 Fix source name in header.
18245 2003-10-24 GNAT Script <nobody@gnat.com>
18247 * Make-lang.in: Makefile automatically updated
18249 2003-10-23 Nathanael Nerode <neroden@gcc.gnu.org>
18251 * adadecode.h, atree.h, elists.h, namet.h, nlists.h, raise.h,
18252 stringt.h: Convert to ISO C90 declarations and definitions.
18254 2003-10-23 Thomas Quinot <quinot@act-europe.fr>
18257 * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
18258 External_Tag attribute definition clauses.
18260 2003-10-23 Ed Schonberg <schonberg@gnat.com>
18263 * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
18264 child unit, generate a fully qualified name to avoid spurious errors
18265 when the context contains renamings of different child units with
18266 the same simple name.
18268 * exp_dbug.ads: Add documentation on name qualification for renamings
18271 2003-10-23 Robert Dewar <dewar@gnat.com>
18273 * g-regpat.ads, g-regpat.adb: Minor reformatting
18275 2003-10-23 Jose Ruiz <ruiz@act-europe.fr>
18277 * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
18279 2003-10-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18281 * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
18284 * urealp.h: (Machine): Update to proper definition.
18286 2003-10-23 Arnaud Charlet <charlet@act-europe.fr>
18288 * init.c, adaint.c: Minor reformatting.
18290 2003-10-23 Danny Smith <dannysmith@users.sourceforge.net>
18292 * adaint.c (w32_epoch_offset): Define static const at file level.
18293 (win32_filetime): Replace offset with w32_epoch_offset. Use NULL
18294 rather than t_create, t_access in call to GetFileTime. Use union
18295 to convert between FILETIME and unsigned long long.
18296 (__gnat_file_time_name): Test for invalid file handle.
18297 (__gnat_set_filetime_name): Support win32 targets using
18298 w32api SetFileTime.
18300 2003-10-22 Danny Smith <dannysmith@users.sourceforge.net>
18302 * sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
18304 * ctrl_c.c (__gnat_int_handler): Remove declaration.
18306 * decl.c (creat_concat_name): Const-ify prefix.
18308 * adaint.c: Include ctype.h if __MINGW32__.
18309 (__gnat_readlink): Mark arguments as possibly unused.
18310 (__gnat_symlink): Likewise.
18311 (__gnat_is_symbolic_link): Likewise.
18312 (__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
18314 (__gnat_file_time_name): Don't declare struct stat statbuf when
18316 (__gnat_is_absolute_path): Add parenthesis around condition of
18317 'if' statement to avoid warning.
18318 (__gnat_plist_init): Specify void as parameter.
18319 (plist_enter): Likewise.
18320 (plist_leave): Likewise.
18321 (remove_handle): Make static. Initialize prev.
18323 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
18325 * Makefile.in: Disable build of gnatpsta. PR ada/10110.
18326 * cstreams.c (__gnat_full_name): Minor improvements and clean up
18327 of previous change.
18329 2003-10-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18331 * tracebak.c (MAX): Avoid redefinition warning.
18333 * init.c [sgi] (__gnat_error_handler): Remove i, unused.
18334 Change msg to const char *.
18335 (__gnat_install_handler): Remove ss, unused.
18336 [sun && __SVR4 && !__vxworks] (__gnat_error_handler): Change msg
18338 * cstreams.c (__gnat_full_name): Declare p only when used.
18339 (__gnat_full_name) [sgi] Return buffer.
18341 2003-10-22 Arnaud Charlet <charlet@act-europe.fr>
18343 * mingw32.h: New file.
18344 * gnat_wrapper.adb: New file.
18346 2003-10-22 Jerome Roussel <roussel@act-europe.fr>
18348 * g-regpat.ads, g-regpat.adb (Match): new function, to know if a
18349 string match a pre compiled regular expression (the corresponding
18350 version of the function working on a raw regular expression)
18351 Fix typos in various comments
18352 Update copyright notice in spec
18354 2003-10-21 Gary Dismukes <dismukes@gnat.com>
18357 (Component_Needs_Simple_Initialization): Return False when the type is a
18358 packed bit array. Revise spec comments to document this case.
18361 (Expand_Pragma_Import): Set any expression on the imported object to
18362 empty to avoid initializing imported objects (in particular this
18363 covers the case of zero-initialization of bit arrays).
18364 Update copyright notice.
18366 2003-10-21 Ed Schonberg <schonberg@gnat.com>
18369 (Load_Parent_Of_Generic): If parent is compilation unit, stop search,
18370 a subunit is missing.
18371 (Instantiate_Subprogram_Body): If body of function is missing, set type
18372 of return expression explicitly in dummy body, to prevent cascaded
18373 errors when a subunit is missing.
18377 (Access_Subprogram_Declaration): Verify that return type is valid.
18381 (Check_Elab_Calls): Do not apply elaboration checks if the main unit is
18386 (Corresponding_Discriminant): If the scope of the discriminant is a
18387 private type without discriminant, use its full view.
18390 2003-10-21 Arnaud Charlet <charlet@act-europe.fr>
18392 * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
18393 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
18394 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
18395 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
18396 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
18397 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
18398 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
18399 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
18400 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
18401 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
18402 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
18403 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
18404 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
18405 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
18406 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
18407 a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
18408 a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
18409 a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
18410 bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
18411 erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
18412 err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
18413 g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
18414 g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
18415 g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
18416 g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
18417 g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
18418 g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
18419 gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
18420 g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
18421 g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
18422 i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
18423 prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
18424 prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
18425 s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
18426 s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
18427 s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
18428 s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
18429 s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
18430 s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
18431 s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
18432 s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
18433 socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
18434 s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
18435 s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
18436 s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
18437 styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
18438 s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
18439 tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
18440 vms_conv.ads, vms_conv.adb, vms_data.ads,
18441 vxaddr2line.adb: Files added. Merge with ACT tree.
18443 * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
18444 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
18445 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
18446 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
18447 g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
18448 s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
18449 s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
18450 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
18451 s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
18452 s-expssi.ads, style.adb: Files removed. Merge with ACT tree.
18454 * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
18455 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
18456 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
18457 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
18458 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads,
18459 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads,
18460 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb,
18461 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
18462 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
18463 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
18464 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
18465 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
18466 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
18467 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
18468 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
18469 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
18470 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
18471 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
18472 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
18473 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
18474 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads,
18475 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
18476 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
18477 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
18478 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
18479 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
18480 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
18481 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
18482 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
18483 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
18484 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
18485 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
18486 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
18487 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
18488 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
18489 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
18490 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
18491 a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
18492 a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
18493 a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
18494 a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
18495 a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
18496 ali.adb, ali.ads, ali-util.adb, ali-util.ads,
18497 a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
18498 a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
18499 a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
18500 a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
18501 a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
18502 a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
18503 a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
18504 a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
18505 a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
18506 a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
18507 a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
18508 a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
18509 atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
18510 a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
18511 a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
18512 bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
18513 checks.adb, checks.ads, cio.c, comperr.adb,
18514 comperr.ads, csets.adb, cstand.adb, cstreams.c,
18515 debug_a.adb, debug_a.ads, debug.adb, decl.c,
18516 einfo.adb, einfo.ads, errout.adb, errout.ads,
18517 eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
18518 expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
18519 exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
18520 exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
18521 exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
18522 exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
18523 exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
18524 exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
18525 exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
18526 fe.h, fmap.adb, fmap.ads, fname.adb,
18527 fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
18528 freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
18529 g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
18530 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
18531 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
18532 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
18533 g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
18534 g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
18535 g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
18536 g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
18537 g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
18538 g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
18539 g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
18540 g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
18541 gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
18542 gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
18543 gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
18544 gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
18545 gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
18546 g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
18547 g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
18548 g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
18549 g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
18550 g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
18551 g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
18552 g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
18553 g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
18554 i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
18555 i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
18556 inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
18557 itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
18558 layout.adb, lib.adb, lib.ads, lib-list.adb,
18559 lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
18560 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
18561 link.c, live.adb, make.adb, make.ads,
18562 Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
18563 mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
18564 mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
18565 misc.c, mkdir.c, mlib.adb, mlib.ads,
18566 mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
18567 mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
18568 namet.adb, namet.ads, namet.h, nlists.ads,
18569 nlists.h, nmake.adt, opt.adb, opt.ads,
18570 osint.adb, osint.ads, osint-b.adb, osint-c.adb,
18571 par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
18572 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
18573 par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
18574 par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
18575 prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
18576 prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
18577 prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
18578 prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
18579 prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
18580 prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
18581 prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
18582 prj-util.adb, prj-util.ads, raise.c, raise.h,
18583 repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
18584 rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
18585 s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
18586 s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
18587 scans.ads, scn.adb, scn.ads, s-crc32.adb,
18588 s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
18589 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
18590 sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
18591 sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
18592 sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
18593 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
18594 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
18595 sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
18596 sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
18597 sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
18598 sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
18599 sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
18600 s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
18601 s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
18602 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
18603 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
18604 s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
18605 s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
18606 s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
18607 sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
18608 sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
18609 sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
18610 s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
18611 s-memory.adb, s-memory.ads, snames.adb, snames.ads,
18612 snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
18613 s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
18614 s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
18615 s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
18616 s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
18617 s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
18618 s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
18619 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
18620 s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
18621 s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
18622 s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb,
18623 s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb,
18624 s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads,
18625 s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
18626 s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
18627 s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
18628 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
18629 stringt.adb, stringt.ads, stringt.h, style.ads,
18630 stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
18631 s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
18632 s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
18633 switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
18634 s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
18635 table.adb, table.ads, targparm.adb, targparm.ads,
18636 targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
18637 trans.c, tree_io.adb, treepr.adb, treeprs.adt,
18638 ttypes.ads, types.ads, types.h, uintp.adb,
18639 uintp.ads, uintp.h, uname.adb, urealp.adb,
18640 urealp.ads, urealp.h, usage.adb, utils2.c,
18641 utils.c, validsw.adb, validsw.ads, widechar.adb,
18642 xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
18643 xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
18644 einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
18645 gnatvsn.ads: Merge with ACT tree.
18647 * gnatvsn.adb: Rewritten in a simpler and more efficient way.
18649 2003-10-20 Mark Mitchell <mark@codesourcery.com>
18651 * Make-lang.in (gnat_ug_unx.info): Add dependency on stmp-docobjdir.
18652 (gnat_ug_vmx.info): Likewise.
18653 (gnat_ug_vxw.info): Likewise.
18654 (gnat_ug_wnt.info): Likewise.
18655 (gnat_rm.info): Likewise.
18656 (gnat-style.info): Likewise.
18658 * Make-lang.in (ada.install-info): Remove target.
18659 (info): New target.
18660 (install-info): Likewise.
18661 (gnat_ug_unx.info): Simplify rule.
18662 (gnat_ug_vmx.info): Likewise.
18663 (gnat_ug_vxw.info): Likewise.
18664 (gnat_ug_wnt.info): Likewise.
18665 (gnat_rm.info): Likewise.
18666 (gnat-style.info): Likewise.
18668 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
18670 * Make-lang.in: Replace uses of $(target_alias) with
18671 $(target_noncanonical).
18672 * ada/Makefile.in: Remove unused mention of $(target_alias).
18674 2003-10-06 Mark Mitchell <mark@codesourcery.com>
18676 * Make-lang.in (ada.info): Replace with ...
18678 (ada.dvi): Replace with ...
18681 2003-09-29 Zack Weinberg <zack@codesourcery.com>
18683 * trans.c (gigi): Use REAL_ARITHMETIC, not REAL_VALUE_ATOF, to
18684 initialize dconstp5 and dconstmp5.
18686 2003-09-28 Richard Henderson <rth@redhat.com>
18688 * trans.c (tree_transform): Update call to expand_asm_operands.
18690 2003-09-21 Richard Henderson <rth@redhat.com>
18692 * trans.c, utils.c: Revert.
18694 2003-09-21 Richard Henderson <rth@redhat.com>
18696 * trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
18699 2003-09-04 Michael Matz <matz@suse.de>
18701 * misc.c: Include "target.h".
18702 * Make-lang.in (misc.o): Add dependency on target.h.
18704 2003-09-03 DJ Delorie <dj@redhat.com>
18706 * misc.c (default_pass_by_ref): Convert to calls.return_in_memory
18709 2003-08-30 Zack Weinberg <zack@codesourcery.com>
18711 * Makefile.in: Update substitutions to match changes to
18712 configure. Use include directives instead of @-insertions
18713 to read in host and target fragments. Add a rule to
18714 regenerate ada/Makefile.
18716 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
18718 * lang-options.h: Remove.
18719 * lang.opt: Add help text.
18721 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
18723 * trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
18726 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
18728 * misc.c (gnat_handle_option): Don't handle filenames.
18730 2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
18732 * Make-lang.in: Replace PWD with PWD_COMMAND.
18733 * Makefile.adalib: Likewise.
18734 * Makefile.in: Likewise.
18736 2003-07-04 Matt Kraai <kraai@alumni.cmu.edu>
18738 * misc.c (gnat_argv): Revert last change.
18739 (gnat_handle_option, gnat_init_options): Copy arguments.
18741 2003-07-03 Neil Booth <neil@daikokuya.co.uk>
18743 * misc.c (gnat_argv): Make const.
18745 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
18747 * misc.c (save_argc, save_argv): Keep non-static!
18749 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
18751 * misc.c (save_argc, save_argv): Make static.
18752 (gnat_init_options): New prototype.
18753 (gnat_init_options): Update.
18755 2003-07-01 Matt Kraai <kraai@alumni.cmu.edu>
18757 * gnat_ug.texi: Remove unlikely characters from @vars.
18758 * gnat_ug_vms.texi: Regenerate.
18760 2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
18762 * misc.c (record_code_position): Adjust emit_note call.
18764 2003-06-26 Neil Booth <neil@daikokuya.co.uk>
18766 * misc.c (gnat_handle_option): Don't check for missing arguments.
18768 2003-06-20 Nathan Sidwell <nathan@codesourcery.com>
18770 * utils.c (end_subprog_body): Adjust expand_function_end call.
18772 2003-06-16 Matt Kraai <kraai@alumni.cmu.edu>
18774 * bindgen.adb (Gen_Main_Ada, Gen_Main_C): Do not test
18777 2003-06-15 Neil Booth <neil@daikokuya.co.uk>
18779 * lang.opt: Declare Ada.
18780 * misc.c (gnat_init_options): Update.
18782 2003-06-14 Nathan Sidwell <nathan@codesourcery.com>
18784 * utils.c (begin_subprog_body): Adjust init_function_start call.
18786 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
18788 * Make-lang.in: Update to use options.c and options.h.
18789 * misc.c: Include options.h not aoptions.h.
18790 (gnat_handle_option): Abort on unrecognized switch.
18791 (gnat_init_options): Request Ada switches.
18793 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
18795 * lang.opt: Add -Wall.
18796 * misc.c (gnat_handle_option): Handle it.
18798 2003-06-12 Neil Booth <neil@daikokuya.co.uk>
18800 * misc.c (gnat_handle_option): Fix warnings.
18802 2003-06-11 Matt Kraai <kraai@alumni.cmu.edu>
18804 * Make-lang.in (gnatbind): Remove $(LIBIBERTY).
18806 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
18808 * Make-lang.in: Update to handle command-line options.
18809 * lang.opt: New file.
18810 * misc.c: Include aoptions.h.
18811 (cl_options_count, cl_options): Remove.
18812 (gnat_handle_option): New.
18813 (gnat_decode_option): Remove.
18814 (LANG_HOOKS_DECODE_OPTION): Remove.
18815 (LANG_HOOKS_HANDLE_OPTION): Override.
18817 2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
18819 * init.c, misc.c, trans.c, utils.c: Remove dead code.
18821 2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
18823 * Makefile.in: Replace "host_canonical" with "host" for autoconf
18826 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
18828 * Make-lang.in: Update.
18829 * misc.c: Include opts.h. Define cl_options_count and cl_options.
18831 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
18833 * misc.c (gnat_init_options): Update.
18835 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
18837 * Make-lang.in (ada/b_gnatb.o-warn): Remove.
18838 * bindgen.adb (Gen_Main_C): Mark ensure_reference with
18839 __attribute__ ((__unused__)).
18841 2003-06-05 Jan Hubicka <jh@suse.cz>
18843 * Make-lang.in: Add support for stageprofile and stagefeedback
18845 2003-06-05 Matt Kraai <kraai@alumni.cmu.edu>
18847 * bindgen.adb (Gen_Adafinal_C, Gen_Adainit_C, Gen_Elab_Defs_C)
18848 (Gen_Main_C, Gen_Output_File_C): Generate ISO C.
18850 2003-06-04 Matt Kraai <kraai@alumni.cmu.edu>
18852 * gnat_ug.texi (The GNAT Run-Time Library Builder gnatlbr):
18853 Remove non-VMS directive.
18854 (Switches for gnatlbr, Optimization Levels): Remove non-VMS
18856 (Examples of gnatls Usage): Remove VMS alternative.
18858 2003-06-04 Olivier Hainque <hainque@act-europe.fr>
18861 * 5hsystem.ads: Remove pragma Linker_Option for pthreads library,
18862 and turn ZCX_By_Default back to False since the underlying support
18863 is not quite there yet.
18865 2003-06-01 Andreas Jaeger <aj@suse.de>
18867 * utils.c (finish_record_type): Remove usages of ROUND_TYPE_SIZE
18868 and ROUND_TYPE_SIZE_UNIT.
18870 2003-05-22 Geert Bosch <bosch@gnat.com>
18872 * gnat_rm.texi : Remove reference to Ada Core Technologies.
18874 2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
18876 * trans.c (tree_transform): Use location_t and input_location
18878 (build_unit_elab): Likewise.
18879 * utils.c (create_label_decl): Likewise.
18881 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
18883 * trans.c (tree_transform, build_unit_elab,
18884 set_lineno): Rename lineno to input_line.
18885 * utils.c (pushdecl, create_label_decl, begin_subprog_body,
18886 end_subprog_body): Likewise.
18887 * utils2.c (build_call_raise): Likewise.
18889 2003-05-01 Laurent Guerby <guerby@acm.org>
18892 * 5iosinte.ads: Increase pthread_cond_t size to match recent
18893 LinuxThread and NPTL version, merge from ACT.
18895 2003-04-28 Zack Weinberg <zack@codesourcery.com>
18897 * utils.c (convert): No need to clear TREE_CST_RTL.
18899 2003-04-23 Geert Bosch <bosch@gnat.com>
18901 * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
18902 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
18903 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
18904 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
18905 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
18906 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
18907 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
18908 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
18909 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb,
18910 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb,
18911 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb,
18912 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb,
18913 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
18914 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
18915 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
18916 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
18917 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
18918 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
18919 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
18920 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
18921 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
18922 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads,
18923 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
18924 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads,
18925 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
18926 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
18927 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads,
18928 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads,
18929 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb,
18930 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads,
18931 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
18932 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
18933 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
18934 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
18935 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
18936 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
18937 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
18938 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
18939 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
18940 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
18941 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
18942 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
18943 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
18944 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
18945 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
18946 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
18947 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
18948 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
18949 a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
18950 a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
18951 a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
18952 a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
18953 a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
18954 a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
18955 a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
18956 a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
18957 a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
18958 a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
18959 a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
18960 a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
18961 a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
18962 a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
18963 a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
18964 a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
18965 a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
18966 a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
18967 a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
18968 a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
18969 a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
18970 a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
18971 a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
18972 a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
18973 a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
18974 a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
18975 a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
18976 a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
18977 a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
18978 a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
18979 a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
18980 a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
18981 a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
18982 a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
18983 a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
18984 a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
18985 a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
18986 a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
18987 a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
18988 a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
18989 a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
18990 a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
18991 a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
18992 a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
18993 a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
18994 a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
18995 a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
18996 a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
18997 a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
18998 a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
18999 a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
19000 a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
19001 a-wttest.ads, ada-tree.h, ada.ads, ada.h,
19002 adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
19003 ali.adb, ali.ads, alloc.ads, argv.c,
19004 atree.adb, atree.ads, atree.h, aux-io.c,
19005 back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
19006 binde.adb, binde.ads, binderr.adb, binderr.ads,
19007 bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
19008 butil.adb, butil.ads, cal.c, calendar.ads,
19009 casing.adb, casing.ads, ceinfo.adb, checks.adb,
19010 checks.ads, cio.c, comperr.adb, comperr.ads,
19011 config-lang.in, csets.adb, csets.ads, csinfo.adb,
19012 cstand.adb, cstand.ads, cuintp.c, debug.adb,
19013 debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
19014 dec-io.ads, dec.ads, deftarg.c, directio.ads,
19015 einfo.adb, einfo.ads, elists.adb, elists.ads,
19016 elists.h, errno.c, errout.adb, errout.ads,
19017 eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
19018 exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
19019 exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
19020 exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
19021 exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
19022 exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
19023 exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
19024 exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
19025 exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
19026 exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
19027 exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
19028 exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
19029 exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
19030 exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
19031 exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
19032 fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
19033 fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
19034 freeze.adb, freeze.ads, frontend.adb, frontend.ads,
19035 g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
19036 g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
19037 g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
19038 g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
19039 g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
19040 g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
19041 g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
19042 g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
19043 g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
19044 g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
19045 g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
19046 g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
19047 g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
19048 g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
19049 g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
19050 g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
19051 g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
19052 g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
19053 g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
19054 g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
19055 g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
19056 g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
19057 get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
19058 gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
19059 gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
19060 gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
19061 gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
19062 gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
19063 gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
19064 gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
19065 hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
19066 i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
19067 i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
19068 i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
19069 i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
19070 i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
19071 i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
19072 inline.adb, inline.ads, interfac.ads, ioexcept.ads,
19073 itypes.adb, itypes.ads, krunch.adb, krunch.ads,
19074 layout.adb, layout.ads, lib-list.adb, lib-load.adb,
19075 lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
19076 lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
19077 lib.adb, lib.ads, live.adb, live.ads,
19078 machcode.ads, make.adb, make.ads, makeusg.adb,
19079 makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
19080 mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
19081 memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
19082 mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
19083 mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
19084 mlib.ads, namet.adb, namet.ads, nlists.adb,
19085 nlists.ads, opt.adb, opt.ads, osint-b.adb,
19086 osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
19087 osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
19088 osint.ads, output.adb, output.ads, par-ch10.adb,
19089 par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
19090 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
19091 par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
19092 par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
19093 par-tchk.adb, par-util.adb, par.adb, par.ads,
19094 prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
19095 prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
19096 prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
19097 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
19098 prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
19099 prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
19100 prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
19101 prj.adb, prj.ads, repinfo.adb, repinfo.ads,
19102 restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
19103 rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
19104 s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
19105 s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
19106 s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
19107 s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
19108 s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
19109 s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
19110 s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
19111 s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
19112 s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
19113 s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
19114 s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
19115 s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
19116 s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
19117 s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
19118 s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
19119 s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
19120 s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
19121 s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
19122 s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
19123 s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
19124 s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
19125 s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
19126 s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
19127 s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
19128 s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
19129 s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
19130 s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
19131 s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
19132 s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
19133 s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
19134 s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
19135 s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
19136 s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
19137 s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
19138 s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
19139 s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
19140 s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
19141 s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
19142 s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
19143 s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
19144 s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
19145 s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
19146 s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
19147 s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
19148 s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
19149 s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
19150 s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
19151 s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
19152 s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
19153 s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
19154 s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
19155 s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
19156 s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
19157 s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
19158 s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
19159 s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
19160 s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
19161 s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
19162 s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
19163 s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
19164 s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
19165 s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
19166 s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
19167 s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
19168 s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
19169 s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
19170 s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
19171 s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
19172 s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
19173 s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
19174 s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads,
19175 s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
19176 s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb,
19177 s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
19178 s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb,
19179 s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
19180 s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
19181 s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
19182 s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
19183 s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
19184 s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
19185 s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
19186 s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
19187 s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
19188 s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
19189 s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
19190 s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
19191 s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
19192 s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
19193 s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
19194 s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
19195 s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
19196 s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
19197 scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
19198 sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
19199 sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
19200 sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
19201 sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
19202 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
19203 sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
19204 sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
19205 sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
19206 sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
19207 sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
19208 sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
19209 sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
19210 sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
19211 sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
19212 sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
19213 sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
19214 sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
19215 sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
19216 sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
19217 sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
19218 snames.ads, sprint.adb, sprint.ads, stand.adb,
19219 stand.ads, stringt.adb, stringt.ads, style.adb,
19220 style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
19221 switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
19222 switch-m.ads, switch.adb, switch.ads, system.ads,
19223 table.adb, table.ads, targparm.adb, targparm.ads,
19224 tbuild.adb, tbuild.ads, text_io.ads, trans.c,
19225 tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
19226 tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
19227 ttypef.ads, ttypes.ads, types.adb, types.ads,
19228 uintp.adb, uintp.ads, uname.adb, uname.ads,
19229 unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
19230 usage.adb, usage.ads, validsw.adb, validsw.ads,
19231 widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
19232 xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
19233 xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
19234 formatting and other trivial changes from ACT.
19236 2003-04-12 Zack Weinberg <zack@codesourcery.com>
19238 * gigi.h, utils2.c (build_constructor):
19239 Rename gnat_build_constructor. Use build_constructor.
19240 * decl.c (gnat_to_gnu_entity)
19241 * trans.c (tree_transform, pos_to_constructor, extract_values)
19242 * ada/utils.c (build_template, convert_to_fat_pointer, convert)
19243 (unchecked_convert)
19244 * ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
19245 (fill_vms_descriptor):
19248 2003-04-06 Zack Weinberg <zack@codesourcery.com>
19250 * ada-tree.def: Make fourth element for GNAT_LOOP_ID zero.
19251 * misc.c (gnat_tree_size): New function.
19252 (LANG_HOOKS_TREE_SIZE): Override.
19254 2003-04-03 Jason Merrill <jason@redhat.com>
19256 * misc.c (gnat_adjust_rli): #if 0.
19258 2003-03-31 Geert Bosch <bosch@gnat.com>
19261 * link.c : Fix misspelled "const" keyword
19263 2003-03-23 Mark Mitchell <mark@codesourcery.com>
19266 * utils2.c: Adjust calls to put_var_into_stack.
19268 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
19270 * Make-lang.in, Makefile.in, config-lang.in: GCC, not GNU CC.
19272 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
19274 * misc.c (gnat_init): Update for new prototype.
19276 2003-03-05 Olivier Hainque <hainque@gnat.com>
19279 * raise.c (__gnat_Unwind_RaiseException): Add prototype to avoid
19280 warning, and fix return type for the IN_RTS && !SJLJ case.
19282 2003-03-04 Tom Tromey <tromey@redhat.com>
19284 * Make-lang.in (ada.tags): New target.
19286 2003-03-04 Olivier Hainque <hainque@act-europe.fr>
19289 * a-except.adb (Unwind_RaiseException): Import a GNAT specific
19290 wrapper, which name remains constant whatever underlying GCC
19293 * raise.c (__gnat_Unwind_RaiseException): New wrappers, providing
19294 the stable interface needed for a-except.
19296 2003-03-02 Andreas Jaeger <aj@suse.de>
19298 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
19299 gnat_ug_wnt.texi: Regenerate.
19301 2003-03-02 Laurent Guerby <guerby@acm.org>
19303 * Makefile.in (install-gnatlib): Match previous change there
19306 2003-02-28 Andreas Schwab <schwab@suse.de>
19308 * Make-lang.in (install-gnatlib): Change to ada directory before
19309 running make instead of using ada/Makefile directly.
19311 2003-02-18 Ben Elliston <bje@redhat.com>
19313 Part of fix for PR ada/9406
19314 * gnat_ug.texi (Binder output file): Grammar fix.
19316 2003-02-18 Ben Elliston <bje@redhat.com>
19319 * 5qtaprop.adb (Sleep): Fix typo in comment.
19321 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
19323 * gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
19324 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
19325 gnat_ug_wnt.texi: Regenerate.
19327 2003-02-03 Christian Cornelssen <ccorn@cs.tu-berlin.de>
19329 * Make-lang.in (ada.install-info): Let $(DESTDIR)$(infodir)
19330 be created if necessary.
19331 (ada.install-common): Let $(DESTDIR)$(bindir) be created
19332 if necessary. Remove erroneous and redundant gnatchop
19333 installation commands. Test for gnatdll before attempting
19335 (ada.uninstall): Also uninstall gnatfind, gnatxref, gnatlbr,
19336 and gnatdll from all plausible locations.
19338 2003-02-01 Richard Sandiford <rsandifo@redhat.com>
19340 * utils2.c (build_unary_op): Don't check flag_volatile.
19341 * gnat_ug.texi: Remove -fvolatile from example.
19342 * gnat_ug_vxw.texi: Likewise.
19344 2003-01-29 Laurent Guerby <guerby@acm.org>
19347 * final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
19348 * Makefile.in: match previous change.
19349 * Make-lang.in: match previous change.
19351 2003-01-29 Joel Sherrill <joel@OARcorp.com>
19353 * 5rosinte.ads: Add SIGXCPU.
19354 * 5rtpopsp.adb: New file.
19355 * Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
19356 * Makefile.in: Recognize more RTEMS targets and add the RTEMS
19357 specific file 5rtpopsp.adb.
19358 * adaint.h: Add include of <stdio.h> when target is RTEMS. This
19359 is likely needed for all newlib targets.
19360 * init.c: Add RTEMS specific version of __gnat_initialize().
19362 2003-01-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19364 * adaint.c, adaint.h, gmem.c, init.c: Update copyright year.
19366 2003-01-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19368 * init.c (__gnat_error_handler): Make msg const.
19370 * gmem.c (convert_addresses): Move declaration ...
19371 * adaint.h: ... here.
19372 * adaint.c (convert_addresses): Adapt addrs type to match
19375 * adaint.c (__gnat_try_lock): Cast pid_t to long, adapt format.
19377 2003-01-24 Andreas Schwab <schwab@suse.de>
19379 * ada-tree.h (SET_TYPE_DIGITS_VALUE): Add intermediate cast to
19380 size_t to avoid warning.
19382 2003-01-21 Zack Weinberg <zack@codesourcery.com>
19384 * Make-lang.in: Disable -Werror for tracebak.c and b_gnatb.c.
19386 2003-01-09 Geoffrey Keating <geoffk@apple.com>
19388 * gnat_rm.texi: Remove RCS version number.
19390 * ada-tree.h (union lang_tree_node): Add chain_next option.
19392 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
19394 * Make-lang.in (ada.install-info, ada.install-common,
19395 ada.uninstall): Prepend $(DESTDIR) to the destination
19396 directory in all (un)installation commands.
19397 * Makefile.in (install-gnatlib, install-rts): Ditto.
19399 2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
19401 * gnat_rm.texi, gnat_ug.texi: Use @copying.
19402 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
19403 gnat_ug_wnt.texi: Regenerate.
19405 2002-12-23 Joseph S. Myers <jsm@polyomino.org.uk>
19407 * gnat_rm.texi: Include gcc-common.texi. Use GCC version number
19409 * Make-lang.in ($(srcdir)/ada/gnat_ug_unx.info,
19410 $(srcdir)/ada/gnat_ug_vms.info, $(srcdir)/ada/gnat_ug_vxw.info,
19411 $(srcdir)/ada/gnat_ug_wnt.info, $(srcdir)/ada/gnat_rm.info,
19412 ada/gnat_ug_unx.dvi, ada/gnat_ug_vms.dvi, ada/gnat_ug_vxw.dvi,
19413 ada/gnat_ug_wnt.dvi, ada/gnat_rm.dvi): Depend on
19414 $(srcdir)/doc/include/gcc-common.texi.
19416 2002-12-15 Geert Bosch <bosch@gnat.com>
19418 * sem_ch6.adb (Analyze_Subprogram_Body): Fix typo and formatting
19420 2002-12-14 Geert Bosch <bosch@gnat.com>
19422 * sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
19423 case of a body created for a Renaming_As_Body, on which
19424 conformance checks are not performed. Fixes PR ada/5690.
19426 2002-11-30 Zack Weinberg <zack@codesourcery.com>
19428 * cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
19429 utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
19430 not already included.
19431 * Make-lang.in: Update dependencies.
19433 2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
19434 * adaint.c (__gnat_tmp_name): Better, but good enough for now,
19435 solution to buffer overflow bug on GNU/Linux.
19437 2002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
19438 Closes PR ada/5856 and PR ada/6919 !
19439 * bindgen.adb: Remove all references to Public_Version.
19440 * comperr.adb: Remove all references to Public_Version and
19441 GNATPRO_Version; correct bug reporting instructions.
19442 * comperr.ads: Change to match bug box.
19443 * gnatvsn.ads: Remove all references to Public version and
19446 2002-11-13 Nathanael Nerode <neroden@gcc.gnu.org>
19448 * adaint.c (__gnat_tmp_name): Remove buffer overflow bug on
19452 * config-lang.in: Remove diff_excludes.
19454 2002-11-05 Graham Stott <graham.stott@btinternet.com>
19456 * trans.c (gnu_pending_elaboration_lists): New GC root.
19457 (build_unit_elab): Use..
19459 2002-10-30 Geert Bosch <bosch@gnat.com>
19461 * misc.c : Include optabs.h
19463 * Make-lang.in (misc.o): Add dependency on optabs.h
19465 2002-10-29 Geert Bosch <bosch@gnat.com>
19467 * Make-lang.in (gnatbind): Depend on CONFIG_H
19469 2002-10-29 Geert bosch <bosch@gnat.com>
19471 * misc.c: Unrevert misc.c (1.13)
19473 2002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
19475 * a-chlat9.ads a-cwila9.ads a-dynpri.adb a-retide.adb: Update
19476 maintainership comments.
19478 2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
19480 * 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
19481 5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
19482 5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
19483 7staprop.adb: Correct statements in comments about
19484 maintainership of GNAT.
19487 * 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
19488 gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
19489 osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
19490 osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
19491 s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
19492 s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
19493 sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
19494 switch-c.ads switch-m.adb switch-m.ads: Correct statements in
19495 comments about maintainership of GNAT.
19497 PR ada/6919 (forward port of patch for PR ada/5904)
19498 * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
19499 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
19500 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
19501 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
19502 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
19503 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
19504 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
19505 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
19506 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
19507 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
19508 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
19509 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
19510 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
19511 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
19512 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
19513 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
19514 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
19515 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
19516 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
19517 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
19518 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
19519 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
19520 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
19521 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
19522 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
19523 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
19524 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
19525 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
19526 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
19527 a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
19528 a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
19529 a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
19530 a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
19531 a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
19532 a-except.adb a-except.ads a-excpol.adb a-exctra.adb
19533 a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
19534 a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
19535 a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
19536 a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
19537 a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
19538 a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
19539 a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
19540 a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
19541 a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
19542 a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
19543 a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
19544 a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
19545 a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
19546 a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
19547 a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
19548 a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
19549 a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
19550 a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
19551 a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
19552 a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
19553 a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
19554 a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
19555 a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
19556 a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
19557 a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
19558 a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
19559 a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
19560 a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
19561 a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
19562 a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
19563 a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
19564 a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
19565 a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
19566 adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
19567 alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
19568 back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
19569 binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
19570 bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
19571 ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
19572 csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
19573 cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
19574 debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
19575 einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
19576 errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
19577 exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
19578 exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
19579 exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
19580 exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
19581 exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
19582 exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
19583 exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
19584 exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
19585 exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
19586 exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
19587 exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
19588 exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
19589 exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
19590 final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
19591 fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
19592 freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
19593 g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
19594 g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
19595 gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
19596 gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
19597 gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
19598 gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
19599 gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
19600 gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
19601 i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
19602 i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
19603 i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
19604 i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
19605 impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
19606 itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
19607 lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
19608 lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
19609 lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
19610 lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
19611 makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
19612 namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
19613 nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
19614 osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
19615 par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
19616 par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
19617 par-endh.adb par-labl.adb par-load.adb par-prag.adb
19618 par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
19619 prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
19620 prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
19621 prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
19622 prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
19623 prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
19624 prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
19625 repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
19626 rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
19627 s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
19628 s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
19629 s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
19630 s-direio.adb s-direio.ads s-except.ads s-exctab.adb
19631 s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
19632 s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
19633 s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
19634 s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
19635 s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
19636 s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
19637 s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
19638 s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
19639 s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
19640 s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
19641 s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
19642 s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
19643 s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
19644 s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
19645 s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
19646 s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
19647 s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
19648 s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
19649 s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
19650 s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
19651 s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
19652 s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
19653 s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
19654 s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
19655 s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
19656 s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
19657 s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
19658 s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
19659 s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
19660 s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
19661 s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
19662 s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
19663 s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
19664 s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
19665 s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
19666 s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
19667 s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
19668 s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
19669 s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
19670 s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
19671 s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
19672 s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
19673 s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
19674 s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
19675 s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
19676 s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
19677 s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
19678 s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
19679 s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
19680 s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
19681 s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
19682 s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
19683 s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
19684 s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
19685 s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
19686 s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
19687 s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
19688 s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
19689 s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
19690 s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
19691 s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
19692 s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
19693 s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
19694 s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
19695 s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
19696 s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
19697 s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
19698 s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
19699 s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
19700 s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
19701 s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
19702 s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
19703 s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
19704 s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
19705 s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
19706 s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
19707 s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
19708 s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
19709 scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
19710 sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
19711 sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
19712 sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
19713 sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
19714 sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
19715 sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
19716 sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
19717 sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
19718 sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
19719 sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
19720 sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
19721 sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
19722 sem_type.adb sem_type.ads sem_util.adb sem_util.ads
19723 sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
19724 sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
19725 sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
19726 sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
19727 snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
19728 stringt.ads stringt.h style.adb style.ads stylesw.adb
19729 stylesw.ads switch.adb switch.ads sysdep.c system.ads
19730 table.adb table.ads targparm.adb targparm.ads targtyps.c
19731 tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
19732 tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
19733 treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
19734 types.adb types.ads types.h uintp.adb uintp.ads uintp.h
19735 uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
19736 usage.ads utils.c utils2.c validsw.adb validsw.ads
19737 widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
19738 xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
19739 xtreeprs.adb: Correct statements in comments about maintainership
19742 2002-09-23 Zack Weinberg <zack@codesourcery.com>
19744 * Make-lang.in (EXTRA_GNATBIND_OBJS): Add version.o.
19745 * Makefile.in (TOOLS_LIBS): Add ../../version.o.
19746 * gnatvsn.ads: Gnat_Version_String is now a function.
19747 * gnatvsn.adb: New file. When asked for Gnat_Version_String,
19748 copy the C version_string into a String and return it.
19749 * gnatcmd.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb,
19750 gnatls.adb,gnatmake.adb, gnatprep.adb, gnatpsta.adb:
19751 Remove pragma Ident (Gnat_Version_String). If this was the
19752 sole use of package Gnatvsn, remove the with statement too.
19753 * gnat1drv.adb: Tweak -gnatv output.
19755 2002-09-17 Richard Henderson <rth@redhat.com>
19757 * trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
19758 * config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
19759 * config/mips/mips.md (fixuns_truncdfsi2): Likewise.
19760 (fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
19761 * config/m68k/m68k.c (floating_exact_log2): Use real_exponent
19762 and real_2expN instead of a loop.
19763 * doc/tm.texi (REAL_VALUE_LDEXP): Remove.
19764 (REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
19766 2002-08-25 Andre Leis <a.leis@gmx.net>
19767 David Billinghurst (David.Billinghurst@riotinto.com>
19769 * sysdep.c (__gnat_ttyname): include <termios.h> on cygwin
19771 2002-08-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19773 * Make-lang.in (gnatbind$(exeext)): Link with $(SYSLIBS).
19774 Remove $(CONFIG_H) dependency.
19776 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
19778 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
19780 2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19782 * adadecode.c (ada_demangle): Use xstrdup in lieu of
19784 * misc.c (gnat_decode_option): Likewise.
19786 2002-07-15 Florian Weimer <fw@deneb.enyo.de>
19788 * make.adb (Add_Switch): Make Generic_Position a procedure. The
19789 function approach did not work well because of a side effect (the
19790 function call could reallocate the table which was being indexed
19791 using its result). Fixes ada/4851. [RESURRECTED]
19793 2002-07-01 Roger Sayle <roger@eyesopen.com>
19795 * ada/utils.c (builtin_function): Accept an additional parameter.
19797 2002-06-28 Andreas Jaeger <aj@suse.de>
19800 * Makefile.in: Fix typo in comment, patch by Adrian Knoth
19803 2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19805 * Makefile.in (SHELL): Set to @SHELL@.
19807 2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19809 * utils.c (init_gigi_decls): Use ARRAY_SIZE in lieu of explicit
19810 array size calculation.
19812 2002-06-04 Andreas Jaeger <aj@suse.de>
19814 * Make-lang.in (gnatbind): Readd rule that has been lost in last
19817 2002-06-03 Geoffrey Keating <geoffk@redhat.com>
19819 Merge from pch-branch:
19821 * config-lang.in (gtfiles): Add ada-tree.h.
19822 * ada-tree.h (SET_TYPE_CI_CO_LIST): New.
19823 (SET_TYPE_MODULUS): New.
19824 (SET_TYPE_INDEX): New.
19825 (SET_TYPE_DIGITS_VALUE): New.
19826 (SET_TYPE_RM_SIZE): New.
19827 (SET_TYPE_UNCONSTRAINED_ARRAY): New.
19828 (SET_TYPE_ADA_SIZE): New.
19829 (SET_TYPE_ACTUAL_BOUNDS): New.
19830 (SET_DECL_CONST_CORRESPONDING_VAR): New.
19831 (SET_DECL_ORIGINAL_FIELD): New.
19832 (TREE_LOOP_ID): Correct typo.
19833 * decl.c: Use new macros.
19834 * utils.c: Include debug.h, use new macros.
19835 * utils2.c: Use new macros.
19837 * ada-tree.h: Update all macros for new tree description.
19838 (struct tree_loop_id): New.
19839 (union lang_tree_node): New.
19840 (struct lang_decl): New.
19841 (struct lang_type): New.
19842 * misc.c (gnat_mark_tree): Delete.
19843 (LANG_HOOKS_MARK_TREE): Delete.
19844 * trans.c (tree_transform): No longer any need to cast
19847 * utils.c (struct language_function): New dummy structure.
19849 * Makefile.in (decl.o): gt-ada-<filename.h> is in objdir, not srcdir.
19850 (misc.o): Likewise.
19851 (utils.o): Likewise; also gtype-ada.h.
19852 * Make-lang.in (gnat1): Add dependency on s-gtype.
19853 (gnatbind): Add dependency on $(CONFIG_H).
19854 * utils.c: Correct last #include.
19855 (stuct e_stack): Remove unnecessary 'static'.
19856 (mark_e_stack): Remove unused prototype.
19858 * scn-nlit.adb: Remove whitespace after version number to
19859 keep lines under 80 chars.
19860 * snames.adb: Likewise.
19861 * treepr.ads: Likewise.
19863 * Makefile.in (decl.o): Include gt-ada-<filename>.h.
19864 (misc.o): Likewise.
19865 (utils.o): Include gt-ada-<filename>.h and gtype-ada.h.
19866 * config-lang.in (gtfiles): New.
19867 * decl.c: Use gengtype for roots.
19868 * gigi.h: Use gengtype for roots.
19869 * trans.c: Use gengtype for roots.
19870 * utils.c: Use gengtype for roots, marking. Include gtype-ada.h.
19872 2002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
19874 * misc.c (gnat_init): Adjust setting of internal_error_function.
19876 2002-06-01 Joseph S. Myers <jsm28@cam.ac.uk>
19878 * gnat_ug.texi: Use @ifnottex instead of @ifinfo.
19879 * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
19880 gnat_ug_wnt.texi: Regenerate.
19882 2002-05-31 Florian Weimer <fw@deneb.enyo.de>
19884 * 5ntaprop.adb (with System.OS_Primitives): Remove.
19886 * cstreams.c (max_path_len): Move from here ...
19887 * adaint.c (__gnat_max_path_len): ... to here.
19888 * adaint.c (__gnat_max_path_len): Declare.
19889 * g-dirope.adb (Max_Path): Adjust.
19890 * g-os_lib.adb (Normalize_Pathname.Max_Path): Adjust.
19891 * i-cstrea.ads (max_path_len): Adjust.
19892 * osint.adb (Get_RTS_Search_Dir.Max_Path): Adjust.
19893 * xr_tabls.adb (Dir_Name.Max_Path: Adjust.
19895 * Makefile.in, Make-lang.in: Documentation is now built in
19896 Make-lang.in. Store Info and generated Texinfo files in the
19898 * gnat_ug.texi: Remove CVS keywords, correct version number.
19899 Set file name correctly.
19901 * gnat_ug_*.texi: Add.
19902 * .cvsignore: Ignore generated Texinfo files.
19904 2002-05-30 Zack Weinberg <zack@codesourcery.com>
19906 * ada.h: Add MI guard macro.
19907 (SUBTYPE): Define constants with an anonymous enum, not static
19909 (IN): Cast constants to appropriate type before use.
19911 2002-05-26 Joseph S. Myers <jsm28@cam.ac.uk>
19913 * gnatvsn.ads (Gnat_Version_String): Change to "3.2 20020526
19916 2002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19918 * Make-lang.in (CP, ECHO): Copy from Makefile.in.
19919 (X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS): Likewise.
19920 (ALL_ADAFLAGS, FORCE_DEBUG_ADAFLAGS, ADA_CFLAGS): Likewise.
19921 (ALL_ADA_CFLAGS): Likewise.
19922 (ADA_INCLUDES): Likewise.
19923 Adapt for new working dir.
19924 (GNATBIND): Use Makefile.in version.
19925 (.SUFFIXES): Copy from Makefile.in.
19926 (ada-warn): Define.
19927 (.adb.o, .ads.o): Copy from Makefile.in.
19928 Added $(OUTPUT_OPTION).
19929 (GNAT1_C_OBJS): Moved from Makefile.in.
19930 Prefix with ada subdir.
19931 (GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS, GNATBIND_OBJS): Likewise.
19932 (EXTRA_GNAT1_OBJS): Moved from Makefile.in.
19933 Adapt for new working dir.
19934 (EXTRA_GNATBIND_OBJS): Likewise.
19935 (ADA_BACKEND): Moved from Makefile.in.
19936 Renamed to avoid conflict with global BACKEND.
19938 (TARGET_ADA_SRCS): Moved from Makefile.in.
19939 (gnat1$(exeext)): Replaced recursive rule with Makefile.in version.
19941 (gnatbind$(exeext)): Replaced recursive rule with Makefile.in version.
19942 (ada_extra_files): Moved from Makefile.in.
19943 Prefix with ada subdir.
19944 (ada/b_gnat1.c, ada/b_gnat1.o, ada/b_gnatb.c, ada/b_gnatb.o): Likewise.
19945 (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h, ada/nmake.adb): Likewise.
19946 (ada/nmake.ads): Likewise.
19947 (update-sources): Moved from Makefile.in.
19948 Prefix with ada subdir.
19949 (ada/sdefault.adb, ada/stamp-sdefault, ada/sdefault.o): Likewise.
19950 (ADA_TREE_H): Likewise.
19951 (ada/a-except.o, ada/s-assert.o, ada/s-memory.o): Likewise.
19952 (ada/memtrack.o): Likewise.
19953 (ada/adadecode.o): Likewise.
19954 Update dependencies.
19955 (ada/adaint.o): New.
19956 (ada/argv.o): Moved from Makefile.in.
19957 Prefix with ada subdir.
19958 Update dependencies.
19959 (ada/cstreams.o, ada/exit.o, ada/final.o, ada/link.o): Likewise.
19960 (ada/cio.o, ada/init.o, ada/raise.o, ada/tracebak.o): Likewise.
19961 (ada/cuintp.o, ada/decl.o, ada/misc.o): Moved from Makefile.in.
19962 Prefix with ada subdir.
19963 (ada/targtyps.o, ada/trans.o, ada/utils.o, ada/utils2.o): Likewise.
19964 (GNAT DEPENDENCIES): Regenerate.
19965 * Makefile.in (MACHMODE_H, RTL_H, TREE_H): Removed, provided by
19966 toplevel Makefile.in.
19967 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Removed.
19968 (TARGET_ADA_SRCS): Removed.
19969 (GNAT1_C_OBJS, GNAT_ADA_OBJS, GNAT1_ADA_OBJS, GNAT1_OBJS): Likewise.
19970 (GNATBIND_OBJS): Likewise.
19971 (ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Moved here.
19972 (BACKEND): Removed.
19973 (../gnat1$(exeext), ../gnatbind$(exeext)): Likewise.
19974 (TREE_H): Likewise.
19975 (ada_extra_files): Likewise.
19976 (b_gnat1.c, b_gnat1.o, b_gnatb.c, b_gnatb.o): Likewise.
19977 (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Likewise.
19978 (update-sources): Likewise.
19979 (sdefault.adb, stamp-sdefault, sdefault.o): Likewise
19980 (ADA_TREE_H): Likewise.
19981 (adadecoce.o): Likewise.
19982 (cuintp.o, decl.o, misc.o, trans.o, utils.o, utils2.o): Likewise.
19983 (GNAT DEPENDENCIES): Likewise.
19985 2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19987 * Makefile.adalib: Allow for PWDCMD to override hardcoded pwd.
19988 * Makefile.in: Likewise.
19990 2002-05-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19992 * Make-lang.in (gnat1$(exeext), gnatbind$(exeext), gnattools):
19993 Restore $(CONFIG_H) and prefix.o dependencies.
19994 (ada.stage[1-4]): Depend on stage?-start.
19996 * Makefile.in (b_gnatb.c): Depend on interfac.o.
19998 2002-05-02 Jim Wilson <wilson@redhat.com>
20000 * utils.c (finish_record_type): Change record_size to record_type.
20002 2001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
20004 * ada/Makefile.in (X_ADA_CFLAGS, T_ADA_CFLAGS): New fragment overrides.
20005 (ALL_ADA_CFLAGS): Define. Replace ADA_CFLAGS with ALL_ADA_CFLAGS in
20006 ALL_ADAFLAGS, MOST_ADAFLAGS, and all compilations using CC.
20008 2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
20010 * misc.c (gnat_parse_file): Update.
20012 2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
20014 * misc.c (gnat_init): Don't set lang_attribute_common.
20016 2002-04-21 Joseph S. Myers <jsm28@cam.ac.uk>
20018 * gnat_rm.texi: Use @ifnottex instead of @ifinfo.
20020 2002-04-21 Florian Weimer <fw@deneb.enyo.de>
20022 * gnat_ug.texi: New file.
20024 * gnat_rm.texi: Do not include texiplus.texi. Include fdl.texi
20025 instead of gfdl.texi
20027 * xgnatug.adb, ug_words: New files.
20029 * Makefile.in (doc, dvi): New targets. Build gnat_ug_*,
20030 gnat_rm and gnat-style manuals.
20032 2002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
20034 * gigi.h (incomplete_type_error): Remove.
20035 * utils.c (incomplete_type_error): Remove.
20037 2002-04-16 Mark Mitchell <mark@codesourcery.com>
20039 * trans.c (tree_transform): Add has_scope argument to
20040 expand_start_stmt_expr.
20042 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
20044 * gigi.h (truthvalue_conversion): Rename.
20045 * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
20046 * trans.c (tree_transform): Update.
20047 * utils2.c (truthvalue_conversion): Rename, update.
20048 (build_binary_op, build_unary_op): Update.
20050 2002-04-04 Laurent Guerby <guerby@acm.org>
20052 * make.adb: Implement -margs, remove restriction about file name placement.
20053 * makeusg.adb: Documentation update.
20054 * Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
20055 * Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
20057 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
20059 * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
20060 (builtin_function): Similarly.
20062 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
20064 * decl.c (gnat_to_gnu_entity): Update.
20065 * gigi.h (mark_addressable): Rename.
20066 * misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
20067 * trans.c (tree_transform): Update.
20068 * utils.c (create_var_decl): Update.
20069 * util2.c (build_binary_op, build_unary_op,
20070 fill_vms_descriptor): Update.
20071 (mark_addressable): Rename, update.
20073 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
20075 * gigi.h (unsigned_type, signed_type, signed_or_unsigned_type):
20077 * misc.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
20078 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
20079 * trans.c (tree_transform, convert_with_check): Update.
20080 * utils.c (unsigned_type, signed_type, signed_or_unsigned_type):
20083 2002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
20085 * gigi.h (finish_incomplete_decl): Rename.
20086 * misc.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Redefine.
20087 * utils.c (gnat_init_decl_processing): Don't set hook.
20088 (finish_incomplete_decl): Rename.
20090 2002-03-29 Andreas Schwab <schwab@suse.de>
20092 * Makefile.in: Pass VPATH=$(fsrcdir) when calling make in rts
20095 2001-03-28 Robert Dewar <dewar@gnat.com>
20098 (Remove_Checks): New procedure
20101 (Remove_Checks): New procedure
20104 Use new Duplicate_Subexpr functions
20105 (Duplicate_Subexpr_No_Checks): New procedure
20106 (Duplicate_Subexpr_No_Checks_Orig): New procedure
20107 (Duplicate_Subexpr): Restore original form (checks duplicated)
20108 (Duplicate_Subexpr): Call Remove_Checks
20111 (Duplicate_Subexpr_No_Checks): New procedure
20112 (Duplicate_Subexpr_No_Checks_Orig): New procedure
20113 Add 2002 to copyright notice
20115 * sem_util.adb: Use new Duplicate_Subexpr functions
20118 (Eval_Indexed_Component): This is the place to call
20119 Constant_Array_Ref and to replace the value. We simply merge
20120 the code of this function in here, since it is now no longer
20121 used elsewhere. This fixes the problem of the back end not
20122 realizing we were clever enough to see that this was
20124 (Expr_Val): Remove call to Constant_Array_Ref
20125 (Expr_Rep_Val): Remove call to Constant_Array_Ref
20127 (Constant_Array_Ref): Deal with string literals (patch
20128 suggested by Zack Weinberg on the gcc list)
20130 2001-03-28 Ed Schonberg <schonber@gnat.com>
20132 * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
20133 Duplicate_Subexpr_Move_Checks.
20135 * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
20136 Duplicate_Subexpr_Move_Checks.
20138 * sem_eval.adb: (Constant_Array_Ref): Verify that constant
20139 value of array exists before retrieving it (it may a private
20140 protected component in a function).
20142 2002-03-28 Geert Bosch <bosch@gnat.com>
20144 * prj-pp.adb : New file.
20146 * prj-pp.ads : New file.
20148 2002-03-28 Andreas Jaeger <aj@suse.de>
20150 * Makefile.in (stamp-sdefault): Fix path for Makefile.
20152 2002-03-28 Neil Booth <neil@daikokuya.demon.co.uk>
20154 * misc.c (gnat_expand_expr): Move prototype.
20156 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
20158 * misc.c (insert_default_attributes): Remove.
20160 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
20162 * misc.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
20163 (gnat_init): Don't set hook.
20164 (gnat_expand_expr): Fix prototype.
20166 2002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
20168 * misc.c (ggc_p): Remove.
20170 2002-03-27 Geert Bosch <bosch@gnat.com>
20172 * prj-makr.ads, prj-makr.adb : New files.
20174 2002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
20176 * misc.c (LANG_HOOKS_MARK_TREE): Redefine.
20177 (lang_mark_tree): Make static, rename.
20179 2002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
20181 * misc.c (maybe_build_cleanup): Remove.
20183 2002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
20185 * gigi.h (yyparse): Remove.
20187 2002-03-23 Florian Weimer <fw@deneb.enyo.de>
20189 * gnat_rm.texi: Sync with ACT version.
20190 (From Ben Brosgol <brosgol@gnat.com>)
20192 2002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
20194 * misc.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
20195 (gnat_init): Remove old hook.
20197 2002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
20199 * misc.c (LANG_HOOKS_PARSE_FILE): Redefine.
20200 (yyparse): Rename gnat_parse_file.
20202 2002-03-14 Geoffrey Keating <geoffk@redhat.com>
20204 Delete all lines containing "$Revision:".
20205 * xeinfo.adb: Don't look for revision numbers.
20206 * xnmake.adb: Likewise.
20207 * xsinfo.adb: Likewise.
20208 * xsnames.adb: Likewise.
20209 * xtreeprs.adb: Likewise.
20211 2002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20213 * misc.c (gnat_tree_code_type, gnat_tree_code_length,
20214 gnat_tree_code_name): Delete.
20215 (tree_code_type, tree_code_length, tree_code_name): Define.
20216 (gnat_init): Don't try to copy into the various tree_code
20219 2002-03-11 Richard Henderson <rth@redhat.com>
20221 * Makefile.in (.NOTPARALLEL): Add fake tag.
20223 2002-03-07 Geert Bosch <bosch@gnat.com>
20225 * adadecode.c, adadecode.h, aux-io.c, s-traces.adb, s-traces.ads,
20226 s-tratas.adb, s-tratas.ads, sinput-d.adb, sinput-d.ads,
20227 switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads,
20228 switch-m.adb, switch-m.ads : New files.
20230 2002-03-07 Geert Bosch <bosch@gnat.com>
20232 * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
20233 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
20234 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
20235 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
20236 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
20237 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
20238 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
20239 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
20240 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
20241 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
20242 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
20243 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
20244 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
20245 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
20246 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
20247 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
20248 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
20249 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
20250 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
20251 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
20252 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
20253 Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
20254 a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
20255 a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
20256 a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
20257 a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
20258 a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
20259 a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
20260 a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
20261 adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
20262 atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
20263 bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
20264 csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
20265 einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
20266 eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
20267 exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
20268 exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
20269 exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
20270 exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
20271 exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
20272 expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
20273 freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
20274 g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
20275 g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
20276 g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
20277 g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
20278 g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
20279 g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
20280 gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
20281 gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
20282 gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
20283 i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
20284 impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
20285 lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
20286 lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
20287 memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
20288 mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
20289 nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
20290 output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
20291 par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
20292 prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
20293 prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
20294 prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
20295 rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
20296 s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
20297 s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
20298 s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
20299 s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
20300 s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
20301 s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
20302 s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
20303 s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
20304 s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
20305 s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
20306 s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
20307 s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb,
20308 s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
20309 s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
20310 s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
20311 sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
20312 sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
20313 sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
20314 sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
20315 sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
20316 sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
20317 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
20318 sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
20319 sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
20320 sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
20321 snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
20322 stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
20323 table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
20324 tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
20325 treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
20326 types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
20327 utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
20328 xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.
20330 * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
20331 g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
20332 mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
20333 osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files
20335 * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
20336 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed
20338 * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
20339 to mdll-fil.ad[bs] and mdll-util.ad[bs]
20341 * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
20342 from mdllfile.ad[bs] and mdlltool.ad[bs]
20344 2002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20346 * utils.c (init_gnat_to_gnu, init_gigi_decls): Use ARRAY_SIZE in
20347 lieu of explicit sizeof/sizeof.
20349 2002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
20351 * misc.c (copy_lang_decl): Remove.
20353 2002-02-27 Zack Weinberg <zack@codesourcery.com>
20355 * misc.c: Delete traditional-mode-related code copied from the
20356 C front end but not used, or used only to permit the compiler
20359 2002-02-07 Richard Henderson <rth@redhat.com>
20361 * adaint.c (__gnat_to_gm_time): First arg is int, not time_t.
20362 * adaint.h (__gnat_to_gm_time): Update prototype.
20364 2002-01-30 Richard Henderson <rth@redhat.com>
20366 * trans.c (tree_transform) [N_Loop_Statement]: Use
20367 expand_exit_loop_top_cond.
20369 2001-12-23 Richard Henderson <rth@redhat.com>
20371 * utils.c (end_subprog_body): Push GC context around
20372 rest_of_compilation for nested functions.
20374 2001-12-23 Richard Henderson <rth@redhat.com>
20376 * 5nosinte.ads: Get definition of "int" from Interfaces.C.
20378 2001-12-23 Florian Weimer <fw@deneb.enyo.de>
20380 * gnat-style.texi (Declarations and Types): Remove ancient style
20381 rule which was mandated by code generation issues.
20383 * gnat-style.texi (header): Add @dircategory, @direntry.
20384 (title page): Remove date.
20385 (general) Add @./@: where approriate, and two spaces after the
20386 full stop at the end of a sentence. Use @samp markup when
20387 referring concrete lexical entities (keywords, attribute names
20388 etc.), and @syntax for ARM grammar elements. Use @r for English
20389 text in comments. Use @emph for emphasis. Change "if-statements"
20390 etc. to "if statements" (without @samp). Break long lines. Make
20391 casing of section names consistent.
20392 (Identifiers): Use @samp markup for variable names.
20393 (Comments): Use @samp markup for comment characters. Line-end
20394 comments may follow any Ada code, not just statements. Fix
20395 misspelling of "Integer" as "integer".
20396 (Loop statements): Do not use variable name "I", use "J".
20397 (Subprogram Declarations): Document alignment.
20398 (Subprogram Bodies, Block statements): Document empty line before
20401 2001-12-22 Florian Weimer <fw@deneb.enyo.de>
20403 * make.adb (Add_Switch): Make Generic_Position a procedure. The
20404 function approach did not work well because of a side effect (the
20405 function call could reallocate the table which was being indexed
20406 using its result). Fixes ada/4851.
20408 2001-12-19 Robert Dewar <dewar@gnat.com>
20410 * bindgen.adb: Minor reformatting
20412 * cstand.adb: Minor reformatting
20414 * fmap.adb: Minor reformatting
20415 Change name from Add for Add_To_File_Map (Add is much too generic)
20416 Change Path_Name_Of to Mapped_Path_Name
20417 Change File_Name_Of to Mapped_File_Name
20418 Fix copyright dates in header
20421 Change name from Add for Add_To_File_Map (Add is much too generic)
20422 Change Path_Name_Of to Mapped_Path_Name
20423 Change File_Name_Of to Mapped_File_Name
20424 Fix copyright dates in header
20426 * fname-uf.adb: Minor reformatting. New names of stuff in Fmap.
20427 Add use clause for Fmap.
20429 * make.adb: Minor reformatting
20431 * osint.adb: Minor reformatting. Change of names in Fmap.
20432 Add use clause for Fmap.
20434 * prj-env.adb: Minor reformatting
20436 * prj-env.ads: Minor reformatting
20438 * switch.adb: Minor reformatting. Do proper raise of Bad_Switch if
20439 error found (there were odd exceptions to this general rule in
20440 -gnatec/-gnatem processing)
20442 2001-12-19 Olivier Hainque <hainque@gnat.com>
20444 * raise.c (__gnat_eh_personality): Exception handling personality
20445 routine for Ada. Still in rough state, inspired from the C++ version
20446 and still containing a bunch of debugging artifacts.
20447 (parse_lsda_header, get_ttype_entry): Local (static) helpers, also
20448 inspired from the C++ library.
20450 * raise.c (eh_personality): Add comments. Part of work for the GCC 3
20451 exception handling integration.
20453 2001-12-19 Arnaud Charlet <charlet@gnat.com>
20455 * Makefile.in: Remove use of 5smastop.adb which is obsolete.
20456 (HIE_SOURCES): Add s-secsta.ad{s,b}.
20457 (HIE_OBJS): Add s-fat*.o
20458 (RAVEN_SOURCES): Remove files that are no longer required. Add
20459 interrupt handling files.
20460 (RAVEN_MOD): Removed, no longer needed.
20462 2001-12-19 Robert Dewar <dewar@gnat.com>
20464 * a-ngelfu.adb: Remove ??? comment for inappropriate Inline_Always
20465 Add 2001 to copyright date
20467 * g-regpat.adb: Change pragma Inline_Always to Inline. There is no
20468 need to force universal inlining for these cases.
20470 2001-12-19 Arnaud Charlet <charlet@gnat.com>
20472 * s-taprob.adb: Minor clean ups so that this unit can be used in
20475 * exp_ch7.adb: Allow use of secondary stack in HI mode.
20476 Disallow it when pragma Restrictions (No_Secondary_Stack) is specified.
20478 2001-12-19 Vincent Celier <celier@gnat.com>
20480 * prj-tree.ads (Project_Node_Record): Add comments for components
20481 Pkg_Id and Case_Insensitive.
20483 2001-12-19 Pascal Obry <obry@gnat.com>
20485 * g-socket.adb: Minor reformatting. Found while reading code.
20487 2001-12-19 Robert Dewar <dewar@gnat.com>
20489 * prj-tree.ads: Minor reformatting
20491 2001-12-20 Joseph S. Myers <jsm28@cam.ac.uk>
20493 * config-lang.in (diff_excludes): Remove.
20495 2001-12-17 Ed Schonberg <schonber@gnat.com>
20497 * sem_res.adb (Resolve_Selected_Component): do not generate a
20498 discriminant check if the selected component is a component of
20499 the argument of an initialization procedure.
20501 * trans.c (tree_transform, case of arithmetic operators): If result
20502 type is private, the gnu_type is the base type of the full view,
20503 given that the full view itself may be a subtype.
20505 2001-12-17 Robert Dewar <dewar@gnat.com>
20507 * sem_res.adb: Minor reformatting
20509 * trans.c (tree_transform, case N_Real_Literal): Add missing third
20510 parameter in call to Machine (unknown horrible effects from this
20513 * urealp.h: Add definition of Round_Even for call to Machine
20514 Add third parameter for Machine
20516 2001-12-17 Ed Schonberg <schonber@gnat.com>
20518 * sem_warn.adb (Check_One_Unit): Suppress warnings completely on
20519 predefined units in No_Run_Time mode.
20521 2001-12-17 Richard Kenner <kenner@gnat.com>
20523 * misc.c (insn-codes.h): Now include.
20525 2001-12-17 Olivier Hainque <hainque@gnat.com>
20527 * a-except.adb: Preparation work for future integration of the GCC 3
20528 exception handling mechanism
20529 (Notify_Handled_Exception, Notify_Unhandled_Exception): New routines
20530 to factorize previous code sequences and make them externally callable,
20531 e.g. for the Ada personality routine when the GCC 3 mechanism is used.
20532 (Propagate_Exception, Raise_Current_Excep, Raise_From_Signal_Handler):
20533 Use the new notification routines.
20535 2001-12-17 Emmanuel Briot <briot@gnat.com>
20537 * prj-tree.ads (First_Choice_Of): Document the when others case
20539 2001-12-17 Arnaud Charlet <charlet@gnat.com>
20541 * bindgen.adb (Gen_Ada_Init_*): Set priority of environment task in
20542 HI-E mode, in order to support Ravenscar profile properly.
20544 * cstand.adb (Create_Standard): Duration is a 32 bit type in HI-E
20545 mode on 32 bits targets.
20547 2001-12-17 Vincent Celier <celier@gnat.com>
20549 * fmap.adb: Initial version.
20551 * fmap.ads: Initial version.
20553 * fname-uf.adb (Get_File_Name): Use mapping if unit name mapped.
20554 If search is successfully done, add to mapping.
20556 * frontend.adb: Initialize the mapping if a -gnatem switch was used.
20559 (Gnatmake): Add new local variable Mapping_File_Name.
20560 Create mapping file when using project file(s).
20561 Delete mapping file before exiting.
20563 * opt.ads (Mapping_File_Name): New variable
20565 * osint.adb (Find_File): Use path name found in mapping, if any.
20567 * prj-env.adb (Create_Mapping_File): New procedure
20569 * prj-env.ads (Create_Mapping_File): New procedure.
20571 * switch.adb (Scan_Front_End_Switches): Add processing for -gnatem
20574 * usage.adb: Add entry for new switch -gnatem.
20576 * Makefile.in: Add dependencies for fmap.o.
20578 2001-12-17 Ed Schonberg <schonber@gnat.com>
20580 * sem_ch10.adb (Analyze_With_Clause): Retrieve proper entity when unit
20581 is a package instantiation rewritten as a package body.
20582 (Install_Withed_Unit): Undo previous change, now redundant.
20584 2001-12-17 Gary Dismukes <dismukes@gnat.com>
20587 (Compute_Length): Move conversion to Unsigned to callers.
20588 (Get_Max_Size): Convert Len expression to Unsigned after calls to
20589 Compute_Length and Determine_Range.
20590 (Layout_Array_Type): Convert Len expression to Unsigned after calls to
20591 Compute_Length and Determine_Range.
20592 Above changes fix problem with length computation for supernull arrays
20593 where Max (Len, 0) wasn't getting applied due to the Unsigned
20594 conversion used by Compute_Length.
20596 2001-12-17 Arnaud Charlet <charlet@gnat.com>
20599 (OK_To_Use_In_No_Run_Time_Mode): Allow Ada.Exceptions and
20600 System.Secondary_Stack.
20601 (OK_To_Use_In_Ravenscar_Mode): New table needed to implement Ravenscar
20603 Remove unused entity RE_Exception_Data.
20605 * rtsfind.adb (RTE): Allow Ravenscar Profile in HI mode.
20607 * rident.ads (No_Secondary_Stack): New restriction.
20609 2001-12-17 Joel Brobecker <brobecke@gnat.com>
20611 * gnat_rm.texi: Fix minor typos. Found while reading the section
20612 regarding "Bit_Order Clauses" that was sent to a customer.
20613 Very interesting documentation!
20615 2001-12-17 Robert Dewar <dewar@gnat.com>
20617 * sem_case.adb (Choice_Image): Avoid creating improper character
20618 literal names by using the routine Set_Character_Literal_Name. This
20619 fixes bombs in certain error message cases.
20621 2001-12-17 Arnaud Charlet <charlet@gnat.com>
20623 * a-reatim.adb: Minor reformatting.
20625 2001-12-17 Ed Schonberg <schonber@gnat.com>
20627 * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly the
20628 case where the formal is an extension of another formal in the current
20629 unit or in a parent generic unit.
20631 2001-12-17 Arnaud Charlet <charlet@gnat.com>
20633 * s-tposen.adb: Update comments. Minor reformatting.
20634 Minor code clean up.
20636 * s-tarest.adb: Update comments. Minor code reorganization.
20638 2001-12-17 Gary Dismukes <dismukes@gnat.com>
20640 * exp_attr.adb (Attribute_Tag): Suppress expansion of <type_name>'Tag
20643 2001-12-17 Robert Dewar <dewar@gnat.com>
20645 * exp_attr.adb: Minor reformatting
20647 2001-12-17 Ed Schonberg <schonber@gnat.com>
20649 * sem_ch3.adb (Build_Derived_Private_Type): Refine check to handle
20650 derivations nested within a child unit: verify that the parent
20651 type is declared in an outer scope.
20653 2001-12-17 Robert Dewar <dewar@gnat.com>
20655 * sem_ch12.adb: Minor reformatting
20657 2001-12-17 Ed Schonberg <schonber@gnat.com>
20659 * sem_warn.adb (Check_One_Unit): In No_Run_Time mode, do not post
20660 warning if current unit is a predefined one, from which bodies may
20663 2001-12-17 Robert Dewar <dewar@gnat.com>
20665 * eval_fat.ads: Add comment that Round_Even is referenced in Ada code
20666 Fix header format. Add 2001 to copyright date.
20668 * exp_dbug.adb (Get_Encoded_Name): Fix out of bounds reference,
20669 which caused CE during compilation if checks were enabled.
20671 2001-12-17 Vincent Celier <celier@gnat.com>
20674 (Switches_Of): New function
20675 (Test_If_Relative_Path): New procedure
20676 (Add_Switches): Use new function Switches_Of
20677 (Collect_Arguments_And_Compile): Use new function Switches_Of.
20678 When using a project file, test if there are any relative
20679 search path. Fail if there are any.
20680 (Gnatmake): Only add switches for the primary directory when not using
20681 a project file. When using a project file, change directory to the
20682 object directory of the main project file. When using a project file,
20683 test if there are any relative search path. Fail if there are any.
20684 When using a project file, fail if specified executable is relative
20685 path with directory information, and prepend executable, if not
20686 specified as an absolute path, with the exec directory. Make sure
20687 that only one -o switch is transmitted to the linker.
20689 * prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir
20692 (Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
20693 when using a non standard naming scheme.
20694 (Check_Ada_Naming_Scheme): Make sure that error messages
20695 do not raise exceptions.
20696 (Is_Illegal_Append): Return True if there is no dot in the suffix.
20697 (Language_Independent_Check): Check the exec directory.
20699 * prj.adb (Project_Empty): Add new component Exec_Directory
20702 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
20703 (Project_Data): Add component Exec_Directory
20705 * snames.adb: Updated to match snames.ads revision 1.215
20707 * snames.ads: Added Exec_Dir
20709 2001-12-17 Robert Dewar <dewar@gnat.com>
20711 * make.adb: Minor reformatting
20713 * prj-nmsc.adb: Minor reformatting
20715 * snames.adb: Updated to match snames.ads
20717 * snames.ads: Alphebetize entries for project file
20719 2001-12-17 Ed Schonberg <schonber@gnat.com>
20721 * trans.c (process_freeze_entity): Do nothing if the entity is a
20722 subprogram that was already elaborated.
20724 2001-12-17 Richard Kenner <kenner@gnat.com>
20726 * decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
20727 and Esize if object is referenced via pointer.
20729 2001-12-17 Ed Schonberg <schonber@gnat.com>
20731 * sem_ch3.adb (Analyze_Variant_Part): check that type of discriminant
20732 is discrete before analyzing choices.
20734 2001-12-17 Joel Brobecker <brobecke@gnat.com>
20736 * bindgen.adb (Gen_Output_File_Ada): Generate a new C-like string
20737 containing the name of the Ada Main Program. This string is mainly
20738 intended for the debugger.
20739 (Gen_Output_File_C): Do the equivalent change when generating a C file.
20741 2001-12-17 Robert Dewar <dewar@gnat.com>
20743 * ali.adb: Set new Dummy_Entry field in dependency entry
20745 * ali.ads: Add Dummy_Entry field to source dependency table
20747 * bcheck.adb (Check_Consistency): Ignore dummy D lines
20749 * lib-writ.adb (Writ_ALI): Write dummy D lines for missing source files
20751 * lib-writ.ads: Document dummy D lines for missing files.
20753 * types.ads: (Dummy_Time_Stamp): New value for non-existant files
20755 2001-12-17 Robert Dewar <dewar@gnat.com>
20757 * ali.adb: Type reference does not reset current file.
20759 * ali.adb: Recognize and scan renaming reference
20761 * ali.ads: Add spec for storing renaming references.
20763 * lib-xref.ads: Add documentation for handling of renaming references
20765 * lib-xref.adb: Implement output of renaming reference.
20768 (Determine_Range): Document local variables
20769 (Determine_Range): Make sure Hbound is initialized. It looks as though
20770 there could be a real problem here with an uninitialized reference
20771 to Hbound, but no actual example of failure has been found.
20773 2001-12-17 Laurent Pautet <pautet@gnat.com>
20776 Fix comment of Shutdown_Socket and Close_Socket. These functions
20777 should not fail silently because if they are called twice, this
20778 probably means that there is a race condition in the user program.
20779 Anyway, this behaviour is consistent with the rest of this unit.
20780 When an error occurs, an exception is raised with the error message
20781 as exception message.
20783 2001-12-17 Robert Dewar <dewar@gnat.com>
20785 * frontend.adb: Move call to Check_Unused_Withs from Frontend, so
20786 that it happens before modification of Sloc values for -gnatD.
20788 * gnat1drv.adb: Move call to Check_Unused_Withs to Frontend,
20789 so that it happens before modification of Sloc values for -gnatD.
20791 * switch.adb: Minor reformatting
20793 2001-12-15 Richard Henderson <rth@redhat.com>
20795 * sem_ch7.adb: Wrap comment.
20797 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
20799 * 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
20800 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
20801 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
20802 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
20803 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
20804 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
20805 a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
20806 a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
20807 cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
20808 exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
20809 exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
20810 g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
20811 gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
20812 make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
20813 par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
20814 repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
20815 s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
20816 s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
20817 s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
20818 s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
20819 sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
20820 sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
20821 sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
20822 sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
20825 2001-12-14 Vincent Celier <celier@gnat.com>
20827 * osint.adb(Create_Debug_File): When an object file is specified,
20828 put the .dg file in the same directory as the object file.
20830 2001-12-14 Robert Dewar <dewar@gnat.com>
20832 * osint.adb: Minor reformatting
20834 * lib-xref.adb (Output_Instantiation): New procedure to generate
20835 instantiation references.
20837 * lib-xref.ads: Add documentation of handling of generic references.
20839 * ali.adb (Read_Instantiation_Ref): New procedure to read
20840 instantiation references
20842 * ali.ads: Add spec for storing instantiation references
20844 * bindusg.adb: Minor reformatting
20846 * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20848 * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20850 * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20852 * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5)
20856 Add 2001 to copyright date
20857 Add entry for Latin-5 (Cyrillic ISO-8859-5)
20859 2001-12-14 Matt Gingell <gingell@gnat.com>
20861 * adaint.c: mktemp is a macro on Lynx and can not be used as an
20864 2001-12-14 Richard Kenner <kenner@gnat.com>
20866 * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR
20867 if operand is CONSTRUCTOR.
20869 2001-12-14 Ed Schonberg <schonber@gnat.com>
20871 * trans.c (tree_transform, case N_Assignment_Statement): Set lineno
20872 before emiting check on right-hand side, so that exception information
20875 2001-12-14 Richard Kenner <kenner@gnat.com>
20877 * utils.c (create_var_decl): Throw away initializing expression
20878 if just annotating types and non-constant.
20880 2001-12-14 Vincent Celier <celier@gnat.com>
20882 * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to
20885 * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
20887 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec.
20889 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
20891 (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body.
20893 2001-12-16 Joseph S. Myers <jsm28@cam.ac.uk>
20895 * ChangeLog: Remove piece of diff output.
20897 2001-12-14 Geert Bosch <bosch@gnat.com>
20899 * config-lang.in: Update copyright notice
20901 * layout.adb: Remove commented out code.
20903 * mdllfile.ads: Update copyright notice. Fix header format.
20905 * sem_case.ads: Likewise.
20907 * sem_ch3.adb: Minor reformatting.
20909 2001-12-12 Geert Bosch <bosch@gnat.com>
20911 * freeze.ads: Update copyright date.
20913 * g-comlin.ads: Minor reformatting.
20915 * gnat-style.texi: Fix typo.
20917 2001-12-12 Geert Bosch <bosch@gnat.com>
20919 * einfo.h: Regenerate.
20921 2001-12-12 Ed Schonberg <schonber@gnat.com>
20923 * sem_ch12.adb (Save_Entity_Descendant): Use syntactic field names
20924 on known node types, rather than untyped fields. Further cleanups.
20926 2001-12-12 Robert Dewar <dewar@gnat.com>
20929 (Save_Entity_Descendant): Minor comment update.
20930 (Copy_Generic_Node): Deal with incorrect reference to Associated_Node
20931 of an N_Attribute_Reference node. As per note below, this does not
20932 eliminate need for Associated_Node in attribute ref nodes.
20933 (Associated_Node): Documentation explicitly mentions attribute
20934 reference nodes, since this field is used in such nodes.
20936 * sem_ch12.adb (Associated_Node): Minor documentation cleanup.
20938 2001-12-12 Robert Dewar <dewar@gnat.com>
20940 * s-stalib.adb: Add more comments on with statements being needed
20942 * par-ch12.adb: Minor reformatting
20944 * prj-dect.ads: Fix copyright header
20946 * s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
20947 inputs fit in 32 bits, but the result still overflows.
20949 * s-fatgen.ads: Minor comment improvement
20951 2001-12-12 Ed Schonberg <schonber@gnat.com>
20953 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
20954 formal derived type, look for an inherited component from the full
20955 view of the parent, if any.
20957 2001-12-12 Robert Dewar <dewar@gnat.com>
20959 * checks.ads (Apply_Alignment_Check): New procedure.
20961 * exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
20962 ensure that the alignment of objects with address clauses is
20963 appropriate, and raise PE if not.
20965 * exp_util.ads (Must_Be_Aligned): Removed, replaced by
20966 Exp_Pakd.Known_Aligned_Enough
20968 * mdllfile.ads: Minor reformatting
20970 * mlib-fil.ads: Minor reformatting
20972 2001-12-12 Ed Schonberg <schonber@gnat.com>
20974 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
20975 fix to any component reference if enclosing record has non-standard
20978 2001-12-12 Vincent Celier <celier@gnat.com>
20980 * g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
20983 2001-12-12 Ed Schonberg <schonber@gnat.com>
20985 * freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
20988 2001-12-12 Robert Dewar <dewar@gnat.com>
20990 * impunit.adb: Add entry for GNAT.Directory_Operations.Iteration
20992 2001-12-12 Emmanuel Briot <briot@gnat.com>
20994 * g-regexp.adb: Remove all debug code, since it isn't required anymore,
20995 and it adds dependencies to system.io.
20997 2001-12-12 Pascal Obry <obry@gnat.com>
20999 * g-dirope.adb (Expand_Path.Var): Correctly detect end of
21002 2001-12-11 Ed Schonberg <schonber@gnat.com>
21004 * sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
21005 that is the parent of other generics, the instance body replaces the
21006 instance node. Retrieve the instance of the spec, which is the one
21007 that is visible in clients and within the body.
21009 2001-12-11 Vincent Celier <celier@gnat.com>
21011 * gnatmain.adb: Initial version.
21013 * gnatmain.ads: Initial version.
21015 * prj-attr.adb (Initialisation_Data): Add package Gnatstub.
21017 * snames.adb: Updated to match snames.ads.
21019 * snames.ads: Added Gnatstub.
21021 2001-12-11 Vincent Celier <celier@gnat.com>
21023 * prj-attr.adb (Initialization_Data): Change name from
21024 Initialisation_Data.
21026 2001-12-11 Emmanuel Briot <briot@gnat.com>
21028 * g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
21029 + and * applied to backslashed expressions like \r.
21031 2001-12-11 Vasiliy Fofanov <fofanov@gnat.com>
21033 * g-os_lib.ads: String_List type added, Argument_List type is now
21034 subtype of String_List.
21036 2001-12-11 Robert Dewar <dewar@gnat.com>
21038 * g-os_lib.ads: Change copyright to FSF
21039 Add comments for String_List type
21041 2001-12-11 Vincent Celier <celier@gnat.com>
21043 * g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
21044 string to the buffer).
21046 2001-12-11 Ed Schonberg <schonber@gnat.com>
21048 * freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
21051 * sem_attr.adb: Simplify previous fix for Address.
21052 (Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
21053 to avoid anomalies where the bound of the type appears to raise
21056 2001-12-11 Robert Dewar <dewar@gnat.com>
21058 * lib-xref.adb (Output_Refs): Make sure pointers are always properly
21061 2001-12-11 Ed Schonberg <schonber@gnat.com>
21063 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
21064 renamed unit before checking for recursive instantiations.
21066 2001-12-11 Emmanuel Briot <briot@gnat.com>
21068 * prj.ads: Add comments for some of the fields.
21070 2001-12-11 Robert Dewar <dewar@gnat.com>
21072 * lib-xref.adb (Output_Refs): Don't output type references outside
21073 the main unit if they are not otherwise referenced.
21075 2001-12-11 Ed Schonberg <schonber@gnat.com>
21077 * sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
21078 code and diagnose additional illegal uses
21080 * sem_util.adb (Is_Object_Reference): An indexed component is an
21081 object only if the prefix is.
21083 2001-12-11 Vincent Celier <celier@gnat.com>
21085 * g-diopit.adb: Initial version.
21087 * g-diopit.ads: Initial version.
21090 (Expand_Path): Avoid use of Unbounded_String
21091 (Find, Wildcard_Iterator): Moved to child package Iteration
21093 * Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS
21095 2001-12-11 Robert Dewar <dewar@gnat.com>
21097 * sem_attr.adb: Minor reformatting
21099 2001-12-11 Ed Schonberg <schonber@gnat.com>
21101 * sem_ch3.adb: Clarify some ???.
21103 2001-12-11 Robert Dewar <dewar@gnat.com>
21105 * exp_util.adb (Must_Be_Aligned): Removed, replaced by
21106 Exp_Pakd.Known_Aligned_Enough
21108 * sem_ch13.adb (Check_Address_Alignment): Removed, extended
21109 version is moved to Exp_Ch13.
21111 2001-12-11 Robert Dewar <dewar@gnat.com>
21113 * einfo.ads: Minor reformatting
21115 * exp_ch5.adb: Add comment for previous.change
21117 * ali.adb: New interface for extended typeref stuff.
21119 * ali.ads: New interface for typeref stuff.
21121 * checks.adb (Apply_Alignment_Check): New procedure.
21123 * debug.adb: Add -gnatdM for modified ALI output
21125 * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.
21127 * lib-xref.adb: Extend generation of <..> notation to cover
21128 subtype/object types. Note that this is a complete rewrite,
21129 getting rid of the very nasty quadratic algorithm previously
21130 used for derived type output.
21132 * lib-xref.ads: Extend description of <..> notation to cover
21133 subtype/object types. Uses {..} for these other cases.
21134 Also use (..) for pointer types.
21136 * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.
21138 * exp_pakd.adb: Minor reformatting. Note that prevous RH should say:
21139 (Known_Aligned_Enough): Replaces Must_Be_Aligned.
21141 2001-12-11 Vincent Celier <celier@gnat.com>
21144 Changed /COMPILE_ONLY to /ACTIONS=COMPILE
21145 Changed /BIND_ONLY to /ACTIONS=BIND
21146 Changed /LINK_ONLY to /ACTIONS=LINK
21148 2001-12-11 Ed Schonberg <schonber@gnat.com>
21150 * sem_ch8.adb (Find_Selected_Component): improved search for a
21151 candidate package in case of error.
21153 * sem_ch12.adb (Inline_Instance_Body): place head of use_clause
21154 chain back on scope stack before reinstalling use clauses.
21156 * exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
21157 is enabled, do not kill the code for the condition, to preserve
21160 2001-12-11 Robert Dewar <dewar@gnat.com>
21162 * checks.adb (Insert_Valid_Check): Apply validity check to expression
21163 of conversion, not to result of conversion.
21165 2001-12-11 Ed Schonberg <schonber@gnat.com>
21167 * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
21168 before freezing parent. If the declarations are mutually recursive,
21169 an access to the current record type may be frozen before the
21170 derivation is complete.
21172 2001-12-05 Vincent Celier <celier@gnat.com>
21174 * gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
21175 -c /COMPILE_ONLY, -l /LINK_ONLY
21178 (Bind_Only): New Flag
21179 (Link_Only): New flag
21181 * switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
21184 * makeusg.adb: Add new switches -b and -l. Update Copyright notice.
21187 (Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
21188 (Gnatmake): Set the step flags. Only perform a step if the
21189 corresponding step flag is True.
21190 (Scan_Make_Arg): Reset the bind and link step flags when -u
21191 or -gnatc has been specified.
21193 2001-12-05 Ed Schonberg <schonber@gnat.com>
21195 * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
21196 get bounds from right operand.
21198 * sem_eval.adb: Minor reformatting
21200 * exp_util.adb (Make_Literal_Range): use bound of literal rather
21201 than Index'First, its lower bound may be different from 1.
21203 * exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
21206 2001-12-05 Vincent Celier <celier@gnat.com>
21208 * prj-nmsc.adb Minor reformatting
21210 * prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
21211 set and libraries are not supported.
21213 2001-12-05 Ed Schonberg <schonber@gnat.com>
21215 * sem_ch3.adb (Build_Derived_Private_Type): set Public status of
21216 private view explicitly, so the back-end can treat as a global
21219 2001-12-05 Ed Schonberg <schonber@gnat.com>
21221 * sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
21222 unit, always replace instance node with new body, for ASIS use.
21224 2001-12-05 Vincent Celier <celier@gnat.com>
21226 * prj-nmsc.adb (Language_Independent_Check): Issue a warning if
21227 libraries are not supported and both attributes Library_Name and
21228 Library_Dir are specified.
21230 * prj-proc.adb (Expression): Set location of Result to location of
21233 * Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
21234 (prj-nmsc is now importing MLib.Tgt)
21236 * prj-proc.adb: Put the change indicated above that was forgotten.
21238 2001-12-05 Robert Dewar <dewar@gnat.com>
21240 * Makefile.in: Add dependencies for System.IO for GNAT.Regexp
21242 2001-12-05 Ed Schonberg <schonber@gnat.com>
21244 * sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
21245 constraint, introduce explicit subtype declaration and derive from it.
21247 * sem_ch3.adb: Minor reformatting
21249 2001-12-05 Robert Dewar <dewar@gnat.com>
21251 * checks.adb (Determine_Range): Increase cache size for checks.
21254 * exp_ch6.adb: Minor reformatting
21255 (Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
21256 a parameter whose root type is System.Address, since treating such
21257 subprograms as pure in the code generator is almost surely a mistake
21258 that will lead to unexpected results.
21260 * exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
21261 change handling of conversions.
21263 * g-regexp.adb: Use System.IO instead of Ada.Text_IO.
21265 2001-12-05 Ed Schonberg <schonber@gnat.com>
21267 * sem_ch3.adb (Analyze_Object_Declaration): If expression is an
21268 aggregate with static wrong size, attach generated Raise node to
21271 2001-12-05 Robert Dewar <dewar@gnat.com>
21273 * sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
21274 Fixes compilation abandoned bomb in B24009B.
21276 2001-12-05 Ed Schonberg <schonber@gnat.com>
21279 Document use of Associated_Node on Selected_Components.
21280 (Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
21281 to clarify use of untyped descendant fields.
21283 2001-12-05 Robert Dewar <dewar@gnat.com>
21285 * prj-dect.ads: Add ??? comment
21286 Add 2001 to copyright notice (was not done in after all)
21288 * prj-part.adb: Minor reformatting. Reword one awkward error message.
21290 * prj.ads: Minor reformatting throughout, and add some ??? comments
21292 * snames.ads: Minor reformatting
21294 2001-12-05 Geert Bosch <bosch@gnat.com>
21296 * snames.adb: Autoupdate
21298 2001-12-05 Vincent Celier <celier@gnat.com>
21300 * prj-dect.adb (Parse): Rename parameter Modifying to Extends.
21302 * prj-dect.ads (Parse): Rename parameter Modifying to Extends.
21304 * prj-env.adb: Minor comment changes (modifying -> extends).
21306 * prj-nmsc.adb: Minor comment changes (modifying -> extends).
21308 * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
21311 * prj.adb (Initialize): Change Modifying to Extends.
21313 * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.
21315 * prj.ads: Minor comment change (Modifying -> extending).
21317 * snames.ads: Change modifying to extends.
21319 2001-12-05 Robert Dewar <dewar@gnat.com>
21321 * sem_warn.adb: Remove stuff for conditionals, we are not going to
21324 * sem_warn.ads: Remove stuff for conditionals, we are not going to
21325 do this after all. Add 2001 to copyright notice
21327 2001-12-04 Geert Bosch <bosch@gnat.com>
21329 * einfo.h, sinfo.h, treeprs.ads: Regenerate.
21331 2001-12-04 Robert Dewar <dewar@gnat.com>
21333 * errout.adb (Error_Msg): Ignore attempt to put error msg at junk
21334 location if we already have errors. Stops some cases of cascaded
21337 * errout.adb: Improve comment.
21339 2001-12-04 Robert Dewar <dewar@gnat.com>
21342 (Analyze_Formal_Type_Definition): Defend against Error.
21343 (Analyze_Formal_Subprogram): Defend against Error.
21345 * par-ch12.adb (F_Formal_Type_Declaration): In case of error,
21346 remove following semicolon if present. Removes cascaded error.
21348 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
21351 (Gen_Exception_Table_Ada): Write "begin" and then return if Num
21352 exceptions equals 0.
21353 (Gen_Exception_Table_C): Return if Num exceptions equals 0.
21354 Fixes PIWG E tests (which have to be run with -gnatL).
21356 2001-12-04 Robert Dewar <dewar@gnat.com>
21358 * einfo.ads: Minor reformatting
21360 2001-12-04 Ed Schonberg <schonber@gnat.com>
21362 * einfo.ads: Block_Node points to the identifier of the block, not to
21363 the block node itself, to preserve the link when the block is
21364 rewritten, e.g. within an if-statement with a static condition.
21366 * inline.adb (Cleanup_Scopes): recover block statement from block
21367 entity using new meaning of Block_Node.
21369 * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
21370 identifier of block node, rather than to node itself.
21372 2001-12-04 Gary Dismukes <dismukes@gnat.com>
21375 (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
21376 (Discrimify): Go back to setting the Etypes of the selected component
21377 because the Vname component does not exist at this point and will
21378 fail name resolution. Also set Analyzed.
21379 Remove with and use of Sem_Res.
21381 2001-12-04 Arnaud Charlet <charlet@gnat.com>
21383 * Makefile.in: (HIE_SOURCES): add s-fat*.
21385 2001-12-04 Robert Dewar <dewar@gnat.com>
21388 (Compile_Time_Known_Attribute): New procedure.
21389 (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
21390 proper range check.
21392 2001-12-04 Ed Schonberg <schonber@gnat.com>
21394 * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
21395 processing discriminants to diagnose illegal default values.
21397 2001-12-04 Ed Schonberg <schonber@gnat.com>
21399 * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
21400 access discriminant within a type extension that constrains its
21401 parent discriminants.
21403 2001-12-04 Ed Schonberg <schonber@gnat.com>
21405 * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
21406 is malformed, use instance of Any_Id to allow analysis to proceed.
21408 * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
21409 type definition is illegal.
21410 (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
21413 2001-12-04 Ed Schonberg <schonber@gnat.com>
21415 * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
21418 2001-12-04 Robert Dewar <dewar@gnat.com>
21420 * errout.adb: Minor reformatting
21422 2001-12-04 Robert Dewar <dewar@gnat.com>
21424 * exp_util.adb: Minor reformatting from last change
21426 * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
21427 which is a rewriting of an expression, traverse the original
21428 expression to remove warnings that may have been posted on it.
21430 2001-12-04 Ed Schonberg <schonber@gnat.com>
21432 * exp_util.adb (Must_Be_Aligned): Return false for a component of a
21433 record that has other packed components.
21435 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
21437 * adaint.c: Minor cleanups.
21439 2001-12-04 Douglass B. Rupp <rupp@gnat.com>
21441 * adaint.c: Do not use utime.h on vxworks.
21443 2001-12-04 Arnaud Charlet <charlet@gnat.com>
21445 * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
21446 more confusion than it solves.
21448 2001-12-04 Geert bosch <bosch@gnat.com>
21450 * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.
21452 2001-12-04 Geert Bosch <bosch@gnat.com>
21454 * Makefile.in (update-sources): New target.
21455 For use by gcc_release script.
21457 2001-12-04 Ed Schonberg <schonber@gnat.com>
21459 * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
21460 a configuration pragma, it is now legal wherever a pragma can appear.
21462 2001-12-04 Zack Weinberg <zack@codesourcery.com>
21464 * Makefile.in: Don't set ALL. Delete @cross_defines@,
21465 @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS
21466 is now @CROSS@ -DIN_GCC; update comment.
21468 2001-12-04 Robert Dewar <dewar@gnat.com>
21470 * einfo.adb (Has_Pragma_Pure_Function): New flag.
21471 Fix problem that stopped ceinfo from working
21473 * einfo.ads (Has_Pragma_Pure_Function): New flag.
21475 * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
21477 2001-12-04 Douglas B. Rupp <rupp@gnat.com>
21480 (File_Time_Stamp): New procedure.
21481 (Preserve_Mode): New boolean.
21482 (Write_Unit): Pass time stamp.
21483 Implement -p switch (preserve time stamps).
21485 * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
21487 * gnatchop.adb: Do usage info for -p switch
21489 * adaint.h (__gnat_set_file_time_name): New function
21491 * adaint.c (__gnat_set_file_time_name): Implement
21493 * adaint.h: Fix typo
21495 2001-12-03 Robert Dewar <dewar@gnat.com>
21497 * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
21498 have Associated_Node.
21500 2001-12-03 Robert Dewar <dewar@gnat.com>
21502 * prj-proc.adb: Minor reformatting
21504 * make.adb: Minor reformatting
21506 2001-12-03 Geert Bosch <bosch@gnat.com>
21508 * make.adb: Minor reformatting.
21510 2001-12-03 Robert Dewar <dewar@gnat.com>
21512 * sem_ch12.adb: Minor reformatting
21514 2001-12-03 Ed Schonberg <schonber@gnat.com>
21516 * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
21517 push Standard on the stack before analyzing the instance body,
21518 in order to have a clean visibility environment.
21520 * sem_ch12.adb (Inline_Instance_Body): Remove redundant code.
21522 2001-12-03 Ed Schonberg <schonber@gnat.com>
21524 * sem_ch12.adb (Instantiate_Package_Body): Protect against double
21525 instantiation of a body that contains an inlined body.
21527 2001-12-03 Ed Schonberg <schonber@gnat.com>
21530 (Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
21531 to prevent freezing within formal packages.
21532 (Freeze_Subprogram_Body): If body comes from another instance that
21533 appeared before its own body, place freeze node at end of current
21534 declarative part, to prevent a back-end crash.
21535 (Inline_Instance_Body): Handle properly a package instance within
21536 a subprogram instance that is a child unit.
21538 2001-12-01 Graham Stott <grahams@redhat.com>
21540 * Makefile.in (misc.o): Add missing $(srcdir) prefix
21541 and add optabs.h dependency.
21543 * misc.c: Include optabs.h
21544 (gnat_tree_code_type): Make static and const.
21545 (gnat_tree_code_length): Likewise.
21546 (gnat_tree_code_name): Likewise.
21547 (update_setjmp_buf): Obtain operands mode from insn_data.
21549 2001-11-29 Richard Henderson <rth@redhat.com>
21551 * init.c: Remove obsolete dwarf2 frame.h section.
21553 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
21555 * Make-lang.in (ada.generated-manpages): New dummy target.
21557 2001-11-29 Ed Schonberg <schonber@gnat.com>
21559 * g-os_lib.adb (Add_To_Command): use explicit loop to move string
21560 into Command, an array conversion is illegal here. Uncovered by
21563 2001-11-28 Geert Bosch <bosch@gnat.com>
21565 * init.c: Minor whitespace changes.
21567 2001-11-28 Doug Rupp <rupp@gnat.com>
21569 * init.c: (__gnat_install_handler,VMS): Increase size of alternate
21572 2001-11-28 Zack Weinberg <zack@codesourcery.com>
21574 * misc.c (gnat_expand_constant): Move declaration above
21575 definition of lang_hooks.
21576 (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
21577 (gnat_init): lang_expand_constant no longer exists.
21579 (internal_error_function): Remove #ifdef HAVE_VPRINTF. We
21580 always have vprintf.
21581 (gnat_init): Always call set_internal_error_function.
21583 2001-11-27 Andreas Jaeger <aj@suse.de>
21585 * Makefile.in (stamp-tool_src_dir): Use symbolic link.
21587 2001-11-27 Laurent Guerby <guerby@acm.org>
21589 * Makefile.in: Regenerate Ada dependencies.
21591 2001-11-26 Richard Henderson <rth@redhat.com>
21593 * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
21594 gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
21595 gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.
21597 2001-11-25 Laurent Guerby <guerby@acm.org>
21599 * sysdep.c (rts_get_*): Fix style.
21601 2001-11-19 Laurent Guerby <guerby@acm.org>
21603 * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
21604 since it is of no apparent use and cause warnings.
21606 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
21608 * misc.c (gnat_decode_option, gnat_init_options): Make definitions
21610 (gnat_init): Don't return NULL.
21611 (finish_parse): Remove.
21613 2001-11-17 Laurent Guerby <guerby@acm.org>
21615 * Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
21616 * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
21617 * io-aux.c: Provide K&R prototypes to all functions, reformat code.
21618 * lang-spec.h: Add missing struct field to silence warnings.
21619 * sysdep.c (rts_get_*): Provide K&R prototype.
21620 * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
21621 * traceback.c (Unlock_Task, Lock_Task): Likewise.
21622 * tracebak.c (__gnat_backtrace): Remove unused variable.
21623 * utils.c (end_subprog_body): Move to K&R style.
21625 Thu Nov 15 18:16:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21627 * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.
21629 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
21631 * misc.c (gnat_init): Change prototype. Include the
21632 functionality of the old init_parse and init_decl_processing.
21633 (gnat_init_decl_processing): New prototype.
21634 (init_parse): Remove.
21635 * utils.c (init_decl_processing): Rename gnat_init_decl_processing.
21637 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
21639 * misc.c (gnat_print_decl, gnat_print_type): Renamed.
21640 (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
21641 (print_lang_statistics, lang_print_xnode, print_lang_identifier,
21642 set_yydebug): Remove.
21644 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
21646 * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
21647 (struct lang_hooks): Constify.
21648 (language_string, lang_identify): Remove.
21649 * utils.c (init_decl_processing): Update.
21651 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
21653 * misc.c: Include langhooks-def.h.
21654 * Makefile.in: Update.
21656 2001-10-30 Robert Dewar <dewar@gnat.com>
21659 (Check_Identifier): Rewrite circuit to be compatible with use of letters
21660 in the upper half of ASCII.
21661 (Check_Identifier): Minor reformatting
21663 2001-10-30 Geert Bosch <bosch@gnat.com>
21665 * (Associated_Node, Set_Associated_Node): Do not check for
21668 2001-10-30 Robert Dewar <dewar@gnat.com>
21670 * a-reatim.ads: Minor reformatting
21672 2001-10-30 Robert Dewar <dewar@gnat.com>
21674 * gnatdll.adb: Minor reformatting throughout. Many ??? added for
21675 undocumented declarations.
21677 2001-10-30 Pascal Obry <obry@gnat.com>
21679 * gnatdll.adb (Parse_Command_Line): handle -g option to be passed
21680 to the binder and linker.
21683 * mdll.ads: Fix layout. Update copyright notice.
21685 * mdll.adb: Fix layout. Update copyright notice.
21687 2001-10-30 Robert Dewar <dewar@gnat.com>
21689 * usage.adb: Minor fix to output for -gnaty.
21691 2001-10-30 Ed Schonberg <schonber@gnat.com>
21693 * a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
21694 to accommodate all its possible values.
21696 * a-reatim.adb (Split): Special-case handling of Time_Span_First
21697 and of small absolute values of T.
21699 2001-10-30 Richard Kenner <kenner@gnat.com>
21701 * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
21702 set_mem_attributes since not needed and wrong if RESULT if a REG;
21703 fixes ACATS failures.
21705 2001-10-30 Geert Bosch <bosch@gnat.com>
21707 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
21708 s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.
21710 2001-10-30 Robert Dewar <dewar@gnat.com>
21712 * bindusg.adb: Undocument -f switch.
21714 * gnatcmd.adb: Remove /FULL_ELABORATION.
21716 * opt.ads (Force_RM_Elaboration_Order): Document that this is
21719 * gnatbind.adb: Output new warning for use of obsolescent -f switch.
21721 * gnatbind.adb: Minor update of warning msg.
21723 2001-10-30 Vincent Celier <celier@gnat.com>
21725 * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
21726 for project file switches (-P (/PROJECT_FILE=),
21727 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
21730 2001-10-30 Geert Bosch <bosch@gnat.com>
21732 * decl.c: Minor whitespace fixes.
21734 2001-10-30 Richard Kenner <kenner@gnat.com>
21736 * utils2.c (build_allocator): Test for SIZE overflow in array case too
21738 2001-10-30 Geert Bosch <bosch@gnat.com>
21740 * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
21741 Found due to GCC 3.0 warning of using uninitialized value.
21744 (Get_Max_Size): Use variant record for tracking value/expression.
21745 Makes logic clearer and prevents warnings for uninitialized variables.
21746 (Layout_Array_Type): Use variant record for tracking value/expression.
21747 Makes logic clearer and prevents warnings for uninitialized variables.
21749 2001-10-30 Robert Dewar <dewar@gnat.com>
21751 * lib.adb: Minor reformatting
21753 * s-taprop.ads: Minor reformatting
21755 2001-10-29 Laurent Guerby <guerby@acm.org>
21758 (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
21760 (_gnat_error_handler): Make MSG const.
21762 2001-10-29 Richard Kenner <kenner@gnat.com>
21764 * sysdep.c: Fix localtime_r problem on LynxOS.
21765 Also remove #elif to avoid warnings.
21767 * misc.c (yyparse): Don't set up and register jmpbuf; remove decls
21770 * decl.c (annotate_value): Make SIZE unsigned to avoid warning.
21772 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
21774 * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
21775 exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
21776 g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
21777 g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
21778 layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
21779 s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
21780 sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
21781 sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
21782 sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
21783 types.ads, urealp.adb: Fix spelling errors.
21785 2001-10-27 Laurent Guerby <guerby@acm.org>
21787 * trans.c (gigi): Fix non determinism leading to bootstrap
21788 comparison failures for debugging information.
21790 2001-10-26 Florian Weimer <fw@deneb.enyo.de>
21792 * gnat_rm.texi: Use @./@: where appropriate.
21794 2001-10-26 Robert Dewar <dewar@gnat.com>
21796 * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.
21798 2001-10-26 Richard Kenner <kenner@gnat.com>
21800 * gmem.c (__gnat_gmem_read_next): Properly check for EOF
21802 2001-10-26 Richard Kenner <kenner@gnat.com>
21804 * decl.c (validate_size): Modify message for bad size to avoid
21805 implication that compiler is modifying the size.
21807 2001-10-26 Robert Dewar <dewar@gnat.com>
21809 * prj-util.adb: Minor reformatting. Fix bad header format.
21811 2001-10-26 Robert Dewar <dewar@gnat.com>
21813 * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.
21815 * sinfo.ads: Clarify use of Associated_Node (documentation only).
21817 * sem_ch12.adb: Change Node4 to Associated_Node. Change
21818 Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
21819 much more narrowly in places where needed. These are cleanups.
21821 2001-10-26 Joel Brobecker <brobecke@gnat.com>
21823 * 5zosinte.ads (null_pthread): new constant.
21826 (Initialize_TCB): Initialize thread ID to null, to be able to verify
21827 later that this field has been set.
21828 (Finalize_TCB): ditto.
21829 (Suspend_Task): Verify that the thread ID is not null before using it.
21830 (Resume_Task): ditto.
21833 (Resume_All_Tasks): Lock the tasks list before using it.
21834 (Suspend_All_Tasks): ditto.
21836 2001-10-26 Richard Kenner <kenner@gnat.com>
21838 * decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
21839 Make constant variant of designated type for Is_Access_Constant.
21840 Call update_pointer_to with main variant.
21842 * trans.c (process_freeze_entity, process_type):
21843 Call update_pointer_to on main variant.
21845 * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
21846 If main variant, update all other variants.
21848 * utils2.c (build_unary_op, case INDIRECT_REF): No longer set
21851 2001-10-26 Robert Dewar <dewar@gnat.com>
21853 * prj-util.adb: Minor reformatting
21855 2001-10-26 Robert Dewar <dewar@gnat.com>
21857 * prj-util.adb: Minor reformatting
21859 2001-10-26 Robert Dewar <dewar@gnat.com>
21861 * prj-attr.adb: Minor reformatting throughout
21863 2001-10-26 Robert Dewar <dewar@gnat.com>
21865 * prj-attr.ads: Minor reformatting
21866 Add ??? comment (this whole spec has almost no comments)
21868 2001-10-26 Vincent Celier <celier@gnat.com>
21870 * g-os_lib.adb (Normalize_Pathname): Preserve the double slash
21871 ("//") that precede the drive letter on Interix.
21873 2001-10-26 Geert Bosch <bosch@gnat.com>
21875 * gnat_rm.texi: Add GNAT Reference Manual.
21877 2001-10-25 Robert Dewar <dewar@gnat.com>
21879 * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
21880 is Error. Similar change for other renaming cases.
21882 2001-10-25 Robert Dewar <dewar@gnat.com>
21884 * s-atacco.ads: Add pragma Inline_Always for functions.
21885 Fix header format. Add copyright 2001
21887 2001-10-25 Ed Schonberg <schonber@gnat.com>
21889 * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
21890 return Error rather than Empty so that analysis can proceed.
21892 2001-10-25 Ed Schonberg <schonber@gnat.com>
21894 * sem_util.adb (Enter_Name): better handling of cascaded error
21895 messages when a unit appears in its own context.
21897 2001-10-25 Ed Schonberg <schonber@gnat.com>
21899 * sem_util.adb (Defining_Entity): in case of error, attach created
21900 entity to specification, so that semantic analysis can proceed.
21902 2001-10-25 Robert Dewar <dewar@gnat.com>
21905 (Defining_Entity): Deal with Error.
21906 (Process_End_Label): Deal with bad end label for.
21908 2001-10-25 Ed Schonberg <schonber@gnat.com>
21910 * sem_elab.adb (Check_A_Call): refine message when call is in an
21911 instance but callee is not declared in the generic unit.
21913 2001-10-25 Ed Schonberg <schonber@gnat.com>
21915 * sem_elab.adb (Check_A_Call): check for renaming before finding the
21916 enclosing unit, which may already be different from the calling unit.
21918 2001-10-25 Geert Bosch <bosch@gnat.com>
21920 * 4gintnam.ads: fix header format.
21922 2001-10-25 Ed Schonberg <schonber@gnat.com>
21924 * sem_res.adb (Resolve_Call): if the call is actually an indexing
21925 operation on the result of a parameterless call, perform elaboration
21926 check after the node has been properly rewritten.
21928 * sem_ch12.adb (Copy_Generic_Node): after the proper body has been
21929 inlined within the generic tree, the defining identifier is not a
21932 2001-10-25 Ed Schonberg <schonber@gnat.com>
21934 * sem_res.adb (Resolve): special-case resolution of Null in an
21935 instance or an inlined body to avoid view conflicts.
21937 * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
21938 compatibility by retrieving the access type of the generic copy.
21940 2001-10-25 Robert Dewar <dewar@gnat.com>
21943 (Analyze_Number_Declaration): Handle error expression.
21944 (Signed_Integer_Type_Declaration): Handle error bound.
21945 (Analyze_Subtype_Indication): Handle error range.
21947 * sem_util.adb (Get_Index_Bounds): Check for Error.
21949 2001-10-25 Robert Dewar <dewar@gnat.com>
21951 * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
21952 in no run time mode.
21954 2001-10-25 Pascal Obry <obry@gnat.com>
21956 * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
21957 mode case for ALLOC case.
21959 * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
21960 all platforms. Improvement of last change.
21962 2001-10-25 Robert Dewar <dewar@gnat.com>
21964 * exp_ch4.adb (Expand_N_Allocator): Minor reformatting.
21966 2001-10-25 Geert Bosch <bosch@gnat.com>
21968 * osint.adb (Is_Relative): Remove duplicate.
21970 2001-10-25 Pascal Obry <obry@gnat.com>
21972 * osint.adb (Read_Default_Search_Dirs): correctly detect relative
21973 pathnames in UNIX and DOS style with drive letter.
21974 (Is_Relative): new routine.
21976 * osint.adb: Minor reformatting
21978 * osint.adb (Is_Relative): implementation using
21979 GNAT.OS_Lib.Is_Absolute_Path. Better fix.
21981 2001-10-25 Pascal Obry <obry@gnat.com>
21983 * g-dirope.adb (Basename): correctly compute offset between the
21984 original Path and the translated one.
21986 * g-dirope.adb: (Base_Name): add some comments.
21988 2001-10-25 Robert Dewar <dewar@gnat.com>
21990 * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
21991 in HIE mode, avoids compilation abandoned message
21993 * exp_imgv.adb: Correct typo in previous change
21995 * exp_imgv.adb: Correct typo in previous change (not my day!)
21997 2001-10-25 Robert Dewar <dewar@gnat.com>
21999 * s-tpinop.ads: Add 2001 to copyright notice. Fix header format.
22001 2001-10-25 Pascal Obry <obry@gnat.com>
22003 * g-awk.ads: Move all pragma inlines next to the routine
22004 declarations. This is more uniform with other GNAT spec.
22006 2001-10-22 Geert Bosch <bosch@gnat.com>
22008 * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.
22010 2001-10-19 Geert Bosch <bosch@gnat.com>
22012 * Makefile.in (tools, gnattools): Remove gnatmem.
22014 2001-10-17 Richard Henderson <rth@redhat.com>
22016 * Makefile.in (misc.o): Depend on langhooks.h.
22017 * misc.c: Include it.
22018 (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
22019 (LANG_HOOKS_DECODE_OPTION): New.
22020 (lang_hooks): Use LANG_HOOKS_INITIALIZER.
22022 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
22024 * trans.c (tree_transform): Adjust to recent change in
22025 expand_asm_operands to implement named asm operands.
22027 2001-10-11 Ed Schonberg <schonber@gnat.com>
22029 * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
22030 renaming of discriminant for mutable record type.
22032 2001-10-11 Robert Dewar <dewar@gnat.com>
22034 * validsw.adb: Properly save -gnatVn status.
22036 2001-10-11 Robert Dewar <dewar@gnat.com>
22038 * usage.adb: Add lines for V switch.
22040 * gnatcmd.adb (COMPILE): Revise translations for -gnatV
22041 (/VALIDITY_CHECKING).
22043 2001-10-11 Ed Schonberg <schonber@gnat.com>
22045 * sem_type.adb (Add_One_Interp): an operator for a type declared in
22046 an extension of System is known to be visible.
22048 2001-10-11 Ed Schonberg <schonber@gnat.com>
22050 * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
22051 properly. Fixes regression on ACATS C34005G.
22053 2001-10-11 Robert Dewar <dewar@gnat.com>
22055 * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
22056 loop in generic instance, since this is likely not very useful.
22058 2001-10-11 Robert Dewar <dewar@gnat.com>
22060 * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
22061 the error message for high integrity mode.
22063 * rtsfind.adb (RTE): Give message if we try to find an entity that
22064 is not available in high integrity mode.
22067 (OK_To_Use_In_HIE_Mode): New array.
22068 (RTE): May return Empty in high integrity mode.
22070 * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
22071 OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.
22073 * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
22074 unit if not inlined always and in no runtime mode. Fixes problem
22075 caused by new Rtsfind changes.
22077 * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
22080 * rtsfind.adb (RTE): Make sure we do not try to load unit after
22081 giving message for entity not available in high integrity mode.
22083 2001-10-11 Pascal Obry <obry@gnat.com>
22085 * impunit.adb: Add GNAT.CRC32.
22087 2001-10-11 Ed Schonberg <schonber@gnat.com>
22089 * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
22090 properly the case where one universal operand in a non-static
22091 exponentiation of a real literal.
22093 2001-10-11 Ed Schonberg <schonber@gnat.com>
22095 * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
22096 clause, return the gobal finalization list, for lack of anthing else.
22098 2001-10-11 Ed Schonberg <schonber@gnat.com>
22100 * exp_ch7.adb (Make_Transient_Block): if statement is within
22101 exception handler, always use new transient scope to place Clean
22104 2001-10-11 Pascal Obry <obry@gnat.com>
22107 (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
22108 (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
22109 (GNATLS_RTL_OBJS): add g-crc32.o
22110 (GNATMAKE_RTL_OBJS): add g-crc32.o
22113 (CRC_Match): new function.
22114 (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
22115 instead of the previous simple checksum algorithm.
22116 (Time_Stamp_Mismatch): use CRC_Match for comparison.
22117 (Set_Source_Table): idem.
22120 (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
22121 instead of simple checksum.
22122 (CRC_Match): new function.
22123 (CRC_Error): new constant.
22125 * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
22126 a CRC now and not a simple checksum. A CRC uses lower-case hex
22127 letters, fixes ambiguity in parsing.
22129 * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
22130 is what this variable will store.
22132 * bcheck.adb: Change reference to chechsum in comments by CRC.
22133 (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
22134 rename All_Checksum_Match to All_CRC_Match. Change due to API
22135 renaming since now GNAT does not use a simple checksum but a
22136 CRC using GNAT.CRC32.
22138 * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
22139 now and not anymore a simple checksum.
22141 * lib-load.adb: Use Source_CRC instead of Source_Checksum in many
22144 * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.
22147 (Restore_Scan_State): rename Checksum to CRC.
22148 (Save_Scan_State): idem.
22152 (Checksum): rename to CRC.
22153 (Saved_Scan_State): Save_Checksum field renamed to Save_CRC
22155 * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
22156 GNAT.CRC32). Update copyright notice.
22158 * scn-slit.adb: Rename many Accumulate_Checksum to Update (from
22159 GNAT.CRC32). Update copyright notice.
22162 (Accumulate_Checksum): removed.
22163 (Update): new procedure. Add a wide-character into the CRC.
22166 (Complete_Source_File_Entry): use CRC32 instead of simple checksum.
22167 (Load_File): fix initialization of S (change Source_Checksum to
22170 * sinput-p.adb (Load_Project_File): rename Source_Checksum to
22171 Source_CRC in S initialization.
22173 * sinput.adb (Source_Checksum): renamed to Source_CRC.
22175 * sinput.ads (Source_Checksum): renamed to Source_CRC.
22176 Update comments for the CRC.
22178 * types.adb (Hex): Use lowercase for the letter part.
22180 * types.ads (Get_Hex_String): Returns the hexadecimal representation
22181 for a word. This is currently used only for CRC. In previous version,
22182 the checksum was using a representation with all letter being
22183 upper-case. With the new implementation (using CRC) we do not remove
22184 the 32th bit of the CRC, so we can have an upper-case starting letter
22185 in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
22186 It is ambigous since the CRC was optional and could be followed by
22187 options like EB, EE. So now this routines uses lower-case letter for
22188 the hexadecimal representation. Strange enough only lower case letters
22189 where checked in Scan_ALI (even if this was not a possible case).
22191 * gnatvsn.ads (Library_Version): changed to 3.15a.
22193 * s-crc32.ads: Initial version from GNAT.CRC32. This is the version
22196 * s-crc32.adb: Initial version from GNAT.CRC32. This is the version
22199 * ali-util.adb: Redo previous change to avoid using word CRC everywhere
22200 Add 2001 to copyright notice
22201 (Accumulate_Checksum): Modify to use System.CRC32.
22203 * ali-util.ads: Redo changes of previous revision to continue to use
22204 the word Checksum. Add 2001 to copyright notice.
22206 * ali.adb: Undo some of previous changes, not needed.
22207 Keep the change for lower case letters in the checksum.
22209 * ali.ads: Undo previous change not needed.
22211 * bcheck.adb: Undo most of previous change, not needed.
22212 But do use Checksums_Match for checksum comparison.
22214 * gnatls.adb: Undo most of previous change, not needed.
22215 But do use Checksums_Match for comparing checksums.
22217 * lib-load.adb: Undo previous change, not needed.
22219 * lib-writ.adb: Undo previous change, not needed.
22221 * lib-writ.ads: Document that checksums use lower case,
22222 not upper case letters.
22224 * scans.adb: Undo previous change, not needed
22226 * scans.ads: Undo previous change, not needed.
22228 * scn-nlit.adb: Undo previous changes, not needed.
22230 * scn-slit.adb: Undo previous change, not needed. Fix header format.
22233 (Accumulate_Checksum): Use System.CRC32.
22234 (Initialize_Checksum): New procedure.
22235 Remove other changes of previous revision.
22237 * sinput-p.adb: Undo previous change, not needed.
22239 * sinput.adb: Undo previous change, not needed.
22241 * sinput-l.adb: Undo previous change, not needed.
22243 * sinput.ads: Undo previous change, not needed. Keep only comment
22244 on new checksum algorithm
22246 * Makefile.in: Add s-crc32 as needed, remove g-crc32.
22247 Also remove a-tags and a-stream from GNAT sources.
22249 * ali.adb (Scan_ALI): fix typo introduce in latest check-in.
22251 * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.
22253 2001-10-11 Geert Bosch <bosch@gnat.com>
22255 * einfo.h: Regenerate.
22257 * nmake.ads: Regenerate.
22259 * nmake.adb: Regenerate.
22261 * sinfo.h: Regenerate.
22263 * treeprs.adb: Regenerate.
22265 2001-10-10 Geert Bosch <bosch@gnat.com>
22267 * gnat-style.texi: New file describing coding guidelines for Ada.
22269 2001-10-10 Ed Schonberg <schonber@gnat.com>
22271 * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
22274 2001-10-10 Geert Bosch <bosch@gnat.com>
22276 * snames.ads: Add new names for project facility.
22278 * snames.adb: Update to reflect snames.ads changes.
22280 * snames.h: Update to reflect snames.ads changes.
22282 2001-10-10 Vincent Celier <celier@gnat.com>
22285 (Add_Switches): reflect the changes for the switches attributes
22286 Default_Switches indexed by the programming language,
22287 Switches indexed by the file name.
22288 (Collect_Arguments_And_Compile): Idem.
22289 Reflect the attribute name changes.
22292 (Initialisation_Data): Change the names of some packages and
22294 (Initialize): process case insensitive associative arrays.
22297 (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.
22300 (Parse_Attribute_Declaration): For case insensitive associative
22301 arrays, set the index string to lower case.
22304 Reflect the changes of the project attributes.
22307 Replace Check_Naming_Scheme by Ada_Check and
22308 Language_Independent_Check.
22311 Replaced Check_Naming_Scheme by 2 procedures:
22312 Ada_Check and Language_Independent_Check.
22315 (Process_Declarative_Items): For case-insensitive associative
22316 arrays, set the index string to lower case.
22317 (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
22318 Prj.Nmsc.Check_Naming_Scheme.
22321 (Case_Insensitive): New function
22322 (Set_Case_Insensitive): New procedure
22325 (Case_Insensitive): New function
22326 (Set_Case_Insensitive): New procedure
22327 (Project_Node_Record): New flag Case_Insensitive.
22330 (Value_Of): new function to get the string value of a single
22331 string variable or attribute.
22334 (Value_Of): new function to get the string value of a single
22335 string variable or attribute.
22338 (Ada_Default_Spec_Suffix): New function
22339 (Ada_Default_Impl_Suffix): New function
22340 Change definitions of several constants to reflect
22341 new components of record types.
22344 (Naming_Data): Change several components to reflect new
22345 elements of naming schemes.
22346 (Project_Data): New flags Sources_Present and
22347 Language_Independent_Checked.
22348 (Ada_Default_Spec_Suffix): New function.
22349 (Ada_Default_Impl_Suffix): New function.
22352 Modification of predefined names for project manager: added
22353 Implementation, Specification_Exceptions, Implementation_Exceptions,
22354 Specification_Suffix, Implementation_Suffix, Separate_Suffix,
22355 Default_Switches, _Languages, Builder, Cross_Reference,
22356 Finder. Removed Body_Part, Specification_Append, Body_Append,
22357 Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
22360 * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
22363 * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
22364 not that it is Nil_Variable_Value.
22366 * prj.ads: Add ??? for uncommented declarations
22368 2001-10-10 Ed Schonberg <schonber@gnat.com>
22370 * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
22371 constant, do not indicate possible modification, so that gigi can
22372 treat it as a bona fide constant.
22374 2001-10-10 Robert Dewar <dewar@gnat.com>
22376 * sem_prag.adb: Add processing for pragma External.
22378 * snames.ads: Add entry for pragma External.
22380 * par-prag.adb: Add pragma External.
22382 * snames.adb: Updated to match snames.ads.
22384 2001-10-10 Ed Schonberg <schonber@gnat.com>
22386 * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
22387 a dynamic task if the allocator appears in an indexed assignment
22388 or selected component assignment.
22390 * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
22391 For a dynamic task in an assignment statement, use target of
22392 assignment to generate meaningful name.
22394 2001-10-10 Ed Schonberg <schonber@gnat.com>
22396 * einfo.adb (Write_Field19_Name): Body_Entity is also defined for
22399 * einfo.ads: Body_Entity is also defined for generic package.
22400 Documentation change only
22402 * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
22403 others_choice for a discriminated component initialization,
22404 convert discriminant references into the corresponding discriminals.
22406 * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
22407 only if original type is private and expression has to be wrapped
22411 (Apply_Constraint_Check): Do not perform length check
22412 if expression is an aggregate with only an others_choice.
22413 (Length_N_Cond): two references to the same in_parameter
22414 (typically the discriminal in an init_proc) denote the same value.
22415 Two useful optimization uncovered by bugfixes above.
22417 2001-10-10 Robert Dewar <dewar@gnat.com>
22419 * xeinfo.adb: Change int to char in translation of enumeration types.
22420 This fixes a problem in the C representation of component alignment.
22421 Add 2001 to copyright notice
22423 2001-10-10 Richard Kenner <kenner@gnat.com>
22425 * decl.c: (validate_size): Do check size of object of integral type
22426 if it is a packed array type.
22428 2001-10-10 Richard Kenner <kenner@gnat.com>
22430 * decl.c: (gnat_to_gnu_entity, case object): Also materialize
22431 VAR_DECL for constant if not Is_Public but -O0.
22433 2001-10-10 Richard Kenner <kenner@gnat.com>
22435 * misc.c (struct lang_hooks): Add new initializer to match GCC change.
22437 2001-10-10 Geert Bosch <bosch@gnat.com>
22439 * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer
22440 use '/' as switch character, allowing for absolute file names.
22442 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
22444 * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
22447 2001-10-08 Geert Bosch <bosch@gnat.com>
22449 * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
22450 Automatically build utilities when files need to be regenerated.
22452 2001-10-08 Geert Bosch <bosch@gnat.com>
22454 * xsnames.adb: New utility for updating snames.ads and snames.adb
22456 2001-10-08 Zack Weinberg <zack@codesourcery.com>
22458 * Make-lang.in (ADAFLAGS): Add -W -Wall.
22459 (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
22460 (gnat1): Also depend on attribs.o.
22461 (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
22462 * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
22463 (ADAC): Set to @ADAC@ in stage1, $(CC) later.
22464 (ADAFLAGS): Add -W -Wall.
22465 (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
22468 (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
22469 s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
22470 s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
22471 Use $(ADAC), not $(CC), as compilation command.
22473 (gnattools): Depend directly on tools to build, don't use
22475 (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.
22477 * einfo.h, sinfo.h: New files (autogenerated).
22479 2001-10-08 Richard Henderson <rth@redhat.com>
22481 * comperr.adb (Abort_In_Progress): New.
22482 (Compiler_Abort): Use it to prevent recursion.
22484 2001-10-08 Robert Dewar <dewar@gnat.com>
22486 * atree.adb: Set Error_Posted in Error node, helps error recovery.
22488 * par-endh.adb (Output_End_Expected): We should also not test
22489 Error_Posted on the Error node, since now it is always set.
22491 * cstand.adb (Create_Standard): Set Etype of Error to Any_Type
22492 to help error recovery. Part of general work on 9407-004.
22494 * par.adb: Add ??? for misuse of error
22497 (Resolve): Defend against Error, fixes 9407-003.
22498 (Resolve_Discrete_Subtype_Indication): Defend against Error.
22500 * sinfo.ads (N_Error): Now has Etype field (which will be set
22501 to Any_Type to help error recovery).
22503 2001-10-08 Richard Kenner (kenner@gnat.com)
22505 * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
22506 Consistently set MEM attributes from expression; fixes
22507 bootstrap failure on x86.
22509 2001-10-08 Geert Bosch (bosch@gnat.com)
22511 * 5oosinte.adb: Add 2001 to copyright notice.
22513 2001-10-08 Geert Bosch (bosch@gnat.com)
22515 * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].
22517 * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].
22519 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
22521 * 5oosinte.adb: Fix spelling error of "separate" as "seperate".
22523 2001-10-05 Geert Bosch (bosch@gnat.com)
22525 * adaint.h: Small formatting fix.
22527 2001-10-04 Geert Bosch <bosch@gnat.com>
22529 * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
22530 Arg is int, not FILE *, in dummy version of functions.
22532 * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
22533 Arg is int, not FILE *.
22535 2001-10-04 Geert Bosch <bosch@gnat.com>
22537 * 3lsoccon.ads: Added file, missed with initial check ins.
22539 * 4lintnam.ads: Fix header format.
22540 Change Linux to GNU/Linux.
22542 * 5iosinte.adb: Change Linux to GNU/Linux.
22544 * 5iosinte.ads: Change Linux to GNU/Linux.
22546 * 5itaprop.adb: Change Linux to GNU/Linux.
22548 * 5itaspri.ads: Change Linux to GNU/Linux.
22549 Update copyright notice.
22551 * 5lintman.adb: Change Linux to GNU/Linux.
22553 * 5lml-tgt.adb: Change Linux to GNU/Linux.
22555 * 5losinte.ads: Change Linux to GNU/Linux.
22557 * 5lsystem.ads: Change Linux to GNU/Linux.
22559 * 5qosinte.adb: Change Linux to GNU/Linux.
22561 * 5qosinte.ads: Change Linux to GNU/Linux.
22563 * 5qparame.ads: Change Linux to GNU/Linux.
22565 * 5qtaprop.adb: Change Linux to GNU/Linux.
22567 * 5qtaspri.ads: Change Linux to GNU/Linux.
22568 Add 2001 to copyright notice.
22570 * 5vintman.ads: Change Linux to GNU/Linux.
22571 Fix header format. Add 2001 to copyright notice.
22573 * g-soccon.ads: Change Linux to GNU/Linux.
22575 * g-trasym.ads: Change Linux to GNU/Linux.
22576 Add 2001 to copyright notice.
22578 * memtrack.adb: Change Linux to GNU/Linux.
22580 * s-intman.ads: Change Linux to GNU/Linux.
22581 Add 2001 to copyright notice. Fix header format.
22583 * s-stache.adb: Change Linux to GNU/Linux.
22585 * adaint.c: Change Linux to GNU/Linux.
22587 * cio.c: Change Linux to GNU/Linux.
22589 * cstreams.c: Change Linux to GNU/Linux.
22591 * init.c: Change Linux to GNU/Linux.
22593 * gmem.c: Change Linux to GNU/Linux.
22595 * tracebak.c: Change Linux to GNU/Linux.
22598 2001-10-02 Geert Bosch <bosch@gnat.com>
22600 * misc.c (insert_default_attributes): Add dummy version.