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