[multiple changes]
[platform/upstream/gcc.git] / gcc / ada / ChangeLog
1 2009-07-15  Sergey Rybin  <rybin@adacore.com>
2
3         * tree_in.ads, tree_io.ads: Add pragma Warnings Off/On for with clause
4         to System.OS_Lib to avoid warnings.
5
6 2009-07-15  Robert Dewar  <dewar@adacore.com>
7
8         * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor
9         reformatting.
10
11 2009-07-15  Thomas Quinot  <quinot@adacore.com>
12
13         * g-socthi-mingw.adb: Minor comment addition
14
15         * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int.
16
17 2009-07-15  Robert Dewar  <dewar@adacore.com>
18
19         * g-htable.ads, s-htable.ads: Minor reformatting
20
21 2009-07-15  Robert Dewar  <dewar@adacore.com>
22
23         * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement
24         new switch -gnatw.g.
25         (Set_GNAT_Mode_Warnings): New procedure.
26
27         * lib-xref.adb: Minor reformatting
28
29 2009-07-15  Robert Dewar  <dewar@adacore.com>
30
31         * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting
32         Minor code reorganization
33
34 2009-07-14  Taras Glek  <tglek@mozilla.com>
35             Rafael Espindola  <espindola@google.com>
36
37         * gcc-interface/Make-lang.in (ada.install-plugin): New target for
38         installing plugin headers.
39
40 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
41
42         * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
43         exp_aggr.adb (Make_Temporary): Utility to create a defining identifier
44         and link it to the expression whose value it captures.
45
46 2009-07-13  Robert Dewar  <dewar@adacore.com>
47
48         * output.adb: Minor comment addition for last change
49
50         * sinfo.ads: Minor reformatting
51
52 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
53
54         * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when
55         spawn failed like on all other targets.
56
57 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
58
59         * exp_ch7.adb: Indicate origin of temporary for transient expression.
60
61 2009-07-13  Thomas Quinot  <quinot@adacore.com>
62
63         * s-oscons-tmplt.c: Add comment.
64
65 2009-07-13  Robert Dewar  <dewar@adacore.com>
66
67         * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor
68         reformatting. Minor code reorganization (add 9 argument version of
69         Nkind_In).
70
71         * impunit.adb: Remove s-os_lib from list of system extensions.
72
73         * sem_util.ads: Minor reformatting
74
75         * output.adb: Add warnings off/on around System.OS_Lib.
76
77 2009-07-13  Bob Duff  <duff@adacore.com>
78
79         * exp_dist.adb: Minor comment updates.
80
81 2009-07-13  Gary Dismukes  <dismukes@adacore.com>
82
83         * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of
84         several references to CodePeer.
85
86 2009-07-13  Bob Duff  <duff@adacore.com>
87
88         * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function,
89         Build_TypeCode_Function_All): Do not recurse if the type is the base
90         type.
91
92 2009-07-13  Robert Dewar  <dewar@adacore.com>
93
94         * exp_ch4.adb: Minor comment change
95
96 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
97
98         * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for
99         type of iteration, to prevent spurious warnings.
100
101 2009-07-13  Nicolas Roche  <roche@adacore.com>
102
103         * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always
104         included.
105
106 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
107
108         * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb,
109         gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to
110         Generate_SCIL.
111         (CodePeer_Mode): New -gnatC switch.
112         (Adjust_Global_Switches): Adjust settings for Generate_SCIL and
113         CodePeer_Mode.
114
115 2009-07-13  Eric Botcazou  <ebotcazou@adacore.com>
116
117         * checks.adb (Selected_Range_Checks): Do not consider that a non-static
118         integer bound forces the check if it is compared to its subtype range.
119
120 2009-07-13  Robert Dewar  <dewar@adacore.com>
121
122         * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
123         prj-strt.ads: Minor reformatting
124
125 2009-07-13  Thomas Quinot  <quinot@adacore.com>
126
127         * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
128         set the type of the From_Any call to the base type.
129
130 2009-07-13  Doug Rupp  <rupp@adacore.com>
131
132         * symbols-processing-vms-ia64.adb (Process): Add variables and
133         constants to retrieve and check for symbol visibility.
134
135 2009-07-13  Javier Miranda  <miranda@adacore.com>
136
137         * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
138         the identical type we remove the conversion completely because
139         it is useless.
140
141 2009-07-13  Emmanuel Briot  <briot@adacore.com>
142
143         * prj-err.adb (Error_Msg): One more case where a message should be
144         considered as a warning.
145
146         * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
147
148 2009-07-13  Thomas Quinot  <quinot@adacore.com>
149
150         * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
151         calling stubs in the (library level) scope of the RCI locator, where it
152         is attached, not in the caller's scope.
153
154 2009-07-13  Javier Miranda  <miranda@adacore.com>
155
156         * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
157         interface object declarations we delay the generation of the equivalent
158         record type declarations until its expansion because there are cases in
159         which they are not required.            
160
161         * sem_util.adb (Implements_Interface): Add missing support for subtypes.
162
163         * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
164         addition of assertion.
165
166         * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
167         interface types require no equivalent constrained type declarations
168         because the expanded code only references the tag component associated
169         with the interface.
170         (Find_Interface_Tag): Improve management of interfaces that are
171         ancestors of tagged types.
172
173         * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
174         class-wide object declarations to add missing support to statically
175         displace the pointer to the object to reference the tag component
176         associated with the interface.
177
178         * exp_disp.adb (Make_Tags) Avoid generation of internally generated
179         auxiliary types associated with user-defined dispatching calls if the
180         type has no user-defined primitives.
181
182 2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
183
184         * mingw32.h: Make it explicit that we need XP or later.
185
186         * initialize.c: Remove useless extern symbol declaration.
187
188         * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
189         code reuse in expect.c.
190
191         * adaint.c: Changes throughout the Windows section to redesign storage
192         of the child process list and the process identification.
193
194         * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
195         for interfacing, fix errors.
196         (__gnat_expect_portable_execvp): use function in adaint.c
197
198 2009-07-13  Emmanuel Briot  <briot@adacore.com>
199
200         * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
201         prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
202         prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
203         errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
204         (Prj.Nmsc.Report_Error): Removed, no longer needed.
205         Always use Prj.Err.Report_Message.
206
207 2009-07-13  Robert Dewar  <dewar@adacore.com>
208
209         * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
210         & comment edits.
211
212 2009-07-13  Robert Dewar  <dewar@adacore.com>
213
214         * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
215         prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
216
217 2009-07-13  Emmanuel Briot  <briot@adacore.com>
218
219         * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
220         mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
221         Ada_Prj_Include_File_Set): Removed, since not needed
222         Code clean up.
223
224 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
225
226         * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
227         Analyze_Membership_Op.
228
229         * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
230         Resolve_Membership_Op.
231
232         * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
233         Expand_N_In.
234
235 2009-07-13  Robert Dewar  <dewar@adacore.com>
236
237         * clean.adb: Minor reformattting
238
239 2009-07-13  Emmanuel Briot  <briot@adacore.com>
240
241         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
242         gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
243         prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
244         prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
245         and attributes in a project tree.
246         (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
247         Remove last remaining mode-specific code (ada_only or
248         multi_language). This was duplicating code
249         (Get_Mode, Set_Mode): removed, no longer used.
250         (Initialize_Project_Path): all tools will now take into account both
251         GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
252         Remove some global variables and subprograms no longer used
253         Make temporary files tree-specific, to avoid interferences between
254         trees loaded in memory at the same time.
255         (Prj.Delete_Temporary_File): new subprogram
256         (Object_Paths, Source_Paths): fields no longer stored in the project
257         tree, since they are only needed locally in Set_Ada_Paths.
258         (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
259         effect in practice.
260         (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
261         by local variables in the appropriate subprograms
262         (Has_Foreign_Sources): removed.
263
264         * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
265
266 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
267
268         * gnat1drv.adb (Adjust_Global_Switches): No longer set
269         Back_Annotate_Rep_Info in inspector mode.
270         (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
271
272         * opt.ads: Update comment.
273
274 2009-07-13  Robert Dewar  <dewar@adacore.com>
275
276         * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
277         prj.ads: Minor reformatting and code reorganization.
278
279         * par-ch3.adb (Check_Restricted_Expression): New procedure
280
281 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
282
283         * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
284         attribute into a call of the corresponding suprogram, create extra
285         formals for the subprogram, because it may be a renaming whose
286         analysis does not create extra formals.
287
288 2009-07-13  Emmanuel Briot  <briot@adacore.com>
289
290         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
291         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
292         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
293         prj-tree.ads: Minor reformatting.
294         (Processing_Flags): new record to encapsulate the set of common
295         parameters to several subprograms in the project manager.
296         (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
297         Remove the need for the Current_Dir parameter in subprograms.
298         (Look_For_Sources): minor refactoring, now that we no longer need to
299         share subprograms between the two Ada_Only and Multi_Language modes
300         (Processing_Flags): New field Error_On_Unknown_Language.
301         Merge tests for library project between gnatmake and gprbuild.
302
303 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
304
305         * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
306         Minor reformatting.
307
308 2009-07-13  Emmanuel Briot  <briot@adacore.com>
309
310         * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
311         than units.
312
313 2009-07-13  Thomas Quinot  <quinot@adacore.com>
314
315         * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
316         Write,Input,Output} from private view to full view.
317
318         * sem_type.adb, sem_type.ads: Minor reformatting
319
320 2009-07-13  Nicolas Setton  <setton@adacore.com>
321
322         * exp_dbug.ads: Add documentation note on the utility of
323         DW_AT_GNAT_encoding for IDEs.
324
325 2009-07-13  Robert Dewar  <dewar@adacore.com>
326
327         * g-socthi-vxworks.adb: Minor reformatting
328
329         * gnatcmd.adb: Minor reformatting
330
331 2009-07-13  Thomas Quinot  <quinot@adacore.com>
332
333         * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
334         removed, not used anymore.
335         (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
336         New subprogram, implements copy of an Any value into a limited object.
337         (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
338         Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
339         Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
340         of parameters of a limited type, use the above new subprogram.
341
342 2009-07-13  Emmanuel Briot  <briot@adacore.com>
343
344         * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
345         Location.
346         (Copy_ALI_Files): Avoid calls to read when pointing outside of the
347         allocated space.
348         (Error_Report): Remove global variable, replaced by parameters.
349
350 2009-07-13  Thomas Quinot  <quinot@adacore.com>
351
352         * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
353         standard sendto(2) interface for connected sockets (passing a null
354         destination address). Use send(2) instead for that case.
355
356 2009-07-13  Pascal Obry  <obry@adacore.com>
357
358         * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
359
360 2009-07-13  Emmanuel Briot  <briot@adacore.com>
361
362         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
363         prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
364         variables and tables in prj-nmsc.adb.
365         (Tree_Processing_Data): Renames Processing_Data, some new fields added
366         (Project_Processing_Data): New record
367         Simplify/unify check for missing sources.
368
369 2009-07-13  Emmanuel Briot  <briot@adacore.com>
370
371         * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
372         prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
373         prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
374         prj-tree.ads (Immediate_Directory_Of): Removed.
375         (Prj.Pars): Now parse the project simulating a default config file.
376         (Add_Default_GNAT_Naming_Scheme): New subprogram
377         (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
378         Remove gnatmake-specific parsing of source files.
379         (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
380         the error itself to provide more precise diagnostics.
381         (Process_Exceptions_Unit_Based): Avoid duplicate error message when
382         a unit belongs to several projects.
383         (Copy_Interface_Sources): Search the full path of files to copy in the
384         list of sources of the application rather than in the list of units.
385         (Parse_Project_And_Apply_Config): Do not reset the name of the main
386         project file.
387         (Check_File): Use htables to find out whether a source is duplicated.
388         (Add_Source): check whether the source or unit were already seen earlier
389
390         * gcc-interface/Makefile.in: Update gnatmake dependencies.
391
392 2009-07-13  Robert Dewar  <dewar@adacore.com>
393
394         * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
395         expression if extensions permitted.
396
397         * par-ch4.adb (P_Membership_Test): New procedure (implement membership
398         set tests).
399         (P_Relation): Use P_Membership_Test
400
401         * par.adb (P_Membership_Test): New procedure (implement membership set
402         tests).
403
404         * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
405
406         * sprint.adb (Sprint_Node): Handle set form for membership tests.
407
408 2009-07-13  Thomas Quinot  <quinot@adacore.com>
409
410         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
411         Do not attempt to generate stubs for predefined primitives of
412         synchronized interfaces.
413         (Add_Stub_Type): Factor some code from the PCS-specific variants of
414         Build_Stub_Type.
415
416 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
417
418         * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
419         Controlling_Result flag from the operation they override.
420
421 2009-07-13  Arnaud Charlet  <charlet@adacore.com>
422
423         * gcc-interface/Make-lang.in: Update dependencies
424
425 2009-07-13  Robert Dewar  <dewar@adacore.com>
426
427         * gnat_ugn.texi: The gnatf switch no longer is needed to get full
428         details on unsupported constructs.
429
430         * rtsfind.adb: Remove references to All_Errors_Mode, give errors
431         unconditionally.
432
433         * s-trafor-default.adb: Correct some warnings
434
435         * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
436         sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
437         Minor reformatting.
438
439         * par-ch4.adb (Conditional_Expression): Capture proper location for
440         conditional expression, should point to IF.
441
442         * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
443         s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
444         g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
445         reorganization (use conditional expressions).
446
447 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
448
449         * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
450         build-in-place function that returns an inherently limited type (not
451         just a task type) create proper object declaration so that extra
452         build-in-place actuals are properly added to the call.
453
454 2009-07-13  Robert Dewar  <dewar@adacore.com>
455
456         * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
457
458         * gnat_ugn.texi: Add documentation for -gnatw.m/.M
459
460         * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
461
462         * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
463         Warn_On_Suspicious_Modulus_Value.
464
465         * ug_words: Add entries for -gnatw.m/-gnatw.M.
466
467         * usage.adb: Add lines for -gnatw.m/.M switches.
468
469         * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
470
471 2009-07-13  Javier Miranda  <miranda@adacore.com>
472
473         * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
474         reading the Is_Interface attribute of the dispatching type.
475
476 2009-07-13  Robert Dewar  <dewar@adacore.com>
477
478         * a-convec.adb: Minor code reorganization (use conditional expressions)
479
480 2009-07-13  Robert Dewar  <dewar@adacore.com>
481
482         * freeze.adb (Check_Suspicious_Modulus): New procedure.
483
484 2009-07-13  Robert Dewar  <dewar@adacore.com>
485
486         * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
487         warning).
488
489         * par-ch4.adb: Minor reformatting
490
491 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
492
493         * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
494         => Is_Atomic_Aggregate
495
496 2009-07-13  Emmanuel Briot  <briot@adacore.com>
497
498         * prj-nmsc.adb: Avoid traversing the list of source files if
499         we have already processed all locally removed files.
500
501 2009-07-13  Jose Ruiz  <ruiz@adacore.com>
502
503         * gnat_ugn.texi: Fix typo.
504
505 2009-07-13  Robert Dewar  <dewar@adacore.com>
506
507         * freeze.adb: Minor reformatting
508         Minor code reorganization (use Nkind_In)
509
510         * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
511
512 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
513
514         * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
515         local variable and do not test it in Compile_Time_Bad_Alignment.
516         Do not issue size or alignment warnings for the X'Address form.
517         * sem_util.ads (Find_Overlaid_Object): Delete.
518         (Find_Overlaid_Entity): New procedure.
519         * sem_util.adb (Find_Overlaid_Object): Rename to...
520         (Find_Overlaid_Entity): ...this and turn into a procedure.  Report
521         whether the address is offseted within the overlaid entity.
522         (Has_Compatible_Alignment): Track the offset globally instead of
523         passing it to Check_Offset.  For an indexed component, compute the
524         full offset when possible.  If the resulting offset is zero, only
525         check the prefix.
526         (Check_Offset): Delete.
527         * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
528         (Address_Aliased_Entity): Delete.
529         (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
530         Find_Overlaid_Entity to find the overlaid entity and the offset.
531         Adjust throughout for above change.
532         (Validate_Address_Clauses): Always use attributes of entities, not of
533         their type.  Tweak message for warning.  Call Has_Compatible_Alignment
534         if the address is offseted to warn about incompatible alignments.
535         * gcc-interface/gigi.h (annotate_object): Declare.
536         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
537         entity.  Call annotate_object instead of annotating manually objects.
538         (annotate_object): New function.
539         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
540         at the end.
541
542 2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
543
544         * gcc-interface/ada-tree.h: Minor reorganization.
545         * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
546         (gnat_print_type): Likewise.
547
548 2009-07-11  Thomas Quinot  <quinot@adacore.com>
549
550         * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
551         Lvalue -> lvalue
552
553         * exp_ch6.adb: Minor reformatting
554
555 2009-07-11  Ed Schonberg  <schonberg@adacore.com>
556
557         * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
558         account possible type qualification to determine whether aggregate
559         needs a target temporary to respect atomic type or object.
560
561         * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
562         Expand_Atomic_Aggregate.
563
564 2009-07-11  Emmanuel Briot  <briot@adacore.com>
565
566         * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
567         algorithm.
568         (Excluded_Sources_Htable): No longer a global table.
569         Change error message to indicate which files are illegal in the list
570         of excluded files, as opposed to only the location in the project
571         file.
572         (Find_Source): New subprogram.
573
574 2009-07-10  Thomas Quinot  <quinot@adacore.com>
575
576         * exp_ch7.adb: Update comments.
577
578 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
579
580         * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
581         clause if -gnatI is set instead of crashing.
582
583 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
584
585         * sem_ch11.adb (Same_Expression): Null is always equal to itself.
586         Additional work to remove redundant successive raise statements, in
587         this case access checks.
588
589 2009-07-10  Vincent Celier  <celier@adacore.com>
590
591         * make.adb (Compile): Always create a deep copy of the mapping file
592         argument (-gnatem=...) as it may be deallocate/reallocate by
593         Normalize_Arguments.
594
595 2009-07-10  Javier Miranda  <miranda@adacore.com>
596
597         * einfo.adb (Directly_Designated_Type): Add assertion.
598         
599         * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
600         access types before using attribute Directly_Designated_Type.
601
602 2009-07-10  Emmanuel Briot  <briot@adacore.com>
603
604         * prj.ads: Minor typo fix
605
606 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
607
608         * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
609         special treatment.
610
611         * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
612         subprogram is a function call, resolve properly, to ensure that extra
613         actuals are added as needed.
614
615 2009-07-10  Thomas Quinot  <quinot@adacore.com>
616
617         * sem_aggr.adb: Minor comments editing
618
619         * exp_tss.adb, exp_ch3.adb: Minor reformatting
620
621 2009-07-10  Robert Dewar  <dewar@adacore.com>
622
623         * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
624
625         * exp_ch4.adb: Add ??? comment for conditional expressions on limited
626         types.
627
628         * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
629         replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
630         case of conditional expressions that may not be elaborated.
631
632         * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
633         conditional expression where we may not execute then then or else
634         branches.
635
636 2009-07-10  Arnaud Charlet  <charlet@adacore.com>
637
638         * i-cexten.ads (bool): New type.
639
640 2009-07-10  Robert Dewar  <dewar@adacore.com>
641
642         * sinfo.ads (N_Short_Circuit): New definition
643         
644         * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
645         treepr.adb: Minor code reorganization (use N_Short_Circuit)
646
647 2009-07-10  Javier Miranda  <miranda@adacore.com>
648
649         * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
650         non-tagged record types.
651
652         * sem_prag.adb
653         (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
654         with non-tagged types. Required to import C++ classes that have no
655         virtual primitives.
656         (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
657         returning non-tagged types. For backward compatibility, if the
658         constructor returns a class wide type we internally change the
659         returned type to the corresponding non class-wide type.
660
661         * sem_aggr.adb
662         (Valid_Ancestor_Type): CPP_Constructors code cleanup.
663         (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
664         (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
665         (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
666
667         * sem_ch3.adb
668         (Analyze_Object_Declaration): CPP_Constructors code cleanup.
669
670         * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
671
672         * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
673
674         * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
675
676         * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
677         cleanup.
678         
679         * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
680
681         * gnat_rm.texi
682         (pragma CPP_Class): Document that it can be used now with non-tagged
683         record types.
684         (pragma CPP_Constructor): Document that it can be used now with
685         functions returning specific types. For backward compatibility
686         we also support functions returning class-wide types.
687
688         * gnat_ugn.texi
689         (Interfacing with C++ constructors): Update the examples to incorporate
690         the new syntax in which the functions used to import C++ constructors
691         return specific types.
692         (Interfacing with C++ at the Class Level): Update the examples to
693         incorporate the new syntax in which the functions used to import
694         C++ constructors return specific types.
695
696 2009-07-10  Thomas Quinot  <quinot@adacore.com>
697
698         * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
699         Make_Disp_Conditional_Select_Body,
700         Make_Disp_Timed_Select_Body): For the case of a type that is neither an
701         interface nor a concurrent type, the primitive body is empty. Generate
702         a null statement so that it remains well formed.
703
704 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
705
706         * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
707         replace references to them in defaulted component expressions with
708         references to the values of the discriminants of the target object.
709
710 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
711
712         * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
713         pragma, to capture global references if the context is generic.
714
715         * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
716         appears within the initialization procedure for the corresponding
717         record, replace it with the proper discriminal.
718
719 2009-07-10  Vincent Celier  <celier@adacore.com>
720
721         * make.adb: Do not include object directories or library ALI
722         directories of library projects in the object path.
723
724 2009-07-10  Javier Miranda  <miranda@adacore.com>
725
726         * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
727         Typ argument to ensure proper management of access types.
728
729 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
730
731         * exp_ch7.adb (Build_Final_List): If the list is being built for a
732         Taft-Amendment type, place the finalization list in the package body,
733         to ensure that the tree for the spec is identical whenever it is
734         compiled.
735
736 2009-07-10  Javier Miranda  <miranda@adacore.com>
737
738         * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
739         inheriting attributes from a private Parent_Base.
740
741 2009-07-10  Ed Schonberg  <schonberg@adacore.com>
742
743         * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
744         statements with the same condition.
745
746 2009-07-10  Robert Dewar  <dewar@adacore.com>
747
748         * exp_ch4.adb (Raise_Accessibility_Error): New procedure
749
750 2009-07-09  Tom Tromey  <tromey@redhat.com>
751
752         * raise-gcc.c: Include dwarf2h (unconditionally).
753
754 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
755
756         * sem_ch10.adb (Install_Context): If the unit is a package body,
757         install the private with_clauses of the corresponding package
758         declaration.
759
760 2009-07-09  Robert Dewar  <dewar@adacore.com>
761
762         * checks.adb: Minor reformatting
763
764 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
765
766         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
767         into ug_words.
768
769 2009-07-09  Thomas Quinot  <quinot@adacore.com>
770
771         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
772         Do not warn for a constant overlaying any constant object
773
774 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
775
776         * sem_ch10.adb (Install_Context): If the unit is a package body,
777         install the private with_clauses of the corresponding package
778         declaration.
779
780 2009-07-09  Robert Dewar  <dewar@adacore.com>
781
782         * checks.adb: Minor reformatting
783
784 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
785
786         * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
787         into ug_words.
788
789 2009-07-09  Thomas Quinot  <quinot@adacore.com>
790
791         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
792         Do not warn for a constant overlaying any constant object
793
794 2009-07-09  Arnaud Charlet  <charlet@adacore.com>
795
796         * gcc-interface/Make-lang.in: Update dependencies
797
798 2009-07-09  Thomas Quinot  <quinot@adacore.com>
799
800         * g-socket.adb (Check_Selector): Do not create local copies of the
801         socket sets on the stack.
802
803 2009-07-09  Vasiliy Fofanov  <fofanov@adacore.com>
804
805         * gnat_ugn.texi: Add missing VMS translations.
806
807 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
808
809         * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
810         condition, to prevent generation of visible code during expansion,
811         when Check is not enabled.
812
813 2009-07-09  Gary Dismukes  <dismukes@adacore.com>
814
815         * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
816         the check gets registered for any available local handler
817         (Set_Local_Raise).
818
819         * sem_util.adb: Add with and use of Exp_Ch11.
820         (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
821         that the check gets registered for any available local handler.
822
823         * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
824         on slice ranges.
825
826 2009-07-09  Steve Baird  <baird@adacore.com>
827
828         * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
829         function.
830         (Expand_N_Exception_Declaration): Fix handling of exceptions
831         declared in a subprogram.
832
833 2009-07-09  Emmanuel Briot  <briot@adacore.com>
834
835         * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
836         multi-unit files.
837
838 2009-07-09  Thomas Quinot  <quinot@adacore.com>
839
840         * freeze.adb: Minor reformatting
841
842         * exp_ch3.adb: Minor comment fix.
843
844         * sinfo.ads: Minor comment fix
845
846 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
847
848         * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
849
850 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
851
852         * freeze.adb (Freeze_Expression): If the expression is the name of a
853         function in a call, and the function has not been frozen yet, create
854         extra formals for it to ensure that the proper actuals are created
855         when expanding the call.
856
857 2009-07-09  Emmanuel Briot  <briot@adacore.com>
858
859         * prj-pp.adb (Print): Fix handling of source index when set on a
860         declaration node.
861
862 2009-07-09  Ed Schonberg  <schonberg@adacore.com>
863
864         * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
865         a temporary to the source expression whose value it captures.
866
867         * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
868
869 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
870
871         * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
872         EXPR_LOCATION.
873
874 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
875
876         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
877         parameters when the subtype of the actual is not known to be a subrange
878         of the formal's subtype.
879         (Expand_Call): Generate a range check only in the E_In_parameter case
880         (in out parameter range checks are now handled in Expand_Actuals).
881
882         * exp_ch4.adb (Expand_N_Slice): Restore code that calls
883         Enable_Range_Check.
884
885 2009-07-07  Robert Dewar  <dewar@adacore.com>
886
887         * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
888
889 2009-07-07  Javier Miranda  <miranda@adacore.com>
890
891         * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
892         designated type comes from a limited views.
893
894 2009-07-07  Emmanuel Briot  <briot@adacore.com>
895
896         * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
897         locally removed files that are later made visible again in an importing
898         project.
899
900 2009-07-07  Robert Dewar  <dewar@adacore.com>
901
902         * gnat_rm.texi: Clarify documentation of Stream_Convert pragma
903
904 2009-07-07  Sergey Rybin  <rybin@adacore.com>
905
906         * gnat_ugn.texi: Add an example to the description of gnatcheck
907         'Style_Checks' rule option.
908
909 2009-07-07  Tristan Gingold  <gingold@adacore.com>
910
911         * seh_init.c: Fix inline assembly statement in seh_init.c
912
913 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
914
915         * sem_warn.adb (Check_References): Do not emit warnings on formals of
916         an entry body. Only the formals of the entry declaration are traced.
917
918 2009-07-07  Robert Dewar  <dewar@adacore.com>
919
920         * s-osprim-mingw.adb: Minor code reorganization
921
922 2009-07-07  Robert Dewar  <dewar@adacore.com>
923
924         * prj-nmsc.adb: Minor reformatting
925
926 2009-07-07  Pascal Obry  <obry@adacore.com>
927
928         * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle
929         cases where Pattern is longer than Source.
930
931 2009-07-07  Pascal Obry  <obry@adacore.com>
932
933         * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop.
934
935 2009-07-07  Emmanuel Briot  <briot@adacore.com>
936
937         * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the
938         project file.
939
940 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
941
942         * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to
943         primitive operations, in case one of them is called in the
944         initialization procedure for the type.
945
946 2009-07-07  Robert Dewar  <dewar@adacore.com>
947
948         * a-calend.adb: Minor code reorganization (use conditional expressions)
949
950         * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads,
951         prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb,
952         s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb,
953         s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb,
954         s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads,
955         g-comlin.adb, exp_ch11.adb: Minor reformatting.
956
957 2009-07-07  Gary Dismukes  <dismukes@adacore.com>
958
959         * checks.adb (Generate_Range_Check): Replace type conversions with
960         unchecked conversions to support the case of performing range checks
961         on Enum'Val (permits integer values to be converted to enumeration).
962
963         * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred,
964         Attribute_Succ): Set Do_Range_Check to False before calling
965         Expand_Pred_Succ, to prevent gigi from generating any range checks.
966         (Expand_N_Attribute_Reference, case Attribute_Val):
967         Generate a range check when needed (and set Do_Range_Check to False).
968
969         * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on
970         scalar object initialization if needed.
971
972         * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks
973         when needed on scalar allocators.
974         (Expand_N_Qualified_Expression): Generate range check when needed.
975         (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges.
976         Checks on slice ranges handled in Resolve_Slice.
977
978         * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check,
979         when needed, for all scalar assignments, not just discrete.
980         (Expand_Simple_Function_Return): Resolve the conversion created for a
981         scalar function return so that the conversion will get expanded to
982         generate a possible constraint check.
983
984         * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and
985         in out scalar actuals when subtypes don't match, to ensure generation
986         of return checks (and set Do_Range_Check to False).
987         (Expand_Call): Uncomment code to perform range checks, but make it apply
988         only to in and in out parameters (checks on parameter returns are
989         handled in Expand_Actuals). If a scalar actual for a call to a derived
990         subprogram is marked as needing a range check, peform it here (and set
991         Do_Range_Check to False).
992
993         * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a
994         range check on scalar component associations when needed.
995
996         * sem_eval.adb (In_Subrange_Of): Return False when the first type has
997         infinities but the second type does not, as these aren't compatible
998         floating-point types.
999
1000         * sem_res.adb (Resolve_Slice): In the case where the prefix of the
1001         slice is itself a slice, pick up the Etype of the prefix. This handles
1002         the case where the prefix was an Image attribute expanded to a slice,
1003         and ensures that we get the subtype with the slice constraint rather
1004         than the unconstrained subbtype of the 'Image.
1005
1006 2009-07-07  Ed Schonberg  <schonberg@adacore.com>
1007
1008         * sem_ch4.adb (Analyze_Conditional_Expression): handle properly
1009         overloaded expressions in a conditional expressions.
1010
1011         * sem_res.adb (Resolve): Handle properly overloaded conditional
1012         expressions.
1013
1014 2009-07-07  Robert Dewar  <dewar@adacore.com>
1015
1016         * scng.adb: Minor reformattting
1017
1018         * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument
1019         association allows conditional expression without parens.
1020
1021         * par-ch4.adb (P_Name): Attribute arguments can be conditional
1022         expressions without enclosing parentheses, and also as parameters,
1023         indexing expressions etc.
1024         (P_Conditional_Expression): New procedure
1025         (P_Expression_If_OK): New procedure
1026
1027         * par.adb (P_Conditional_Expression): New procedure
1028         (P_Expression_If_OK): New procedure
1029
1030         * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument
1031         form of conditional expression.
1032
1033         * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying
1034         missing True argument if ELSE argument missing.
1035
1036         * sinfo.adb (Is_Elsif): New flag
1037
1038         * sinfo.ads (N_Conditional_Expression): This node is now a syntactic
1039         part of the language, and the documentation is modified accordingly.
1040         (Is_Elsif): New flag
1041
1042 2009-07-06  Olivier Hainque  <hainque@adacore.com>
1043
1044         * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
1045         setjmp_longjmp): Attach the exception propagation reraise fallback
1046         to the sequence end label location when we have it.
1047
1048 2009-07-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1049
1050         PR ada/40608
1051         * init.c (APPLE): Include <mach/mach_init.h>.
1052         (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker.
1053
1054 2009-07-04  Eric Botcazou  <ebotcazou@adacore.com>
1055
1056         * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
1057         (SET_DECL_LANG_SPECIFIC): Likewise.
1058         (TYPE_RM_VALUE): New macro.
1059         (SET_TYPE_RM_VALUE): Likewise.
1060         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
1061         (TYPE_RM_MIN_VALUE): Likewise.
1062         (TYPE_RM_MAX_VALUE): Likewise.
1063         (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
1064         (SET_TYPE_RM_MIN_VALUE): Likewise.
1065         (SET_TYPE_RM_MAX_VALUE): Likewise.
1066         * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
1067
1068 2009-07-04  Laurent GUERBY  <laurent@guerby.net>
1069
1070         PR ada/40631
1071         * tracebak.c (__gnat_backtrace): Fix old-style definition.
1072
1073 2009-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1074
1075         * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
1076
1077 2009-07-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1078
1079         PR ada/40609
1080         * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to
1081         ucontext argument.
1082
1083 2009-07-01  Eric Botcazou  <ebotcazou@adacore.com>
1084
1085         * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
1086
1087 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
1088
1089         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
1090         the type of the left operand if it pads a self-referential type when
1091         the right operand is a constructor.
1092
1093         * gcc-interface/lang-specs.h: Fix copyright date.
1094
1095 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
1096
1097         * gcc-interface/decl.c: Include tree-inline.h.
1098         (annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
1099         * gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
1100         * gcc-interface/utils2.c: Include tree-inline.
1101         (known_alignment) <CALL_EXPR>: Likewise.
1102
1103 2009-06-30  Eric Botcazou  <ebotcazou@adacore.com>
1104
1105         * raise-gcc.c: Include dwarf2.h conditionally.
1106         
1107 2009-06-29  Tom Tromey  <tromey@redhat.com>
1108
1109         * raise-gcc.c: Include elf/dwarf2.h.
1110
1111 2009-06-27  Laurent GUERBY  <laurent@guerby.net>
1112
1113         * tb-gcc.c (trace_callback): Add casts to silence warning.
1114
1115 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
1116
1117         * tb-gcc.c: Fix copyright notice.
1118
1119 2009-06-27  Eric Botcazou  <ebotcazou@adacore.com>
1120
1121         * init.c (__gnat_set_globals): Add prototype.
1122         * adaint.c (__gnat_binder_supports_auto_init): Likewise.
1123         (__gnat_sals_init_using_constructors): Likewise.
1124         * gcc-interface/utils.c (gnat_pushlevel): Likewise.
1125         (get_block_jmpbuf_decl): Likewise.
1126         (gnat_poplevel): Likewise.
1127         (merge_sizes): Rename local variable.
1128         (copy_type): Likewise.
1129         (build_vms_descriptor32): Likewise.
1130         (build_vms_descriptor): Likewise.
1131         (convert_vms_descriptor64): Likewise.
1132         (convert_vms_descriptor32): Likewise.
1133         (convert_to_fat_pointer): Likewise.
1134         (maybe_unconstrained_array): Likewise.
1135         (def_fn_type): Use promoted type with va_arg.
1136         * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration.
1137         (substitute_in_type): Rename local variable.
1138         * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN.
1139
1140 2009-06-26  Laurent GUERBY  <laurent@guerby.net>
1141
1142         * tb-gcc.c (trace_callback): Use char* instead of void*.
1143         * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible.
1144         * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
1145         (Attribute_to_gnu): Adjust for above change.
1146         (Subprogram_Body_to_gnu): Likewise.
1147         * gcc-interface/utils.c (merge_sizes): Rename local variable.
1148         (copy_type): Likewise.
1149         (build_vms_descriptor32): Likewise.
1150         (build_vms_descriptor): Likewise.
1151         (convert_vms_descriptor64): Likewise.
1152         (convert_vms_descriptor32): Likewise.
1153         (convert_to_fat_pointer): Likewise.
1154         (maybe_unconstrained_array): Likewise.
1155         * gcc-interface/decl.c (substitute_in_type): Likewise.
1156
1157 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
1158
1159         * gcc-interface/decl.c (cannot_be_superflat_p): New predicate.
1160         (gnat_to_gnu_entity) <E_Array_Subtype>: Use it to build the expression
1161         of the upper bound of the index types.
1162
1163 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
1164
1165         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Factor
1166         out common predicate.  Use the maximum to compute the upper bound of
1167         the index type only when it is not wider than sizetype.  Perform the
1168         comparison in the index type for the generic expression.  Use real
1169         precision to decide whether to generate special types for debugging
1170         information.
1171
1172 2009-06-26  Matthew Gingell  <gingell@adacore.com>
1173
1174         * adaint.c: Do not use the dummy version of convert_addresses on LynxOS
1175
1176 2009-06-26  Vincent Celier  <celier@adacore.com>
1177
1178         * prj.ads (No_Language_Config): Value of Dependency_Kind is None by
1179         default.
1180
1181 2009-06-26  Robert Dewar  <dewar@adacore.com>
1182
1183         * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting
1184
1185 2009-06-26  Eric Botcazou  <ebotcazou@adacore.com>
1186
1187         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Pass
1188         correct arguments to create_field_decl.  Remove redundant iteration.
1189         Rewrite computation of the maximum size.
1190         <E_Array_Subtype>: Reorder and simplify handling of special cases.
1191         Rewrite computation of the maximum size.  Use consistent naming.
1192         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Swap
1193         comparison order for consistency.  Use generic integer node to
1194         build the operator and fold the result.
1195
1196 2009-06-25  Vincent Celier  <celier@adacore.com>
1197
1198         * vms_data.ads: Minor comment change
1199
1200 2009-06-25  Gary Dismukes  <dismukes@adacore.com>
1201
1202         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an
1203         assignment statement to targeting a caller-provided object when the
1204         result type is an interface type.
1205
1206         * exp_ch6.adb (Expand_Call): Remove redundant test of
1207         Is_Limited_Interface (Is_Inherently_Limited is sufficient).
1208         (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface.
1209
1210         * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call
1211         to OK_For_Limited_Init.
1212
1213         * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type
1214         condition so that True is returned for all limited interfaces, not
1215         just synchronized ones. Ignore components of an interface type when
1216         checking for limited components (such a component can be a parent
1217         component).
1218
1219         * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter.
1220         (OK_For_Limited_Init): Add type parameter.
1221
1222         * sem_ch3.adb (Check_Initialization): Add type in call to
1223         OK_For_Limited_Init.
1224         (OK_For_Limited_Init): Add new type param in call to
1225         OK_For_Limited_Init_In_05.
1226         (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a
1227         nonlimited type when the context type is a limited interface. Add type
1228         on recursive calls.
1229
1230         * sem_ch4.adb (Analyze_Allocator): Add type in call to
1231         OK_For_Limited_Init.
1232
1233         * sem_ch6.adb (Check_Limited_Return): Add type in call to
1234         OK_For_Limited_Init.
1235
1236         * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to
1237         OK_For_Limited_Init.
1238         (Instantiate_Object): Add type in call to OK_For_Limited_Init.
1239
1240         * sem_type.adb (Interface_Present_In_Ancestor): In the case of a
1241         class-wide interface, get the base type before applying Etype, in order
1242         to account for class-wide subtypes.
1243
1244 2009-06-25  Emmanuel Briot  <briot@adacore.com>
1245
1246         * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb,
1247         prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data
1248         between gnatmake and gprbuild.
1249         (Naming_Data): Removed, no longer used
1250         (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only
1251         needed locally in one subprogram, no need to store forever in the
1252         structure.
1253         (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play
1254         a similar role.
1255         (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme,
1256         Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of,
1257         Spec_Suffix_Id_Of): removed, no longer used.
1258
1259 2009-06-25  Javier Miranda  <miranda@adacore.com>
1260
1261         * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of
1262         types on qualified expression in calls to imported C++ constructors.
1263
1264         * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for
1265         imported C++ constructors.
1266
1267 2009-06-25  Sergey Rybin  <rybin@adacore.com>
1268
1269         * vms_data.ads: Add qualifier for new gnatcheck '-t' option.
1270
1271 2009-06-25  Vincent Celier  <celier@adacore.com>
1272
1273         * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory
1274         provided, on Windows change all '/' to '\'.
1275
1276         * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer
1277         used. Minor comment changes
1278
1279         * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or
1280         Remove_Forbidden_File_Name.
1281
1282 2009-06-25  Quentin Ochem  <ochem@adacore.com>
1283
1284         * prj.ads (Unit_Index): Now general access type.
1285
1286 2009-06-25  Pascal Obry  <obry@adacore.com>
1287
1288         * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last.
1289
1290 2009-06-25  Emmanuel Briot  <briot@adacore.com>
1291
1292         * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb,
1293         prj-env.ads (Source_Data.Get_Object): Field removed, since it can be
1294         computed efficiently from the other fields.
1295         (Object_To_Global_Archive): New subprogram
1296         (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name.
1297         (Override_Kind): Fix handling of separates in Ada.
1298         (Create_Mapping_File): Remove duplicate code
1299         (Naming_Data.Implementation_Exception, Specification_Exception):
1300         field removed, since never used.
1301         (Naming_Data.Specs, .Bodies): field removed, since this is only
1302         used while processing the project and is not needed once the tree
1303         is in memory. This brings Naming_Data and Lang_Naming_Data
1304         closer (same content now, but different use still).
1305
1306 2009-06-25  Pascal Obry  <obry@adacore.com>
1307
1308         * sem_ch4.adb: Minor reformatting.
1309
1310         * a-strsea.adb: Fix confusion between 'Length and 'Last.
1311
1312 2009-06-25  Ed Schonberg  <schonberg@adacore.com>
1313
1314         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and
1315         Unchecked_Access): If the context is an interface type, and the prefix
1316         is of the corresponding class-wide type, do not insert a conversion
1317         because the pointer displacement has already taken place, and we must
1318         retain the class-wide type in a dispatching context.
1319
1320 2009-06-25  Emmanuel Briot  <briot@adacore.com>
1321
1322         * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of
1323         the previous source file.
1324         (Create_Mapping): Iterate on sources rather than on units.
1325
1326 2009-06-25  Emmanuel Briot  <briot@adacore.com>
1327
1328         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb,
1329         prj-env.adb, prj-env.ads (Slash): removed, no longer used
1330         (Source_Data): no longer use Path.Name to point to a locally removed
1331         file. Instead we use the field Locally_Removed which is clearer
1332
1333 2009-06-25  Arnaud Charlet  <charlet@adacore.com>
1334
1335         * gcc-interface/Make-lang.in: Remove references to sem_maps.o
1336
1337         * sem_maps.adb, sem_maps.ads: Removed, not used.
1338
1339 2009-06-25  Ed Falis  <falis@adacore.com>
1340
1341         * s-vxwext-rtp.ads: Add missing declaration
1342
1343 2009-06-25  Matthew Gingell  <gingell@adacore.com>
1344
1345         * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack,
1346         speed up unmapped case.
1347
1348 2009-06-25  Vincent Celier  <celier@adacore.com>
1349
1350         * prj-nmsc.adb (Check): Change error message for illegal abstract
1351         projects.
1352
1353 2009-06-25  Robert Dewar  <dewar@adacore.com>
1354
1355         * gnat_ugn.texi: Add note on use of -gnatct for ASIS
1356
1357 2009-06-25  Emmanuel Briot  <briot@adacore.com>
1358
1359         * fmap.ads: Add documentation on mapping files
1360
1361 2009-06-25  Robert Dewar  <dewar@adacore.com>
1362
1363         * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor
1364         reformatting
1365
1366 2009-06-24  Robert Dewar  <dewar@adacore.com>
1367
1368         * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting
1369
1370         * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped
1371         case.
1372         (Index): Ditto.
1373
1374 2009-06-24  Ed Schonberg  <schonberg@adacore.com>
1375
1376         * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is
1377         present when checking whether a call may be interpreted as an indexing
1378         of the result of a call.
1379
1380         * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated
1381         body for a null procedure on the freeze actions for the procedure, so
1382         that it will be analyzed at the proper place without premature freezing
1383         of actuals.
1384
1385         * sem_ch3.adb (Check_Completion): Code cleanup. 
1386         Do not diagnose a null procedure without a body, if previous errors
1387         have disabled expansion.
1388
1389 2009-06-24  Doug Rupp  <rupp@adacore.com>
1390
1391         * init.c [VMS] Resignal C$_SIGKILL
1392
1393 2009-06-24  Ed Falis  <falis@adacore.com>
1394
1395         * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5
1396         Define ERROR in body for VxWorks 6 kernel
1397
1398 2009-06-24  Pascal Obry  <obry@adacore.com>
1399
1400         * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error
1401         in [Send/Receive]_Socket.
1402
1403 2009-06-24  Emmanuel Briot  <briot@adacore.com>
1404
1405         * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
1406         prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter
1407         to several subprograms.
1408         (Source_Data.Other_Part): Removed, since can be computed from the
1409         language.
1410         (Other_Part): New subprogram.
1411
1412 2009-06-24  Emmanuel Briot  <briot@adacore.com>
1413
1414         * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match
1415         the full base name of the file when the suffix doesn't start with a '.'.
1416
1417 2009-06-24  Vincent Celier  <celier@adacore.com>
1418
1419         * prj-nmsc.adb (Check): A project declared abstract is legal if no
1420         attribute Source_Dirs, Source_Files, Source_List_File or Languages is
1421         declared.
1422
1423 2009-06-24  Robert Dewar  <dewar@adacore.com>
1424
1425         * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb,
1426         prj-env.adb: Minor reformatting
1427
1428 2009-06-24  Ed Falis  <falis@adacore.com>
1429
1430         * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads,
1431         s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb,
1432         s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity
1433         support for VxWorks SMP.
1434
1435         * gcc-interface/Make-lang.in: Update dependencies
1436
1437 2009-06-24  Emmanuel Briot  <briot@adacore.com>
1438
1439         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
1440         prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since
1441         no longer useful.
1442         (Source_Data.Lang_Kind): Removed, since it duplicates information
1443         already available through Language.Config.
1444         (Source_Data.Compile): Removed, since information is already available
1445         through the language.
1446         (Is_Compilable): New subprogram.
1447         (Source_Data.Dependency): Removed, since already available through
1448         the language.
1449         (Source_Data.Object_Exist, Object_Linked): Removed since available
1450         through the language already.
1451         (Unit_Data.File_Names): Is now also set in multi_language mode, to
1452         bring the two modes closer in the resulting data structures.
1453         (Source_Data.Unit): Now a direct pointer to the unit data, rather than
1454         just the name that would point into a hash table.
1455         (Get_Language_From_Name): New subprogram.
1456
1457 2009-06-24  Javier Miranda  <miranda@adacore.com>
1458
1459         * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are
1460         visible through limited-with context clauses. In addition, avoid an
1461         extra tag check that is not required when the class-wide
1462         designated types of the operand and target types are
1463         the same entity.
1464         (Tagged_Membership): Handle entities from the limited view.
1465
1466 2009-06-24  Emmanuel Briot  <briot@adacore.com>
1467
1468         * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb,
1469         prj-nmsc.adb, prj-env.adb (File_Name_Data): removed
1470         (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two
1471         different vocabularies for similar concepts (Impl/Body_Part and
1472         Spec/Specification).
1473         (Unit_Data): now points directly to a Source_Id, rather than duplicating
1474         some of the information in File_Name_Data. This also saves a bit of
1475         memory. However, since we are now using a pointer we need to test
1476         for null explicitly in several places of the code
1477
1478 2009-06-24  Javier Miranda  <miranda@adacore.com>
1479
1480         * exp_ch4.adb (Expand_N_Type_Conversion): return immediately
1481         from processing the type conversion when the node is
1482         replaced by an N_Raise_Program_Error node.
1483
1484 2009-06-24  Hristian Kirtchev  <kirtchev@adacore.com>
1485
1486         * sem_ch6.adb (Designates_From_With_Type): New routine.
1487         (Process_Formals): Since anonymous access types are no longer flagged
1488         as from with types, traverse the designated type to determine whether
1489         it is coming from a limited view.
1490
1491         * sem_res.adb: Remove with and use clauses for Sem_Ch10.
1492         (Full_Designated_Type): Use Available_View to extract the non-limited /
1493         full view of a type.
1494
1495 2009-06-24  Robert Dewar  <dewar@adacore.com>
1496
1497         * exp_ch6.adb: Minor reformatting
1498
1499         * layout.adb: Minor reformatting
1500
1501         * make.adb: Minor reformatting
1502
1503 2009-06-24  Thomas Quinot  <quinot@adacore.com>
1504
1505         * sem_ch10.adb: Minor code reorganization.
1506
1507 2009-06-24  Eric Botcazou  <ebotcazou@adacore.com>
1508
1509         * ttypes.ads: Minor editing.
1510         
1511 2009-06-24  Robert Dewar  <dewar@adacore.com>
1512
1513         * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile
1514         in deciding to do call-by-copy code.
1515
1516 2009-06-24  Vincent Celier  <celier@adacore.com>
1517
1518         * make.adb (Gnatmake): To decide if an executable should be rebuilt,
1519         check if an externally built library file is more current than the
1520         executable.
1521
1522 2009-06-23  Olivier Hainque  <hainque@adacore.com>
1523
1524         * gcc-interface/utils.c (handle_vector_size_attribute): Import from
1525         c-common.c and populate in gnat_internal_attribute_table.
1526         
1527 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
1528
1529         * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use
1530         Available_View only when designated type of an anonymous access type
1531         is  limited view.
1532
1533 2009-06-23  Robert Dewar  <dewar@adacore.com>
1534
1535         * sem_ch10.adb: Minor reformatting
1536
1537         * ali.ads: Mino reformatting.
1538
1539         * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of
1540         turning off inlining if ASIS mode active).
1541         
1542         * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode
1543         This belongs in gnat1drv.adb after switches are scanned.
1544
1545 2009-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
1546
1547         * sem_attr.adb: Add with and use clauses for Sem_Ch10.
1548         (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type
1549         when dealing with class-wide types. Detect a legal shadow entity and
1550         retrieve its non-limited view.
1551
1552         * sem_ch10.adb (Has_With_Clause): Move the spec and body of the
1553         subprogram to top package level from Intall_Limited_Withed_Unit.
1554         (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause.
1555         Add check which prevents the installation of a limited view if the
1556         non-limited view is already visible through a with clause.
1557         (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but
1558         legal shadow entity which may occur in subprogram formals of anonymous
1559         access type.
1560
1561         * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine.
1562
1563         * sem_ch3.adb (Access_Definition): Remove the propagation of flag
1564         From_With_Type from the designated type to the generated anonymous
1565         access type. Remove associated comment.
1566
1567         * sem_res.adb Add with and use clauses for Sem_Ch10.
1568         (Full_Designated_Type): Detect a legal shadow entity and retrieve its
1569         non-limited view. Since the shadow entity may replace a regular
1570         incomplete type, return the available full view.
1571
1572 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
1573
1574         * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles
1575         incomplete type declarations. Previous code was potentially quadratic
1576         in the number of visible declarations in any package appearing in a
1577         limited_with_clause.
1578
1579 2009-06-23  Robert Dewar  <dewar@adacore.com>
1580
1581         * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb,
1582         xref_lib.adb: Minor reformatting
1583
1584 2009-06-23  Robert Dewar  <dewar@adacore.com>
1585
1586         * a-stzhas.adb: Provide dummy body to avoid build problems with old
1587         versions which did have a body for this unit.
1588
1589 2009-06-23  Vincent Celier  <celier@adacore.com>
1590
1591         * prj-attr.adb: Attribute names Initial_Required_Switches and
1592         Final_Required_Switches changed to Leading_Required_Switches and
1593         Trailing_Required_Switches.
1594
1595         * prj-nmsc.adb (Process_Compiler): Attribute names
1596         Initial_Required_Switches and Final_Required_Switches changed to
1597         Leading_Required_Switches and Trailing_Required_Switches.
1598
1599         * prj.ads (Language_Config): Component Initial_Required_Switches and
1600         Final_Required_Switches changed to Leading_Required_Switches and
1601         Trailing_Required_Switches.
1602
1603         * snames.ads-tmpl: Remove standard names Initial_Required_Switches and
1604         Final_Required_Switches; add standard names Leading_Required_Switches
1605         and Trailing_Required_Switches.
1606
1607 2009-06-23  Thomas Quinot  <quinot@adacore.com>
1608
1609         * prj-conf.adb: Minor reformatting
1610
1611         * xref_lib.adb: Minor cleanup
1612
1613 2009-06-23  Emmanuel Briot  <briot@adacore.com>
1614
1615         * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb,
1616         prj-conf.ads (Check_Configuration): New parameter
1617         Compiler_Driver_Mandatory.
1618
1619 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
1620
1621         * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the
1622         context of the current unit has an inline pragma, the instance is not
1623         rewritten as the declaration of the package wrapper. Handle both
1624         possibilities when retrieving the visible subprogram that renames the
1625         instantiation itself.
1626
1627 2009-06-23  Javier Miranda  <miranda@adacore.com>
1628
1629         * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
1630         designated types referencing entities from the limited view.
1631
1632 2009-06-23  Robert Dewar  <dewar@adacore.com>
1633
1634         * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types
1635
1636         * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for
1637         small values
1638
1639         * prj-conf.ads: Minor reformatting
1640
1641         * prj-conf.adb: Minor reformatting
1642
1643 2009-06-23  Vasiliy Fofanov  <fofanov@adacore.com>
1644
1645         * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations
1646         to correspond to the log format that gnatmem now expects.
1647
1648 2009-06-23  Vincent Celier  <celier@adacore.com>
1649
1650         * prj-attr.adb: New attributes Initial_Required_Switches,
1651         Final_Required_Switches and Object_File_Switches
1652         
1653         * prj-nmsc.adb (Process_Compiler): Process new attributes
1654         Name_Final_Required_Switches, Name_Initial_Required_Switches and
1655         Name_Object_File_Switches.
1656
1657         * prj.ads (Language_Config): New component
1658         Compiler_Initial_Required_Switches (replace Compiler_Required_Switches),
1659         Compiler_Final_Required_Switches and Object_File_Switches.
1660
1661         * snames.ads-tmpl: New standard names Initial_Required_Switches,
1662         Final_Required_Switches and Object_File_Switches
1663
1664 2009-06-23  Pascal Obry  <obry@adacore.com>
1665
1666         * s-strhas.adb, s-strhas.ads: Minor reformatting.
1667
1668 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
1669
1670         * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does
1671         not indicate that the enclosing unit needs a body.
1672
1673 2009-06-23  Emmanuel Briot  <briot@adacore.com>
1674
1675         * prj-conf.ads, prj-conf.adb: New files part of the project manager.
1676
1677 2009-06-23  Ed Schonberg  <schonberg@adacore.com>
1678
1679         * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a
1680         primitive equality include it with its source name even if the
1681         operation is currently invisible, to make sure that the corresponding
1682         slot in the dispatch table is reserved for the internal equality
1683         subsequently generated during expansion.
1684
1685 2009-06-23  Matthew Gingell  <gingell@adacore.com>
1686
1687         * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back.
1688
1689 2009-06-22  Jose Ruiz  <ruiz@adacore.com>
1690
1691         * sysdep.c (__gnat_localtime_tzoff for RTX):
1692         SystemTimeToTzSpecificLocalTime is not supported by RTX. Use
1693         GetTimeZoneInformation instead.
1694
1695 2009-06-22  Robert Dewar  <dewar@adacore.com>
1696
1697         * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure
1698
1699 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
1700
1701         * sem_ch12.adb (Collect_Previous_Instances): Do not collect
1702         instantiations declared in a previous generic package body.
1703
1704 2009-06-22  Robert Dewar  <dewar@adacore.com>
1705
1706         * gnat_rm.texi: Add doc that X=True and X=False is allowed for the
1707         restriction No_Direct_Boolean_Operators.
1708
1709 2009-06-22  Thomas Quinot  <quinot@adacore.com>
1710
1711         * bindusg.adb: Minor fixes to gnatbind usage message
1712
1713         * sem_eval.adb: Minor reformatting
1714
1715 2009-06-22  Javier Miranda  <miranda@adacore.com>
1716
1717         * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the
1718         freezing point the check on the use of abstract types in object
1719         declarations. Done to allow the declaration of C++ imported variables
1720         or constants whose type corresponds with an imported C++ classes for
1721         which the constructor is not imported.
1722
1723 2009-06-22  Thomas Quinot  <quinot@adacore.com>
1724
1725         * sem_ch6.adb: Minor reformatting
1726
1727 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
1728
1729         * exp_ch3.adb (Build_Initialization_Call): If a discriminated record
1730         component is constrained with an expression rather than with a
1731         discriminant of the enclosing type, use that expression when building
1732         the call to default-initialize the component, when the call is part of
1733         an aggregate with box initialization.
1734
1735 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
1736
1737         * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning
1738         unconditional rather than a style check, because a formal name out of
1739         order is suspicious.
1740
1741 2009-06-22  Vincent Celier  <celier@adacore.com>
1742
1743         * prj-nmsc.adb (Locate_Directory): Indicate the project name when
1744         creating a directory automatically.
1745
1746 2009-06-22  Eric Botcazou  <ebotcazou@adacore.com>
1747
1748         * sem_ch3.adb (Create_Constrained_Components): For a subtype of an
1749         untagged derived type, add a hidden component for every constrained
1750         discriminant of the parent type to keep record layout consistent.
1751
1752 2009-06-22  Thomas Quinot  <quinot@adacore.com>
1753
1754         * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree
1755         copy).
1756
1757 2009-06-22  Matthew Gingell  <gingell@adacore.com>
1758
1759         * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
1760         s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
1761         g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
1762         a-swuwha.adb: New unit System.String_Hash.  
1763         Refactor redundant cut and pasted hash functions with instances of a
1764         new generic hash function.
1765         Implement a new string hashing algorithm which appears in testing to
1766         be move effective than to previous approach.
1767
1768 2009-06-22  Ed Falis  <falis@adacore.com>
1769
1770         * sysdep.c: remove include for nfsLib.h and an NFS specific error
1771         message for VxWorks 653 vThreads: not supported by the OS.
1772
1773         * gsocket.h: disable sockets for VxWorks 653 vThreads.
1774
1775 2009-06-22  Robert Dewar  <dewar@adacore.com>
1776
1777         * sem_ch6.adb: Add ??? comment for bad use of Style_Check
1778
1779 2009-06-22  Robert Dewar  <dewar@adacore.com>
1780
1781         * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced
1782         by Sloc_Range.
1783
1784         * freeze.adb: Minor comment updates
1785
1786         * s-valrea.adb (Bad_Based_Value): New procedure
1787         (Scan_Real): Raise exceptions with messages
1788
1789 2009-06-22  Matthew Gingell  <gingell@adacore.com>
1790
1791         * adaint.h: Complete previous change.
1792
1793 2009-06-22  Thomas Quinot  <quinot@adacore.com>
1794
1795         * exp_ch7.ads, exp_ch3.adb: Minor reformatting
1796
1797 2009-06-22  Ed Schonberg  <schonberg@adacore.com>
1798
1799         * sem_ch6.adb (Check_Overriding_Indicator): When style checks are
1800         enabled, emit warning when a non-controlling argument of the overriding
1801         operation appears out of place vis-a-vis of the formal of the
1802         overridden operation.
1803
1804 2009-06-22  Vincent Celier  <celier@adacore.com>
1805
1806         * gnatcmd.adb (Check_Files): Close temporary files after all file names
1807         have been written into it.
1808
1809 2009-06-22  Matthew Gingell  <gingell@adacore.com>
1810
1811         * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is
1812         available.
1813
1814 2009-06-22  Thomas Quinot  <quinot@adacore.com>
1815
1816         * sem_disp.adb (Check_Direct_Call): Handle the case where the full
1817         view of the root type is visible at the point of the call.
1818
1819 2009-06-22  Pat Rogers  <rogers@adacore.com>
1820
1821         * gnat_ugn.texi: Revised a sentence to correct a minor grammar error.
1822
1823 2009-06-22  Jerome Lambourg  <lambourg@adacore.com>
1824
1825         * freeze.adb: Add comments.
1826
1827 2009-06-21  Thomas Quinot  <quinot@adacore.com>
1828
1829         * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb,
1830         sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface):
1831         Factor out code to new subprogram...
1832         (Exp_Util.Find_Init_Call): New shared routine to find the init proc call
1833         for a default initialized variable.
1834         (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an
1835         entity that has an associated freeze node.
1836         (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address):
1837         If there is an init call for the object, defer it to the object freeze
1838         point.
1839         (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid
1840         name clash with new subprogram introduced in Exp_Util.
1841
1842 2009-06-21  Robert Dewar  <dewar@adacore.com>
1843
1844         * einfo.ads: Minor reformatting
1845
1846 2009-06-21  Ed Falis  <falis@adacore.com>
1847
1848         * env.c (__gnat_environ): return NULL for vThreads - unimplemented
1849
1850 2009-06-21  Eric Botcazou  <ebotcazou@adacore.com>
1851
1852         * einfo.ads: Update comments.
1853
1854 2009-06-21  Hristian Kirtchev  <kirtchev@adacore.com>
1855
1856         * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls
1857         where the controlling formal is of private class-wide type whose
1858         completion is a synchronized type can be converted into direct calls.
1859
1860 2009-06-21  Vincent Celier  <celier@adacore.com>
1861
1862         * gnatcmd.adb (Check_Files): When all sources of the project are to be
1863         indicated to gnatcheck, gnatpp or gnatmetric, always specify the list
1864         of sources using -files=, so that the distinction can be made by the
1865         tool of a call with no source (to display the usage) from a call with
1866         a project file that contains no source.
1867
1868 2009-06-21  Jerome Lambourg  <lambourg@adacore.com>
1869
1870         * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in
1871         case of VM convention arrays.
1872
1873 2009-06-20  Robert Dewar  <dewar@adacore.com>
1874
1875         * a-nudira.adb: Minor reformatting
1876
1877 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
1878
1879         * exp_ch3.adb (Build_Record_Init_Proc): When copying initial
1880         expressions (possibly from a parent type) indicate that the scope of
1881         the new itypes is the initialization procedure being built.
1882
1883 2009-06-20  Robert Dewar  <dewar@adacore.com>
1884
1885         * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for
1886         Needs_64, and now computed without anomolies for some dynamic types.
1887
1888 2009-06-20  Thomas Quinot  <quinot@adacore.com>
1889
1890         * sem_prag.adb: Minor reformatting
1891
1892         * exp_disp.ads: Minor reformatting
1893
1894 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
1895
1896         * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a
1897         function call is a legal expression to initialize a limited object.
1898
1899         * exp_ch3.adb: Rename various freeze operations that perform expansion
1900         actions, to prevent confusion with subprograms in the freeze package.
1901
1902 2009-06-20  Ed Schonberg  <schonberg@adacore.com>
1903
1904         * sem.adb (Walk_Library_Units): Check instantiations first.
1905
1906         * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a
1907         private primitive if it is a function with a controlling result that is
1908         a type extension with progenitors.
1909
1910         * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly
1911         a primitive operation of a synchronized tagged type that has a
1912         controlling result.
1913
1914 2009-06-20  Thomas Quinot  <quinot@adacore.com>
1915
1916         * einfo.ads: Fix typo.
1917
1918 2009-06-20  Ed Falis  <falis@adacore.com>
1919
1920         * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change.
1921
1922 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
1923
1924         * gcc-interface/trans.c (emit_check): Do not wrap up the result
1925         in a SAVE_EXPR.
1926         (protect_multiple_eval): Always protect complex expressions.
1927
1928 2009-06-19  Emmanuel Briot  <briot@adacore.com>
1929
1930         * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
1931         make sure we always return a name ending with a path separator.
1932
1933 2009-06-19  Javier Miranda  <miranda@adacore.com>
1934
1935         * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
1936         Save and restore the visibility of the parent when installed.
1937
1938 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
1939
1940         * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
1941         by Common which contains all these fields.
1942
1943         * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
1944         Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
1945         Remove code duplication in this package by means of calling the
1946         equivalent code in s-taprob.
1947
1948 2009-06-19  Robert Dewar  <dewar@adacore.com>
1949
1950         * a-einuoc.ads: Minor reformatting
1951
1952 2009-06-19  Ed Falis  <falis@adacore.com>
1953
1954         * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
1955         s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.
1956
1957 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
1958
1959         * einfo.ads (Handling of Type'Size Values): Fix Object_Size values.
1960
1961 2009-06-19  Robert Dewar  <dewar@adacore.com>
1962
1963         * a-nudira.adb (Need_64): Handle negative ranges and also dynamic
1964         ranges
1965
1966         * checks.adb (Determine_Range): Move the test for generic types later.
1967
1968         * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
1969         cases.
1970         (Eval_Relational_Op): Fold more cases including string compares
1971
1972         * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
1973         function.
1974
1975 2009-06-19  Robert Dewar  <dewar@adacore.com>
1976
1977         * sem_type.ads, sem_ch12.adb: Minor reformatting
1978
1979         * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly
1980
1981 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
1982
1983         * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
1984         primitive operation of a rivate extension whose controlling argument
1985         is an out parameter.
1986
1987         * sem.adb (Walk_Library_Units): exclude generic package declarations
1988         from check.
1989
1990 2009-06-19  Thomas Quinot  <quinot@adacore.com>
1991
1992         * i-vxwoio.ads: Add comments
1993
1994 2009-06-19  Thomas Quinot  <quinot@adacore.com>
1995
1996         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
1997         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
1998         g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
1999         (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
2000         (GNAT.Sockets.Thin.Socket_Ioctl): Use new function
2001         Thin_Common.Socket_Ioctl.
2002         (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
2003         __gnat_socket_ioctl.
2004         (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
2005         argument after the file descriptor and request code.
2006
2007 2009-06-19  Robert Dewar  <dewar@adacore.com>
2008
2009         * checks.adb: Minor reformatting
2010
2011 2009-06-19  Jose Ruiz  <ruiz@adacore.com>
2012
2013         * env.c (__gnat_environ): RTX does not support this functionality.
2014
2015 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
2016
2017         * sem.adb (Walk_Library_Items): Include bodies in the list of units to
2018         traverse, to account for front-end inlining and instantiations in a
2019         spec or in the main unit.
2020
2021 2009-06-19  Robert Dewar  <dewar@adacore.com>
2022
2023         * checks.adb (Determine_Range): Do not attempt to get range of generic
2024         type.
2025
2026 2009-06-19  Sergey Rybin  <rybin@adacore.com>
2027
2028         * gnat_ugn.texi, vms_data.ads: Add the documentation for the new
2029         gnatmetric option for generating the schema file for gnatmetric XML
2030         output. Add corresponding VMS qualifier.
2031
2032 2009-06-19  Robert Dewar  <dewar@adacore.com>
2033
2034         * g-cgi.adb: Minor reformatting
2035
2036 2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>
2037
2038         * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
2039         signal code for SIGFPE and raise Program_Error for SIGILL.
2040
2041         * s-osinte-solaris.ads: Remove signal code constants for SIGFPE.
2042
2043 2009-06-19  Ed Schonberg  <schonberg@adacore.com>
2044
2045         * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
2046         generic package if there is a visibility candidate that is declared in
2047         a regular package.
2048
2049 2009-06-18  Olivier Hainque  <hainque@adacore.com>
2050
2051         * system-aix64.ads: New file.
2052         * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
2053         64bit system.ads for ppc64 multilib variants.
2054
2055 2009-06-16  Robert Dewar  <dewar@adacore.com>
2056             Olivier Hainque  <hainque@adacore.com>
2057
2058         Relax constraints on Machine_Attribute argument types:
2059         * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for
2060         missing type.
2061         (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3.
2062         * gcc-interface/decl.c (prepend_attributes): Accept static
2063         expressions of any type as attribute arguments, not only string
2064         literals.
2065         * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect
2066         the relaxation of the restriction on the Info argument type.
2067         
2068 2009-06-13  Aldy Hernandez  <aldyh@redhat.com>
2069
2070         * gcc-interface/utils.c (record_builtin_type): Pass location
2071         argument to build_decl.
2072         (create_type_stub_decl): Same.
2073         (create_type_decl): Same.
2074         (create_var_decl_1): Same.
2075         (create_field_decl): Same.
2076         (create_param_decl): Same.
2077         (create_label_decl): Same.
2078         (create_subprog_decl): Same.
2079         * gcc-interface/decl.c (gnat_to_gnu_entity): Same.
2080         * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location
2081         argument to create_artificial_label.
2082         (Loop_Statement_to_gnu): Same.
2083         (Subprogram_Body_to_gnu): Same.
2084         (gnat_gimplify_stmt): Same.
2085
2086 2009-06-11  Richard Henderson  <rth@redhat.com>
2087
2088         * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to
2089         OPT_gdwarfplus.
2090
2091 2009-06-11  Ed Schonberg  <schonberg@adacore.com>
2092
2093         * sem_attr.adb (Resolve_Attribute, case 'access): Add missing
2094         accessibiliy check on access_to_subprogram in the context of an
2095         anonymous access that is not an access parameter.
2096
2097 2009-06-11  Eric Botcazou  <ebotcazou@adacore.com>
2098
2099         * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris.
2100         
2101 2009-06-11  Quentin Ochem  <ochem@adacore.com>
2102
2103         * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX
2104         comments for message handled by GPS.
2105
2106 2009-06-11  Matthew Gingell  <gingell@adacore.com>
2107
2108         * adaint.c: Use fopen64 instead of fopen on platforms where we know
2109         it's supported.
2110
2111 2009-06-11  Pascal Obry  <obry@adacore.com>
2112
2113         * g-cgi.ads: Fix comment typo.
2114
2115         * g-cgi.adb: Properly decode "+" in CGI parameters as spaces.
2116
2117 2009-06-10  Eric Botcazou  <ebotcazou@adacore.com>
2118
2119         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Use
2120         a reference to the original type for the type of the field of the
2121         XVS type.
2122         (maybe_pad_type): Likewise.
2123
2124         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Factor
2125         common predicate and remove redundant setting of TYPE_BY_REFERENCE_P.
2126         Pass correctly typed arguments to create_field_decl.
2127         <E_Record_Subtype>: Set BLKmode for tagged and limited types in the
2128         case of contrained discriminants as well.  Use the padded base type
2129         in the other case as well.  Rename temporary variable.  Tweak test.
2130         Factor common access pattern.  Set GNU_SIZE only once.
2131
2132 2009-06-09  Olivier Hainque  <hainque@adacore.com>
2133
2134         * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New
2135         helper for build_call_alloc_dealloc with arguments to be interpreted
2136         identically.  Process the case where a GNAT_PROC to call is provided.
2137         (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build
2138         and return an allocator for DATA_SIZE bytes aimed at containing a
2139         DATA_TYPE object, using the default __gnat_malloc allocator.  Honor
2140         DATA_TYPE alignments greater than what the latter offers.
2141         (maybe_wrap_free): New helper for build_call_alloc_dealloc, to
2142         release a DATA_TYPE object designated by DATA_PTR using the
2143         __gnat_free entry point.
2144         (build_call_alloc_dealloc): Expect object data type instead of naked
2145         alignment constraint. Use the new helpers.
2146         (build_allocator): Remove special processing for the super-aligned
2147         case, now handled by build_call_alloc_dealloc.  Pass data
2148         type instead of the former alignment argument, as expected by the new
2149         interface.
2150         * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype
2151         and comment.
2152         * gcc-interface/trans.c (gnat_to_gnu) <case N_Free_Statement>:
2153         Remove special processing for the super-aligned case, now handled
2154         by build_call_alloc_dealloc.  Pass data type instead of the former
2155         alignment argument, as expected by the new interface.
2156         
2157 2009-06-08  Alexandre Oliva  <aoliva@redhat.com>
2158
2159         * lib-writ.adb (flag_compare_debug): Import.
2160         (Write_ALI): Skip during -fcompare-debug-second.
2161
2162 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
2163
2164         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When
2165         adjusting the discriminant nodes in an extension, use the full view
2166         of the parent subtype if it is of a private kind.
2167
2168 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
2169
2170         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Add the
2171         _Parent field, if any, to the record before adding the other fields.
2172         <E_Record_Subtype>: Put the _Controller field before the other fields
2173         except for the _Tag or _Parent fields.
2174         (components_to_record): Likewise.  Retrieve the _Parent field from the
2175         record type.
2176
2177 2009-06-03  Eric Botcazou  <ebotcazou@adacore.com>
2178
2179         * gcc-interface/decl.c (substitution_list): Rename to build_subst_list,
2180         remove unused parameter and simplify.
2181         (gnat_to_gnu_entity) <E_Record_Type>: Do not set TYPE_FIELDS.  Factor
2182         common predicate.  Rewrite loop for clarity.  Use GNU_TYPE directly
2183         as context for all discriminants.  Fix formatting nits.
2184         <E_Record_Subtype>: Add cosmetic 'break'.  Test Has_Discriminants
2185         before Discriminant_Constraint.  Adjust for above renaming.  Do not
2186         set GNU_TYPE more than once.
2187         (elaborate_entity): Test Has_Discriminants on the entity and use
2188         Implementation_Base_Type.
2189         (components_to_record): Rename component_list to gnat_component_list.
2190         Retrieve the _Parent field from the list.  Fix nits in comments.
2191         Clarify logic in loop.  Pass correct arguments to create_field_decl.
2192
2193 2009-06-02  Eric Botcazou  <ebotcazou@adacore.com>
2194
2195         * gcc-interface/Make-lang.in: Fix formatting.
2196
2197 2009-06-01  Olivier Hainque  <hainque@adacore.com>
2198             Eric Botcazou  <ebotcazou@adacore.com>
2199         
2200         * gcc-interface/utils.c (convert) <CONSTRUCTOR case>: When converting
2201         to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT
2202         on the result if at least one of the input fields couldn't be output
2203         as a static constant any more.
2204
2205 2009-06-01  Olivier Hainque  <hainque@adacore.com>
2206             Eric Botcazou  <ebotcazou@adacore.com>
2207         
2208         * gcc-interface/utils2.c (gnat_build_constructor): Factor
2209         out code.  Use initializer_constant_valid_for_bitfield_p and
2210         CONSTRUCTOR_BITFIELD_P for bit-fields.
2211
2212 2009-05-26  Ian Lance Taylor  <iant@google.com>
2213
2214         * gcc-interface/Makefile.in (COMPILER): Define.
2215         (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
2216         (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
2217         (seh_init.o, tracebak.o): Likewise.
2218         * gcc-interface/Make-lang.in (ada/targext.o): Likewise.
2219         (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
2220         (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
2221         (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
2222         (ada/utils2.o): Likewise.
2223
2224 2009-05-24  Olivier Hainque  <hainque@adacore.com>
2225
2226         * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
2227         * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
2228         Add -auxbase variants to the list of recognized internal switches.
2229         * back_end.adb (Scan_Back_End_Switches): Use the new functions and
2230         adjust comments.
2231         * lib.ads: Make comment on internal GCC switches more general.
2232         * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
2233         as for C.       
2234         
2235 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
2236
2237         * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
2238
2239 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
2240
2241         * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
2242         types.
2243
2244 2009-05-23  Eric Botcazou  <ebotcazou@adacore.com>
2245
2246         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
2247         original type because of the alignment when there is an address clause.
2248
2249 2009-05-20  Eric Botcazou  <ebotcazou@adacore.com>
2250
2251         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
2252         discriminants affect the shape of the subtype, retrieve the GCC type
2253         directly from the original field if the GNAT types for the field and
2254         the original field are the same.
2255
2256 2009-05-15  Eric Botcazou  <ebotcazou@adacore.com>
2257
2258         * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE):
2259         New macros.
2260         (TYPE_RM_VALUES): Likewise.
2261         (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES.
2262         (SET_TYPE_RM_SIZE): New macro.
2263         (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise.
2264         (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise.
2265         (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine.
2266         * gcc-interface/gigi.h (create_range_type): Declare.
2267         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>
2268         Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type.
2269         <E_Signed_Integer_Subtype>: Build a regular integer type first and
2270         then set the RM bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
2271         <E_Floating_Point_Subtype>: Build a regular floating-point type first
2272         and then set the RM bounds.
2273         <E_Array_Type>: Use create_range_type instead of build_range_type.
2274         <E_Array_Subtype>: Build a regular integer type first and then set
2275         the RM bounds for the extra subtype.
2276         <E_String_Literal_Subtype>: Use create_range_type instead of
2277         build_range_type.
2278         <all>: Set the RM bounds for enumeration types and the GCC bounds for
2279         floating-point types.
2280         (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size.
2281         (make_type_from_size) <INTEGER_TYPE>: Use SET_TYPE_RM_{MIN,MAX}_VALUE
2282         to set the bounds.  Use SET_TYPE_RM_SIZE to set the RM size.
2283         (substitute_in_type) <INTEGER_TYPE>: Deal with GCC bounds for domain
2284         types and with RM bounds for subtypes.
2285         * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define.
2286         (gnat_print_type) <REAL_TYPE>: New case.
2287         <ENUMERAL_TYPE>: Fall through to above case.
2288         (gnat_get_subrange_bounds): New function.
2289         * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as
2290         TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any.
2291         * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8
2292         for booleans.  Adjust and use SET_TYPE_RM_SIZE to set the RM size.
2293         (create_range_type): New function.
2294         (create_param_decl): Build a regular integer type first and then set
2295         the RM bounds for the extra subtype.
2296         (unchecked_convert): Remove kludge for 'Valid.
2297         * gcc-interface/utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Convert
2298         the index to sizetype instead of TYPE_DOMAIN.
2299
2300 2009-05-14  Eric Botcazou  <ebotcazou@adacore.com>
2301
2302         * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR
2303         parameter and move check for static expression to...
2304         (elaborate_expression): ...here.  Adjust call to above function.
2305         (gnat_to_gnu_entity): Likewise for all calls.  Use correct arguments
2306         in calls to elaborate_expression.
2307         (elaborate_entity): Likewise.
2308         (substitution_list): Likewise.
2309         (maybe_variable): Fix formatting.
2310         (substitute_in_type) <REAL_TYPE>: Merge with INTEGER_TYPE case and add
2311         missing guard.
2312         * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup.
2313
2314 2009-05-07  Arnaud Charlet  <charlet@adacore.com>
2315
2316         * gcc-interface/Make-lang.in: Update dependencies.
2317
2318 2009-05-06  Laurent GUERBY  <laurent@guerby.net>
2319
2320         * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads:
2321         Define sa_handler_pos.
2322         * s-osinte-linux.ads: Use it.
2323         * s-linux-mipsel.ads: New.
2324         * system-linux-mips64el.ads: New.
2325         * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and
2326         mips64el-linux.
2327
2328 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
2329
2330         * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb,
2331         targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb,
2332         opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb
2333         (Tagged_Type_Expansion): New flag.
2334         Replace use of VM_Target related to tagged types expansion by
2335         Tagged_Type_Expansion, since tagged type expansion is not necessarily
2336         linked to VM targets.
2337
2338 2009-05-06  Robert Dewar  <dewar@adacore.com>
2339
2340         * sem_attr.adb: Add processing for Standard'Compiler_Version
2341
2342         * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren
2343         skipping.
2344         (Expr_First_Char): Add ??? comment that paren skipping needs work
2345         (Expr_Last_Char): Add ??? comment that paren skipping needs work
2346
2347         * exp_attr.adb: Add processing for Compiler_Version
2348
2349         * sem_attr.adb: New attribute Compiler_Version
2350
2351         * snames.ads-tmpl: Add entries for Compiler_Version attribute
2352
2353         * gnat_rm.texi: Document Compiler_Version attribute
2354
2355 2009-05-06  Robert Dewar  <dewar@adacore.com>
2356
2357         * errout.adb: Minor reformatting
2358
2359         * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb,
2360         sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
2361         styleg.adb: Add stylized comments to error messages that are included
2362         in the codefix circuitry of IDE's such as GPS.
2363
2364 2009-05-06  Sergey Rybin  <rybin@adacore.com>
2365
2366         * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the
2367         new form of the rule parameter that allows to specify the suffix for
2368         access-to-access type names.
2369
2370 2009-05-06  Robert Dewar  <dewar@adacore.com>
2371
2372         * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for
2373         out parameter assigned when exception handlers are present.
2374
2375         * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last
2376         assignments on exit.
2377
2378         * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb,
2379         sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb,
2380         prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb,
2381         par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error
2382         messages that are included in the codefix circuitry of IDE's such as
2383         GPS.
2384
2385         * sinput.ads, sinput.adb (Expr_First_Char): New function
2386         (Expr_Last_Char): New function
2387
2388 2009-05-06  Sergey Rybin  <rybin@adacore.com>
2389
2390         * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule
2391         Add formal definition for extra exit point metric
2392
2393 2009-05-06  Pascal Obry  <obry@adacore.com>
2394
2395         * adaint.c: Support for setting attributes on unicode filename on
2396         Windows.
2397
2398 2009-05-06  Robert Dewar  <dewar@adacore.com>
2399
2400         * sem_warn.adb: Minor reformatting
2401
2402 2009-05-06  Javier Miranda  <miranda@adacore.com>
2403
2404         * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must
2405         not have discriminants or components with default expressions.
2406         (Analyze_Pragma): For pragma CPP_Class check that imported types
2407         have no discriminants and components have no default expression.
2408
2409         * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of
2410         class-wide types in the expression of a record component association.
2411
2412 2009-05-06  Sergey Rybin  <rybin@adacore.com>
2413
2414         * vms_data.ads: Add qualifier for gnatmetric extra exit points metric
2415
2416         * gnat_ugn.texi: Add description for the new extra exit points metric
2417         (gnatmetric section).
2418
2419 2009-05-06  Robert Dewar  <dewar@adacore.com>
2420
2421         * s-fileio.adb: Minor comment update
2422
2423         * sem_ch8.adb: Minor reformatting
2424
2425         * exp_ch3.adb: Update comments.
2426
2427 2009-05-06  Tristan Gingold  <gingold@adacore.com>
2428
2429         * init.c, s-osinte-darwin.ads: Reduce alternate stack size
2430
2431 2009-05-06  Arnaud Charlet  <charlet@adacore.com>
2432
2433         * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai.
2434         Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks
2435
2436         * gcc-interface/Make-lang.in: Update dependencies
2437
2438 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
2439
2440         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous
2441         change. The context clause of a generic instance declaration must be
2442         preserved until the end of the compilation, because it may have to be
2443         installed/removed repeatedly.
2444         The latest change to sem.adb ensures that the context of both spec and
2445         body of an instance is traversed before the instance itself, making
2446         this patch redundant.
2447
2448 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
2449
2450         * sem_aggr.adb: Fix typo.
2451
2452 2009-05-06  Thomas Quinot  <quinot@adacore.com>
2453
2454         * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object
2455         declaration, do not adjust if the declaration is to be rewritten into
2456         a renaming.
2457
2458 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
2459
2460         * sem_ch8.adb (Find_Type): Reject the use of a task type in its own
2461         discriminant part.
2462
2463 2009-05-06  Bob Duff  <duff@adacore.com>
2464
2465         * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since
2466         otherwise the compiler would be allowed to optimize away the cleanup
2467         code.
2468
2469 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
2470
2471         * gnat_ugn.texi: Fix typo.
2472
2473 2009-05-06  Thomas Quinot  <quinot@adacore.com>
2474
2475         * g-debuti.adb: Minor reformatting
2476
2477         * exp_attr.adb: Minor reformatting
2478
2479 2009-05-06  Robert Dewar  <dewar@adacore.com>
2480
2481         * sem_aggr.adb: Minor reformatting.
2482
2483         * g-socthi-vms.adb: Minor reformatting
2484
2485 2009-05-06  Bob Duff  <duff@adacore.com>
2486
2487         * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb:
2488         (Append_All): Add Append_All to g-table and g-dyntab, similar to table.
2489
2490 2009-05-06  Bob Duff  <duff@adacore.com>
2491
2492         * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings
2493         flags.
2494
2495 2009-05-06  Javier Miranda  <miranda@adacore.com>
2496
2497         * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors.
2498         (Resolve_Extension_Aggregate): Do not reject C++ constructors in
2499         extension aggregates.
2500         (Resolve_Record_Aggregate): Add support for C++ constructors in
2501         extension aggregates.
2502
2503         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++
2504         constructors in extension aggregates.
2505
2506 2009-05-06  Robert Dewar  <dewar@adacore.com>
2507
2508         * freeze.adb (Freeze_Record_Type): Improve error msg for bad size
2509         clause.
2510
2511 2009-05-06  Thomas Quinot  <quinot@adacore.com>
2512
2513         * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate
2514         packed type, since on OpenVMS, struct msghdr is packed.
2515
2516 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
2517
2518         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
2519         call returning an unconstrained composite value, create the proper
2520         subtype for it, as is done for object dclarations with unconstrained
2521         nominal subtypes. Perform this transformation regarless of whether
2522         call comes from source.
2523
2524 2009-05-06  Robert Dewar  <dewar@adacore.com>
2525
2526         * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for
2527         records
2528
2529         * gnat_rm.texi:
2530         Add documentation for pragma Implicit_Packing applied to record
2531         types.
2532
2533 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
2534
2535         * sem.adb (Walk_Library_Items): Place all with_clauses of an
2536         instantiation on the spec, because late instance bodies may generate
2537         with_clauses for the instance body but are inserted in the instance
2538         spec.
2539
2540 2009-05-06  Emmanuel Briot  <briot@adacore.com>
2541
2542         * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
2543         support for returning the directory even if it doesn't exist. This is
2544         used for the object directory, since we are always setting it to a
2545         non-null value, and we should set it to an absolute name rather than a
2546         relative name for the sake of external tools that might depend on it.
2547         (Check_Library_Attributes): When Project.Library_Dir is known, check
2548         that the directory exists.
2549
2550 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
2551
2552         * sem_attr.adb (Check_Dereference): If the prefix of an attribute
2553         reference is an implicit dereference, do not freeze the designated type
2554         if within a default expression or when preanalyzing a pre/postcondtion.
2555
2556 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
2557
2558         * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
2559         call returning an unconstrained composite value, create the proper
2560         subtype for it, as is done for object dclarations with unconstrained
2561         nominal subtypes
2562
2563 2009-05-06  Robert Dewar  <dewar@adacore.com>
2564
2565         * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message
2566         improvements
2567
2568         * freeze.adb: Minor reformatting
2569
2570 2009-05-06  Thomas Quinot  <quinot@adacore.com>
2571
2572         * sem_ch3.adb (Access_Type_Declaration): An access type whose
2573         designated type is a limited view from a limited with clause (flagged
2574         From_With_Type) is not itself such a limited view.
2575
2576 2009-05-06  Emmanuel Briot  <briot@adacore.com>
2577
2578         * prj-nmsc.adb: Remove unused variable.
2579
2580         * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads,
2581         prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to
2582         makeutl.ads, since not all users of prj.ads need this.
2583
2584 2009-05-06  Javier Miranda  <miranda@adacore.com>
2585
2586         * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++
2587         constructor in case of aggregates whose type is a CPP_Class type.
2588
2589 2009-05-06  Robert Dewar  <dewar@adacore.com>
2590
2591         * sem_ch13.adb: Minor comment additions
2592
2593         * osint.adb: Minor reformatting
2594
2595 2009-05-06  Pascal Obry  <obry@adacore.com>
2596
2597         * initialize.c: On Windows, keep full pathname to expanded command
2598         line patterns.
2599
2600 2009-05-06  Ed Schonberg  <schonberg@adacore.com>
2601
2602         * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of
2603         an aggregate with box default is of a discriminated private type, do
2604         not build a subaggregate for it.
2605         A proper call to the initialization procedure is generated for it.
2606
2607 2009-05-06  Thomas Quinot  <quinot@adacore.com>
2608
2609         * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads
2610         (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call):
2611         Use PolyORB strings to represent Ada.Strings.Unbounded_String value;
2612         use standard array code for Standard.String.
2613         (Exp_Dist): Bump PolyORB s-parint API version to 3.
2614         (Rtsfind): New entities TA_Std_String, Unbounded_String.
2615
2616 2009-05-06  Robert Dewar  <dewar@adacore.com>
2617
2618         * g-comlin.ads: Minor reformatting
2619
2620         * xoscons.adb: Minor reformatting
2621
2622 2009-05-06  Gary Dismukes  <dismukes@adacore.com>
2623
2624         * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the
2625         Underlying_Type before retrieving the type definition for gathering
2626         components, to account for the case where the type is private.
2627
2628 2009-05-06  Tristan Gingold  <gingold@adacore.com>
2629
2630         * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt).
2631
2632 2009-05-06  Thomas Quinot  <quinot@adacore.com>
2633
2634         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
2635         g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads,
2636         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb
2637         (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg,
2638         Windows versions): Fix incorrect base
2639         address of Iovec (it's Msg_Iov, not Msg_Iov'Address).
2640         (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a
2641         System.Address for the To parameter instead of a Sockaddr_In_Access, to
2642         achieve independance from AF_INET family, and also to allow this
2643         parameter to be retrieved from a Msghdr for the Windows case where
2644         these routines are used to implement C_Sendmsg and C_Recvmsg.
2645
2646 2009-05-06  Bob Duff  <duff@adacore.com>
2647
2648         * g-expect.adb, g-expect.ads: Minor reformatting
2649
2650         * sdefault.ads: Minor comment fix
2651
2652         * g-expect-vms.adb: Minor reformatting
2653
2654         * table.ads, table.adb (Append_All): New convenience procedure for
2655         appending a whole array.
2656
2657         * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug
2658         box message. Call Osint.Dump_Source_File_Names to print out the file
2659         list, instead of rummaging around in various data structures.
2660
2661         * debug.adb: New switch -gnatd.n, to print source file names as they
2662         are read.
2663
2664         * alloc.ads: Add parameters for Osint.File_Name_Chars.
2665
2666         * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print
2667         out source file names during a "bug box".
2668         (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free.
2669         (Read_Source_File): Print out the file name, if requested via -gnatd.n.
2670         If it's not part of the runtimes, store it for later printing by
2671         Dump_Source_File_Names.
2672
2673 2009-05-06  Javier Miranda  <miranda@adacore.com>
2674
2675         * gnat_rm.texi (CPP_Constructor): Avoid duplication of the
2676         documentation and add reference to the GNAT user guide for further
2677         details.
2678
2679 2009-05-06  Javier Miranda  <miranda@adacore.com>
2680
2681         * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove
2682         also wrong examples that use extension aggregates.
2683
2684 2009-05-06  Albert Lee  <lee@adacore.com>
2685
2686         * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition
2687         of Msg_Iovlen_T for VMS.
2688
2689 2009-05-04   Laurent GUERBY  <laurent@guerby.net>
2690
2691         PR ada/38874
2692         * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker.
2693         
2694 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
2695
2696         * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on
2697         box-defaulted operator in an instantiation, when the type of the
2698         operands is not directly visible.
2699
2700 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
2701
2702         * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change.
2703         (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the
2704         analysis of the ancestor part. Remove prohibition against limited
2705         interpretations of the ancestor expression in the case of Ada 2005.
2706         Revise error message in overloaded case, adding a message to cover
2707         the Ada 2005 case.
2708
2709 2009-04-29  Thomas Quinot  <quinot@adacore.com>
2710
2711         * xoscons.adb: Minor reformatting
2712
2713 2009-04-29  Bob Duff  <duff@adacore.com>
2714
2715         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore
2716         attribute_definition_clauses for the following attributes when the
2717         -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool,
2718         Storage_Size, Write. Otherwise, we get spurious errors (for example,
2719         missing Read attribute on remote types).
2720
2721         * gnat_ugn.texi: Document the change, and add a stern warning.
2722
2723 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
2724
2725         * sem_attr.adb (Check_Local_Access): Indicate that value tracing is
2726         disabled not just for the current scope, but for the innermost dynamic
2727         scope as well.
2728
2729 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
2730
2731         * gcc-interface/Make-lang.in: Update dependencies
2732
2733 2009-04-29  Vincent Celier  <celier@adacore.com>
2734
2735         * prj-part.adb: Minor comment update
2736
2737 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
2738
2739         * sem_aggr.adb (Resolve_Record_Aggregate): handle properly
2740         box-initialized records with discriminated subcomponents that are
2741         constrained by discriminants of enclosing components. New subsidiary
2742         procedures Add_Discriminant_Values, Propagate_Discriminants.
2743
2744 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
2745
2746         * g-socket.adb: Code clean up.
2747
2748 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
2749
2750         * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a
2751         function entity, to cover the case of a parameterless function call
2752         that has not been resolved.
2753
2754 2009-04-29  Robert Dewar  <dewar@adacore.com>
2755
2756         * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor
2757         reformatting and comment updates.
2758
2759 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
2760
2761         * gnat_ugn.texi: Update some documentation about interfacing with C++
2762         Mention -fkeep-inline-functions.
2763
2764         * gnat_ugn.texi: Minor edits
2765
2766 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
2767
2768         * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate
2769         for a defaulted component of an enclosing aggregate, inherit the type
2770         from the component declaration of the enclosing type. 
2771
2772 2009-04-29  Albert Lee  <lee@adacore.com>
2773
2774         * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c,
2775         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads
2776         (System.OS_Constants): New type Msg_Iovlen_T which follows whether the
2777         msg_iovlen field in struct msghdr is 32 or 64 bits wide.
2778         Relocate the Msghdr record type from GNAT.Sockets.Thin to
2779         GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the
2780         type for the Msg_Iovlen field.
2781
2782 2009-04-29  Vincent Celier  <celier@adacore.com>
2783
2784         * sinput-l.adb (Load_File): When preprocessing, set temporarily the
2785         Source_File_Index_Table entries for the source, to avoid crash when
2786         reporting an error.
2787
2788         * gnatcmd.adb (Test_If_Relative_Path): Use
2789         Makeutl.Test_If_Relative_Path.
2790         
2791         * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if
2792         Including_RTS is True.
2793
2794         * makeutl.ads (Test_If_Relative_Path): New Boolean parameter
2795         Including_RTS defaulted to False.
2796
2797         * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with
2798         a default value.
2799
2800 2009-04-29  Javier Miranda  <miranda@adacore.com>
2801
2802         * gnat_ugn.texi: Adding documentation for non-default C++ constructors.
2803
2804 2009-04-29  Javier Miranda  <miranda@adacore.com>
2805
2806         * sem_ch3.adb (Analyze_Object_Declaration): Disable error message
2807         associated with dyamically tagged expressions if the expression
2808         initializing a tagged type corresponds with a non default CPP
2809         constructor.
2810         (OK_For_Limited_Init): CPP constructor calls are OK for initialization
2811         of limited type objects.
2812
2813         * sem_ch5.adb (Analyze_Assignment): Improve the error message reported
2814         when a CPP constructor is called in an assignment. Disable also the
2815         error message associated with dyamically tagged expressions if the
2816         exporession initializing a tagged type corresponds with a non default
2817         CPP constructor.
2818
2819         * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of
2820         non-default C++ constructors.
2821
2822         * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram.
2823
2824         * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for
2825         non-default constructors.
2826         (Init_Proc): Add support for non-default constructors.
2827
2828         * exp_disp.adb (Set_Default_Constructor): Removed.
2829         (Set_CPP_Constructors): Code based in removed Set_Default_Constructor
2830         but extending its functionality to handle non-default constructors.
2831
2832         * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default
2833         constructors. Minor code cleanup removing unrequired label and goto
2834         statement.
2835
2836         * exp_ch3.adb (Build_Initialization_Call): Add support for non-default
2837         constructors.
2838         (Build_Init_Statements): Add support for non-default constructors.
2839         (Expand_N_Object_Declaration): Add support for non-default constructors.
2840         (Freeze_Record_Type): Replace call to Set_Default_Constructor by call
2841         to Set_CPP_Constructors.
2842
2843         * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for
2844         non-default constructors.
2845         Required to handle its use in build-in-place statements.
2846
2847         * gnat_rm.texi (CPP_Constructor): Document new extended use of this
2848         pragma for non-default C++ constructors and the new compiler support
2849         that allows the use of these constructors in record components, limited
2850         aggregates, and extended return statements.
2851
2852 2009-04-29  Vincent Celier  <celier@adacore.com>
2853
2854         * prj-part.adb (Parse_Single_Project): Do not attempt to find a
2855         project extending an abstract project.
2856
2857 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
2858
2859         * targparm.ads: Fix oversight.
2860
2861 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
2862
2863         * lib-xref.adb (Output_Overridden_Op): Follow several levels of
2864         derivation when necessary, to find the user-subprogram that is actally
2865         being overridden.
2866
2867 2009-04-29  Robert Dewar  <dewar@adacore.com>
2868
2869         * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected
2870         components
2871
2872 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
2873
2874         * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of
2875         primitive operation, rather than source line of synchronized type, when
2876         building the wrapper for a primitive operation that overrides an
2877         operation inherited from a progenitor, to improve the error message on
2878         duplicate declarations.
2879
2880         * sem_ch3.adb (Process_Full_View): Use new signature of
2881         Build_Wrapper_Spec.
2882
2883 2009-04-29  Robert Dewar  <dewar@adacore.com>
2884
2885         * prj-nmsc.ads: Minor reformatting
2886
2887 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
2888
2889         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the
2890         expression on the existing parent If statement.
2891
2892 2009-04-29  Robert Dewar  <dewar@adacore.com>
2893
2894         * prj-proc.adb, prj.ads: Minor reformatting
2895
2896 2009-04-29  Eric Botcazou  <ebotcazou@adacore.com>
2897
2898         * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an
2899         existing parent If statement on the newly created one.
2900
2901 2009-04-29  Emmanuel Briot  <briot@adacore.com>
2902
2903         * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
2904         prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads,
2905         prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb
2906         (Set_In_Configuration, In_Configuration): Removed.
2907         Replaced by an extra parameter Is_Config_File in several parameter to
2908         avoid global variables to store the state of the parser.
2909
2910 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
2911
2912         * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain
2913         with_clauses generated for the same unit through rtsfind, and that
2914         appear in the context of different units.
2915
2916         * rtsfind.adb: New attribute First_Implicit_With, component of the
2917         Unit_Record that stores information about a unit loaded through rtsfind.
2918
2919 2009-04-29  Gary Dismukes  <dismukes@adacore.com>
2920
2921         * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces
2922         (other conditions permitting), so that abstract stream subprograms will
2923         be declared for them.
2924
2925 2009-04-29  Bob Duff  <duff@adacore.com>
2926
2927         * g-expect.adb (Expect_Internal): Fix check for overfull buffer.
2928
2929         * g-expect.ads: Minor comment fixes.
2930
2931 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
2932
2933         * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the
2934         dispatching operation is a body without previous spec, update the list
2935         of primitive operations to ensure that cross-reference information is
2936         up-to-date.
2937
2938 2009-04-29  Albert Lee  <lee@adacore.com>
2939
2940         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
2941         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
2942         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads
2943         (GNAT.Sockets.Thin.C_Readv,
2944         GNAT.Sockets.Thin.C_Writev): Remove unused subprograms.
2945         (GNAT.Sockets.Thin.C_Recvmsg,
2946         GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and
2947         sendmsg(2).  
2948         (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use
2949         C_Recvmsg/C_Sendmsg rather than Readv/C_Writev.
2950
2951 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
2952
2953         * sem_disp.adb (Check_Dispatching_Operation): if the dispatching
2954         operation is a body without previous spec, update the list of
2955         primitive operations to ensure that cross-reference information is
2956         up-to-date.
2957
2958         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a
2959         new compilation unit node for the instance declaration, keep the
2960         context items of the original unit on it, so that the context of the
2961         instance body only holds the context inherited from the generic body.
2962
2963 2009-04-29  Bob Duff  <duff@adacore.com>
2964
2965         * sem_res.adb: Minor comment fix.
2966
2967 2009-04-29  Thomas Quinot  <quinot@adacore.com>
2968
2969         * sem_elim.adb: Minor reformatting
2970
2971 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
2972
2973         * exp_aggr.adb (Convert_To_Positional): if the current unit is a
2974         predefined unit, allow arbitrary number of components in static
2975         aggregate, to ensure that the same level of constant folding applies
2976         for Ada 95 and Ada 05 versions of the file.
2977
2978 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
2979
2980         * sem_elim.adb (Check_Eliminated): Handle new improved eliminate
2981         information: no need for full scope check.
2982         (Eliminate_Error): Do not emit error in a generic context.
2983
2984 2009-04-29  Ed Falis  <falis@adacore.com>
2985
2986         * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined.
2987         VxWorks 653 POS does not support rmdir.
2988
2989 2009-04-29  Matteo Bordin  <bordin@adacore.com>
2990
2991         * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way
2992         results are printed.
2993
2994 2009-04-29  Arnaud Charlet  <charlet@adacore.com>
2995
2996         * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove
2997         unused assignment.
2998
2999 2009-04-29  Thomas Quinot  <quinot@adacore.com>
3000
3001         * make.adb: Minor reformatting.
3002         Minor code reorganization throughout.
3003
3004 2009-04-29  Matteo Bordin  <bordin@adacore.com>
3005
3006         * s-stausa.ads: Changed visibility of type Task_Result: moved to
3007         public part to give application visibility over it.
3008         This is for future improvement and to build a public API on top of it.
3009         Changed record components name of type Task_Result to reflect the new
3010         way of reporting. 
3011
3012         * s-stausa.adb: Actual_Size_Str changed to reflect the new way of
3013         reporting Stack usage.
3014
3015         * gnat_ugn.texi: Update doc of stack usage report.
3016
3017         * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files.
3018
3019         * Makefile.rtl: Add new run-time files.
3020
3021 2009-04-29  Pascal Obry  <obry@adacore.com>
3022
3023         * initialize.c: Do not expand quoted arguments.
3024
3025 2009-04-29  Emmanuel Briot  <briot@adacore.com>
3026
3027         * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks.
3028
3029         * clean.adb (Ultimate_Extension_Of): removed, since duplicate of
3030          Prj.Ultimate_Extending_Project_Of
3031
3032 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
3033
3034         * exp_ch7.adb (Build_Final_List): If the designated type is a Taft
3035         Amendment type, add the with_clause for Finalization.List_Controller
3036         only if the current context is a package body.
3037
3038 2009-04-29  Thomas Quinot  <quinot@adacore.com>
3039
3040         * sem_ch12.adb: Minor reformatting
3041
3042         * sem_aggr.adb: Minor reformatting
3043
3044         * sem_ch6.adb, sem_cat.ads: Minor reformatting
3045
3046         * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting
3047
3048 2009-04-29  Quentin Ochem  <ochem@adacore.com>
3049
3050         * prj.ads (Source_Id): Now general pointer type.
3051
3052 2009-04-29  Thomas Quinot  <quinot@adacore.com>
3053
3054         * exp_ch7.adb, rtsfind.adb: Minor reformatting
3055
3056         * sem_res.adb: Minor reformatting
3057
3058 2009-04-29  Thomas Quinot  <quinot@adacore.com>
3059
3060         * sem_res.adb (Static_Concatenation): An N_Op_Concat with static
3061         operands is static only if it is a predefined concatenation operator.
3062
3063         * sem_util.adb: Minor reformatting
3064
3065         * sem_ch12.adb (Save_References): When propagating semantic information
3066         from generic copy back to generic template, for the case of an
3067         identifier that has been rewritten to an explicit dereference whose
3068         prefix is either an object name or a parameterless funcion call
3069         denoting a global object or function, properly capture the denoted
3070         global entity: perform the corresponding rewriting in the template,
3071         and point the rewritten identifier to the correct global entity (not
3072         to the associated identifier in the generic copy).
3073
3074 2009-04-29  Robert Dewar  <dewar@adacore.com>
3075
3076         * rtsfind.adb, prj-env.adb: Minor reformatting
3077         Minor code reorganization
3078
3079 2009-04-29  Emmanuel Briot  <briot@adacore.com>
3080
3081         * make.adb: Fix comment
3082
3083         * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project
3084         is given as argument, as might happen in gnatmake.
3085
3086 2009-04-29  Ed Schonberg  <schonberg@adacore.com>
3087
3088         * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
3089         an abstract operation of a progenitor is not properly overridden by an
3090         operation of a derived synchronized type.
3091
3092 2009-04-29  Robert Dewar  <dewar@adacore.com>
3093
3094         * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
3095         prj-proc.adb: Minor reformatting
3096         Minor code reorganization
3097
3098 2009-04-29  Bob Duff  <duff@adacore.com>
3099
3100         * exp_ch7.adb (Build_Final_List): For an access type that designates a
3101         Taft Amendment type, if the access type needs finalization, make sure
3102         the implicit with clause for List_Controller occurs on the package spec.
3103
3104         * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
3105         with's created for the pseudo-children of Text_IO and friends. In
3106         particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
3107         Ada.Text_IO.Integer_IO both with-ing each other.
3108
3109         * sem.adb (Walk_Library_Items): Suppress assertion failure in certain
3110         oddball cases when pragma Extend_System is used.
3111
3112         * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
3113         the case where a package spec instantiates a generic whose body with's
3114         this package, so Walk_Library_Items won't complain about cyclic with's.
3115
3116 2009-04-29  Emmanuel Briot  <briot@adacore.com>
3117
3118         * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
3119         prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
3120         mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
3121         (Project_Id): now a real pointer to Project_Data, instead of an index
3122         into the Projects_Table. This simplifies the API significantly, avoiding
3123         extra lookups in this table and the need to pass the Project_Tree_Ref
3124         parameter in several cases
3125
3126 2009-04-29  Nicolas Setton  <setton@adacore.com>
3127
3128         * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
3129         darwin.
3130
3131 2009-04-25  Eric Botcazou  <ebotcazou@adacore.com>
3132
3133         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Put
3134         back kludge.
3135
3136 2009-04-24  Robert Dewar  <dewar@adacore.com>
3137
3138         * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb,
3139         clean.adb: Minor reformatting.
3140         Minor code reorganization and message improvement.
3141
3142 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3143
3144         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads
3145         (Alternate_Languages): now implemented as a malloc-ed list rather
3146         than through a table.
3147
3148 2009-04-24  Thomas Quinot  <quinot@adacore.com>
3149
3150         * sem_res.adb (Static_Concatenation): Simplify predicate to make it
3151         accurately handle cases such as "lit" & "lit" and
3152         "lit" & static_string_constant
3153
3154 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3155
3156         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb,
3157         prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element):
3158         removed. Lists of projects are now implemented via standard malloc
3159         rather than through the table.
3160
3161 2009-04-24  Thomas Quinot  <quinot@adacore.com>
3162
3163         * sem_ch12.adb: Minor reformatting
3164
3165         * g-trasym.adb: Minor reformatting
3166
3167         * exp_ch6.adb: Minor reformatting
3168
3169 2009-04-24  Robert Dewar  <dewar@adacore.com>
3170
3171         * layout.adb (Layout_Type): For packed array type, copy unset
3172         size/alignment fields from the referenced Packed_Array_Type.
3173
3174 2009-04-24  Bob Duff  <duff@adacore.com>
3175
3176         * lib-load.adb (Make_Instance_Unit): Revert previous change, no
3177         longer needed after sem_ch12 changes.
3178
3179         * sem.adb (Walk_Library_Items): Include with's in some debugging
3180         printouts.
3181
3182 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3183
3184         * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were
3185         only ever using the Project field.
3186
3187 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
3188
3189         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set
3190         Body_Required on the generated compilation node. The new node is linked
3191         to its body, but both share the same file, so we do not set this flag
3192         on the new unit so as not to create a spurious dependency on a
3193         non-existent body in the ali file for the instance.
3194
3195 2009-04-24  Robert Dewar  <dewar@adacore.com>
3196
3197         * make.adb: Minor reformatting
3198
3199 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3200
3201         * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source,
3202         Add_Source): merge some code between those. In particular change where
3203         file normalization is done to avoid a few extra calls to
3204         Canonicalize_File_Name. This also removes the need for passing
3205         Current_Dir in a number of subprograms.
3206
3207 2009-04-24  Bob Duff  <duff@adacore.com>
3208
3209         * lib-load.adb (Make_Instance_Unit): In the case where In_Main is
3210         False, assign the correct unit to the Cunit field of the new table
3211         entry. We want the spec unit, not the body unit.
3212
3213         * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling
3214         interface for these.
3215         (Maybe_Add_With): Check whether we're trying to a with on the current
3216         unit, and avoid creating such directly self-referential with clauses.
3217         (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of
3218         [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items,
3219         and matches existing comments in the spec.
3220
3221         * sem.adb (Walk_Library_Items): Add various special cases to make the
3222         assertions pass.
3223
3224         * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit
3225         instead of Parent (N), for uniformity.
3226
3227 2009-04-24  Robert Dewar  <dewar@adacore.com>
3228
3229         * errout.ads: Minor reformatting
3230
3231 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3232
3233         * gnat_ugn.texi (Library Projects): add documentation on gnatmake's
3234         behavior when the project includes sources from multiple languages
3235
3236 2009-04-24  Vincent Celier  <celier@adacore.com>
3237
3238         * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there
3239         is a language other than Ada declared.
3240
3241         * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with
3242         Imported_First set to True.
3243
3244 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
3245
3246         * sem_res.adb: additional optimization to inhibit creation of
3247         redundant transient scopes.
3248
3249 2009-04-24  Bob Duff  <duff@adacore.com>
3250
3251         * rtsfind.ads: Minor comment fix
3252
3253 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3254
3255         * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources,
3256         Get_Path_Name_And_Record_Ada_Sources): merged, since these were
3257         basically doing the same work (for explicit or implicit sources).
3258         (Find_Explicit_Sources): renamed to Find_Sources to better reflect its
3259         role. Rewritten to share some code (testing that all explicit sources
3260         have been found) between ada_only and multi_language modes.
3261
3262 2009-04-24  Jerome Lambourg  <lambourg@adacore.com>
3263
3264         * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name
3265         for CLI imported types.
3266         (Analyze_Pragma): Allow CIL or Java imported functions returning
3267         access-to-subprogram types.
3268
3269 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3270
3271         * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads:
3272         (Project_Data.Dir_Path): field removed, since it can be computed
3273         directly from .Directory, and is needed only once when processing the
3274         project is buildgpr.adb or make.adb
3275
3276 2009-04-24  Robert Dewar  <dewar@adacore.com>
3277
3278         * prj-env.adb, prj-proc.adb, prj.adb, prj.ads,
3279         rtsfind.adb: Minor reformatting.
3280         Minor code reorganization
3281
3282 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
3283
3284         * mlib-prj.adb: Use friendlier english identifier.
3285
3286         * gnatcmd.adb, make.adb: Use better english identifiers.
3287
3288 2009-04-24  Robert Dewar  <dewar@adacore.com>
3289
3290         * clean.adb: Minor reformatting
3291
3292 2009-04-24  Robert Dewar  <dewar@adacore.com>
3293
3294         * einfo.adb (OK_To_Rename): New flag
3295
3296         * einfo.ads (OK_To_Rename): New flag
3297
3298         * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if
3299         OK_To_Rename set.
3300
3301         * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename
3302
3303         * sem_ch7.adb (Uninstall_Declarations): Allow for renames from
3304         OK_To_Rename.
3305
3306 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3307
3308         * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb,
3309         clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen):
3310         field removed. This is not a property of the
3311         project, just a boolean used to traverse the project tree, and storing
3312         it in the structure prevents doing multiple traversal in parallel.
3313         (Project_Data.Checked): also removed, since it was playing the same role
3314         as Seen when we had two nested loops, and this is no longer necessary
3315         (For_All_Imported_Projects): removed, since in fact there was already
3316         the equivalent in For_Every_Project_Imported. The latter was rewritten
3317         to use a local hash table instead of Project_Data.Seen
3318         Various loops were rewritten to use For_Every_Project_Imported, thus
3319         removing the need for Project_Data.Seen. This avoids a lot of code
3320         duplication
3321
3322 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
3323
3324         * sem_res.adb (Resolve_Actuals): Do not create blocks around code
3325         statements, even though the actual of the call is a concatenation,
3326         because the argument is static, and we want to preserve warning
3327         messages  about sequences of code statements that are not marked
3328         volatile.
3329
3330         * sem_warn.adb: remove obsolete comment about warning being obsolete
3331
3332         * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being
3333         requeued and the delay has expired while within the accept statement
3334         that executes the requeue, do not perform the requeue and indicate that
3335         the timed call has been aborted.
3336
3337 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3338
3339         * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
3340         (Has_Ada_Sources, Has_Foreign_Sources): new subprograms
3341         (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed,
3342         since they can be computed from the above.
3343
3344 2009-04-24  Vincent Celier  <celier@adacore.com>
3345
3346         * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree
3347
3348         * prj-env.adb: Move all global variables to the private part of the
3349         project tree data.
3350         Access these new components instead of the global variables no longer
3351         in existence.
3352         (Add_To_Path): New Project_Tree_Ref parameter, to access the new
3353         components that were previously global variables.
3354
3355         * prj-env.ads (Initialize): New Project_Tree_Ref parameter
3356         (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref
3357         parameter.
3358
3359         * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to
3360         be able to call Set_Mapping_File_Initial_State_To_Empty with it.
3361
3362         * prj.adb (Initialize): Do not call Prj.Env.Initialize
3363         (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new
3364         components in the private part of the project tree data.
3365
3366         * prj.ads (Private_Project_Tree_Data): new components moved from
3367         Prj.Env: Current_Source_Path_File, Current_Object_Path_File,
3368         Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set,
3369         Ada_Prj_Objects_File_Set, Fill_Mapping_File.
3370
3371 2009-04-24  Vincent Celier  <celier@adacore.com>
3372
3373         * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag.
3374
3375         * prj-nmsc.adb (Check_Library): No error for imports by shared library
3376         projects, when --unchecked-shared-lib-imports is used.
3377
3378 2009-04-24  Robert Dewar  <dewar@adacore.com>
3379
3380         * sem_ch7.adb: Minor reformatting
3381
3382 2009-04-24  Tristan Gingold  <gingold@adacore.com>
3383
3384         * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the
3385         mach thread id.
3386
3387 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3388
3389         * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of,
3390         Path_Name_Of_Library_Unit_Body): rEmove unused subprograms.
3391         (For_All_Imported_Projects): new procedure
3392         (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the
3393         above rather than duplicating code.
3394
3395 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3396
3397         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
3398         (Source_Id, Source_Data): use a real list to store sources rather than
3399         using an external table to store the elements. This makes code more
3400         efficient and more readable.
3401
3402 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3403
3404         * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb
3405         (Source_Iterator): new type.
3406         This removes the need for having the sources on three different
3407         lists at the project tree, project and language level. They are now
3408         on a single list.
3409
3410 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3411
3412         * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities
3413
3414 2009-04-24  Ed Schonberg  <schonberg@adacore.com>
3415
3416         * sem_warn.adb: Add comment on obsolete warning
3417
3418 2009-04-24  Arnaud Charlet  <charlet@adacore.com>
3419
3420         * s-tassta.adb (Create_Task): Fix violation of locking rule.
3421
3422 2009-04-24  Emmanuel Briot  <briot@adacore.com>
3423
3424         * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed
3425         to Language_Ptr to better reflect its new implementation.
3426         (Project_Data.First_Languages_Processing): renamed to Languages now
3427         that the field with that name is no longer used
3428         (Project_Data.Languages): removed, no longer used, and duplicates
3429         information already available through First_Language_Processing.
3430         (Prj.Language_Index): now an actual pointer, instead of an index into
3431         a table. This makes the list somewhat more obvious, but more importantly
3432         removes the need to pass a pointer to the project_tree_data in a few
3433         places, and makes accessing the attributes of a languages more
3434         efficient.
3435
3436 2009-04-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3437             Thomas Quinot  <quinot@adacore.com>
3438
3439         * fe.h (Set_Identifier_Casing): Add const to second parameter.
3440         * gcc-interface/misc.c (internal_error_function): Make copy of return
3441         from pp_formatted_text before assigning BUFFER to it.
3442         (gnat_init): Likewise for main_input_filename and gnat_argv.
3443         (gnat_printable_name): Remove cast from call to Set_Identifier_Casing.
3444
3445 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
3446
3447         * ttypes.ads (Target_Double_Float_Alignment): New variable.
3448         (Target_Double_Scalar_Alignment): Likewise.
3449         * get_targ.ads (Get_Strict_Alignment): Adjust external name.
3450         (Get_Double_Float_Alignment): New imported function.
3451         (Get_Double_Scalar_Alignment): Likewise.
3452         * layout.adb (Set_Elem_Alignment): Take into account specific caps for
3453         the alignment of "double" floating-point types and "double" or larger
3454         scalar types, as parameterized by Target_Double_Float_Alignment and
3455         Target_Double_Scalar_Alignment respectively.
3456         * gcc-interface/gigi.h (double_float_alignment): Declare.
3457         (double_scalar_alignment): Likewise.
3458         (is_double_float_or_array): Likewise.
3459         (is_double_scalar_or_array): Likewise.
3460         (get_target_double_float_alignment): Likewise.
3461         (get_target_double_scalar_alignment): Likewise.
3462         * gcc-interface/targtyps.c (get_strict_alignment): Rename into...
3463         (get_target_strict_alignment): ...this.
3464         (get_target_double_float_alignment): New function.
3465         (get_target_double_scalar_alignment): Likewise.
3466         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
3467         Test the presence of an alignment clause for under-aligned integer
3468         types.  Take into account specific caps for the alignment of "double"
3469         floating-point types and "double" or larger scalar types, as
3470         parameterized by Target_Double_Float_Alignment and
3471         Target_Double_Scalar_Alignment respectively.
3472         (validate_alignment): Likewise.
3473         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Alignment>: Likewise.
3474         (gigi): Initialize double_float_alignment and double_scalar_alignment.
3475         * gcc-interface/utils.c (double_float_alignment): New global variable.
3476         (double_scalar_alignment): Likewise.
3477         (is_double_float_or_array): New predicate.
3478         (is_double_scalar_or_array): Likewise.
3479
3480 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
3481
3482         * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of
3483         the conditional expression only if it is common to both arms.
3484
3485 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
3486
3487         * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment.
3488         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Pass correct
3489         arguments to build_allocator.
3490         * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment.
3491         Remove code handling special allocator and assert its uselessness.
3492
3493 2009-04-24  Eric Botcazou  <ebotcazou@adacore.com>
3494
3495         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If an
3496         alignment is specified, do not promote that of the component type
3497         beyond it.
3498         <E_Array_Subtype>: Likewise.
3499
3500 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
3501
3502         * einfo.ads (Is_True_Constant): Lift restriction on atomic objects.
3503         * sinfo.ads (Object Declaration): Likewise.
3504         (Assignment Statement): Likewise.
3505         * freeze.adb (Expand_Atomic_Aggregate): Remove useless test.
3506         Do not force Is_True_Constant to false on the temporary.
3507         (Freeze_Entity): Do not force Is_True_Constant to false on names on
3508         the RHS of object declarations.
3509         * gcc-interface/trans.c (lvalue_required_p) <N_Object_Declaration>:
3510         New case.  Return 1 if the object is atomic.
3511         <N_Assignment_Statement>: Likewise.
3512
3513 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
3514
3515         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
3516         For packed array types, make the original array type a parallel type
3517         for the modular type and its JM wrapper if the type is bit-packed.
3518         <E_Array_Subtype>: Likewise.  Do not generate the special XA parallel
3519         record type for packed array types.  Remove kludge.
3520
3521 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
3522
3523         * gcc-interface/gigi.h (create_index_type): Adjust head comment.
3524         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
3525         Use front-end predicates to compute signedness and precision.
3526         <E_String_Literal_Subtype>: Fold range type.
3527         Make sure to set longest_float_type_node to a scalar type.
3528         (elaborate_entity): Use consistent Constraint_Error spelling.
3529         (substitute_in_type) <INTEGER_TYPE>: Always copy the type.
3530         * gcc-interface/misc.c (gnat_print_type) <INTEGER_TYPE>: Use brief
3531         output for the modulus, if any.
3532         <ENUMERAL_TYPE>: Likewise for the RM size.
3533         * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error
3534         spelling.
3535         * gcc-interface/utils.c (finish_record_type): Really test the alignment
3536         of BLKmode bit-fields to compute their addressability.
3537         (create_index_type): Adjust comments.
3538         (create_param_decl): Create the biased subtype manually.
3539         * gcc-interface/utils2.c (build_component_ref): Use consistent
3540         Constraint_Error spelling.
3541
3542 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
3543
3544         * gcc-interface/cuintp.c: Clean up include directives.
3545         * gcc-interface/targtyps.c: Likewise.
3546         * gcc-interface/decl.c: Likewise.
3547         * gcc-interface/misc.c: Likewise.
3548         * gcc-interface/trans.c: Likewise.
3549         * gcc-interface/utils.c: Likewise.
3550         * gcc-interface/utils2.c: Likewise.
3551         * gcc-interface/Make-lang.in: Adjust dependencies accordingly.
3552
3553 2009-04-23  Eric Botcazou  <ebotcazou@adacore.com>
3554
3555         * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom.
3556         (SET_TYPE_LANG_SPECIFIC): Likewise.  Fix formatting.
3557         (SET_DECL_LANG_SPECIFIC): Likewise.
3558         Reorder macros.
3559         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
3560         Update comment about use of build_range_type.
3561         <E_Array_Type, E_Array_Subtype>: Use consistent naming convention.
3562         <E_Array_Subtype>: Rework comments about TYPE_ACTUAL_BOUNDS and add
3563         check for other cases of overloading.
3564         * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst.
3565         * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error.
3566         Use size_int in lieu of build_int_cst.
3567         (build_call_alloc_dealloc): Use build_index_2_type in lieu of
3568         build_range_type.
3569
3570 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
3571
3572         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR>: If operation's
3573         type is an enumeral or a boolean type, change it to an integer type
3574         with the same mode and signedness.
3575
3576 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
3577
3578         * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info
3579         for an external constant whose initializer is not absolute.
3580
3581 2009-04-22  Taras Glek  <tglek@mozilla.com>
3582
3583         * gcc-interface/ada-tree.h: Update GTY annotations to new syntax.
3584         * gcc-interface/trans.c: Likewise.
3585         * gcc-interface/utils.c: Likewise.
3586
3587 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
3588
3589         * sem_res.adb: Create block around procedure call when actual is a
3590         concatenation.
3591
3592 2009-04-22  Thomas Quinot  <quinot@adacore.com>
3593
3594         * s-soflin.ads: Fix typos
3595
3596 2009-04-22  Vincent Celier  <celier@adacore.com>
3597
3598         * prj-env.adb: Minor comment change
3599
3600         * prj-nmsc.adb (Check_Common): Add guard to avoid calling
3601         Get_Name_String with No_File.
3602
3603         * tempdir.adb (Create_Temp_File): Output diagnostic when temp file
3604         cannot be created even when not in verbose mode.
3605
3606 2009-04-22  Emmanuel Briot  <briot@adacore.com>
3607
3608         * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,
3609         prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and
3610         Multi_Language modes, to avoid code duplication.
3611         (Project_Data.Include_Language): Removed.
3612
3613 2009-04-22  Vincent Celier  <celier@adacore.com>
3614
3615         * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when
3616         the temporary file cannot be created, indicating the directory when the
3617         creation was attempted.
3618
3619 2009-04-22  Emmanuel Briot  <briot@adacore.com>
3620
3621         * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare
3622         the language names, not their indices.
3623
3624 2009-04-22  Emmanuel Briot  <briot@adacore.com>
3625
3626         * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads
3627         (Source_Data.Language_Name): Field removed.
3628
3629 2009-04-22  Emmanuel Briot  <briot@adacore.com>
3630
3631         * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*):
3632         Two fields removed.
3633
3634 2009-04-22  Emmanuel Briot  <briot@adacore.com>
3635
3636         * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the
3637         separate_suffix to the same value as the body_suffix.
3638
3639 2009-04-22  Robert Dewar  <dewar@adacore.com>
3640
3641         * prj.adb: Minor code reorganization
3642         Code clean up.
3643
3644         * prj-proc.adb: Minor code reorganization, clean up.
3645
3646         * prj-nmsc.adb: Minor reformatting
3647         Minor code reorganization
3648
3649         * gnat_ugn.texi: Add to doc on strict aliasing
3650
3651 2009-04-22  Pascal Obry  <obry@adacore.com>
3652
3653         * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to
3654         SpinCount.
3655
3656         * s-tasini.adb: Minor reformatting.
3657
3658         * s-tassta.adb: Minor reformatting.
3659
3660 2009-04-22  Emmanuel Briot  <briot@adacore.com>
3661
3662         * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several
3663         smaller subprograms.
3664         Renamed to Check_File_Naming_Schemes to avoid confusion with the
3665         other Check_Naming_Schemes functions that plays a totally different
3666         role.
3667         (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms,
3668         extracted from the above. These were partially rewritten to avoid
3669         unnecessary code and temporary variables.
3670         (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang
3671         and Get_Unit (which for now still exist since they contain mode-specific
3672         code)
3673
3674 2009-04-22  Emmanuel Briot  <briot@adacore.com>
3675
3676         * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process):
3677         Remove duplicated code.
3678         (Canonical_Case_File_Name): new subprogram
3679         (Check_And_Normalize_Unit_Names): new subprogram
3680         (Write_Attr): new subprogram
3681         Better sharing of code
3682         (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to
3683         split Check_Naming and help find duplicated code
3684         (Check_Common): new subprogram, sharing code between ada_only and
3685         multi_language mode.
3686         (Naming_Data.Dot_Repl_Loc): field removed
3687
3688 2009-04-22  Emmanuel Briot  <briot@adacore.com>
3689
3690         * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram.
3691         Minor refactoring to reduce the size of
3692         Process_Sources_In_Multi_Language_Mode.
3693         Avoid extra copied of Source_Data, which we found in the past could be
3694         quite slow.
3695         (Mark_Excluded_Sources): new subprogram.
3696         (Remove_Locally_Removed_Files_From_Units): merged into the above
3697         Refactors Process_Sources_In_Multi_Language_Mode to reduce its size,
3698         and allow better sharing of code between multi_lang and ada_only modes
3699         (Project_Extends): removed, since exact duplicate of Prj.Is_Extending
3700
3701 2009-04-22  Emmanuel Briot  <briot@adacore.com>
3702
3703         * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By):
3704         Removed, since unused.
3705
3706 2009-04-22  Vincent Celier  <celier@adacore.com>
3707
3708         * prj-attr.adb: New single project level attribute
3709         Separate_Run_Path_Options.
3710
3711         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
3712         attribute Seperate_Run_Path_Options.
3713
3714         * prj.ads: (Project_Configuration): New Boolean component
3715         Separate_Run_Path_Options, defaulted to False.
3716
3717         * snames.ads-tmpl: New standard name Seperate_Run_Path_Options
3718
3719 2009-04-22  Robert Dewar  <dewar@adacore.com>
3720
3721         * sem_type.adb: Minor reformatting
3722
3723         * mlib.adb: Minor reformatting
3724
3725         * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
3726         syntax error.
3727
3728 2009-04-22  Nicolas Setton  <setton@adacore.com>
3729
3730         * link.c: Add flag __gnat_separate_run_path_options.
3731
3732         * mlib.adb (Separate_Run_Path_Options): New subprogram.
3733
3734         * mlib.ads (Separate_Run_Path_Options): Declare.
3735
3736         * gnatcmd.adb (Process_Link): Add support for emitting one "rpath"
3737         switch per directory, rather than one "rpath" switch listing all
3738         directories.
3739
3740         * gnatlink.adb (Process_Binder_File): Likewise.
3741
3742         * make.adb (Gnatmake): Likewise.
3743
3744 2009-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
3745
3746         * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup.
3747         Add a call to Move_Final_List when the target of the assignment is a
3748         return object that needs finalization and the expression is a
3749         controlled build-in-place function.
3750
3751 2009-04-22  Vincent Celier  <celier@adacore.com>
3752
3753         * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with
3754         Including_Libraries set to True.
3755
3756 2009-04-22  Ed Schonberg  <schonberg@adacore.com>
3757
3758         * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to
3759         create a unit table entry for the subprogram declaration created for a
3760         child suprogram body that has no separate specification.
3761
3762         * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a
3763         subprogram body, call Make_Child_Decl_Unit.
3764
3765         * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the
3766         table can only be the created specification of a child subprogram body
3767         that is the main unit, which has not been entered in the table yet.
3768
3769         * errout.adb  (Output_Messages): Ignore created specification of a
3770         child subprogram body to prevent repeated listing of error messages.
3771
3772         * gnat1drv.adb (gnat1drv): The generated specification for a child
3773         subprogram body does not generate code.
3774
3775 2009-04-22  Arnaud Charlet  <charlet@adacore.com>
3776
3777         * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax,
3778         since this unit is now part of bootstrap units, so must use Ada 95
3779         syntax only.
3780
3781 2009-04-22  Thomas Quinot  <quinot@adacore.com>
3782
3783         * a-tasatt.adb: Minor reformatting
3784
3785 2009-04-22  Bob Duff  <duff@adacore.com>
3786
3787         * s-stalib.ads: Remove "with System;" since we're inside System, so
3788         it's unnecessary.
3789
3790 2009-04-22  Vincent Celier  <celier@adacore.com>
3791
3792         * prj-nmsc.adb (Add_Source): Always put the dependency file name in
3793         the source record, as there may be a dependency file even if no object
3794         file is created.
3795
3796 2009-04-22  Robert Dewar  <dewar@adacore.com>
3797
3798         * lib-load.adb: Minor reformatting
3799
3800         * lib-load.ads: Minor reformatting
3801
3802         * sinfo.ads: Minor reformatting
3803
3804 2009-04-22  Bob Duff  <duff@adacore.com>
3805
3806         * exp_pakd.adb: Minor comment fixes.
3807
3808         * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
3809         sem_ch12.adb: Change the meaning of the Library_Unit attribute to
3810         include units containing instantiations, as well as units that are
3811         generic instantiations.
3812
3813         * sem.adb: Include dependents and corresponding specs/bodies in the
3814         unit walk.
3815
3816         * gcc-interface/Make-lang.in:
3817         sem now depends on s-bitops, because of the packed array of Booleans.
3818
3819 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
3820
3821         * gcc-interface/ada-tree.def: Fix formatting nits.
3822         (REGION_STMT): Delete.
3823         (HANDLER_STMT): Likewise.
3824         * gcc-interface/ada-tree.h: Fix formatting nits.
3825         (IS_STMT): Delete.
3826         (REGION_STMT_BODY): Likewise.
3827         (REGION_STMT_HANDLE): Likewise.
3828         (REGION_STMT_BLOCK): Likewise.
3829         (HANDLER_STMT_ARG): Likewise.
3830         (HANDLER_STMT_LIST): Likewise.
3831         (HANDLER_STMT_BLOCK): Likewise.
3832         * gcc-interface/gigi.h (fp_prec_to_size): Update comment.
3833         (fp_size_to_prec): Likewise.
3834         (largest_move_alignment): Delete.
3835         (gnat_compute_largest_alignment): Likewise.
3836         Fix minor nits.
3837         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
3838         Remove redundant code.
3839         <E_Array_Type>: Remove redundant assert.
3840         <E_Array_Subtype>: Exit early from index computation in pathological
3841         cases.
3842         Rewrite conditional assignment.
3843         (make_type_from_size): Likewise.
3844         * gcc-interface/misc.c (largest_move_alignment): Delete.
3845         (gnat_finish_incomplete_decl): Likewise.
3846         (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
3847         (asm_out_file): Likewise
3848         (gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
3849         (gnat_dwarf_name): Move around.
3850         * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
3851         (gigi): Remove call to gnat_compute_largest_alignment.
3852         * utils.c (create_field_decl): Rewrite conditional assignment.
3853         Fix minor nits.
3854
3855 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
3856
3857         * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
3858         on entry.  Defer common processing for types.  Reorder and clean up.
3859         Compute the equivalent GNAT node and the default size for types only.
3860         <E_Modular_Integer_Type>: Directly use Esize for the type's precision.
3861         <E_Access_Type>: For an unconstrained designated type, do not pretend
3862         that a dummy type is always made.
3863         <all> Fix nits in comments.
3864         (validate_size): Fix formatting nits and comments.
3865         (set_rm_size): Likewise.
3866         * gcc-interface/utils.c (create_param_decl): Replace bogus argument
3867         passed to TARGET_PROMOTE_PROTOTYPES hook.
3868
3869 2009-04-22  Eric Botcazou  <ebotcazou@adacore.com>
3870
3871         * fe.h (Get_External_Name): Declare.
3872         * gcc-interface/gigi.h (concat_id_with_name): Rename to...
3873         (concat_name): ...this.
3874         * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
3875         gnu_entity_name and adjust for above renaming.
3876         <E_Access_Type>: Use create_concat_name to get the name of the various
3877         types associated with unconstrained array types.
3878         (make_aligning_type): Adjust for above renaming.
3879         (maybe_pad_type): Likewise.
3880         (components_to_record): Likewise.  Use get_identifier_with_length for
3881         the encoding of the variant.
3882         (get_entity_name): Use get_identifier_with_length.
3883         (create_concat_name): Likewise.  Use Get_External_Name if no suffix.
3884         Do not fiddle with Name_Buffer.
3885         (concat_id_with_name): Rename to...
3886         (concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
3887         with Name_Buffer.
3888         * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
3889         above renaming.
3890
3891 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
3892
3893         * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
3894         license notices.
3895
3896 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
3897
3898         * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.
3899
3900 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
3901
3902         * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
3903         (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
3904         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>:
3905         Remove useless support code for packed array types and assert its
3906         uselessness.
3907         <E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
3908         adjust for TYPE_RM_SIZE change.
3909         <all> Fix nits in comments.  Use Original_Array_Type accessor instead
3910         of Associated_Node_For_Itype accessor for packed array types.
3911         (make_packable_type): Likewise.
3912         (maybe_pad_type): Likewise.
3913         (set_rm_size): Likewise.  Rework conditional statement.  Adjust for
3914         TYPE_RM_SIZE change.
3915         (make_type_from_size): Adjust for TYPE_RM_SIZE change.
3916         (rm_size): Fix nits in comments.  Rework conditional statements.
3917         * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE
3918         change.
3919         * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments.
3920         * gcc-interface/utils.c (gnat_init_decl_processing): Use more
3921         appropriate function to initialize the size_type_node.  Adjust for
3922         TYPE_RM_SIZE change.
3923
3924 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
3925
3926         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
3927         for imported subprograms.
3928
3929 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
3930
3931         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
3932         constant objects covered by 13.3(19) volatile.
3933
3934 2009-04-21  Eric Botcazou  <ebotcazou@adacore.com>
3935
3936         * gcc-interface/utils.c (create_type_decl): Do not pass declarations
3937         of dummy fat pointer types to the debug back-end.
3938
3939 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
3940
3941         * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
3942         <E_Signed_Integer_Subtype>: Set the RM size on the integer type
3943         before wrapping it up in the record type.  Do not overwrite the
3944         Ada size of the record type with the Esize.
3945
3946 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
3947
3948         * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
3949         (gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
3950         if the conversion is on the LHS of an assignment and a no-op.
3951         <all> Do not convert the result to the result type if the Parent
3952         node is such a conversion.
3953
3954 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
3955
3956         * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
3957         * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
3958         of types with unknown discriminants.
3959         (substitute_in_type): Rewrite and restrict to formal substitutions.
3960         * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
3961         (update_pointer_to): Update comment.
3962
3963 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
3964
3965         * sem_ch8.adb (Use_One_Package): In an instance, if two
3966         potentially_use_visible and non-overloadable homonyms are available
3967         from  the actuals of distinct formal packages, retain the current one,
3968         which was visible in the generic, to prevent spurious visibility
3969         errors.
3970         (End_Use_Package): Restore use_visibility when needed.
3971
3972 2009-04-20  Sergey Rybin  <rybin@adacore.com>
3973
3974         * gnat_ugn.texi, vms_data.ads: Update doc.
3975
3976 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
3977
3978         * gcc-interface/Make-lang.in: Update dependencies
3979
3980         * gcc-interface/Makefile.in: Link run-time against winsock2 lib under
3981         Windows.
3982
3983 2009-04-20  Robert Dewar  <dewar@adacore.com>
3984
3985         * checks.ads: Fix documentation of range check handling
3986
3987 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
3988
3989         * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for
3990         a redundant use_type clause.
3991
3992 2009-04-20  Robert Dewar  <dewar@adacore.com>
3993
3994         * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where
3995         this attribute can be evaluated at compile time.
3996         (Eval_Attribute, case Range_Length): Same improvement
3997
3998         * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure
3999
4000 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4001
4002         * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization,
4003         for better handling of null procedures.
4004         (Check_Overriding_Indicator): Do not emit a warning on a missing
4005         overriding indicator on an operator when the type of which the operator
4006         is a primitive is private.
4007
4008 2009-04-20  Bob Duff  <duff@adacore.com>
4009
4010         * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control
4011         debugging output.
4012
4013 2009-04-20  Robert Dewar  <dewar@adacore.com>
4014
4015         * sem_attr.adb: Minor reformatting
4016
4017         * gnatcmd.adb: Minor reformatting
4018
4019 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4020
4021         * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is
4022         overloaded and one interpretation matches the context, label the
4023         operand with the type of first formal.
4024
4025 2009-04-20  Bob Duff  <duff@adacore.com>
4026
4027         * debug.ads: Minor comment fix.
4028
4029         * debug.adb: Minor comment fixes.
4030
4031 2009-04-20  Javier Miranda  <miranda@adacore.com>
4032
4033         * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions
4034
4035         * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch.
4036
4037         * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt
4038         is expanded into a call to Raise_Exception, avoid passing the
4039         exception-name'identity in runtimes in which this argument
4040         is not used.
4041
4042 2009-04-20  Jerome Lambourg  <lambourg@adacore.com>
4043
4044         * impunit.adb: Add i-cil and i-cilobj packages, now needed by the
4045         generated bindings for cil.
4046
4047 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4048
4049         * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown
4050         discriminants, collect components from the Underlying_Record_View,
4051         which will be used in the expansion of the aggregate into assignments.
4052
4053         * sem_ch3.adb: Do not label derived type with unknown discriminants as
4054         having a private declaration.
4055
4056 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4057
4058         * exp_util.adb (Expand_Subtype_From_Expr): use the
4059         underlying_record_view when available, to create the proper constrained
4060         subtype for an object of a derived type with unknown discriminants.
4061
4062 2009-04-20  Javier Miranda  <miranda@adacore.com>
4063
4064         * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for
4065         formals that have pragma unreferenced.
4066
4067 2009-04-20  Pascal Obry  <obry@adacore.com>
4068
4069         * a-direct.adb (To_Lower_If_Case_Insensitive): Removed.
4070         Remove all calls to To_Lower_If_Case_Insensitive to preserve
4071         the pathname original casing.
4072
4073 2009-04-20  Robert Dewar  <dewar@adacore.com>
4074
4075         * g-trasym.adb: Minor reformatting
4076
4077         * s-os_lib.adb: Minor reformatting
4078
4079         * sem.adb: Minor reformatting
4080         Minor code reorganization
4081
4082         * sem_ch3.adb: Minor reformatting
4083
4084         * sem_ch4.adb: Minor reformatting
4085
4086         * sem_ch8.adb: Minor reformatting
4087
4088         * sem_type.adb: Minor reformatting
4089
4090 2009-04-20  Javier Miranda  <miranda@adacore.com>
4091
4092         * sem_disp.adb (Find_Dispatching_Type): For subprograms internally
4093         generated by derivations of tagged types use the aliased subprogram a
4094         reference to locate their controlling type.
4095
4096 2009-04-20  Tristan Gingold  <gingold@adacore.com>
4097
4098         * g-trasym.adb: Set size of result buffer before calling
4099         convert_address.
4100
4101 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4102
4103         * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call
4104         to a function returning an array can be interpreted as a call with
4105         defaulted parameters whose result is indexed, take into account the
4106         types of all the indices of the array result type.
4107
4108 2009-04-20  Pascal Obry  <obry@adacore.com>
4109
4110         * a-direct.adb, s-os_lib.adb: Minor reformatting.
4111
4112 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4113
4114         * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect
4115         null exclusion qualifiers for object renaming declarations.
4116
4117 2009-04-20  Nicolas Roche  <roche@adacore.com>
4118
4119         * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are
4120         unsigned long long. So compare local_time and utc_time before computing
4121         the difference.
4122
4123 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
4124
4125         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
4126         of the Underlying_Record_View before that of the derived type.
4127
4128         * exp_ch3.adb (Expand_Record_Extension): Do not special-case types
4129         with unknown discriminants with regard to the parent subtype.
4130
4131 2009-04-20  Bob Duff  <duff@adacore.com>
4132
4133         * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies
4134         that are not included. This is necessary if the main unit is a generic
4135         instantiation.
4136
4137         * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items,
4138         because it doesn't work if -gnatn is used.
4139
4140 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4141
4142         * rtsfind.adb (RTE, RTE_Record_Component): In
4143         Configurable_Run_Time_Mode, do not enable front-end inlining.
4144
4145 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4146
4147         * g-socthi-vms.adb: Remove now unnecessary WITH clause on
4148         System.Address_To_Access_Conversions.
4149
4150 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4151
4152         * sem.adb: Guard against ill-formed subunits.
4153
4154 2009-04-20  Bob Duff  <duff@adacore.com>
4155
4156         * output.adb (Flush_Buffer): Do not indent blank lines.
4157         (Ignore_Output): New procedure for output suppression.
4158
4159 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
4160
4161         * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
4162         when it is positive.  This avoids a potential constraint error raised
4163         by the conversion to Natural.
4164
4165 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
4166
4167         * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
4168         involves a target that has a specified address, don't set Forward_OK
4169         and Backward_OK to False if the rhs is an aggregate, since overlap
4170         can't occur.
4171
4172 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4173
4174         * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions
4175         in an object renaming declaration when the expected type is an
4176         anonymous access type.
4177
4178         * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
4179         ambiguity when one interpretation is an anonymous access type and the
4180         other is a named access type, and the context itself is anonymous
4181
4182 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4183
4184         * einfo.ads: Minor comment rewording
4185
4186         * sem_aggr.adb: Minor comment rewording
4187
4188         * sem_ch3.adb, sem_ch6.adb: Minor reformatting
4189
4190 2009-04-20  Pascal Obry  <obry@adacore.com>
4191
4192         * adaint.c (__gnat_is_readable_file): Check for file existence
4193         when not using ACL (always the case on remote drives).
4194
4195 2009-04-20  Robert Dewar  <dewar@adacore.com>
4196
4197         * sinfo.ads: Minor comment fixes
4198
4199         * exp_disp.adb: Minor reformatting
4200
4201         * gnat1drv.adb: Minor reformatting
4202
4203         * output.adb: Minor reformatting
4204
4205         * s-vxwext-kernel.ads: Minor reformatting
4206
4207         * sem.ads: Minor reformatting
4208
4209         * sem.adb: Minor reformatting
4210
4211         * sem_elim.adb: Minor reformatting
4212
4213         * uname.ads: Minor reformatting
4214
4215 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
4216
4217         * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add
4218         a small dope of 4 words to the adjustment to the stack pointer.
4219
4220 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4221
4222         * xoscons.adb: generate C header s-oscons.h in
4223         addition to s-oscons.ads.
4224
4225         * socket.c: On VMS, use s-oscons.h.
4226
4227         * sem_ch3.adb: Minor reformatting
4228
4229         * exp_ch9.adb: Minor reformatting
4230
4231 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
4232
4233         * gcc-interface/trans.c (check_for_eliminated_entity): Remove.
4234         (Attribute_to_gnu): Do not call check_for_eliminated_entity.
4235         (call_to_gnu): Likewise.
4236
4237 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
4238
4239         * gcc-interface/trans.c (gigi): Declare the name of the compilation
4240         unit as the first global name at the very beginning.
4241
4242 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4243
4244         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
4245         s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads,
4246         g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well,
4247         since HP-UX supports neither inet_aton nor inet_pton (altough the
4248         latter is part of the Single UNIX Specification!).
4249         So reorganize code, and share C implementation based on inet_addr(3)
4250         with VMS (instead of having a VMS specific Ada implementation in
4251         g-socthi-vms.adb).
4252
4253 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
4254
4255         * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function
4256         to return the object file name saved by Set_Object_Output_File_Name.
4257
4258 2009-04-20  Emmanuel Briot  <briot@adacore.com>
4259
4260         * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers
4261         for the standard command line, when argc has been modified since the
4262         start of the application.
4263
4264 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4265
4266         * socket.c (__gnat_inet_pton, Windows case): Adjust return value.
4267         WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure.
4268
4269 2009-04-20  Bob Duff  <duff@adacore.com>
4270
4271         * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside
4272         pragma Debug.
4273
4274 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4275
4276         * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated
4277         subprogram as Eliminated when source operation is.
4278         (Expand_N_Protected_Type_Declaration): Generate protected and
4279         unprotected specs for the internal operations, even if the source
4280         operation is eliminated.
4281
4282 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
4283
4284         * exp_ch3.adb (Make_Predefined_Primitive_Specs,
4285         Predefined_Primitive_Bodies): Do not create the declarations and bodies
4286         of the primitive subprograms associated with dispatching select
4287         statements when the runtime is in configurable mode.
4288
4289 2009-04-20  Ed Falis  <falis@adacore.com>
4290
4291         * s-vxwext-kernel.ads (tickGet): Use tick64Get.
4292
4293 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4294
4295         * s-oscons-tmplt.c: Add support for generating a dummy version of
4296         s-oscons.ads providing all possible constants.
4297
4298         * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton.
4299
4300         * socket.c (__gnat_inet_pton): On Windows make sure we always use the
4301         ANSI version (not the UNICODE version) of WSAStringToAddress.
4302
4303 2009-04-20  Pascal Obry  <obry@adacore.com>
4304
4305         * adaint.c (__gnat_set_OWNER_ACL): properly free memory
4306         allocated for the security descriptor and make sure all
4307         handles are closed before leaving this procedure.
4308
4309 2009-04-20  Javier Miranda  <miranda@adacore.com>
4310
4311         * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram
4312         (Set_Is_Underlying_Record_View): New subprogram
4313
4314         * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of
4315         private types with unknown discriminants use the underlying record view
4316         if available.
4317
4318         * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the
4319         underlying record view in the full view of private types whose parent
4320         has unknown discriminants.
4321         (Build_Derived_Record_Type): Avoid generating the class-wide entity
4322         associated with an underlying record view.
4323         (Derived_Type_Declaration): Avoid deriving parent primitives in
4324         underlying record views.
4325
4326         * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for
4327         records with unknown discriminants.
4328
4329         * sem_type.adb (Covers): Handle underlying record views.
4330         (Is_Ancestor): Add support for underlying record views.
4331
4332         * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a
4333         dispatching call if the type of the target object is tagged and has
4334         unknown discriminants.
4335
4336         * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with
4337         unknown discriminants.
4338
4339         * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch
4340         tables for internally built underlying record views.
4341
4342         * sprint.adb (sprint_node_actual): Improve output of aggregates with an
4343         empty list of component associations.
4344
4345 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4346
4347         * sem_ch10.adb: Minor reformatting
4348
4349         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads,
4350         g-socthi-mingw.ads, g-socthi.ads, g-socket.adb
4351         (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use
4352         standard inet_pton API (and emulate it on platforms that do not
4353         support it).
4354         (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of
4355         DECC$INET_ADDR, imported in Ada.
4356         (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C
4357         implementation provided by GNAT runtime.
4358         (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and
4359         Windows.
4360
4361 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
4362
4363         * gnat_ugn.texi: Add documentation for -fno-ivopts.
4364
4365 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4366
4367         * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a
4368         with_clause if it is the main unit.
4369
4370 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4371
4372         * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
4373         (no behaviour change): Use Append instead of Increment_Last followed
4374         by assignment.
4375
4376 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
4377
4378         * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
4379         declarations of all primitives associated with dispatching asynchronous,
4380         conditional and timed selects when dispaching calls are forbidden and
4381         select statements are not allowed (such as in Ravenscar).
4382         (Predefined_Primitive_Bodies): Ditto for bodies.
4383
4384         * exp_disp.ad (Make_DT): Do not create and populate the
4385         Select_Specific_Data of the dispatch table when dispatching calls are
4386         forbidden and select statements are not allowed (such as in Ravenscar).
4387
4388 2009-04-20  Robert Dewar  <dewar@adacore.com>
4389
4390         * a-tifiio.adb: Minor reformatting
4391
4392 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4393
4394         * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
4395         other C library functions, report *failure* with a zero status, and
4396         success with a non-zero status.
4397
4398 2009-04-20  Bob Duff  <duff@adacore.com>
4399
4400         * sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
4401         (Semantics): After analyzing each unit, Append it to the
4402         Comp_Unit_List, if appropriate.
4403
4404         * gnat1drv.adb (Check_Library_Items): New procedure for debugging
4405         purposes.
4406         (Gnat1drv): Correct comment regarding Back_End_Mode.
4407
4408 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
4409
4410         * gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
4411
4412 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4413
4414         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
4415         output.adb, output.ads, s-taprop-hpux-dce.adb,
4416         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor
4417         reformatting.
4418
4419 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4420
4421         * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb,
4422         g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads
4423         (GNAT.Sockets.Thin.C_Inet_Addr): Remove.
4424         (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library
4425         except for VMS where it is reimplemented in Ada using DECC$INET_ADDR.
4426         (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3).
4427
4428         * debug.adb: Fix typo
4429
4430         * gnat_rm.texi: Minor doc fix.
4431
4432         * sem_ch7.adb, freeze.adb: Minor reformatting
4433
4434 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4435
4436         * g-socket.ads: Add new constants:
4437           Loopback_Inet_Addr
4438           Unspecified_Group_Inet_Addr
4439           All_Hosts_Group_Inet_Addr
4440           All_Routers_Group_Inet_Addr
4441
4442         * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add
4443         ERANGE (Result too large).
4444         (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing
4445         propagation of errno to caller.
4446
4447 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
4448
4449         * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds
4450         to 24. Increment Leap_Seconds_Count and add an entry to aggregate
4451         Leap_Second_Times.
4452
4453 2009-04-20  Gary Dismukes  <dismukes@adacore.com>
4454
4455         * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for
4456         checking for references to eliminated subprograms that should be
4457         flagged.
4458         (Eliminate_Error_Message): Update comment to say "references" rather
4459         than "calls" (since attribute cases are handled here as well).
4460
4461         * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for
4462         checking for references to eliminated subprograms that should be
4463         flagged.  Add with and use of Sem and Sem_Util.
4464
4465         * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms.
4466         Add with and use of Sem_Elim.
4467
4468         * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes
4469         applied to eliminated subprograms.
4470         (Analyze_Attribute): Reject 'Address and 'Code_Address applied to
4471         eliminated subprograms.
4472         Add with and use of Sem_Elim.
4473
4474         * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls
4475         to eliminated subprograms, now handled during Resolve_Call.
4476         Remove with and use of Sem_Elim.
4477
4478         * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before
4479         testing Is_Eliminated, for proper handling of primitive derived from
4480         eliminated subprograms.
4481
4482 2009-04-20  Vincent Celier  <celier@adacore.com>
4483
4484         * mlib-prj.adb (Build_Library): Use the shared library linker, if one
4485         has been declared (Library_GCC or Linker'Driver), for the driver name.
4486
4487         * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and
4488         Linker'Driver is, use Linker'Driver as the shared library linker.
4489         (Process_Project_Level_Simple_Attributes): Issue a warning if attribute
4490         Library_GCC is declared.
4491         (Check_Library_Attributes): Set up the shared linker driver: either
4492         Library_GCC or Linker'Driver. Issue a warning if Library_GCC is
4493         declared.
4494
4495 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4496
4497         * g-socket.ads (Send_Socket): Fix misleading comment.
4498
4499 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
4500
4501         * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in
4502         ASIS mode.
4503
4504 2009-04-20  Geert Bosch  <bosch@adacore.com>
4505
4506         * a-tifiio.adb (Put): Avoid generating too many digits for certain
4507         fixed types with smalls that are neither integer or the reciprocal
4508         of an integer.
4509
4510 2009-04-20  Bob Duff  <duff@adacore.com>
4511
4512         * uname.ads: Minor comment fix.
4513
4514         * types.ads: Minor comment fix.
4515
4516 2009-04-20  Pascal Obry  <obry@adacore.com>
4517
4518         * adaint.c (__gnat_get_libraries_from_registry): Fix code to
4519         avoid warning. At the same time fix a memory leak.
4520
4521         * osint.adb (Get_Libraries_From_Registry): Properly free memory
4522         returned by the above routine.
4523
4524 2009-04-20  Robert Dewar  <dewar@adacore.com>
4525
4526         * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb,
4527         s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb,
4528         s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads,
4529         s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions.
4530
4531         * exp_ch4.adb (Expand_Concatenate): Minor code reorganization
4532
4533 2009-04-20  Pascal Obry  <obry@adacore.com>
4534
4535         * initialize.c (__gnat_initialize): Add braces to kill warning.
4536
4537         * adaint.c: Minor reformatting, remove trailing spaces.
4538
4539 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
4540
4541         * gcc-interface/Make-lang.in: Update dependencies.
4542
4543 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
4544
4545         * adaint.h (__gnat_lwp_self): Declare on Linux.
4546
4547         * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'.
4548
4549 2009-04-20  Robert Dewar  <dewar@adacore.com>
4550
4551         * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement
4552         front-end part of -fpreserve-control-flow switch.
4553
4554 2009-04-20  Bob Duff  <duff@adacore.com>
4555
4556         * rtsfind.adb: Minor comment fix
4557
4558 2009-04-20  Robert Dewar  <dewar@adacore.com>
4559
4560         * exp_aggr.adb: Minor reformatting
4561         Minor code reorganization (use Nkind_In)
4562
4563         * g-socket.adb: Minor reformatting
4564
4565         * g-socket.ads: Minor comment fix
4566
4567         * s-auxdec.ads: Minor comment and organization update.
4568
4569         * s-auxdec-vms_64.ads: Minor comment and organization update.
4570
4571         * sem_ch10.adb: Minor addition of ??? comment
4572
4573         * sem_disp.adb: Minor reformatting
4574
4575 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4576
4577         * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end
4578         list a caller of an inlined subprogram, if the caller itself is not
4579         called.
4580
4581 2009-04-20  Pascal Obry  <obry@adacore.com>
4582
4583         * adaint.c: Disable use of ACL on network drives.
4584
4585 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
4586
4587         * gnat_ugn.texi: Add examples.
4588
4589 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4590
4591         * g-socket.ads (Abort_Selector): Clarify documentation.
4592
4593 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
4594
4595         * opt.ads (Inspector_Mode): Update documentation of this flag.
4596
4597 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4598
4599         * g-socket.ads: Minor reformatting
4600
4601         * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to
4602         consider S_resolvLib error codes since we only use the hostLib wrappers.
4603
4604 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
4605
4606         * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration
4607         of the Underlying_Record_View after that of the derived type.
4608
4609 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
4610
4611         * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining
4612         in inspector mode.
4613
4614 2009-04-20  Javier Miranda  <miranda@adacore.com>
4615
4616         * sem_ch6.adb (New_Overloaded_Entity): Minor reformating.
4617
4618         * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing
4619         documentation.
4620
4621         * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup.
4622
4623         * sem_disp.adb
4624         (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation
4625         in internally built overriding subprograms.
4626
4627 2009-04-20  Doug Rupp  <rupp@adacore.com>
4628
4629         * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types.
4630
4631         * s-auxdec.ads: Likewise
4632
4633 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4634
4635         * sem_ch3.adb (Find_Type_Name): Reject the completion of a private
4636         type by an interface.
4637
4638         * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to
4639         minimze difference in expanded tree when compiled as spec of the main
4640         unit, or as a spec in the context of another unit.
4641
4642 2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
4643
4644         * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer.
4645         (localtime_tzoff): This routine no longer accepts an actual of type
4646         tm_Pointer.
4647         (UTC_Time_Offset): Remove local variable Secs_TM.
4648
4649         * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an
4650         actual of type struct tm*. Add local variable of type struct tm for all
4651         targets that provide localtime_r and need to invoke it.
4652
4653 2009-04-20  Thomas Quinot  <quinot@adacore.com>
4654
4655         * s-oscons-tmplt.c, g-socket.adb, g-socket.ads
4656         (GNAT.Sockets.Resolve_Error): Add case of EPIPE
4657         Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK
4658
4659 2009-04-20  Robert Dewar  <dewar@adacore.com>
4660
4661         * sem_ch3.adb: Minor reformatting
4662
4663         * lib-load.adb: Minor reformatting
4664
4665         * sem_ch4.adb: Minor reformatting
4666
4667 2009-04-20  Robert Dewar  <dewar@adacore.com>
4668
4669         * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec
4670         (equal values => False).
4671
4672 2009-04-20  Ed Schonberg  <schonberg@adacore.com>
4673
4674         * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls
4675         to null procedures can be inlined unconditionally.
4676
4677 2009-04-20  Eric Botcazou  <ebotcazou@adacore.com>
4678
4679         * gcc-interface/trans.c (call_to_gnu): When creating the copy for a
4680         non-addressable parameter passed by reference, do not convert the
4681         actual if its type is already the nominal type, unless it is of
4682         self-referential size.
4683
4684 2009-04-20  Arnaud Charlet  <charlet@adacore.com>
4685
4686         * gnat_ugn.texi: Fix typos.
4687
4688 2009-04-20  Robert Dewar  <dewar@adacore.com>
4689
4690         * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to
4691         Validate_Unchecked_Warnings to suppress warnings about size or
4692         alignment or extra bits if either type involved has pragma Warnings
4693         (Off) set for the type entity.
4694
4695 2009-04-19  Eric Botcazou  <ebotcazou@adacore.com>
4696
4697         * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type
4698         a builtin type and give it a name.
4699
4700 2009-04-17  Diego Novillo  <dnovillo@google.com>
4701
4702         * gcc-interface/misc.c (gnat_expand_expr): Remove.
4703         (LANG_HOOKS_EXPAND_EXPR): Remove.
4704
4705 2009-04-17  Robert Dewar  <dewar@adacore.com>
4706
4707         * sem_ch3.adb: Minor reformatting
4708
4709 2009-04-17  Pascal Obry  <obry@adacore.com>
4710
4711         * adaint.c: Add __gnat_use_acl global variable to control use of ACL.
4712
4713 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
4714
4715         * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly
4716         illegal constraints on type derived from formal discrete types.
4717
4718 2009-04-17  Thomas Quinot  <quinot@adacore.com>
4719
4720         PR ada/35953
4721
4722         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
4723         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
4724         g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb,
4725         g-socket.ads (GNAT.Sockets.Thin.C_Send,
4726         GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms.
4727         Replace calls to send(2) with equivalent sendto(2) calls.
4728         (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram.
4729         (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not
4730         report an error in that case. Factor code common to the two versions
4731         (datagram and stream) in common routine Stream_Write.
4732
4733 2009-04-17  Robert Dewar  <dewar@adacore.com>
4734
4735         * exp_disp.adb: Minor reformatting
4736         Minor code reorganization (use Nkind_In)
4737
4738         * prepcomp.adb: Minor reformatting
4739
4740         * sem_ch3.adb: Minor reformatting
4741
4742         * sem_res.adb: Minor comment addition
4743
4744         * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test
4745         for address clause
4746
4747         * lib-xref.adb (Generate_Reference): Exclude recursive calls from
4748         setting Is_Referenced
4749
4750         * types.ads: Minor reformatting
4751
4752 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
4753
4754         * gnat_ugn.texi: Initial documentation on binding generator.
4755
4756 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
4757
4758         * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
4759         type extensions whose parent is a type with unknown discriminants.
4760
4761         * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
4762         aggregate has unknown discriminants, use the Underlying_Record_View to
4763         obtain the discriminants of the ancestor part.
4764
4765         * exp_disp.adb (Build_Dispatch_Tables): Types that are
4766         Underlying_Record_Views share the dispatching information of the
4767         original record extension.
4768
4769         * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
4770         discriminants, propagate dispach table information to the
4771         Underlying_Record_View.
4772
4773         * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
4774         discriminants and declaration is not a completion, generate
4775         Underlying_Record_View to provide proper discriminant information to
4776         the front-end and to gigi.
4777
4778 2009-04-17  Robert Dewar  <dewar@adacore.com>
4779
4780         * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb,
4781         s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads,
4782         s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads,
4783         g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads,
4784         s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads,
4785         s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads,
4786         g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb,
4787         s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads,
4788         g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb,
4789         s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb,
4790         s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb,
4791         s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb,
4792         s-conca3.ads: Remove unneeded pragma Warnings
4793
4794 2009-04-17  Robert Dewar  <dewar@adacore.com>
4795
4796         * g-moreex.adb: Add comments.
4797
4798         * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off)
4799
4800         * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma
4801         Warnings (Off)
4802
4803         * prepcomp.adb: Add ??? comment
4804
4805         * a-tasatt.adb: Minor reformatting
4806
4807         * g-trasym-vms-alpha.adb: Add ??? comment
4808
4809         * g-trasym-vms-ia64.adb: Add ??? comment
4810
4811         * xoscons.adb: Minor reformatting
4812
4813         * s-tassta.adb: Minor reformatting
4814
4815         * s-scaval.adb: Add ??? comment
4816
4817         * stand.ads: Minor code clean up (remove junk with of Namet)
4818
4819         * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb,
4820         s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads,
4821         s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb,
4822         s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads,
4823         s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb,
4824         s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads,
4825         s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb,
4826         s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed
4827         Warnings off pragmas.
4828
4829 2009-04-17  Pascal Obry  <obry@adacore.com>
4830
4831         * initialize.c: Fix test for reallocating the arguments array.
4832
4833 2009-04-17  Geert Bosch  <bosch@adacore.com>
4834
4835         * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed
4836         conversion truncate only for decimal fixed point types.
4837
4838 2009-04-17  Jerome Lambourg  <lambourg@adacore.com>
4839
4840         * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are
4841         reinitialized.
4842
4843 2009-04-17  Robert Dewar  <dewar@adacore.com>
4844
4845         * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and
4846         Backwards_OK if either operand has an address clause.
4847
4848 2009-04-17  Pascal Obry  <obry@adacore.com>
4849
4850         * initialize.c: Code clean up, use realloc.
4851
4852 2009-04-17  Pascal Obry  <obry@adacore.com>
4853
4854         * initialize.c: Do not get Unicode command line if Unicode support not
4855         activated.
4856         Add support for wildcard expansion for Unicode parameters on Win32.
4857
4858         * mingw32.h: Add missing macros when Unicode support not activated.
4859
4860 2009-04-17  Javier Miranda  <miranda@adacore.com>
4861
4862         * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to
4863         avoid generating code that references the Current_Master
4864         when compiling without tasks.
4865
4866 2009-04-17  Vincent Celier  <celier@adacore.com>
4867
4868         * prj-attr.adb: New project level attribute Target
4869         
4870         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
4871         attribute Target
4872         
4873         * prj.ads (Project_Configuration): New component Target
4874
4875 2009-04-17  Thomas Quinot  <quinot@adacore.com>
4876
4877         * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special
4878         case for the case of an aggregate component, the attach call for the
4879         result is actually needed.
4880
4881         * exp_aggr.adb (Backend_Processing_Possible): Backend processing for
4882         an array aggregate must be disabled if the component type requires
4883         controlled actions.
4884
4885         * exp_ch3.adb: Minor reformatting
4886
4887 2009-04-17  Bob Duff  <duff@adacore.com>
4888
4889         * output.ads (Indent,Outdent): New procedures for indenting the output.
4890         (Write_Char): Correct comment -- LF _is_ allowed.
4891
4892         * output.adb (Indent,Outdent): New procedures for indenting the output.
4893         Keep track of the indentation level, and make sure it doesn't get too
4894         high.
4895         (Flush_Buffer): Insert spaces at the beginning of each line, if
4896         indentation level is nonzero.
4897         (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
4898         indentation level.
4899         (Set_Standard_Error,Set_Standard_Output): Remove superfluous
4900         "Next_Col := 1;".  Flush_Buffer does that.
4901
4902         * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
4903         controlled by the -gnatdc switch. It now occurs on entry/exit to the
4904         relevant analysis routines, and calls Indent/Outdent to make the
4905         indentation reflect the nesting level.  Add "helper" routines, since
4906         otherwise lots of "return;" statements would skip the debugging output.
4907
4908 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
4909
4910         * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb,
4911         s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb,
4912         s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup.
4913
4914 2009-04-17  Thomas Quinot  <quinot@adacore.com>
4915
4916         * exp_aggr.adb: Minor code reorganization, no behaviour change.
4917
4918 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
4919
4920         * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type
4921         clause in a unit that is a package body or a subunit, when the previous
4922         clause appears in a spec or a parent.
4923
4924 2009-04-17  Thomas Quinot  <quinot@adacore.com>
4925
4926         * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting
4927
4928         * exp_ch7.adb: Minor reformatting
4929
4930 2009-04-17  Bob Duff  <duff@adacore.com>
4931
4932         * exp_ch4.adb (Expand_Allocator_Expression): In an initialized
4933         allocator, check that the expression of the qualified expression obeys
4934         the constraints of the subtype of the qualified expression.
4935
4936 2009-04-17  Thomas Quinot  <quinot@adacore.com>
4937
4938         * sprint.adb (Write_Itype): Add handling of enumeration subtypes.
4939
4940 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
4941
4942         * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to
4943         aggregate, using context imposed by subtype mark in allocator.
4944
4945 2009-04-17  Pascal Obry  <obry@adacore.com>
4946
4947         * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable
4948
4949 2009-04-17  Nicolas Roche  <roche@adacore.com>
4950
4951         * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each
4952         argument length.
4953
4954 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
4955
4956         * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to
4957         cover both calls and attribute references ("call" => "reference").
4958
4959 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
4960
4961         * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access
4962         type for which Storage_Size is set to 0 is legal in a pure unit.
4963
4964 2009-04-17  Thomas Quinot  <quinot@adacore.com>
4965
4966         * exp_ch7.adb: Minor reformatting
4967
4968 2009-04-17  Robert Dewar  <dewar@adacore.com>
4969
4970         * restrict.adb (Check_Restriction_No_Dependence): Don't check
4971         restriction if outside main extended source unit.
4972
4973         * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction
4974         for parents of child units as well as the child unit itself.
4975
4976 2009-04-17  Bob Duff  <duff@adacore.com>
4977
4978         * checks.ads: Minor comment fix
4979
4980         * exp_aggr.ads: Minor comment fix
4981
4982 2009-04-17  Nicolas Roche  <roche@adacore.com>
4983
4984         * adaint.c: Improve cross compiler detection and handling.
4985
4986 2009-04-17  Eric Botcazou  <ebotcazou@adacore.com>
4987
4988         * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os.
4989
4990 2009-04-17  Pascal Obry  <obry@adacore.com>
4991
4992         * mingw32.h: Add S2WSC and WS2SC macros to convert to/from
4993         CurrentCodePage.
4994
4995         * adaint.h: Encoding_Unspecified is now defined. Corresponds to the
4996         value when no encoding form paramter is set on Text_IO services.
4997
4998         * adaint.c: CurrentCodePage new variable on Windows.
4999         Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
5000         ones.
5001
5002         * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented
5003         ones.
5004
5005         * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE
5006         environment variable value. Default is UTF-8.
5007
5008         * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type.
5009         fopen and freopen encoding parameter is now set to Unspecified.
5010         The default value is in this case UTF-8 (as it was before) but
5011         use the new macros that convert to/from the code page set
5012         at runtime (CurrentCodePage).
5013
5014         * s-fileio.adb: When no encoding specified use Unspecified value.
5015
5016 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
5017
5018         * atree.adb, atree.ads: Remove dead code.
5019
5020 2009-04-17  Arnaud Charlet  <charlet@adacore.com>
5021
5022         * gcc-interface/Make-lang.in: Update dependencies.
5023
5024 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
5025
5026         * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on
5027         illegal uses of incomplete types in formal parts and return types.
5028
5029         * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in
5030         access to subprograms.
5031
5032         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use
5033         Taft-amendment types as the return type of an access_to_function type.
5034
5035         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
5036         type for access_to_subprograms. The check is performed on package exit.
5037
5038 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
5039
5040         * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util.
5041
5042         * nlists.ads, nlists.adb: Move New_Copy_List to sem_util.
5043         
5044         * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree
5045
5046         * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in
5047         semantic units, because the handling of itypes in the copied tree
5048         requires semantic information that does not belong in atree.
5049
5050 2009-04-17  Robert Dewar  <dewar@adacore.com>
5051
5052         * par-ch6.adb: Minor reformatting
5053
5054         * prj.adb: Minor reformatting
5055
5056 2009-04-17  Gary Dismukes  <dismukes@adacore.com>
5057
5058         * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed
5059         on protected subprogram bodies, so exclude the case where Pf_Flags is
5060         Pf_Decl_Pbod from the error check.
5061
5062         * par-ch9.adb (P_Protected_Operation_Items): Permit overriding
5063         indicators on subprograms in protected bodies, and proceed with parsing
5064         the subprogram.
5065
5066         * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected
5067         subprograms from the check for primitiveness on subprograms with
5068         overriding indicators.
5069         (Check_Overriding_Indicator): Include protected subprograms in the
5070         style check for missing overriding indicators.
5071
5072 2009-04-17  Tristan Gingold  <gingold@adacore.com>
5073
5074         * init.c: Fix stack checking for x86 Darwin.
5075
5076 2009-04-17  Vincent Celier  <celier@adacore.com>
5077
5078         * prj-attr.adb: New project level attribute Object_File_Suffix
5079         (<language>).
5080         
5081         * prj-nmsc.adb (Add_Source): Use the object file suffix to get the
5082         object file name
5083         (Process_Compiler): Process attribute Object_File_Suffix
5084
5085         * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of
5086         platform suffix, when specified.
5087
5088         * prj.ads (Language_Config): New component Object_File_Suffix,
5089         defaulted to No_Name.
5090         (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name
5091
5092         * snames.ads-tmpl: New standard name Object_File_Suffix
5093
5094 2009-04-17  Robert Dewar  <dewar@adacore.com>
5095
5096         * gnat_rm.texi: Add documentation about No_Streams restriction
5097
5098         * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream
5099         attributes when checking No_Streams restriction.
5100
5101 2009-04-17  Thomas Quinot  <quinot@adacore.com>
5102
5103         * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity.
5104
5105         * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add
5106         missing calls to RE_Request_Destroy to deallocate request objects after
5107         use.
5108
5109 2009-04-17  Nicolas Setton  <setton@adacore.com>
5110
5111         * link.c: Fix support for passing a response file under Darwin.
5112
5113 2009-04-17  Emmanuel Briot  <briot@adacore.com>
5114
5115         * prj.adb (Free): new subprogram.
5116
5117 2009-04-17  Ed Schonberg  <schonberg@adacore.com>
5118
5119         * sem_ch3.adb: additional initialization on incomplete subtypes.
5120         
5121         * sem_ch6.adb (Process_Formals): if the subprogram is in the private
5122         part and one of the formals is an incomplete tagged type, attach to
5123         list of private dependends of the type for later validation.
5124
5125         * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare
5126         primitive operations of a Taft-amendmment type.
5127
5128         * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete
5129         type. The check is performed on package exit, possibly after the
5130         subprogram is frozen.
5131
5132 2009-04-17  Vincent Celier  <celier@adacore.com>
5133
5134         * prj-nmsc.adb (Get_Directories): Get the object and exec directory
5135         before looking for source directories, but make sure that there are nil
5136         if they are not explicitely declared and there is explicitely no
5137         sources in the project.
5138
5139 2009-04-17  Pascal Obry  <obry@adacore.com>
5140
5141         * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows.
5142
5143         * init.c: Fix minor typo and style fix.
5144
5145 2009-04-17  Robert Dewar  <dewar@adacore.com>
5146
5147         * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic
5148
5149         * sem_attr.adb (Analyze_Attribute, case Address): Use
5150         PE_Address_Of_Intrinsic.
5151
5152         * types.ads: Add PE_Address_Of_Intrinsic
5153
5154         * types.h: Add PE_Address_Of_Intrinsic
5155
5156 2009-04-17  Nicolas Setton  <setton@adacore.com>
5157
5158         * gcc-interface/Makefile.in: Under darwin, build shared libraries
5159         with install_name starting with "@rpath/".
5160
5161 2009-04-17  Nicolas Setton  <setton@adacore.com>
5162
5163         * link.c: Add darwin section
5164
5165 2009-04-16  Robert Dewar  <dewar@adacore.com>
5166
5167         * g-pehage.adb: Minor reformatting
5168
5169         * sem_ch12.adb: Minor reformatting
5170
5171         * exp_dist.adb: Minor reformatting
5172
5173         * bindgen.adb: Minor style fixes.
5174
5175 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
5176
5177         * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of
5178         indexed components to the case where the prefix is a static string
5179         literal.
5180
5181 2009-04-16  Javier Miranda  <miranda@adacore.com>
5182
5183         * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place
5184         objects avoid any further expansion of the expression initializing the
5185         object.
5186
5187 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
5188
5189         * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit
5190         that hides an outer homograph, make that homograph invisible when
5191         analyzing the actuals, to to prevent illegal direct visibility on it.
5192
5193 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
5194
5195         * g-pehage.adb (Initialize): Fix off-by-one error.
5196
5197 2009-04-16  Tristan Gingold  <gingold@adacore.com>
5198
5199         * init.c: Detect real stack overflow on Darwin.
5200
5201         * system-darwin-x86.ads: Use stack probing on darwin x86.
5202
5203 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
5204
5205         * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to
5206         take the address of an intrinsic subprogram.
5207
5208 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
5209
5210         * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented
5211         for the targets where GNAT.Traceback.Symbolic is not supported.
5212
5213 2009-04-16  Vincent Celier  <celier@adacore.com>
5214
5215         * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file.
5216
5217         * g-trasym.ads: Update comments.
5218
5219 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
5220
5221         * tracebak.c (STOP_FRAME): Verify validity of the current address
5222         before dereferencing.
5223
5224 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
5225
5226         * sprint.adb (Write_Itype): If the itype is an array subtype, preserve
5227         the original location of the index expressions and the index subtypes,
5228         to prevent spurious out-of-scope references in gigi.
5229
5230 2009-04-16  Tristan Gingold  <gingold@adacore.com>
5231
5232         * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads:
5233         Add support for stack checking on darwin.
5234
5235 2009-04-16  Vincent Celier  <celier@adacore.com>
5236
5237         * prj-attr.adb: New attribute Runtime_Source_Dir
5238
5239         * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process
5240         attribute Runtime_Source_Dir.
5241         (Check_Naming_Schemes): Give default values to out parameters to avoid
5242         invalid data.
5243
5244         * prj.ads (Language_Config): New component Runtime_Source_Dir
5245
5246         * snames.ads-tmpl: New standard name Runtime_Source_Dir
5247
5248 2009-04-16  Pascal Obry  <obry@adacore.com>
5249
5250         * adaint.h, adaint.c (__gnat_rmdir): New routine.
5251         Simple wrapper routines used to convert to proper encoding on
5252         Windows.
5253
5254         * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library.
5255
5256         * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed
5257         twice.
5258
5259 2009-04-16  Pascal Obry  <obry@adacore.com>
5260
5261         * s-crtl.ads, s-os_lib.adb: Minor code clean-up.
5262
5263 2009-04-16  Thomas Quinot  <quinot@adacore.com>
5264
5265         * snames.ads-tmpl (Name_Defined): New predefined name for use by the
5266         integrated preprocessor.
5267
5268         * prep.ads, prep.adb (Setup_Hooks): New subprogram.
5269         (Initialize): Split into two subprograms, Initialize (to be called
5270         prior to compiler command line processing) and Setup_Hooks (to be called
5271         later on when the first source file is loaded).
5272
5273         * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
5274         Add call to Prep.Initialize.
5275
5276         * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
5277         to Prep.Setup_Hooks.
5278
5279 2009-04-16  Pascal Obry  <obry@adacore.com>
5280
5281         * adaint.h, adaint.c (__gnat_chdir): New routine.
5282         Simple wrapper routines used to convert to proper encoding on
5283         Windows.
5284
5285         * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
5286
5287         * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
5288
5289 2009-04-16  Quentin Ochem  <ochem@adacore.com>
5290
5291         * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
5292         of Source.Init.
5293
5294 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
5295
5296         * a-convec.ads (Is_Empty): Mark inline.
5297
5298 2009-04-16  Nicolas Roche  <roche@adacore.com>
5299
5300         * init.c (__gnat_init_float): Initialize FPU on x86_64 windows
5301
5302 2009-04-16  Thomas Quinot  <quinot@adacore.com>
5303
5304         * prepcomp.adb: Minor reformatting
5305
5306 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
5307
5308         * sem_prag.adb (Process_Import_Or_Interface): With .NET,
5309         Access_Subprogram types can also be imported.
5310         (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
5311         names.
5312
5313 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
5314
5315         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
5316         preserve homonym chain when the declaration is rewritten into a
5317         renaming declaration, in order to preserve visibility structure.
5318
5319 2009-04-16  Jerome Lambourg  <lambourg@adacore.com>
5320
5321         * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
5322         taken into account for VM targets.
5323
5324 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
5325
5326         * g-calend.ads, g-calend.adb (Week_In_Year): Now calls
5327         Year_Week_In_Year.
5328         (Year_Week_In_Year): New routine which contains the original code from
5329         Week_In_Year. Add the missing special case for January 1st falling on
5330         a Monday.
5331
5332 2009-04-16  Thomas Quinot  <quinot@adacore.com>
5333
5334         * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
5335         actual type, use the base type to build the To_Any function.
5336         (Build_From_Any_Function): Remove junk, useless subtype conversion.
5337
5338 2009-04-16  Thomas Quinot  <quinot@adacore.com>
5339
5340         * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
5341         restrict.adb: Minor code reorganization (use
5342         Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
5343
5344 2009-04-16  Bob Duff  <duff@adacore.com>
5345
5346         * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove,
5347         unused.
5348
5349 2009-04-16  Thomas Quinot  <quinot@adacore.com>
5350
5351         * sem_ch4.adb: Minor reformatting
5352
5353         * adaint.c: Remove junk duplicated code.
5354
5355         * sem_ch3.adb: Minor reformatting
5356
5357         * exp_dist.adb: Minor comment rewording
5358
5359 2009-04-16  Robert Dewar  <dewar@adacore.com>
5360
5361         * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
5362         used together.
5363
5364 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
5365
5366         * sem_ch4.adb (Find_Equality_Types): Filter out types that are not
5367         usable before calling Add_One_Interp, to resolve spurious ambiguities.
5368
5369 2009-04-16  Robert Dewar  <dewar@adacore.com>
5370
5371         * Make-lang.in: Add entries for s-conca?.o
5372
5373         * Makefile.rtl: Add entries for s-conca?
5374
5375         * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior
5376         of concatenation expansion
5377
5378         * exp_ch4.adb (Expand_Concatenation): Generate calls for certain
5379         string cases instead of expanding assignments inline.
5380
5381         * opt.ads (Optimize_Size): New flag
5382
5383         * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads,
5384         s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb,
5385         s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads,
5386         s-conca9.adb, s-conca9.ads: New file.
5387
5388 2009-04-16  Robert Dewar  <dewar@adacore.com>
5389
5390         * exp_ch6.adb: Add comments
5391
5392         * rtsfind.ads: Add entries for s-conca? routines
5393
5394 2009-04-16  Arnaud Charlet  <charlet@adacore.com>
5395
5396         * gcc-interface/Make-lang.in: Update dependencies.
5397
5398         * gcc-interface/Makefile.in: Update translation for vms.
5399
5400 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
5401
5402         * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
5403         and made global, to be used when installing parents of a child
5404         instance, to provide mappings for entities declared in formal packages
5405         of ancestor units. Now called from Install_Formal_Packages.
5406
5407 2009-04-16  Doug Rupp  <rupp@adacore.com>
5408
5409         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
5410         notation for clarity.
5411
5412         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
5413         s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
5414         s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
5415         (Initialize): Initialize Known_Tasks with Environment task.
5416
5417         * s-taskin.ads (Task_States): Move new states to end for the sake of
5418         GDB compatibility.
5419
5420         * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
5421
5422 2009-04-16  Ed Schonberg  <schonberg@adacore.com>
5423
5424         * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
5425         operation has an inline pragma, propagate the flag to the internal
5426         unprotected subprogram.
5427
5428 2009-04-16  Doug Rupp  <rupp@adacore.com>
5429
5430         * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
5431         s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, 
5432         s-taprop-hpux-dce.adb, s-taprop-posix.adb
5433         (Enter_Task): Move Known_Tasks initialization to s-tassta.adb
5434
5435         * s-taprop-vms.adb (Enter_Task): Likewise.
5436         (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
5437
5438         * s-tassta.adb (Activate_Tasks): After task creation set state to
5439         Activating, vice Runnable. Initialize Known_Tasks, moved here from
5440         s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
5441         Set state to Runnable after above.
5442         (Task_Wrapper): Set Debug_Event_Run. In exception block set
5443         Debug_Event_Terminated.
5444
5445         * s-taskin.ads (Task_States): Add new states Activiting and
5446         Activator_Delay_Sleep.
5447         (Bit_Array, Debug_Event_Array): New types.
5448         (Global_Task_Debug_Event_Set: New flag.
5449         (Common_ATCB): New field Debug_Events.
5450
5451         * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
5452
5453         * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
5454         Activator_Sleep.
5455
5456         * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
5457         Activating and when Acceptor_Delay_Sleep.
5458
5459         * s-tasdeb.ads: Add constants for Debug_Events.
5460         (Debug_Event_Kind_Type): New subtype.
5461         (Signal_Debug_Event): New subprogram.
5462
5463         * s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
5464
5465 2009-04-16  Thomas Quinot  <quinot@adacore.com>
5466
5467         * sem_elim.adb: Minor reformatting
5468
5469         * freeze.adb: Minor reformatting
5470
5471         * exp_ch4.adb: Minor reformatting
5472
5473 2009-04-16  Emmanuel Briot  <briot@adacore.com>
5474
5475         * prj-nmsc.adb (Path_Name_Of): fix memory leak
5476
5477 2009-04-16  Robert Dewar  <dewar@adacore.com>
5478
5479         * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
5480
5481 2009-04-16  Vincent Celier  <celier@adacore.com>
5482
5483         * fmap.adb (Initialize): Show the current line when the mapping file
5484         is detected as "incorrectly formatted".
5485
5486 2009-04-16  Robert Dewar  <dewar@adacore.com>
5487
5488         * sem_ch12.adb: Minor reformatting
5489
5490         * sem_ch5.adb: Minor comment addition
5491
5492         * sem_util.adb: Minor reformatting
5493
5494         * sinput-p.adb: Minor reformatting
5495         Add missing pragma Warnings (On)
5496
5497 2009-04-16  Ed Falis  <falis@adacore.com>
5498
5499         * s-vxwext-kernel.adb: (ERROR): deleted unused constant
5500
5501 2009-04-16  Vincent Celier  <celier@adacore.com>
5502
5503         * ali-util.adb: Minor comment spelling error fix
5504
5505 2009-04-16  Eric Botcazou  <ebotcazou@adacore.com>
5506
5507         * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
5508         generate an assignment loop in case of overlap.
5509
5510 2009-04-16  Olivier Hainque  <hainque@adacore.com>
5511
5512         * gnat_ugn.texi (gnatmem description): Make it explicit that
5513         gnatmem is designed to work in association with static runtime
5514         library only.
5515
5516 2009-04-16  Thomas Quinot  <quinot@adacore.com>
5517
5518         * sem_type.adb: Minor reformatting
5519
5520 2009-04-16  Hristian Kirtchev  <kirtchev@adacore.com>
5521
5522         * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
5523         concerning return codes of gettimeofday and return value check.
5524
5525 2009-04-16  Ed Falis  <falis@adacore.com>
5526
5527         * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
5528         body can be renaming of imported routines.
5529
5530 2009-04-16  Vasiliy Fofanov  <fofanov@adacore.com>
5531
5532         * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
5533         targeted fashion.
5534
5535 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
5536
5537         * exp_ch9.adb: Comment improvements.
5538         (Build_Entry_Family_Name): Add parentheses around the index of a entry
5539         family member.
5540
5541 2009-04-15  Bob Duff  <duff@adacore.com>
5542
5543         * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
5544         "while X /= null loop" where X is unchanged inside the loop. We were
5545         not warning in this case, because of the pointers -- we feared that the
5546         loop variable could be updated via a pointer, if there are any pointers
5547         around the place. But that is impossible in this case.
5548
5549         * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
5550         the case of dereferences. In X.all, X cannot be an l-value. We now
5551         catch that case (and implicit dereferences, too).
5552
5553 2009-04-15  Vincent Celier  <celier@adacore.com>
5554
5555         * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
5556
5557 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
5558
5559         * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
5560         From code reading.
5561         (Analyze_Package_Instantiation): If generic unit in child instance is
5562         the same as generic unit in parent instance, look for an outer homonym
5563         to locate the desired generic.
5564
5565 2009-04-15  Bob Duff  <duff@adacore.com>
5566
5567         * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
5568         warnings unless the loop comes from source, because checking generated
5569         loops is a waste of time, and makes it harder to debug
5570         Check_Infinite_Loop_Warning.
5571
5572         * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
5573         tested in the while loop is a renaming, do not warn. Otherwise, we get
5574         false alarms, because it's usually renaming something that we can't
5575         deal with (an indexed component, a global variable, ...).
5576
5577         * gnat_rm.texi: Fix typo
5578
5579 2009-04-15  Thomas Quinot  <quinot@adacore.com>
5580
5581         * sem_ch6.adb: Minor reformatting
5582
5583 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
5584
5585         * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
5586         immediate parent of the controlled function call is a component
5587         association.
5588
5589 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
5590
5591         * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
5592         corresponding class-wide type is also in use.
5593
5594 2009-04-15  Thomas Quinot  <quinot@adacore.com>
5595
5596         * frontend.adb: Minor comment fix
5597
5598 2009-04-15  Robert Dewar  <dewar@adacore.com>
5599
5600         * gnatchop.adb (BOM_Length): New global variable
5601         (Write_Unit): Add new parameter Write_BOM
5602         (Write_Chopped_Files): Check for BOM and set Write_BOM for call
5603         to Write_Unit
5604
5605         * gnat_ugn.texi: Add note on propagation of BOM by gnatchop
5606
5607 2009-04-15  Geert Bosch  <bosch@adacore.com>
5608
5609         * system-mingw-x86_64.ads, system-darwin-x86_64.ads
5610         (Backend_Overflow_Checks): Set to True.
5611
5612 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
5613
5614         * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
5615         keyword is given in a record extension.
5616
5617 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
5618
5619         * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
5620         of a controlled function call in the context of a record aggregate.
5621         This does not apply to array aggregates since the call will be expanded
5622         into assignments.
5623
5624 2009-04-15  Ed Falis  <falis@adacore.com>
5625
5626         * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
5627         s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
5628         s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize
5629         s-osinte-vxworks* and s-vxwext*.
5630
5631 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
5632
5633         * gcc-interface/Make-lang.in: Update dependencies.
5634
5635         * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks*
5636         and s-vxwext*.
5637
5638 2009-04-15  Robert Dewar  <dewar@adacore.com>
5639
5640         * sem_ch13.adb (Unchecked_Conversions): Store source location instead
5641         of node for location for warning messages.
5642
5643         * gnatchop.adb: Minor reformatting
5644
5645 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
5646
5647         * exp_ch6.adb: additional guard for renaming declarations for in
5648         parameters of an array type.
5649
5650 2009-04-15  Robert Dewar  <dewar@adacore.com>
5651
5652         * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds
5653         in case they were rewritten by expander (Force_Evaluation).
5654
5655         * targparm.adb (Get_Target_Parameters): Correct check for
5656         Suppress_Exception_Locations.
5657
5658 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
5659
5660         * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be
5661         inlined  is of an array type that is not bit-packed, use a renaming
5662         declaration to capture its value, rather than a constant declaration.
5663
5664 2009-04-15  Robert Dewar  <dewar@adacore.com>
5665
5666         * rtsfind.adb: Minor reformatting.
5667
5668 2009-04-15  Emmanuel Briot  <briot@adacore.com>
5669
5670         * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames
5671         Restore, and free the saved context.
5672
5673 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
5674
5675         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check
5676         for illegal private extension from a synchronized interface parent in
5677         front of check for illegal limited extension so that limited extension
5678         from a synchronized interface will be rejected.
5679         (Check_Ifaces): Check that a private extension that has a synchronized
5680         interface as a progenitor must be explicitly declared synchronized.
5681         Also check that a record extension cannot derive from a synchronized
5682         interface.
5683
5684 2009-04-15  Pascal Obry  <obry@adacore.com>
5685
5686         * adaint.h (__gnat_unlink): Add spec.
5687         (__gnat_rename): Likewise.
5688
5689 2009-04-15  Vincent Celier  <celier@adacore.com>
5690
5691         * prj-nmsc.adb: Minor spelling error corrections in error messages
5692
5693 2009-04-15  Robert Dewar  <dewar@adacore.com>
5694
5695         * sinfo.ads: Minor comment update
5696
5697         * opt.ads: Minor comment updates
5698
5699         * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for
5700         modular type.
5701
5702 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
5703
5704         * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function
5705         that generates the code needed to update a dispatch table when a
5706         primitive operation is declared with a subprogram body without previous
5707         spec. Insertion of the generated code is responsibility of the caller.
5708         (Make_DT): When building static tables, append the code created by
5709         Register_Primitive to update a secondary table after it has been
5710         constructed.
5711
5712         * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive.
5713
5714         * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive
5715         on an overriding operation that implements an interface operation only
5716         if not building static dispatch tables.
5717
5718 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
5719
5720         * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which
5721         does not cause overflow when converted to Duration. Use the safe value
5722         as the maximum allowable time delay..
5723
5724 2009-04-15  Jerome Lambourg  <lambourg@adacore.com>
5725
5726         * g-comlin.adb (Set_Command_Line): When adding a switch with attached
5727         parameter, specify that the delimiter is NUL, otherwise "-j2" will be
5728         translated to "-j 2".
5729
5730 2009-04-15  Bob Duff  <duff@adacore.com>
5731
5732         * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit
5733         with_clauses, to avoid code duplication. Change this processing so we
5734         always add a with_clause on the main unit if needed.
5735
5736 2009-04-15  Pascal Obry  <obry@adacore.com>
5737
5738         Add support for Win32 native encoding for delete/rename routines.
5739         
5740         * adaint.c (__gnat_unlink): New routine.
5741         (__gnat_rename): New routine.
5742         Simple wrapper routines used to convert to proper encoding on
5743         Windows.
5744
5745         * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct
5746         call to the C library.
5747
5748         * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding.
5749
5750 2009-04-15  Robert Dewar  <dewar@adacore.com>
5751
5752         * s-tassta.adb: Minor reformatting
5753
5754 2009-04-15  Robert Dewar  <dewar@adacore.com>
5755
5756         * frontend.adb (Frontend): Set proper default for
5757         Warn_On_Non_Local_Exception.
5758
5759         * opt.ads (Exception_Handler_Encountered): New flag
5760         (No_Warn_On_Non_Local_Exception): New flag
5761
5762         * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered
5763
5764         * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception
5765         (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception
5766
5767 2009-04-15  Cyrille Comar  <comar@adacore.com>
5768
5769         * s-tassta.adb, a-exextr.adb, a-elchha.adb
5770         (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception
5771         message when exception traces are active since it would generate
5772         redundant information.
5773         (Exception_Traces.Notify_Exception): put message output by a critical
5774         section to avoid unsynchronized output.
5775         (Trace_Unhandled_Exception_In_Task): put message output by a critical
5776         section to avoid unsynchronized output.
5777
5778 2009-04-15  Emmanuel Briot  <briot@adacore.com>
5779
5780         * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads
5781         (Free): New subprogram.
5782
5783 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
5784
5785         * a-calend.adb: Add new constant Nanos_In_Four_Years.
5786         (Formatting_Operations.Time_Of): Change the way four year chunks of
5787         nanoseconds are added to the intermediate result.
5788
5789 2009-04-15  Nicolas Setton  <setton@adacore.com>
5790
5791         * sysdep.c: Add __APPLE__ in the list of systems where get_immediate
5792         does not need to wait for a carriage return.
5793
5794 2009-04-15  Tristan Gingold  <gingold@adacore.com>
5795
5796         * bindgen.adb: Do not generate adafinal if No_Finalization restriction
5797         is set.
5798
5799 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
5800
5801         * freeze.adb (Freeze_Entity): improve error message for improper use of
5802         incomplete types.
5803         Diagnose additional illegal uses of incomplete types in formal parts.
5804         appearing in formal parts.
5805
5806         * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto.
5807
5808 2009-04-15  Robert Dewar  <dewar@adacore.com>
5809
5810         * exp_ch4.adb (Expand_N_Allocator): Install test for object too large.
5811
5812 2009-04-15  Nicolas Roche  <roche@adacore.com>
5813
5814         * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the
5815         current thread.
5816
5817         * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self
5818
5819         * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB
5820
5821 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
5822
5823         * sem_ch4.adb: improve error message on exponentiation.
5824
5825 2009-04-15  Hristian Kirtchev  <kirtchev@adacore.com>
5826
5827         * a-calend.adb: Move constant Epoch_Offset from package
5828         Conversion_Operations to top level.
5829         (Delay_Operations.To_Duration): Define a constant which represents
5830         "end of time" and use it as a guard against very distant delay dates.
5831         Protect the code against overflow when performing the origin shift to
5832         Unix time.
5833
5834 2009-04-15  Robert Dewar  <dewar@adacore.com>
5835
5836         * sem_prag.adb: Minor reformatting.
5837
5838         * sem_type.adb: Minor reformatting
5839
5840 2009-04-15  Javier Miranda  <miranda@adacore.com>
5841
5842         * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing
5843         support to check eliminated subprograms.
5844
5845         * sem_elim.ads (Eliminate_Error_Msg): Update documentation.
5846
5847         * sem_elim.adb (Set_Eliminated): Add support for elimination of
5848         dispatching subprograms.
5849
5850         * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive
5851         operations. Initialize with "null" the slots of eliminated dispaching
5852         primitives.
5853         (Write_DT): Add output for eliminated primitives.
5854
5855         * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives.
5856
5857 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
5858
5859         * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit,
5860         the second is redundant, regardless of scopes.
5861
5862 2009-04-15  Vincent Celier  <celier@adacore.com>
5863
5864         * prj-nmsc.adb (Get_Directories): Check for sources before checking
5865         the object directory as when there are no sources, they may not be any
5866         object directory.
5867
5868         * make.adb (Gnatmake): Do not attempt to get the path name of the exec
5869         directory, when there are no exec directory.
5870
5871 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
5872
5873         * sem_type.adb (Remove_Conversions): In order to resolve spurious
5874         ambiguities, refine removal of universal interpretations from complex
5875         expressions with literal arguments, when some numeric operators have
5876         been declared abstract.
5877
5878 2009-04-15  Ed Falis  <falis@adacore.com>
5879
5880         * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity
5881         and backward compatibility for targets using probing for stack overflow
5882
5883 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
5884
5885         * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal
5886         after any declaration, including renaming declarations.
5887
5888 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
5889
5890         * gcc-interface/Make-lang.in: Update dependencies.
5891
5892         * gcc-interface/Makefile.in: Fix VxWorks target pairs.
5893         Update xenomai target pairs.
5894
5895 2009-04-15  Javier Miranda  <miranda@adacore.com>
5896
5897         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
5898
5899         * sem_ch6.adb (Check_Anonymous_Return): Add missing support for
5900         functions returning anonymous access to class-wide limited types. Mark
5901         also the containing scope as a task master.
5902
5903         * sem_ch8.adb (Restore_Scope_Stack): Add missing management for
5904         limited-withed packages. Required to restore their visibility after
5905         processing packages associated with implicit with-clauses.
5906
5907         * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters
5908         associated with return statements because this work is now done by
5909         Check_Anonymous_Return.
5910         (Build_Master): Code cleanup.
5911
5912 2009-04-15  Thomas Quinot  <quinot@adacore.com>
5913
5914         * sem_warn.ads: Minor reformatting
5915
5916 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
5917
5918         * sem_ch3.adb: better error message for illegal interfaces
5919
5920         * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a
5921         formal is an incomplete type from a limited_with clause.
5922
5923 2009-04-15  Vincent Celier  <celier@adacore.com>
5924
5925         * prj-nmsc.adb (Locate_Directory): New Boolean parameter
5926         Externally_Built indicating if the project is externally built. If it
5927         is, and --subdirs is specified, but the subdir does not exist, look
5928         for the specified directory, without the subdir.
5929
5930 2009-04-15  Gary Dismukes  <dismukes@adacore.com>
5931
5932         * a-tasatt.adb: Fix typo, plus minor reformatting
5933
5934         * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide").
5935
5936         * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible").
5937
5938 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
5939
5940         * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a
5941         private extension whose parent is a synchronized interface carries an
5942         explicit synchronized keyword.
5943
5944 2009-04-15  Thomas Quinot  <quinot@adacore.com>
5945
5946         * exp_smem.adb (Make_Shared_Var_Procs): For a protected type,
5947         instantiate generic shared object package with the corresponding
5948         record type.
5949
5950 2009-04-15  Arnaud Charlet  <charlet@adacore.com>
5951
5952         * system-linux-sparc.ads: Remove obsolete entries.
5953
5954 2009-04-15  Thomas Quinot  <quinot@adacore.com>
5955
5956         * s-tasuti.ads: Add ??? comment
5957
5958 2009-04-15  Ed Schonberg  <schonberg@adacore.com>
5959
5960         * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access
5961         type even if the designated type comes from a limited_with clause, to
5962         ensure that the symbol for the finalization list of the access type is
5963         created.
5964
5965 2009-04-10  Robert Dewar  <dewar@adacore.com>
5966
5967         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases
5968         for warning suppression.
5969
5970 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
5971
5972         * sem_ch8.adb (Use_One_Type): If the two use_type clauses are
5973         identical, there is no redudancy to check.
5974
5975 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
5976
5977         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant
5978         calls initializing SS_Allocator (which is initialized in following
5979         code).
5980         (Expand_Simple_Function_Return): Add comment about False value for
5981         Comes_From_Source on secondary-stack allocator.
5982
5983         * exp_ch9.adb (Build_Entry_Family_Name): Add comment.
5984         (Build_Entry_Name): Add comment.
5985
5986 2009-04-10  Robert Dewar  <dewar@adacore.com>
5987
5988         * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
5989
5990         * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
5991         bound tested, since this is now done more generally in Sem_Res.
5992
5993         * sem_res.adb (Resolve_Comparison_Op): Add call to
5994         Check_Lower_Bound_Tested.
5995         (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
5996
5997         * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
5998         (Low_Bound_Tested): New name for Low_Bound_Known flag
5999
6000         * exp_ch5.adb: Minor reformatting
6001
6002         * exp_ch4.adb:
6003         Add comments on copying the Comes_From_Source flag for allocators
6004
6005         * sinfo.ads:
6006         Add comments on copying the Comes_From_Source flag for allocators
6007
6008         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
6009         Comes_From_Source flag from old allocator to new one.
6010
6011 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
6012
6013         * sem_ch6.ads: Address missing documentation query
6014
6015 2009-04-10  Vincent Celier  <celier@adacore.com>
6016
6017         * prj-attr.adb:
6018         Add new Linker attributes Max_Command_Line_Length, Response_File_Format
6019         and Response_File_Switches.
6020
6021         * prj-nmsc.adb (Process_Linker): Process new attributes
6022         Max_Command_Line_Length, Response_File_Format and
6023         Response_File_Switches.
6024
6025         * prj.ads (Response_File_Format): New enumeration type
6026         (Project_Configuration): New componants Max_Command_Line_Length,
6027         Resp_File_Format and Resp_File_Options.
6028
6029         * snames.ads-tmpl: Add new standard names for linking response files
6030         for gprbuild: GNU, None, Object_List, Option_List,
6031         Max_Command_Line_Length, Response_File_Format and
6032         Response_File_Switches.
6033
6034 2009-04-10  Geert Bosch  <bosch@adacore.com>
6035
6036         * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
6037         system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
6038         system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
6039         system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
6040         system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
6041         system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
6042         system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
6043         system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
6044         system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
6045         system-vxworks-arm.ads, system-vxworks-m68k.ads,
6046         system-vxworks-mips.ads, system-vxworks-ppc.ads,
6047         system-vxworks-sparcv9.ads, system-vxworks-x86.ads
6048         (Backend_Overflow_Checks): Set to True.
6049
6050 2009-04-10  Thomas Quinot  <quinot@adacore.com>
6051
6052         * exp_attr.adb: Minor reformatting
6053
6054 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
6055
6056         * sem_prag.adb (Check_Precondition_Postcondition): Within a generic,
6057         analyze the expression for a postcondition, even if the compiler mode
6058         is Generate_Code.
6059
6060 2009-04-10  Robert Dewar  <dewar@adacore.com>
6061
6062         * sem_aux.adb: Minor reformatting
6063
6064 2009-04-10  Ed Falis  <falis@adacore.com>
6065
6066         * init.c: Change VxWorks 6 stack overflow checking for kernel apps.
6067
6068         * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header.
6069
6070 2009-04-10  Thomas Quinot  <quinot@adacore.com>
6071
6072         * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for
6073         undocumented formal.
6074         Minor reformatting
6075
6076         * a-direio.ads: Fix typo in comment
6077
6078         * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb,
6079         errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb:
6080         Use uniform phrasing for comment at start of subprogram body.
6081
6082         * xsnamest.adb: Add note to explain why we use specific names for the
6083         newly generated files instead of generating snames.{ads,adb,h} directly
6084
6085 2009-04-10  Sergey Rybin  <rybin@adacore.com>
6086
6087         * vms_data.ads:
6088         Add qualifier for new gnatstub option '--no-exception'
6089
6090         * gnat_ugn.texi:
6091         Add the description of the new gnatstub option '--no-exception'
6092
6093 2009-04-10  Robert Dewar  <dewar@adacore.com>
6094
6095         * rtsfind.adb: Minor reformatting
6096
6097 2009-04-10  Thomas Quinot  <quinot@adacore.com>
6098
6099         * sem_disp.adb: Minor reformatting.
6100         Add comment pointing to RM clause for the case of warning against a
6101         (failed) attempt at declaring a primitive operation elsewhere than in a
6102         package spec.
6103
6104 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
6105
6106         * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is
6107         an actual for a previous formal package of the current instance.
6108
6109 2009-04-10  Bob Duff  <duff@adacore.com>
6110
6111         * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs
6112         them first, rather than on the extended main unit.
6113
6114 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
6115
6116         * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant
6117         specification of full view carries a null exclusion indicator, create
6118         an itype for it, to check for conformance with partial view.
6119
6120 2009-04-10  Bob Duff  <duff@adacore.com>
6121
6122         * rtsfind.ads: Minor code change: make RE_Unit_Table constant.
6123
6124         * rtsfind.adb: Minor comment changes, and remove useless code.
6125
6126         * sinfo.ads: Add ??? comment.
6127
6128 2009-04-10  Vincent Celier  <celier@adacore.com>
6129
6130         * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U
6131
6132 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
6133
6134         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged
6135         type is a synchronized type, retrieve tag information from the
6136         corresponding record, which has the dispatch table link.
6137
6138 2009-04-10  Jerome Lambourg  <lambourg@adacore.com>
6139
6140         * g-comlin.adb (Group_Analysis): Take care of switches that might be
6141         decomposed afterwards, but are present as-is in the command line
6142         configuration, and thus should be kept as-is.
6143
6144 2009-04-10  Robert Dewar  <dewar@adacore.com>
6145
6146         * gnat_rm.texi: Document that postconditions are tested on implicit
6147         returns.
6148
6149         * sem_aux.adb: Minor reformatting
6150
6151 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
6152
6153         * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when
6154         setting Etype.
6155         
6156         * par-ch3.adb (P_Access_Type_Definition): Set new attribute
6157         Null_Exclusion_In_Return_Present when an access-to-function type has a
6158         result type with an explicit not null.
6159
6160         * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is
6161         given on the result type, then create a null-excluding itype for the
6162         function.
6163
6164         * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in
6165         the case where a null exclusion is imposed on a named access type.
6166         (Analyze_Subprogram_Specification): Push and pop the scope of the
6167         function around the call to Analyze_Return_Type in the case of no
6168         formals, for consistency with handling when formals are present
6169         (Process_Formals does this). Ensures that any itype created for the
6170         return type will be associated with the proper scope.
6171
6172         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null
6173         exclusion is given on a generic function's result type, then create a
6174         null-excluding itype for the generic function.
6175         (Instantiate_Object): Set Null_Exclusion_Present of a constant created
6176         for an actual for a formal in object according to the setting on the
6177         formal. Ensures null exclusion checks are done when the association is
6178         elaborated.
6179
6180         * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on
6181         N_Access_Function_Definition.
6182
6183         * sinfo.adb: Add Get_ and Set_ operations for
6184         Null_Exclusion_In_Return_Present.
6185
6186 2009-04-10  Bob Duff  <duff@adacore.com>
6187
6188         * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a
6189         call to the _Postconditions procedure in the case of implicit returns
6190         from analysis to expansion. This eliminates some duplicated code. Use
6191         the Postcondition_Proc to find the identity of this procedure during
6192         expansion.
6193
6194 2009-04-10  Robert Dewar  <dewar@adacore.com>
6195
6196         * sem_ch6.adb: Minor code clean up.
6197
6198         * einfo.ads, sem_attr.adb: Minor comment fixes.
6199
6200 2009-04-10  Robert Dewar  <dewar@adacore.com>
6201
6202         * sem_ch8.adb: Minor reformatting
6203
6204 2009-04-10  Robert Dewar  <dewar@adacore.com>
6205
6206         * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for
6207         procedures.
6208
6209         * sem_ch6.adb: Minor code clean up.
6210
6211 2009-04-10  Robert Dewar  <dewar@adacore.com>
6212
6213         * mlib-tgt-specific-xi.adb: Minor reformatting
6214
6215 2009-04-10  Bob Duff  <duff@adacore.com>
6216
6217         * einfo.ads: Minor comment fixes
6218
6219 2009-04-10  Vincent Celier  <celier@adacore.com>
6220
6221         * snames.ads-tmpl: Remove names that are no longer used in the
6222         Project Manager.
6223         Mark specifically those that are used only in gprbuild
6224
6225 2009-04-10  Eric Botcazou  <ebotcazou@adacore.com>
6226
6227         * init.c: Adjust EH support code on Alpha/Tru64.
6228
6229 2009-04-10  Bob Duff  <duff@adacore.com>
6230
6231         * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions
6232         procedure on every path that could return implicitly (not via a return
6233         statement) from a procedure.
6234
6235 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
6236
6237         * exp_ch9.adb (Build_Master_Entity): An extended return statement is a
6238         valid scope for a task declarations and therefore for a master id.
6239
6240 2009-04-10  Robert Dewar  <dewar@adacore.com>
6241
6242         * sem_aux.adb: Minor reformatting
6243
6244 2009-04-10  Vincent Celier  <celier@adacore.com>
6245
6246         * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to
6247         True.
6248         (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False
6249         (Set_Obsolescent_Check): New procedure to change the value of
6250         Obsolescent_Check_Flag.
6251
6252         * scn.ads (Set_Obsolescent_Check): New procedure to control
6253         Obsolescent_Check.
6254
6255         * sinput-l.adb (Load_File): Do not check for pragma Restrictions on
6256         obsolescent features while preprocessing.
6257
6258 2009-04-10  Thomas Quinot  <quinot@adacore.com>
6259
6260         * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in
6261         generated files on all platforms.
6262
6263 2009-04-10  Robert Dewar  <dewar@adacore.com>
6264
6265         * sem_aux.adb: Minor reformatting
6266
6267 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
6268
6269         * sem_ch3.adb (Access_Definition): Handle properly the case of a
6270         protected function with formals that returns an anonymous access type.
6271
6272 2009-04-10  Thomas Quinot  <quinot@adacore.com>
6273
6274         * sem_disp.adb: Minor reformatting
6275
6276 2009-04-10  Vasiliy Fofanov  <fofanov@adacore.com>
6277
6278         * seh_init.c: Do not use the 32-bit specific implementation of
6279         __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific
6280         version TBD).
6281
6282 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
6283
6284         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain
6285         a '/' at the end so we better use the complete target name to determine
6286         whether it is a PowerPC 55xx target.
6287
6288 2009-04-10  Thomas Quinot  <quinot@adacore.com>
6289
6290         * sem_eval.adb: Minor reformatting
6291
6292 2009-04-10  Thomas Quinot  <quinot@adacore.com>
6293
6294         * snames.h, snames.ads, snames.adb: Remove files, now generated from
6295         templates.
6296
6297         * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the
6298         above.
6299
6300         * xsnamest.adb: New file.
6301
6302         * gcc-interface/Make-lang.in: New target for automated generation of
6303         snames.ads, snames.adb and snames.h
6304
6305 2009-04-10  Tristan Gingold  <gingold@adacore.com>
6306
6307         * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to
6308         avoid compile time warnings.
6309         Do not add gcc/config in include search list while compiling the RTS.
6310         Pragma Thread_Local_Storage is available on any target.
6311
6312 2009-04-10  Bob Duff  <duff@adacore.com>
6313
6314         * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes.
6315
6316 2009-04-10  Tristan Gingold  <gingold@adacore.com>
6317
6318         * init.c: Install signal handler on Darwin.
6319
6320 2009-04-10  Robert Dewar  <dewar@adacore.com>
6321
6322         * sem_prag.adb: Minor reformatting
6323
6324         * exp_util.adb (Make_Non_Empty_Check): New function
6325         (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check
6326         (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check
6327
6328 2009-04-10  Arnaud Charlet  <charlet@adacore.com>
6329
6330         * make.adb, gnatlink.adb: Rename JGNAT toolchain.
6331
6332 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
6333
6334         * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate
6335         tool prefix for AVR and PowerPC 55xx targets.
6336
6337 2009-04-10  Robert Dewar  <dewar@adacore.com>
6338
6339         * sem_warn.adb (Within_Postcondition): New function
6340         (Check_Unset_Reference): Use Within_Postcondition to stop bad warning
6341
6342 2009-04-10  Robert Dewar  <dewar@adacore.com>
6343
6344         * sem_warn.adb: Minor reformatting
6345
6346         * make.adb: Minor reformatting.
6347
6348 2009-04-10  Gary Dismukes  <dismukes@adacore.com>
6349
6350         * exp_ch7.adb (Find_Final_List): When creating a finalization-chain
6351         entity and the scope is a subprogram, retrieve the Sloc of the
6352         subprogram's body rather than using the sloc of the spec, for better
6353         line-stepping behavior in gdb.
6354         (Wrap_Transient_Declaration): For the Sloc of nodes created with a list
6355         controller, use the Sloc of the first declaration of the containing list
6356         rather than that of the node that triggered creation of the list
6357         controller.
6358
6359 2009-04-10  Vincent Celier  <celier@adacore.com>
6360
6361         * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing
6362         to avoid gcc warning.
6363
6364 2009-04-10  Robert Dewar  <dewar@adacore.com>
6365
6366         * g-comlin.adb: Add ??? comment
6367
6368 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
6369
6370         * sem_warn.adb (Check_Unused_Withs): Do not emit message about
6371         unreferenced entities for a package with no visible declarations.
6372
6373 2009-04-10  Robert Dewar  <dewar@adacore.com>
6374
6375         * exp_ch9.adb: Minor reformatting
6376
6377 2009-04-10  Thomas Quinot  <quinot@adacore.com>
6378
6379         * sem_prag.adb: Minor reformatting
6380
6381 2009-04-10  Vincent Celier  <celier@adacore.com>
6382
6383         * prj-nmsc.adb:
6384         (Check_Library_Attributes): For a project qualified as a library project
6385         that is not a library project, indicate in the error message which
6386         attributes are missing (Library_Dir and/or Library_Name).
6387
6388 2009-04-10  Bob Duff  <duff@adacore.com>
6389
6390         * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of
6391         generated nodes, because it might confuse various circuits in the FE.
6392
6393 2009-04-10  Ed Schonberg  <schonberg@adacore.com>
6394
6395         * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument
6396         of pragma. It will be recopied and analyzed when used in call to
6397         Create_Task.
6398
6399         * sem_res.adb (Resolve_Call): Clarify use of secondary stack within
6400         initialization operations and recognize use of it in procedure calls
6401         within init_procs.
6402
6403         * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name
6404         argument, because it may have side-effects.
6405
6406         * exp_ch2.adb: Remove obsolete comments on default functions
6407
6408 2009-04-10  Jose Ruiz  <ruiz@adacore.com>
6409
6410         * adaint.c (RTX section): Do for RTX the same thing as we do for
6411         Windows (include ctype.h and define a fallback ISALPHA if IN_RTS).
6412
6413 2009-04-10  Robert Dewar  <dewar@adacore.com>
6414
6415         * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function.
6416
6417         * sem_res.adb (Resolve_Call): Fix test for
6418         Suppress_Value_Tracking_On_Call (was wrong for the case of a call from
6419         a non-dynamic scope).
6420
6421 2009-04-10  Robert Dewar  <dewar@adacore.com>
6422
6423         * make.adb: Add comment.
6424         Minor reformatting
6425
6426 2009-04-10  Nicolas Setton  <setton@adacore.com>
6427
6428         * s-osprim-darwin.adb: New file.
6429
6430         * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec.
6431
6432 2009-04-10  Thomas Quinot  <quinot@adacore.com>
6433
6434         * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set
6435
6436 2009-04-09  Nick Clifton  <nickc@redhat.com>
6437
6438         * adadecode.h: Change copyright header to refer to version
6439         3 of the GNU General Public License with version 3.1 of the
6440         GCC Runtime Library Exception and to point readers at the
6441         COPYING3 and COPYING3.RUNTIME files and the FSF's license web
6442         page.
6443         * 9drpc.adb: Likewise.
6444         * a-assert.adb: Likewise.
6445         * a-astaco.adb: Likewise.
6446         * a-calari.adb: Likewise.
6447         * a-calcon.adb: Likewise.
6448         * a-calcon.ads: Likewise.
6449         * a-caldel.ads: Likewise.
6450         * a-calend-vms.adb: Likewise.
6451         * a-calend-vms.ads: Likewise.
6452         * a-calend.adb: Likewise.
6453         * a-calend.ads: Likewise.
6454         * a-calfor.adb: Likewise.
6455         * a-catizo.adb: Likewise.
6456         * a-cdlili.adb: Likewise.
6457         * a-cdlili.ads: Likewise.
6458         * a-cgaaso.adb: Likewise.
6459         * a-cgaaso.ads: Likewise.
6460         * a-cgarso.adb: Likewise.
6461         * a-cgcaso.adb: Likewise.
6462         * a-chacon.adb: Likewise.
6463         * a-chacon.ads: Likewise.
6464         * a-chahan.adb: Likewise.
6465         * a-chahan.ads: Likewise.
6466         * a-chlat9.ads: Likewise.
6467         * a-chtgke.adb: Likewise.
6468         * a-chtgke.ads: Likewise.
6469         * a-chtgop.adb: Likewise.
6470         * a-chtgop.ads: Likewise.
6471         * a-chzla1.ads: Likewise.
6472         * a-chzla9.ads: Likewise.
6473         * a-cidlli.adb: Likewise.
6474         * a-cidlli.ads: Likewise.
6475         * a-cihama.adb: Likewise.
6476         * a-cihama.ads: Likewise.
6477         * a-cihase.adb: Likewise.
6478         * a-cihase.ads: Likewise.
6479         * a-ciorma.adb: Likewise.
6480         * a-ciorma.ads: Likewise.
6481         * a-ciormu.adb: Likewise.
6482         * a-ciormu.ads: Likewise.
6483         * a-ciorse.adb: Likewise.
6484         * a-ciorse.ads: Likewise.
6485         * a-clrefi.adb: Likewise.
6486         * a-clrefi.ads: Likewise.
6487         * a-cohama.adb: Likewise.
6488         * a-cohama.ads: Likewise.
6489         * a-cohase.adb: Likewise.
6490         * a-cohase.ads: Likewise.
6491         * a-cohata.ads: Likewise.
6492         * a-coinve.adb: Likewise.
6493         * a-coinve.ads: Likewise.
6494         * a-colien.adb: Likewise.
6495         * a-colien.ads: Likewise.
6496         * a-colire.adb: Likewise.
6497         * a-colire.ads: Likewise.
6498         * a-comlin.adb: Likewise.
6499         * a-comlin.ads: Likewise.
6500         * a-convec.adb: Likewise.
6501         * a-convec.ads: Likewise.
6502         * a-coorma.adb: Likewise.
6503         * a-coorma.ads: Likewise.
6504         * a-coormu.adb: Likewise.
6505         * a-coormu.ads: Likewise.
6506         * a-coorse.adb: Likewise.
6507         * a-coorse.ads: Likewise.
6508         * a-coprnu.adb: Likewise.
6509         * a-coprnu.ads: Likewise.
6510         * a-crbltr.ads: Likewise.
6511         * a-crbtgk.adb: Likewise.
6512         * a-crbtgk.ads: Likewise.
6513         * a-crbtgo.adb: Likewise.
6514         * a-crbtgo.ads: Likewise.
6515         * a-crdlli.adb: Likewise.
6516         * a-crdlli.ads: Likewise.
6517         * a-cwila1.ads: Likewise.
6518         * a-cwila9.ads: Likewise.
6519         * a-decima.adb: Likewise.
6520         * a-decima.ads: Likewise.
6521         * a-diocst.adb: Likewise.
6522         * a-diocst.ads: Likewise.
6523         * a-direct.adb: Likewise.
6524         * a-direct.ads: Likewise.
6525         * a-direio.adb: Likewise.
6526         * a-direio.ads: Likewise.
6527         * a-dirval-mingw.adb: Likewise.
6528         * a-dirval-vms.adb: Likewise.
6529         * a-dirval.adb: Likewise.
6530         * a-dirval.ads: Likewise.
6531         * a-dynpri.adb: Likewise.
6532         * a-einuoc.adb: Likewise.
6533         * a-einuoc.ads: Likewise.
6534         * a-elchha.adb: Likewise.
6535         * a-elchha.ads: Likewise.
6536         * a-envvar.adb: Likewise.
6537         * a-excach.adb: Likewise.
6538         * a-except-2005.adb: Likewise.
6539         * a-except-2005.ads: Likewise.
6540         * a-except.adb: Likewise.
6541         * a-except.ads: Likewise.
6542         * a-excpol-abort.adb: Likewise.
6543         * a-excpol.adb: Likewise.
6544         * a-exctra.adb: Likewise.
6545         * a-exctra.ads: Likewise.
6546         * a-exetim-mingw.adb: Likewise.
6547         * a-exetim-mingw.ads: Likewise.
6548         * a-exexda.adb: Likewise.
6549         * a-exexpr-gcc.adb: Likewise.
6550         * a-exexpr.adb: Likewise.
6551         * a-exextr.adb: Likewise.
6552         * a-exstat.adb: Likewise.
6553         * a-filico.adb: Likewise.
6554         * a-filico.ads: Likewise.
6555         * a-finali.adb: Likewise.
6556         * a-finali.ads: Likewise.
6557         * a-interr.ads: Likewise.
6558         * a-intnam-aix.ads: Likewise.
6559         * a-intnam-darwin.ads: Likewise.
6560         * a-intnam-dummy.ads: Likewise.
6561         * a-intnam-freebsd.ads: Likewise.
6562         * a-intnam-hpux.ads: Likewise.
6563         * a-intnam-irix.ads: Likewise.
6564         * a-intnam-linux.ads: Likewise.
6565         * a-intnam-lynxos.ads: Likewise.
6566         * a-intnam-mingw.ads: Likewise.
6567         * a-intnam-rtems.ads: Likewise.
6568         * a-intnam-solaris.ads: Likewise.
6569         * a-intnam-tru64.ads: Likewise.
6570         * a-intnam-vms.ads: Likewise.
6571         * a-intnam-vxworks.ads: Likewise.
6572         * a-intsig.adb: Likewise.
6573         * a-intsig.ads: Likewise.
6574         * a-ngcefu.adb: Likewise.
6575         * a-ngcoar.adb: Likewise.
6576         * a-ngcoty.adb: Likewise.
6577         * a-ngcoty.ads: Likewise.
6578         * a-ngelfu.adb: Likewise.
6579         * a-ngrear.adb: Likewise.
6580         * a-ngrear.ads: Likewise.
6581         * a-nudira.adb: Likewise.
6582         * a-nudira.ads: Likewise.
6583         * a-nuflra.adb: Likewise.
6584         * a-nuflra.ads: Likewise.
6585         * a-numaux-darwin.adb: Likewise.
6586         * a-numaux-darwin.ads: Likewise.
6587         * a-numaux-libc-x86.ads: Likewise.
6588         * a-numaux-vxworks.ads: Likewise.
6589         * a-numaux-x86.adb: Likewise.
6590         * a-numaux-x86.ads: Likewise.
6591         * a-numaux.ads: Likewise.
6592         * a-rbtgso.adb: Likewise.
6593         * a-rbtgso.ads: Likewise.
6594         * a-reatim.ads: Likewise.
6595         * a-retide.adb: Likewise.
6596         * a-retide.ads: Likewise.
6597         * a-rttiev.adb: Likewise.
6598         * a-rttiev.ads: Likewise.
6599         * a-secain.adb: Likewise.
6600         * a-secain.ads: Likewise.
6601         * a-sequio.adb: Likewise.
6602         * a-sequio.ads: Likewise.
6603         * a-shcain.adb: Likewise.
6604         * a-shcain.ads: Likewise.
6605         * a-siocst.adb: Likewise.
6606         * a-siocst.ads: Likewise.
6607         * a-slcain.adb: Likewise.
6608         * a-slcain.ads: Likewise.
6609         * a-ssicst.adb: Likewise.
6610         * a-ssicst.ads: Likewise.
6611         * a-stboha.adb: Likewise.
6612         * a-stmaco.ads: Likewise.
6613         * a-storio.adb: Likewise.
6614         * a-strbou.adb: Likewise.
6615         * a-strbou.ads: Likewise.
6616         * a-stream.ads: Likewise.
6617         * a-strfix.adb: Likewise.
6618         * a-strhas.adb: Likewise.
6619         * a-strmap.adb: Likewise.
6620         * a-strmap.ads: Likewise.
6621         * a-strsea.adb: Likewise.
6622         * a-strsea.ads: Likewise.
6623         * a-strsup.adb: Likewise.
6624         * a-strsup.ads: Likewise.
6625         * a-strunb.adb: Likewise.
6626         * a-strunb.ads: Likewise.
6627         * a-ststio.adb: Likewise.
6628         * a-ststio.ads: Likewise.
6629         * a-stunau.adb: Likewise.
6630         * a-stunau.ads: Likewise.
6631         * a-stunha.adb: Likewise.
6632         * a-stwibo.adb: Likewise.
6633         * a-stwibo.ads: Likewise.
6634         * a-stwifi.adb: Likewise.
6635         * a-stwiha.adb: Likewise.
6636         * a-stwima.adb: Likewise.
6637         * a-stwima.ads: Likewise.
6638         * a-stwise.adb: Likewise.
6639         * a-stwise.ads: Likewise.
6640         * a-stwisu.adb: Likewise.
6641         * a-stwisu.ads: Likewise.
6642         * a-stwiun.adb: Likewise.
6643         * a-stwiun.ads: Likewise.
6644         * a-stzbou.adb: Likewise.
6645         * a-stzbou.ads: Likewise.
6646         * a-stzfix.adb: Likewise.
6647         * a-stzhas.adb: Likewise.
6648         * a-stzmap.adb: Likewise.
6649         * a-stzmap.ads: Likewise.
6650         * a-stzsea.adb: Likewise.
6651         * a-stzsea.ads: Likewise.
6652         * a-stzsup.adb: Likewise.
6653         * a-stzsup.ads: Likewise.
6654         * a-stzunb.adb: Likewise.
6655         * a-stzunb.ads: Likewise.
6656         * a-suteio.adb: Likewise.
6657         * a-suteio.ads: Likewise.
6658         * a-swbwha.adb: Likewise.
6659         * a-swmwco.ads: Likewise.
6660         * a-swunau.adb: Likewise.
6661         * a-swunau.ads: Likewise.
6662         * a-swuwha.adb: Likewise.
6663         * a-swuwti.adb: Likewise.
6664         * a-swuwti.ads: Likewise.
6665         * a-sytaco.adb: Likewise.
6666         * a-sytaco.ads: Likewise.
6667         * a-szbzha.adb: Likewise.
6668         * a-szmzco.ads: Likewise.
6669         * a-szunau.adb: Likewise.
6670         * a-szunau.ads: Likewise.
6671         * a-szuzha.adb: Likewise.
6672         * a-szuzti.adb: Likewise.
6673         * a-szuzti.ads: Likewise.
6674         * a-tags.adb: Likewise.
6675         * a-tags.ads: Likewise.
6676         * a-tasatt.ads: Likewise.
6677         * a-taside.adb: Likewise.
6678         * a-taside.ads: Likewise.
6679         * a-taster.adb: Likewise.
6680         * a-teioed.adb: Likewise.
6681         * a-teioed.ads: Likewise.
6682         * a-textio.adb: Likewise.
6683         * a-textio.ads: Likewise.
6684         * a-tiboio.adb: Likewise.
6685         * a-ticoau.adb: Likewise.
6686         * a-ticoau.ads: Likewise.
6687         * a-ticoio.adb: Likewise.
6688         * a-ticoio.ads: Likewise.
6689         * a-tideau.adb: Likewise.
6690         * a-tideau.ads: Likewise.
6691         * a-tideio.adb: Likewise.
6692         * a-tideio.ads: Likewise.
6693         * a-tienau.adb: Likewise.
6694         * a-tienau.ads: Likewise.
6695         * a-tienio.adb: Likewise.
6696         * a-tienio.ads: Likewise.
6697         * a-tifiio.adb: Likewise.
6698         * a-tifiio.ads: Likewise.
6699         * a-tiflau.adb: Likewise.
6700         * a-tiflau.ads: Likewise.
6701         * a-tiflio.adb: Likewise.
6702         * a-tiflio.ads: Likewise.
6703         * a-tigeau.adb: Likewise.
6704         * a-tigeau.ads: Likewise.
6705         * a-tiinau.adb: Likewise.
6706         * a-tiinau.ads: Likewise.
6707         * a-tiinio.adb: Likewise.
6708         * a-tiinio.ads: Likewise.
6709         * a-timoau.adb: Likewise.
6710         * a-timoau.ads: Likewise.
6711         * a-timoio.adb: Likewise.
6712         * a-timoio.ads: Likewise.
6713         * a-tiocst.adb: Likewise.
6714         * a-tiocst.ads: Likewise.
6715         * a-titest.adb: Likewise.
6716         * a-wichun.adb: Likewise.
6717         * a-wichun.ads: Likewise.
6718         * a-witeio.adb: Likewise.
6719         * a-witeio.ads: Likewise.
6720         * a-wtcoau.adb: Likewise.
6721         * a-wtcoau.ads: Likewise.
6722         * a-wtcoio.adb: Likewise.
6723         * a-wtcstr.adb: Likewise.
6724         * a-wtcstr.ads: Likewise.
6725         * a-wtdeau.adb: Likewise.
6726         * a-wtdeau.ads: Likewise.
6727         * a-wtdeio.adb: Likewise.
6728         * a-wtdeio.ads: Likewise.
6729         * a-wtedit.adb: Likewise.
6730         * a-wtedit.ads: Likewise.
6731         * a-wtenau.adb: Likewise.
6732         * a-wtenau.ads: Likewise.
6733         * a-wtenio.adb: Likewise.
6734         * a-wtenio.ads: Likewise.
6735         * a-wtfiio.adb: Likewise.
6736         * a-wtfiio.ads: Likewise.
6737         * a-wtflau.adb: Likewise.
6738         * a-wtflau.ads: Likewise.
6739         * a-wtflio.adb: Likewise.
6740         * a-wtflio.ads: Likewise.
6741         * a-wtgeau.adb: Likewise.
6742         * a-wtgeau.ads: Likewise.
6743         * a-wtinau.adb: Likewise.
6744         * a-wtinau.ads: Likewise.
6745         * a-wtinio.adb: Likewise.
6746         * a-wtmoau.adb: Likewise.
6747         * a-wtmoau.ads: Likewise.
6748         * a-wtmoio.adb: Likewise.
6749         * a-wtmoio.ads: Likewise.
6750         * a-wttest.adb: Likewise.
6751         * a-wwboio.adb: Likewise.
6752         * a-zchuni.adb: Likewise.
6753         * a-zchuni.ads: Likewise.
6754         * a-ztcoau.adb: Likewise.
6755         * a-ztcoau.ads: Likewise.
6756         * a-ztcoio.adb: Likewise.
6757         * a-ztcstr.adb: Likewise.
6758         * a-ztcstr.ads: Likewise.
6759         * a-ztdeau.adb: Likewise.
6760         * a-ztdeau.ads: Likewise.
6761         * a-ztdeio.adb: Likewise.
6762         * a-ztdeio.ads: Likewise.
6763         * a-ztedit.adb: Likewise.
6764         * a-ztedit.ads: Likewise.
6765         * a-ztenau.adb: Likewise.
6766         * a-ztenau.ads: Likewise.
6767         * a-ztenio.adb: Likewise.
6768         * a-ztenio.ads: Likewise.
6769         * a-ztexio.adb: Likewise.
6770         * a-ztexio.ads: Likewise.
6771         * a-ztfiio.adb: Likewise.
6772         * a-ztfiio.ads: Likewise.
6773         * a-ztflau.adb: Likewise.
6774         * a-ztflau.ads: Likewise.
6775         * a-ztflio.adb: Likewise.
6776         * a-ztflio.ads: Likewise.
6777         * a-ztgeau.adb: Likewise.
6778         * a-ztgeau.ads: Likewise.
6779         * a-ztinau.adb: Likewise.
6780         * a-ztinau.ads: Likewise.
6781         * a-ztinio.adb: Likewise.
6782         * a-ztmoau.adb: Likewise.
6783         * a-ztmoau.ads: Likewise.
6784         * a-ztmoio.adb: Likewise.
6785         * a-ztmoio.ads: Likewise.
6786         * a-zttest.adb: Likewise.
6787         * a-zzboio.adb: Likewise.
6788         * adadecode.c: Likewise.
6789         * adaint.c: Likewise.
6790         * adaint.h: Likewise.
6791         * alloc.ads: Likewise.
6792         * argv.c: Likewise.
6793         * arit64.c: Likewise.
6794         * atree.adb: Likewise.
6795         * atree.ads: Likewise.
6796         * aux-io.c: Likewise.
6797         * cal.c: Likewise.
6798         * casing.adb: Likewise.
6799         * casing.ads: Likewise.
6800         * cio.c: Likewise.
6801         * csets.adb: Likewise.
6802         * csets.ads: Likewise.
6803         * cstreams.c: Likewise.
6804         * ctrl_c.c: Likewise.
6805         * debug.adb: Likewise.
6806         * debug.ads: Likewise.
6807         * dec.ads: Likewise.
6808         * einfo.adb: Likewise.
6809         * einfo.ads: Likewise.
6810         * elists.adb: Likewise.
6811         * elists.ads: Likewise.
6812         * env.c: Likewise.
6813         * env.h: Likewise.
6814         * errno.c: Likewise.
6815         * exit.c: Likewise.
6816         * fe.h: Likewise.
6817         * final.c: Likewise.
6818         * fname.adb: Likewise.
6819         * fname.ads: Likewise.
6820         * g-allein.ads: Likewise.
6821         * g-alleve.adb: Likewise.
6822         * g-alleve.ads: Likewise.
6823         * g-altcon.adb: Likewise.
6824         * g-altcon.ads: Likewise.
6825         * g-altive.ads: Likewise.
6826         * g-alveop.adb: Likewise.
6827         * g-alveop.ads: Likewise.
6828         * g-alvety.ads: Likewise.
6829         * g-alvevi.ads: Likewise.
6830         * g-arrspl.adb: Likewise.
6831         * g-arrspl.ads: Likewise.
6832         * g-calend.ads: Likewise.
6833         * g-comlin.adb: Likewise.
6834         * g-debpoo.adb: Likewise.
6835         * g-debpoo.ads: Likewise.
6836         * g-eacodu-vms.adb: Likewise.
6837         * g-eacodu.adb: Likewise.
6838         * g-excact.adb: Likewise.
6839         * g-excact.ads: Likewise.
6840         * g-locfil.adb: Likewise.
6841         * g-os_lib.ads: Likewise.
6842         * g-rannum.adb: Likewise.
6843         * g-rannum.ads: Likewise.
6844         * g-regist.adb: Likewise.
6845         * g-regist.ads: Likewise.
6846         * g-signal.adb: Likewise.
6847         * g-signal.ads: Likewise.
6848         * g-soccon.ads: Likewise.
6849         * g-string.adb: Likewise.
6850         * g-string.ads: Likewise.
6851         * g-strspl.ads: Likewise.
6852         * g-timsta.adb: Likewise.
6853         * g-timsta.ads: Likewise.
6854         * g-trasym-vms-alpha.adb: Likewise.
6855         * g-trasym-vms-ia64.adb: Likewise.
6856         * g-utf_32.adb: Likewise.
6857         * g-utf_32.ads: Likewise.
6858         * g-wistsp.ads: Likewise.
6859         * g-zstspl.ads: Likewise.
6860         * gmem.c: Likewise.
6861         * gnatvsn.adb: Likewise.
6862         * gnatvsn.ads: Likewise.
6863         * gsocket.h: Likewise.
6864         * hostparm.ads: Likewise.
6865         * i-c.adb: Likewise.
6866         * i-cexten.ads: Likewise.
6867         * i-cobol.adb: Likewise.
6868         * i-cobol.ads: Likewise.
6869         * i-cpoint.adb: Likewise.
6870         * i-cpoint.ads: Likewise.
6871         * i-cpp.adb: Likewise.
6872         * i-cpp.ads: Likewise.
6873         * i-cstrea-vms.adb: Likewise.
6874         * i-cstrea.adb: Likewise.
6875         * i-cstrea.ads: Likewise.
6876         * i-cstrin.adb: Likewise.
6877         * i-cstrin.ads: Likewise.
6878         * i-forbla-darwin.adb: Likewise.
6879         * i-forbla-unimplemented.ads: Likewise.
6880         * i-forbla.adb: Likewise.
6881         * i-forbla.ads: Likewise.
6882         * i-forlap.ads: Likewise.
6883         * i-fortra.adb: Likewise.
6884         * i-pacdec.adb: Likewise.
6885         * i-pacdec.ads: Likewise.
6886         * i-vxwoio.adb: Likewise.
6887         * i-vxwoio.ads: Likewise.
6888         * indepsw-aix.adb: Likewise.
6889         * indepsw-gnu.adb: Likewise.
6890         * indepsw-mingw.adb: Likewise.
6891         * indepsw.adb: Likewise.
6892         * indepsw.ads: Likewise.
6893         * init.c: Likewise.
6894         * initialize.c: Likewise.
6895         * interfac.ads: Likewise.
6896         * krunch.adb: Likewise.
6897         * krunch.ads: Likewise.
6898         * lib-list.adb: Likewise.
6899         * lib-sort.adb: Likewise.
6900         * lib.adb: Likewise.
6901         * lib.ads: Likewise.
6902         * link.c: Likewise.
6903         * math_lib.adb: Likewise.
6904         * memtrack.adb: Likewise.
6905         * mingw32.h: Likewise.
6906         * mkdir.c: Likewise.
6907         * namet-sp.adb: Likewise.
6908         * namet-sp.ads: Likewise.
6909         * namet.adb: Likewise.
6910         * namet.ads: Likewise.
6911         * nlists.adb: Likewise.
6912         * nlists.ads: Likewise.
6913         * opt.adb: Likewise.
6914         * opt.ads: Likewise.
6915         * output.adb: Likewise.
6916         * output.ads: Likewise.
6917         * raise-gcc.c: Likewise.
6918         * raise.c: Likewise.
6919         * raise.h: Likewise.
6920         * repinfo.adb: Likewise.
6921         * repinfo.ads: Likewise.
6922         * repinfo.h: Likewise.
6923         * rident.ads: Likewise.
6924         * s-addima.adb: Likewise.
6925         * s-addima.ads: Likewise.
6926         * s-addope.adb: Likewise.
6927         * s-addope.ads: Likewise.
6928         * s-arit64.adb: Likewise.
6929         * s-arit64.ads: Likewise.
6930         * s-assert.adb: Likewise.
6931         * s-assert.ads: Likewise.
6932         * s-asthan-vms-alpha.adb: Likewise.
6933         * s-asthan.adb: Likewise.
6934         * s-asthan.ads: Likewise.
6935         * s-atacco.adb: Likewise.
6936         * s-atacco.ads: Likewise.
6937         * s-auxdec-empty.adb: Likewise.
6938         * s-auxdec-empty.ads: Likewise.
6939         * s-auxdec-vms_64.ads: Likewise.
6940         * s-auxdec.adb: Likewise.
6941         * s-auxdec.ads: Likewise.
6942         * s-bitops.adb: Likewise.
6943         * s-bitops.ads: Likewise.
6944         * s-boarop.ads: Likewise.
6945         * s-carsi8.adb: Likewise.
6946         * s-carsi8.ads: Likewise.
6947         * s-carun8.adb: Likewise.
6948         * s-carun8.ads: Likewise.
6949         * s-casi16.adb: Likewise.
6950         * s-casi16.ads: Likewise.
6951         * s-casi32.adb: Likewise.
6952         * s-casi32.ads: Likewise.
6953         * s-casi64.adb: Likewise.
6954         * s-casi64.ads: Likewise.
6955         * s-casuti.ads: Likewise.
6956         * s-caun16.adb: Likewise.
6957         * s-caun16.ads: Likewise.
6958         * s-caun32.adb: Likewise.
6959         * s-caun32.ads: Likewise.
6960         * s-caun64.adb: Likewise.
6961         * s-caun64.ads: Likewise.
6962         * s-chepoo.ads: Likewise.
6963         * s-crc32.adb: Likewise.
6964         * s-crc32.ads: Likewise.
6965         * s-crtl.ads: Likewise.
6966         * s-direio.adb: Likewise.
6967         * s-direio.ads: Likewise.
6968         * s-dsaser.ads: Likewise.
6969         * s-except.adb: Likewise.
6970         * s-except.ads: Likewise.
6971         * s-exctab.adb: Likewise.
6972         * s-exctab.ads: Likewise.
6973         * s-exnint.adb: Likewise.
6974         * s-exnint.ads: Likewise.
6975         * s-exnllf.adb: Likewise.
6976         * s-exnllf.ads: Likewise.
6977         * s-exnlli.adb: Likewise.
6978         * s-exnlli.ads: Likewise.
6979         * s-expint.adb: Likewise.
6980         * s-expint.ads: Likewise.
6981         * s-explli.adb: Likewise.
6982         * s-explli.ads: Likewise.
6983         * s-expllu.adb: Likewise.
6984         * s-expllu.ads: Likewise.
6985         * s-expmod.adb: Likewise.
6986         * s-expmod.ads: Likewise.
6987         * s-expuns.adb: Likewise.
6988         * s-expuns.ads: Likewise.
6989         * s-fatflt.ads: Likewise.
6990         * s-fatgen.adb: Likewise.
6991         * s-fatgen.ads: Likewise.
6992         * s-fatlfl.ads: Likewise.
6993         * s-fatllf.ads: Likewise.
6994         * s-fatsfl.ads: Likewise.
6995         * s-ficobl.ads: Likewise.
6996         * s-fileio.adb: Likewise.
6997         * s-fileio.ads: Likewise.
6998         * s-filofl.ads: Likewise.
6999         * s-finimp.adb: Likewise.
7000         * s-finimp.ads: Likewise.
7001         * s-finroo.adb: Likewise.
7002         * s-finroo.ads: Likewise.
7003         * s-fishfl.ads: Likewise.
7004         * s-fore.adb: Likewise.
7005         * s-fore.ads: Likewise.
7006         * s-fvadfl.ads: Likewise.
7007         * s-fvaffl.ads: Likewise.
7008         * s-fvagfl.ads: Likewise.
7009         * s-gearop.adb: Likewise.
7010         * s-gearop.ads: Likewise.
7011         * s-gecobl.adb: Likewise.
7012         * s-gecobl.ads: Likewise.
7013         * s-gecola.adb: Likewise.
7014         * s-gecola.ads: Likewise.
7015         * s-gerebl.adb: Likewise.
7016         * s-gerebl.ads: Likewise.
7017         * s-gerela.adb: Likewise.
7018         * s-gerela.ads: Likewise.
7019         * s-geveop.adb: Likewise.
7020         * s-geveop.ads: Likewise.
7021         * s-gloloc.adb: Likewise.
7022         * s-gloloc.ads: Likewise.
7023         * s-hibaen.ads: Likewise.
7024         * s-imenne.adb: Likewise.
7025         * s-imenne.ads: Likewise.
7026         * s-imgbiu.adb: Likewise.
7027         * s-imgbiu.ads: Likewise.
7028         * s-imgboo.adb: Likewise.
7029         * s-imgboo.ads: Likewise.
7030         * s-imgcha.adb: Likewise.
7031         * s-imgcha.ads: Likewise.
7032         * s-imgdec.adb: Likewise.
7033         * s-imgdec.ads: Likewise.
7034         * s-imgenu.adb: Likewise.
7035         * s-imgenu.ads: Likewise.
7036         * s-imgint.adb: Likewise.
7037         * s-imgint.ads: Likewise.
7038         * s-imgllb.adb: Likewise.
7039         * s-imgllb.ads: Likewise.
7040         * s-imglld.adb: Likewise.
7041         * s-imglld.ads: Likewise.
7042         * s-imglli.adb: Likewise.
7043         * s-imglli.ads: Likewise.
7044         * s-imgllu.adb: Likewise.
7045         * s-imgllu.ads: Likewise.
7046         * s-imgllw.adb: Likewise.
7047         * s-imgllw.ads: Likewise.
7048         * s-imgrea.adb: Likewise.
7049         * s-imgrea.ads: Likewise.
7050         * s-imguns.adb: Likewise.
7051         * s-imguns.ads: Likewise.
7052         * s-imgwch.adb: Likewise.
7053         * s-imgwch.ads: Likewise.
7054         * s-imgwiu.adb: Likewise.
7055         * s-imgwiu.ads: Likewise.
7056         * s-inmaop-dummy.adb: Likewise.
7057         * s-inmaop-vms.adb: Likewise.
7058         * s-inmaop.ads: Likewise.
7059         * s-interr-hwint.adb: Likewise.
7060         * s-interr-sigaction.adb: Likewise.
7061         * s-interr-vms.adb: Likewise.
7062         * s-interr.adb: Likewise.
7063         * s-interr.ads: Likewise.
7064         * s-intman-dummy.adb: Likewise.
7065         * s-intman-mingw.adb: Likewise.
7066         * s-intman-posix.adb: Likewise.
7067         * s-intman-solaris.adb: Likewise.
7068         * s-intman-vms.adb: Likewise.
7069         * s-intman-vms.ads: Likewise.
7070         * s-intman-vxworks.adb: Likewise.
7071         * s-intman-vxworks.ads: Likewise.
7072         * s-intman.ads: Likewise.
7073         * s-io.adb: Likewise.
7074         * s-io.ads: Likewise.
7075         * s-linux-alpha.ads: Likewise.
7076         * s-linux-hppa.ads: Likewise.
7077         * s-linux.ads: Likewise.
7078         * s-maccod.ads: Likewise.
7079         * s-mantis.adb: Likewise.
7080         * s-mantis.ads: Likewise.
7081         * s-mastop-irix.adb: Likewise.
7082         * s-mastop.adb: Likewise.
7083         * s-mastop.ads: Likewise.
7084         * s-memcop.ads: Likewise.
7085         * s-memory-mingw.adb: Likewise.
7086         * s-memory.adb: Likewise.
7087         * s-memory.ads: Likewise.
7088         * s-os_lib.ads: Likewise.
7089         * s-oscons-tmplt.c: Likewise.
7090         * s-osinte-aix.adb: Likewise.
7091         * s-osinte-darwin.adb: Likewise.
7092         * s-osinte-freebsd.adb: Likewise.
7093         * s-osinte-irix.adb: Likewise.
7094         * s-osinte-lynxos-3.adb: Likewise.
7095         * s-osinte-rtems.ads: Likewise.
7096         * s-osinte-tru64.adb: Likewise.
7097         * s-osinte-vxworks-kernel.adb: Likewise.
7098         * s-osinte-vxworks.adb: Likewise.
7099         * s-osprim-mingw.adb: Likewise.
7100         * s-osprim-posix.adb: Likewise.
7101         * s-osprim-solaris.adb: Likewise.
7102         * s-osprim-unix.adb: Likewise.
7103         * s-osprim-vms.adb: Likewise.
7104         * s-osprim-vms.ads: Likewise.
7105         * s-osprim-vxworks.adb: Likewise.
7106         * s-osprim.ads: Likewise.
7107         * s-pack03.adb: Likewise.
7108         * s-pack03.ads: Likewise.
7109         * s-pack05.adb: Likewise.
7110         * s-pack05.ads: Likewise.
7111         * s-pack06.adb: Likewise.
7112         * s-pack06.ads: Likewise.
7113         * s-pack07.adb: Likewise.
7114         * s-pack07.ads: Likewise.
7115         * s-pack09.adb: Likewise.
7116         * s-pack09.ads: Likewise.
7117         * s-pack10.adb: Likewise.
7118         * s-pack10.ads: Likewise.
7119         * s-pack11.adb: Likewise.
7120         * s-pack11.ads: Likewise.
7121         * s-pack12.adb: Likewise.
7122         * s-pack12.ads: Likewise.
7123         * s-pack13.adb: Likewise.
7124         * s-pack13.ads: Likewise.
7125         * s-pack14.adb: Likewise.
7126         * s-pack14.ads: Likewise.
7127         * s-pack15.adb: Likewise.
7128         * s-pack15.ads: Likewise.
7129         * s-pack17.adb: Likewise.
7130         * s-pack17.ads: Likewise.
7131         * s-pack18.adb: Likewise.
7132         * s-pack18.ads: Likewise.
7133         * s-pack19.adb: Likewise.
7134         * s-pack19.ads: Likewise.
7135         * s-pack20.adb: Likewise.
7136         * s-pack20.ads: Likewise.
7137         * s-pack21.adb: Likewise.
7138         * s-pack21.ads: Likewise.
7139         * s-pack22.adb: Likewise.
7140         * s-pack22.ads: Likewise.
7141         * s-pack23.adb: Likewise.
7142         * s-pack23.ads: Likewise.
7143         * s-pack24.adb: Likewise.
7144         * s-pack24.ads: Likewise.
7145         * s-pack25.adb: Likewise.
7146         * s-pack25.ads: Likewise.
7147         * s-pack26.adb: Likewise.
7148         * s-pack26.ads: Likewise.
7149         * s-pack27.adb: Likewise.
7150         * s-pack27.ads: Likewise.
7151         * s-pack28.adb: Likewise.
7152         * s-pack28.ads: Likewise.
7153         * s-pack29.adb: Likewise.
7154         * s-pack29.ads: Likewise.
7155         * s-pack30.adb: Likewise.
7156         * s-pack30.ads: Likewise.
7157         * s-pack31.adb: Likewise.
7158         * s-pack31.ads: Likewise.
7159         * s-pack33.adb: Likewise.
7160         * s-pack33.ads: Likewise.
7161         * s-pack34.adb: Likewise.
7162         * s-pack34.ads: Likewise.
7163         * s-pack35.adb: Likewise.
7164         * s-pack35.ads: Likewise.
7165         * s-pack36.adb: Likewise.
7166         * s-pack36.ads: Likewise.
7167         * s-pack37.adb: Likewise.
7168         * s-pack37.ads: Likewise.
7169         * s-pack38.adb: Likewise.
7170         * s-pack38.ads: Likewise.
7171         * s-pack39.adb: Likewise.
7172         * s-pack39.ads: Likewise.
7173         * s-pack40.adb: Likewise.
7174         * s-pack40.ads: Likewise.
7175         * s-pack41.adb: Likewise.
7176         * s-pack41.ads: Likewise.
7177         * s-pack42.adb: Likewise.
7178         * s-pack42.ads: Likewise.
7179         * s-pack43.adb: Likewise.
7180         * s-pack43.ads: Likewise.
7181         * s-pack44.adb: Likewise.
7182         * s-pack44.ads: Likewise.
7183         * s-pack45.adb: Likewise.
7184         * s-pack45.ads: Likewise.
7185         * s-pack46.adb: Likewise.
7186         * s-pack46.ads: Likewise.
7187         * s-pack47.adb: Likewise.
7188         * s-pack47.ads: Likewise.
7189         * s-pack48.adb: Likewise.
7190         * s-pack48.ads: Likewise.
7191         * s-pack49.adb: Likewise.
7192         * s-pack49.ads: Likewise.
7193         * s-pack50.adb: Likewise.
7194         * s-pack50.ads: Likewise.
7195         * s-pack51.adb: Likewise.
7196         * s-pack51.ads: Likewise.
7197         * s-pack52.adb: Likewise.
7198         * s-pack52.ads: Likewise.
7199         * s-pack53.adb: Likewise.
7200         * s-pack53.ads: Likewise.
7201         * s-pack54.adb: Likewise.
7202         * s-pack54.ads: Likewise.
7203         * s-pack55.adb: Likewise.
7204         * s-pack55.ads: Likewise.
7205         * s-pack56.adb: Likewise.
7206         * s-pack56.ads: Likewise.
7207         * s-pack57.adb: Likewise.
7208         * s-pack57.ads: Likewise.
7209         * s-pack58.adb: Likewise.
7210         * s-pack58.ads: Likewise.
7211         * s-pack59.adb: Likewise.
7212         * s-pack59.ads: Likewise.
7213         * s-pack60.adb: Likewise.
7214         * s-pack60.ads: Likewise.
7215         * s-pack61.adb: Likewise.
7216         * s-pack61.ads: Likewise.
7217         * s-pack62.adb: Likewise.
7218         * s-pack62.ads: Likewise.
7219         * s-pack63.adb: Likewise.
7220         * s-pack63.ads: Likewise.
7221         * s-parame-ae653.ads: Likewise.
7222         * s-parame-hpux.ads: Likewise.
7223         * s-parame-rtems.adb: Likewise.
7224         * s-parame-vms-alpha.ads: Likewise.
7225         * s-parame-vms-ia64.ads: Likewise.
7226         * s-parame-vms-restrict.ads: Likewise.
7227         * s-parame-vxworks.adb: Likewise.
7228         * s-parame-vxworks.ads: Likewise.
7229         * s-parame.adb: Likewise.
7230         * s-parame.ads: Likewise.
7231         * s-parint.adb: Likewise.
7232         * s-parint.ads: Likewise.
7233         * s-pooglo.adb: Likewise.
7234         * s-pooglo.ads: Likewise.
7235         * s-pooloc.adb: Likewise.
7236         * s-pooloc.ads: Likewise.
7237         * s-poosiz.adb: Likewise.
7238         * s-poosiz.ads: Likewise.
7239         * s-powtab.ads: Likewise.
7240         * s-proinf-irix-athread.adb: Likewise.
7241         * s-proinf-irix-athread.ads: Likewise.
7242         * s-proinf.adb: Likewise.
7243         * s-proinf.ads: Likewise.
7244         * s-purexc.ads: Likewise.
7245         * s-rannum.adb: Likewise.
7246         * s-rannum.ads: Likewise.
7247         * s-restri.adb: Likewise.
7248         * s-restri.ads: Likewise.
7249         * s-rident.ads: Likewise.
7250         * s-rpc.adb: Likewise.
7251         * s-rpc.ads: Likewise.
7252         * s-scaval.adb: Likewise.
7253         * s-scaval.ads: Likewise.
7254         * s-secsta.adb: Likewise.
7255         * s-secsta.ads: Likewise.
7256         * s-sequio.adb: Likewise.
7257         * s-sequio.ads: Likewise.
7258         * s-shasto.adb: Likewise.
7259         * s-shasto.ads: Likewise.
7260         * s-soflin.adb: Likewise.
7261         * s-soflin.ads: Likewise.
7262         * s-solita.adb: Likewise.
7263         * s-solita.ads: Likewise.
7264         * s-sopco3.adb: Likewise.
7265         * s-sopco3.ads: Likewise.
7266         * s-sopco4.adb: Likewise.
7267         * s-sopco4.ads: Likewise.
7268         * s-sopco5.adb: Likewise.
7269         * s-sopco5.ads: Likewise.
7270         * s-stache.adb: Likewise.
7271         * s-stache.ads: Likewise.
7272         * s-stalib.adb: Likewise.
7273         * s-stalib.ads: Likewise.
7274         * s-stausa.adb: Likewise.
7275         * s-stausa.ads: Likewise.
7276         * s-stchop-limit.ads: Likewise.
7277         * s-stchop-rtems.adb: Likewise.
7278         * s-stchop-vxworks.adb: Likewise.
7279         * s-stchop.adb: Likewise.
7280         * s-stchop.ads: Likewise.
7281         * s-stoele.adb: Likewise.
7282         * s-stoele.ads: Likewise.
7283         * s-stopoo.adb: Likewise.
7284         * s-stopoo.ads: Likewise.
7285         * s-stratt.adb: Likewise.
7286         * s-stratt.ads: Likewise.
7287         * s-strcom.adb: Likewise.
7288         * s-strcom.ads: Likewise.
7289         * s-string.adb: Likewise.
7290         * s-string.ads: Likewise.
7291         * s-strops.adb: Likewise.
7292         * s-strops.ads: Likewise.
7293         * s-strxdr.adb: Likewise.
7294         * s-ststop.adb: Likewise.
7295         * s-ststop.ads: Likewise.
7296         * s-taasde.adb: Likewise.
7297         * s-taasde.ads: Likewise.
7298         * s-tadeca.adb: Likewise.
7299         * s-tadeca.ads: Likewise.
7300         * s-tadert.adb: Likewise.
7301         * s-tadert.ads: Likewise.
7302         * s-taenca.adb: Likewise.
7303         * s-taenca.ads: Likewise.
7304         * s-taprob.ads: Likewise.
7305         * s-taprop-dummy.adb: Likewise.
7306         * s-taprop-hpux-dce.adb: Likewise.
7307         * s-taprop-irix.adb: Likewise.
7308         * s-taprop-linux.adb: Likewise.
7309         * s-taprop-lynxos.adb: Likewise.
7310         * s-taprop-mingw.adb: Likewise.
7311         * s-taprop-posix.adb: Likewise.
7312         * s-taprop-solaris.adb: Likewise.
7313         * s-taprop-tru64.adb: Likewise.
7314         * s-taprop-vms.adb: Likewise.
7315         * s-taprop-vxworks.adb: Likewise.
7316         * s-taprop.ads: Likewise.
7317         * s-tarest.adb: Likewise.
7318         * s-tarest.ads: Likewise.
7319         * s-tasdeb.adb: Likewise.
7320         * s-tasdeb.ads: Likewise.
7321         * s-tasinf-irix.ads: Likewise.
7322         * s-tasinf-linux.adb: Likewise.
7323         * s-tasinf-linux.ads: Likewise.
7324         * s-tasinf-mingw.adb: Likewise.
7325         * s-tasinf-mingw.ads: Likewise.
7326         * s-tasinf-solaris.adb: Likewise.
7327         * s-tasinf-solaris.ads: Likewise.
7328         * s-tasinf-tru64.ads: Likewise.
7329         * s-tasinf.adb: Likewise.
7330         * s-tasinf.ads: Likewise.
7331         * s-tasini.adb: Likewise.
7332         * s-tasini.ads: Likewise.
7333         * s-taskin.adb: Likewise.
7334         * s-taskin.ads: Likewise.
7335         * s-taspri-dummy.ads: Likewise.
7336         * s-taspri-hpux-dce.ads: Likewise.
7337         * s-taspri-mingw.ads: Likewise.
7338         * s-taspri-solaris.ads: Likewise.
7339         * s-taspri-tru64.ads: Likewise.
7340         * s-taspri-vms.ads: Likewise.
7341         * s-taspri-vxworks.ads: Likewise.
7342         * s-tasque.adb: Likewise.
7343         * s-tasque.ads: Likewise.
7344         * s-tasren.adb: Likewise.
7345         * s-tasren.ads: Likewise.
7346         * s-tasres.ads: Likewise.
7347         * s-tassta.adb: Likewise.
7348         * s-tassta.ads: Likewise.
7349         * s-tasuti.adb: Likewise.
7350         * s-tasuti.ads: Likewise.
7351         * s-tfsetr-default.adb: Likewise.
7352         * s-tfsetr-vxworks.adb: Likewise.
7353         * s-tpinop.adb: Likewise.
7354         * s-tpinop.ads: Likewise.
7355         * s-tpoben.adb: Likewise.
7356         * s-tpoben.ads: Likewise.
7357         * s-tpobop.adb: Likewise.
7358         * s-tpobop.ads: Likewise.
7359         * s-tpopde-vms.adb: Likewise.
7360         * s-tpopde-vms.ads: Likewise.
7361         * s-tpopsp-lynxos.adb: Likewise.
7362         * s-tpopsp-posix-foreign.adb: Likewise.
7363         * s-tpopsp-posix.adb: Likewise.
7364         * s-tpopsp-solaris.adb: Likewise.
7365         * s-tpopsp-vxworks.adb: Likewise.
7366         * s-tporft.adb: Likewise.
7367         * s-tposen.adb: Likewise.
7368         * s-tposen.ads: Likewise.
7369         * s-traceb.adb: Likewise.
7370         * s-traceb.ads: Likewise.
7371         * s-traces-default.adb: Likewise.
7372         * s-traces.adb: Likewise.
7373         * s-traces.ads: Likewise.
7374         * s-traent-vms.adb: Likewise.
7375         * s-traent-vms.ads: Likewise.
7376         * s-traent.adb: Likewise.
7377         * s-traent.ads: Likewise.
7378         * s-trafor-default.adb: Likewise.
7379         * s-trafor-default.ads: Likewise.
7380         * s-tratas-default.adb: Likewise.
7381         * s-tratas.adb: Likewise.
7382         * s-tratas.ads: Likewise.
7383         * s-unstyp.ads: Likewise.
7384         * s-utf_32.adb: Likewise.
7385         * s-utf_32.ads: Likewise.
7386         * s-vaflop-vms-alpha.adb: Likewise.
7387         * s-vaflop.adb: Likewise.
7388         * s-vaflop.ads: Likewise.
7389         * s-valboo.adb: Likewise.
7390         * s-valboo.ads: Likewise.
7391         * s-valcha.adb: Likewise.
7392         * s-valcha.ads: Likewise.
7393         * s-valdec.adb: Likewise.
7394         * s-valdec.ads: Likewise.
7395         * s-valenu.adb: Likewise.
7396         * s-valenu.ads: Likewise.
7397         * s-valint.adb: Likewise.
7398         * s-valint.ads: Likewise.
7399         * s-vallld.adb: Likewise.
7400         * s-vallld.ads: Likewise.
7401         * s-vallli.adb: Likewise.
7402         * s-vallli.ads: Likewise.
7403         * s-valllu.adb: Likewise.
7404         * s-valllu.ads: Likewise.
7405         * s-valrea.adb: Likewise.
7406         * s-valrea.ads: Likewise.
7407         * s-valuns.adb: Likewise.
7408         * s-valuns.ads: Likewise.
7409         * s-valuti.adb: Likewise.
7410         * s-valuti.ads: Likewise.
7411         * s-valwch.adb: Likewise.
7412         * s-valwch.ads: Likewise.
7413         * s-veboop.adb: Likewise.
7414         * s-veboop.ads: Likewise.
7415         * s-vector.ads: Likewise.
7416         * s-vercon.adb: Likewise.
7417         * s-vercon.ads: Likewise.
7418         * s-vmexta.adb: Likewise.
7419         * s-vmexta.ads: Likewise.
7420         * s-vxwext-kernel.ads: Likewise.
7421         * s-vxwext-rtp.adb: Likewise.
7422         * s-vxwext-rtp.ads: Likewise.
7423         * s-vxwext.ads: Likewise.
7424         * s-vxwork-arm.ads: Likewise.
7425         * s-vxwork-m68k.ads: Likewise.
7426         * s-vxwork-mips.ads: Likewise.
7427         * s-vxwork-ppc.ads: Likewise.
7428         * s-vxwork-sparcv9.ads: Likewise.
7429         * s-vxwork-x86.ads: Likewise.
7430         * s-wchcnv.adb: Likewise.
7431         * s-wchcnv.ads: Likewise.
7432         * s-wchcon.adb: Likewise.
7433         * s-wchcon.ads: Likewise.
7434         * s-wchjis.adb: Likewise.
7435         * s-wchjis.ads: Likewise.
7436         * s-wchstw.adb: Likewise.
7437         * s-wchstw.ads: Likewise.
7438         * s-wchwts.adb: Likewise.
7439         * s-wchwts.ads: Likewise.
7440         * s-widboo.adb: Likewise.
7441         * s-widboo.ads: Likewise.
7442         * s-widcha.adb: Likewise.
7443         * s-widcha.ads: Likewise.
7444         * s-widenu.adb: Likewise.
7445         * s-widenu.ads: Likewise.
7446         * s-widlli.adb: Likewise.
7447         * s-widlli.ads: Likewise.
7448         * s-widllu.adb: Likewise.
7449         * s-widllu.ads: Likewise.
7450         * s-widwch.adb: Likewise.
7451         * s-widwch.ads: Likewise.
7452         * s-win32.ads: Likewise.
7453         * s-winext.ads: Likewise.
7454         * s-wwdcha.adb: Likewise.
7455         * s-wwdcha.ads: Likewise.
7456         * s-wwdenu.adb: Likewise.
7457         * s-wwdenu.ads: Likewise.
7458         * s-wwdwch.adb: Likewise.
7459         * s-wwdwch.ads: Likewise.
7460         * scans.adb: Likewise.
7461         * scans.ads: Likewise.
7462         * seh_init.c: Likewise.
7463         * sfn_scan.adb: Likewise.
7464         * sinfo.adb: Likewise.
7465         * sinfo.ads: Likewise.
7466         * sinput.adb: Likewise.
7467         * sinput.ads: Likewise.
7468         * snames.adb: Likewise.
7469         * snames.ads: Likewise.
7470         * socket.c: Likewise.
7471         * stand.adb: Likewise.
7472         * stand.ads: Likewise.
7473         * stringt.adb: Likewise.
7474         * stringt.ads: Likewise.
7475         * sysdep.c: Likewise.
7476         * system-aix.ads: Likewise.
7477         * system-darwin-ppc.ads: Likewise.
7478         * system-darwin-x86.ads: Likewise.
7479         * system-darwin-x86_64.ads: Likewise.
7480         * system-freebsd-x86.ads: Likewise.
7481         * system-hpux-ia64.ads: Likewise.
7482         * system-hpux.ads: Likewise.
7483         * system-irix-n32.ads: Likewise.
7484         * system-irix-n64.ads: Likewise.
7485         * system-irix-o32.ads: Likewise.
7486         * system-linux-alpha.ads: Likewise.
7487         * system-linux-hppa.ads: Likewise.
7488         * system-linux-ia64.ads: Likewise.
7489         * system-linux-mips.ads: Likewise.
7490         * system-linux-mipsel.ads: Likewise.
7491         * system-linux-ppc.ads: Likewise.
7492         * system-linux-ppc64.ads: Likewise.
7493         * system-linux-s390.ads: Likewise.
7494         * system-linux-s390x.ads: Likewise.
7495         * system-linux-sh4.ads: Likewise.
7496         * system-linux-sparc.ads: Likewise.
7497         * system-linux-sparcv9.ads: Likewise.
7498         * system-linux-x86.ads: Likewise.
7499         * system-linux-x86_64.ads: Likewise.
7500         * system-lynxos-ppc.ads: Likewise.
7501         * system-lynxos-x86.ads: Likewise.
7502         * system-mingw-x86_64.ads: Likewise.
7503         * system-mingw.ads: Likewise.
7504         * system-rtems.ads: Likewise.
7505         * system-solaris-sparc.ads: Likewise.
7506         * system-solaris-sparcv9.ads: Likewise.
7507         * system-solaris-x86.ads: Likewise.
7508         * system-solaris-x86_64.ads: Likewise.
7509         * system-tru64.ads: Likewise.
7510         * system-vms-ia64.ads: Likewise.
7511         * system-vms-zcx.ads: Likewise.
7512         * system-vms.ads: Likewise.
7513         * system-vms_64.ads: Likewise.
7514         * system-vxworks-arm.ads: Likewise.
7515         * system-vxworks-m68k.ads: Likewise.
7516         * system-vxworks-mips.ads: Likewise.
7517         * system-vxworks-ppc.ads: Likewise.
7518         * system-vxworks-sparcv9.ads: Likewise.
7519         * system-vxworks-x86.ads: Likewise.
7520         * system.ads: Likewise.
7521         * table.adb: Likewise.
7522         * table.ads: Likewise.
7523         * targext.c: Likewise.
7524         * targparm.ads: Likewise.
7525         * tree_in.adb: Likewise.
7526         * tree_in.ads: Likewise.
7527         * tree_io.adb: Likewise.
7528         * tree_io.ads: Likewise.
7529         * types.adb: Likewise.
7530         * types.ads: Likewise.
7531         * uintp.adb: Likewise.
7532         * uintp.ads: Likewise.
7533         * uname.adb: Likewise.
7534         * uname.ads: Likewise.
7535         * urealp.adb: Likewise.
7536         * urealp.ads: Likewise.
7537         * vx_stack_info.c: Likewise.
7538         * widechar.adb: Likewise.
7539         * widechar.ads: Likewise.
7540         * exp_attr.adb: Change copyright header to refer to version
7541         3 of the GNU General Public License and to point readers at the
7542         COPYING3 file and the FSF's license web page.
7543         * sem.adb: Likewise.
7544         * sem_attr.ads: Likewise.
7545         * freeze.adb: Likewise.
7546         * freeze.ads: Likewise.
7547         * errout.ads: Likewise.
7548         * erroutc.adb: Likewise.
7549         * exp_ch11.ads: Likewise.
7550
7551 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
7552
7553         * config-lang.in: Change copyright header to refer to version
7554         3 of the GNU General Public License and to point readers at the
7555         COPYING3 file and the FSF's license web page.
7556         * gcc-interface/trans.c: Likewise.
7557         * gnathtml.pl: Likewise.
7558         * gcc-interface/ada.h: Likewise.  Remove runtime exception.
7559         * gcc-interface/gigi.h: Likewise.
7560         * gcc-interface/misc.c: Likewise.
7561         * gcc-interface/targtyps.c: Likewise.
7562
7563 2009-04-09  Nicolas Setton  <setton@adacore.com>
7564
7565         * s-osinte-darwin.ads: Fix wrong binding to struc timeval.
7566
7567         * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of
7568         struct_timeval.
7569
7570 2009-04-09  Bob Duff  <duff@adacore.com>
7571
7572         * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in
7573         internally-generated nodes related to select statements to avoid
7574         confusing the debugger.
7575
7576 2009-04-09  Pascal Obry  <obry@adacore.com>
7577
7578         * make.adb: Ensure that all linker arguments are duplicated.
7579
7580 2009-04-09  Robert Dewar  <dewar@adacore.com>
7581
7582         * sem_ch5.adb: Minor reformatting
7583
7584 2009-04-09  Vincent Celier  <celier@adacore.com>
7585
7586         * vms_data.ads:
7587         Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT
7588         New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn
7589         New qualifier /LXDEBUG=nnn for -gnatDnnn
7590         For H820-010
7591
7592         * gnat_ugn.texi:
7593         Update documentation for VMS qualifiers equivalent to -gnatGnn and
7594         -gnatDnn
7595
7596 2009-04-09  Nicolas Setton  <setton@adacore.com>
7597
7598         * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long,
7599         to match layout of siginfo_t in sys/signal.h.
7600
7601         * gcc-interface/Makefile.in: Add section for x86_64 darwin.
7602
7603 2009-04-09  Thomas Quinot  <quinot@adacore.com>
7604
7605         * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment.
7606
7607 2009-04-09  Nicolas Setton  <setton@adacore.com>
7608
7609         * s-oscons-tmplt.c: Allow long lines in the generated spec.
7610         Add generation of Darwin-specific constants needed when binding to the
7611         pthread library.
7612
7613 2009-04-09  Robert Dewar  <dewar@adacore.com>
7614
7615         * checks.adb:
7616         (Insert_Valid_Check): Avoid unnecessary generation of junk declaration
7617         when no invalid values exist, Avoid duplicate read of atomic variable.
7618
7619         * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid
7620         (Standard_Unsigned): Set Is_Known_Valid
7621
7622         * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on
7623         subtype declaration if no constraint.
7624         (Set_Modular_Size): Set Is_Known_Valid if appropriate
7625         (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint
7626
7627 2009-04-09  Robert Dewar  <dewar@adacore.com>
7628
7629         * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb,
7630         switch.ads: for numeric switches, an optional equal sign is always
7631         allowed.
7632
7633 2009-04-09  Vincent Celier  <celier@adacore.com>
7634
7635         * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where
7636         the case of file names is not significant.
7637
7638 2009-04-09  Vincent Celier  <celier@adacore.com>
7639
7640         * errout.adb: Remove dependency on package Style
7641
7642         * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function,
7643         moved to Stylesw.
7644         
7645         * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from
7646         Styleg.
7647
7648         * errutil.adb, par.adb: Import Stylesw
7649
7650 2009-04-09  Arnaud Charlet  <charlet@adacore.com>
7651
7652         * opt.ads: Fix typos.
7653
7654 2009-04-09  Robert Dewar  <dewar@adacore.com>
7655
7656         * einfo.adb: Minor reformatting
7657
7658 2009-04-09  Robert Dewar  <dewar@adacore.com>
7659
7660         * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style
7661         units.
7662
7663         * styleg-c.ads, styleg-c.adb: Removed, no longer used.
7664
7665 2009-04-09  Robert Dewar  <dewar@adacore.com>
7666
7667         * g-comver.adb: Minor reformatting.
7668
7669 2009-04-09  Thomas Quinot  <quinot@adacore.com>
7670
7671         * lib-load.ads (Load_Unit): Update documentation.
7672
7673 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
7674
7675         * lib-load.adb (Load_Unit): When loading the parent of a child unit
7676         named in a with_clause, retain the with_clause to preserve a
7677         limited_with indication.
7678
7679 2009-04-09  Robert Dewar  <dewar@adacore.com>
7680
7681         * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb,
7682         exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb,
7683         sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where
7684         possible to replace an OR of two separate tests.
7685
7686 2009-04-09  Robert Dewar  <dewar@adacore.com>
7687
7688         * binderr.adb, errout.adb, errutil.adb: New circuitry for handling
7689         Maximum_Messages.
7690         
7691         * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global
7692         warning status as well.
7693         
7694         * opt.ads (Maximum_Messages): New name for Maximum_Errors.
7695         
7696         * switch-b.adb, switch-c.adb: Change name Maximum_Errors to
7697         Maximum_Messages.
7698         
7699         * bindusg.adb, usage.adb: Update line for -gnatm switch
7700
7701         * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and
7702         -mnn binder switch.
7703
7704 2009-04-09  Robert Dewar  <dewar@adacore.com>
7705
7706         * sem_ch10.adb: Minor reformatting.
7707
7708 2009-04-09  Bob Duff  <duff@adacore.com>
7709
7710         * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler):
7711         Set Sloc of generated nodes for calls to Undefer_Aborts and
7712         Save_Occurrence to No_Location, so the debugger ignores them and
7713         therefore does not jump back and forth when single stepping.
7714
7715 2009-04-09  Robert Dewar  <dewar@adacore.com>
7716
7717         * switch-b.adb: Minor reformatting.
7718
7719 2009-04-09  Robert Dewar  <dewar@adacore.com>
7720
7721         * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
7722         sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb,
7723         exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb,
7724         sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb,
7725         einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb,
7726         tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb,
7727         exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb,
7728         sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb,
7729         sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb,
7730         sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb:
7731         Reorganize einfo/sem_aux, moving routines from einfo to sem_aux
7732
7733 2009-04-09  Robert Dewar  <dewar@adacore.com>
7734
7735         * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code.
7736
7737         * atree.h: Add Elist26
7738
7739         * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc
7740         backends.
7741
7742 2009-04-09  Javier Miranda  <miranda@adacore.com>
7743
7744         * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to
7745         retrieve from the Dispatch_Table_Wrappers list the external name.
7746         Addition of documentation.
7747         (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is
7748         used to export secondary dispatch tables (in the previous version of
7749         the frontend only primary dispatch tables were exported). Addition of
7750         documentation.
7751         (Import_DT): New subprogram (internal of Make_Tags). Used to import a
7752         dispatch table of a given tagged type. 
7753         (Make_Tags): Modified to import secondary dispatch tables.
7754
7755         * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup.
7756         (Constant_Redeclaration): Code cleanup.
7757
7758         * einfo.ads (Dispatch_Table_Wrapper): Renamed to
7759         Dispatch_Table_Wrappers.  Update documentation.
7760
7761         * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper):
7762         Renamed to Dispatch_Table_Wrappers.
7763
7764         * sem_util.adb (Collect_Interface_Components): Improve handling of
7765         private types.
7766
7767         * atree.ads (Elist26, Set_Elist26): New subprograms
7768
7769         * atree.adb (Elist26, Set_Elist26): New subprograms
7770
7771 2009-04-09  Javier Miranda  <miranda@adacore.com>
7772
7773         * sem_ch3.adb (Build_Derived_Record_Type): Fix typo.
7774         (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of
7775         tagged types.
7776
7777 2009-04-09  Robert Dewar  <dewar@adacore.com>
7778
7779         * s-direio.adb: Minor reformatting
7780
7781         * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String
7782
7783 2009-04-09  Robert Dewar  <dewar@adacore.com>
7784
7785         * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases
7786
7787 2009-04-09  Pascal Obry  <obry@adacore.com>
7788
7789         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads,
7790         s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads,
7791         a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads,
7792         a-filico.ads: Add some missing overriding keywords.
7793
7794 2009-04-09  Pascal Obry  <obry@adacore.com>
7795
7796         * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb,
7797         a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads,
7798         a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor
7799         reformatting.
7800
7801 2009-04-09  Ed Schonberg  <schonberg@adacore.com>
7802
7803         * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on
7804         missing overriding indicator if the new declaration is not seen as
7805         primitive.
7806
7807 2009-04-09  Thomas Quinot  <quinot@adacore.com>
7808
7809         * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle
7810         overflows in computation of bounds.
7811
7812 2009-04-09  Pascal Obry  <obry@adacore.com>
7813
7814         * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some
7815         typos in comment.
7816
7817 2009-04-09  Robert Dewar  <dewar@adacore.com>
7818
7819         * sem_attr.adb (Check_Stream_Attribute): Check violation of
7820         restriction No_Streams
7821
7822         * gnat_rm.texi: Clarify No_Streams restriction
7823
7824         * g-socket.adb: Minor reformatting.
7825
7826 2009-04-09  Thomas Quinot  <quinot@adacore.com>
7827
7828         * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces.
7829
7830 2009-04-09  Geert Bosch  <bosch@adacore.com>
7831
7832         * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument.
7833         (Set_Result): Likewise.
7834         (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the
7835         conversion, as required by RM 4.6(31).
7836
7837 2009-04-08  Robert Dewar  <dewar@adacore.com>
7838
7839         * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks
7840         suppressed.
7841         
7842         * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all
7843         resolution steps.
7844
7845 2009-04-08  Robert Dewar  <dewar@adacore.com>
7846
7847         * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for
7848         No_Local_Allocators restriction preventing local instantiation.
7849
7850 2009-04-08  Thomas Quinot  <quinot@adacore.com>
7851
7852         * sem_eval.adb: Minor comment fix
7853
7854 2009-04-08  Thomas Quinot  <quinot@adacore.com>
7855
7856         * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller):
7857         New limited controlled type used to automate the initialization and
7858         finalization of the sockets implementation.
7859         (GNAT.Sockets.Initialize, Finalize): Make these no-ops
7860
7861 2009-04-08  Vincent Celier  <celier@adacore.com>
7862
7863         * prj-attr.adb: New read-only project-level attribute Project_Dir
7864
7865         * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of
7866         read-only attribute of the same name.
7867         (Process_Declarative_Items): Call Add_Attributes with Project_Dir
7868         (Recursive_Process): Ditto
7869
7870         * snames.adb: Add new standard name Project_Dir
7871
7872         * snames.ads: Add new standard name Project_Dir
7873
7874 2009-04-08  Thomas Quinot  <quinot@adacore.com>
7875
7876         * checks.adb: Minor reformatting
7877
7878 2009-04-08  Vincent Celier  <celier@adacore.com>
7879
7880         * vms_data.ads: Add documentation for new style keyword
7881         OVERRIDING_INDICATORS
7882
7883 2009-04-08  Robert Dewar  <dewar@adacore.com>
7884
7885         * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the
7886         spec is in the current unit.
7887
7888 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
7889
7890         * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for
7891         presence of entity.
7892
7893         * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators
7894
7895 2009-04-08  Vincent Celier  <celier@adacore.com>
7896
7897         * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS)
7898
7899 2009-04-08  Thomas Quinot  <quinot@adacore.com>
7900
7901         * checks.ads: Minor reformatting
7902
7903 2009-04-08  Robert Dewar  <dewar@adacore.com>
7904
7905         * gnat_rm.texi: Update documentation of pragma Obsolescent
7906         
7907         * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to
7908         be omitted, and allow Entity parameter to be omitted.
7909
7910 2009-04-08  Thomas Quinot  <quinot@adacore.com>
7911
7912         * exp_util.adb: Minor comment fix
7913
7914 2009-04-08  Robert Dewar  <dewar@adacore.com>
7915
7916         * g-socket.ads: Fix bad syntax in pragma Obsolescent
7917
7918         * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of
7919         argument with no identifier following one that has an identifier. Was
7920         missed in some cases.
7921
7922         * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy
7923         identifier.
7924         (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers
7925
7926         * snames.adb: Add Name_Policy
7927
7928         * snames.ads: Add Name_Policy
7929
7930 2009-04-08  Robert Dewar  <dewar@adacore.com>
7931
7932         * gnat_rm.texi: Minor reformatting
7933
7934         * par-ch2.adb: Minor reformatting
7935
7936 2009-04-08  Robert Dewar  <dewar@adacore.com>
7937
7938         * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up.
7939
7940 2009-04-08  Robert Dewar  <dewar@adacore.com>
7941
7942         * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate
7943         properly in the presence of Remote_Types or Remote_Call_Interface.
7944
7945         * sem_util.adb: Add comment.
7946
7947 2009-04-08  Robert Dewar  <dewar@adacore.com>
7948
7949         * ug_words: Add /ASSUME_VALID for -gnatB
7950
7951         * vms_data.ads: Add /ASSUME_VALID for -gnatB
7952
7953         * sem_cat.adb: Add clarifying commment
7954
7955         * a-direio.ads (Bytes): Make sure value is non-zero
7956
7957 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
7958
7959         * sem_util.adb (Is_Variable): If the prefix is an explicit dereference
7960         that does not come from source, check for a rewritten function call in
7961         prefixed notation before other forms of rewriting.
7962
7963 2009-04-08  Robert Dewar  <dewar@adacore.com>
7964
7965         * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since
7966         these are now obsolescent units used only for bootrapping with an
7967         older compiler.
7968
7969 2009-04-08  Robert Dewar  <dewar@adacore.com>
7970
7971         * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage
7972
7973         * sem_ch3.adb: Minor comment updates
7974
7975 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
7976
7977         * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms
7978         that come from source.
7979
7980 2009-04-08  Tristan Gingold  <gingold@adacore.com>
7981
7982         * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE.
7983         * gcc-interface/decl.c (prepend_attributes): New case
7984         Pragma_Thread_Local_Storage.
7985         * gcc-interface/utils.c (process_attributes): New case
7986         ATTR_THREAD_LOCAL_STORAGE.
7987
7988 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
7989
7990         * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable
7991         by the back-end if it contains a call to a subprogram without a
7992         previous spec that is declared in the same unit.
7993
7994         * errout.ads: Update comments on uses of dirs
7995
7996 2009-04-08  Robert Dewar  <dewar@adacore.com>
7997
7998         * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed
7999
8000 2009-04-08  Tristan Gingold  <gingold@adacore.com>
8001
8002         * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level
8003         variables.
8004         Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work).
8005
8006 2009-04-08  Vincent Celier  <celier@adacore.com>
8007
8008         * prj-nmsc.adb:
8009         (Add_Source): Add the mapping of the unit name to source file name in
8010         the Unit_Sources_HT hash table, if the unit name is not null.
8011
8012         * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT
8013
8014         * prj.ads (Unit_Sources_Htable): New hash table instantiation
8015         (Project_Tree_Data): New component Unit_Sources_HT
8016
8017 2009-04-08  Thomas Quinot  <quinot@adacore.com>
8018
8019         * sem_ch8.adb: Minor reformatting.
8020         Minor code reorganization.
8021
8022 2009-04-08  Robert Dewar  <dewar@adacore.com>
8023
8024         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
8025         snames.ads, freeze.adb, par-prag.adb: Add implementation of
8026         pragma Thread_Local_Storage, setting new flag
8027         Has_Pragma_Thread_Local_Storage in corresponding entities.
8028
8029 2009-04-08  Emmanuel Briot  <briot@adacore.com>
8030
8031         * prj.ads: Update comment on switches file
8032
8033         * prj-nmsc.adb: Code clean up. Use renaming clauses.
8034
8035 2009-04-08  Robert Dewar  <dewar@adacore.com>
8036
8037         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
8038
8039 2009-04-08  Thomas Quinot  <quinot@adacore.com>
8040
8041         * ali-util.adb: Minor comment fix
8042
8043 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
8044
8045         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
8046         appears in a context clause, and the enclosing package is mentioned in
8047         a limited_with_clause.
8048         (Use_One_Type): Reject clause if type is still incomplete.
8049
8050 2009-04-08  Emmanuel Briot  <briot@adacore.com>
8051
8052         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
8053         avoid copies of Source_Data variables when possible, since these
8054         involve calls to memcpy() which are done too many times.
8055
8056 2009-04-08  Robert Dewar  <dewar@adacore.com>
8057
8058         * exp_ch4.adb (Expand_Concatenate): Clean up code
8059
8060 2009-04-07  Thomas Quinot  <quinot@adacore.com>
8061
8062         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
8063         type for the case of concatenating a constrained array indexed by an
8064         enumeration type.
8065
8066 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
8067
8068         * sem_ch6.adb (Check_Conformance): when checking conformance of an
8069         operation that overrides an abstract operation inherited from an
8070         interface, return False if only one of the controlling formals is an
8071         access parameter.
8072
8073 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
8074
8075         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
8076         mandated by AI05-105.
8077
8078 2009-04-07  Vincent Celier  <celier@adacore.com>
8079
8080         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
8081
8082 2009-04-07  Thomas Quinot  <quinot@adacore.com>
8083
8084         * usage.adb: Minor fix in usage message.
8085
8086         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
8087         match declaration; the correct subtype is Node_Id, not Entity_Id,
8088         because the expected node kind is an identifier, not a defining
8089         identifier.
8090
8091         * switch-c.adb: Minor reformatting.
8092
8093         * uintp.adb: Minor reformatting.
8094
8095 2009-04-07  Robert Dewar  <dewar@adacore.com>
8096
8097         * exp_ch13.adb: Minor reformatting
8098
8099 2009-04-07  Robert Dewar  <dewar@adacore.com>
8100
8101         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
8102         against missing parent.
8103
8104 2009-04-07  Thomas Quinot  <quinot@adacore.com>
8105
8106         * xoscons.adb: Minor reformatting
8107
8108 2009-04-07  Robert Dewar  <dewar@adacore.com>
8109
8110         * rtsfind.ads: Remove obsolete string concatenation entries
8111
8112 2009-04-07  Robert Dewar  <dewar@adacore.com>
8113
8114         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
8115
8116 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
8117
8118         * sem_ch10.adb (Check_Body_Required): Handle properly imported
8119         subprograms.
8120
8121 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
8122
8123         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
8124         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
8125         is of a scalar or string type then suppress the setting of the
8126         expression to Empty.
8127
8128         * freeze.adb (Warn_Overlay): Also emit the warnings about default
8129         initialization for the cases of scalar and string objects when
8130         Init_Or_Norm_Scalars is True.
8131
8132 2009-04-07  Bob Duff  <duff@adacore.com>
8133
8134         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
8135
8136 2009-04-07  Bob Duff  <duff@adacore.com>
8137
8138         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
8139         Form parameter of Text_Translation=No allows binary mode for Text_IO
8140         files.
8141
8142         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
8143
8144 2009-04-07  Javier Miranda  <miranda@adacore.com>
8145
8146         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
8147         processing the bounds for bit packed arrays or VM target machines.
8148
8149 2009-04-07  Thomas Quinot  <quinot@adacore.com>
8150
8151         * g-sothco.ads (Int_Access): Remove extraneous access type (use
8152         anonymous access instead).
8153         (Get_Socket_From_Set): Fix incorrectly reverted formals
8154         Last and Socket to match the underlying C routine.
8155
8156         * g-socket.adb, g-socket.ads
8157         (Get): Use named parameter associations instead of positional ones in
8158         call go Get_Socket_From_Set, since this routine has two formals of the
8159         same type.
8160         (Image): New procedure.
8161
8162         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
8163         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
8164         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
8165         for type of Arg formal.
8166
8167         * sem_warn.adb: Minor reformatting
8168
8169 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
8170
8171         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
8172         over record components.
8173
8174 2009-04-07  Nicolas Roche  <roche@adacore.com>
8175
8176         * gsocket.h:
8177         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
8178         has disappeared between VxWorks 6.4 and VxWorks 6.5
8179         In RTP mode use time.h instead of times.h
8180
8181 2009-04-07  Robert Dewar  <dewar@adacore.com>
8182
8183         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
8184
8185 2009-04-07  Kevin Pouget  <pouget@adacore.com>
8186
8187         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
8188         expanded code for constrained types.
8189
8190 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
8191
8192         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
8193         AI05-105: in an object renaming declaration, anonymousness is a name
8194         resolution rule.
8195
8196         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
8197
8198 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
8199
8200         * g-comlin.adb (Expansion): Fix old regression: also return directory
8201         names when matching.
8202
8203 2009-04-07  Robert Dewar  <dewar@adacore.com>
8204
8205         * exp_ch4.adb:
8206         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
8207         (Expand_Concatenate): New name for Expand_Concatenate_String which has
8208         been rewritten to handle all types.
8209         (Expand_Concatenate_Other): Remove
8210
8211 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
8212
8213         * lib-xref.adb (Generate_Reference): A default subprogram in an
8214         instance appears within the tree for the instance, but generates an
8215         implicit reference in the ALI.
8216
8217 2009-04-07  Javier Miranda  <miranda@adacore.com>
8218
8219         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
8220         derived type that has discriminants, propagate the list of interfaces
8221         to the corresponding new base type. In addition, propagate also
8222         attribute Limited_Present (found working in this patch).
8223
8224 2009-04-07  Robert Dewar  <dewar@adacore.com>
8225
8226         * exp_ch4.adb: Rewrite concatenation expansion.
8227
8228 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
8229
8230         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
8231         relevant to packages.
8232
8233 2009-04-07  Robert Dewar  <dewar@adacore.com>
8234
8235         * sem_attr.adb: Minor reformatting
8236
8237         * sem_ch6.adb: Minor reformatting
8238
8239 2009-04-07  Tristan Gingold  <gingold@adacore.com>
8240
8241         * socket.c: Add more protections against S_resolvLib_ macros.
8242
8243 2009-04-07  Thomas Quinot  <quinot@adacore.com>
8244
8245         * sem_attr.adb: Minor reformatting
8246
8247 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
8248
8249         * sem_ch6.adb (New_Overloaded_Entity): New predicate
8250         Is_Overriding_Alias to handle properly types that inherit two homonym
8251         operations that have distinct dispatch table entries.
8252
8253 2009-04-07  Emmanuel Briot  <briot@adacore.com>
8254
8255         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
8256         looking for the end of a parenthesis group
8257
8258 2009-04-07  Tristan Gingold  <gingold@adacore.com>
8259
8260         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
8261
8262         * socket.c Don't use resolvLib_ macros if not defined.
8263
8264 2009-04-07  Robert Dewar  <dewar@adacore.com>
8265
8266         * g-socket.adb: Minor reformatting.
8267
8268         * g-socthi-mingw.adb: Minor reformatting
8269
8270         * g-sothco.ads: Minor reformatting
8271
8272         * exp_ch4.adb:
8273         (Expand_Concatenate_String): Complete rewrite to generate efficient code
8274         inline instead of relying on external library routines.
8275
8276         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
8277         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
8278         obsolescent
8279
8280 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
8281
8282         * sem_attr.adb:
8283         (Eval_Attribute): for attributes of array objects that are not strings,
8284         attributes are not static if nominal subtype of object is unconstrained.
8285
8286 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
8287
8288         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
8289         operations for a type T in an instance do not override each other,
8290         when T is derived from a formal private type, the corresponding
8291         operations inherited by a type derived from T outside
8292         of the instance do not override each other either.
8293
8294 2009-04-07  Robert Dewar  <dewar@adacore.com>
8295
8296         (Osint.Fail): Change calling sequence to have one string arg
8297         (Make.Make_Failed): Same change
8298         All callers are adjusted to use concatenation
8299
8300 2009-04-07  Robert Dewar  <dewar@adacore.com>
8301
8302         * exp_ch4.adb: Fix documentation typo
8303
8304 2009-04-07  Robert Dewar  <dewar@adacore.com>
8305
8306         * tbuild.ads: Minor reformatting
8307
8308 2009-04-07  Javier Miranda  <miranda@adacore.com>
8309
8310         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
8311         when compiling under ZFP runtime.
8312
8313 2009-04-07  Robert Dewar  <dewar@adacore.com>
8314
8315         * g-comlin.adb: Minor reformatting
8316
8317 2009-04-07  Thomas Quinot  <quinot@adacore.com>
8318
8319         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
8320         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
8321         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
8322         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
8323
8324 2009-04-07  Robert Dewar  <dewar@adacore.com>
8325
8326         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
8327
8328         * opt.ads (Sprint_Line_Limit): New parameter
8329         
8330         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
8331         
8332         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
8333         
8334         * usage.adb: Output information for -gnatGnn -gnatDnn
8335
8336 2009-04-07  Robert Dewar  <dewar@adacore.com>
8337
8338         * make.adb: Minor reformatting
8339
8340 2009-04-07  Robert Dewar  <dewar@adacore.com>
8341
8342         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
8343
8344 2009-04-07  Robert Dewar  <dewar@adacore.com>
8345
8346         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
8347
8348 2009-04-07  Robert Dewar  <dewar@adacore.com>
8349
8350         * checks.adb:
8351         Remove Assume_Valid parameter from In_Subrange_Of calls
8352         
8353         * sem_eval.adb:
8354         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
8355         (Is_In_Range): Remove incorrect use of Assume_Valid
8356         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
8357         
8358         * sem_eval.ads:
8359         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
8360         (Is_In_Range): Documentation cleanup
8361         (Is_Out_Of_Range): Documentation cleanup
8362
8363         * gnat_rm.texi:
8364         Add documentation for Assume_No_Invalid_Values pragma
8365
8366         * sem_ch12.adb: Minor reformatting
8367
8368         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
8369
8370         * sem_prag.adb: Improve error message.
8371
8372         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
8373         LF/CR no longer recognized as line terminator
8374
8375         * switch.ads: Minor documentation improvement
8376
8377         * vms_data.ads: Minor reformatting
8378
8379 2009-04-07  Robert Dewar  <dewar@adacore.com>
8380
8381         * checks.adb (Determine_Range): Add Assume_Valid parameter
8382         
8383         * checks.ads (Determine_Range): Add Assume_Valid parameter
8384         
8385         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
8386          Is_Null_Loop to suppress warnings in a loop body.
8387         
8388         * exp_ch4.adb:
8389         (Rewrite_Comparison): Major rewrite to accomodate invalid values
8390         
8391         * exp_ch5.adb:
8392         (Expand_N_Loop_Statement): Delete loop known not to execute
8393         
8394         * opt.ads:
8395         (Assume_No_Invalid_Values): Now set to False, and as documented, this
8396          fully enables the proper handling of invalid values.
8397         
8398         * sem_attr.adb:
8399         New calling sequence for Is_In_Range
8400         
8401         * sem_ch5.adb:
8402         (Analyze_Iteration_Scheme): Accomodate possible invalid values
8403          in determining if a loop range is null.
8404         
8405         * sem_eval.adb:
8406         (Is_In_Range): Add Assume_Valid parameter
8407         (Is_Out_Of_Range): Add Assume_Valid_Parameter
8408         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
8409          also to do more accurate and complete range analysis, catching more
8410          cases.
8411         
8412         * sem_eval.ads:
8413         (Is_In_Range): Add Assume_Valid parameter
8414         (Is_Out_Of_Range): Add Assume_Valid_Parameter
8415         
8416         * sem_util.adb:
8417         New calling sequence for Is_In_Range
8418         
8419         * sinfo.adb:
8420         (Suppress_Loop_Warnings): New flag
8421         
8422         * sinfo.ads:
8423         (Is_Null_Loop): Update documentation
8424         (Suppress_Loop_Warnings): New flag
8425         
8426         * gnat_ugn.texi: Document -gnatB switch
8427
8428 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
8429
8430         * gnatvsn.ads: Bump version number.
8431
8432 2009-04-07  Thomas Quinot  <quinot@adacore.com>
8433
8434         * exp_ch3.adb: Minor rewording (comments)
8435
8436 2009-04-07  Robert Dewar  <dewar@adacore.com>
8437
8438         * exp_disp.adb: Minor reformatting
8439
8440 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
8441
8442         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
8443         underlying type.
8444         * gcc-interface/trans.c (lvalue_required_p): Likewise.
8445
8446 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
8447
8448         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
8449         Do not convert the result.  Remove obsolete comment.
8450
8451 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
8452
8453         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
8454         DECL_CONTEXT.
8455         (Subprogram_Body_to_gnu): Fix pasto.
8456
8457 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
8458
8459         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
8460         (void_type_decl_node): Remove.
8461         (init_gigi_decls): Likewise.
8462         (gnat_install_builtins): Declare.
8463         (record_builtin_type): Likewise.
8464         (create_type_stub_decl): Likewise.
8465         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
8466         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
8467         artificial.
8468         <E_Array_Subtype>: Use the index types, not only their name, in the
8469         record giving the names of the bounds, if any.
8470         For a packed array type, make it artificial only if the base type
8471         was artificial as well.  Remove redundant statement.
8472         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
8473         dummy types.
8474         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
8475         (rest_of_type_decl_compilation_no_defer): Likewise.
8476         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
8477         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
8478         and use create_type_stub_decl to build it.
8479         (gnat_pushdecl): Rewrite condition.
8480         (gnat_install_builtins): Remove bogus declaration.
8481         (record_builtin_type): New function.
8482         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
8483         of types.
8484         (create_type_stub_decl): New function.
8485         (create_type_decl): Assert that the type is not dummy.  If the type
8486         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
8487         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
8488         (build_vms_descriptor): Likewise.
8489         (init_gigi_decls): Delete and move bulk of code to...
8490         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
8491         (emit_range_check): Add gnat_node parameter.
8492         (emit_index_check): Likewise.
8493         (emit_check): Likewise.
8494         (build_unary_op_trapv): Likewise.
8495         (build_binary_op_trapv): Likewise.
8496         (convert_with_check): Likewise.
8497         (Attribute_to_gnu): Adjust calls for above changes.
8498         (call_to_gnu): Likewise.
8499         (gnat_to_gnu): Likewise.
8500         (assoc_to_constructor): Likewise.
8501         (pos_to_constructor): Likewise.
8502         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
8503         (process_type): Do not create TYPE_DECL for dummy types.
8504
8505 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
8506
8507         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
8508         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
8509         * gcc-interface/utils.c: Fix comments.
8510
8511 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
8512
8513         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
8514         move around.
8515         (gnat_to_gnu_type): Move around.
8516         (get_unpadded_type): Likewise.
8517         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
8518         Tidy comments.
8519
8520 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
8521
8522         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
8523         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
8524         (call_to_gnu): Invoke it instead of manually checking.
8525
8526 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
8527
8528         * gcc-interface/utils.c (finish_record_type): Force structural equality
8529         checks if the record type is discriminated.
8530
8531 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
8532
8533         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
8534         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
8535         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
8536         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
8537         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
8538         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
8539         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
8540
8541 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
8542
8543         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
8544         of TREE_CONSTANT_OVERFLOW.
8545
8546 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
8547
8548         PR rtl-optimization/323
8549         * gcc-interface/misc.c (gnat_post_options): Set
8550         flag_excess_precision_cmdline.  Give an error for
8551         -fexcess-precision=standard for processors where the option is
8552         significant.
8553
8554 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
8555
8556         PR c/39323
8557         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
8558         on bit_align.
8559
8560 2009-03-11  Olivier Hainque  <hainque@adacore.com>
8561
8562         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
8563         checks processing, remove unintended TREE_TYPE walk on index type.
8564
8565 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
8566
8567         PR ada/39264
8568         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
8569         call make_packable_type on fat pointer types.
8570         <E_Array_Subtype>: Likewise.
8571         <E_Record_Subtype>: Call make_packable_type on all record types
8572         except for fat pointer types.
8573         (make_packable_type): Likewise.
8574         (gnat_to_gnu_field): Likewise.
8575
8576 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
8577
8578         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
8579         EH_MECHANISM change made on 2007-12-06.
8580
8581 2009-02-26  Andreas Schwab  <schwab@suse.de>
8582
8583         PR ada/39172
8584         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
8585         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
8586         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
8587         (AWK): Substitute.
8588         (target_cpu_default): Substitute.
8589
8590 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
8591
8592         PR ada/39221
8593         * a-teioed.adb (Expand): Fix Result overflow.
8594
8595 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
8596
8597         * gcc-interface/Makefile.in: Fix multilib handling for
8598         sparc64-linux.
8599
8600 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8601
8602         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
8603
8604 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
8605
8606         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
8607
8608 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
8609
8610         * gcc-interface/deftarg.c: Remove.
8611
8612 2009-02-10  Olivier Hainque  <hainque@adacore.com>
8613             Eric Botcazou  <ebotcazou@adacore.com>
8614
8615         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
8616         (copy_alias_set): Rename into...
8617         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
8618         underlying array of unconstrained arrays for the new type as well.
8619         If the old and new alias sets don't conflict, make one a subset of
8620         the other as per the OP parameter.
8621         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
8622         <E_Record_Type>: Do not copy the alias set for derived types.
8623         For all types, make the alias set of derived types a superset of
8624         that of their parent type.
8625         (make_aligning_type): Adjust calls to copy_alias_set.
8626         (make_packable_type): Likewise.
8627         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
8628         Check for alias set conflict instead of strict equality to issue the
8629         warning.
8630
8631 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
8632
8633         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
8634         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
8635         (copy_alias_set): Assert that arrays have the same aliasing settings.
8636         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
8637
8638 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
8639
8640         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
8641         Set TYPE_NONALIASED_COMPONENT on the array type.
8642
8643 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
8644
8645         * gcc-interface/Makefile.in: Fix mipsel linux handling.
8646
8647 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
8648
8649         * gcc-interface/Makefile.in: Fix multilib handling for
8650         powerpc64-linux.
8651
8652 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
8653
8654         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
8655         only useless conversions around renamed objects.
8656
8657 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
8658
8659         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
8660         the _Tag field before any discriminants in the field list.
8661         (components_to_record): Remove obsolete comment.
8662
8663
8664 \f
8665 Copyright (C) 2009 Free Software Foundation, Inc.
8666
8667 Copying and distribution of this file, with or without modification,
8668 are permitted in any medium without royalty provided the copyright
8669 notice and this notice are preserved.