1 2009-07-13 Ed Schonberg <schonberg@adacore.com>
3 * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
4 exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
5 and link it to the expression whose value it captures.
7 2009-07-13 Robert Dewar <dewar@adacore.com>
9 * output.adb: Minor comment addition for last change
11 * sinfo.ads: Minor reformatting
13 2009-07-13 Vasiliy Fofanov <fofanov@adacore.com>
15 * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
16 spawn failed like on all other targets.
18 2009-07-13 Ed Schonberg <schonberg@adacore.com>
20 * exp_ch7.adb: Indicate origin of temporary for transient expression.
22 2009-07-13 Thomas Quinot <quinot@adacore.com>
24 * s-oscons-tmplt.c: Add comment.
26 2009-07-13 Robert Dewar <dewar@adacore.com>
28 * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
29 reformatting. Minor code reorganization (add 9 argument version of
32 * impunit.adb: Remove s-os_lib from list of system extensions.
34 * sem_util.ads: Minor reformatting
36 * output.adb: Add warnings off/on around System.OS_Lib.
38 2009-07-13 Bob Duff <duff@adacore.com>
40 * exp_dist.adb: Minor comment updates.
42 2009-07-13 Gary Dismukes <dismukes@adacore.com>
44 * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
45 several references to CodePeer.
47 2009-07-13 Bob Duff <duff@adacore.com>
49 * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
50 Build_TypeCode_Function_All): Do not recurse if the type is the base
53 2009-07-13 Robert Dewar <dewar@adacore.com>
55 * exp_ch4.adb: Minor comment change
57 2009-07-13 Ed Schonberg <schonberg@adacore.com>
59 * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
60 type of iteration, to prevent spurious warnings.
62 2009-07-13 Nicolas Roche <roche@adacore.com>
64 * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
67 2009-07-13 Arnaud Charlet <charlet@adacore.com>
69 * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
70 gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
72 (CodePeer_Mode): New -gnatC switch.
73 (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
76 2009-07-13 Eric Botcazou <ebotcazou@adacore.com>
78 * checks.adb (Selected_Range_Checks): Do not consider that a non-static
79 integer bound forces the check if it is compared to its subtype range.
81 2009-07-13 Robert Dewar <dewar@adacore.com>
83 * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
84 prj-strt.ads: Minor reformatting
86 2009-07-13 Thomas Quinot <quinot@adacore.com>
88 * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
89 set the type of the From_Any call to the base type.
91 2009-07-13 Doug Rupp <rupp@adacore.com>
93 * symbols-processing-vms-ia64.adb (Process): Add variables and
94 constants to retrieve and check for symbol visibility.
96 2009-07-13 Javier Miranda <miranda@adacore.com>
98 * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
99 the identical type we remove the conversion completely because
102 2009-07-13 Emmanuel Briot <briot@adacore.com>
104 * prj-err.adb (Error_Msg): One more case where a message should be
105 considered as a warning.
107 * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
109 2009-07-13 Thomas Quinot <quinot@adacore.com>
111 * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
112 calling stubs in the (library level) scope of the RCI locator, where it
113 is attached, not in the caller's scope.
115 2009-07-13 Javier Miranda <miranda@adacore.com>
117 * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
118 interface object declarations we delay the generation of the equivalent
119 record type declarations until its expansion because there are cases in
120 which they are not required.
122 * sem_util.adb (Implements_Interface): Add missing support for subtypes.
124 * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
125 addition of assertion.
127 * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
128 interface types require no equivalent constrained type declarations
129 because the expanded code only references the tag component associated
131 (Find_Interface_Tag): Improve management of interfaces that are
132 ancestors of tagged types.
134 * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
135 class-wide object declarations to add missing support to statically
136 displace the pointer to the object to reference the tag component
137 associated with the interface.
139 * exp_disp.adb (Make_Tags) Avoid generation of internally generated
140 auxiliary types associated with user-defined dispatching calls if the
141 type has no user-defined primitives.
143 2009-07-13 Vasiliy Fofanov <fofanov@adacore.com>
145 * mingw32.h: Make it explicit that we need XP or later.
147 * initialize.c: Remove useless extern symbol declaration.
149 * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
150 code reuse in expect.c.
152 * adaint.c: Changes throughout the Windows section to redesign storage
153 of the child process list and the process identification.
155 * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
156 for interfacing, fix errors.
157 (__gnat_expect_portable_execvp): use function in adaint.c
159 2009-07-13 Emmanuel Briot <briot@adacore.com>
161 * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
162 prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
163 prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
164 errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
165 (Prj.Nmsc.Report_Error): Removed, no longer needed.
166 Always use Prj.Err.Report_Message.
168 2009-07-13 Robert Dewar <dewar@adacore.com>
170 * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
173 2009-07-13 Robert Dewar <dewar@adacore.com>
175 * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
176 prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
178 2009-07-13 Emmanuel Briot <briot@adacore.com>
180 * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
181 mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
182 Ada_Prj_Include_File_Set): Removed, since not needed
185 2009-07-13 Ed Schonberg <schonberg@adacore.com>
187 * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
188 Analyze_Membership_Op.
190 * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
191 Resolve_Membership_Op.
193 * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
196 2009-07-13 Robert Dewar <dewar@adacore.com>
198 * clean.adb: Minor reformattting
200 2009-07-13 Emmanuel Briot <briot@adacore.com>
202 * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
203 gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
204 prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
205 prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
206 and attributes in a project tree.
207 (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
208 Remove last remaining mode-specific code (ada_only or
209 multi_language). This was duplicating code
210 (Get_Mode, Set_Mode): removed, no longer used.
211 (Initialize_Project_Path): all tools will now take into account both
212 GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
213 Remove some global variables and subprograms no longer used
214 Make temporary files tree-specific, to avoid interferences between
215 trees loaded in memory at the same time.
216 (Prj.Delete_Temporary_File): new subprogram
217 (Object_Paths, Source_Paths): fields no longer stored in the project
218 tree, since they are only needed locally in Set_Ada_Paths.
219 (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
221 (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
222 by local variables in the appropriate subprograms
223 (Has_Foreign_Sources): removed.
225 * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
227 2009-07-13 Arnaud Charlet <charlet@adacore.com>
229 * gnat1drv.adb (Adjust_Global_Switches): No longer set
230 Back_Annotate_Rep_Info in inspector mode.
231 (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
233 * opt.ads: Update comment.
235 2009-07-13 Robert Dewar <dewar@adacore.com>
237 * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
238 prj.ads: Minor reformatting and code reorganization.
240 * par-ch3.adb (Check_Restricted_Expression): New procedure
242 2009-07-13 Ed Schonberg <schonberg@adacore.com>
244 * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
245 attribute into a call of the corresponding suprogram, create extra
246 formals for the subprogram, because it may be a renaming whose
247 analysis does not create extra formals.
249 2009-07-13 Emmanuel Briot <briot@adacore.com>
251 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
252 prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
253 prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
254 prj-tree.ads: Minor reformatting.
255 (Processing_Flags): new record to encapsulate the set of common
256 parameters to several subprograms in the project manager.
257 (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
258 Remove the need for the Current_Dir parameter in subprograms.
259 (Look_For_Sources): minor refactoring, now that we no longer need to
260 share subprograms between the two Ada_Only and Multi_Language modes
261 (Processing_Flags): New field Error_On_Unknown_Language.
262 Merge tests for library project between gnatmake and gprbuild.
264 2009-07-13 Arnaud Charlet <charlet@adacore.com>
266 * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
269 2009-07-13 Emmanuel Briot <briot@adacore.com>
271 * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
274 2009-07-13 Thomas Quinot <quinot@adacore.com>
276 * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
277 Write,Input,Output} from private view to full view.
279 * sem_type.adb, sem_type.ads: Minor reformatting
281 2009-07-13 Nicolas Setton <setton@adacore.com>
283 * exp_dbug.ads: Add documentation note on the utility of
284 DW_AT_GNAT_encoding for IDEs.
286 2009-07-13 Robert Dewar <dewar@adacore.com>
288 * g-socthi-vxworks.adb: Minor reformatting
290 * gnatcmd.adb: Minor reformatting
292 2009-07-13 Thomas Quinot <quinot@adacore.com>
294 * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
295 removed, not used anymore.
296 (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
297 New subprogram, implements copy of an Any value into a limited object.
298 (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
299 Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
300 Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
301 of parameters of a limited type, use the above new subprogram.
303 2009-07-13 Emmanuel Briot <briot@adacore.com>
305 * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
307 (Copy_ALI_Files): Avoid calls to read when pointing outside of the
309 (Error_Report): Remove global variable, replaced by parameters.
311 2009-07-13 Thomas Quinot <quinot@adacore.com>
313 * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
314 standard sendto(2) interface for connected sockets (passing a null
315 destination address). Use send(2) instead for that case.
317 2009-07-13 Pascal Obry <obry@adacore.com>
319 * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
321 2009-07-13 Emmanuel Briot <briot@adacore.com>
323 * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
324 prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
325 variables and tables in prj-nmsc.adb.
326 (Tree_Processing_Data): Renames Processing_Data, some new fields added
327 (Project_Processing_Data): New record
328 Simplify/unify check for missing sources.
330 2009-07-13 Emmanuel Briot <briot@adacore.com>
332 * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
333 prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
334 prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
335 prj-tree.ads (Immediate_Directory_Of): Removed.
336 (Prj.Pars): Now parse the project simulating a default config file.
337 (Add_Default_GNAT_Naming_Scheme): New subprogram
338 (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
339 Remove gnatmake-specific parsing of source files.
340 (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
341 the error itself to provide more precise diagnostics.
342 (Process_Exceptions_Unit_Based): Avoid duplicate error message when
343 a unit belongs to several projects.
344 (Copy_Interface_Sources): Search the full path of files to copy in the
345 list of sources of the application rather than in the list of units.
346 (Parse_Project_And_Apply_Config): Do not reset the name of the main
348 (Check_File): Use htables to find out whether a source is duplicated.
349 (Add_Source): check whether the source or unit were already seen earlier
351 * gcc-interface/Makefile.in: Update gnatmake dependencies.
353 2009-07-13 Robert Dewar <dewar@adacore.com>
355 * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
356 expression if extensions permitted.
358 * par-ch4.adb (P_Membership_Test): New procedure (implement membership
360 (P_Relation): Use P_Membership_Test
362 * par.adb (P_Membership_Test): New procedure (implement membership set
365 * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
367 * sprint.adb (Sprint_Node): Handle set form for membership tests.
369 2009-07-13 Thomas Quinot <quinot@adacore.com>
371 * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
372 Do not attempt to generate stubs for predefined primitives of
373 synchronized interfaces.
374 (Add_Stub_Type): Factor some code from the PCS-specific variants of
377 2009-07-13 Ed Schonberg <schonberg@adacore.com>
379 * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
380 Controlling_Result flag from the operation they override.
382 2009-07-13 Arnaud Charlet <charlet@adacore.com>
384 * gcc-interface/Make-lang.in: Update dependencies
386 2009-07-13 Robert Dewar <dewar@adacore.com>
388 * gnat_ugn.texi: The gnatf switch no longer is needed to get full
389 details on unsupported constructs.
391 * rtsfind.adb: Remove references to All_Errors_Mode, give errors
394 * s-trafor-default.adb: Correct some warnings
396 * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
397 sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
400 * par-ch4.adb (Conditional_Expression): Capture proper location for
401 conditional expression, should point to IF.
403 * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
404 s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
405 g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
406 reorganization (use conditional expressions).
408 2009-07-13 Ed Schonberg <schonberg@adacore.com>
410 * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
411 build-in-place function that returns an inherently limited type (not
412 just a task type) create proper object declaration so that extra
413 build-in-place actuals are properly added to the call.
415 2009-07-13 Robert Dewar <dewar@adacore.com>
417 * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
419 * gnat_ugn.texi: Add documentation for -gnatw.m/.M
421 * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
423 * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
424 Warn_On_Suspicious_Modulus_Value.
426 * ug_words: Add entries for -gnatw.m/-gnatw.M.
428 * usage.adb: Add lines for -gnatw.m/.M switches.
430 * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
432 2009-07-13 Javier Miranda <miranda@adacore.com>
434 * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
435 reading the Is_Interface attribute of the dispatching type.
437 2009-07-13 Robert Dewar <dewar@adacore.com>
439 * a-convec.adb: Minor code reorganization (use conditional expressions)
441 2009-07-13 Robert Dewar <dewar@adacore.com>
443 * freeze.adb (Check_Suspicious_Modulus): New procedure.
445 2009-07-13 Robert Dewar <dewar@adacore.com>
447 * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
450 * par-ch4.adb: Minor reformatting
452 2009-07-13 Ed Schonberg <schonberg@adacore.com>
454 * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
455 => Is_Atomic_Aggregate
457 2009-07-13 Emmanuel Briot <briot@adacore.com>
459 * prj-nmsc.adb: Avoid traversing the list of source files if
460 we have already processed all locally removed files.
462 2009-07-13 Jose Ruiz <ruiz@adacore.com>
464 * gnat_ugn.texi: Fix typo.
466 2009-07-13 Robert Dewar <dewar@adacore.com>
468 * freeze.adb: Minor reformatting
469 Minor code reorganization (use Nkind_In)
471 * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
473 2009-07-11 Eric Botcazou <ebotcazou@adacore.com>
475 * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
476 local variable and do not test it in Compile_Time_Bad_Alignment.
477 Do not issue size or alignment warnings for the X'Address form.
478 * sem_util.ads (Find_Overlaid_Object): Delete.
479 (Find_Overlaid_Entity): New procedure.
480 * sem_util.adb (Find_Overlaid_Object): Rename to...
481 (Find_Overlaid_Entity): ...this and turn into a procedure. Report
482 whether the address is offseted within the overlaid entity.
483 (Has_Compatible_Alignment): Track the offset globally instead of
484 passing it to Check_Offset. For an indexed component, compute the
485 full offset when possible. If the resulting offset is zero, only
487 (Check_Offset): Delete.
488 * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
489 (Address_Aliased_Entity): Delete.
490 (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
491 Find_Overlaid_Entity to find the overlaid entity and the offset.
492 Adjust throughout for above change.
493 (Validate_Address_Clauses): Always use attributes of entities, not of
494 their type. Tweak message for warning. Call Has_Compatible_Alignment
495 if the address is offseted to warn about incompatible alignments.
496 * gcc-interface/gigi.h (annotate_object): Declare.
497 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
498 entity. Call annotate_object instead of annotating manually objects.
499 (annotate_object): New function.
500 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
503 2009-07-11 Eric Botcazou <ebotcazou@adacore.com>
505 * gcc-interface/ada-tree.h: Minor reorganization.
506 * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
507 (gnat_print_type): Likewise.
509 2009-07-11 Thomas Quinot <quinot@adacore.com>
511 * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
514 * exp_ch6.adb: Minor reformatting
516 2009-07-11 Ed Schonberg <schonberg@adacore.com>
518 * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
519 account possible type qualification to determine whether aggregate
520 needs a target temporary to respect atomic type or object.
522 * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
523 Expand_Atomic_Aggregate.
525 2009-07-11 Emmanuel Briot <briot@adacore.com>
527 * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
529 (Excluded_Sources_Htable): No longer a global table.
530 Change error message to indicate which files are illegal in the list
531 of excluded files, as opposed to only the location in the project
533 (Find_Source): New subprogram.
535 2009-07-10 Thomas Quinot <quinot@adacore.com>
537 * exp_ch7.adb: Update comments.
539 2009-07-10 Arnaud Charlet <charlet@adacore.com>
541 * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
542 clause if -gnatI is set instead of crashing.
544 2009-07-10 Ed Schonberg <schonberg@adacore.com>
546 * sem_ch11.adb (Same_Expression): Null is always equal to itself.
547 Additional work to remove redundant successive raise statements, in
548 this case access checks.
550 2009-07-10 Vincent Celier <celier@adacore.com>
552 * make.adb (Compile): Always create a deep copy of the mapping file
553 argument (-gnatem=...) as it may be deallocate/reallocate by
556 2009-07-10 Javier Miranda <miranda@adacore.com>
558 * einfo.adb (Directly_Designated_Type): Add assertion.
560 * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
561 access types before using attribute Directly_Designated_Type.
563 2009-07-10 Emmanuel Briot <briot@adacore.com>
565 * prj.ads: Minor typo fix
567 2009-07-10 Ed Schonberg <schonberg@adacore.com>
569 * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
572 * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
573 subprogram is a function call, resolve properly, to ensure that extra
574 actuals are added as needed.
576 2009-07-10 Thomas Quinot <quinot@adacore.com>
578 * sem_aggr.adb: Minor comments editing
580 * exp_tss.adb, exp_ch3.adb: Minor reformatting
582 2009-07-10 Robert Dewar <dewar@adacore.com>
584 * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
586 * exp_ch4.adb: Add ??? comment for conditional expressions on limited
589 * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
590 replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
591 case of conditional expressions that may not be elaborated.
593 * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
594 conditional expression where we may not execute then then or else
597 2009-07-10 Arnaud Charlet <charlet@adacore.com>
599 * i-cexten.ads (bool): New type.
601 2009-07-10 Robert Dewar <dewar@adacore.com>
603 * sinfo.ads (N_Short_Circuit): New definition
605 * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
606 treepr.adb: Minor code reorganization (use N_Short_Circuit)
608 2009-07-10 Javier Miranda <miranda@adacore.com>
610 * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
611 non-tagged record types.
614 (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
615 with non-tagged types. Required to import C++ classes that have no
617 (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
618 returning non-tagged types. For backward compatibility, if the
619 constructor returns a class wide type we internally change the
620 returned type to the corresponding non class-wide type.
623 (Valid_Ancestor_Type): CPP_Constructors code cleanup.
624 (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
625 (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
626 (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
629 (Analyze_Object_Declaration): CPP_Constructors code cleanup.
631 * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
633 * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
635 * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
637 * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
640 * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
643 (pragma CPP_Class): Document that it can be used now with non-tagged
645 (pragma CPP_Constructor): Document that it can be used now with
646 functions returning specific types. For backward compatibility
647 we also support functions returning class-wide types.
650 (Interfacing with C++ constructors): Update the examples to incorporate
651 the new syntax in which the functions used to import C++ constructors
652 return specific types.
653 (Interfacing with C++ at the Class Level): Update the examples to
654 incorporate the new syntax in which the functions used to import
655 C++ constructors return specific types.
657 2009-07-10 Thomas Quinot <quinot@adacore.com>
659 * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
660 Make_Disp_Conditional_Select_Body,
661 Make_Disp_Timed_Select_Body): For the case of a type that is neither an
662 interface nor a concurrent type, the primitive body is empty. Generate
663 a null statement so that it remains well formed.
665 2009-07-10 Ed Schonberg <schonberg@adacore.com>
667 * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
668 replace references to them in defaulted component expressions with
669 references to the values of the discriminants of the target object.
671 2009-07-10 Ed Schonberg <schonberg@adacore.com>
673 * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
674 pragma, to capture global references if the context is generic.
676 * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
677 appears within the initialization procedure for the corresponding
678 record, replace it with the proper discriminal.
680 2009-07-10 Vincent Celier <celier@adacore.com>
682 * make.adb: Do not include object directories or library ALI
683 directories of library projects in the object path.
685 2009-07-10 Javier Miranda <miranda@adacore.com>
687 * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
688 Typ argument to ensure proper management of access types.
690 2009-07-10 Ed Schonberg <schonberg@adacore.com>
692 * exp_ch7.adb (Build_Final_List): If the list is being built for a
693 Taft-Amendment type, place the finalization list in the package body,
694 to ensure that the tree for the spec is identical whenever it is
697 2009-07-10 Javier Miranda <miranda@adacore.com>
699 * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
700 inheriting attributes from a private Parent_Base.
702 2009-07-10 Ed Schonberg <schonberg@adacore.com>
704 * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
705 statements with the same condition.
707 2009-07-10 Robert Dewar <dewar@adacore.com>
709 * exp_ch4.adb (Raise_Accessibility_Error): New procedure
711 2009-07-09 Tom Tromey <tromey@redhat.com>
713 * raise-gcc.c: Include dwarf2h (unconditionally).
715 2009-07-09 Ed Schonberg <schonberg@adacore.com>
717 * sem_ch10.adb (Install_Context): If the unit is a package body,
718 install the private with_clauses of the corresponding package
721 2009-07-09 Robert Dewar <dewar@adacore.com>
723 * checks.adb: Minor reformatting
725 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
727 * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
730 2009-07-09 Thomas Quinot <quinot@adacore.com>
732 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
733 Do not warn for a constant overlaying any constant object
735 2009-07-09 Ed Schonberg <schonberg@adacore.com>
737 * sem_ch10.adb (Install_Context): If the unit is a package body,
738 install the private with_clauses of the corresponding package
741 2009-07-09 Robert Dewar <dewar@adacore.com>
743 * checks.adb: Minor reformatting
745 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
747 * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
750 2009-07-09 Thomas Quinot <quinot@adacore.com>
752 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
753 Do not warn for a constant overlaying any constant object
755 2009-07-09 Arnaud Charlet <charlet@adacore.com>
757 * gcc-interface/Make-lang.in: Update dependencies
759 2009-07-09 Thomas Quinot <quinot@adacore.com>
761 * g-socket.adb (Check_Selector): Do not create local copies of the
762 socket sets on the stack.
764 2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
766 * gnat_ugn.texi: Add missing VMS translations.
768 2009-07-09 Ed Schonberg <schonberg@adacore.com>
770 * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
771 condition, to prevent generation of visible code during expansion,
772 when Check is not enabled.
774 2009-07-09 Gary Dismukes <dismukes@adacore.com>
776 * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
777 the check gets registered for any available local handler
780 * sem_util.adb: Add with and use of Exp_Ch11.
781 (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
782 that the check gets registered for any available local handler.
784 * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
787 2009-07-09 Steve Baird <baird@adacore.com>
789 * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
791 (Expand_N_Exception_Declaration): Fix handling of exceptions
792 declared in a subprogram.
794 2009-07-09 Emmanuel Briot <briot@adacore.com>
796 * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
799 2009-07-09 Thomas Quinot <quinot@adacore.com>
801 * freeze.adb: Minor reformatting
803 * exp_ch3.adb: Minor comment fix.
805 * sinfo.ads: Minor comment fix
807 2009-07-09 Ed Schonberg <schonberg@adacore.com>
809 * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
811 2009-07-09 Ed Schonberg <schonberg@adacore.com>
813 * freeze.adb (Freeze_Expression): If the expression is the name of a
814 function in a call, and the function has not been frozen yet, create
815 extra formals for it to ensure that the proper actuals are created
816 when expanding the call.
818 2009-07-09 Emmanuel Briot <briot@adacore.com>
820 * prj-pp.adb (Print): Fix handling of source index when set on a
823 2009-07-09 Ed Schonberg <schonberg@adacore.com>
825 * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
826 a temporary to the source expression whose value it captures.
828 * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
830 2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
832 * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
835 2009-07-07 Gary Dismukes <dismukes@adacore.com>
837 * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
838 parameters when the subtype of the actual is not known to be a subrange
839 of the formal's subtype.
840 (Expand_Call): Generate a range check only in the E_In_parameter case
841 (in out parameter range checks are now handled in Expand_Actuals).
843 * exp_ch4.adb (Expand_N_Slice): Restore code that calls
846 2009-07-07 Robert Dewar <dewar@adacore.com>
848 * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
850 2009-07-07 Javier Miranda <miranda@adacore.com>
852 * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
853 designated type comes from a limited views.
855 2009-07-07 Emmanuel Briot <briot@adacore.com>
857 * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
858 locally removed files that are later made visible again in an importing
861 2009-07-07 Robert Dewar <dewar@adacore.com>
863 * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
865 2009-07-07 Sergey Rybin <rybin@adacore.com>
867 * gnat_ugn.texi: Add an example to the description of gnatcheck
868 'Style_Checks' rule option.
870 2009-07-07 Tristan Gingold <gingold@adacore.com>
872 * seh_init.c: Fix inline assembly statement in seh_init.c
874 2009-07-07 Ed Schonberg <schonberg@adacore.com>
876 * sem_warn.adb (Check_References): Do not emit warnings on formals of
877 an entry body. Only the formals of the entry declaration are traced.
879 2009-07-07 Robert Dewar <dewar@adacore.com>
881 * s-osprim-mingw.adb: Minor code reorganization
883 2009-07-07 Robert Dewar <dewar@adacore.com>
885 * prj-nmsc.adb: Minor reformatting
887 2009-07-07 Pascal Obry <obry@adacore.com>
889 * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
890 cases where Pattern is longer than Source.
892 2009-07-07 Pascal Obry <obry@adacore.com>
894 * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
896 2009-07-07 Emmanuel Briot <briot@adacore.com>
898 * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
901 2009-07-07 Ed Schonberg <schonberg@adacore.com>
903 * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
904 primitive operations, in case one of them is called in the
905 initialization procedure for the type.
907 2009-07-07 Robert Dewar <dewar@adacore.com>
909 * a-calend.adb: Minor code reorganization (use conditional expressions)
911 * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
912 prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
913 s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
914 s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
915 s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
916 g-comlin.adb, exp_ch11.adb: Minor reformatting.
918 2009-07-07 Gary Dismukes <dismukes@adacore.com>
920 * checks.adb (Generate_Range_Check): Replace type conversions with
921 unchecked conversions to support the case of performing range checks
922 on Enum'Val (permits integer values to be converted to enumeration).
924 * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
925 Attribute_Succ): Set Do_Range_Check to False before calling
926 Expand_Pred_Succ, to prevent gigi from generating any range checks.
927 (Expand_N_Attribute_Reference, case Attribute_Val):
928 Generate a range check when needed (and set Do_Range_Check to False).
930 * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
931 scalar object initialization if needed.
933 * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
934 when needed on scalar allocators.
935 (Expand_N_Qualified_Expression): Generate range check when needed.
936 (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
937 Checks on slice ranges handled in Resolve_Slice.
939 * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
940 when needed, for all scalar assignments, not just discrete.
941 (Expand_Simple_Function_Return): Resolve the conversion created for a
942 scalar function return so that the conversion will get expanded to
943 generate a possible constraint check.
945 * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
946 in out scalar actuals when subtypes don't match, to ensure generation
947 of return checks (and set Do_Range_Check to False).
948 (Expand_Call): Uncomment code to perform range checks, but make it apply
949 only to in and in out parameters (checks on parameter returns are
950 handled in Expand_Actuals). If a scalar actual for a call to a derived
951 subprogram is marked as needing a range check, peform it here (and set
952 Do_Range_Check to False).
954 * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
955 range check on scalar component associations when needed.
957 * sem_eval.adb (In_Subrange_Of): Return False when the first type has
958 infinities but the second type does not, as these aren't compatible
959 floating-point types.
961 * sem_res.adb (Resolve_Slice): In the case where the prefix of the
962 slice is itself a slice, pick up the Etype of the prefix. This handles
963 the case where the prefix was an Image attribute expanded to a slice,
964 and ensures that we get the subtype with the slice constraint rather
965 than the unconstrained subbtype of the 'Image.
967 2009-07-07 Ed Schonberg <schonberg@adacore.com>
969 * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
970 overloaded expressions in a conditional expressions.
972 * sem_res.adb (Resolve): Handle properly overloaded conditional
975 2009-07-07 Robert Dewar <dewar@adacore.com>
977 * scng.adb: Minor reformattting
979 * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
980 association allows conditional expression without parens.
982 * par-ch4.adb (P_Name): Attribute arguments can be conditional
983 expressions without enclosing parentheses, and also as parameters,
984 indexing expressions etc.
985 (P_Conditional_Expression): New procedure
986 (P_Expression_If_OK): New procedure
988 * par.adb (P_Conditional_Expression): New procedure
989 (P_Expression_If_OK): New procedure
991 * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
992 form of conditional expression.
994 * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
995 missing True argument if ELSE argument missing.
997 * sinfo.adb (Is_Elsif): New flag
999 * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
1000 part of the language, and the documentation is modified accordingly.
1001 (Is_Elsif): New flag
1003 2009-07-06 Olivier Hainque <hainque@adacore.com>
1005 * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
1006 setjmp_longjmp): Attach the exception propagation reraise fallback
1007 to the sequence end label location when we have it.
1009 2009-07-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1012 * init.c (APPLE): Include <mach/mach_init.h>.
1013 (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
1015 2009-07-04 Eric Botcazou <ebotcazou@adacore.com>
1017 * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
1018 (SET_DECL_LANG_SPECIFIC): Likewise.
1019 (TYPE_RM_VALUE): New macro.
1020 (SET_TYPE_RM_VALUE): Likewise.
1021 (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
1022 (TYPE_RM_MIN_VALUE): Likewise.
1023 (TYPE_RM_MAX_VALUE): Likewise.
1024 (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
1025 (SET_TYPE_RM_MIN_VALUE): Likewise.
1026 (SET_TYPE_RM_MAX_VALUE): Likewise.
1027 * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
1029 2009-07-04 Laurent GUERBY <laurent@guerby.net>
1032 * tracebak.c (__gnat_backtrace): Fix old-style definition.
1034 2009-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1036 * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
1038 2009-07-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1041 * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
1044 2009-07-01 Eric Botcazou <ebotcazou@adacore.com>
1046 * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
1048 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
1050 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
1051 the type of the left operand if it pads a self-referential type when
1052 the right operand is a constructor.
1054 * gcc-interface/lang-specs.h: Fix copyright date.
1056 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
1058 * gcc-interface/decl.c: Include tree-inline.h.
1059 (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
1060 * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
1061 * gcc-interface/utils2.c: Include tree-inline.
1062 (known_alignment) <CALL_EXPR>: Likewise.
1064 2009-06-30 Eric Botcazou <ebotcazou@adacore.com>
1066 * raise-gcc.c: Include dwarf2.h conditionally.
1068 2009-06-29 Tom Tromey <tromey@redhat.com>
1070 * raise-gcc.c: Include elf/dwarf2.h.
1072 2009-06-27 Laurent GUERBY <laurent@guerby.net>
1074 * tb-gcc.c (trace_callback): Add casts to silence warning.
1076 2009-06-27 Eric Botcazou <ebotcazou@adacore.com>
1078 * tb-gcc.c: Fix copyright notice.
1080 2009-06-27 Eric Botcazou <ebotcazou@adacore.com>
1082 * init.c (__gnat_set_globals): Add prototype.
1083 * adaint.c (__gnat_binder_supports_auto_init): Likewise.
1084 (__gnat_sals_init_using_constructors): Likewise.
1085 * gcc-interface/utils.c (gnat_pushlevel): Likewise.
1086 (get_block_jmpbuf_decl): Likewise.
1087 (gnat_poplevel): Likewise.
1088 (merge_sizes): Rename local variable.
1089 (copy_type): Likewise.
1090 (build_vms_descriptor32): Likewise.
1091 (build_vms_descriptor): Likewise.
1092 (convert_vms_descriptor64): Likewise.
1093 (convert_vms_descriptor32): Likewise.
1094 (convert_to_fat_pointer): Likewise.
1095 (maybe_unconstrained_array): Likewise.
1096 (def_fn_type): Use promoted type with va_arg.
1097 * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
1098 (substitute_in_type): Rename local variable.
1099 * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
1101 2009-06-26 Laurent GUERBY <laurent@guerby.net>
1103 * tb-gcc.c (trace_callback): Use char* instead of void*.
1104 * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
1105 * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
1106 (Attribute_to_gnu): Adjust for above change.
1107 (Subprogram_Body_to_gnu): Likewise.
1108 * gcc-interface/utils.c (merge_sizes): Rename local variable.
1109 (copy_type): Likewise.
1110 (build_vms_descriptor32): Likewise.
1111 (build_vms_descriptor): Likewise.
1112 (convert_vms_descriptor64): Likewise.
1113 (convert_vms_descriptor32): Likewise.
1114 (convert_to_fat_pointer): Likewise.
1115 (maybe_unconstrained_array): Likewise.
1116 * gcc-interface/decl.c (substitute_in_type): Likewise.
1118 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
1120 * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
1121 (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
1122 of the upper bound of the index types.
1124 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
1126 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
1127 out common predicate. Use the maximum to compute the upper bound of
1128 the index type only when it is not wider than sizetype. Perform the
1129 comparison in the index type for the generic expression. Use real
1130 precision to decide whether to generate special types for debugging
1133 2009-06-26 Matthew Gingell <gingell@adacore.com>
1135 * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
1137 2009-06-26 Vincent Celier <celier@adacore.com>
1139 * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
1142 2009-06-26 Robert Dewar <dewar@adacore.com>
1144 * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
1146 2009-06-26 Eric Botcazou <ebotcazou@adacore.com>
1148 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
1149 correct arguments to create_field_decl. Remove redundant iteration.
1150 Rewrite computation of the maximum size.
1151 <E_Array_Subtype>: Reorder and simplify handling of special cases.
1152 Rewrite computation of the maximum size. Use consistent naming.
1153 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
1154 comparison order for consistency. Use generic integer node to
1155 build the operator and fold the result.
1157 2009-06-25 Vincent Celier <celier@adacore.com>
1159 * vms_data.ads: Minor comment change
1161 2009-06-25 Gary Dismukes <dismukes@adacore.com>
1163 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
1164 assignment statement to targeting a caller-provided object when the
1165 result type is an interface type.
1167 * exp_ch6.adb (Expand_Call): Remove redundant test of
1168 Is_Limited_Interface (Is_Inherently_Limited is sufficient).
1169 (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
1171 * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
1172 to OK_For_Limited_Init.
1174 * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
1175 condition so that True is returned for all limited interfaces, not
1176 just synchronized ones. Ignore components of an interface type when
1177 checking for limited components (such a component can be a parent
1180 * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
1181 (OK_For_Limited_Init): Add type parameter.
1183 * sem_ch3.adb (Check_Initialization): Add type in call to
1184 OK_For_Limited_Init.
1185 (OK_For_Limited_Init): Add new type param in call to
1186 OK_For_Limited_Init_In_05.
1187 (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
1188 nonlimited type when the context type is a limited interface. Add type
1191 * sem_ch4.adb (Analyze_Allocator): Add type in call to
1192 OK_For_Limited_Init.
1194 * sem_ch6.adb (Check_Limited_Return): Add type in call to
1195 OK_For_Limited_Init.
1197 * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
1198 OK_For_Limited_Init.
1199 (Instantiate_Object): Add type in call to OK_For_Limited_Init.
1201 * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
1202 class-wide interface, get the base type before applying Etype, in order
1203 to account for class-wide subtypes.
1205 2009-06-25 Emmanuel Briot <briot@adacore.com>
1207 * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
1208 prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
1209 between gnatmake and gprbuild.
1210 (Naming_Data): Removed, no longer used
1211 (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
1212 needed locally in one subprogram, no need to store forever in the
1214 (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
1216 (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
1217 Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
1218 Spec_Suffix_Id_Of): removed, no longer used.
1220 2009-06-25 Javier Miranda <miranda@adacore.com>
1222 * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
1223 types on qualified expression in calls to imported C++ constructors.
1225 * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
1226 imported C++ constructors.
1228 2009-06-25 Sergey Rybin <rybin@adacore.com>
1230 * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
1232 2009-06-25 Vincent Celier <celier@adacore.com>
1234 * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
1235 provided, on Windows change all '/' to '\'.
1237 * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
1238 used. Minor comment changes
1240 * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
1241 Remove_Forbidden_File_Name.
1243 2009-06-25 Quentin Ochem <ochem@adacore.com>
1245 * prj.ads (Unit_Index): Now general access type.
1247 2009-06-25 Pascal Obry <obry@adacore.com>
1249 * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
1251 2009-06-25 Emmanuel Briot <briot@adacore.com>
1253 * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
1254 prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
1255 computed efficiently from the other fields.
1256 (Object_To_Global_Archive): New subprogram
1257 (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
1258 (Override_Kind): Fix handling of separates in Ada.
1259 (Create_Mapping_File): Remove duplicate code
1260 (Naming_Data.Implementation_Exception, Specification_Exception):
1261 field removed, since never used.
1262 (Naming_Data.Specs, .Bodies): field removed, since this is only
1263 used while processing the project and is not needed once the tree
1264 is in memory. This brings Naming_Data and Lang_Naming_Data
1265 closer (same content now, but different use still).
1267 2009-06-25 Pascal Obry <obry@adacore.com>
1269 * sem_ch4.adb: Minor reformatting.
1271 * a-strsea.adb: Fix confusion between 'Length and 'Last.
1273 2009-06-25 Ed Schonberg <schonberg@adacore.com>
1275 * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
1276 Unchecked_Access): If the context is an interface type, and the prefix
1277 is of the corresponding class-wide type, do not insert a conversion
1278 because the pointer displacement has already taken place, and we must
1279 retain the class-wide type in a dispatching context.
1281 2009-06-25 Emmanuel Briot <briot@adacore.com>
1283 * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
1284 the previous source file.
1285 (Create_Mapping): Iterate on sources rather than on units.
1287 2009-06-25 Emmanuel Briot <briot@adacore.com>
1289 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
1290 prj-env.adb, prj-env.ads (Slash): removed, no longer used
1291 (Source_Data): no longer use Path.Name to point to a locally removed
1292 file. Instead we use the field Locally_Removed which is clearer
1294 2009-06-25 Arnaud Charlet <charlet@adacore.com>
1296 * gcc-interface/Make-lang.in: Remove references to sem_maps.o
1298 * sem_maps.adb, sem_maps.ads: Removed, not used.
1300 2009-06-25 Ed Falis <falis@adacore.com>
1302 * s-vxwext-rtp.ads: Add missing declaration
1304 2009-06-25 Matthew Gingell <gingell@adacore.com>
1306 * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
1307 speed up unmapped case.
1309 2009-06-25 Vincent Celier <celier@adacore.com>
1311 * prj-nmsc.adb (Check): Change error message for illegal abstract
1314 2009-06-25 Robert Dewar <dewar@adacore.com>
1316 * gnat_ugn.texi: Add note on use of -gnatct for ASIS
1318 2009-06-25 Emmanuel Briot <briot@adacore.com>
1320 * fmap.ads: Add documentation on mapping files
1322 2009-06-25 Robert Dewar <dewar@adacore.com>
1324 * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
1327 2009-06-24 Robert Dewar <dewar@adacore.com>
1329 * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
1331 * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
1335 2009-06-24 Ed Schonberg <schonberg@adacore.com>
1337 * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
1338 present when checking whether a call may be interpreted as an indexing
1339 of the result of a call.
1341 * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
1342 body for a null procedure on the freeze actions for the procedure, so
1343 that it will be analyzed at the proper place without premature freezing
1346 * sem_ch3.adb (Check_Completion): Code cleanup.
1347 Do not diagnose a null procedure without a body, if previous errors
1348 have disabled expansion.
1350 2009-06-24 Doug Rupp <rupp@adacore.com>
1352 * init.c [VMS] Resignal C$_SIGKILL
1354 2009-06-24 Ed Falis <falis@adacore.com>
1356 * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
1357 Define ERROR in body for VxWorks 6 kernel
1359 2009-06-24 Pascal Obry <obry@adacore.com>
1361 * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
1362 in [Send/Receive]_Socket.
1364 2009-06-24 Emmanuel Briot <briot@adacore.com>
1366 * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
1367 prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
1368 to several subprograms.
1369 (Source_Data.Other_Part): Removed, since can be computed from the
1371 (Other_Part): New subprogram.
1373 2009-06-24 Emmanuel Briot <briot@adacore.com>
1375 * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
1376 the full base name of the file when the suffix doesn't start with a '.'.
1378 2009-06-24 Vincent Celier <celier@adacore.com>
1380 * prj-nmsc.adb (Check): A project declared abstract is legal if no
1381 attribute Source_Dirs, Source_Files, Source_List_File or Languages is
1384 2009-06-24 Robert Dewar <dewar@adacore.com>
1386 * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
1387 prj-env.adb: Minor reformatting
1389 2009-06-24 Ed Falis <falis@adacore.com>
1391 * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
1392 s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
1393 s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
1394 support for VxWorks SMP.
1396 * gcc-interface/Make-lang.in: Update dependencies
1398 2009-06-24 Emmanuel Briot <briot@adacore.com>
1400 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
1401 prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
1403 (Source_Data.Lang_Kind): Removed, since it duplicates information
1404 already available through Language.Config.
1405 (Source_Data.Compile): Removed, since information is already available
1406 through the language.
1407 (Is_Compilable): New subprogram.
1408 (Source_Data.Dependency): Removed, since already available through
1410 (Source_Data.Object_Exist, Object_Linked): Removed since available
1411 through the language already.
1412 (Unit_Data.File_Names): Is now also set in multi_language mode, to
1413 bring the two modes closer in the resulting data structures.
1414 (Source_Data.Unit): Now a direct pointer to the unit data, rather than
1415 just the name that would point into a hash table.
1416 (Get_Language_From_Name): New subprogram.
1418 2009-06-24 Javier Miranda <miranda@adacore.com>
1420 * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
1421 visible through limited-with context clauses. In addition, avoid an
1422 extra tag check that is not required when the class-wide
1423 designated types of the operand and target types are
1425 (Tagged_Membership): Handle entities from the limited view.
1427 2009-06-24 Emmanuel Briot <briot@adacore.com>
1429 * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
1430 prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
1431 (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
1432 different vocabularies for similar concepts (Impl/Body_Part and
1433 Spec/Specification).
1434 (Unit_Data): now points directly to a Source_Id, rather than duplicating
1435 some of the information in File_Name_Data. This also saves a bit of
1436 memory. However, since we are now using a pointer we need to test
1437 for null explicitly in several places of the code
1439 2009-06-24 Javier Miranda <miranda@adacore.com>
1441 * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
1442 from processing the type conversion when the node is
1443 replaced by an N_Raise_Program_Error node.
1445 2009-06-24 Hristian Kirtchev <kirtchev@adacore.com>
1447 * sem_ch6.adb (Designates_From_With_Type): New routine.
1448 (Process_Formals): Since anonymous access types are no longer flagged
1449 as from with types, traverse the designated type to determine whether
1450 it is coming from a limited view.
1452 * sem_res.adb: Remove with and use clauses for Sem_Ch10.
1453 (Full_Designated_Type): Use Available_View to extract the non-limited /
1454 full view of a type.
1456 2009-06-24 Robert Dewar <dewar@adacore.com>
1458 * exp_ch6.adb: Minor reformatting
1460 * layout.adb: Minor reformatting
1462 * make.adb: Minor reformatting
1464 2009-06-24 Thomas Quinot <quinot@adacore.com>
1466 * sem_ch10.adb: Minor code reorganization.
1468 2009-06-24 Eric Botcazou <ebotcazou@adacore.com>
1470 * ttypes.ads: Minor editing.
1472 2009-06-24 Robert Dewar <dewar@adacore.com>
1474 * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
1475 in deciding to do call-by-copy code.
1477 2009-06-24 Vincent Celier <celier@adacore.com>
1479 * make.adb (Gnatmake): To decide if an executable should be rebuilt,
1480 check if an externally built library file is more current than the
1483 2009-06-23 Olivier Hainque <hainque@adacore.com>
1485 * gcc-interface/utils.c (handle_vector_size_attribute): Import from
1486 c-common.c and populate in gnat_internal_attribute_table.
1488 2009-06-23 Ed Schonberg <schonberg@adacore.com>
1490 * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
1491 Available_View only when designated type of an anonymous access type
1494 2009-06-23 Robert Dewar <dewar@adacore.com>
1496 * sem_ch10.adb: Minor reformatting
1498 * ali.ads: Mino reformatting.
1500 * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
1501 turning off inlining if ASIS mode active).
1503 * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
1504 This belongs in gnat1drv.adb after switches are scanned.
1506 2009-06-23 Hristian Kirtchev <kirtchev@adacore.com>
1508 * sem_attr.adb: Add with and use clauses for Sem_Ch10.
1509 (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
1510 when dealing with class-wide types. Detect a legal shadow entity and
1511 retrieve its non-limited view.
1513 * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
1514 subprogram to top package level from Intall_Limited_Withed_Unit.
1515 (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
1516 Add check which prevents the installation of a limited view if the
1517 non-limited view is already visible through a with clause.
1518 (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
1519 legal shadow entity which may occur in subprogram formals of anonymous
1522 * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
1524 * sem_ch3.adb (Access_Definition): Remove the propagation of flag
1525 From_With_Type from the designated type to the generated anonymous
1526 access type. Remove associated comment.
1528 * sem_res.adb Add with and use clauses for Sem_Ch10.
1529 (Full_Designated_Type): Detect a legal shadow entity and retrieve its
1530 non-limited view. Since the shadow entity may replace a regular
1531 incomplete type, return the available full view.
1533 2009-06-23 Ed Schonberg <schonberg@adacore.com>
1535 * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
1536 incomplete type declarations. Previous code was potentially quadratic
1537 in the number of visible declarations in any package appearing in a
1538 limited_with_clause.
1540 2009-06-23 Robert Dewar <dewar@adacore.com>
1542 * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
1543 xref_lib.adb: Minor reformatting
1545 2009-06-23 Robert Dewar <dewar@adacore.com>
1547 * a-stzhas.adb: Provide dummy body to avoid build problems with old
1548 versions which did have a body for this unit.
1550 2009-06-23 Vincent Celier <celier@adacore.com>
1552 * prj-attr.adb: Attribute names Initial_Required_Switches and
1553 Final_Required_Switches changed to Leading_Required_Switches and
1554 Trailing_Required_Switches.
1556 * prj-nmsc.adb (Process_Compiler): Attribute names
1557 Initial_Required_Switches and Final_Required_Switches changed to
1558 Leading_Required_Switches and Trailing_Required_Switches.
1560 * prj.ads (Language_Config): Component Initial_Required_Switches and
1561 Final_Required_Switches changed to Leading_Required_Switches and
1562 Trailing_Required_Switches.
1564 * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
1565 Final_Required_Switches; add standard names Leading_Required_Switches
1566 and Trailing_Required_Switches.
1568 2009-06-23 Thomas Quinot <quinot@adacore.com>
1570 * prj-conf.adb: Minor reformatting
1572 * xref_lib.adb: Minor cleanup
1574 2009-06-23 Emmanuel Briot <briot@adacore.com>
1576 * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
1577 prj-conf.ads (Check_Configuration): New parameter
1578 Compiler_Driver_Mandatory.
1580 2009-06-23 Ed Schonberg <schonberg@adacore.com>
1582 * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
1583 context of the current unit has an inline pragma, the instance is not
1584 rewritten as the declaration of the package wrapper. Handle both
1585 possibilities when retrieving the visible subprogram that renames the
1586 instantiation itself.
1588 2009-06-23 Javier Miranda <miranda@adacore.com>
1590 * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
1591 designated types referencing entities from the limited view.
1593 2009-06-23 Robert Dewar <dewar@adacore.com>
1595 * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
1597 * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
1600 * prj-conf.ads: Minor reformatting
1602 * prj-conf.adb: Minor reformatting
1604 2009-06-23 Vasiliy Fofanov <fofanov@adacore.com>
1606 * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
1607 to correspond to the log format that gnatmem now expects.
1609 2009-06-23 Vincent Celier <celier@adacore.com>
1611 * prj-attr.adb: New attributes Initial_Required_Switches,
1612 Final_Required_Switches and Object_File_Switches
1614 * prj-nmsc.adb (Process_Compiler): Process new attributes
1615 Name_Final_Required_Switches, Name_Initial_Required_Switches and
1616 Name_Object_File_Switches.
1618 * prj.ads (Language_Config): New component
1619 Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
1620 Compiler_Final_Required_Switches and Object_File_Switches.
1622 * snames.ads-tmpl: New standard names Initial_Required_Switches,
1623 Final_Required_Switches and Object_File_Switches
1625 2009-06-23 Pascal Obry <obry@adacore.com>
1627 * s-strhas.adb, s-strhas.ads: Minor reformatting.
1629 2009-06-23 Ed Schonberg <schonberg@adacore.com>
1631 * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
1632 not indicate that the enclosing unit needs a body.
1634 2009-06-23 Emmanuel Briot <briot@adacore.com>
1636 * prj-conf.ads, prj-conf.adb: New files part of the project manager.
1638 2009-06-23 Ed Schonberg <schonberg@adacore.com>
1640 * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
1641 primitive equality include it with its source name even if the
1642 operation is currently invisible, to make sure that the corresponding
1643 slot in the dispatch table is reserved for the internal equality
1644 subsequently generated during expansion.
1646 2009-06-23 Matthew Gingell <gingell@adacore.com>
1648 * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
1650 2009-06-22 Jose Ruiz <ruiz@adacore.com>
1652 * sysdep.c (__gnat_localtime_tzoff for RTX):
1653 SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
1654 GetTimeZoneInformation instead.
1656 2009-06-22 Robert Dewar <dewar@adacore.com>
1658 * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
1660 2009-06-22 Ed Schonberg <schonberg@adacore.com>
1662 * sem_ch12.adb (Collect_Previous_Instances): Do not collect
1663 instantiations declared in a previous generic package body.
1665 2009-06-22 Robert Dewar <dewar@adacore.com>
1667 * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
1668 restriction No_Direct_Boolean_Operators.
1670 2009-06-22 Thomas Quinot <quinot@adacore.com>
1672 * bindusg.adb: Minor fixes to gnatbind usage message
1674 * sem_eval.adb: Minor reformatting
1676 2009-06-22 Javier Miranda <miranda@adacore.com>
1678 * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
1679 freezing point the check on the use of abstract types in object
1680 declarations. Done to allow the declaration of C++ imported variables
1681 or constants whose type corresponds with an imported C++ classes for
1682 which the constructor is not imported.
1684 2009-06-22 Thomas Quinot <quinot@adacore.com>
1686 * sem_ch6.adb: Minor reformatting
1688 2009-06-22 Ed Schonberg <schonberg@adacore.com>
1690 * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
1691 component is constrained with an expression rather than with a
1692 discriminant of the enclosing type, use that expression when building
1693 the call to default-initialize the component, when the call is part of
1694 an aggregate with box initialization.
1696 2009-06-22 Ed Schonberg <schonberg@adacore.com>
1698 * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
1699 unconditional rather than a style check, because a formal name out of
1700 order is suspicious.
1702 2009-06-22 Vincent Celier <celier@adacore.com>
1704 * prj-nmsc.adb (Locate_Directory): Indicate the project name when
1705 creating a directory automatically.
1707 2009-06-22 Eric Botcazou <ebotcazou@adacore.com>
1709 * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
1710 untagged derived type, add a hidden component for every constrained
1711 discriminant of the parent type to keep record layout consistent.
1713 2009-06-22 Thomas Quinot <quinot@adacore.com>
1715 * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
1718 2009-06-22 Matthew Gingell <gingell@adacore.com>
1720 * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
1721 s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
1722 g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
1723 a-swuwha.adb: New unit System.String_Hash.
1724 Refactor redundant cut and pasted hash functions with instances of a
1725 new generic hash function.
1726 Implement a new string hashing algorithm which appears in testing to
1727 be move effective than to previous approach.
1729 2009-06-22 Ed Falis <falis@adacore.com>
1731 * sysdep.c: remove include for nfsLib.h and an NFS specific error
1732 message for VxWorks 653 vThreads: not supported by the OS.
1734 * gsocket.h: disable sockets for VxWorks 653 vThreads.
1736 2009-06-22 Robert Dewar <dewar@adacore.com>
1738 * sem_ch6.adb: Add ??? comment for bad use of Style_Check
1740 2009-06-22 Robert Dewar <dewar@adacore.com>
1742 * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
1745 * freeze.adb: Minor comment updates
1747 * s-valrea.adb (Bad_Based_Value): New procedure
1748 (Scan_Real): Raise exceptions with messages
1750 2009-06-22 Matthew Gingell <gingell@adacore.com>
1752 * adaint.h: Complete previous change.
1754 2009-06-22 Thomas Quinot <quinot@adacore.com>
1756 * exp_ch7.ads, exp_ch3.adb: Minor reformatting
1758 2009-06-22 Ed Schonberg <schonberg@adacore.com>
1760 * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
1761 enabled, emit warning when a non-controlling argument of the overriding
1762 operation appears out of place vis-a-vis of the formal of the
1763 overridden operation.
1765 2009-06-22 Vincent Celier <celier@adacore.com>
1767 * gnatcmd.adb (Check_Files): Close temporary files after all file names
1768 have been written into it.
1770 2009-06-22 Matthew Gingell <gingell@adacore.com>
1772 * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
1775 2009-06-22 Thomas Quinot <quinot@adacore.com>
1777 * sem_disp.adb (Check_Direct_Call): Handle the case where the full
1778 view of the root type is visible at the point of the call.
1780 2009-06-22 Pat Rogers <rogers@adacore.com>
1782 * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
1784 2009-06-22 Jerome Lambourg <lambourg@adacore.com>
1786 * freeze.adb: Add comments.
1788 2009-06-21 Thomas Quinot <quinot@adacore.com>
1790 * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
1791 sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
1792 Factor out code to new subprogram...
1793 (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
1794 for a default initialized variable.
1795 (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
1796 entity that has an associated freeze node.
1797 (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
1798 If there is an init call for the object, defer it to the object freeze
1800 (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
1801 name clash with new subprogram introduced in Exp_Util.
1803 2009-06-21 Robert Dewar <dewar@adacore.com>
1805 * einfo.ads: Minor reformatting
1807 2009-06-21 Ed Falis <falis@adacore.com>
1809 * env.c (__gnat_environ): return NULL for vThreads - unimplemented
1811 2009-06-21 Eric Botcazou <ebotcazou@adacore.com>
1813 * einfo.ads: Update comments.
1815 2009-06-21 Hristian Kirtchev <kirtchev@adacore.com>
1817 * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
1818 where the controlling formal is of private class-wide type whose
1819 completion is a synchronized type can be converted into direct calls.
1821 2009-06-21 Vincent Celier <celier@adacore.com>
1823 * gnatcmd.adb (Check_Files): When all sources of the project are to be
1824 indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
1825 of sources using -files=, so that the distinction can be made by the
1826 tool of a call with no source (to display the usage) from a call with
1827 a project file that contains no source.
1829 2009-06-21 Jerome Lambourg <lambourg@adacore.com>
1831 * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
1832 case of VM convention arrays.
1834 2009-06-20 Robert Dewar <dewar@adacore.com>
1836 * a-nudira.adb: Minor reformatting
1838 2009-06-20 Ed Schonberg <schonberg@adacore.com>
1840 * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
1841 expressions (possibly from a parent type) indicate that the scope of
1842 the new itypes is the initialization procedure being built.
1844 2009-06-20 Robert Dewar <dewar@adacore.com>
1846 * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
1847 Needs_64, and now computed without anomolies for some dynamic types.
1849 2009-06-20 Thomas Quinot <quinot@adacore.com>
1851 * sem_prag.adb: Minor reformatting
1853 * exp_disp.ads: Minor reformatting
1855 2009-06-20 Ed Schonberg <schonberg@adacore.com>
1857 * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
1858 function call is a legal expression to initialize a limited object.
1860 * exp_ch3.adb: Rename various freeze operations that perform expansion
1861 actions, to prevent confusion with subprograms in the freeze package.
1863 2009-06-20 Ed Schonberg <schonberg@adacore.com>
1865 * sem.adb (Walk_Library_Units): Check instantiations first.
1867 * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
1868 private primitive if it is a function with a controlling result that is
1869 a type extension with progenitors.
1871 * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
1872 a primitive operation of a synchronized tagged type that has a
1875 2009-06-20 Thomas Quinot <quinot@adacore.com>
1877 * einfo.ads: Fix typo.
1879 2009-06-20 Ed Falis <falis@adacore.com>
1881 * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
1883 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
1885 * gcc-interface/trans.c (emit_check): Do not wrap up the result
1887 (protect_multiple_eval): Always protect complex expressions.
1889 2009-06-19 Emmanuel Briot <briot@adacore.com>
1891 * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
1892 make sure we always return a name ending with a path separator.
1894 2009-06-19 Javier Miranda <miranda@adacore.com>
1896 * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
1897 Save and restore the visibility of the parent when installed.
1899 2009-06-19 Jose Ruiz <ruiz@adacore.com>
1901 * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
1902 by Common which contains all these fields.
1904 * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
1905 Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
1906 Remove code duplication in this package by means of calling the
1907 equivalent code in s-taprob.
1909 2009-06-19 Robert Dewar <dewar@adacore.com>
1911 * a-einuoc.ads: Minor reformatting
1913 2009-06-19 Ed Falis <falis@adacore.com>
1915 * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
1916 s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
1918 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
1920 * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
1922 2009-06-19 Robert Dewar <dewar@adacore.com>
1924 * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
1927 * checks.adb (Determine_Range): Move the test for generic types later.
1929 * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
1931 (Eval_Relational_Op): Fold more cases including string compares
1933 * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
1936 2009-06-19 Robert Dewar <dewar@adacore.com>
1938 * sem_type.ads, sem_ch12.adb: Minor reformatting
1940 * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
1942 2009-06-19 Ed Schonberg <schonberg@adacore.com>
1944 * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
1945 primitive operation of a rivate extension whose controlling argument
1946 is an out parameter.
1948 * sem.adb (Walk_Library_Units): exclude generic package declarations
1951 2009-06-19 Thomas Quinot <quinot@adacore.com>
1953 * i-vxwoio.ads: Add comments
1955 2009-06-19 Thomas Quinot <quinot@adacore.com>
1957 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
1958 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
1959 g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
1960 (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
1961 (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
1962 Thin_Common.Socket_Ioctl.
1963 (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
1964 __gnat_socket_ioctl.
1965 (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
1966 argument after the file descriptor and request code.
1968 2009-06-19 Robert Dewar <dewar@adacore.com>
1970 * checks.adb: Minor reformatting
1972 2009-06-19 Jose Ruiz <ruiz@adacore.com>
1974 * env.c (__gnat_environ): RTX does not support this functionality.
1976 2009-06-19 Ed Schonberg <schonberg@adacore.com>
1978 * sem.adb (Walk_Library_Items): Include bodies in the list of units to
1979 traverse, to account for front-end inlining and instantiations in a
1980 spec or in the main unit.
1982 2009-06-19 Robert Dewar <dewar@adacore.com>
1984 * checks.adb (Determine_Range): Do not attempt to get range of generic
1987 2009-06-19 Sergey Rybin <rybin@adacore.com>
1989 * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
1990 gnatmetric option for generating the schema file for gnatmetric XML
1991 output. Add corresponding VMS qualifier.
1993 2009-06-19 Robert Dewar <dewar@adacore.com>
1995 * g-cgi.adb: Minor reformatting
1997 2009-06-19 Eric Botcazou <ebotcazou@adacore.com>
1999 * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
2000 signal code for SIGFPE and raise Program_Error for SIGILL.
2002 * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
2004 2009-06-19 Ed Schonberg <schonberg@adacore.com>
2006 * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
2007 generic package if there is a visibility candidate that is declared in
2010 2009-06-18 Olivier Hainque <hainque@adacore.com>
2012 * system-aix64.ads: New file.
2013 * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
2014 64bit system.ads for ppc64 multilib variants.
2016 2009-06-16 Robert Dewar <dewar@adacore.com>
2017 Olivier Hainque <hainque@adacore.com>
2019 Relax constraints on Machine_Attribute argument types:
2020 * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
2022 (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
2023 * gcc-interface/decl.c (prepend_attributes): Accept static
2024 expressions of any type as attribute arguments, not only string
2026 * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
2027 the relaxation of the restriction on the Info argument type.
2029 2009-06-13 Aldy Hernandez <aldyh@redhat.com>
2031 * gcc-interface/utils.c (record_builtin_type): Pass location
2032 argument to build_decl.
2033 (create_type_stub_decl): Same.
2034 (create_type_decl): Same.
2035 (create_var_decl_1): Same.
2036 (create_field_decl): Same.
2037 (create_param_decl): Same.
2038 (create_label_decl): Same.
2039 (create_subprog_decl): Same.
2040 * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
2041 * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
2042 argument to create_artificial_label.
2043 (Loop_Statement_to_gnu): Same.
2044 (Subprogram_Body_to_gnu): Same.
2045 (gnat_gimplify_stmt): Same.
2047 2009-06-11 Richard Henderson <rth@redhat.com>
2049 * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
2052 2009-06-11 Ed Schonberg <schonberg@adacore.com>
2054 * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
2055 accessibiliy check on access_to_subprogram in the context of an
2056 anonymous access that is not an access parameter.
2058 2009-06-11 Eric Botcazou <ebotcazou@adacore.com>
2060 * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
2062 2009-06-11 Quentin Ochem <ochem@adacore.com>
2064 * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
2065 comments for message handled by GPS.
2067 2009-06-11 Matthew Gingell <gingell@adacore.com>
2069 * adaint.c: Use fopen64 instead of fopen on platforms where we know
2072 2009-06-11 Pascal Obry <obry@adacore.com>
2074 * g-cgi.ads: Fix comment typo.
2076 * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
2078 2009-06-10 Eric Botcazou <ebotcazou@adacore.com>
2080 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
2081 a reference to the original type for the type of the field of the
2083 (maybe_pad_type): Likewise.
2085 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
2086 common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
2087 Pass correctly typed arguments to create_field_decl.
2088 <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
2089 case of contrained discriminants as well. Use the padded base type
2090 in the other case as well. Rename temporary variable. Tweak test.
2091 Factor common access pattern. Set GNU_SIZE only once.
2093 2009-06-09 Olivier Hainque <hainque@adacore.com>
2095 * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
2096 helper for build_call_alloc_dealloc with arguments to be interpreted
2097 identically. Process the case where a GNAT_PROC to call is provided.
2098 (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
2099 and return an allocator for DATA_SIZE bytes aimed at containing a
2100 DATA_TYPE object, using the default __gnat_malloc allocator. Honor
2101 DATA_TYPE alignments greater than what the latter offers.
2102 (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
2103 release a DATA_TYPE object designated by DATA_PTR using the
2104 __gnat_free entry point.
2105 (build_call_alloc_dealloc): Expect object data type instead of naked
2106 alignment constraint. Use the new helpers.
2107 (build_allocator): Remove special processing for the super-aligned
2108 case, now handled by build_call_alloc_dealloc. Pass data
2109 type instead of the former alignment argument, as expected by the new
2111 * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
2113 * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
2114 Remove special processing for the super-aligned case, now handled
2115 by build_call_alloc_dealloc. Pass data type instead of the former
2116 alignment argument, as expected by the new interface.
2118 2009-06-08 Alexandre Oliva <aoliva@redhat.com>
2120 * lib-writ.adb (flag_compare_debug): Import.
2121 (Write_ALI): Skip during -fcompare-debug-second.
2123 2009-06-03 Eric Botcazou <ebotcazou@adacore.com>
2125 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
2126 adjusting the discriminant nodes in an extension, use the full view
2127 of the parent subtype if it is of a private kind.
2129 2009-06-03 Eric Botcazou <ebotcazou@adacore.com>
2131 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
2132 _Parent field, if any, to the record before adding the other fields.
2133 <E_Record_Subtype>: Put the _Controller field before the other fields
2134 except for the _Tag or _Parent fields.
2135 (components_to_record): Likewise. Retrieve the _Parent field from the
2138 2009-06-03 Eric Botcazou <ebotcazou@adacore.com>
2140 * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
2141 remove unused parameter and simplify.
2142 (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS. Factor
2143 common predicate. Rewrite loop for clarity. Use GNU_TYPE directly
2144 as context for all discriminants. Fix formatting nits.
2145 <E_Record_Subtype>: Add cosmetic 'break'. Test Has_Discriminants
2146 before Discriminant_Constraint. Adjust for above renaming. Do not
2147 set GNU_TYPE more than once.
2148 (elaborate_entity): Test Has_Discriminants on the entity and use
2149 Implementation_Base_Type.
2150 (components_to_record): Rename component_list to gnat_component_list.
2151 Retrieve the _Parent field from the list. Fix nits in comments.
2152 Clarify logic in loop. Pass correct arguments to create_field_decl.
2154 2009-06-02 Eric Botcazou <ebotcazou@adacore.com>
2156 * gcc-interface/Make-lang.in: Fix formatting.
2158 2009-06-01 Olivier Hainque <hainque@adacore.com>
2159 Eric Botcazou <ebotcazou@adacore.com>
2161 * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
2162 to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
2163 on the result if at least one of the input fields couldn't be output
2164 as a static constant any more.
2166 2009-06-01 Olivier Hainque <hainque@adacore.com>
2167 Eric Botcazou <ebotcazou@adacore.com>
2169 * gcc-interface/utils2.c (gnat_build_constructor): Factor
2170 out code. Use initializer_constant_valid_for_bitfield_p and
2171 CONSTRUCTOR_BITFIELD_P for bit-fields.
2173 2009-05-26 Ian Lance Taylor <iant@google.com>
2175 * gcc-interface/Makefile.in (COMPILER): Define.
2176 (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
2177 (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
2178 (seh_init.o, tracebak.o): Likewise.
2179 * gcc-interface/Make-lang.in (ada/targext.o): Likewise.
2180 (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
2181 (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
2182 (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
2183 (ada/utils2.o): Likewise.
2185 2009-05-24 Olivier Hainque <hainque@adacore.com>
2187 * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
2188 * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
2189 Add -auxbase variants to the list of recognized internal switches.
2190 * back_end.adb (Scan_Back_End_Switches): Use the new functions and
2192 * lib.ads: Make comment on internal GCC switches more general.
2193 * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
2196 2009-05-23 Eric Botcazou <ebotcazou@adacore.com>
2198 * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
2200 2009-05-23 Eric Botcazou <ebotcazou@adacore.com>
2202 * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
2205 2009-05-23 Eric Botcazou <ebotcazou@adacore.com>
2207 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
2208 original type because of the alignment when there is an address clause.
2210 2009-05-20 Eric Botcazou <ebotcazou@adacore.com>
2212 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
2213 discriminants affect the shape of the subtype, retrieve the GCC type
2214 directly from the original field if the GNAT types for the field and
2215 the original field are the same.
2217 2009-05-15 Eric Botcazou <ebotcazou@adacore.com>
2219 * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
2221 (TYPE_RM_VALUES): Likewise.
2222 (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
2223 (SET_TYPE_RM_SIZE): New macro.
2224 (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
2225 (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
2226 (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
2227 * gcc-interface/gigi.h (create_range_type): Declare.
2228 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
2229 Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
2230 <E_Signed_Integer_Subtype>: Build a regular integer type first and
2231 then set the RM bounds. Use SET_TYPE_RM_SIZE to set the RM size.
2232 <E_Floating_Point_Subtype>: Build a regular floating-point type first
2233 and then set the RM bounds.
2234 <E_Array_Type>: Use create_range_type instead of build_range_type.
2235 <E_Array_Subtype>: Build a regular integer type first and then set
2236 the RM bounds for the extra subtype.
2237 <E_String_Literal_Subtype>: Use create_range_type instead of
2239 <all>: Set the RM bounds for enumeration types and the GCC bounds for
2240 floating-point types.
2241 (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
2242 (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
2243 to set the bounds. Use SET_TYPE_RM_SIZE to set the RM size.
2244 (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
2245 types and with RM bounds for subtypes.
2246 * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
2247 (gnat_print_type) <REAL_TYPE>: New case.
2248 <ENUMERAL_TYPE>: Fall through to above case.
2249 (gnat_get_subrange_bounds): New function.
2250 * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
2251 TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
2252 * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
2253 for booleans. Adjust and use SET_TYPE_RM_SIZE to set the RM size.
2254 (create_range_type): New function.
2255 (create_param_decl): Build a regular integer type first and then set
2256 the RM bounds for the extra subtype.
2257 (unchecked_convert): Remove kludge for 'Valid.
2258 * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
2259 the index to sizetype instead of TYPE_DOMAIN.
2261 2009-05-14 Eric Botcazou <ebotcazou@adacore.com>
2263 * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
2264 parameter and move check for static expression to...
2265 (elaborate_expression): ...here. Adjust call to above function.
2266 (gnat_to_gnu_entity): Likewise for all calls. Use correct arguments
2267 in calls to elaborate_expression.
2268 (elaborate_entity): Likewise.
2269 (substitution_list): Likewise.
2270 (maybe_variable): Fix formatting.
2271 (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
2273 * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
2275 2009-05-07 Arnaud Charlet <charlet@adacore.com>
2277 * gcc-interface/Make-lang.in: Update dependencies.
2279 2009-05-06 Laurent GUERBY <laurent@guerby.net>
2281 * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
2282 Define sa_handler_pos.
2283 * s-osinte-linux.ads: Use it.
2284 * s-linux-mipsel.ads: New.
2285 * system-linux-mips64el.ads: New.
2286 * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
2289 2009-05-06 Arnaud Charlet <charlet@adacore.com>
2291 * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
2292 targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
2293 opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
2294 (Tagged_Type_Expansion): New flag.
2295 Replace use of VM_Target related to tagged types expansion by
2296 Tagged_Type_Expansion, since tagged type expansion is not necessarily
2297 linked to VM targets.
2299 2009-05-06 Robert Dewar <dewar@adacore.com>
2301 * sem_attr.adb: Add processing for Standard'Compiler_Version
2303 * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
2305 (Expr_First_Char): Add ??? comment that paren skipping needs work
2306 (Expr_Last_Char): Add ??? comment that paren skipping needs work
2308 * exp_attr.adb: Add processing for Compiler_Version
2310 * sem_attr.adb: New attribute Compiler_Version
2312 * snames.ads-tmpl: Add entries for Compiler_Version attribute
2314 * gnat_rm.texi: Document Compiler_Version attribute
2316 2009-05-06 Robert Dewar <dewar@adacore.com>
2318 * errout.adb: Minor reformatting
2320 * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
2321 sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
2322 styleg.adb: Add stylized comments to error messages that are included
2323 in the codefix circuitry of IDE's such as GPS.
2325 2009-05-06 Sergey Rybin <rybin@adacore.com>
2327 * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
2328 new form of the rule parameter that allows to specify the suffix for
2329 access-to-access type names.
2331 2009-05-06 Robert Dewar <dewar@adacore.com>
2333 * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
2334 out parameter assigned when exception handlers are present.
2336 * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
2337 assignments on exit.
2339 * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
2340 sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
2341 prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
2342 par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
2343 messages that are included in the codefix circuitry of IDE's such as
2346 * sinput.ads, sinput.adb (Expr_First_Char): New function
2347 (Expr_Last_Char): New function
2349 2009-05-06 Sergey Rybin <rybin@adacore.com>
2351 * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
2352 Add formal definition for extra exit point metric
2354 2009-05-06 Pascal Obry <obry@adacore.com>
2356 * adaint.c: Support for setting attributes on unicode filename on
2359 2009-05-06 Robert Dewar <dewar@adacore.com>
2361 * sem_warn.adb: Minor reformatting
2363 2009-05-06 Javier Miranda <miranda@adacore.com>
2365 * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
2366 not have discriminants or components with default expressions.
2367 (Analyze_Pragma): For pragma CPP_Class check that imported types
2368 have no discriminants and components have no default expression.
2370 * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
2371 class-wide types in the expression of a record component association.
2373 2009-05-06 Sergey Rybin <rybin@adacore.com>
2375 * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
2377 * gnat_ugn.texi: Add description for the new extra exit points metric
2378 (gnatmetric section).
2380 2009-05-06 Robert Dewar <dewar@adacore.com>
2382 * s-fileio.adb: Minor comment update
2384 * sem_ch8.adb: Minor reformatting
2386 * exp_ch3.adb: Update comments.
2388 2009-05-06 Tristan Gingold <gingold@adacore.com>
2390 * init.c, s-osinte-darwin.ads: Reduce alternate stack size
2392 2009-05-06 Arnaud Charlet <charlet@adacore.com>
2394 * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
2395 Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
2397 * gcc-interface/Make-lang.in: Update dependencies
2399 2009-05-06 Ed Schonberg <schonberg@adacore.com>
2401 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
2402 change. The context clause of a generic instance declaration must be
2403 preserved until the end of the compilation, because it may have to be
2404 installed/removed repeatedly.
2405 The latest change to sem.adb ensures that the context of both spec and
2406 body of an instance is traversed before the instance itself, making
2407 this patch redundant.
2409 2009-05-06 Gary Dismukes <dismukes@adacore.com>
2411 * sem_aggr.adb: Fix typo.
2413 2009-05-06 Thomas Quinot <quinot@adacore.com>
2415 * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
2416 declaration, do not adjust if the declaration is to be rewritten into
2419 2009-05-06 Ed Schonberg <schonberg@adacore.com>
2421 * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
2424 2009-05-06 Bob Duff <duff@adacore.com>
2426 * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
2427 otherwise the compiler would be allowed to optimize away the cleanup
2430 2009-05-06 Gary Dismukes <dismukes@adacore.com>
2432 * gnat_ugn.texi: Fix typo.
2434 2009-05-06 Thomas Quinot <quinot@adacore.com>
2436 * g-debuti.adb: Minor reformatting
2438 * exp_attr.adb: Minor reformatting
2440 2009-05-06 Robert Dewar <dewar@adacore.com>
2442 * sem_aggr.adb: Minor reformatting.
2444 * g-socthi-vms.adb: Minor reformatting
2446 2009-05-06 Bob Duff <duff@adacore.com>
2448 * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
2449 (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
2451 2009-05-06 Bob Duff <duff@adacore.com>
2453 * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
2456 2009-05-06 Javier Miranda <miranda@adacore.com>
2458 * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
2459 (Resolve_Extension_Aggregate): Do not reject C++ constructors in
2460 extension aggregates.
2461 (Resolve_Record_Aggregate): Add support for C++ constructors in
2462 extension aggregates.
2464 * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
2465 constructors in extension aggregates.
2467 2009-05-06 Robert Dewar <dewar@adacore.com>
2469 * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
2472 2009-05-06 Thomas Quinot <quinot@adacore.com>
2474 * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
2475 packed type, since on OpenVMS, struct msghdr is packed.
2477 2009-05-06 Ed Schonberg <schonberg@adacore.com>
2479 * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
2480 call returning an unconstrained composite value, create the proper
2481 subtype for it, as is done for object dclarations with unconstrained
2482 nominal subtypes. Perform this transformation regarless of whether
2483 call comes from source.
2485 2009-05-06 Robert Dewar <dewar@adacore.com>
2487 * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
2491 Add documentation for pragma Implicit_Packing applied to record
2494 2009-05-06 Ed Schonberg <schonberg@adacore.com>
2496 * sem.adb (Walk_Library_Items): Place all with_clauses of an
2497 instantiation on the spec, because late instance bodies may generate
2498 with_clauses for the instance body but are inserted in the instance
2501 2009-05-06 Emmanuel Briot <briot@adacore.com>
2503 * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
2504 support for returning the directory even if it doesn't exist. This is
2505 used for the object directory, since we are always setting it to a
2506 non-null value, and we should set it to an absolute name rather than a
2507 relative name for the sake of external tools that might depend on it.
2508 (Check_Library_Attributes): When Project.Library_Dir is known, check
2509 that the directory exists.
2511 2009-05-06 Ed Schonberg <schonberg@adacore.com>
2513 * sem_attr.adb (Check_Dereference): If the prefix of an attribute
2514 reference is an implicit dereference, do not freeze the designated type
2515 if within a default expression or when preanalyzing a pre/postcondtion.
2517 2009-05-06 Ed Schonberg <schonberg@adacore.com>
2519 * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
2520 call returning an unconstrained composite value, create the proper
2521 subtype for it, as is done for object dclarations with unconstrained
2524 2009-05-06 Robert Dewar <dewar@adacore.com>
2526 * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
2529 * freeze.adb: Minor reformatting
2531 2009-05-06 Thomas Quinot <quinot@adacore.com>
2533 * sem_ch3.adb (Access_Type_Declaration): An access type whose
2534 designated type is a limited view from a limited with clause (flagged
2535 From_With_Type) is not itself such a limited view.
2537 2009-05-06 Emmanuel Briot <briot@adacore.com>
2539 * prj-nmsc.adb: Remove unused variable.
2541 * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
2542 prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
2543 makeutl.ads, since not all users of prj.ads need this.
2545 2009-05-06 Javier Miranda <miranda@adacore.com>
2547 * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
2548 constructor in case of aggregates whose type is a CPP_Class type.
2550 2009-05-06 Robert Dewar <dewar@adacore.com>
2552 * sem_ch13.adb: Minor comment additions
2554 * osint.adb: Minor reformatting
2556 2009-05-06 Pascal Obry <obry@adacore.com>
2558 * initialize.c: On Windows, keep full pathname to expanded command
2561 2009-05-06 Ed Schonberg <schonberg@adacore.com>
2563 * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
2564 an aggregate with box default is of a discriminated private type, do
2565 not build a subaggregate for it.
2566 A proper call to the initialization procedure is generated for it.
2568 2009-05-06 Thomas Quinot <quinot@adacore.com>
2570 * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
2571 (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
2572 Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
2573 use standard array code for Standard.String.
2574 (Exp_Dist): Bump PolyORB s-parint API version to 3.
2575 (Rtsfind): New entities TA_Std_String, Unbounded_String.
2577 2009-05-06 Robert Dewar <dewar@adacore.com>
2579 * g-comlin.ads: Minor reformatting
2581 * xoscons.adb: Minor reformatting
2583 2009-05-06 Gary Dismukes <dismukes@adacore.com>
2585 * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
2586 Underlying_Type before retrieving the type definition for gathering
2587 components, to account for the case where the type is private.
2589 2009-05-06 Tristan Gingold <gingold@adacore.com>
2591 * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
2593 2009-05-06 Thomas Quinot <quinot@adacore.com>
2595 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
2596 g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
2597 g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
2598 (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
2599 Windows versions): Fix incorrect base
2600 address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
2601 (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
2602 System.Address for the To parameter instead of a Sockaddr_In_Access, to
2603 achieve independance from AF_INET family, and also to allow this
2604 parameter to be retrieved from a Msghdr for the Windows case where
2605 these routines are used to implement C_Sendmsg and C_Recvmsg.
2607 2009-05-06 Bob Duff <duff@adacore.com>
2609 * g-expect.adb, g-expect.ads: Minor reformatting
2611 * sdefault.ads: Minor comment fix
2613 * g-expect-vms.adb: Minor reformatting
2615 * table.ads, table.adb (Append_All): New convenience procedure for
2616 appending a whole array.
2618 * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
2619 box message. Call Osint.Dump_Source_File_Names to print out the file
2620 list, instead of rummaging around in various data structures.
2622 * debug.adb: New switch -gnatd.n, to print source file names as they
2625 * alloc.ads: Add parameters for Osint.File_Name_Chars.
2627 * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
2628 out source file names during a "bug box".
2629 (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
2630 (Read_Source_File): Print out the file name, if requested via -gnatd.n.
2631 If it's not part of the runtimes, store it for later printing by
2632 Dump_Source_File_Names.
2634 2009-05-06 Javier Miranda <miranda@adacore.com>
2636 * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
2637 documentation and add reference to the GNAT user guide for further
2640 2009-05-06 Javier Miranda <miranda@adacore.com>
2642 * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
2643 also wrong examples that use extension aggregates.
2645 2009-05-06 Albert Lee <lee@adacore.com>
2647 * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
2648 of Msg_Iovlen_T for VMS.
2650 2009-05-04 Laurent GUERBY <laurent@guerby.net>
2653 * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
2655 2009-04-29 Ed Schonberg <schonberg@adacore.com>
2657 * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
2658 box-defaulted operator in an instantiation, when the type of the
2659 operands is not directly visible.
2661 2009-04-29 Gary Dismukes <dismukes@adacore.com>
2663 * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
2664 (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
2665 analysis of the ancestor part. Remove prohibition against limited
2666 interpretations of the ancestor expression in the case of Ada 2005.
2667 Revise error message in overloaded case, adding a message to cover
2670 2009-04-29 Thomas Quinot <quinot@adacore.com>
2672 * xoscons.adb: Minor reformatting
2674 2009-04-29 Bob Duff <duff@adacore.com>
2676 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
2677 attribute_definition_clauses for the following attributes when the
2678 -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
2679 Storage_Size, Write. Otherwise, we get spurious errors (for example,
2680 missing Read attribute on remote types).
2682 * gnat_ugn.texi: Document the change, and add a stern warning.
2684 2009-04-29 Ed Schonberg <schonberg@adacore.com>
2686 * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
2687 disabled not just for the current scope, but for the innermost dynamic
2690 2009-04-29 Arnaud Charlet <charlet@adacore.com>
2692 * gcc-interface/Make-lang.in: Update dependencies
2694 2009-04-29 Vincent Celier <celier@adacore.com>
2696 * prj-part.adb: Minor comment update
2698 2009-04-29 Ed Schonberg <schonberg@adacore.com>
2700 * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
2701 box-initialized records with discriminated subcomponents that are
2702 constrained by discriminants of enclosing components. New subsidiary
2703 procedures Add_Discriminant_Values, Propagate_Discriminants.
2705 2009-04-29 Arnaud Charlet <charlet@adacore.com>
2707 * g-socket.adb: Code clean up.
2709 2009-04-29 Gary Dismukes <dismukes@adacore.com>
2711 * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
2712 function entity, to cover the case of a parameterless function call
2713 that has not been resolved.
2715 2009-04-29 Robert Dewar <dewar@adacore.com>
2717 * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
2718 reformatting and comment updates.
2720 2009-04-29 Arnaud Charlet <charlet@adacore.com>
2722 * gnat_ugn.texi: Update some documentation about interfacing with C++
2723 Mention -fkeep-inline-functions.
2725 * gnat_ugn.texi: Minor edits
2727 2009-04-29 Ed Schonberg <schonberg@adacore.com>
2729 * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
2730 for a defaulted component of an enclosing aggregate, inherit the type
2731 from the component declaration of the enclosing type.
2733 2009-04-29 Albert Lee <lee@adacore.com>
2735 * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
2736 g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
2737 (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
2738 msg_iovlen field in struct msghdr is 32 or 64 bits wide.
2739 Relocate the Msghdr record type from GNAT.Sockets.Thin to
2740 GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
2741 type for the Msg_Iovlen field.
2743 2009-04-29 Vincent Celier <celier@adacore.com>
2745 * sinput-l.adb (Load_File): When preprocessing, set temporarily the
2746 Source_File_Index_Table entries for the source, to avoid crash when
2749 * gnatcmd.adb (Test_If_Relative_Path): Use
2750 Makeutl.Test_If_Relative_Path.
2752 * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
2753 Including_RTS is True.
2755 * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
2756 Including_RTS defaulted to False.
2758 * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
2761 2009-04-29 Javier Miranda <miranda@adacore.com>
2763 * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
2765 2009-04-29 Javier Miranda <miranda@adacore.com>
2767 * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
2768 associated with dyamically tagged expressions if the expression
2769 initializing a tagged type corresponds with a non default CPP
2771 (OK_For_Limited_Init): CPP constructor calls are OK for initialization
2772 of limited type objects.
2774 * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
2775 when a CPP constructor is called in an assignment. Disable also the
2776 error message associated with dyamically tagged expressions if the
2777 exporession initializing a tagged type corresponds with a non default
2780 * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
2781 non-default C++ constructors.
2783 * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
2785 * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
2786 non-default constructors.
2787 (Init_Proc): Add support for non-default constructors.
2789 * exp_disp.adb (Set_Default_Constructor): Removed.
2790 (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
2791 but extending its functionality to handle non-default constructors.
2793 * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
2794 constructors. Minor code cleanup removing unrequired label and goto
2797 * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
2799 (Build_Init_Statements): Add support for non-default constructors.
2800 (Expand_N_Object_Declaration): Add support for non-default constructors.
2801 (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
2802 to Set_CPP_Constructors.
2804 * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
2805 non-default constructors.
2806 Required to handle its use in build-in-place statements.
2808 * gnat_rm.texi (CPP_Constructor): Document new extended use of this
2809 pragma for non-default C++ constructors and the new compiler support
2810 that allows the use of these constructors in record components, limited
2811 aggregates, and extended return statements.
2813 2009-04-29 Vincent Celier <celier@adacore.com>
2815 * prj-part.adb (Parse_Single_Project): Do not attempt to find a
2816 project extending an abstract project.
2818 2009-04-29 Eric Botcazou <ebotcazou@adacore.com>
2820 * targparm.ads: Fix oversight.
2822 2009-04-29 Ed Schonberg <schonberg@adacore.com>
2824 * lib-xref.adb (Output_Overridden_Op): Follow several levels of
2825 derivation when necessary, to find the user-subprogram that is actally
2828 2009-04-29 Robert Dewar <dewar@adacore.com>
2830 * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
2833 2009-04-29 Ed Schonberg <schonberg@adacore.com>
2835 * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
2836 primitive operation, rather than source line of synchronized type, when
2837 building the wrapper for a primitive operation that overrides an
2838 operation inherited from a progenitor, to improve the error message on
2839 duplicate declarations.
2841 * sem_ch3.adb (Process_Full_View): Use new signature of
2844 2009-04-29 Robert Dewar <dewar@adacore.com>
2846 * prj-nmsc.ads: Minor reformatting
2848 2009-04-29 Eric Botcazou <ebotcazou@adacore.com>
2850 * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
2851 expression on the existing parent If statement.
2853 2009-04-29 Robert Dewar <dewar@adacore.com>
2855 * prj-proc.adb, prj.ads: Minor reformatting
2857 2009-04-29 Eric Botcazou <ebotcazou@adacore.com>
2859 * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
2860 existing parent If statement on the newly created one.
2862 2009-04-29 Emmanuel Briot <briot@adacore.com>
2864 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
2865 prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
2866 prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
2867 (Set_In_Configuration, In_Configuration): Removed.
2868 Replaced by an extra parameter Is_Config_File in several parameter to
2869 avoid global variables to store the state of the parser.
2871 2009-04-29 Ed Schonberg <schonberg@adacore.com>
2873 * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
2874 with_clauses generated for the same unit through rtsfind, and that
2875 appear in the context of different units.
2877 * rtsfind.adb: New attribute First_Implicit_With, component of the
2878 Unit_Record that stores information about a unit loaded through rtsfind.
2880 2009-04-29 Gary Dismukes <dismukes@adacore.com>
2882 * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
2883 (other conditions permitting), so that abstract stream subprograms will
2884 be declared for them.
2886 2009-04-29 Bob Duff <duff@adacore.com>
2888 * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
2890 * g-expect.ads: Minor comment fixes.
2892 2009-04-29 Ed Schonberg <schonberg@adacore.com>
2894 * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
2895 dispatching operation is a body without previous spec, update the list
2896 of primitive operations to ensure that cross-reference information is
2899 2009-04-29 Albert Lee <lee@adacore.com>
2901 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
2902 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
2903 g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
2904 (GNAT.Sockets.Thin.C_Readv,
2905 GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
2906 (GNAT.Sockets.Thin.C_Recvmsg,
2907 GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
2909 (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
2910 C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
2912 2009-04-29 Ed Schonberg <schonberg@adacore.com>
2914 * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
2915 operation is a body without previous spec, update the list of
2916 primitive operations to ensure that cross-reference information is
2919 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
2920 new compilation unit node for the instance declaration, keep the
2921 context items of the original unit on it, so that the context of the
2922 instance body only holds the context inherited from the generic body.
2924 2009-04-29 Bob Duff <duff@adacore.com>
2926 * sem_res.adb: Minor comment fix.
2928 2009-04-29 Thomas Quinot <quinot@adacore.com>
2930 * sem_elim.adb: Minor reformatting
2932 2009-04-29 Ed Schonberg <schonberg@adacore.com>
2934 * exp_aggr.adb (Convert_To_Positional): if the current unit is a
2935 predefined unit, allow arbitrary number of components in static
2936 aggregate, to ensure that the same level of constant folding applies
2937 for Ada 95 and Ada 05 versions of the file.
2939 2009-04-29 Ed Schonberg <schonberg@adacore.com>
2941 * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
2942 information: no need for full scope check.
2943 (Eliminate_Error): Do not emit error in a generic context.
2945 2009-04-29 Ed Falis <falis@adacore.com>
2947 * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
2948 VxWorks 653 POS does not support rmdir.
2950 2009-04-29 Matteo Bordin <bordin@adacore.com>
2952 * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
2953 results are printed.
2955 2009-04-29 Arnaud Charlet <charlet@adacore.com>
2957 * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
2960 2009-04-29 Thomas Quinot <quinot@adacore.com>
2962 * make.adb: Minor reformatting.
2963 Minor code reorganization throughout.
2965 2009-04-29 Matteo Bordin <bordin@adacore.com>
2967 * s-stausa.ads: Changed visibility of type Task_Result: moved to
2968 public part to give application visibility over it.
2969 This is for future improvement and to build a public API on top of it.
2970 Changed record components name of type Task_Result to reflect the new
2973 * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
2974 reporting Stack usage.
2976 * gnat_ugn.texi: Update doc of stack usage report.
2978 * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
2980 * Makefile.rtl: Add new run-time files.
2982 2009-04-29 Pascal Obry <obry@adacore.com>
2984 * initialize.c: Do not expand quoted arguments.
2986 2009-04-29 Emmanuel Briot <briot@adacore.com>
2988 * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
2990 * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
2991 Prj.Ultimate_Extending_Project_Of
2993 2009-04-29 Ed Schonberg <schonberg@adacore.com>
2995 * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
2996 Amendment type, add the with_clause for Finalization.List_Controller
2997 only if the current context is a package body.
2999 2009-04-29 Thomas Quinot <quinot@adacore.com>
3001 * sem_ch12.adb: Minor reformatting
3003 * sem_aggr.adb: Minor reformatting
3005 * sem_ch6.adb, sem_cat.ads: Minor reformatting
3007 * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
3009 2009-04-29 Quentin Ochem <ochem@adacore.com>
3011 * prj.ads (Source_Id): Now general pointer type.
3013 2009-04-29 Thomas Quinot <quinot@adacore.com>
3015 * exp_ch7.adb, rtsfind.adb: Minor reformatting
3017 * sem_res.adb: Minor reformatting
3019 2009-04-29 Thomas Quinot <quinot@adacore.com>
3021 * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
3022 operands is static only if it is a predefined concatenation operator.
3024 * sem_util.adb: Minor reformatting
3026 * sem_ch12.adb (Save_References): When propagating semantic information
3027 from generic copy back to generic template, for the case of an
3028 identifier that has been rewritten to an explicit dereference whose
3029 prefix is either an object name or a parameterless funcion call
3030 denoting a global object or function, properly capture the denoted
3031 global entity: perform the corresponding rewriting in the template,
3032 and point the rewritten identifier to the correct global entity (not
3033 to the associated identifier in the generic copy).
3035 2009-04-29 Robert Dewar <dewar@adacore.com>
3037 * rtsfind.adb, prj-env.adb: Minor reformatting
3038 Minor code reorganization
3040 2009-04-29 Emmanuel Briot <briot@adacore.com>
3042 * make.adb: Fix comment
3044 * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
3045 is given as argument, as might happen in gnatmake.
3047 2009-04-29 Ed Schonberg <schonberg@adacore.com>
3049 * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
3050 an abstract operation of a progenitor is not properly overridden by an
3051 operation of a derived synchronized type.
3053 2009-04-29 Robert Dewar <dewar@adacore.com>
3055 * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
3056 prj-proc.adb: Minor reformatting
3057 Minor code reorganization
3059 2009-04-29 Bob Duff <duff@adacore.com>
3061 * exp_ch7.adb (Build_Final_List): For an access type that designates a
3062 Taft Amendment type, if the access type needs finalization, make sure
3063 the implicit with clause for List_Controller occurs on the package spec.
3065 * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
3066 with's created for the pseudo-children of Text_IO and friends. In
3067 particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
3068 Ada.Text_IO.Integer_IO both with-ing each other.
3070 * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
3071 oddball cases when pragma Extend_System is used.
3073 * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
3074 the case where a package spec instantiates a generic whose body with's
3075 this package, so Walk_Library_Items won't complain about cyclic with's.
3077 2009-04-29 Emmanuel Briot <briot@adacore.com>
3079 * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
3080 prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
3081 mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
3082 (Project_Id): now a real pointer to Project_Data, instead of an index
3083 into the Projects_Table. This simplifies the API significantly, avoiding
3084 extra lookups in this table and the need to pass the Project_Tree_Ref
3085 parameter in several cases
3087 2009-04-29 Nicolas Setton <setton@adacore.com>
3089 * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
3092 2009-04-25 Eric Botcazou <ebotcazou@adacore.com>
3094 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
3097 2009-04-24 Robert Dewar <dewar@adacore.com>
3099 * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
3100 clean.adb: Minor reformatting.
3101 Minor code reorganization and message improvement.
3103 2009-04-24 Emmanuel Briot <briot@adacore.com>
3105 * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
3106 (Alternate_Languages): now implemented as a malloc-ed list rather
3107 than through a table.
3109 2009-04-24 Thomas Quinot <quinot@adacore.com>
3111 * sem_res.adb (Static_Concatenation): Simplify predicate to make it
3112 accurately handle cases such as "lit" & "lit" and
3113 "lit" & static_string_constant
3115 2009-04-24 Emmanuel Briot <briot@adacore.com>
3117 * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
3118 prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
3119 removed. Lists of projects are now implemented via standard malloc
3120 rather than through the table.
3122 2009-04-24 Thomas Quinot <quinot@adacore.com>
3124 * sem_ch12.adb: Minor reformatting
3126 * g-trasym.adb: Minor reformatting
3128 * exp_ch6.adb: Minor reformatting
3130 2009-04-24 Robert Dewar <dewar@adacore.com>
3132 * layout.adb (Layout_Type): For packed array type, copy unset
3133 size/alignment fields from the referenced Packed_Array_Type.
3135 2009-04-24 Bob Duff <duff@adacore.com>
3137 * lib-load.adb (Make_Instance_Unit): Revert previous change, no
3138 longer needed after sem_ch12 changes.
3140 * sem.adb (Walk_Library_Items): Include with's in some debugging
3143 2009-04-24 Emmanuel Briot <briot@adacore.com>
3145 * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
3146 only ever using the Project field.
3148 2009-04-24 Ed Schonberg <schonberg@adacore.com>
3150 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
3151 Body_Required on the generated compilation node. The new node is linked
3152 to its body, but both share the same file, so we do not set this flag
3153 on the new unit so as not to create a spurious dependency on a
3154 non-existent body in the ali file for the instance.
3156 2009-04-24 Robert Dewar <dewar@adacore.com>
3158 * make.adb: Minor reformatting
3160 2009-04-24 Emmanuel Briot <briot@adacore.com>
3162 * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
3163 Add_Source): merge some code between those. In particular change where
3164 file normalization is done to avoid a few extra calls to
3165 Canonicalize_File_Name. This also removes the need for passing
3166 Current_Dir in a number of subprograms.
3168 2009-04-24 Bob Duff <duff@adacore.com>
3170 * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
3171 False, assign the correct unit to the Cunit field of the new table
3172 entry. We want the spec unit, not the body unit.
3174 * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
3175 interface for these.
3176 (Maybe_Add_With): Check whether we're trying to a with on the current
3177 unit, and avoid creating such directly self-referential with clauses.
3178 (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
3179 [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
3180 and matches existing comments in the spec.
3182 * sem.adb (Walk_Library_Items): Add various special cases to make the
3185 * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
3186 instead of Parent (N), for uniformity.
3188 2009-04-24 Robert Dewar <dewar@adacore.com>
3190 * errout.ads: Minor reformatting
3192 2009-04-24 Emmanuel Briot <briot@adacore.com>
3194 * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
3195 behavior when the project includes sources from multiple languages
3197 2009-04-24 Vincent Celier <celier@adacore.com>
3199 * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
3200 is a language other than Ada declared.
3202 * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
3203 Imported_First set to True.
3205 2009-04-24 Ed Schonberg <schonberg@adacore.com>
3207 * sem_res.adb: additional optimization to inhibit creation of
3208 redundant transient scopes.
3210 2009-04-24 Bob Duff <duff@adacore.com>
3212 * rtsfind.ads: Minor comment fix
3214 2009-04-24 Emmanuel Briot <briot@adacore.com>
3216 * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
3217 Get_Path_Name_And_Record_Ada_Sources): merged, since these were
3218 basically doing the same work (for explicit or implicit sources).
3219 (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
3220 role. Rewritten to share some code (testing that all explicit sources
3221 have been found) between ada_only and multi_language modes.
3223 2009-04-24 Jerome Lambourg <lambourg@adacore.com>
3225 * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
3226 for CLI imported types.
3227 (Analyze_Pragma): Allow CIL or Java imported functions returning
3228 access-to-subprogram types.
3230 2009-04-24 Emmanuel Briot <briot@adacore.com>
3232 * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
3233 (Project_Data.Dir_Path): field removed, since it can be computed
3234 directly from .Directory, and is needed only once when processing the
3235 project is buildgpr.adb or make.adb
3237 2009-04-24 Robert Dewar <dewar@adacore.com>
3239 * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
3240 rtsfind.adb: Minor reformatting.
3241 Minor code reorganization
3243 2009-04-24 Arnaud Charlet <charlet@adacore.com>
3245 * mlib-prj.adb: Use friendlier english identifier.
3247 * gnatcmd.adb, make.adb: Use better english identifiers.
3249 2009-04-24 Robert Dewar <dewar@adacore.com>
3251 * clean.adb: Minor reformatting
3253 2009-04-24 Robert Dewar <dewar@adacore.com>
3255 * einfo.adb (OK_To_Rename): New flag
3257 * einfo.ads (OK_To_Rename): New flag
3259 * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
3262 * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
3264 * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
3267 2009-04-24 Emmanuel Briot <briot@adacore.com>
3269 * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
3270 clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
3271 field removed. This is not a property of the
3272 project, just a boolean used to traverse the project tree, and storing
3273 it in the structure prevents doing multiple traversal in parallel.
3274 (Project_Data.Checked): also removed, since it was playing the same role
3275 as Seen when we had two nested loops, and this is no longer necessary
3276 (For_All_Imported_Projects): removed, since in fact there was already
3277 the equivalent in For_Every_Project_Imported. The latter was rewritten
3278 to use a local hash table instead of Project_Data.Seen
3279 Various loops were rewritten to use For_Every_Project_Imported, thus
3280 removing the need for Project_Data.Seen. This avoids a lot of code
3283 2009-04-24 Ed Schonberg <schonberg@adacore.com>
3285 * sem_res.adb (Resolve_Actuals): Do not create blocks around code
3286 statements, even though the actual of the call is a concatenation,
3287 because the argument is static, and we want to preserve warning
3288 messages about sequences of code statements that are not marked
3291 * sem_warn.adb: remove obsolete comment about warning being obsolete
3293 * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
3294 requeued and the delay has expired while within the accept statement
3295 that executes the requeue, do not perform the requeue and indicate that
3296 the timed call has been aborted.
3298 2009-04-24 Emmanuel Briot <briot@adacore.com>
3300 * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
3301 (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
3302 (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
3303 since they can be computed from the above.
3305 2009-04-24 Vincent Celier <celier@adacore.com>
3307 * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
3309 * prj-env.adb: Move all global variables to the private part of the
3311 Access these new components instead of the global variables no longer
3313 (Add_To_Path): New Project_Tree_Ref parameter, to access the new
3314 components that were previously global variables.
3316 * prj-env.ads (Initialize): New Project_Tree_Ref parameter
3317 (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
3320 * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
3321 be able to call Set_Mapping_File_Initial_State_To_Empty with it.
3323 * prj.adb (Initialize): Do not call Prj.Env.Initialize
3324 (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
3325 components in the private part of the project tree data.
3327 * prj.ads (Private_Project_Tree_Data): new components moved from
3328 Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
3329 Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
3330 Ada_Prj_Objects_File_Set, Fill_Mapping_File.
3332 2009-04-24 Vincent Celier <celier@adacore.com>
3334 * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
3336 * prj-nmsc.adb (Check_Library): No error for imports by shared library
3337 projects, when --unchecked-shared-lib-imports is used.
3339 2009-04-24 Robert Dewar <dewar@adacore.com>
3341 * sem_ch7.adb: Minor reformatting
3343 2009-04-24 Tristan Gingold <gingold@adacore.com>
3345 * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
3348 2009-04-24 Emmanuel Briot <briot@adacore.com>
3350 * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
3351 Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
3352 (For_All_Imported_Projects): new procedure
3353 (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
3354 above rather than duplicating code.
3356 2009-04-24 Emmanuel Briot <briot@adacore.com>
3358 * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
3359 (Source_Id, Source_Data): use a real list to store sources rather than
3360 using an external table to store the elements. This makes code more
3361 efficient and more readable.
3363 2009-04-24 Emmanuel Briot <briot@adacore.com>
3365 * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
3366 (Source_Iterator): new type.
3367 This removes the need for having the sources on three different
3368 lists at the project tree, project and language level. They are now
3371 2009-04-24 Emmanuel Briot <briot@adacore.com>
3373 * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
3375 2009-04-24 Ed Schonberg <schonberg@adacore.com>
3377 * sem_warn.adb: Add comment on obsolete warning
3379 2009-04-24 Arnaud Charlet <charlet@adacore.com>
3381 * s-tassta.adb (Create_Task): Fix violation of locking rule.
3383 2009-04-24 Emmanuel Briot <briot@adacore.com>
3385 * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
3386 to Language_Ptr to better reflect its new implementation.
3387 (Project_Data.First_Languages_Processing): renamed to Languages now
3388 that the field with that name is no longer used
3389 (Project_Data.Languages): removed, no longer used, and duplicates
3390 information already available through First_Language_Processing.
3391 (Prj.Language_Index): now an actual pointer, instead of an index into
3392 a table. This makes the list somewhat more obvious, but more importantly
3393 removes the need to pass a pointer to the project_tree_data in a few
3394 places, and makes accessing the attributes of a languages more
3397 2009-04-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3398 Thomas Quinot <quinot@adacore.com>
3400 * fe.h (Set_Identifier_Casing): Add const to second parameter.
3401 * gcc-interface/misc.c (internal_error_function): Make copy of return
3402 from pp_formatted_text before assigning BUFFER to it.
3403 (gnat_init): Likewise for main_input_filename and gnat_argv.
3404 (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
3406 2009-04-24 Eric Botcazou <ebotcazou@adacore.com>
3408 * ttypes.ads (Target_Double_Float_Alignment): New variable.
3409 (Target_Double_Scalar_Alignment): Likewise.
3410 * get_targ.ads (Get_Strict_Alignment): Adjust external name.
3411 (Get_Double_Float_Alignment): New imported function.
3412 (Get_Double_Scalar_Alignment): Likewise.
3413 * layout.adb (Set_Elem_Alignment): Take into account specific caps for
3414 the alignment of "double" floating-point types and "double" or larger
3415 scalar types, as parameterized by Target_Double_Float_Alignment and
3416 Target_Double_Scalar_Alignment respectively.
3417 * gcc-interface/gigi.h (double_float_alignment): Declare.
3418 (double_scalar_alignment): Likewise.
3419 (is_double_float_or_array): Likewise.
3420 (is_double_scalar_or_array): Likewise.
3421 (get_target_double_float_alignment): Likewise.
3422 (get_target_double_scalar_alignment): Likewise.
3423 * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
3424 (get_target_strict_alignment): ...this.
3425 (get_target_double_float_alignment): New function.
3426 (get_target_double_scalar_alignment): Likewise.
3427 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
3428 Test the presence of an alignment clause for under-aligned integer
3429 types. Take into account specific caps for the alignment of "double"
3430 floating-point types and "double" or larger scalar types, as
3431 parameterized by Target_Double_Float_Alignment and
3432 Target_Double_Scalar_Alignment respectively.
3433 (validate_alignment): Likewise.
3434 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
3435 (gigi): Initialize double_float_alignment and double_scalar_alignment.
3436 * gcc-interface/utils.c (double_float_alignment): New global variable.
3437 (double_scalar_alignment): Likewise.
3438 (is_double_float_or_array): New predicate.
3439 (is_double_scalar_or_array): Likewise.
3441 2009-04-24 Eric Botcazou <ebotcazou@adacore.com>
3443 * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
3444 the conditional expression only if it is common to both arms.
3446 2009-04-24 Eric Botcazou <ebotcazou@adacore.com>
3448 * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
3449 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
3450 arguments to build_allocator.
3451 * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
3452 Remove code handling special allocator and assert its uselessness.
3454 2009-04-24 Eric Botcazou <ebotcazou@adacore.com>
3456 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
3457 alignment is specified, do not promote that of the component type
3459 <E_Array_Subtype>: Likewise.
3461 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
3463 * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
3464 * sinfo.ads (Object Declaration): Likewise.
3465 (Assignment Statement): Likewise.
3466 * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
3467 Do not force Is_True_Constant to false on the temporary.
3468 (Freeze_Entity): Do not force Is_True_Constant to false on names on
3469 the RHS of object declarations.
3470 * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
3471 New case. Return 1 if the object is atomic.
3472 <N_Assignment_Statement>: Likewise.
3474 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
3476 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
3477 For packed array types, make the original array type a parallel type
3478 for the modular type and its JM wrapper if the type is bit-packed.
3479 <E_Array_Subtype>: Likewise. Do not generate the special XA parallel
3480 record type for packed array types. Remove kludge.
3482 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
3484 * gcc-interface/gigi.h (create_index_type): Adjust head comment.
3485 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
3486 Use front-end predicates to compute signedness and precision.
3487 <E_String_Literal_Subtype>: Fold range type.
3488 Make sure to set longest_float_type_node to a scalar type.
3489 (elaborate_entity): Use consistent Constraint_Error spelling.
3490 (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
3491 * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
3492 output for the modulus, if any.
3493 <ENUMERAL_TYPE>: Likewise for the RM size.
3494 * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
3496 * gcc-interface/utils.c (finish_record_type): Really test the alignment
3497 of BLKmode bit-fields to compute their addressability.
3498 (create_index_type): Adjust comments.
3499 (create_param_decl): Create the biased subtype manually.
3500 * gcc-interface/utils2.c (build_component_ref): Use consistent
3501 Constraint_Error spelling.
3503 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
3505 * gcc-interface/cuintp.c: Clean up include directives.
3506 * gcc-interface/targtyps.c: Likewise.
3507 * gcc-interface/decl.c: Likewise.
3508 * gcc-interface/misc.c: Likewise.
3509 * gcc-interface/trans.c: Likewise.
3510 * gcc-interface/utils.c: Likewise.
3511 * gcc-interface/utils2.c: Likewise.
3512 * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
3514 2009-04-23 Eric Botcazou <ebotcazou@adacore.com>
3516 * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
3517 (SET_TYPE_LANG_SPECIFIC): Likewise. Fix formatting.
3518 (SET_DECL_LANG_SPECIFIC): Likewise.
3520 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
3521 Update comment about use of build_range_type.
3522 <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
3523 <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
3524 check for other cases of overloading.
3525 * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
3526 * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
3527 Use size_int in lieu of build_int_cst.
3528 (build_call_alloc_dealloc): Use build_index_2_type in lieu of
3531 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
3533 * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
3534 type is an enumeral or a boolean type, change it to an integer type
3535 with the same mode and signedness.
3537 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
3539 * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
3540 for an external constant whose initializer is not absolute.
3542 2009-04-22 Taras Glek <tglek@mozilla.com>
3544 * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
3545 * gcc-interface/trans.c: Likewise.
3546 * gcc-interface/utils.c: Likewise.
3548 2009-04-22 Ed Schonberg <schonberg@adacore.com>
3550 * sem_res.adb: Create block around procedure call when actual is a
3553 2009-04-22 Thomas Quinot <quinot@adacore.com>
3555 * s-soflin.ads: Fix typos
3557 2009-04-22 Vincent Celier <celier@adacore.com>
3559 * prj-env.adb: Minor comment change
3561 * prj-nmsc.adb (Check_Common): Add guard to avoid calling
3562 Get_Name_String with No_File.
3564 * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
3565 cannot be created even when not in verbose mode.
3567 2009-04-22 Emmanuel Briot <briot@adacore.com>
3569 * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
3570 prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
3571 Multi_Language modes, to avoid code duplication.
3572 (Project_Data.Include_Language): Removed.
3574 2009-04-22 Vincent Celier <celier@adacore.com>
3576 * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
3577 the temporary file cannot be created, indicating the directory when the
3578 creation was attempted.
3580 2009-04-22 Emmanuel Briot <briot@adacore.com>
3582 * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
3583 the language names, not their indices.
3585 2009-04-22 Emmanuel Briot <briot@adacore.com>
3587 * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
3588 (Source_Data.Language_Name): Field removed.
3590 2009-04-22 Emmanuel Briot <briot@adacore.com>
3592 * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
3595 2009-04-22 Emmanuel Briot <briot@adacore.com>
3597 * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
3598 separate_suffix to the same value as the body_suffix.
3600 2009-04-22 Robert Dewar <dewar@adacore.com>
3602 * prj.adb: Minor code reorganization
3605 * prj-proc.adb: Minor code reorganization, clean up.
3607 * prj-nmsc.adb: Minor reformatting
3608 Minor code reorganization
3610 * gnat_ugn.texi: Add to doc on strict aliasing
3612 2009-04-22 Pascal Obry <obry@adacore.com>
3614 * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
3617 * s-tasini.adb: Minor reformatting.
3619 * s-tassta.adb: Minor reformatting.
3621 2009-04-22 Emmanuel Briot <briot@adacore.com>
3623 * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
3624 smaller subprograms.
3625 Renamed to Check_File_Naming_Schemes to avoid confusion with the
3626 other Check_Naming_Schemes functions that plays a totally different
3628 (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
3629 extracted from the above. These were partially rewritten to avoid
3630 unnecessary code and temporary variables.
3631 (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
3632 and Get_Unit (which for now still exist since they contain mode-specific
3635 2009-04-22 Emmanuel Briot <briot@adacore.com>
3637 * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
3638 Remove duplicated code.
3639 (Canonical_Case_File_Name): new subprogram
3640 (Check_And_Normalize_Unit_Names): new subprogram
3641 (Write_Attr): new subprogram
3642 Better sharing of code
3643 (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
3644 split Check_Naming and help find duplicated code
3645 (Check_Common): new subprogram, sharing code between ada_only and
3646 multi_language mode.
3647 (Naming_Data.Dot_Repl_Loc): field removed
3649 2009-04-22 Emmanuel Briot <briot@adacore.com>
3651 * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
3652 Minor refactoring to reduce the size of
3653 Process_Sources_In_Multi_Language_Mode.
3654 Avoid extra copied of Source_Data, which we found in the past could be
3656 (Mark_Excluded_Sources): new subprogram.
3657 (Remove_Locally_Removed_Files_From_Units): merged into the above
3658 Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
3659 and allow better sharing of code between multi_lang and ada_only modes
3660 (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
3662 2009-04-22 Emmanuel Briot <briot@adacore.com>
3664 * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
3665 Removed, since unused.
3667 2009-04-22 Vincent Celier <celier@adacore.com>
3669 * prj-attr.adb: New single project level attribute
3670 Separate_Run_Path_Options.
3672 * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
3673 attribute Seperate_Run_Path_Options.
3675 * prj.ads: (Project_Configuration): New Boolean component
3676 Separate_Run_Path_Options, defaulted to False.
3678 * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
3680 2009-04-22 Robert Dewar <dewar@adacore.com>
3682 * sem_type.adb: Minor reformatting
3684 * mlib.adb: Minor reformatting
3686 * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
3689 2009-04-22 Nicolas Setton <setton@adacore.com>
3691 * link.c: Add flag __gnat_separate_run_path_options.
3693 * mlib.adb (Separate_Run_Path_Options): New subprogram.
3695 * mlib.ads (Separate_Run_Path_Options): Declare.
3697 * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
3698 switch per directory, rather than one "rpath" switch listing all
3701 * gnatlink.adb (Process_Binder_File): Likewise.
3703 * make.adb (Gnatmake): Likewise.
3705 2009-04-22 Hristian Kirtchev <kirtchev@adacore.com>
3707 * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
3708 Add a call to Move_Final_List when the target of the assignment is a
3709 return object that needs finalization and the expression is a
3710 controlled build-in-place function.
3712 2009-04-22 Vincent Celier <celier@adacore.com>
3714 * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
3715 Including_Libraries set to True.
3717 2009-04-22 Ed Schonberg <schonberg@adacore.com>
3719 * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
3720 create a unit table entry for the subprogram declaration created for a
3721 child suprogram body that has no separate specification.
3723 * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
3724 subprogram body, call Make_Child_Decl_Unit.
3726 * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
3727 table can only be the created specification of a child subprogram body
3728 that is the main unit, which has not been entered in the table yet.
3730 * errout.adb (Output_Messages): Ignore created specification of a
3731 child subprogram body to prevent repeated listing of error messages.
3733 * gnat1drv.adb (gnat1drv): The generated specification for a child
3734 subprogram body does not generate code.
3736 2009-04-22 Arnaud Charlet <charlet@adacore.com>
3738 * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
3739 since this unit is now part of bootstrap units, so must use Ada 95
3742 2009-04-22 Thomas Quinot <quinot@adacore.com>
3744 * a-tasatt.adb: Minor reformatting
3746 2009-04-22 Bob Duff <duff@adacore.com>
3748 * s-stalib.ads: Remove "with System;" since we're inside System, so
3751 2009-04-22 Vincent Celier <celier@adacore.com>
3753 * prj-nmsc.adb (Add_Source): Always put the dependency file name in
3754 the source record, as there may be a dependency file even if no object
3757 2009-04-22 Robert Dewar <dewar@adacore.com>
3759 * lib-load.adb: Minor reformatting
3761 * lib-load.ads: Minor reformatting
3763 * sinfo.ads: Minor reformatting
3765 2009-04-22 Bob Duff <duff@adacore.com>
3767 * exp_pakd.adb: Minor comment fixes.
3769 * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
3770 sem_ch12.adb: Change the meaning of the Library_Unit attribute to
3771 include units containing instantiations, as well as units that are
3772 generic instantiations.
3774 * sem.adb: Include dependents and corresponding specs/bodies in the
3777 * gcc-interface/Make-lang.in:
3778 sem now depends on s-bitops, because of the packed array of Booleans.
3780 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
3782 * gcc-interface/ada-tree.def: Fix formatting nits.
3783 (REGION_STMT): Delete.
3784 (HANDLER_STMT): Likewise.
3785 * gcc-interface/ada-tree.h: Fix formatting nits.
3787 (REGION_STMT_BODY): Likewise.
3788 (REGION_STMT_HANDLE): Likewise.
3789 (REGION_STMT_BLOCK): Likewise.
3790 (HANDLER_STMT_ARG): Likewise.
3791 (HANDLER_STMT_LIST): Likewise.
3792 (HANDLER_STMT_BLOCK): Likewise.
3793 * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
3794 (fp_size_to_prec): Likewise.
3795 (largest_move_alignment): Delete.
3796 (gnat_compute_largest_alignment): Likewise.
3798 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
3799 Remove redundant code.
3800 <E_Array_Type>: Remove redundant assert.
3801 <E_Array_Subtype>: Exit early from index computation in pathological
3803 Rewrite conditional assignment.
3804 (make_type_from_size): Likewise.
3805 * gcc-interface/misc.c (largest_move_alignment): Delete.
3806 (gnat_finish_incomplete_decl): Likewise.
3807 (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
3808 (asm_out_file): Likewise
3809 (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
3810 (gnat_dwarf_name): Move around.
3811 * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
3812 (gigi): Remove call to gnat_compute_largest_alignment.
3813 * utils.c (create_field_decl): Rewrite conditional assignment.
3816 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
3818 * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
3819 on entry. Defer common processing for types. Reorder and clean up.
3820 Compute the equivalent GNAT node and the default size for types only.
3821 <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
3822 <E_Access_Type>: For an unconstrained designated type, do not pretend
3823 that a dummy type is always made.
3824 <all> Fix nits in comments.
3825 (validate_size): Fix formatting nits and comments.
3826 (set_rm_size): Likewise.
3827 * gcc-interface/utils.c (create_param_decl): Replace bogus argument
3828 passed to TARGET_PROMOTE_PROTOTYPES hook.
3830 2009-04-22 Eric Botcazou <ebotcazou@adacore.com>
3832 * fe.h (Get_External_Name): Declare.
3833 * gcc-interface/gigi.h (concat_id_with_name): Rename to...
3834 (concat_name): ...this.
3835 * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
3836 gnu_entity_name and adjust for above renaming.
3837 <E_Access_Type>: Use create_concat_name to get the name of the various
3838 types associated with unconstrained array types.
3839 (make_aligning_type): Adjust for above renaming.
3840 (maybe_pad_type): Likewise.
3841 (components_to_record): Likewise. Use get_identifier_with_length for
3842 the encoding of the variant.
3843 (get_entity_name): Use get_identifier_with_length.
3844 (create_concat_name): Likewise. Use Get_External_Name if no suffix.
3845 Do not fiddle with Name_Buffer.
3846 (concat_id_with_name): Rename to...
3847 (concat_name): ...this. Use get_identifier_with_length. Do not fiddle
3849 * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
3852 2009-04-21 Joseph Myers <joseph@codesourcery.com>
3854 * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
3857 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
3859 * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
3861 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
3863 * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
3864 (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
3865 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
3866 Remove useless support code for packed array types and assert its
3868 <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
3869 adjust for TYPE_RM_SIZE change.
3870 <all> Fix nits in comments. Use Original_Array_Type accessor instead
3871 of Associated_Node_For_Itype accessor for packed array types.
3872 (make_packable_type): Likewise.
3873 (maybe_pad_type): Likewise.
3874 (set_rm_size): Likewise. Rework conditional statement. Adjust for
3875 TYPE_RM_SIZE change.
3876 (make_type_from_size): Adjust for TYPE_RM_SIZE change.
3877 (rm_size): Fix nits in comments. Rework conditional statements.
3878 * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
3880 * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
3881 * gcc-interface/utils.c (gnat_init_decl_processing): Use more
3882 appropriate function to initialize the size_type_node. Adjust for
3883 TYPE_RM_SIZE change.
3885 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
3887 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
3888 for imported subprograms.
3890 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
3892 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
3893 constant objects covered by 13.3(19) volatile.
3895 2009-04-21 Eric Botcazou <ebotcazou@adacore.com>
3897 * gcc-interface/utils.c (create_type_decl): Do not pass declarations
3898 of dummy fat pointer types to the debug back-end.
3900 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
3902 * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
3903 <E_Signed_Integer_Subtype>: Set the RM size on the integer type
3904 before wrapping it up in the record type. Do not overwrite the
3905 Ada size of the record type with the Esize.
3907 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
3909 * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
3910 (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
3911 if the conversion is on the LHS of an assignment and a no-op.
3912 <all> Do not convert the result to the result type if the Parent
3913 node is such a conversion.
3915 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
3917 * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
3918 * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
3919 of types with unknown discriminants.
3920 (substitute_in_type): Rewrite and restrict to formal substitutions.
3921 * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
3922 (update_pointer_to): Update comment.
3924 2009-04-20 Ed Schonberg <schonberg@adacore.com>
3926 * sem_ch8.adb (Use_One_Package): In an instance, if two
3927 potentially_use_visible and non-overloadable homonyms are available
3928 from the actuals of distinct formal packages, retain the current one,
3929 which was visible in the generic, to prevent spurious visibility
3931 (End_Use_Package): Restore use_visibility when needed.
3933 2009-04-20 Sergey Rybin <rybin@adacore.com>
3935 * gnat_ugn.texi, vms_data.ads: Update doc.
3937 2009-04-20 Arnaud Charlet <charlet@adacore.com>
3939 * gcc-interface/Make-lang.in: Update dependencies
3941 * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
3944 2009-04-20 Robert Dewar <dewar@adacore.com>
3946 * checks.ads: Fix documentation of range check handling
3948 2009-04-20 Ed Schonberg <schonberg@adacore.com>
3950 * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
3951 a redundant use_type clause.
3953 2009-04-20 Robert Dewar <dewar@adacore.com>
3955 * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
3956 this attribute can be evaluated at compile time.
3957 (Eval_Attribute, case Range_Length): Same improvement
3959 * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
3961 2009-04-20 Ed Schonberg <schonberg@adacore.com>
3963 * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
3964 for better handling of null procedures.
3965 (Check_Overriding_Indicator): Do not emit a warning on a missing
3966 overriding indicator on an operator when the type of which the operator
3967 is a primitive is private.
3969 2009-04-20 Bob Duff <duff@adacore.com>
3971 * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
3974 2009-04-20 Robert Dewar <dewar@adacore.com>
3976 * sem_attr.adb: Minor reformatting
3978 * gnatcmd.adb: Minor reformatting
3980 2009-04-20 Ed Schonberg <schonberg@adacore.com>
3982 * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
3983 overloaded and one interpretation matches the context, label the
3984 operand with the type of first formal.
3986 2009-04-20 Bob Duff <duff@adacore.com>
3988 * debug.ads: Minor comment fix.
3990 * debug.adb: Minor comment fixes.
3992 2009-04-20 Javier Miranda <miranda@adacore.com>
3994 * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
3996 * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
3998 * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
3999 is expanded into a call to Raise_Exception, avoid passing the
4000 exception-name'identity in runtimes in which this argument
4003 2009-04-20 Jerome Lambourg <lambourg@adacore.com>
4005 * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
4006 generated bindings for cil.
4008 2009-04-20 Ed Schonberg <schonberg@adacore.com>
4010 * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
4011 discriminants, collect components from the Underlying_Record_View,
4012 which will be used in the expansion of the aggregate into assignments.
4014 * sem_ch3.adb: Do not label derived type with unknown discriminants as
4015 having a private declaration.
4017 2009-04-20 Ed Schonberg <schonberg@adacore.com>
4019 * exp_util.adb (Expand_Subtype_From_Expr): use the
4020 underlying_record_view when available, to create the proper constrained
4021 subtype for an object of a derived type with unknown discriminants.
4023 2009-04-20 Javier Miranda <miranda@adacore.com>
4025 * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
4026 formals that have pragma unreferenced.
4028 2009-04-20 Pascal Obry <obry@adacore.com>
4030 * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
4031 Remove all calls to To_Lower_If_Case_Insensitive to preserve
4032 the pathname original casing.
4034 2009-04-20 Robert Dewar <dewar@adacore.com>
4036 * g-trasym.adb: Minor reformatting
4038 * s-os_lib.adb: Minor reformatting
4040 * sem.adb: Minor reformatting
4041 Minor code reorganization
4043 * sem_ch3.adb: Minor reformatting
4045 * sem_ch4.adb: Minor reformatting
4047 * sem_ch8.adb: Minor reformatting
4049 * sem_type.adb: Minor reformatting
4051 2009-04-20 Javier Miranda <miranda@adacore.com>
4053 * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
4054 generated by derivations of tagged types use the aliased subprogram a
4055 reference to locate their controlling type.
4057 2009-04-20 Tristan Gingold <gingold@adacore.com>
4059 * g-trasym.adb: Set size of result buffer before calling
4062 2009-04-20 Ed Schonberg <schonberg@adacore.com>
4064 * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
4065 to a function returning an array can be interpreted as a call with
4066 defaulted parameters whose result is indexed, take into account the
4067 types of all the indices of the array result type.
4069 2009-04-20 Pascal Obry <obry@adacore.com>
4071 * a-direct.adb, s-os_lib.adb: Minor reformatting.
4073 2009-04-20 Ed Schonberg <schonberg@adacore.com>
4075 * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
4076 null exclusion qualifiers for object renaming declarations.
4078 2009-04-20 Nicolas Roche <roche@adacore.com>
4080 * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
4081 unsigned long long. So compare local_time and utc_time before computing
4084 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
4086 * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
4087 of the Underlying_Record_View before that of the derived type.
4089 * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
4090 with unknown discriminants with regard to the parent subtype.
4092 2009-04-20 Bob Duff <duff@adacore.com>
4094 * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
4095 that are not included. This is necessary if the main unit is a generic
4098 * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
4099 because it doesn't work if -gnatn is used.
4101 2009-04-20 Ed Schonberg <schonberg@adacore.com>
4103 * rtsfind.adb (RTE, RTE_Record_Component): In
4104 Configurable_Run_Time_Mode, do not enable front-end inlining.
4106 2009-04-20 Thomas Quinot <quinot@adacore.com>
4108 * g-socthi-vms.adb: Remove now unnecessary WITH clause on
4109 System.Address_To_Access_Conversions.
4111 2009-04-20 Ed Schonberg <schonberg@adacore.com>
4113 * sem.adb: Guard against ill-formed subunits.
4115 2009-04-20 Bob Duff <duff@adacore.com>
4117 * output.adb (Flush_Buffer): Do not indent blank lines.
4118 (Ignore_Output): New procedure for output suppression.
4120 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
4122 * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
4123 when it is positive. This avoids a potential constraint error raised
4124 by the conversion to Natural.
4126 2009-04-20 Gary Dismukes <dismukes@adacore.com>
4128 * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
4129 involves a target that has a specified address, don't set Forward_OK
4130 and Backward_OK to False if the rhs is an aggregate, since overlap
4133 2009-04-20 Ed Schonberg <schonberg@adacore.com>
4135 * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
4136 in an object renaming declaration when the expected type is an
4137 anonymous access type.
4139 * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
4140 ambiguity when one interpretation is an anonymous access type and the
4141 other is a named access type, and the context itself is anonymous
4143 2009-04-20 Thomas Quinot <quinot@adacore.com>
4145 * einfo.ads: Minor comment rewording
4147 * sem_aggr.adb: Minor comment rewording
4149 * sem_ch3.adb, sem_ch6.adb: Minor reformatting
4151 2009-04-20 Pascal Obry <obry@adacore.com>
4153 * adaint.c (__gnat_is_readable_file): Check for file existence
4154 when not using ACL (always the case on remote drives).
4156 2009-04-20 Robert Dewar <dewar@adacore.com>
4158 * sinfo.ads: Minor comment fixes
4160 * exp_disp.adb: Minor reformatting
4162 * gnat1drv.adb: Minor reformatting
4164 * output.adb: Minor reformatting
4166 * s-vxwext-kernel.ads: Minor reformatting
4168 * sem.ads: Minor reformatting
4170 * sem.adb: Minor reformatting
4172 * sem_elim.adb: Minor reformatting
4174 * uname.ads: Minor reformatting
4176 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
4178 * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
4179 a small dope of 4 words to the adjustment to the stack pointer.
4181 2009-04-20 Thomas Quinot <quinot@adacore.com>
4183 * xoscons.adb: generate C header s-oscons.h in
4184 addition to s-oscons.ads.
4186 * socket.c: On VMS, use s-oscons.h.
4188 * sem_ch3.adb: Minor reformatting
4190 * exp_ch9.adb: Minor reformatting
4192 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
4194 * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
4195 (Attribute_to_gnu): Do not call check_for_eliminated_entity.
4196 (call_to_gnu): Likewise.
4198 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
4200 * gcc-interface/trans.c (gigi): Declare the name of the compilation
4201 unit as the first global name at the very beginning.
4203 2009-04-20 Thomas Quinot <quinot@adacore.com>
4205 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
4206 s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
4207 g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
4208 since HP-UX supports neither inet_aton nor inet_pton (altough the
4209 latter is part of the Single UNIX Specification!).
4210 So reorganize code, and share C implementation based on inet_addr(3)
4211 with VMS (instead of having a VMS specific Ada implementation in
4214 2009-04-20 Gary Dismukes <dismukes@adacore.com>
4216 * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
4217 to return the object file name saved by Set_Object_Output_File_Name.
4219 2009-04-20 Emmanuel Briot <briot@adacore.com>
4221 * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
4222 for the standard command line, when argc has been modified since the
4223 start of the application.
4225 2009-04-20 Thomas Quinot <quinot@adacore.com>
4227 * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
4228 WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
4230 2009-04-20 Bob Duff <duff@adacore.com>
4232 * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
4235 2009-04-20 Ed Schonberg <schonberg@adacore.com>
4237 * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
4238 subprogram as Eliminated when source operation is.
4239 (Expand_N_Protected_Type_Declaration): Generate protected and
4240 unprotected specs for the internal operations, even if the source
4241 operation is eliminated.
4243 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
4245 * exp_ch3.adb (Make_Predefined_Primitive_Specs,
4246 Predefined_Primitive_Bodies): Do not create the declarations and bodies
4247 of the primitive subprograms associated with dispatching select
4248 statements when the runtime is in configurable mode.
4250 2009-04-20 Ed Falis <falis@adacore.com>
4252 * s-vxwext-kernel.ads (tickGet): Use tick64Get.
4254 2009-04-20 Thomas Quinot <quinot@adacore.com>
4256 * s-oscons-tmplt.c: Add support for generating a dummy version of
4257 s-oscons.ads providing all possible constants.
4259 * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
4261 * socket.c (__gnat_inet_pton): On Windows make sure we always use the
4262 ANSI version (not the UNICODE version) of WSAStringToAddress.
4264 2009-04-20 Pascal Obry <obry@adacore.com>
4266 * adaint.c (__gnat_set_OWNER_ACL): properly free memory
4267 allocated for the security descriptor and make sure all
4268 handles are closed before leaving this procedure.
4270 2009-04-20 Javier Miranda <miranda@adacore.com>
4272 * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
4273 (Set_Is_Underlying_Record_View): New subprogram
4275 * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
4276 private types with unknown discriminants use the underlying record view
4279 * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
4280 underlying record view in the full view of private types whose parent
4281 has unknown discriminants.
4282 (Build_Derived_Record_Type): Avoid generating the class-wide entity
4283 associated with an underlying record view.
4284 (Derived_Type_Declaration): Avoid deriving parent primitives in
4285 underlying record views.
4287 * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
4288 records with unknown discriminants.
4290 * sem_type.adb (Covers): Handle underlying record views.
4291 (Is_Ancestor): Add support for underlying record views.
4293 * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
4294 dispatching call if the type of the target object is tagged and has
4295 unknown discriminants.
4297 * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
4298 unknown discriminants.
4300 * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
4301 tables for internally built underlying record views.
4303 * sprint.adb (sprint_node_actual): Improve output of aggregates with an
4304 empty list of component associations.
4306 2009-04-20 Thomas Quinot <quinot@adacore.com>
4308 * sem_ch10.adb: Minor reformatting
4310 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
4311 g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
4312 (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
4313 standard inet_pton API (and emulate it on platforms that do not
4315 (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
4316 DECC$INET_ADDR, imported in Ada.
4317 (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
4318 implementation provided by GNAT runtime.
4319 (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
4322 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
4324 * gnat_ugn.texi: Add documentation for -fno-ivopts.
4326 2009-04-20 Ed Schonberg <schonberg@adacore.com>
4328 * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
4329 with_clause if it is the main unit.
4331 2009-04-20 Thomas Quinot <quinot@adacore.com>
4333 * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
4334 (no behaviour change): Use Append instead of Increment_Last followed
4337 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
4339 * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
4340 declarations of all primitives associated with dispatching asynchronous,
4341 conditional and timed selects when dispaching calls are forbidden and
4342 select statements are not allowed (such as in Ravenscar).
4343 (Predefined_Primitive_Bodies): Ditto for bodies.
4345 * exp_disp.ad (Make_DT): Do not create and populate the
4346 Select_Specific_Data of the dispatch table when dispatching calls are
4347 forbidden and select statements are not allowed (such as in Ravenscar).
4349 2009-04-20 Robert Dewar <dewar@adacore.com>
4351 * a-tifiio.adb: Minor reformatting
4353 2009-04-20 Thomas Quinot <quinot@adacore.com>
4355 * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
4356 other C library functions, report *failure* with a zero status, and
4357 success with a non-zero status.
4359 2009-04-20 Bob Duff <duff@adacore.com>
4361 * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
4362 (Semantics): After analyzing each unit, Append it to the
4363 Comp_Unit_List, if appropriate.
4365 * gnat1drv.adb (Check_Library_Items): New procedure for debugging
4367 (Gnat1drv): Correct comment regarding Back_End_Mode.
4369 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
4371 * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
4373 2009-04-20 Thomas Quinot <quinot@adacore.com>
4375 * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
4376 output.adb, output.ads, s-taprop-hpux-dce.adb,
4377 s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
4380 2009-04-20 Thomas Quinot <quinot@adacore.com>
4382 * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
4383 g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
4384 (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
4385 (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
4386 except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
4387 (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
4389 * debug.adb: Fix typo
4391 * gnat_rm.texi: Minor doc fix.
4393 * sem_ch7.adb, freeze.adb: Minor reformatting
4395 2009-04-20 Thomas Quinot <quinot@adacore.com>
4397 * g-socket.ads: Add new constants:
4399 Unspecified_Group_Inet_Addr
4400 All_Hosts_Group_Inet_Addr
4401 All_Routers_Group_Inet_Addr
4403 * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
4404 ERANGE (Result too large).
4405 (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
4406 propagation of errno to caller.
4408 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
4410 * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
4411 to 24. Increment Leap_Seconds_Count and add an entry to aggregate
4414 2009-04-20 Gary Dismukes <dismukes@adacore.com>
4416 * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
4417 checking for references to eliminated subprograms that should be
4419 (Eliminate_Error_Message): Update comment to say "references" rather
4420 than "calls" (since attribute cases are handled here as well).
4422 * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
4423 checking for references to eliminated subprograms that should be
4424 flagged. Add with and use of Sem and Sem_Util.
4426 * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
4427 Add with and use of Sem_Elim.
4429 * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
4430 applied to eliminated subprograms.
4431 (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
4432 eliminated subprograms.
4433 Add with and use of Sem_Elim.
4435 * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
4436 to eliminated subprograms, now handled during Resolve_Call.
4437 Remove with and use of Sem_Elim.
4439 * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
4440 testing Is_Eliminated, for proper handling of primitive derived from
4441 eliminated subprograms.
4443 2009-04-20 Vincent Celier <celier@adacore.com>
4445 * mlib-prj.adb (Build_Library): Use the shared library linker, if one
4446 has been declared (Library_GCC or Linker'Driver), for the driver name.
4448 * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
4449 Linker'Driver is, use Linker'Driver as the shared library linker.
4450 (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
4451 Library_GCC is declared.
4452 (Check_Library_Attributes): Set up the shared linker driver: either
4453 Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
4456 2009-04-20 Thomas Quinot <quinot@adacore.com>
4458 * g-socket.ads (Send_Socket): Fix misleading comment.
4460 2009-04-20 Arnaud Charlet <charlet@adacore.com>
4462 * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
4465 2009-04-20 Geert Bosch <bosch@adacore.com>
4467 * a-tifiio.adb (Put): Avoid generating too many digits for certain
4468 fixed types with smalls that are neither integer or the reciprocal
4471 2009-04-20 Bob Duff <duff@adacore.com>
4473 * uname.ads: Minor comment fix.
4475 * types.ads: Minor comment fix.
4477 2009-04-20 Pascal Obry <obry@adacore.com>
4479 * adaint.c (__gnat_get_libraries_from_registry): Fix code to
4480 avoid warning. At the same time fix a memory leak.
4482 * osint.adb (Get_Libraries_From_Registry): Properly free memory
4483 returned by the above routine.
4485 2009-04-20 Robert Dewar <dewar@adacore.com>
4487 * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
4488 s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
4489 s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
4490 s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
4492 * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
4494 2009-04-20 Pascal Obry <obry@adacore.com>
4496 * initialize.c (__gnat_initialize): Add braces to kill warning.
4498 * adaint.c: Minor reformatting, remove trailing spaces.
4500 2009-04-17 Arnaud Charlet <charlet@adacore.com>
4502 * gcc-interface/Make-lang.in: Update dependencies.
4504 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
4506 * adaint.h (__gnat_lwp_self): Declare on Linux.
4508 * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
4510 2009-04-20 Robert Dewar <dewar@adacore.com>
4512 * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
4513 front-end part of -fpreserve-control-flow switch.
4515 2009-04-20 Bob Duff <duff@adacore.com>
4517 * rtsfind.adb: Minor comment fix
4519 2009-04-20 Robert Dewar <dewar@adacore.com>
4521 * exp_aggr.adb: Minor reformatting
4522 Minor code reorganization (use Nkind_In)
4524 * g-socket.adb: Minor reformatting
4526 * g-socket.ads: Minor comment fix
4528 * s-auxdec.ads: Minor comment and organization update.
4530 * s-auxdec-vms_64.ads: Minor comment and organization update.
4532 * sem_ch10.adb: Minor addition of ??? comment
4534 * sem_disp.adb: Minor reformatting
4536 2009-04-20 Ed Schonberg <schonberg@adacore.com>
4538 * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
4539 list a caller of an inlined subprogram, if the caller itself is not
4542 2009-04-20 Pascal Obry <obry@adacore.com>
4544 * adaint.c: Disable use of ACL on network drives.
4546 2009-04-20 Arnaud Charlet <charlet@adacore.com>
4548 * gnat_ugn.texi: Add examples.
4550 2009-04-20 Thomas Quinot <quinot@adacore.com>
4552 * g-socket.ads (Abort_Selector): Clarify documentation.
4554 2009-04-20 Arnaud Charlet <charlet@adacore.com>
4556 * opt.ads (Inspector_Mode): Update documentation of this flag.
4558 2009-04-20 Thomas Quinot <quinot@adacore.com>
4560 * g-socket.ads: Minor reformatting
4562 * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
4563 consider S_resolvLib error codes since we only use the hostLib wrappers.
4565 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
4567 * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
4568 of the Underlying_Record_View after that of the derived type.
4570 2009-04-20 Arnaud Charlet <charlet@adacore.com>
4572 * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
4575 2009-04-20 Javier Miranda <miranda@adacore.com>
4577 * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
4579 * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
4582 * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
4585 (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
4586 in internally built overriding subprograms.
4588 2009-04-20 Doug Rupp <rupp@adacore.com>
4590 * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
4592 * s-auxdec.ads: Likewise
4594 2009-04-20 Ed Schonberg <schonberg@adacore.com>
4596 * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
4597 type by an interface.
4599 * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
4600 minimze difference in expanded tree when compiled as spec of the main
4601 unit, or as a spec in the context of another unit.
4603 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
4605 * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
4606 (localtime_tzoff): This routine no longer accepts an actual of type
4608 (UTC_Time_Offset): Remove local variable Secs_TM.
4610 * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
4611 actual of type struct tm*. Add local variable of type struct tm for all
4612 targets that provide localtime_r and need to invoke it.
4614 2009-04-20 Thomas Quinot <quinot@adacore.com>
4616 * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
4617 (GNAT.Sockets.Resolve_Error): Add case of EPIPE
4618 Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
4620 2009-04-20 Robert Dewar <dewar@adacore.com>
4622 * sem_ch3.adb: Minor reformatting
4624 * lib-load.adb: Minor reformatting
4626 * sem_ch4.adb: Minor reformatting
4628 2009-04-20 Robert Dewar <dewar@adacore.com>
4630 * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
4631 (equal values => False).
4633 2009-04-20 Ed Schonberg <schonberg@adacore.com>
4635 * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
4636 to null procedures can be inlined unconditionally.
4638 2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
4640 * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
4641 non-addressable parameter passed by reference, do not convert the
4642 actual if its type is already the nominal type, unless it is of
4643 self-referential size.
4645 2009-04-20 Arnaud Charlet <charlet@adacore.com>
4647 * gnat_ugn.texi: Fix typos.
4649 2009-04-20 Robert Dewar <dewar@adacore.com>
4651 * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
4652 Validate_Unchecked_Warnings to suppress warnings about size or
4653 alignment or extra bits if either type involved has pragma Warnings
4654 (Off) set for the type entity.
4656 2009-04-19 Eric Botcazou <ebotcazou@adacore.com>
4658 * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
4659 a builtin type and give it a name.
4661 2009-04-17 Diego Novillo <dnovillo@google.com>
4663 * gcc-interface/misc.c (gnat_expand_expr): Remove.
4664 (LANG_HOOKS_EXPAND_EXPR): Remove.
4666 2009-04-17 Robert Dewar <dewar@adacore.com>
4668 * sem_ch3.adb: Minor reformatting
4670 2009-04-17 Pascal Obry <obry@adacore.com>
4672 * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
4674 2009-04-17 Ed Schonberg <schonberg@adacore.com>
4676 * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
4677 illegal constraints on type derived from formal discrete types.
4679 2009-04-17 Thomas Quinot <quinot@adacore.com>
4683 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
4684 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
4685 g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
4686 g-socket.ads (GNAT.Sockets.Thin.C_Send,
4687 GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
4688 Replace calls to send(2) with equivalent sendto(2) calls.
4689 (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
4690 (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
4691 report an error in that case. Factor code common to the two versions
4692 (datagram and stream) in common routine Stream_Write.
4694 2009-04-17 Robert Dewar <dewar@adacore.com>
4696 * exp_disp.adb: Minor reformatting
4697 Minor code reorganization (use Nkind_In)
4699 * prepcomp.adb: Minor reformatting
4701 * sem_ch3.adb: Minor reformatting
4703 * sem_res.adb: Minor comment addition
4705 * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
4708 * lib-xref.adb (Generate_Reference): Exclude recursive calls from
4709 setting Is_Referenced
4711 * types.ads: Minor reformatting
4713 2009-04-17 Arnaud Charlet <charlet@adacore.com>
4715 * gnat_ugn.texi: Initial documentation on binding generator.
4717 2009-04-17 Ed Schonberg <schonberg@adacore.com>
4719 * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
4720 type extensions whose parent is a type with unknown discriminants.
4722 * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
4723 aggregate has unknown discriminants, use the Underlying_Record_View to
4724 obtain the discriminants of the ancestor part.
4726 * exp_disp.adb (Build_Dispatch_Tables): Types that are
4727 Underlying_Record_Views share the dispatching information of the
4728 original record extension.
4730 * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
4731 discriminants, propagate dispach table information to the
4732 Underlying_Record_View.
4734 * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
4735 discriminants and declaration is not a completion, generate
4736 Underlying_Record_View to provide proper discriminant information to
4737 the front-end and to gigi.
4739 2009-04-17 Robert Dewar <dewar@adacore.com>
4741 * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
4742 s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
4743 s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
4744 g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
4745 s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
4746 s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
4747 g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
4748 s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
4749 g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
4750 s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
4751 s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
4752 s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
4753 s-conca3.ads: Remove unneeded pragma Warnings
4755 2009-04-17 Robert Dewar <dewar@adacore.com>
4757 * g-moreex.adb: Add comments.
4759 * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
4761 * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
4764 * prepcomp.adb: Add ??? comment
4766 * a-tasatt.adb: Minor reformatting
4768 * g-trasym-vms-alpha.adb: Add ??? comment
4770 * g-trasym-vms-ia64.adb: Add ??? comment
4772 * xoscons.adb: Minor reformatting
4774 * s-tassta.adb: Minor reformatting
4776 * s-scaval.adb: Add ??? comment
4778 * stand.ads: Minor code clean up (remove junk with of Namet)
4780 * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
4781 s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
4782 s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
4783 s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
4784 s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
4785 s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
4786 s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
4787 s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
4788 Warnings off pragmas.
4790 2009-04-17 Pascal Obry <obry@adacore.com>
4792 * initialize.c: Fix test for reallocating the arguments array.
4794 2009-04-17 Geert Bosch <bosch@adacore.com>
4796 * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
4797 conversion truncate only for decimal fixed point types.
4799 2009-04-17 Jerome Lambourg <lambourg@adacore.com>
4801 * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
4804 2009-04-17 Robert Dewar <dewar@adacore.com>
4806 * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
4807 Backwards_OK if either operand has an address clause.
4809 2009-04-17 Pascal Obry <obry@adacore.com>
4811 * initialize.c: Code clean up, use realloc.
4813 2009-04-17 Pascal Obry <obry@adacore.com>
4815 * initialize.c: Do not get Unicode command line if Unicode support not
4817 Add support for wildcard expansion for Unicode parameters on Win32.
4819 * mingw32.h: Add missing macros when Unicode support not activated.
4821 2009-04-17 Javier Miranda <miranda@adacore.com>
4823 * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
4824 avoid generating code that references the Current_Master
4825 when compiling without tasks.
4827 2009-04-17 Vincent Celier <celier@adacore.com>
4829 * prj-attr.adb: New project level attribute Target
4831 * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
4834 * prj.ads (Project_Configuration): New component Target
4836 2009-04-17 Thomas Quinot <quinot@adacore.com>
4838 * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
4839 case for the case of an aggregate component, the attach call for the
4840 result is actually needed.
4842 * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
4843 an array aggregate must be disabled if the component type requires
4846 * exp_ch3.adb: Minor reformatting
4848 2009-04-17 Bob Duff <duff@adacore.com>
4850 * output.ads (Indent,Outdent): New procedures for indenting the output.
4851 (Write_Char): Correct comment -- LF _is_ allowed.
4853 * output.adb (Indent,Outdent): New procedures for indenting the output.
4854 Keep track of the indentation level, and make sure it doesn't get too
4856 (Flush_Buffer): Insert spaces at the beginning of each line, if
4857 indentation level is nonzero.
4858 (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
4860 (Set_Standard_Error,Set_Standard_Output): Remove superfluous
4861 "Next_Col := 1;". Flush_Buffer does that.
4863 * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
4864 controlled by the -gnatdc switch. It now occurs on entry/exit to the
4865 relevant analysis routines, and calls Indent/Outdent to make the
4866 indentation reflect the nesting level. Add "helper" routines, since
4867 otherwise lots of "return;" statements would skip the debugging output.
4869 2009-04-17 Arnaud Charlet <charlet@adacore.com>
4871 * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
4872 s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
4873 s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
4875 2009-04-17 Thomas Quinot <quinot@adacore.com>
4877 * exp_aggr.adb: Minor code reorganization, no behaviour change.
4879 2009-04-17 Ed Schonberg <schonberg@adacore.com>
4881 * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
4882 clause in a unit that is a package body or a subunit, when the previous
4883 clause appears in a spec or a parent.
4885 2009-04-17 Thomas Quinot <quinot@adacore.com>
4887 * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
4889 * exp_ch7.adb: Minor reformatting
4891 2009-04-17 Bob Duff <duff@adacore.com>
4893 * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
4894 allocator, check that the expression of the qualified expression obeys
4895 the constraints of the subtype of the qualified expression.
4897 2009-04-17 Thomas Quinot <quinot@adacore.com>
4899 * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
4901 2009-04-17 Ed Schonberg <schonberg@adacore.com>
4903 * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
4904 aggregate, using context imposed by subtype mark in allocator.
4906 2009-04-17 Pascal Obry <obry@adacore.com>
4908 * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
4910 2009-04-17 Nicolas Roche <roche@adacore.com>
4912 * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
4915 2009-04-17 Gary Dismukes <dismukes@adacore.com>
4917 * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
4918 cover both calls and attribute references ("call" => "reference").
4920 2009-04-17 Ed Schonberg <schonberg@adacore.com>
4922 * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
4923 type for which Storage_Size is set to 0 is legal in a pure unit.
4925 2009-04-17 Thomas Quinot <quinot@adacore.com>
4927 * exp_ch7.adb: Minor reformatting
4929 2009-04-17 Robert Dewar <dewar@adacore.com>
4931 * restrict.adb (Check_Restriction_No_Dependence): Don't check
4932 restriction if outside main extended source unit.
4934 * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
4935 for parents of child units as well as the child unit itself.
4937 2009-04-17 Bob Duff <duff@adacore.com>
4939 * checks.ads: Minor comment fix
4941 * exp_aggr.ads: Minor comment fix
4943 2009-04-17 Nicolas Roche <roche@adacore.com>
4945 * adaint.c: Improve cross compiler detection and handling.
4947 2009-04-17 Eric Botcazou <ebotcazou@adacore.com>
4949 * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
4951 2009-04-17 Pascal Obry <obry@adacore.com>
4953 * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
4956 * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
4957 value when no encoding form paramter is set on Text_IO services.
4959 * adaint.c: CurrentCodePage new variable on Windows.
4960 Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
4963 * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
4966 * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
4967 environment variable value. Default is UTF-8.
4969 * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
4970 fopen and freopen encoding parameter is now set to Unspecified.
4971 The default value is in this case UTF-8 (as it was before) but
4972 use the new macros that convert to/from the code page set
4973 at runtime (CurrentCodePage).
4975 * s-fileio.adb: When no encoding specified use Unspecified value.
4977 2009-04-17 Ed Schonberg <schonberg@adacore.com>
4979 * atree.adb, atree.ads: Remove dead code.
4981 2009-04-17 Arnaud Charlet <charlet@adacore.com>
4983 * gcc-interface/Make-lang.in: Update dependencies.
4985 2009-04-17 Ed Schonberg <schonberg@adacore.com>
4987 * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
4988 illegal uses of incomplete types in formal parts and return types.
4990 * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
4991 access to subprograms.
4993 * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
4994 Taft-amendment types as the return type of an access_to_function type.
4996 * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
4997 type for access_to_subprograms. The check is performed on package exit.
4999 2009-04-17 Ed Schonberg <schonberg@adacore.com>
5001 * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
5003 * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
5005 * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
5007 * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
5008 semantic units, because the handling of itypes in the copied tree
5009 requires semantic information that does not belong in atree.
5011 2009-04-17 Robert Dewar <dewar@adacore.com>
5013 * par-ch6.adb: Minor reformatting
5015 * prj.adb: Minor reformatting
5017 2009-04-17 Gary Dismukes <dismukes@adacore.com>
5019 * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
5020 on protected subprogram bodies, so exclude the case where Pf_Flags is
5021 Pf_Decl_Pbod from the error check.
5023 * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
5024 indicators on subprograms in protected bodies, and proceed with parsing
5027 * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
5028 subprograms from the check for primitiveness on subprograms with
5029 overriding indicators.
5030 (Check_Overriding_Indicator): Include protected subprograms in the
5031 style check for missing overriding indicators.
5033 2009-04-17 Tristan Gingold <gingold@adacore.com>
5035 * init.c: Fix stack checking for x86 Darwin.
5037 2009-04-17 Vincent Celier <celier@adacore.com>
5039 * prj-attr.adb: New project level attribute Object_File_Suffix
5042 * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
5044 (Process_Compiler): Process attribute Object_File_Suffix
5046 * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
5047 platform suffix, when specified.
5049 * prj.ads (Language_Config): New component Object_File_Suffix,
5050 defaulted to No_Name.
5051 (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
5053 * snames.ads-tmpl: New standard name Object_File_Suffix
5055 2009-04-17 Robert Dewar <dewar@adacore.com>
5057 * gnat_rm.texi: Add documentation about No_Streams restriction
5059 * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
5060 attributes when checking No_Streams restriction.
5062 2009-04-17 Thomas Quinot <quinot@adacore.com>
5064 * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
5066 * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
5067 missing calls to RE_Request_Destroy to deallocate request objects after
5070 2009-04-17 Nicolas Setton <setton@adacore.com>
5072 * link.c: Fix support for passing a response file under Darwin.
5074 2009-04-17 Emmanuel Briot <briot@adacore.com>
5076 * prj.adb (Free): new subprogram.
5078 2009-04-17 Ed Schonberg <schonberg@adacore.com>
5080 * sem_ch3.adb: additional initialization on incomplete subtypes.
5082 * sem_ch6.adb (Process_Formals): if the subprogram is in the private
5083 part and one of the formals is an incomplete tagged type, attach to
5084 list of private dependends of the type for later validation.
5086 * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
5087 primitive operations of a Taft-amendmment type.
5089 * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
5090 type. The check is performed on package exit, possibly after the
5091 subprogram is frozen.
5093 2009-04-17 Vincent Celier <celier@adacore.com>
5095 * prj-nmsc.adb (Get_Directories): Get the object and exec directory
5096 before looking for source directories, but make sure that there are nil
5097 if they are not explicitely declared and there is explicitely no
5098 sources in the project.
5100 2009-04-17 Pascal Obry <obry@adacore.com>
5102 * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
5104 * init.c: Fix minor typo and style fix.
5106 2009-04-17 Robert Dewar <dewar@adacore.com>
5108 * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
5110 * sem_attr.adb (Analyze_Attribute, case Address): Use
5111 PE_Address_Of_Intrinsic.
5113 * types.ads: Add PE_Address_Of_Intrinsic
5115 * types.h: Add PE_Address_Of_Intrinsic
5117 2009-04-17 Nicolas Setton <setton@adacore.com>
5119 * gcc-interface/Makefile.in: Under darwin, build shared libraries
5120 with install_name starting with "@rpath/".
5122 2009-04-17 Nicolas Setton <setton@adacore.com>
5124 * link.c: Add darwin section
5126 2009-04-16 Robert Dewar <dewar@adacore.com>
5128 * g-pehage.adb: Minor reformatting
5130 * sem_ch12.adb: Minor reformatting
5132 * exp_dist.adb: Minor reformatting
5134 * bindgen.adb: Minor style fixes.
5136 2009-04-16 Ed Schonberg <schonberg@adacore.com>
5138 * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
5139 indexed components to the case where the prefix is a static string
5142 2009-04-16 Javier Miranda <miranda@adacore.com>
5144 * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
5145 objects avoid any further expansion of the expression initializing the
5148 2009-04-16 Ed Schonberg <schonberg@adacore.com>
5150 * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
5151 that hides an outer homograph, make that homograph invisible when
5152 analyzing the actuals, to to prevent illegal direct visibility on it.
5154 2009-04-16 Eric Botcazou <ebotcazou@adacore.com>
5156 * g-pehage.adb (Initialize): Fix off-by-one error.
5158 2009-04-16 Tristan Gingold <gingold@adacore.com>
5160 * init.c: Detect real stack overflow on Darwin.
5162 * system-darwin-x86.ads: Use stack probing on darwin x86.
5164 2009-04-16 Ed Schonberg <schonberg@adacore.com>
5166 * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
5167 take the address of an intrinsic subprogram.
5169 2009-04-16 Arnaud Charlet <charlet@adacore.com>
5171 * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
5172 for the targets where GNAT.Traceback.Symbolic is not supported.
5174 2009-04-16 Vincent Celier <celier@adacore.com>
5176 * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
5178 * g-trasym.ads: Update comments.
5180 2009-04-16 Vasiliy Fofanov <fofanov@adacore.com>
5182 * tracebak.c (STOP_FRAME): Verify validity of the current address
5183 before dereferencing.
5185 2009-04-16 Ed Schonberg <schonberg@adacore.com>
5187 * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
5188 the original location of the index expressions and the index subtypes,
5189 to prevent spurious out-of-scope references in gigi.
5191 2009-04-16 Tristan Gingold <gingold@adacore.com>
5193 * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
5194 Add support for stack checking on darwin.
5196 2009-04-16 Vincent Celier <celier@adacore.com>
5198 * prj-attr.adb: New attribute Runtime_Source_Dir
5200 * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
5201 attribute Runtime_Source_Dir.
5202 (Check_Naming_Schemes): Give default values to out parameters to avoid
5205 * prj.ads (Language_Config): New component Runtime_Source_Dir
5207 * snames.ads-tmpl: New standard name Runtime_Source_Dir
5209 2009-04-16 Pascal Obry <obry@adacore.com>
5211 * adaint.h, adaint.c (__gnat_rmdir): New routine.
5212 Simple wrapper routines used to convert to proper encoding on
5215 * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
5217 * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
5220 2009-04-16 Pascal Obry <obry@adacore.com>
5222 * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
5224 2009-04-16 Thomas Quinot <quinot@adacore.com>
5226 * snames.ads-tmpl (Name_Defined): New predefined name for use by the
5227 integrated preprocessor.
5229 * prep.ads, prep.adb (Setup_Hooks): New subprogram.
5230 (Initialize): Split into two subprograms, Initialize (to be called
5231 prior to compiler command line processing) and Setup_Hooks (to be called
5232 later on when the first source file is loaded).
5234 * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
5235 Add call to Prep.Initialize.
5237 * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
5238 to Prep.Setup_Hooks.
5240 2009-04-16 Pascal Obry <obry@adacore.com>
5242 * adaint.h, adaint.c (__gnat_chdir): New routine.
5243 Simple wrapper routines used to convert to proper encoding on
5246 * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
5248 * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
5250 2009-04-16 Quentin Ochem <ochem@adacore.com>
5252 * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
5255 2009-04-16 Eric Botcazou <ebotcazou@adacore.com>
5257 * a-convec.ads (Is_Empty): Mark inline.
5259 2009-04-16 Nicolas Roche <roche@adacore.com>
5261 * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
5263 2009-04-16 Thomas Quinot <quinot@adacore.com>
5265 * prepcomp.adb: Minor reformatting
5267 2009-04-16 Jerome Lambourg <lambourg@adacore.com>
5269 * sem_prag.adb (Process_Import_Or_Interface): With .NET,
5270 Access_Subprogram types can also be imported.
5271 (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
5274 2009-04-16 Ed Schonberg <schonberg@adacore.com>
5276 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
5277 preserve homonym chain when the declaration is rewritten into a
5278 renaming declaration, in order to preserve visibility structure.
5280 2009-04-16 Jerome Lambourg <lambourg@adacore.com>
5282 * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
5283 taken into account for VM targets.
5285 2009-04-16 Hristian Kirtchev <kirtchev@adacore.com>
5287 * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
5289 (Year_Week_In_Year): New routine which contains the original code from
5290 Week_In_Year. Add the missing special case for January 1st falling on
5293 2009-04-16 Thomas Quinot <quinot@adacore.com>
5295 * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
5296 actual type, use the base type to build the To_Any function.
5297 (Build_From_Any_Function): Remove junk, useless subtype conversion.
5299 2009-04-16 Thomas Quinot <quinot@adacore.com>
5301 * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
5302 restrict.adb: Minor code reorganization (use
5303 Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
5305 2009-04-16 Bob Duff <duff@adacore.com>
5307 * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
5310 2009-04-16 Thomas Quinot <quinot@adacore.com>
5312 * sem_ch4.adb: Minor reformatting
5314 * adaint.c: Remove junk duplicated code.
5316 * sem_ch3.adb: Minor reformatting
5318 * exp_dist.adb: Minor comment rewording
5320 2009-04-16 Robert Dewar <dewar@adacore.com>
5322 * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
5325 2009-04-16 Ed Schonberg <schonberg@adacore.com>
5327 * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
5328 usable before calling Add_One_Interp, to resolve spurious ambiguities.
5330 2009-04-16 Robert Dewar <dewar@adacore.com>
5332 * Make-lang.in: Add entries for s-conca?.o
5334 * Makefile.rtl: Add entries for s-conca?
5336 * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
5337 of concatenation expansion
5339 * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
5340 string cases instead of expanding assignments inline.
5342 * opt.ads (Optimize_Size): New flag
5344 * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
5345 s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
5346 s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
5347 s-conca9.adb, s-conca9.ads: New file.
5349 2009-04-16 Robert Dewar <dewar@adacore.com>
5351 * exp_ch6.adb: Add comments
5353 * rtsfind.ads: Add entries for s-conca? routines
5355 2009-04-16 Arnaud Charlet <charlet@adacore.com>
5357 * gcc-interface/Make-lang.in: Update dependencies.
5359 * gcc-interface/Makefile.in: Update translation for vms.
5361 2009-04-16 Ed Schonberg <schonberg@adacore.com>
5363 * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
5364 and made global, to be used when installing parents of a child
5365 instance, to provide mappings for entities declared in formal packages
5366 of ancestor units. Now called from Install_Formal_Packages.
5368 2009-04-16 Doug Rupp <rupp@adacore.com>
5370 * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
5371 notation for clarity.
5373 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
5374 s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
5375 s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
5376 (Initialize): Initialize Known_Tasks with Environment task.
5378 * s-taskin.ads (Task_States): Move new states to end for the sake of
5381 * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
5383 2009-04-16 Ed Schonberg <schonberg@adacore.com>
5385 * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
5386 operation has an inline pragma, propagate the flag to the internal
5387 unprotected subprogram.
5389 2009-04-16 Doug Rupp <rupp@adacore.com>
5391 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
5392 s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb,
5393 s-taprop-hpux-dce.adb, s-taprop-posix.adb
5394 (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
5396 * s-taprop-vms.adb (Enter_Task): Likewise.
5397 (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
5399 * s-tassta.adb (Activate_Tasks): After task creation set state to
5400 Activating, vice Runnable. Initialize Known_Tasks, moved here from
5401 s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
5402 Set state to Runnable after above.
5403 (Task_Wrapper): Set Debug_Event_Run. In exception block set
5404 Debug_Event_Terminated.
5406 * s-taskin.ads (Task_States): Add new states Activiting and
5407 Activator_Delay_Sleep.
5408 (Bit_Array, Debug_Event_Array): New types.
5409 (Global_Task_Debug_Event_Set: New flag.
5410 (Common_ATCB): New field Debug_Events.
5412 * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
5414 * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
5417 * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
5418 Activating and when Acceptor_Delay_Sleep.
5420 * s-tasdeb.ads: Add constants for Debug_Events.
5421 (Debug_Event_Kind_Type): New subtype.
5422 (Signal_Debug_Event): New subprogram.
5424 * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
5426 2009-04-16 Thomas Quinot <quinot@adacore.com>
5428 * sem_elim.adb: Minor reformatting
5430 * freeze.adb: Minor reformatting
5432 * exp_ch4.adb: Minor reformatting
5434 2009-04-16 Emmanuel Briot <briot@adacore.com>
5436 * prj-nmsc.adb (Path_Name_Of): fix memory leak
5438 2009-04-16 Robert Dewar <dewar@adacore.com>
5440 * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
5442 2009-04-16 Vincent Celier <celier@adacore.com>
5444 * fmap.adb (Initialize): Show the current line when the mapping file
5445 is detected as "incorrectly formatted".
5447 2009-04-16 Robert Dewar <dewar@adacore.com>
5449 * sem_ch12.adb: Minor reformatting
5451 * sem_ch5.adb: Minor comment addition
5453 * sem_util.adb: Minor reformatting
5455 * sinput-p.adb: Minor reformatting
5456 Add missing pragma Warnings (On)
5458 2009-04-16 Ed Falis <falis@adacore.com>
5460 * s-vxwext-kernel.adb: (ERROR): deleted unused constant
5462 2009-04-16 Vincent Celier <celier@adacore.com>
5464 * ali-util.adb: Minor comment spelling error fix
5466 2009-04-16 Eric Botcazou <ebotcazou@adacore.com>
5468 * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
5469 generate an assignment loop in case of overlap.
5471 2009-04-16 Olivier Hainque <hainque@adacore.com>
5473 * gnat_ugn.texi (gnatmem description): Make it explicit that
5474 gnatmem is designed to work in association with static runtime
5477 2009-04-16 Thomas Quinot <quinot@adacore.com>
5479 * sem_type.adb: Minor reformatting
5481 2009-04-16 Hristian Kirtchev <kirtchev@adacore.com>
5483 * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
5484 concerning return codes of gettimeofday and return value check.
5486 2009-04-16 Ed Falis <falis@adacore.com>
5488 * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
5489 body can be renaming of imported routines.
5491 2009-04-16 Vasiliy Fofanov <fofanov@adacore.com>
5493 * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
5496 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
5498 * exp_ch9.adb: Comment improvements.
5499 (Build_Entry_Family_Name): Add parentheses around the index of a entry
5502 2009-04-15 Bob Duff <duff@adacore.com>
5504 * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
5505 "while X /= null loop" where X is unchanged inside the loop. We were
5506 not warning in this case, because of the pointers -- we feared that the
5507 loop variable could be updated via a pointer, if there are any pointers
5508 around the place. But that is impossible in this case.
5510 * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
5511 the case of dereferences. In X.all, X cannot be an l-value. We now
5512 catch that case (and implicit dereferences, too).
5514 2009-04-15 Vincent Celier <celier@adacore.com>
5516 * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
5518 2009-04-15 Ed Schonberg <schonberg@adacore.com>
5520 * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
5522 (Analyze_Package_Instantiation): If generic unit in child instance is
5523 the same as generic unit in parent instance, look for an outer homonym
5524 to locate the desired generic.
5526 2009-04-15 Bob Duff <duff@adacore.com>
5528 * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
5529 warnings unless the loop comes from source, because checking generated
5530 loops is a waste of time, and makes it harder to debug
5531 Check_Infinite_Loop_Warning.
5533 * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
5534 tested in the while loop is a renaming, do not warn. Otherwise, we get
5535 false alarms, because it's usually renaming something that we can't
5536 deal with (an indexed component, a global variable, ...).
5538 * gnat_rm.texi: Fix typo
5540 2009-04-15 Thomas Quinot <quinot@adacore.com>
5542 * sem_ch6.adb: Minor reformatting
5544 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
5546 * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
5547 immediate parent of the controlled function call is a component
5550 2009-04-15 Ed Schonberg <schonberg@adacore.com>
5552 * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
5553 corresponding class-wide type is also in use.
5555 2009-04-15 Thomas Quinot <quinot@adacore.com>
5557 * frontend.adb: Minor comment fix
5559 2009-04-15 Robert Dewar <dewar@adacore.com>
5561 * gnatchop.adb (BOM_Length): New global variable
5562 (Write_Unit): Add new parameter Write_BOM
5563 (Write_Chopped_Files): Check for BOM and set Write_BOM for call
5566 * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
5568 2009-04-15 Geert Bosch <bosch@adacore.com>
5570 * system-mingw-x86_64.ads, system-darwin-x86_64.ads
5571 (Backend_Overflow_Checks): Set to True.
5573 2009-04-15 Gary Dismukes <dismukes@adacore.com>
5575 * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
5576 keyword is given in a record extension.
5578 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
5580 * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
5581 of a controlled function call in the context of a record aggregate.
5582 This does not apply to array aggregates since the call will be expanded
5585 2009-04-15 Ed Falis <falis@adacore.com>
5587 * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
5588 s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
5589 s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
5590 s-osinte-vxworks* and s-vxwext*.
5592 2009-04-15 Arnaud Charlet <charlet@adacore.com>
5594 * gcc-interface/Make-lang.in: Update dependencies.
5596 * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
5599 2009-04-15 Robert Dewar <dewar@adacore.com>
5601 * sem_ch13.adb (Unchecked_Conversions): Store source location instead
5602 of node for location for warning messages.
5604 * gnatchop.adb: Minor reformatting
5606 2009-04-15 Ed Schonberg <schonberg@adacore.com>
5608 * exp_ch6.adb: additional guard for renaming declarations for in
5609 parameters of an array type.
5611 2009-04-15 Robert Dewar <dewar@adacore.com>
5613 * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
5614 in case they were rewritten by expander (Force_Evaluation).
5616 * targparm.adb (Get_Target_Parameters): Correct check for
5617 Suppress_Exception_Locations.
5619 2009-04-15 Ed Schonberg <schonberg@adacore.com>
5621 * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
5622 inlined is of an array type that is not bit-packed, use a renaming
5623 declaration to capture its value, rather than a constant declaration.
5625 2009-04-15 Robert Dewar <dewar@adacore.com>
5627 * rtsfind.adb: Minor reformatting.
5629 2009-04-15 Emmanuel Briot <briot@adacore.com>
5631 * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
5632 Restore, and free the saved context.
5634 2009-04-15 Gary Dismukes <dismukes@adacore.com>
5636 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
5637 for illegal private extension from a synchronized interface parent in
5638 front of check for illegal limited extension so that limited extension
5639 from a synchronized interface will be rejected.
5640 (Check_Ifaces): Check that a private extension that has a synchronized
5641 interface as a progenitor must be explicitly declared synchronized.
5642 Also check that a record extension cannot derive from a synchronized
5645 2009-04-15 Pascal Obry <obry@adacore.com>
5647 * adaint.h (__gnat_unlink): Add spec.
5648 (__gnat_rename): Likewise.
5650 2009-04-15 Vincent Celier <celier@adacore.com>
5652 * prj-nmsc.adb: Minor spelling error corrections in error messages
5654 2009-04-15 Robert Dewar <dewar@adacore.com>
5656 * sinfo.ads: Minor comment update
5658 * opt.ads: Minor comment updates
5660 * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
5663 2009-04-15 Ed Schonberg <schonberg@adacore.com>
5665 * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
5666 that generates the code needed to update a dispatch table when a
5667 primitive operation is declared with a subprogram body without previous
5668 spec. Insertion of the generated code is responsibility of the caller.
5669 (Make_DT): When building static tables, append the code created by
5670 Register_Primitive to update a secondary table after it has been
5673 * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
5675 * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
5676 on an overriding operation that implements an interface operation only
5677 if not building static dispatch tables.
5679 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
5681 * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
5682 does not cause overflow when converted to Duration. Use the safe value
5683 as the maximum allowable time delay..
5685 2009-04-15 Jerome Lambourg <lambourg@adacore.com>
5687 * g-comlin.adb (Set_Command_Line): When adding a switch with attached
5688 parameter, specify that the delimiter is NUL, otherwise "-j2" will be
5689 translated to "-j 2".
5691 2009-04-15 Bob Duff <duff@adacore.com>
5693 * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
5694 with_clauses, to avoid code duplication. Change this processing so we
5695 always add a with_clause on the main unit if needed.
5697 2009-04-15 Pascal Obry <obry@adacore.com>
5699 Add support for Win32 native encoding for delete/rename routines.
5701 * adaint.c (__gnat_unlink): New routine.
5702 (__gnat_rename): New routine.
5703 Simple wrapper routines used to convert to proper encoding on
5706 * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
5707 call to the C library.
5709 * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
5711 2009-04-15 Robert Dewar <dewar@adacore.com>
5713 * s-tassta.adb: Minor reformatting
5715 2009-04-15 Robert Dewar <dewar@adacore.com>
5717 * frontend.adb (Frontend): Set proper default for
5718 Warn_On_Non_Local_Exception.
5720 * opt.ads (Exception_Handler_Encountered): New flag
5721 (No_Warn_On_Non_Local_Exception): New flag
5723 * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
5725 * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
5726 (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
5728 2009-04-15 Cyrille Comar <comar@adacore.com>
5730 * s-tassta.adb, a-exextr.adb, a-elchha.adb
5731 (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
5732 message when exception traces are active since it would generate
5733 redundant information.
5734 (Exception_Traces.Notify_Exception): put message output by a critical
5735 section to avoid unsynchronized output.
5736 (Trace_Unhandled_Exception_In_Task): put message output by a critical
5737 section to avoid unsynchronized output.
5739 2009-04-15 Emmanuel Briot <briot@adacore.com>
5741 * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
5742 (Free): New subprogram.
5744 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
5746 * a-calend.adb: Add new constant Nanos_In_Four_Years.
5747 (Formatting_Operations.Time_Of): Change the way four year chunks of
5748 nanoseconds are added to the intermediate result.
5750 2009-04-15 Nicolas Setton <setton@adacore.com>
5752 * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
5753 does not need to wait for a carriage return.
5755 2009-04-15 Tristan Gingold <gingold@adacore.com>
5757 * bindgen.adb: Do not generate adafinal if No_Finalization restriction
5760 2009-04-15 Ed Schonberg <schonberg@adacore.com>
5762 * freeze.adb (Freeze_Entity): improve error message for improper use of
5764 Diagnose additional illegal uses of incomplete types in formal parts.
5765 appearing in formal parts.
5767 * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
5769 2009-04-15 Robert Dewar <dewar@adacore.com>
5771 * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
5773 2009-04-15 Nicolas Roche <roche@adacore.com>
5775 * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
5778 * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
5780 * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
5782 2009-04-15 Ed Schonberg <schonberg@adacore.com>
5784 * sem_ch4.adb: improve error message on exponentiation.
5786 2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
5788 * a-calend.adb: Move constant Epoch_Offset from package
5789 Conversion_Operations to top level.
5790 (Delay_Operations.To_Duration): Define a constant which represents
5791 "end of time" and use it as a guard against very distant delay dates.
5792 Protect the code against overflow when performing the origin shift to
5795 2009-04-15 Robert Dewar <dewar@adacore.com>
5797 * sem_prag.adb: Minor reformatting.
5799 * sem_type.adb: Minor reformatting
5801 2009-04-15 Javier Miranda <miranda@adacore.com>
5803 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
5804 support to check eliminated subprograms.
5806 * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
5808 * sem_elim.adb (Set_Eliminated): Add support for elimination of
5809 dispatching subprograms.
5811 * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
5812 operations. Initialize with "null" the slots of eliminated dispaching
5814 (Write_DT): Add output for eliminated primitives.
5816 * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
5818 2009-04-15 Ed Schonberg <schonberg@adacore.com>
5820 * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
5821 the second is redundant, regardless of scopes.
5823 2009-04-15 Vincent Celier <celier@adacore.com>
5825 * prj-nmsc.adb (Get_Directories): Check for sources before checking
5826 the object directory as when there are no sources, they may not be any
5829 * make.adb (Gnatmake): Do not attempt to get the path name of the exec
5830 directory, when there are no exec directory.
5832 2009-04-15 Ed Schonberg <schonberg@adacore.com>
5834 * sem_type.adb (Remove_Conversions): In order to resolve spurious
5835 ambiguities, refine removal of universal interpretations from complex
5836 expressions with literal arguments, when some numeric operators have
5837 been declared abstract.
5839 2009-04-15 Ed Falis <falis@adacore.com>
5841 * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
5842 and backward compatibility for targets using probing for stack overflow
5844 2009-04-15 Ed Schonberg <schonberg@adacore.com>
5846 * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
5847 after any declaration, including renaming declarations.
5849 2009-04-15 Arnaud Charlet <charlet@adacore.com>
5851 * gcc-interface/Make-lang.in: Update dependencies.
5853 * gcc-interface/Makefile.in: Fix VxWorks target pairs.
5854 Update xenomai target pairs.
5856 2009-04-15 Javier Miranda <miranda@adacore.com>
5858 * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
5860 * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
5861 functions returning anonymous access to class-wide limited types. Mark
5862 also the containing scope as a task master.
5864 * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
5865 limited-withed packages. Required to restore their visibility after
5866 processing packages associated with implicit with-clauses.
5868 * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
5869 associated with return statements because this work is now done by
5870 Check_Anonymous_Return.
5871 (Build_Master): Code cleanup.
5873 2009-04-15 Thomas Quinot <quinot@adacore.com>
5875 * sem_warn.ads: Minor reformatting
5877 2009-04-15 Ed Schonberg <schonberg@adacore.com>
5879 * sem_ch3.adb: better error message for illegal interfaces
5881 * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
5882 formal is an incomplete type from a limited_with clause.
5884 2009-04-15 Vincent Celier <celier@adacore.com>
5886 * prj-nmsc.adb (Locate_Directory): New Boolean parameter
5887 Externally_Built indicating if the project is externally built. If it
5888 is, and --subdirs is specified, but the subdir does not exist, look
5889 for the specified directory, without the subdir.
5891 2009-04-15 Gary Dismukes <dismukes@adacore.com>
5893 * a-tasatt.adb: Fix typo, plus minor reformatting
5895 * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
5897 * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
5899 2009-04-15 Ed Schonberg <schonberg@adacore.com>
5901 * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
5902 private extension whose parent is a synchronized interface carries an
5903 explicit synchronized keyword.
5905 2009-04-15 Thomas Quinot <quinot@adacore.com>
5907 * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
5908 instantiate generic shared object package with the corresponding
5911 2009-04-15 Arnaud Charlet <charlet@adacore.com>
5913 * system-linux-sparc.ads: Remove obsolete entries.
5915 2009-04-15 Thomas Quinot <quinot@adacore.com>
5917 * s-tasuti.ads: Add ??? comment
5919 2009-04-15 Ed Schonberg <schonberg@adacore.com>
5921 * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
5922 type even if the designated type comes from a limited_with clause, to
5923 ensure that the symbol for the finalization list of the access type is
5926 2009-04-10 Robert Dewar <dewar@adacore.com>
5928 * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
5929 for warning suppression.
5931 2009-04-10 Ed Schonberg <schonberg@adacore.com>
5933 * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
5934 identical, there is no redudancy to check.
5936 2009-04-10 Gary Dismukes <dismukes@adacore.com>
5938 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
5939 calls initializing SS_Allocator (which is initialized in following
5941 (Expand_Simple_Function_Return): Add comment about False value for
5942 Comes_From_Source on secondary-stack allocator.
5944 * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
5945 (Build_Entry_Name): Add comment.
5947 2009-04-10 Robert Dewar <dewar@adacore.com>
5949 * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
5951 * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
5952 bound tested, since this is now done more generally in Sem_Res.
5954 * sem_res.adb (Resolve_Comparison_Op): Add call to
5955 Check_Lower_Bound_Tested.
5956 (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
5958 * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
5959 (Low_Bound_Tested): New name for Low_Bound_Known flag
5961 * exp_ch5.adb: Minor reformatting
5964 Add comments on copying the Comes_From_Source flag for allocators
5967 Add comments on copying the Comes_From_Source flag for allocators
5969 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
5970 Comes_From_Source flag from old allocator to new one.
5972 2009-04-10 Ed Schonberg <schonberg@adacore.com>
5974 * sem_ch6.ads: Address missing documentation query
5976 2009-04-10 Vincent Celier <celier@adacore.com>
5979 Add new Linker attributes Max_Command_Line_Length, Response_File_Format
5980 and Response_File_Switches.
5982 * prj-nmsc.adb (Process_Linker): Process new attributes
5983 Max_Command_Line_Length, Response_File_Format and
5984 Response_File_Switches.
5986 * prj.ads (Response_File_Format): New enumeration type
5987 (Project_Configuration): New componants Max_Command_Line_Length,
5988 Resp_File_Format and Resp_File_Options.
5990 * snames.ads-tmpl: Add new standard names for linking response files
5991 for gprbuild: GNU, None, Object_List, Option_List,
5992 Max_Command_Line_Length, Response_File_Format and
5993 Response_File_Switches.
5995 2009-04-10 Geert Bosch <bosch@adacore.com>
5997 * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
5998 system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
5999 system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
6000 system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
6001 system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
6002 system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
6003 system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
6004 system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
6005 system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
6006 system-vxworks-arm.ads, system-vxworks-m68k.ads,
6007 system-vxworks-mips.ads, system-vxworks-ppc.ads,
6008 system-vxworks-sparcv9.ads, system-vxworks-x86.ads
6009 (Backend_Overflow_Checks): Set to True.
6011 2009-04-10 Thomas Quinot <quinot@adacore.com>
6013 * exp_attr.adb: Minor reformatting
6015 2009-04-10 Ed Schonberg <schonberg@adacore.com>
6017 * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
6018 analyze the expression for a postcondition, even if the compiler mode
6021 2009-04-10 Robert Dewar <dewar@adacore.com>
6023 * sem_aux.adb: Minor reformatting
6025 2009-04-10 Ed Falis <falis@adacore.com>
6027 * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
6029 * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
6031 2009-04-10 Thomas Quinot <quinot@adacore.com>
6033 * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
6034 undocumented formal.
6037 * a-direio.ads: Fix typo in comment
6039 * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
6040 errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
6041 Use uniform phrasing for comment at start of subprogram body.
6043 * xsnamest.adb: Add note to explain why we use specific names for the
6044 newly generated files instead of generating snames.{ads,adb,h} directly
6046 2009-04-10 Sergey Rybin <rybin@adacore.com>
6049 Add qualifier for new gnatstub option '--no-exception'
6052 Add the description of the new gnatstub option '--no-exception'
6054 2009-04-10 Robert Dewar <dewar@adacore.com>
6056 * rtsfind.adb: Minor reformatting
6058 2009-04-10 Thomas Quinot <quinot@adacore.com>
6060 * sem_disp.adb: Minor reformatting.
6061 Add comment pointing to RM clause for the case of warning against a
6062 (failed) attempt at declaring a primitive operation elsewhere than in a
6065 2009-04-10 Ed Schonberg <schonberg@adacore.com>
6067 * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
6068 an actual for a previous formal package of the current instance.
6070 2009-04-10 Bob Duff <duff@adacore.com>
6072 * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
6073 them first, rather than on the extended main unit.
6075 2009-04-10 Ed Schonberg <schonberg@adacore.com>
6077 * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
6078 specification of full view carries a null exclusion indicator, create
6079 an itype for it, to check for conformance with partial view.
6081 2009-04-10 Bob Duff <duff@adacore.com>
6083 * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
6085 * rtsfind.adb: Minor comment changes, and remove useless code.
6087 * sinfo.ads: Add ??? comment.
6089 2009-04-10 Vincent Celier <celier@adacore.com>
6091 * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
6093 2009-04-10 Ed Schonberg <schonberg@adacore.com>
6095 * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
6096 type is a synchronized type, retrieve tag information from the
6097 corresponding record, which has the dispatch table link.
6099 2009-04-10 Jerome Lambourg <lambourg@adacore.com>
6101 * g-comlin.adb (Group_Analysis): Take care of switches that might be
6102 decomposed afterwards, but are present as-is in the command line
6103 configuration, and thus should be kept as-is.
6105 2009-04-10 Robert Dewar <dewar@adacore.com>
6107 * gnat_rm.texi: Document that postconditions are tested on implicit
6110 * sem_aux.adb: Minor reformatting
6112 2009-04-10 Gary Dismukes <dismukes@adacore.com>
6114 * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
6117 * par-ch3.adb (P_Access_Type_Definition): Set new attribute
6118 Null_Exclusion_In_Return_Present when an access-to-function type has a
6119 result type with an explicit not null.
6121 * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
6122 given on the result type, then create a null-excluding itype for the
6125 * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
6126 the case where a null exclusion is imposed on a named access type.
6127 (Analyze_Subprogram_Specification): Push and pop the scope of the
6128 function around the call to Analyze_Return_Type in the case of no
6129 formals, for consistency with handling when formals are present
6130 (Process_Formals does this). Ensures that any itype created for the
6131 return type will be associated with the proper scope.
6133 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
6134 exclusion is given on a generic function's result type, then create a
6135 null-excluding itype for the generic function.
6136 (Instantiate_Object): Set Null_Exclusion_Present of a constant created
6137 for an actual for a formal in object according to the setting on the
6138 formal. Ensures null exclusion checks are done when the association is
6141 * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
6142 N_Access_Function_Definition.
6144 * sinfo.adb: Add Get_ and Set_ operations for
6145 Null_Exclusion_In_Return_Present.
6147 2009-04-10 Bob Duff <duff@adacore.com>
6149 * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
6150 call to the _Postconditions procedure in the case of implicit returns
6151 from analysis to expansion. This eliminates some duplicated code. Use
6152 the Postcondition_Proc to find the identity of this procedure during
6155 2009-04-10 Robert Dewar <dewar@adacore.com>
6157 * sem_ch6.adb: Minor code clean up.
6159 * einfo.ads, sem_attr.adb: Minor comment fixes.
6161 2009-04-10 Robert Dewar <dewar@adacore.com>
6163 * sem_ch8.adb: Minor reformatting
6165 2009-04-10 Robert Dewar <dewar@adacore.com>
6167 * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
6170 * sem_ch6.adb: Minor code clean up.
6172 2009-04-10 Robert Dewar <dewar@adacore.com>
6174 * mlib-tgt-specific-xi.adb: Minor reformatting
6176 2009-04-10 Bob Duff <duff@adacore.com>
6178 * einfo.ads: Minor comment fixes
6180 2009-04-10 Vincent Celier <celier@adacore.com>
6182 * snames.ads-tmpl: Remove names that are no longer used in the
6184 Mark specifically those that are used only in gprbuild
6186 2009-04-10 Eric Botcazou <ebotcazou@adacore.com>
6188 * init.c: Adjust EH support code on Alpha/Tru64.
6190 2009-04-10 Bob Duff <duff@adacore.com>
6192 * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
6193 procedure on every path that could return implicitly (not via a return
6194 statement) from a procedure.
6196 2009-04-10 Ed Schonberg <schonberg@adacore.com>
6198 * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
6199 valid scope for a task declarations and therefore for a master id.
6201 2009-04-10 Robert Dewar <dewar@adacore.com>
6203 * sem_aux.adb: Minor reformatting
6205 2009-04-10 Vincent Celier <celier@adacore.com>
6207 * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
6209 (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
6210 (Set_Obsolescent_Check): New procedure to change the value of
6211 Obsolescent_Check_Flag.
6213 * scn.ads (Set_Obsolescent_Check): New procedure to control
6216 * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
6217 obsolescent features while preprocessing.
6219 2009-04-10 Thomas Quinot <quinot@adacore.com>
6221 * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
6222 generated files on all platforms.
6224 2009-04-10 Robert Dewar <dewar@adacore.com>
6226 * sem_aux.adb: Minor reformatting
6228 2009-04-10 Ed Schonberg <schonberg@adacore.com>
6230 * sem_ch3.adb (Access_Definition): Handle properly the case of a
6231 protected function with formals that returns an anonymous access type.
6233 2009-04-10 Thomas Quinot <quinot@adacore.com>
6235 * sem_disp.adb: Minor reformatting
6237 2009-04-10 Vasiliy Fofanov <fofanov@adacore.com>
6239 * seh_init.c: Do not use the 32-bit specific implementation of
6240 __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
6243 2009-04-10 Jose Ruiz <ruiz@adacore.com>
6245 * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
6246 a '/' at the end so we better use the complete target name to determine
6247 whether it is a PowerPC 55xx target.
6249 2009-04-10 Thomas Quinot <quinot@adacore.com>
6251 * sem_eval.adb: Minor reformatting
6253 2009-04-10 Thomas Quinot <quinot@adacore.com>
6255 * snames.h, snames.ads, snames.adb: Remove files, now generated from
6258 * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
6261 * xsnamest.adb: New file.
6263 * gcc-interface/Make-lang.in: New target for automated generation of
6264 snames.ads, snames.adb and snames.h
6266 2009-04-10 Tristan Gingold <gingold@adacore.com>
6268 * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
6269 avoid compile time warnings.
6270 Do not add gcc/config in include search list while compiling the RTS.
6271 Pragma Thread_Local_Storage is available on any target.
6273 2009-04-10 Bob Duff <duff@adacore.com>
6275 * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
6277 2009-04-10 Tristan Gingold <gingold@adacore.com>
6279 * init.c: Install signal handler on Darwin.
6281 2009-04-10 Robert Dewar <dewar@adacore.com>
6283 * sem_prag.adb: Minor reformatting
6285 * exp_util.adb (Make_Non_Empty_Check): New function
6286 (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
6287 (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
6289 2009-04-10 Arnaud Charlet <charlet@adacore.com>
6291 * make.adb, gnatlink.adb: Rename JGNAT toolchain.
6293 2009-04-10 Jose Ruiz <ruiz@adacore.com>
6295 * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
6296 tool prefix for AVR and PowerPC 55xx targets.
6298 2009-04-10 Robert Dewar <dewar@adacore.com>
6300 * sem_warn.adb (Within_Postcondition): New function
6301 (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
6303 2009-04-10 Robert Dewar <dewar@adacore.com>
6305 * sem_warn.adb: Minor reformatting
6307 * make.adb: Minor reformatting.
6309 2009-04-10 Gary Dismukes <dismukes@adacore.com>
6311 * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
6312 entity and the scope is a subprogram, retrieve the Sloc of the
6313 subprogram's body rather than using the sloc of the spec, for better
6314 line-stepping behavior in gdb.
6315 (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
6316 controller, use the Sloc of the first declaration of the containing list
6317 rather than that of the node that triggered creation of the list
6320 2009-04-10 Vincent Celier <celier@adacore.com>
6322 * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
6323 to avoid gcc warning.
6325 2009-04-10 Robert Dewar <dewar@adacore.com>
6327 * g-comlin.adb: Add ??? comment
6329 2009-04-10 Ed Schonberg <schonberg@adacore.com>
6331 * sem_warn.adb (Check_Unused_Withs): Do not emit message about
6332 unreferenced entities for a package with no visible declarations.
6334 2009-04-10 Robert Dewar <dewar@adacore.com>
6336 * exp_ch9.adb: Minor reformatting
6338 2009-04-10 Thomas Quinot <quinot@adacore.com>
6340 * sem_prag.adb: Minor reformatting
6342 2009-04-10 Vincent Celier <celier@adacore.com>
6345 (Check_Library_Attributes): For a project qualified as a library project
6346 that is not a library project, indicate in the error message which
6347 attributes are missing (Library_Dir and/or Library_Name).
6349 2009-04-10 Bob Duff <duff@adacore.com>
6351 * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
6352 generated nodes, because it might confuse various circuits in the FE.
6354 2009-04-10 Ed Schonberg <schonberg@adacore.com>
6356 * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
6357 of pragma. It will be recopied and analyzed when used in call to
6360 * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
6361 initialization operations and recognize use of it in procedure calls
6364 * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
6365 argument, because it may have side-effects.
6367 * exp_ch2.adb: Remove obsolete comments on default functions
6369 2009-04-10 Jose Ruiz <ruiz@adacore.com>
6371 * adaint.c (RTX section): Do for RTX the same thing as we do for
6372 Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
6374 2009-04-10 Robert Dewar <dewar@adacore.com>
6376 * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
6378 * sem_res.adb (Resolve_Call): Fix test for
6379 Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
6380 a non-dynamic scope).
6382 2009-04-10 Robert Dewar <dewar@adacore.com>
6384 * make.adb: Add comment.
6387 2009-04-10 Nicolas Setton <setton@adacore.com>
6389 * s-osprim-darwin.adb: New file.
6391 * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
6393 2009-04-10 Thomas Quinot <quinot@adacore.com>
6395 * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
6397 2009-04-09 Nick Clifton <nickc@redhat.com>
6399 * adadecode.h: Change copyright header to refer to version
6400 3 of the GNU General Public License with version 3.1 of the
6401 GCC Runtime Library Exception and to point readers at the
6402 COPYING3 and COPYING3.RUNTIME files and the FSF's license web
6404 * 9drpc.adb: Likewise.
6405 * a-assert.adb: Likewise.
6406 * a-astaco.adb: Likewise.
6407 * a-calari.adb: Likewise.
6408 * a-calcon.adb: Likewise.
6409 * a-calcon.ads: Likewise.
6410 * a-caldel.ads: Likewise.
6411 * a-calend-vms.adb: Likewise.
6412 * a-calend-vms.ads: Likewise.
6413 * a-calend.adb: Likewise.
6414 * a-calend.ads: Likewise.
6415 * a-calfor.adb: Likewise.
6416 * a-catizo.adb: Likewise.
6417 * a-cdlili.adb: Likewise.
6418 * a-cdlili.ads: Likewise.
6419 * a-cgaaso.adb: Likewise.
6420 * a-cgaaso.ads: Likewise.
6421 * a-cgarso.adb: Likewise.
6422 * a-cgcaso.adb: Likewise.
6423 * a-chacon.adb: Likewise.
6424 * a-chacon.ads: Likewise.
6425 * a-chahan.adb: Likewise.
6426 * a-chahan.ads: Likewise.
6427 * a-chlat9.ads: Likewise.
6428 * a-chtgke.adb: Likewise.
6429 * a-chtgke.ads: Likewise.
6430 * a-chtgop.adb: Likewise.
6431 * a-chtgop.ads: Likewise.
6432 * a-chzla1.ads: Likewise.
6433 * a-chzla9.ads: Likewise.
6434 * a-cidlli.adb: Likewise.
6435 * a-cidlli.ads: Likewise.
6436 * a-cihama.adb: Likewise.
6437 * a-cihama.ads: Likewise.
6438 * a-cihase.adb: Likewise.
6439 * a-cihase.ads: Likewise.
6440 * a-ciorma.adb: Likewise.
6441 * a-ciorma.ads: Likewise.
6442 * a-ciormu.adb: Likewise.
6443 * a-ciormu.ads: Likewise.
6444 * a-ciorse.adb: Likewise.
6445 * a-ciorse.ads: Likewise.
6446 * a-clrefi.adb: Likewise.
6447 * a-clrefi.ads: Likewise.
6448 * a-cohama.adb: Likewise.
6449 * a-cohama.ads: Likewise.
6450 * a-cohase.adb: Likewise.
6451 * a-cohase.ads: Likewise.
6452 * a-cohata.ads: Likewise.
6453 * a-coinve.adb: Likewise.
6454 * a-coinve.ads: Likewise.
6455 * a-colien.adb: Likewise.
6456 * a-colien.ads: Likewise.
6457 * a-colire.adb: Likewise.
6458 * a-colire.ads: Likewise.
6459 * a-comlin.adb: Likewise.
6460 * a-comlin.ads: Likewise.
6461 * a-convec.adb: Likewise.
6462 * a-convec.ads: Likewise.
6463 * a-coorma.adb: Likewise.
6464 * a-coorma.ads: Likewise.
6465 * a-coormu.adb: Likewise.
6466 * a-coormu.ads: Likewise.
6467 * a-coorse.adb: Likewise.
6468 * a-coorse.ads: Likewise.
6469 * a-coprnu.adb: Likewise.
6470 * a-coprnu.ads: Likewise.
6471 * a-crbltr.ads: Likewise.
6472 * a-crbtgk.adb: Likewise.
6473 * a-crbtgk.ads: Likewise.
6474 * a-crbtgo.adb: Likewise.
6475 * a-crbtgo.ads: Likewise.
6476 * a-crdlli.adb: Likewise.
6477 * a-crdlli.ads: Likewise.
6478 * a-cwila1.ads: Likewise.
6479 * a-cwila9.ads: Likewise.
6480 * a-decima.adb: Likewise.
6481 * a-decima.ads: Likewise.
6482 * a-diocst.adb: Likewise.
6483 * a-diocst.ads: Likewise.
6484 * a-direct.adb: Likewise.
6485 * a-direct.ads: Likewise.
6486 * a-direio.adb: Likewise.
6487 * a-direio.ads: Likewise.
6488 * a-dirval-mingw.adb: Likewise.
6489 * a-dirval-vms.adb: Likewise.
6490 * a-dirval.adb: Likewise.
6491 * a-dirval.ads: Likewise.
6492 * a-dynpri.adb: Likewise.
6493 * a-einuoc.adb: Likewise.
6494 * a-einuoc.ads: Likewise.
6495 * a-elchha.adb: Likewise.
6496 * a-elchha.ads: Likewise.
6497 * a-envvar.adb: Likewise.
6498 * a-excach.adb: Likewise.
6499 * a-except-2005.adb: Likewise.
6500 * a-except-2005.ads: Likewise.
6501 * a-except.adb: Likewise.
6502 * a-except.ads: Likewise.
6503 * a-excpol-abort.adb: Likewise.
6504 * a-excpol.adb: Likewise.
6505 * a-exctra.adb: Likewise.
6506 * a-exctra.ads: Likewise.
6507 * a-exetim-mingw.adb: Likewise.
6508 * a-exetim-mingw.ads: Likewise.
6509 * a-exexda.adb: Likewise.
6510 * a-exexpr-gcc.adb: Likewise.
6511 * a-exexpr.adb: Likewise.
6512 * a-exextr.adb: Likewise.
6513 * a-exstat.adb: Likewise.
6514 * a-filico.adb: Likewise.
6515 * a-filico.ads: Likewise.
6516 * a-finali.adb: Likewise.
6517 * a-finali.ads: Likewise.
6518 * a-interr.ads: Likewise.
6519 * a-intnam-aix.ads: Likewise.
6520 * a-intnam-darwin.ads: Likewise.
6521 * a-intnam-dummy.ads: Likewise.
6522 * a-intnam-freebsd.ads: Likewise.
6523 * a-intnam-hpux.ads: Likewise.
6524 * a-intnam-irix.ads: Likewise.
6525 * a-intnam-linux.ads: Likewise.
6526 * a-intnam-lynxos.ads: Likewise.
6527 * a-intnam-mingw.ads: Likewise.
6528 * a-intnam-rtems.ads: Likewise.
6529 * a-intnam-solaris.ads: Likewise.
6530 * a-intnam-tru64.ads: Likewise.
6531 * a-intnam-vms.ads: Likewise.
6532 * a-intnam-vxworks.ads: Likewise.
6533 * a-intsig.adb: Likewise.
6534 * a-intsig.ads: Likewise.
6535 * a-ngcefu.adb: Likewise.
6536 * a-ngcoar.adb: Likewise.
6537 * a-ngcoty.adb: Likewise.
6538 * a-ngcoty.ads: Likewise.
6539 * a-ngelfu.adb: Likewise.
6540 * a-ngrear.adb: Likewise.
6541 * a-ngrear.ads: Likewise.
6542 * a-nudira.adb: Likewise.
6543 * a-nudira.ads: Likewise.
6544 * a-nuflra.adb: Likewise.
6545 * a-nuflra.ads: Likewise.
6546 * a-numaux-darwin.adb: Likewise.
6547 * a-numaux-darwin.ads: Likewise.
6548 * a-numaux-libc-x86.ads: Likewise.
6549 * a-numaux-vxworks.ads: Likewise.
6550 * a-numaux-x86.adb: Likewise.
6551 * a-numaux-x86.ads: Likewise.
6552 * a-numaux.ads: Likewise.
6553 * a-rbtgso.adb: Likewise.
6554 * a-rbtgso.ads: Likewise.
6555 * a-reatim.ads: Likewise.
6556 * a-retide.adb: Likewise.
6557 * a-retide.ads: Likewise.
6558 * a-rttiev.adb: Likewise.
6559 * a-rttiev.ads: Likewise.
6560 * a-secain.adb: Likewise.
6561 * a-secain.ads: Likewise.
6562 * a-sequio.adb: Likewise.
6563 * a-sequio.ads: Likewise.
6564 * a-shcain.adb: Likewise.
6565 * a-shcain.ads: Likewise.
6566 * a-siocst.adb: Likewise.
6567 * a-siocst.ads: Likewise.
6568 * a-slcain.adb: Likewise.
6569 * a-slcain.ads: Likewise.
6570 * a-ssicst.adb: Likewise.
6571 * a-ssicst.ads: Likewise.
6572 * a-stboha.adb: Likewise.
6573 * a-stmaco.ads: Likewise.
6574 * a-storio.adb: Likewise.
6575 * a-strbou.adb: Likewise.
6576 * a-strbou.ads: Likewise.
6577 * a-stream.ads: Likewise.
6578 * a-strfix.adb: Likewise.
6579 * a-strhas.adb: Likewise.
6580 * a-strmap.adb: Likewise.
6581 * a-strmap.ads: Likewise.
6582 * a-strsea.adb: Likewise.
6583 * a-strsea.ads: Likewise.
6584 * a-strsup.adb: Likewise.
6585 * a-strsup.ads: Likewise.
6586 * a-strunb.adb: Likewise.
6587 * a-strunb.ads: Likewise.
6588 * a-ststio.adb: Likewise.
6589 * a-ststio.ads: Likewise.
6590 * a-stunau.adb: Likewise.
6591 * a-stunau.ads: Likewise.
6592 * a-stunha.adb: Likewise.
6593 * a-stwibo.adb: Likewise.
6594 * a-stwibo.ads: Likewise.
6595 * a-stwifi.adb: Likewise.
6596 * a-stwiha.adb: Likewise.
6597 * a-stwima.adb: Likewise.
6598 * a-stwima.ads: Likewise.
6599 * a-stwise.adb: Likewise.
6600 * a-stwise.ads: Likewise.
6601 * a-stwisu.adb: Likewise.
6602 * a-stwisu.ads: Likewise.
6603 * a-stwiun.adb: Likewise.
6604 * a-stwiun.ads: Likewise.
6605 * a-stzbou.adb: Likewise.
6606 * a-stzbou.ads: Likewise.
6607 * a-stzfix.adb: Likewise.
6608 * a-stzhas.adb: Likewise.
6609 * a-stzmap.adb: Likewise.
6610 * a-stzmap.ads: Likewise.
6611 * a-stzsea.adb: Likewise.
6612 * a-stzsea.ads: Likewise.
6613 * a-stzsup.adb: Likewise.
6614 * a-stzsup.ads: Likewise.
6615 * a-stzunb.adb: Likewise.
6616 * a-stzunb.ads: Likewise.
6617 * a-suteio.adb: Likewise.
6618 * a-suteio.ads: Likewise.
6619 * a-swbwha.adb: Likewise.
6620 * a-swmwco.ads: Likewise.
6621 * a-swunau.adb: Likewise.
6622 * a-swunau.ads: Likewise.
6623 * a-swuwha.adb: Likewise.
6624 * a-swuwti.adb: Likewise.
6625 * a-swuwti.ads: Likewise.
6626 * a-sytaco.adb: Likewise.
6627 * a-sytaco.ads: Likewise.
6628 * a-szbzha.adb: Likewise.
6629 * a-szmzco.ads: Likewise.
6630 * a-szunau.adb: Likewise.
6631 * a-szunau.ads: Likewise.
6632 * a-szuzha.adb: Likewise.
6633 * a-szuzti.adb: Likewise.
6634 * a-szuzti.ads: Likewise.
6635 * a-tags.adb: Likewise.
6636 * a-tags.ads: Likewise.
6637 * a-tasatt.ads: Likewise.
6638 * a-taside.adb: Likewise.
6639 * a-taside.ads: Likewise.
6640 * a-taster.adb: Likewise.
6641 * a-teioed.adb: Likewise.
6642 * a-teioed.ads: Likewise.
6643 * a-textio.adb: Likewise.
6644 * a-textio.ads: Likewise.
6645 * a-tiboio.adb: Likewise.
6646 * a-ticoau.adb: Likewise.
6647 * a-ticoau.ads: Likewise.
6648 * a-ticoio.adb: Likewise.
6649 * a-ticoio.ads: Likewise.
6650 * a-tideau.adb: Likewise.
6651 * a-tideau.ads: Likewise.
6652 * a-tideio.adb: Likewise.
6653 * a-tideio.ads: Likewise.
6654 * a-tienau.adb: Likewise.
6655 * a-tienau.ads: Likewise.
6656 * a-tienio.adb: Likewise.
6657 * a-tienio.ads: Likewise.
6658 * a-tifiio.adb: Likewise.
6659 * a-tifiio.ads: Likewise.
6660 * a-tiflau.adb: Likewise.
6661 * a-tiflau.ads: Likewise.
6662 * a-tiflio.adb: Likewise.
6663 * a-tiflio.ads: Likewise.
6664 * a-tigeau.adb: Likewise.
6665 * a-tigeau.ads: Likewise.
6666 * a-tiinau.adb: Likewise.
6667 * a-tiinau.ads: Likewise.
6668 * a-tiinio.adb: Likewise.
6669 * a-tiinio.ads: Likewise.
6670 * a-timoau.adb: Likewise.
6671 * a-timoau.ads: Likewise.
6672 * a-timoio.adb: Likewise.
6673 * a-timoio.ads: Likewise.
6674 * a-tiocst.adb: Likewise.
6675 * a-tiocst.ads: Likewise.
6676 * a-titest.adb: Likewise.
6677 * a-wichun.adb: Likewise.
6678 * a-wichun.ads: Likewise.
6679 * a-witeio.adb: Likewise.
6680 * a-witeio.ads: Likewise.
6681 * a-wtcoau.adb: Likewise.
6682 * a-wtcoau.ads: Likewise.
6683 * a-wtcoio.adb: Likewise.
6684 * a-wtcstr.adb: Likewise.
6685 * a-wtcstr.ads: Likewise.
6686 * a-wtdeau.adb: Likewise.
6687 * a-wtdeau.ads: Likewise.
6688 * a-wtdeio.adb: Likewise.
6689 * a-wtdeio.ads: Likewise.
6690 * a-wtedit.adb: Likewise.
6691 * a-wtedit.ads: Likewise.
6692 * a-wtenau.adb: Likewise.
6693 * a-wtenau.ads: Likewise.
6694 * a-wtenio.adb: Likewise.
6695 * a-wtenio.ads: Likewise.
6696 * a-wtfiio.adb: Likewise.
6697 * a-wtfiio.ads: Likewise.
6698 * a-wtflau.adb: Likewise.
6699 * a-wtflau.ads: Likewise.
6700 * a-wtflio.adb: Likewise.
6701 * a-wtflio.ads: Likewise.
6702 * a-wtgeau.adb: Likewise.
6703 * a-wtgeau.ads: Likewise.
6704 * a-wtinau.adb: Likewise.
6705 * a-wtinau.ads: Likewise.
6706 * a-wtinio.adb: Likewise.
6707 * a-wtmoau.adb: Likewise.
6708 * a-wtmoau.ads: Likewise.
6709 * a-wtmoio.adb: Likewise.
6710 * a-wtmoio.ads: Likewise.
6711 * a-wttest.adb: Likewise.
6712 * a-wwboio.adb: Likewise.
6713 * a-zchuni.adb: Likewise.
6714 * a-zchuni.ads: Likewise.
6715 * a-ztcoau.adb: Likewise.
6716 * a-ztcoau.ads: Likewise.
6717 * a-ztcoio.adb: Likewise.
6718 * a-ztcstr.adb: Likewise.
6719 * a-ztcstr.ads: Likewise.
6720 * a-ztdeau.adb: Likewise.
6721 * a-ztdeau.ads: Likewise.
6722 * a-ztdeio.adb: Likewise.
6723 * a-ztdeio.ads: Likewise.
6724 * a-ztedit.adb: Likewise.
6725 * a-ztedit.ads: Likewise.
6726 * a-ztenau.adb: Likewise.
6727 * a-ztenau.ads: Likewise.
6728 * a-ztenio.adb: Likewise.
6729 * a-ztenio.ads: Likewise.
6730 * a-ztexio.adb: Likewise.
6731 * a-ztexio.ads: Likewise.
6732 * a-ztfiio.adb: Likewise.
6733 * a-ztfiio.ads: Likewise.
6734 * a-ztflau.adb: Likewise.
6735 * a-ztflau.ads: Likewise.
6736 * a-ztflio.adb: Likewise.
6737 * a-ztflio.ads: Likewise.
6738 * a-ztgeau.adb: Likewise.
6739 * a-ztgeau.ads: Likewise.
6740 * a-ztinau.adb: Likewise.
6741 * a-ztinau.ads: Likewise.
6742 * a-ztinio.adb: Likewise.
6743 * a-ztmoau.adb: Likewise.
6744 * a-ztmoau.ads: Likewise.
6745 * a-ztmoio.adb: Likewise.
6746 * a-ztmoio.ads: Likewise.
6747 * a-zttest.adb: Likewise.
6748 * a-zzboio.adb: Likewise.
6749 * adadecode.c: Likewise.
6750 * adaint.c: Likewise.
6751 * adaint.h: Likewise.
6752 * alloc.ads: Likewise.
6754 * arit64.c: Likewise.
6755 * atree.adb: Likewise.
6756 * atree.ads: Likewise.
6757 * aux-io.c: Likewise.
6759 * casing.adb: Likewise.
6760 * casing.ads: Likewise.
6762 * csets.adb: Likewise.
6763 * csets.ads: Likewise.
6764 * cstreams.c: Likewise.
6765 * ctrl_c.c: Likewise.
6766 * debug.adb: Likewise.
6767 * debug.ads: Likewise.
6768 * dec.ads: Likewise.
6769 * einfo.adb: Likewise.
6770 * einfo.ads: Likewise.
6771 * elists.adb: Likewise.
6772 * elists.ads: Likewise.
6775 * errno.c: Likewise.
6778 * final.c: Likewise.
6779 * fname.adb: Likewise.
6780 * fname.ads: Likewise.
6781 * g-allein.ads: Likewise.
6782 * g-alleve.adb: Likewise.
6783 * g-alleve.ads: Likewise.
6784 * g-altcon.adb: Likewise.
6785 * g-altcon.ads: Likewise.
6786 * g-altive.ads: Likewise.
6787 * g-alveop.adb: Likewise.
6788 * g-alveop.ads: Likewise.
6789 * g-alvety.ads: Likewise.
6790 * g-alvevi.ads: Likewise.
6791 * g-arrspl.adb: Likewise.
6792 * g-arrspl.ads: Likewise.
6793 * g-calend.ads: Likewise.
6794 * g-comlin.adb: Likewise.
6795 * g-debpoo.adb: Likewise.
6796 * g-debpoo.ads: Likewise.
6797 * g-eacodu-vms.adb: Likewise.
6798 * g-eacodu.adb: Likewise.
6799 * g-excact.adb: Likewise.
6800 * g-excact.ads: Likewise.
6801 * g-locfil.adb: Likewise.
6802 * g-os_lib.ads: Likewise.
6803 * g-rannum.adb: Likewise.
6804 * g-rannum.ads: Likewise.
6805 * g-regist.adb: Likewise.
6806 * g-regist.ads: Likewise.
6807 * g-signal.adb: Likewise.
6808 * g-signal.ads: Likewise.
6809 * g-soccon.ads: Likewise.
6810 * g-string.adb: Likewise.
6811 * g-string.ads: Likewise.
6812 * g-strspl.ads: Likewise.
6813 * g-timsta.adb: Likewise.
6814 * g-timsta.ads: Likewise.
6815 * g-trasym-vms-alpha.adb: Likewise.
6816 * g-trasym-vms-ia64.adb: Likewise.
6817 * g-utf_32.adb: Likewise.
6818 * g-utf_32.ads: Likewise.
6819 * g-wistsp.ads: Likewise.
6820 * g-zstspl.ads: Likewise.
6822 * gnatvsn.adb: Likewise.
6823 * gnatvsn.ads: Likewise.
6824 * gsocket.h: Likewise.
6825 * hostparm.ads: Likewise.
6826 * i-c.adb: Likewise.
6827 * i-cexten.ads: Likewise.
6828 * i-cobol.adb: Likewise.
6829 * i-cobol.ads: Likewise.
6830 * i-cpoint.adb: Likewise.
6831 * i-cpoint.ads: Likewise.
6832 * i-cpp.adb: Likewise.
6833 * i-cpp.ads: Likewise.
6834 * i-cstrea-vms.adb: Likewise.
6835 * i-cstrea.adb: Likewise.
6836 * i-cstrea.ads: Likewise.
6837 * i-cstrin.adb: Likewise.
6838 * i-cstrin.ads: Likewise.
6839 * i-forbla-darwin.adb: Likewise.
6840 * i-forbla-unimplemented.ads: Likewise.
6841 * i-forbla.adb: Likewise.
6842 * i-forbla.ads: Likewise.
6843 * i-forlap.ads: Likewise.
6844 * i-fortra.adb: Likewise.
6845 * i-pacdec.adb: Likewise.
6846 * i-pacdec.ads: Likewise.
6847 * i-vxwoio.adb: Likewise.
6848 * i-vxwoio.ads: Likewise.
6849 * indepsw-aix.adb: Likewise.
6850 * indepsw-gnu.adb: Likewise.
6851 * indepsw-mingw.adb: Likewise.
6852 * indepsw.adb: Likewise.
6853 * indepsw.ads: Likewise.
6855 * initialize.c: Likewise.
6856 * interfac.ads: Likewise.
6857 * krunch.adb: Likewise.
6858 * krunch.ads: Likewise.
6859 * lib-list.adb: Likewise.
6860 * lib-sort.adb: Likewise.
6861 * lib.adb: Likewise.
6862 * lib.ads: Likewise.
6864 * math_lib.adb: Likewise.
6865 * memtrack.adb: Likewise.
6866 * mingw32.h: Likewise.
6867 * mkdir.c: Likewise.
6868 * namet-sp.adb: Likewise.
6869 * namet-sp.ads: Likewise.
6870 * namet.adb: Likewise.
6871 * namet.ads: Likewise.
6872 * nlists.adb: Likewise.
6873 * nlists.ads: Likewise.
6874 * opt.adb: Likewise.
6875 * opt.ads: Likewise.
6876 * output.adb: Likewise.
6877 * output.ads: Likewise.
6878 * raise-gcc.c: Likewise.
6879 * raise.c: Likewise.
6880 * raise.h: Likewise.
6881 * repinfo.adb: Likewise.
6882 * repinfo.ads: Likewise.
6883 * repinfo.h: Likewise.
6884 * rident.ads: Likewise.
6885 * s-addima.adb: Likewise.
6886 * s-addima.ads: Likewise.
6887 * s-addope.adb: Likewise.
6888 * s-addope.ads: Likewise.
6889 * s-arit64.adb: Likewise.
6890 * s-arit64.ads: Likewise.
6891 * s-assert.adb: Likewise.
6892 * s-assert.ads: Likewise.
6893 * s-asthan-vms-alpha.adb: Likewise.
6894 * s-asthan.adb: Likewise.
6895 * s-asthan.ads: Likewise.
6896 * s-atacco.adb: Likewise.
6897 * s-atacco.ads: Likewise.
6898 * s-auxdec-empty.adb: Likewise.
6899 * s-auxdec-empty.ads: Likewise.
6900 * s-auxdec-vms_64.ads: Likewise.
6901 * s-auxdec.adb: Likewise.
6902 * s-auxdec.ads: Likewise.
6903 * s-bitops.adb: Likewise.
6904 * s-bitops.ads: Likewise.
6905 * s-boarop.ads: Likewise.
6906 * s-carsi8.adb: Likewise.
6907 * s-carsi8.ads: Likewise.
6908 * s-carun8.adb: Likewise.
6909 * s-carun8.ads: Likewise.
6910 * s-casi16.adb: Likewise.
6911 * s-casi16.ads: Likewise.
6912 * s-casi32.adb: Likewise.
6913 * s-casi32.ads: Likewise.
6914 * s-casi64.adb: Likewise.
6915 * s-casi64.ads: Likewise.
6916 * s-casuti.ads: Likewise.
6917 * s-caun16.adb: Likewise.
6918 * s-caun16.ads: Likewise.
6919 * s-caun32.adb: Likewise.
6920 * s-caun32.ads: Likewise.
6921 * s-caun64.adb: Likewise.
6922 * s-caun64.ads: Likewise.
6923 * s-chepoo.ads: Likewise.
6924 * s-crc32.adb: Likewise.
6925 * s-crc32.ads: Likewise.
6926 * s-crtl.ads: Likewise.
6927 * s-direio.adb: Likewise.
6928 * s-direio.ads: Likewise.
6929 * s-dsaser.ads: Likewise.
6930 * s-except.adb: Likewise.
6931 * s-except.ads: Likewise.
6932 * s-exctab.adb: Likewise.
6933 * s-exctab.ads: Likewise.
6934 * s-exnint.adb: Likewise.
6935 * s-exnint.ads: Likewise.
6936 * s-exnllf.adb: Likewise.
6937 * s-exnllf.ads: Likewise.
6938 * s-exnlli.adb: Likewise.
6939 * s-exnlli.ads: Likewise.
6940 * s-expint.adb: Likewise.
6941 * s-expint.ads: Likewise.
6942 * s-explli.adb: Likewise.
6943 * s-explli.ads: Likewise.
6944 * s-expllu.adb: Likewise.
6945 * s-expllu.ads: Likewise.
6946 * s-expmod.adb: Likewise.
6947 * s-expmod.ads: Likewise.
6948 * s-expuns.adb: Likewise.
6949 * s-expuns.ads: Likewise.
6950 * s-fatflt.ads: Likewise.
6951 * s-fatgen.adb: Likewise.
6952 * s-fatgen.ads: Likewise.
6953 * s-fatlfl.ads: Likewise.
6954 * s-fatllf.ads: Likewise.
6955 * s-fatsfl.ads: Likewise.
6956 * s-ficobl.ads: Likewise.
6957 * s-fileio.adb: Likewise.
6958 * s-fileio.ads: Likewise.
6959 * s-filofl.ads: Likewise.
6960 * s-finimp.adb: Likewise.
6961 * s-finimp.ads: Likewise.
6962 * s-finroo.adb: Likewise.
6963 * s-finroo.ads: Likewise.
6964 * s-fishfl.ads: Likewise.
6965 * s-fore.adb: Likewise.
6966 * s-fore.ads: Likewise.
6967 * s-fvadfl.ads: Likewise.
6968 * s-fvaffl.ads: Likewise.
6969 * s-fvagfl.ads: Likewise.
6970 * s-gearop.adb: Likewise.
6971 * s-gearop.ads: Likewise.
6972 * s-gecobl.adb: Likewise.
6973 * s-gecobl.ads: Likewise.
6974 * s-gecola.adb: Likewise.
6975 * s-gecola.ads: Likewise.
6976 * s-gerebl.adb: Likewise.
6977 * s-gerebl.ads: Likewise.
6978 * s-gerela.adb: Likewise.
6979 * s-gerela.ads: Likewise.
6980 * s-geveop.adb: Likewise.
6981 * s-geveop.ads: Likewise.
6982 * s-gloloc.adb: Likewise.
6983 * s-gloloc.ads: Likewise.
6984 * s-hibaen.ads: Likewise.
6985 * s-imenne.adb: Likewise.
6986 * s-imenne.ads: Likewise.
6987 * s-imgbiu.adb: Likewise.
6988 * s-imgbiu.ads: Likewise.
6989 * s-imgboo.adb: Likewise.
6990 * s-imgboo.ads: Likewise.
6991 * s-imgcha.adb: Likewise.
6992 * s-imgcha.ads: Likewise.
6993 * s-imgdec.adb: Likewise.
6994 * s-imgdec.ads: Likewise.
6995 * s-imgenu.adb: Likewise.
6996 * s-imgenu.ads: Likewise.
6997 * s-imgint.adb: Likewise.
6998 * s-imgint.ads: Likewise.
6999 * s-imgllb.adb: Likewise.
7000 * s-imgllb.ads: Likewise.
7001 * s-imglld.adb: Likewise.
7002 * s-imglld.ads: Likewise.
7003 * s-imglli.adb: Likewise.
7004 * s-imglli.ads: Likewise.
7005 * s-imgllu.adb: Likewise.
7006 * s-imgllu.ads: Likewise.
7007 * s-imgllw.adb: Likewise.
7008 * s-imgllw.ads: Likewise.
7009 * s-imgrea.adb: Likewise.
7010 * s-imgrea.ads: Likewise.
7011 * s-imguns.adb: Likewise.
7012 * s-imguns.ads: Likewise.
7013 * s-imgwch.adb: Likewise.
7014 * s-imgwch.ads: Likewise.
7015 * s-imgwiu.adb: Likewise.
7016 * s-imgwiu.ads: Likewise.
7017 * s-inmaop-dummy.adb: Likewise.
7018 * s-inmaop-vms.adb: Likewise.
7019 * s-inmaop.ads: Likewise.
7020 * s-interr-hwint.adb: Likewise.
7021 * s-interr-sigaction.adb: Likewise.
7022 * s-interr-vms.adb: Likewise.
7023 * s-interr.adb: Likewise.
7024 * s-interr.ads: Likewise.
7025 * s-intman-dummy.adb: Likewise.
7026 * s-intman-mingw.adb: Likewise.
7027 * s-intman-posix.adb: Likewise.
7028 * s-intman-solaris.adb: Likewise.
7029 * s-intman-vms.adb: Likewise.
7030 * s-intman-vms.ads: Likewise.
7031 * s-intman-vxworks.adb: Likewise.
7032 * s-intman-vxworks.ads: Likewise.
7033 * s-intman.ads: Likewise.
7034 * s-io.adb: Likewise.
7035 * s-io.ads: Likewise.
7036 * s-linux-alpha.ads: Likewise.
7037 * s-linux-hppa.ads: Likewise.
7038 * s-linux.ads: Likewise.
7039 * s-maccod.ads: Likewise.
7040 * s-mantis.adb: Likewise.
7041 * s-mantis.ads: Likewise.
7042 * s-mastop-irix.adb: Likewise.
7043 * s-mastop.adb: Likewise.
7044 * s-mastop.ads: Likewise.
7045 * s-memcop.ads: Likewise.
7046 * s-memory-mingw.adb: Likewise.
7047 * s-memory.adb: Likewise.
7048 * s-memory.ads: Likewise.
7049 * s-os_lib.ads: Likewise.
7050 * s-oscons-tmplt.c: Likewise.
7051 * s-osinte-aix.adb: Likewise.
7052 * s-osinte-darwin.adb: Likewise.
7053 * s-osinte-freebsd.adb: Likewise.
7054 * s-osinte-irix.adb: Likewise.
7055 * s-osinte-lynxos-3.adb: Likewise.
7056 * s-osinte-rtems.ads: Likewise.
7057 * s-osinte-tru64.adb: Likewise.
7058 * s-osinte-vxworks-kernel.adb: Likewise.
7059 * s-osinte-vxworks.adb: Likewise.
7060 * s-osprim-mingw.adb: Likewise.
7061 * s-osprim-posix.adb: Likewise.
7062 * s-osprim-solaris.adb: Likewise.
7063 * s-osprim-unix.adb: Likewise.
7064 * s-osprim-vms.adb: Likewise.
7065 * s-osprim-vms.ads: Likewise.
7066 * s-osprim-vxworks.adb: Likewise.
7067 * s-osprim.ads: Likewise.
7068 * s-pack03.adb: Likewise.
7069 * s-pack03.ads: Likewise.
7070 * s-pack05.adb: Likewise.
7071 * s-pack05.ads: Likewise.
7072 * s-pack06.adb: Likewise.
7073 * s-pack06.ads: Likewise.
7074 * s-pack07.adb: Likewise.
7075 * s-pack07.ads: Likewise.
7076 * s-pack09.adb: Likewise.
7077 * s-pack09.ads: Likewise.
7078 * s-pack10.adb: Likewise.
7079 * s-pack10.ads: Likewise.
7080 * s-pack11.adb: Likewise.
7081 * s-pack11.ads: Likewise.
7082 * s-pack12.adb: Likewise.
7083 * s-pack12.ads: Likewise.
7084 * s-pack13.adb: Likewise.
7085 * s-pack13.ads: Likewise.
7086 * s-pack14.adb: Likewise.
7087 * s-pack14.ads: Likewise.
7088 * s-pack15.adb: Likewise.
7089 * s-pack15.ads: Likewise.
7090 * s-pack17.adb: Likewise.
7091 * s-pack17.ads: Likewise.
7092 * s-pack18.adb: Likewise.
7093 * s-pack18.ads: Likewise.
7094 * s-pack19.adb: Likewise.
7095 * s-pack19.ads: Likewise.
7096 * s-pack20.adb: Likewise.
7097 * s-pack20.ads: Likewise.
7098 * s-pack21.adb: Likewise.
7099 * s-pack21.ads: Likewise.
7100 * s-pack22.adb: Likewise.
7101 * s-pack22.ads: Likewise.
7102 * s-pack23.adb: Likewise.
7103 * s-pack23.ads: Likewise.
7104 * s-pack24.adb: Likewise.
7105 * s-pack24.ads: Likewise.
7106 * s-pack25.adb: Likewise.
7107 * s-pack25.ads: Likewise.
7108 * s-pack26.adb: Likewise.
7109 * s-pack26.ads: Likewise.
7110 * s-pack27.adb: Likewise.
7111 * s-pack27.ads: Likewise.
7112 * s-pack28.adb: Likewise.
7113 * s-pack28.ads: Likewise.
7114 * s-pack29.adb: Likewise.
7115 * s-pack29.ads: Likewise.
7116 * s-pack30.adb: Likewise.
7117 * s-pack30.ads: Likewise.
7118 * s-pack31.adb: Likewise.
7119 * s-pack31.ads: Likewise.
7120 * s-pack33.adb: Likewise.
7121 * s-pack33.ads: Likewise.
7122 * s-pack34.adb: Likewise.
7123 * s-pack34.ads: Likewise.
7124 * s-pack35.adb: Likewise.
7125 * s-pack35.ads: Likewise.
7126 * s-pack36.adb: Likewise.
7127 * s-pack36.ads: Likewise.
7128 * s-pack37.adb: Likewise.
7129 * s-pack37.ads: Likewise.
7130 * s-pack38.adb: Likewise.
7131 * s-pack38.ads: Likewise.
7132 * s-pack39.adb: Likewise.
7133 * s-pack39.ads: Likewise.
7134 * s-pack40.adb: Likewise.
7135 * s-pack40.ads: Likewise.
7136 * s-pack41.adb: Likewise.
7137 * s-pack41.ads: Likewise.
7138 * s-pack42.adb: Likewise.
7139 * s-pack42.ads: Likewise.
7140 * s-pack43.adb: Likewise.
7141 * s-pack43.ads: Likewise.
7142 * s-pack44.adb: Likewise.
7143 * s-pack44.ads: Likewise.
7144 * s-pack45.adb: Likewise.
7145 * s-pack45.ads: Likewise.
7146 * s-pack46.adb: Likewise.
7147 * s-pack46.ads: Likewise.
7148 * s-pack47.adb: Likewise.
7149 * s-pack47.ads: Likewise.
7150 * s-pack48.adb: Likewise.
7151 * s-pack48.ads: Likewise.
7152 * s-pack49.adb: Likewise.
7153 * s-pack49.ads: Likewise.
7154 * s-pack50.adb: Likewise.
7155 * s-pack50.ads: Likewise.
7156 * s-pack51.adb: Likewise.
7157 * s-pack51.ads: Likewise.
7158 * s-pack52.adb: Likewise.
7159 * s-pack52.ads: Likewise.
7160 * s-pack53.adb: Likewise.
7161 * s-pack53.ads: Likewise.
7162 * s-pack54.adb: Likewise.
7163 * s-pack54.ads: Likewise.
7164 * s-pack55.adb: Likewise.
7165 * s-pack55.ads: Likewise.
7166 * s-pack56.adb: Likewise.
7167 * s-pack56.ads: Likewise.
7168 * s-pack57.adb: Likewise.
7169 * s-pack57.ads: Likewise.
7170 * s-pack58.adb: Likewise.
7171 * s-pack58.ads: Likewise.
7172 * s-pack59.adb: Likewise.
7173 * s-pack59.ads: Likewise.
7174 * s-pack60.adb: Likewise.
7175 * s-pack60.ads: Likewise.
7176 * s-pack61.adb: Likewise.
7177 * s-pack61.ads: Likewise.
7178 * s-pack62.adb: Likewise.
7179 * s-pack62.ads: Likewise.
7180 * s-pack63.adb: Likewise.
7181 * s-pack63.ads: Likewise.
7182 * s-parame-ae653.ads: Likewise.
7183 * s-parame-hpux.ads: Likewise.
7184 * s-parame-rtems.adb: Likewise.
7185 * s-parame-vms-alpha.ads: Likewise.
7186 * s-parame-vms-ia64.ads: Likewise.
7187 * s-parame-vms-restrict.ads: Likewise.
7188 * s-parame-vxworks.adb: Likewise.
7189 * s-parame-vxworks.ads: Likewise.
7190 * s-parame.adb: Likewise.
7191 * s-parame.ads: Likewise.
7192 * s-parint.adb: Likewise.
7193 * s-parint.ads: Likewise.
7194 * s-pooglo.adb: Likewise.
7195 * s-pooglo.ads: Likewise.
7196 * s-pooloc.adb: Likewise.
7197 * s-pooloc.ads: Likewise.
7198 * s-poosiz.adb: Likewise.
7199 * s-poosiz.ads: Likewise.
7200 * s-powtab.ads: Likewise.
7201 * s-proinf-irix-athread.adb: Likewise.
7202 * s-proinf-irix-athread.ads: Likewise.
7203 * s-proinf.adb: Likewise.
7204 * s-proinf.ads: Likewise.
7205 * s-purexc.ads: Likewise.
7206 * s-rannum.adb: Likewise.
7207 * s-rannum.ads: Likewise.
7208 * s-restri.adb: Likewise.
7209 * s-restri.ads: Likewise.
7210 * s-rident.ads: Likewise.
7211 * s-rpc.adb: Likewise.
7212 * s-rpc.ads: Likewise.
7213 * s-scaval.adb: Likewise.
7214 * s-scaval.ads: Likewise.
7215 * s-secsta.adb: Likewise.
7216 * s-secsta.ads: Likewise.
7217 * s-sequio.adb: Likewise.
7218 * s-sequio.ads: Likewise.
7219 * s-shasto.adb: Likewise.
7220 * s-shasto.ads: Likewise.
7221 * s-soflin.adb: Likewise.
7222 * s-soflin.ads: Likewise.
7223 * s-solita.adb: Likewise.
7224 * s-solita.ads: Likewise.
7225 * s-sopco3.adb: Likewise.
7226 * s-sopco3.ads: Likewise.
7227 * s-sopco4.adb: Likewise.
7228 * s-sopco4.ads: Likewise.
7229 * s-sopco5.adb: Likewise.
7230 * s-sopco5.ads: Likewise.
7231 * s-stache.adb: Likewise.
7232 * s-stache.ads: Likewise.
7233 * s-stalib.adb: Likewise.
7234 * s-stalib.ads: Likewise.
7235 * s-stausa.adb: Likewise.
7236 * s-stausa.ads: Likewise.
7237 * s-stchop-limit.ads: Likewise.
7238 * s-stchop-rtems.adb: Likewise.
7239 * s-stchop-vxworks.adb: Likewise.
7240 * s-stchop.adb: Likewise.
7241 * s-stchop.ads: Likewise.
7242 * s-stoele.adb: Likewise.
7243 * s-stoele.ads: Likewise.
7244 * s-stopoo.adb: Likewise.
7245 * s-stopoo.ads: Likewise.
7246 * s-stratt.adb: Likewise.
7247 * s-stratt.ads: Likewise.
7248 * s-strcom.adb: Likewise.
7249 * s-strcom.ads: Likewise.
7250 * s-string.adb: Likewise.
7251 * s-string.ads: Likewise.
7252 * s-strops.adb: Likewise.
7253 * s-strops.ads: Likewise.
7254 * s-strxdr.adb: Likewise.
7255 * s-ststop.adb: Likewise.
7256 * s-ststop.ads: Likewise.
7257 * s-taasde.adb: Likewise.
7258 * s-taasde.ads: Likewise.
7259 * s-tadeca.adb: Likewise.
7260 * s-tadeca.ads: Likewise.
7261 * s-tadert.adb: Likewise.
7262 * s-tadert.ads: Likewise.
7263 * s-taenca.adb: Likewise.
7264 * s-taenca.ads: Likewise.
7265 * s-taprob.ads: Likewise.
7266 * s-taprop-dummy.adb: Likewise.
7267 * s-taprop-hpux-dce.adb: Likewise.
7268 * s-taprop-irix.adb: Likewise.
7269 * s-taprop-linux.adb: Likewise.
7270 * s-taprop-lynxos.adb: Likewise.
7271 * s-taprop-mingw.adb: Likewise.
7272 * s-taprop-posix.adb: Likewise.
7273 * s-taprop-solaris.adb: Likewise.
7274 * s-taprop-tru64.adb: Likewise.
7275 * s-taprop-vms.adb: Likewise.
7276 * s-taprop-vxworks.adb: Likewise.
7277 * s-taprop.ads: Likewise.
7278 * s-tarest.adb: Likewise.
7279 * s-tarest.ads: Likewise.
7280 * s-tasdeb.adb: Likewise.
7281 * s-tasdeb.ads: Likewise.
7282 * s-tasinf-irix.ads: Likewise.
7283 * s-tasinf-linux.adb: Likewise.
7284 * s-tasinf-linux.ads: Likewise.
7285 * s-tasinf-mingw.adb: Likewise.
7286 * s-tasinf-mingw.ads: Likewise.
7287 * s-tasinf-solaris.adb: Likewise.
7288 * s-tasinf-solaris.ads: Likewise.
7289 * s-tasinf-tru64.ads: Likewise.
7290 * s-tasinf.adb: Likewise.
7291 * s-tasinf.ads: Likewise.
7292 * s-tasini.adb: Likewise.
7293 * s-tasini.ads: Likewise.
7294 * s-taskin.adb: Likewise.
7295 * s-taskin.ads: Likewise.
7296 * s-taspri-dummy.ads: Likewise.
7297 * s-taspri-hpux-dce.ads: Likewise.
7298 * s-taspri-mingw.ads: Likewise.
7299 * s-taspri-solaris.ads: Likewise.
7300 * s-taspri-tru64.ads: Likewise.
7301 * s-taspri-vms.ads: Likewise.
7302 * s-taspri-vxworks.ads: Likewise.
7303 * s-tasque.adb: Likewise.
7304 * s-tasque.ads: Likewise.
7305 * s-tasren.adb: Likewise.
7306 * s-tasren.ads: Likewise.
7307 * s-tasres.ads: Likewise.
7308 * s-tassta.adb: Likewise.
7309 * s-tassta.ads: Likewise.
7310 * s-tasuti.adb: Likewise.
7311 * s-tasuti.ads: Likewise.
7312 * s-tfsetr-default.adb: Likewise.
7313 * s-tfsetr-vxworks.adb: Likewise.
7314 * s-tpinop.adb: Likewise.
7315 * s-tpinop.ads: Likewise.
7316 * s-tpoben.adb: Likewise.
7317 * s-tpoben.ads: Likewise.
7318 * s-tpobop.adb: Likewise.
7319 * s-tpobop.ads: Likewise.
7320 * s-tpopde-vms.adb: Likewise.
7321 * s-tpopde-vms.ads: Likewise.
7322 * s-tpopsp-lynxos.adb: Likewise.
7323 * s-tpopsp-posix-foreign.adb: Likewise.
7324 * s-tpopsp-posix.adb: Likewise.
7325 * s-tpopsp-solaris.adb: Likewise.
7326 * s-tpopsp-vxworks.adb: Likewise.
7327 * s-tporft.adb: Likewise.
7328 * s-tposen.adb: Likewise.
7329 * s-tposen.ads: Likewise.
7330 * s-traceb.adb: Likewise.
7331 * s-traceb.ads: Likewise.
7332 * s-traces-default.adb: Likewise.
7333 * s-traces.adb: Likewise.
7334 * s-traces.ads: Likewise.
7335 * s-traent-vms.adb: Likewise.
7336 * s-traent-vms.ads: Likewise.
7337 * s-traent.adb: Likewise.
7338 * s-traent.ads: Likewise.
7339 * s-trafor-default.adb: Likewise.
7340 * s-trafor-default.ads: Likewise.
7341 * s-tratas-default.adb: Likewise.
7342 * s-tratas.adb: Likewise.
7343 * s-tratas.ads: Likewise.
7344 * s-unstyp.ads: Likewise.
7345 * s-utf_32.adb: Likewise.
7346 * s-utf_32.ads: Likewise.
7347 * s-vaflop-vms-alpha.adb: Likewise.
7348 * s-vaflop.adb: Likewise.
7349 * s-vaflop.ads: Likewise.
7350 * s-valboo.adb: Likewise.
7351 * s-valboo.ads: Likewise.
7352 * s-valcha.adb: Likewise.
7353 * s-valcha.ads: Likewise.
7354 * s-valdec.adb: Likewise.
7355 * s-valdec.ads: Likewise.
7356 * s-valenu.adb: Likewise.
7357 * s-valenu.ads: Likewise.
7358 * s-valint.adb: Likewise.
7359 * s-valint.ads: Likewise.
7360 * s-vallld.adb: Likewise.
7361 * s-vallld.ads: Likewise.
7362 * s-vallli.adb: Likewise.
7363 * s-vallli.ads: Likewise.
7364 * s-valllu.adb: Likewise.
7365 * s-valllu.ads: Likewise.
7366 * s-valrea.adb: Likewise.
7367 * s-valrea.ads: Likewise.
7368 * s-valuns.adb: Likewise.
7369 * s-valuns.ads: Likewise.
7370 * s-valuti.adb: Likewise.
7371 * s-valuti.ads: Likewise.
7372 * s-valwch.adb: Likewise.
7373 * s-valwch.ads: Likewise.
7374 * s-veboop.adb: Likewise.
7375 * s-veboop.ads: Likewise.
7376 * s-vector.ads: Likewise.
7377 * s-vercon.adb: Likewise.
7378 * s-vercon.ads: Likewise.
7379 * s-vmexta.adb: Likewise.
7380 * s-vmexta.ads: Likewise.
7381 * s-vxwext-kernel.ads: Likewise.
7382 * s-vxwext-rtp.adb: Likewise.
7383 * s-vxwext-rtp.ads: Likewise.
7384 * s-vxwext.ads: Likewise.
7385 * s-vxwork-arm.ads: Likewise.
7386 * s-vxwork-m68k.ads: Likewise.
7387 * s-vxwork-mips.ads: Likewise.
7388 * s-vxwork-ppc.ads: Likewise.
7389 * s-vxwork-sparcv9.ads: Likewise.
7390 * s-vxwork-x86.ads: Likewise.
7391 * s-wchcnv.adb: Likewise.
7392 * s-wchcnv.ads: Likewise.
7393 * s-wchcon.adb: Likewise.
7394 * s-wchcon.ads: Likewise.
7395 * s-wchjis.adb: Likewise.
7396 * s-wchjis.ads: Likewise.
7397 * s-wchstw.adb: Likewise.
7398 * s-wchstw.ads: Likewise.
7399 * s-wchwts.adb: Likewise.
7400 * s-wchwts.ads: Likewise.
7401 * s-widboo.adb: Likewise.
7402 * s-widboo.ads: Likewise.
7403 * s-widcha.adb: Likewise.
7404 * s-widcha.ads: Likewise.
7405 * s-widenu.adb: Likewise.
7406 * s-widenu.ads: Likewise.
7407 * s-widlli.adb: Likewise.
7408 * s-widlli.ads: Likewise.
7409 * s-widllu.adb: Likewise.
7410 * s-widllu.ads: Likewise.
7411 * s-widwch.adb: Likewise.
7412 * s-widwch.ads: Likewise.
7413 * s-win32.ads: Likewise.
7414 * s-winext.ads: Likewise.
7415 * s-wwdcha.adb: Likewise.
7416 * s-wwdcha.ads: Likewise.
7417 * s-wwdenu.adb: Likewise.
7418 * s-wwdenu.ads: Likewise.
7419 * s-wwdwch.adb: Likewise.
7420 * s-wwdwch.ads: Likewise.
7421 * scans.adb: Likewise.
7422 * scans.ads: Likewise.
7423 * seh_init.c: Likewise.
7424 * sfn_scan.adb: Likewise.
7425 * sinfo.adb: Likewise.
7426 * sinfo.ads: Likewise.
7427 * sinput.adb: Likewise.
7428 * sinput.ads: Likewise.
7429 * snames.adb: Likewise.
7430 * snames.ads: Likewise.
7431 * socket.c: Likewise.
7432 * stand.adb: Likewise.
7433 * stand.ads: Likewise.
7434 * stringt.adb: Likewise.
7435 * stringt.ads: Likewise.
7436 * sysdep.c: Likewise.
7437 * system-aix.ads: Likewise.
7438 * system-darwin-ppc.ads: Likewise.
7439 * system-darwin-x86.ads: Likewise.
7440 * system-darwin-x86_64.ads: Likewise.
7441 * system-freebsd-x86.ads: Likewise.
7442 * system-hpux-ia64.ads: Likewise.
7443 * system-hpux.ads: Likewise.
7444 * system-irix-n32.ads: Likewise.
7445 * system-irix-n64.ads: Likewise.
7446 * system-irix-o32.ads: Likewise.
7447 * system-linux-alpha.ads: Likewise.
7448 * system-linux-hppa.ads: Likewise.
7449 * system-linux-ia64.ads: Likewise.
7450 * system-linux-mips.ads: Likewise.
7451 * system-linux-mipsel.ads: Likewise.
7452 * system-linux-ppc.ads: Likewise.
7453 * system-linux-ppc64.ads: Likewise.
7454 * system-linux-s390.ads: Likewise.
7455 * system-linux-s390x.ads: Likewise.
7456 * system-linux-sh4.ads: Likewise.
7457 * system-linux-sparc.ads: Likewise.
7458 * system-linux-sparcv9.ads: Likewise.
7459 * system-linux-x86.ads: Likewise.
7460 * system-linux-x86_64.ads: Likewise.
7461 * system-lynxos-ppc.ads: Likewise.
7462 * system-lynxos-x86.ads: Likewise.
7463 * system-mingw-x86_64.ads: Likewise.
7464 * system-mingw.ads: Likewise.
7465 * system-rtems.ads: Likewise.
7466 * system-solaris-sparc.ads: Likewise.
7467 * system-solaris-sparcv9.ads: Likewise.
7468 * system-solaris-x86.ads: Likewise.
7469 * system-solaris-x86_64.ads: Likewise.
7470 * system-tru64.ads: Likewise.
7471 * system-vms-ia64.ads: Likewise.
7472 * system-vms-zcx.ads: Likewise.
7473 * system-vms.ads: Likewise.
7474 * system-vms_64.ads: Likewise.
7475 * system-vxworks-arm.ads: Likewise.
7476 * system-vxworks-m68k.ads: Likewise.
7477 * system-vxworks-mips.ads: Likewise.
7478 * system-vxworks-ppc.ads: Likewise.
7479 * system-vxworks-sparcv9.ads: Likewise.
7480 * system-vxworks-x86.ads: Likewise.
7481 * system.ads: Likewise.
7482 * table.adb: Likewise.
7483 * table.ads: Likewise.
7484 * targext.c: Likewise.
7485 * targparm.ads: Likewise.
7486 * tree_in.adb: Likewise.
7487 * tree_in.ads: Likewise.
7488 * tree_io.adb: Likewise.
7489 * tree_io.ads: Likewise.
7490 * types.adb: Likewise.
7491 * types.ads: Likewise.
7492 * uintp.adb: Likewise.
7493 * uintp.ads: Likewise.
7494 * uname.adb: Likewise.
7495 * uname.ads: Likewise.
7496 * urealp.adb: Likewise.
7497 * urealp.ads: Likewise.
7498 * vx_stack_info.c: Likewise.
7499 * widechar.adb: Likewise.
7500 * widechar.ads: Likewise.
7501 * exp_attr.adb: Change copyright header to refer to version
7502 3 of the GNU General Public License and to point readers at the
7503 COPYING3 file and the FSF's license web page.
7504 * sem.adb: Likewise.
7505 * sem_attr.ads: Likewise.
7506 * freeze.adb: Likewise.
7507 * freeze.ads: Likewise.
7508 * errout.ads: Likewise.
7509 * erroutc.adb: Likewise.
7510 * exp_ch11.ads: Likewise.
7512 2009-04-09 Jakub Jelinek <jakub@redhat.com>
7514 * config-lang.in: Change copyright header to refer to version
7515 3 of the GNU General Public License and to point readers at the
7516 COPYING3 file and the FSF's license web page.
7517 * gcc-interface/trans.c: Likewise.
7518 * gnathtml.pl: Likewise.
7519 * gcc-interface/ada.h: Likewise. Remove runtime exception.
7520 * gcc-interface/gigi.h: Likewise.
7521 * gcc-interface/misc.c: Likewise.
7522 * gcc-interface/targtyps.c: Likewise.
7524 2009-04-09 Nicolas Setton <setton@adacore.com>
7526 * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
7528 * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
7531 2009-04-09 Bob Duff <duff@adacore.com>
7533 * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
7534 internally-generated nodes related to select statements to avoid
7535 confusing the debugger.
7537 2009-04-09 Pascal Obry <obry@adacore.com>
7539 * make.adb: Ensure that all linker arguments are duplicated.
7541 2009-04-09 Robert Dewar <dewar@adacore.com>
7543 * sem_ch5.adb: Minor reformatting
7545 2009-04-09 Vincent Celier <celier@adacore.com>
7548 Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
7549 New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
7550 New qualifier /LXDEBUG=nnn for -gnatDnnn
7554 Update documentation for VMS qualifiers equivalent to -gnatGnn and
7557 2009-04-09 Nicolas Setton <setton@adacore.com>
7559 * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
7560 to match layout of siginfo_t in sys/signal.h.
7562 * gcc-interface/Makefile.in: Add section for x86_64 darwin.
7564 2009-04-09 Thomas Quinot <quinot@adacore.com>
7566 * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
7568 2009-04-09 Nicolas Setton <setton@adacore.com>
7570 * s-oscons-tmplt.c: Allow long lines in the generated spec.
7571 Add generation of Darwin-specific constants needed when binding to the
7574 2009-04-09 Robert Dewar <dewar@adacore.com>
7577 (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
7578 when no invalid values exist, Avoid duplicate read of atomic variable.
7580 * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
7581 (Standard_Unsigned): Set Is_Known_Valid
7583 * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
7584 subtype declaration if no constraint.
7585 (Set_Modular_Size): Set Is_Known_Valid if appropriate
7586 (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
7588 2009-04-09 Robert Dewar <dewar@adacore.com>
7590 * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
7591 switch.ads: for numeric switches, an optional equal sign is always
7594 2009-04-09 Vincent Celier <celier@adacore.com>
7596 * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
7597 the case of file names is not significant.
7599 2009-04-09 Vincent Celier <celier@adacore.com>
7601 * errout.adb: Remove dependency on package Style
7603 * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
7606 * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
7609 * errutil.adb, par.adb: Import Stylesw
7611 2009-04-09 Arnaud Charlet <charlet@adacore.com>
7613 * opt.ads: Fix typos.
7615 2009-04-09 Robert Dewar <dewar@adacore.com>
7617 * einfo.adb: Minor reformatting
7619 2009-04-09 Robert Dewar <dewar@adacore.com>
7621 * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
7624 * styleg-c.ads, styleg-c.adb: Removed, no longer used.
7626 2009-04-09 Robert Dewar <dewar@adacore.com>
7628 * g-comver.adb: Minor reformatting.
7630 2009-04-09 Thomas Quinot <quinot@adacore.com>
7632 * lib-load.ads (Load_Unit): Update documentation.
7634 2009-04-09 Ed Schonberg <schonberg@adacore.com>
7636 * lib-load.adb (Load_Unit): When loading the parent of a child unit
7637 named in a with_clause, retain the with_clause to preserve a
7638 limited_with indication.
7640 2009-04-09 Robert Dewar <dewar@adacore.com>
7642 * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
7643 exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
7644 sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
7645 possible to replace an OR of two separate tests.
7647 2009-04-09 Robert Dewar <dewar@adacore.com>
7649 * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
7652 * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
7653 warning status as well.
7655 * opt.ads (Maximum_Messages): New name for Maximum_Errors.
7657 * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
7660 * bindusg.adb, usage.adb: Update line for -gnatm switch
7662 * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
7665 2009-04-09 Robert Dewar <dewar@adacore.com>
7667 * sem_ch10.adb: Minor reformatting.
7669 2009-04-09 Bob Duff <duff@adacore.com>
7671 * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
7672 Set Sloc of generated nodes for calls to Undefer_Aborts and
7673 Save_Occurrence to No_Location, so the debugger ignores them and
7674 therefore does not jump back and forth when single stepping.
7676 2009-04-09 Robert Dewar <dewar@adacore.com>
7678 * switch-b.adb: Minor reformatting.
7680 2009-04-09 Robert Dewar <dewar@adacore.com>
7682 * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
7683 sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
7684 exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
7685 sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
7686 einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
7687 tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
7688 exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
7689 sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
7690 sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
7691 sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
7692 Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
7694 2009-04-09 Robert Dewar <dewar@adacore.com>
7696 * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
7698 * atree.h: Add Elist26
7700 * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
7703 2009-04-09 Javier Miranda <miranda@adacore.com>
7705 * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
7706 retrieve from the Dispatch_Table_Wrappers list the external name.
7707 Addition of documentation.
7708 (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
7709 used to export secondary dispatch tables (in the previous version of
7710 the frontend only primary dispatch tables were exported). Addition of
7712 (Import_DT): New subprogram (internal of Make_Tags). Used to import a
7713 dispatch table of a given tagged type.
7714 (Make_Tags): Modified to import secondary dispatch tables.
7716 * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
7717 (Constant_Redeclaration): Code cleanup.
7719 * einfo.ads (Dispatch_Table_Wrapper): Renamed to
7720 Dispatch_Table_Wrappers. Update documentation.
7722 * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
7723 Renamed to Dispatch_Table_Wrappers.
7725 * sem_util.adb (Collect_Interface_Components): Improve handling of
7728 * atree.ads (Elist26, Set_Elist26): New subprograms
7730 * atree.adb (Elist26, Set_Elist26): New subprograms
7732 2009-04-09 Javier Miranda <miranda@adacore.com>
7734 * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
7735 (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
7738 2009-04-09 Robert Dewar <dewar@adacore.com>
7740 * s-direio.adb: Minor reformatting
7742 * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
7744 2009-04-09 Robert Dewar <dewar@adacore.com>
7746 * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
7748 2009-04-09 Pascal Obry <obry@adacore.com>
7750 * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
7751 s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
7752 a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
7753 a-filico.ads: Add some missing overriding keywords.
7755 2009-04-09 Pascal Obry <obry@adacore.com>
7757 * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
7758 a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
7759 a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
7762 2009-04-09 Ed Schonberg <schonberg@adacore.com>
7764 * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
7765 missing overriding indicator if the new declaration is not seen as
7768 2009-04-09 Thomas Quinot <quinot@adacore.com>
7770 * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
7771 overflows in computation of bounds.
7773 2009-04-09 Pascal Obry <obry@adacore.com>
7775 * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
7778 2009-04-09 Robert Dewar <dewar@adacore.com>
7780 * sem_attr.adb (Check_Stream_Attribute): Check violation of
7781 restriction No_Streams
7783 * gnat_rm.texi: Clarify No_Streams restriction
7785 * g-socket.adb: Minor reformatting.
7787 2009-04-09 Thomas Quinot <quinot@adacore.com>
7789 * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
7791 2009-04-09 Geert Bosch <bosch@adacore.com>
7793 * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
7794 (Set_Result): Likewise.
7795 (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
7796 conversion, as required by RM 4.6(31).
7798 2009-04-08 Robert Dewar <dewar@adacore.com>
7800 * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
7803 * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
7806 2009-04-08 Robert Dewar <dewar@adacore.com>
7808 * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
7809 No_Local_Allocators restriction preventing local instantiation.
7811 2009-04-08 Thomas Quinot <quinot@adacore.com>
7813 * sem_eval.adb: Minor comment fix
7815 2009-04-08 Thomas Quinot <quinot@adacore.com>
7817 * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
7818 New limited controlled type used to automate the initialization and
7819 finalization of the sockets implementation.
7820 (GNAT.Sockets.Initialize, Finalize): Make these no-ops
7822 2009-04-08 Vincent Celier <celier@adacore.com>
7824 * prj-attr.adb: New read-only project-level attribute Project_Dir
7826 * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
7827 read-only attribute of the same name.
7828 (Process_Declarative_Items): Call Add_Attributes with Project_Dir
7829 (Recursive_Process): Ditto
7831 * snames.adb: Add new standard name Project_Dir
7833 * snames.ads: Add new standard name Project_Dir
7835 2009-04-08 Thomas Quinot <quinot@adacore.com>
7837 * checks.adb: Minor reformatting
7839 2009-04-08 Vincent Celier <celier@adacore.com>
7841 * vms_data.ads: Add documentation for new style keyword
7842 OVERRIDING_INDICATORS
7844 2009-04-08 Robert Dewar <dewar@adacore.com>
7846 * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
7847 spec is in the current unit.
7849 2009-04-08 Ed Schonberg <schonberg@adacore.com>
7851 * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
7854 * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
7856 2009-04-08 Vincent Celier <celier@adacore.com>
7858 * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
7860 2009-04-08 Thomas Quinot <quinot@adacore.com>
7862 * checks.ads: Minor reformatting
7864 2009-04-08 Robert Dewar <dewar@adacore.com>
7866 * gnat_rm.texi: Update documentation of pragma Obsolescent
7868 * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
7869 be omitted, and allow Entity parameter to be omitted.
7871 2009-04-08 Thomas Quinot <quinot@adacore.com>
7873 * exp_util.adb: Minor comment fix
7875 2009-04-08 Robert Dewar <dewar@adacore.com>
7877 * g-socket.ads: Fix bad syntax in pragma Obsolescent
7879 * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
7880 argument with no identifier following one that has an identifier. Was
7881 missed in some cases.
7883 * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
7885 (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
7887 * snames.adb: Add Name_Policy
7889 * snames.ads: Add Name_Policy
7891 2009-04-08 Robert Dewar <dewar@adacore.com>
7893 * gnat_rm.texi: Minor reformatting
7895 * par-ch2.adb: Minor reformatting
7897 2009-04-08 Robert Dewar <dewar@adacore.com>
7899 * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
7901 2009-04-08 Robert Dewar <dewar@adacore.com>
7903 * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
7904 properly in the presence of Remote_Types or Remote_Call_Interface.
7906 * sem_util.adb: Add comment.
7908 2009-04-08 Robert Dewar <dewar@adacore.com>
7910 * ug_words: Add /ASSUME_VALID for -gnatB
7912 * vms_data.ads: Add /ASSUME_VALID for -gnatB
7914 * sem_cat.adb: Add clarifying commment
7916 * a-direio.ads (Bytes): Make sure value is non-zero
7918 2009-04-08 Ed Schonberg <schonberg@adacore.com>
7920 * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
7921 that does not come from source, check for a rewritten function call in
7922 prefixed notation before other forms of rewriting.
7924 2009-04-08 Robert Dewar <dewar@adacore.com>
7926 * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
7927 these are now obsolescent units used only for bootrapping with an
7930 2009-04-08 Robert Dewar <dewar@adacore.com>
7932 * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
7934 * sem_ch3.adb: Minor comment updates
7936 2009-04-08 Ed Schonberg <schonberg@adacore.com>
7938 * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
7939 that come from source.
7941 2009-04-08 Tristan Gingold <gingold@adacore.com>
7943 * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
7944 * gcc-interface/decl.c (prepend_attributes): New case
7945 Pragma_Thread_Local_Storage.
7946 * gcc-interface/utils.c (process_attributes): New case
7947 ATTR_THREAD_LOCAL_STORAGE.
7949 2009-04-08 Ed Schonberg <schonberg@adacore.com>
7951 * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
7952 by the back-end if it contains a call to a subprogram without a
7953 previous spec that is declared in the same unit.
7955 * errout.ads: Update comments on uses of dirs
7957 2009-04-08 Robert Dewar <dewar@adacore.com>
7959 * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
7961 2009-04-08 Tristan Gingold <gingold@adacore.com>
7963 * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
7965 Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
7967 2009-04-08 Vincent Celier <celier@adacore.com>
7970 (Add_Source): Add the mapping of the unit name to source file name in
7971 the Unit_Sources_HT hash table, if the unit name is not null.
7973 * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
7975 * prj.ads (Unit_Sources_Htable): New hash table instantiation
7976 (Project_Tree_Data): New component Unit_Sources_HT
7978 2009-04-08 Thomas Quinot <quinot@adacore.com>
7980 * sem_ch8.adb: Minor reformatting.
7981 Minor code reorganization.
7983 2009-04-08 Robert Dewar <dewar@adacore.com>
7985 * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
7986 snames.ads, freeze.adb, par-prag.adb: Add implementation of
7987 pragma Thread_Local_Storage, setting new flag
7988 Has_Pragma_Thread_Local_Storage in corresponding entities.
7990 2009-04-08 Emmanuel Briot <briot@adacore.com>
7992 * prj.ads: Update comment on switches file
7994 * prj-nmsc.adb: Code clean up. Use renaming clauses.
7996 2009-04-08 Robert Dewar <dewar@adacore.com>
7998 * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
8000 2009-04-08 Thomas Quinot <quinot@adacore.com>
8002 * ali-util.adb: Minor comment fix
8004 2009-04-08 Ed Schonberg <schonberg@adacore.com>
8006 * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
8007 appears in a context clause, and the enclosing package is mentioned in
8008 a limited_with_clause.
8009 (Use_One_Type): Reject clause if type is still incomplete.
8011 2009-04-08 Emmanuel Briot <briot@adacore.com>
8013 * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
8014 avoid copies of Source_Data variables when possible, since these
8015 involve calls to memcpy() which are done too many times.
8017 2009-04-08 Robert Dewar <dewar@adacore.com>
8019 * exp_ch4.adb (Expand_Concatenate): Clean up code
8021 2009-04-07 Thomas Quinot <quinot@adacore.com>
8023 * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
8024 type for the case of concatenating a constrained array indexed by an
8027 2009-04-07 Ed Schonberg <schonberg@adacore.com>
8029 * sem_ch6.adb (Check_Conformance): when checking conformance of an
8030 operation that overrides an abstract operation inherited from an
8031 interface, return False if only one of the controlling formals is an
8034 2009-04-07 Ed Schonberg <schonberg@adacore.com>
8036 * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
8037 mandated by AI05-105.
8039 2009-04-07 Vincent Celier <celier@adacore.com>
8041 * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
8043 2009-04-07 Thomas Quinot <quinot@adacore.com>
8045 * usage.adb: Minor fix in usage message.
8047 * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
8048 match declaration; the correct subtype is Node_Id, not Entity_Id,
8049 because the expected node kind is an identifier, not a defining
8052 * switch-c.adb: Minor reformatting.
8054 * uintp.adb: Minor reformatting.
8056 2009-04-07 Robert Dewar <dewar@adacore.com>
8058 * exp_ch13.adb: Minor reformatting
8060 2009-04-07 Robert Dewar <dewar@adacore.com>
8062 * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
8063 against missing parent.
8065 2009-04-07 Thomas Quinot <quinot@adacore.com>
8067 * xoscons.adb: Minor reformatting
8069 2009-04-07 Robert Dewar <dewar@adacore.com>
8071 * rtsfind.ads: Remove obsolete string concatenation entries
8073 2009-04-07 Robert Dewar <dewar@adacore.com>
8075 * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
8077 2009-04-07 Ed Schonberg <schonberg@adacore.com>
8079 * sem_ch10.adb (Check_Body_Required): Handle properly imported
8082 2009-04-07 Gary Dismukes <dismukes@adacore.com>
8084 * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
8085 Attribute_Address): When Init_Or_Norm_Scalars is True and the object
8086 is of a scalar or string type then suppress the setting of the
8087 expression to Empty.
8089 * freeze.adb (Warn_Overlay): Also emit the warnings about default
8090 initialization for the cases of scalar and string objects when
8091 Init_Or_Norm_Scalars is True.
8093 2009-04-07 Bob Duff <duff@adacore.com>
8095 * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
8097 2009-04-07 Bob Duff <duff@adacore.com>
8099 * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
8100 Form parameter of Text_Translation=No allows binary mode for Text_IO
8103 * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
8105 2009-04-07 Javier Miranda <miranda@adacore.com>
8107 * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
8108 processing the bounds for bit packed arrays or VM target machines.
8110 2009-04-07 Thomas Quinot <quinot@adacore.com>
8112 * g-sothco.ads (Int_Access): Remove extraneous access type (use
8113 anonymous access instead).
8114 (Get_Socket_From_Set): Fix incorrectly reverted formals
8115 Last and Socket to match the underlying C routine.
8117 * g-socket.adb, g-socket.ads
8118 (Get): Use named parameter associations instead of positional ones in
8119 call go Get_Socket_From_Set, since this routine has two formals of the
8121 (Image): New procedure.
8123 * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
8124 g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
8125 (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
8126 for type of Arg formal.
8128 * sem_warn.adb: Minor reformatting
8130 2009-04-07 Ed Schonberg <schonberg@adacore.com>
8132 * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
8133 over record components.
8135 2009-04-07 Nicolas Roche <roche@adacore.com>
8138 Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
8139 has disappeared between VxWorks 6.4 and VxWorks 6.5
8140 In RTP mode use time.h instead of times.h
8142 2009-04-07 Robert Dewar <dewar@adacore.com>
8144 * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
8146 2009-04-07 Kevin Pouget <pouget@adacore.com>
8148 * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
8149 expanded code for constrained types.
8151 2009-04-07 Ed Schonberg <schonberg@adacore.com>
8153 * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
8154 AI05-105: in an object renaming declaration, anonymousness is a name
8157 * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
8159 2009-04-07 Arnaud Charlet <charlet@adacore.com>
8161 * g-comlin.adb (Expansion): Fix old regression: also return directory
8162 names when matching.
8164 2009-04-07 Robert Dewar <dewar@adacore.com>
8167 (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
8168 (Expand_Concatenate): New name for Expand_Concatenate_String which has
8169 been rewritten to handle all types.
8170 (Expand_Concatenate_Other): Remove
8172 2009-04-07 Ed Schonberg <schonberg@adacore.com>
8174 * lib-xref.adb (Generate_Reference): A default subprogram in an
8175 instance appears within the tree for the instance, but generates an
8176 implicit reference in the ALI.
8178 2009-04-07 Javier Miranda <miranda@adacore.com>
8180 * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
8181 derived type that has discriminants, propagate the list of interfaces
8182 to the corresponding new base type. In addition, propagate also
8183 attribute Limited_Present (found working in this patch).
8185 2009-04-07 Robert Dewar <dewar@adacore.com>
8187 * exp_ch4.adb: Rewrite concatenation expansion.
8189 2009-04-07 Ed Schonberg <schonberg@adacore.com>
8191 * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
8192 relevant to packages.
8194 2009-04-07 Robert Dewar <dewar@adacore.com>
8196 * sem_attr.adb: Minor reformatting
8198 * sem_ch6.adb: Minor reformatting
8200 2009-04-07 Tristan Gingold <gingold@adacore.com>
8202 * socket.c: Add more protections against S_resolvLib_ macros.
8204 2009-04-07 Thomas Quinot <quinot@adacore.com>
8206 * sem_attr.adb: Minor reformatting
8208 2009-04-07 Ed Schonberg <schonberg@adacore.com>
8210 * sem_ch6.adb (New_Overloaded_Entity): New predicate
8211 Is_Overriding_Alias to handle properly types that inherit two homonym
8212 operations that have distinct dispatch table entries.
8214 2009-04-07 Emmanuel Briot <briot@adacore.com>
8216 * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
8217 looking for the end of a parenthesis group
8219 2009-04-07 Tristan Gingold <gingold@adacore.com>
8221 * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
8223 * socket.c Don't use resolvLib_ macros if not defined.
8225 2009-04-07 Robert Dewar <dewar@adacore.com>
8227 * g-socket.adb: Minor reformatting.
8229 * g-socthi-mingw.adb: Minor reformatting
8231 * g-sothco.ads: Minor reformatting
8234 (Expand_Concatenate_String): Complete rewrite to generate efficient code
8235 inline instead of relying on external library routines.
8237 * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
8238 s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
8241 2009-04-07 Ed Schonberg <schonberg@adacore.com>
8244 (Eval_Attribute): for attributes of array objects that are not strings,
8245 attributes are not static if nominal subtype of object is unconstrained.
8247 2009-04-07 Ed Schonberg <schonberg@adacore.com>
8249 * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
8250 operations for a type T in an instance do not override each other,
8251 when T is derived from a formal private type, the corresponding
8252 operations inherited by a type derived from T outside
8253 of the instance do not override each other either.
8255 2009-04-07 Robert Dewar <dewar@adacore.com>
8257 (Osint.Fail): Change calling sequence to have one string arg
8258 (Make.Make_Failed): Same change
8259 All callers are adjusted to use concatenation
8261 2009-04-07 Robert Dewar <dewar@adacore.com>
8263 * exp_ch4.adb: Fix documentation typo
8265 2009-04-07 Robert Dewar <dewar@adacore.com>
8267 * tbuild.ads: Minor reformatting
8269 2009-04-07 Javier Miranda <miranda@adacore.com>
8271 * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
8272 when compiling under ZFP runtime.
8274 2009-04-07 Robert Dewar <dewar@adacore.com>
8276 * g-comlin.adb: Minor reformatting
8278 2009-04-07 Thomas Quinot <quinot@adacore.com>
8280 * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
8281 g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
8282 g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
8283 Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
8285 2009-04-07 Robert Dewar <dewar@adacore.com>
8287 * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
8289 * opt.ads (Sprint_Line_Limit): New parameter
8291 * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
8293 * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
8295 * usage.adb: Output information for -gnatGnn -gnatDnn
8297 2009-04-07 Robert Dewar <dewar@adacore.com>
8299 * make.adb: Minor reformatting
8301 2009-04-07 Robert Dewar <dewar@adacore.com>
8303 * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
8305 2009-04-07 Robert Dewar <dewar@adacore.com>
8307 * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
8309 2009-04-07 Robert Dewar <dewar@adacore.com>
8312 Remove Assume_Valid parameter from In_Subrange_Of calls
8315 (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
8316 (Is_In_Range): Remove incorrect use of Assume_Valid
8317 (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
8320 (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
8321 (Is_In_Range): Documentation cleanup
8322 (Is_Out_Of_Range): Documentation cleanup
8325 Add documentation for Assume_No_Invalid_Values pragma
8327 * sem_ch12.adb: Minor reformatting
8329 * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
8331 * sem_prag.adb: Improve error message.
8333 * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
8334 LF/CR no longer recognized as line terminator
8336 * switch.ads: Minor documentation improvement
8338 * vms_data.ads: Minor reformatting
8340 2009-04-07 Robert Dewar <dewar@adacore.com>
8342 * checks.adb (Determine_Range): Add Assume_Valid parameter
8344 * checks.ads (Determine_Range): Add Assume_Valid parameter
8346 * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
8347 Is_Null_Loop to suppress warnings in a loop body.
8350 (Rewrite_Comparison): Major rewrite to accomodate invalid values
8353 (Expand_N_Loop_Statement): Delete loop known not to execute
8356 (Assume_No_Invalid_Values): Now set to False, and as documented, this
8357 fully enables the proper handling of invalid values.
8360 New calling sequence for Is_In_Range
8363 (Analyze_Iteration_Scheme): Accomodate possible invalid values
8364 in determining if a loop range is null.
8367 (Is_In_Range): Add Assume_Valid parameter
8368 (Is_Out_Of_Range): Add Assume_Valid_Parameter
8369 (Compile_Time_Compare): Major rewrite to accomodate invalid values and
8370 also to do more accurate and complete range analysis, catching more
8374 (Is_In_Range): Add Assume_Valid parameter
8375 (Is_Out_Of_Range): Add Assume_Valid_Parameter
8378 New calling sequence for Is_In_Range
8381 (Suppress_Loop_Warnings): New flag
8384 (Is_Null_Loop): Update documentation
8385 (Suppress_Loop_Warnings): New flag
8387 * gnat_ugn.texi: Document -gnatB switch
8389 2009-04-07 Arnaud Charlet <charlet@adacore.com>
8391 * gnatvsn.ads: Bump version number.
8393 2009-04-07 Thomas Quinot <quinot@adacore.com>
8395 * exp_ch3.adb: Minor rewording (comments)
8397 2009-04-07 Robert Dewar <dewar@adacore.com>
8399 * exp_disp.adb: Minor reformatting
8401 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
8403 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
8405 * gcc-interface/trans.c (lvalue_required_p): Likewise.
8407 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
8409 * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
8410 Do not convert the result. Remove obsolete comment.
8412 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
8414 * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
8416 (Subprogram_Body_to_gnu): Fix pasto.
8418 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
8420 * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
8421 (void_type_decl_node): Remove.
8422 (init_gigi_decls): Likewise.
8423 (gnat_install_builtins): Declare.
8424 (record_builtin_type): Likewise.
8425 (create_type_stub_decl): Likewise.
8426 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
8427 (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
8429 <E_Array_Subtype>: Use the index types, not only their name, in the
8430 record giving the names of the bounds, if any.
8431 For a packed array type, make it artificial only if the base type
8432 was artificial as well. Remove redundant statement.
8433 (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
8435 Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
8436 (rest_of_type_decl_compilation_no_defer): Likewise.
8437 * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
8438 * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
8439 and use create_type_stub_decl to build it.
8440 (gnat_pushdecl): Rewrite condition.
8441 (gnat_install_builtins): Remove bogus declaration.
8442 (record_builtin_type): New function.
8443 (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
8445 (create_type_stub_decl): New function.
8446 (create_type_decl): Assert that the type is not dummy. If the type
8447 hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
8448 (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
8449 (build_vms_descriptor): Likewise.
8450 (init_gigi_decls): Delete and move bulk of code to...
8451 * gcc-interface/trans.c (gigi): ...here. Use record_builtin_type.
8452 (emit_range_check): Add gnat_node parameter.
8453 (emit_index_check): Likewise.
8454 (emit_check): Likewise.
8455 (build_unary_op_trapv): Likewise.
8456 (build_binary_op_trapv): Likewise.
8457 (convert_with_check): Likewise.
8458 (Attribute_to_gnu): Adjust calls for above changes.
8459 (call_to_gnu): Likewise.
8460 (gnat_to_gnu): Likewise.
8461 (assoc_to_constructor): Likewise.
8462 (pos_to_constructor): Likewise.
8463 (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
8464 (process_type): Do not create TYPE_DECL for dummy types.
8466 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
8468 * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
8469 * gcc-interface/trans.c: Fix formatting throughout. Fix comments.
8470 * gcc-interface/utils.c: Fix comments.
8472 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
8474 * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
8476 (gnat_to_gnu_type): Move around.
8477 (get_unpadded_type): Likewise.
8478 * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
8481 2009-04-07 Eric Botcazou <ebotcazou@adacore.com>
8483 * gcc-interface/trans.c (check_for_eliminated_entity): New function.
8484 (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
8485 (call_to_gnu): Invoke it instead of manually checking.
8487 2009-04-04 Eric Botcazou <ebotcazou@adacore.com>
8489 * gcc-interface/utils.c (finish_record_type): Force structural equality
8490 checks if the record type is discriminated.
8492 2009-03-31 Eric Botcazou <ebotcazou@adacore.com>
8494 * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
8495 * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
8496 * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
8497 * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
8498 * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
8499 * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
8500 * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
8502 2009-03-30 Paolo Bonzini <bonzini@gnu.org>
8504 * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
8505 of TREE_CONSTANT_OVERFLOW.
8507 2009-03-30 Joseph Myers <joseph@codesourcery.com>
8509 PR rtl-optimization/323
8510 * gcc-interface/misc.c (gnat_post_options): Set
8511 flag_excess_precision_cmdline. Give an error for
8512 -fexcess-precision=standard for processors where the option is
8515 2009-03-27 H.J. Lu <hongjiu.lu@intel.com>
8518 * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
8521 2009-03-11 Olivier Hainque <hainque@adacore.com>
8523 * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
8524 checks processing, remove unintended TREE_TYPE walk on index type.
8526 2009-03-01 Eric Botcazou <ebotcazou@adacore.com>
8529 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
8530 call make_packable_type on fat pointer types.
8531 <E_Array_Subtype>: Likewise.
8532 <E_Record_Subtype>: Call make_packable_type on all record types
8533 except for fat pointer types.
8534 (make_packable_type): Likewise.
8535 (gnat_to_gnu_field): Likewise.
8537 2009-02-28 Eric Botcazou <ebotcazou@adacore.com>
8539 * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
8540 EH_MECHANISM change made on 2007-12-06.
8542 2009-02-26 Andreas Schwab <schwab@suse.de>
8545 * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
8546 * gcc-interface/Makefile.in: Change all uses of $(srcdir),
8547 $(fsrcdir) and $(fsrcpfx) to add ada subdir.
8549 (target_cpu_default): Substitute.
8551 2009-02-25 Laurent GUERBY <laurent@guerby.net>
8554 * a-teioed.adb (Expand): Fix Result overflow.
8556 2009-02-25 Laurent GUERBY <laurent@guerby.net>
8558 * gcc-interface/Makefile.in: Fix multilib handling for
8561 2009-02-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8563 * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
8565 2009-02-18 H.J. Lu <hongjiu.lu@intel.com>
8567 * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
8569 2009-02-16 Eric Botcazou <ebotcazou@adacore.com>
8571 * gcc-interface/deftarg.c: Remove.
8573 2009-02-10 Olivier Hainque <hainque@adacore.com>
8574 Eric Botcazou <ebotcazou@adacore.com>
8576 * gcc-interface/decl.c (enum alias_set_op): New enumeration.
8577 (copy_alias_set): Rename into...
8578 (relate_alias_sets): ...this. Add third parameter OP. Retrieve the
8579 underlying array of unconstrained arrays for the new type as well.
8580 If the old and new alias sets don't conflict, make one a subset of
8581 the other as per the OP parameter.
8582 (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
8583 <E_Record_Type>: Do not copy the alias set for derived types.
8584 For all types, make the alias set of derived types a superset of
8585 that of their parent type.
8586 (make_aligning_type): Adjust calls to copy_alias_set.
8587 (make_packable_type): Likewise.
8588 * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
8589 Check for alias set conflict instead of strict equality to issue the
8592 2009-02-09 Eric Botcazou <ebotcazou@adacore.com>
8594 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
8595 Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
8596 (copy_alias_set): Assert that arrays have the same aliasing settings.
8597 (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
8599 2009-02-08 Eric Botcazou <ebotcazou@adacore.com>
8601 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
8602 Set TYPE_NONALIASED_COMPONENT on the array type.
8604 2009-01-31 Laurent GUERBY <laurent@guerby.net>
8606 * gcc-interface/Makefile.in: Fix mipsel linux handling.
8608 2009-01-16 Jakub Jelinek <jakub@redhat.com>
8610 * gcc-interface/Makefile.in: Fix multilib handling for
8613 2009-01-12 Eric Botcazou <ebotcazou@adacore.com>
8615 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
8616 only useless conversions around renamed objects.
8618 2009-01-11 Eric Botcazou <ebotcazou@adacore.com>
8620 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
8621 the _Tag field before any discriminants in the field list.
8622 (components_to_record): Remove obsolete comment.
8626 Copyright (C) 2009 Free Software Foundation, Inc.
8628 Copying and distribution of this file, with or without modification,
8629 are permitted in any medium without royalty provided the copyright
8630 notice and this notice are preserved.