OSDN Git Service

c4ed0e7df24d2cf6c0530b25346a9623e899b226
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2008-04-07  Aurelien Jarno  <aurelien@aurel32.net>
2
3         * s-osinte-linux-kfreebsd.ads (SC_NPROCESSORS_ONLN): New 
4         constant constant for sysconf call.
5         (bit_field): New packed boolean type used by cpu_set_t.
6         (cpu_set_t): New type corresponding to the C type with
7         the same name. Note that on the Ada side we use a bit
8         field array for the affinity mask. There is not need
9         for the C macro for setting individual bit.
10         (pthread_setaffinity_np): New imported routine.
11         * Makefile.in: Use s-tasinf-linux.ads and s-tasinf-linux.adb
12         on GNU/kFreeBSD.
13
14 2008-04-07  Eric Botcazou  <ebotcazou@adacore.com>
15
16         * utils2.c (build_binary_op): Fold ARRAY_REF and ARRAY_RANGE_REF too.
17
18 2008-04-07  Eric Botcazou  <ebotcazou@adacore.com>
19
20         * gigi.h (create_subprog_type): Remove returns_with_dsp parameter.
21         * decl.c (gnat_to_gnu_entity): Adjust for above new prototype.
22         * utils.c (create_subprog_type): Remove returns_with_dsp parameter.
23         * trans.c (gnat_to_gnu) <N_Return_Statement>: Remove code dealing with
24         Return by Depressed Stack Pointer.
25
26 2008-04-06  Eric Botcazou  <ebotcazou@adacore.com>
27
28         * decl.c (is_variable_size): Do not unconditionally return false
29         on non-strict alignment platforms.
30
31 2008-04-06  Eric Botcazou  <ebotcazou@adacore.com>
32
33         * decl.c (rest_of_type_decl_compilation_no_defer): New local function
34         used to process all the variants of the specified type.
35         (gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeral
36         types too.  Call rest_of_type_decl_compilation_no_defer if undeferring.
37         (rest_of_type_decl_compilation): Likewise.
38         * utils.c (gnat_pushdecl): Propagate the name to all variants of type.
39
40 2008-04-03  Paolo Bonzini  <bonzini@gnu.org>
41
42         * gigi.h (insert_block): Kill.
43         * utils.c (insert_block): Kill.
44
45 2008-04-02  Eric Botcazou  <ebotcazou@adacore.com>
46
47         * decl.c (gnat_to_gnu_entity) <object>: For a constant object whose
48         type has self-referential size, get the size from the initializing
49         expression directly if it is also a constant whose nominal type
50         has self-referential size.
51
52 2008-04-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
53
54         PR ada/33688
55         * g-soccon-darwin.ads: Define new constant IP_PKTINFO.
56
57         PR ada/33857
58         * env.c: Always include crt_externs.h if __APPLE__ is defined.
59         (__gnat_setenv): Use setenv instead of putenv if __APPLE__ is defined.
60
61 2008-04-01  Andreas Jaeger  <aj@suse.de>
62
63         * g-soccon-linux-ppc.ads: Add new constants SO_REUSEPORT and
64         IP_PKTINFO.
65
66 2008-03-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67
68         * g-table.adb, g-tasloc.adb, g-traceb.ads,
69         g-trasym.adb, g-utf_32.adb, gen-soccon.c, gigi.h, gmem.c,
70         gnatbind.adb, gnatchop.adb, gnatcmd.adb,
71         gnatcmd.ads, gnatdll.adb, gnatfind.adb,
72         gnatlink.adb, gnatmem.adb, gprep.adb,
73         i-cstrea-vms.adb, i-cstrin.adb, i-pacdec.ads,
74         i-vxwork.ads, impunit.adb, init.c, initialize.c, inline.adb,
75         layout.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
76         lib-xref.ads, lib.adb, link.c, live.ads,
77         make.adb, makegpr.adb, makeutl.adb, math_lib.adb,
78         mdll-utl.adb, mdll.ads, memroot.adb, memroot.ads,
79         misc.c, mlib-prj.adb, mlib-tgt-hpux.adb,
80         mlib-tgt-linux.adb, mlib-tgt-tru64.adb, mlib-tgt.ads,
81         namet.adb, namet.h, nlists.adb, nlists.ads,
82         nlists.h, opt.ads, osint-b.ads, osint-c.adb,
83         osint-c.ads, osint.adb, osint.ads, output.ads,
84         par-ch10.adb, par-ch12.adb, par-ch2.adb, par-ch3.adb,
85         par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb,
86         par-endh.adb, par-labl.adb, par-prag.adb,
87         par-sync.adb, par-tchk.adb, par-util.adb,
88         par.adb, prep.adb, prep.ads, prepcomp.adb, prj-attr.ads,
89         prj-dect.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
90         prj-nmsc.ads, prj-pp.adb, prj-proc.adb,
91         prj-strt.ads, prj-tree.ads, prj.adb, prj.ads: Fix comment typos.
92
93 2008-03-31  Eric Botcazou  <ebotcazou@adacore.com>
94
95         * decl.c (gnat_to_gnu_entity) <object>: Do not force a non-null
96         size if it has overflowed.
97
98 2008-03-31  Olivier Hainque  <hainque@adacore.com>
99             Eric Botcazou  <ebotcazou@adacore.com>
100
101         * utils2.c (find_common_type): Document assumption on t1/t2 vs
102         lhs/rhs. Force use of lhs type if smaller, whatever the modes.
103
104 2008-03-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105
106         * a-textio.ads, a-witeio.ads, a-ztexio.ads, ali.ads,
107         einfo.ads, erroutc.adb, erroutc.ads, exp_attr.adb,
108         exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
109         exp_pakd.ads, exp_prag.adb, exp_smem.adb,
110         exp_tss.ads, exp_util.adb, exp_util.ads,
111         exp_vfpt.adb, freeze.adb, freeze.ads,
112         frontend.adb, g-alleve.adb, g-altcon.adb,
113         g-altive.ads, g-alveop.ads, g-alvevi.ads,
114         g-arrspl.adb, g-busorg.ads, g-calend.adb,
115         g-calend.ads, g-casuti.ads, g-cgideb.adb,
116         g-comlin.adb, g-comlin.ads, g-curexc.ads,
117         g-debpoo.adb, g-debpoo.ads, g-decstr.adb,
118         g-dirope.adb, g-dirope.ads, g-dynhta.ads,
119         g-dyntab.adb, g-encstr.ads, g-excact.ads,
120         g-except.ads, g-expect.ads, g-heasor.adb,
121         g-hesora.adb, g-hesorg.adb, g-htable.ads,
122         g-locfil.ads, g-md5.adb, g-md5.ads,
123         g-memdum.ads, g-moreex.ads, g-os_lib.adb,
124         g-pehage.adb, g-pehage.ads, g-regexp.adb,
125         g-regexp.ads, g-regpat.adb, g-regpat.ads,
126         g-soccon-aix.ads, g-soccon-darwin.ads,
127         g-soccon-freebsd.ads, g-soccon-hpux-ia64.ads,
128         g-soccon-hpux.ads, g-soccon-irix.ads,
129         g-soccon-linux-64.ads, g-soccon-linux-ppc.ads,
130         g-soccon-linux-x86.ads, g-soccon-lynxos.ads,
131         g-soccon-mingw.ads, g-soccon-solaris-64.ads,
132         g-soccon-solaris.ads, g-soccon-tru64.ads,
133         g-soccon-vms.ads, g-soccon-vxworks.ads,
134         g-soccon.ads, g-socket.adb, g-socket.ads,
135         g-socthi-mingw.adb, g-socthi-vms.adb,
136         g-socthi-vxworks.adb, g-soliop-mingw.ads,
137         g-soliop-solaris.ads, g-soliop.ads, g-spipat.adb,
138         g-spipat.ads, g-string.adb, g-stsifd-sockets.adb: Fix comment
139         typos.
140
141 2008-03-27  Eric Botcazou  <ebotcazou@adacore.com>
142
143         * decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flag
144         if the procedure is imported.
145
146 2008-03-26  Arnaud Charlet  <charlet@adacore.com>
147
148         * adaint.c: Fix warnings.
149
150 2008-03-26  Arnaud Charlet  <charlet@adacore.com>
151
152         * g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec.
153
154 2008-03-26  Arnaud Charlet  <charlet@adacore.com>
155
156         * a-witeio.adb: Fix problem with Current_Output (introduce Self).
157         Fix problem of status check for null file
158
159 2008-03-26  Arnaud Charlet  <charlet@adacore.com>
160
161         * s-proinf-irix-athread.ads, s-vxwork-mips.ads,
162         s-traces.ads, s-vxwork-arm.ads, s-vxwork-ppc.ads, s-vxwork-sparcv9.ads,
163         s-tasinf-mingw.ads, s-tasinf-linux.ads, s-tasdeb.ads, mlib-tgt.ads,
164         i-cstrin.ads, uintp.adb, g-catiio.adb, s-vmexta.ads,
165         s-trafor-default.ads, s-vxwork-m68k.ads: Minor reformatting. Update
166         comments.
167
168 2008-03-26  Thomas Quinot  <quinot@adacore.com>
169
170         PR ada/33688
171         * g-socket.ads, g-socket.adb (Options, Set_Socket_Option,
172         Get_Socket_Option): Add support for Receive_Packet_Info.
173
174         * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
175         g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
176         g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-freebsd.ads,
177         g-soccon-hpux-ia64.ads, g-soccon-solaris-64.ads, g-soccon-darwin.ads,
178         g-soccon-lynxos.ads, g-soccon-linux-64.ads, g-soccon-linux-x86.ads: Add
179         new constants SO_REUSEPORT and IP_PKTINFO
180
181 2008-03-26  Robert Dewar  <dewar@adacore.com>
182
183         * a-taster.adb, s-shasto.adb, s-soflin.adb, s-taasde.adb, s-taenca.adb,
184         a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
185         a-intnam-lynxos.ads, a-retide.adb, a-intnam-tru64.ads, a-intnam-aix.ads,
186         a-intnam-irix.ads, a-intnam-hpux.ads, a-intnam-linux.ads,
187         a-intnam-solaris.ads, a-caldel-vms.adb, a-intnam-vms.ads,
188         a-excpol-abort.adb, a-intnam-mingw.ads, s-interr.adb, s-interr.ads,
189         s-intman.ads, s-gloloc.adb, s-osinte-lynxos-3.ads,
190         s-interr-sigaction.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
191         a-intnam-freebsd.ads, s-osinte-freebsd.ads, s-osinte-lynxos.ads,
192         s-taspri-lynxos.ads, s-osinte-tru64.ads, s-osinte-tru64.ads,
193         s-taspri-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
194         s-osinte-hpux-dce.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads,
195         s-osinte-linux.ads, s-osinte-dummy.ads, s-taprop-dummy.adb,
196         s-taspri-dummy.ads, s-interr-dummy.adb, s-osinte-solaris.ads,
197         s-osinte-mingw.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
198         s-inmaop-vms.adb, s-interr-vms.adb, s-intman-vms.ads, s-osinte-vms.ads,
199         s-osinte-vms.ads, s-taprop-vms.adb, s-taspri-vms.ads,
200         s-taspri-mingw.ads, s-interr-vxworks.adb, s-inmaop-posix.adb,
201         s-intman-vxworks.ads, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
202         s-taspri-vxworks.ads, s-taspri-posix.ads, a-caldel.adb, a-calend.adb,
203         a-elchha.adb, a-dynpri.adb, a-except.adb, a-except.ads, a-interr.ads,
204         a-textio.adb, a-tigeau.ads, atree.adb, s-taprob.adb, s-taprop.ads,
205         s-tarest.adb, s-tarest.ads, s-tasini.adb, s-taskin.adb, s-taskin.ads,
206         s-tasque.adb, s-tasren.adb, s-tasren.ads, s-tassta.adb, s-tassta.ads,
207         s-tasuti.adb, s-tataat.adb, s-tataat.ads, s-tpoben.adb, s-tpoben.ads,
208         s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-valrea.adb,
209         s-valuti.adb, a-intnam-darwin.ads, s-osinte-darwin.ads, s-solita.adb,
210         a-ztinau.ads, s-osinte-linux-hppa.ads, a-except-2005.adb,
211         a-except-2005.ads, a-rttiev.adb, s-osinte-vxworks6.ads, s-regexp.adb,
212         s-tasloc.adb: Minor reformatting.
213         Update comments.
214         Remove "used for" sections from comments.
215
216 2008-03-26  Robert Dewar  <dewar@adacore.com>
217
218         * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
219         s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
220         s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
221         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
222         s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
223         a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
224         a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
225         a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
226         a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
227         a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
228         a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
229         i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
230         a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb,
231         s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads,
232         s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
233         double spaced if it fits on one line and otherwise single spaced.
234
235 2008-03-26  Arnaud Charlet  <charlet@adacore.com>
236
237         * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-lynxos.adb, 
238         s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb, 
239         s-taprop-posix.adb (Create_Task): Do not attempt to set task priority
240         or task info if the thread could not be created.
241
242 2008-03-26  Arnaud Charlet  <charlet@adacore.com>
243
244         * gnatvsn.ads (Library_Version): Bump to 4.4.
245         (Current_Year): Bump to 2008.
246
247 2008-03-26  Robert Dewar  <dewar@adacore.com>
248
249         * ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record
250
251         * bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure
252
253         * debug.adb: Add debug flags d.r and d.v
254         Add debug flag .T (Optimize_Alignment (Time))
255         Add debug flag .S (Optimize_Alignment (Space))
256
257         * freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components
258         depending on setting of relevant debug flags.
259         Replace use of Warnings_Off by Has_Warnings_Off
260         (Freeze_Entity): In circuit for warning on suspicious convention
261         actuals, do not give warning if subprogram has same entity as formal
262         type, or if subprogram does not come from source.
263         (Freeze_Entity): Don't reset Is_Packed for fully rep speced record
264         if Optimize_Alignment set to Space.
265
266         * frontend.adb: Add call to Sem_Warn.Initialize
267         Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings
268         Reset Optimize_Alignment mode from debug switches .S and .T
269
270         * layout.adb (Layout_Composite_Object): Rewritten for
271         Optimize_Aligment pragma.
272
273         * lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment
274         mode.
275
276         * opt.ads, opt.adb: (Optimize_Alignment): New global switch
277
278         * par-prag.adb (N_Pragma): Chars field removed, use Chars
279         (Pragma_Identifier (..  instead, adjustments throughout to accomodate
280         this change. Add entry for pragma Optimize_Alignment
281
282         * sem_prag.adb (N_Pragma): Chars field removed, use Chars
283         (Pragma_Identifier (..
284         instead, adjustments throughout to accomodate this change.
285         (Process_Compile_Time_Warning_Or_Error): Use !! for generated msg
286         (Favor_Top_Level): Use new function Is_Access_Subprogram_Type
287         Add implementation of pragma Optimize_Alignment
288
289 2008-03-26  Vincent Celier  <celier@adacore.com>
290
291         * a-szuzti.adb, a-swuwti.adb, a-suteio.adb (functions Get_Line):
292         Improve memory usage to avoid use of stack.
293
294 2008-03-26  Robert Dewar  <dewar@adacore.com>
295
296         * a-teioed.ads: Correct value of Default_Fill
297
298         * a-teioed.adb (Image): Use Fill_Character instead of '*' to fill
299
300 2008-03-26  Robert Dewar  <dewar@adacore.com>
301
302         * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb: Fix problem
303         with Current_Output (introduce Self).
304
305 2008-03-26  Robert Dewar  <dewar@adacore.com>
306
307         * checks.adb (Ensure_Valid): Capture valid status if possible
308         (eliminate checks)
309
310 2008-03-26  Robert Dewar  <dewar@adacore.com>
311
312         * stand.ads: Deal with reordering of package standard declarations
313
314         * cstand.adb: Put package Standard declarations in proper order
315
316 2008-03-26  Robert Dewar  <dewar@adacore.com>
317
318         * einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars
319         (Pragma_Identifier (.. instead.
320         (OK_To_Reorder_Components): New flag
321         (Has_Entries): Code cleanup.
322         (Warnings_Off_Used): New flag
323         (Warnings_Off_Used_Unmodified): New flag
324         (Warnings_Off_Used_Unreferenced): New flag
325         (Has_Warnings_Off): New function
326         (Has_Unmodified): New function
327         (Has_Unreferenced): New function
328         (Is_Trivial_Subprogram): New flag
329         (Is_Static_Dispatch_Table_Entity): New attribute.
330         Change name Access_Subprogram_Type_Kind to Access_Subprogram_Kind
331         (more consistent with other similar names)
332         (Access_Subprogram_Type): New classification function
333
334 2008-03-26  Robert Dewar  <dewar@adacore.com>
335
336         * errout.ads: Document new !! insertion sequence
337
338         * errout.adb (N_Pragma): Chars field removed, use Chars
339         (Pragma_Identifier (..  instead.
340         Replace use of Warnings_Off by Has_Warnings_Off
341         (Error_Msg_Internal): Don't delete warning ending in !!
342
343 2008-03-26  Robert Dewar  <dewar@adacore.com>
344
345         * par.adb (Check_No_Right_Paren): Removed no longer used
346
347         * par-ch10.adb (N_Pragma): Chars field removed, use Chars
348         (Pragma_Identifier (..  instead.
349
350         * par-ch10.adb (P_Subunit): Improvement in error recovery and message
351
352         * par-tchk.adb, par-ch5.adb, par-ch6.adb, par-ch3.adb,
353         par-ch4.adb: Minor improvements in error recovery and messages.
354
355         * erroutc.adb (Test_Style_Warning_Serious_Msg): Treat style msgs as
356         non-serious
357
358         * par-ch9.adb: Minor improvements in error recovery and messages
359         (P_Protected): Better error recovery for "protected type x;"
360
361         * par-util.adb: Minor improvements in error recovery and messages
362         (Check_No_Right_Paren): Removed no longer used
363
364 2008-03-26  Ed Schonberg  <schonberg@adacore.com>
365
366         * exp_aggr.adb (Replace_Type): When checking for self-reference, verify
367         that the prefix of an attribute is the type of the aggregate being
368         expanded.
369
370 2008-03-26  Javier Miranda  <miranda@adacore.com>
371             Robert Dewar  <dewar@adacore.com>
372
373         * exp_attr.adb (N_Pragma): Chars field removed.
374         (Expand_N_Attribute_Reference): If the designated type associated with
375         attribute 'Unrestricted_Access is a subprogram entity then replace it
376         by an E_Subprogram_Type itype.
377         Implement attribute Old
378
379         * sem_attr.ads (Attribute_Class_Array): Move to snames.ads
380
381         * sem_attr.adb (Build_Access_Subprogram_Itype): Add documentation.
382         Replace call to
383         New_Internal_Entity by call to Create_Itype to centralize calls
384         building itypes, ad propagate the convention of the designated
385         subprogram. In addition, disable the machinery cleaning constant
386         indications from all entities in current scope when 'Unrestricted_Access
387         corresponds with a node initializing a dispatch table slot.
388         (Analyze_Attribute): Parameterless attributes returning a string or a
389         type will not be called with improper arguments, so we can remove junk
390         code that was dealing with this case.
391         Implement attribute Old
392
393         * snames.ads, snames.h, snames.adb: Add entries for attribute Old
394         Add entry for pragma Optimize_Alignment
395         New standard names Sync and Synchronize
396
397 2008-03-26  Robert Dewar  <dewar@adacore.com>
398             Arnaud Charlet  <charlet@adacore.com>
399
400         * exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise
401         stmt.
402         (No_Exception_Propagation_Active): New function.
403         (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
404         Update comments, and review all uses of No_Exception_Propagation, which
405         are now correct and in sync with what gigi expects.
406
407         * restrict.ads, restrict.adb (No_Exception_Propagation_Active): New
408         function.
409         (Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
410         Update comments, and review all uses of No_Exception_Propagation, which
411         are now correct and in sync with what gigi expects.
412
413 2008-03-26  Ed Schonberg  <schonberg@adacore.com>
414
415         * sem_ch3.adb (Access_Definition): If the access type is the return
416         result of a protected function, create an itype reference for it
417         because usage will be in an inner scope from the point of declaration.
418         (Build_Derived_Record_Type): Inherit Reverse_Bit_Order and
419         OK_To_Reorder_Components.
420         (Make_Index): If an overloaded range includes a universal integer
421         interpretation, resolve to Standard.Integer.
422         (Analyze_Subtype_Indication): Copy Convention to subtype
423         (Check_Abstract_Interfaces): Complete semantic checks on the legality of
424         limited an synchronized progenitors in type declaration and private
425         extension declarations.
426
427         * exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is a
428         protected subprogram body, determine proper scope from subprogram
429         declaration.
430
431 2008-03-26  Robert Dewar  <dewar@adacore.com>
432
433         * exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for
434         No_Run_Time_Mode
435
436 2008-03-26  Gary Dismukes  <dismukes@adacore.com>
437
438         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation
439         of a heap allocator for a limited unconstrained function return when
440         resstriction No_Allocators is active.
441         (Analyze_Allocator): The restriction No_Allocators is now only checked
442         on allocators that have Comes_From_Source set, as per RM-H.4(7).
443
444         * sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generation
445         of a heap allocator for a limited unconstrained function return when
446         resstriction No_Allocators is active.
447         (Analyze_Allocator): The restriction No_Allocators is now only checked
448         on allocators that have Comes_From_Source set, as per RM-H.4(7).
449         (Has_Fixed_Op):  If the name in a function call is Standard."*" and the
450         operands are fixed-point types, the universal_fixed predefined operation
451         is used, regardless of whether the operand type (s) have a primitive
452         operation of the same name.
453
454 2008-03-26  Javier Miranda  <miranda@adacore.com>
455
456         * exp_disp.adb (Make_DT, Make_Secondary_DT): Set attribute
457         Is_Static_Dispatch_Table
458         (Build_Dispatch_Tables): Replace calls to Exchange_Entities() by calls
459         to Exchange_Declarations to exchange the private and full-view. Bug
460         found working in this issue.
461         (Expand_Dispatching_Call): Propagate the convention of the subprogram
462         to the subprogram pointer type.
463         (Make_Secondary_DT): Replace generation of Prim'Address by
464         Address (Prim'Unrestricted_Access)
465         (Make_DT): Replace generation of Prim'Address by
466         Address (Prim'Unrestricted_Access)
467         (Make_Disp_*_Bodies): When compiling for a restricted profile, use
468         simple call form for single entry.
469         (Make_DT): Handle new contents of Access_Disp_Table (access to dispatch
470         tables of predefined primitives).
471         (Make_Secondary_DT): Add support to handle access to dispatch tables of
472         predefined primitives.
473         (Make_Tags): Add entities to Access_Dispatch_Table associated with
474         access to dispatch tables containing predefined primitives.
475
476         * exp_ch6.adb (N_Pragma): Chars field removed, use Chars
477         (Pragma_Identifier (..  instead, adjustments throughout to accomodate
478         this change.
479         (Register_Predefined_DT_Entry): Updated to handle the new contents
480         of attribute Access_Disp_Table (pointers to dispatch tables containing
481         predefined primitives).
482
483         * exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): New
484         subprogram.
485         (Find_Interface_ADT): Updated to skip the new contents of attribute
486         Access_Dispatch_Table (pointers to dispatch tables containing predefined
487         primitives).
488
489         * sem_util.adb (Has_Abstract_Interfaces): Add missing support for
490         concurrent types.
491         (Set_Convention): Use new function Is_Access_Subprogram_Type
492         (Collect_Interfaces_Info): Updated to skip the new contents of attribute
493         Access_Dispatch_Table (pointers to dispatch tables containing predefined
494         primitives).
495
496         * exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improve
497         expanded code avoiding calls to Build_Predef_Prims.
498         (Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoiding
499         call to Build_Get_Predefined_Prim_Op_Address.
500
501 2008-03-26  Javier Miranda  <miranda@adacore.com>
502
503         * exp_ch7.adb (Make_Clean): Code cleanup using the new centralized
504         subprogram Corresponding_Runtime_Package to know the runtime package
505         that will provide support to a given protected type.
506
507         * exp_ch9.adb (Add_Private_Declarations,
508         Build_Protected_Subprogram_Call,
509         Build_Protected_Entry, Build_Simple_Entry_Call,
510         Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
511         Expand_N_Timed_Entry_Call, Make_Initialize_Protection): Code
512         cleanup using the new centralized subprogram Corresponding_Runtime
513         Package to know the runtime package that provides support to
514         a given protected type.
515
516 2008-03-26  Ed Schonberg  <schonberg@adacore.com>
517
518         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component
519         assignment is within the initialization procedure for a packed array,
520         and Initialize_Scalars is enabled, compile right-hand side with checks
521         off, because the value is purposely out of range.
522
523 2008-03-26  Vincent Celier  <celier@adacore.com>
524
525         * gnatcmd.adb: Add processing for GNAT SYNC
526
527         * vms_conv.ads: (Command_Type): Add command Sync
528
529         * vms_conv.adb (Initialize): Add Command_List data for new command Sync
530
531         * vms_data.ads: Add entries for -gnatw.w
532         Add qualifier for gnatstub --header-file option
533         Add switches for GNAT SYNC
534
535         * prj-attr.ads, prj-attr.adb: Add new package Synchronize for GNAT SYNC
536         (Add_Package_Name): New procedure
537         (Package_Name_List): New function
538         (Initialize): Add known package names to the list
539         (Register_New_Package): Add the new package name to the list
540
541 2008-03-26  Robert Dewar  <dewar@adacore.com>
542
543         * g-pehage.adb, g-regist.adb, g-spipat.ads, g-spipat.adb,
544         s-asthan.adb, s-parint.adb, s-rpc.adb, s-stchop.adb: Replace
545         Raise_Exception by "raise with" construct.
546
547 2008-03-26  Pascal Obry  <obry@adacore.com>
548
549         * Makefile.in: Add proper GNAT.Serial_Communications implementation on
550         supported platforms.
551         
552         * Makefile.rtl: Add g-sercom.o.
553         
554         * impunit.adb: Add g-sercom.adb.
555         
556         * s-crtl.ads (open): New routine.
557         (close): Likewise.
558         (write): Likewise.
559         
560         * s-osinte-mingw.ads (BYTE): New type.
561         (CHAR): Likewise.
562         (OVERLAPPED): Likewise.
563         (GENERIC_READ): New constant.
564         (GENERIC_WRITE): Likewise.
565         (OPEN_EXISTING): Likewise.
566         (PSECURITY_ATTRIBUTES): Removed this type, use anonymous access
567         type instead.
568         (CreateFile): New routine.
569         (WriteFile): Likewise.
570         (ReadFile): Likewise.
571         (CloseHandle): Move next to the other file oriented routines.
572
573         * g-sercom.ads: New unit.
574
575         * g-sercom.adb: Default implementation, calls to this unit will raise
576         a program error exception.
577         
578         * g-sercom-mingw.adb, g-sercom-linux.adb: Windows and
579         GNU/Linux implementations.
580
581 2008-03-26  Robert Dewar  <dewar@adacore.com>
582
583         * itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind
584
585         * sem_ch13.adb (Validate_Unchecked_Conversion): Give warning for
586         unchecked conversion for different conventions only for subprogram
587         pointers or on VMS.
588
589 2008-03-26  Vincent Celier  <celier@adacore.com>
590
591         * osint-c.adb (Set_Library_Info_Name): Use canonical case file names
592         to check if the specified object file is correct.
593
594 2008-03-26  Thomas Quinot  <quinot@adacore.com>
595
596         * sem_cat.adb (Validate_RACW_Primitives): Do not rely on
597         Comes_From_Source to exclude primitives from being checked. We want to
598         exclude predefined primitives only, so use the appropriate specific
599         predicate. Also, flag a formal parameter of an anonymous
600         access-to-subprogram type as illegal for a primitive operation of a
601         remote access to class-wide type.
602
603 2008-03-26  Vincent Celier  <celier@adacore.com>
604
605         * prj-dect.adb (Parse_Package_Declaration): When a package name is not
606         known, check if it may be a missspelling of a known package name. In
607         not verbose, not mode, issue warnings only if the package name is a
608         possible misspelling.
609         In verbose mode, always issue a warning for a not known package name,
610         plus a warning if the name is a misspelling of a known package name.
611
612         * prj-part.adb (Post_Parse_Context_Clause): Modify so that only non
613         limited withs or limited withs are parse during one call.
614         (Parse_Single_Project): Post parse context clause in two passes: non
615         limited withs before current project and limited withs after current
616         project.
617
618         * prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended
619         project with the name With_Name, even if it is only extended indirectly.
620         (Recursive_Process): Process projects in order: first single withs, then
621         current project, then limited withs.
622
623         * prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended
624         project with the name With_Name, even if it is only extended indirectly.
625
626 2008-03-26  Robert Dewar  <dewar@adacore.com>
627
628         * scn.adb (Initialize_Scanner): Format messages belong on standard error
629
630 2008-03-26  Ed Schonberg  <schonberg@adacore.com>
631
632         * sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is
633         a generic subprogram that is imported, do not attempt to compile
634         non-existent body.
635
636         * sem_ch12.adb (Instantiate_Subprogram_Body): if the generic is
637         imported, do not generate a raise_program_error for the non-existent
638         body.
639         (Pre_Analyze_Actuals): If an error is detected during pre-analysis,
640         perform minimal name resolution on the generic to avoid spurious
641         warnings.
642         (Find_Actual_Type): the designated type of the actual in a child unit
643         may be declared in a parent unit without being an actual.
644
645 2008-03-26  Robert Dewar  <dewar@adacore.com>
646
647         * sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
648         * sinfo.ads, sinfo.adb (From_At_End): New flag
649
650 2008-03-26  Ed Schonberg  <schonberg@adacore.com>
651
652         * sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on
653         operations that have an interface parameter.
654         (Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flag
655         Don't treat No_Return call as raise.
656
657         * sem_disp.adb (Check_Dispatching_Operations): apply check for
658         non-primitive interface primitives to access parameters, not to all
659         parameters of an access type.
660
661 2008-03-26  Ed Schonberg  <schonberg@adacore.com>
662
663         * sem_ch7.adb (Install_Parent_Private_Declarations): If the private
664         declarations of a parent unit are made visible when compiling a child
665         instance, the parent is not a hidden open scope, even though it may
666         contain other pending instance.
667         
668         * sem_ch8.adb (Restore_Scope_Stack): If an entry on the stack is a
669         hidden open scope for some child instance, it does affect the
670         visibility status of other stach entries.
671         (Analyze_Object_Renaming): Check that a class-wide object cannot be
672         renamed as an object of a specific type.
673
674 2008-03-26  Robert Dewar  <dewar@adacore.com>
675
676         * sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite
677         recursion and raise SE directly.
678         (Resolve_Actuals): Reset Never_Set_In_Source if warnings off is
679         set for formal type for IN mode parameter.
680
681 2008-03-26  Robert Dewar  <dewar@adacore.com>
682
683         * sem_warn.ads, sem_warn.adb (Warnings_Off_Pragmas): New table
684         (Initialize): New procedure
685         (Output_Warnings_Off_Warnings): New procedure
686         (Check_References): Suppress certain msgs if Is_Trivial_Subprogram
687         (Output_Non_Modifed_In_Out_Warnings): Ditto
688         (Warn_On_Unreferenced_Entity): Ditto
689
690 2008-03-26  Vincent Celier  <celier@adacore.com>
691
692         * a-direct.adb (Start_Search): Raise Use_Error if the directory is not
693         readable.
694
695 2008-03-26  Matthew Heaney  <heaney@adacore.com>
696
697         * a-ciorse.ads, a-cidlli.ads, a-cdlili.ads, a-cihase.ads, a-cohase.ads, 
698         a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-coorse.ads:
699         Marked with clauses as private, and controlled operations as overriding
700
701 2008-03-26  Robert Dewar  <dewar@adacore.com>
702
703         * g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized
704
705 2008-03-26  Robert Dewar  <dewar@adacore.com>
706
707         * back_end.adb, back_end.ads: Minor reformatting
708
709         * bindgen.adb: Minor clarification of comments
710
711         * fname.ads: Minor comment fixes
712
713         * g-altive.ads, g-catiio.ads, g-trasym.ads, prj.ads,
714         prj-nmsc.adb, sem_aggr.adb: Minor reformatting
715
716         * xeinfo.adb, xnmake.adb, xsinfo.adb, xtreeprs.adb,
717         xsnames.adb: Remove warnings off pragma no longer needed
718
719         * a-catizo.ads, a-calari.ads, a-calfor.adb,
720         a-calfor.ads: Fix header.
721
722 2008-03-26  Tristan Gingold  <gingold@adacore.com>
723
724         * init.c: Do not adjust pc for HPARITH on alpha/vms.
725
726 2008-03-26  Robert Dewar  <dewar@adacore.com>
727
728         * lib-xref.adb: (OK_To_Set_Reference): New function
729         (Generate_Reference): Don't set referenced from occurrence in Warnings,
730         Unmodified, or Unreferenced pragma
731
732 2008-03-26  Robert Dewar  <dewar@adacore.com>
733
734         * alloc.ads: Add entries for Warnings_Off_Pragmas table
735
736 2008-03-26  GNAT Script  <nobody@adacore.com>
737
738         * Make-lang.in: Makefile automatically updated
739
740 2008-03-26  Robert Dewar  <dewar@adacore.com>
741
742         * tbuild.ads, tbuild.adb, trans.c, sprint.adb, exp_prag.adb, decl.c,
743         par-ch2.adb, sem_elab.adb, sem_util.ads (N_Pragma): Chars field
744         removed, use Chars (Pragma_Identifier (..  instead, adjustments
745         throughout to accomodate this change.
746
747         * s-pooglo.ads, s-pooloc.ads: Minor comment updates
748
749         * exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (not
750         Einfo.Set_Needs_Debug_Info)
751
752 2008-03-26  Robert Dewar  <dewar@adacore.com>
753
754         * gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W
755         Add description for the new gnatstub option '--header-file'
756         clarification of -gnatwz/-gnatwZ
757         Add a "Irix-Specific Considerations" section to document the need to
758         set LD_LIBRARY_PATH when using the default shared runtime library.
759         Added documentation for both gcov and gprof.
760
761         * gnat_rm.texi: Document that pragma Compile_Time_Warning generates
762         messages that are not suppressed when clients are compiled.
763         Add documentation of s-pooglo s-pooloc
764         Document the new GNAT.Serial_Communications API.
765         Add documentation for 'Old attribute
766         Add description of pragma Optimize_Alignment
767
768         * ug_words: Add entries for -gnatw.w -gnatw.W
769
770         * usage.adb: Add line for -gnatw.w (warn on warnings off)
771
772 2008-03-25  Eric Botcazou  <ebotcazou@adacore.com>
773
774         Revert
775         2008-03-05  Eric Botcazou  <ebotcazou@adacore.com>
776         PR ada/35186
777         * decl.c (maybe_pad_type): Avoid padding an integral type when
778         bumping its alignment is sufficient.
779
780 2008-03-25  Arnaud Charlet  <charlet@adacore.com>
781
782         * exp_ch6.adb, exp_disp.adb: Update copyright notice.
783         Fix wrong formatting (lines too long)
784
785 2008-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
786
787         * 9drpc.adb, a-caldel-vms.adb, a-caldel.adb,
788         a-calend-vms.adb, a-calend.adb, a-calend.ads,
789         a-calfor.adb, a-chahan.ads, a-chtgke.adb,
790         a-cihama.ads, a-ciorse.adb, a-clrefi.ads,
791         a-cohama.ads, a-comlin.ads, a-coorse.adb,
792         a-crbtgk.adb, a-direct.adb, a-except-2005.adb,
793         a-except-2005.ads, a-except.adb, a-except.ads,
794         a-exexda.adb, a-exexpr-gcc.adb, a-exexpr.adb,
795         a-exextr.adb, a-filico.ads, a-finali.ads,
796         a-intnam-aix.ads, a-intnam-solaris.ads, a-ngcefu.adb,
797         a-ngelfu.adb, a-numaux-darwin.adb, a-numeri.ads,
798         a-sequio.ads, a-strbou.ads, a-strfix.adb,
799         checks.adb, exp_ch3.adb, exp_ch4.adb,
800         exp_ch4.ads, exp_ch5.adb, exp_ch6.adb,
801         exp_ch6.ads, exp_ch7.adb, exp_ch7.ads,
802         exp_ch9.adb, exp_ch9.ads, exp_dbug.adb,
803         exp_dbug.ads, exp_disp.adb, exp_dist.adb,
804         exp_dist.ads, exp_fixd.adb, exp_fixd.ads: Fix comment typos.
805
806 2008-03-24  Robert Dewar  <dewar@adacore.com>
807
808         * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb,
809         s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb,
810         s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads,
811         s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb,
812         s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb,
813         a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
814         a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads,
815         a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads,
816         a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads,
817         a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads,
818         a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb,
819         i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads,
820         a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb,
821         s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads,
822         s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads,
823         double spaced if it fits on one line and otherwise single spaced.
824
825 2008-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
826
827         PR documentation/15479
828         * Make-lang.in (doc/gnat_ugn.texi) Renamed from ...
829         (doc/gnat_ugn_unw.texi): ... this, and adjusted.
830         (doc/gnat_ugn.info): Renamed from ...
831         (doc/gnat_ugn_unw.info): ... this.
832         (doc/gnat_ugn.dvi): Renamed from ...
833         (doc/gnat_ugn_unw.dvi): ... this.
834         (doc/gnat_ugn.pdf): Renamed from ...
835         (doc/gnat_ugn_unw.pdf): ... this.
836         (ADA_INFOFILES, ADA_PDFFILES, ada.install-info, ada.dvi):
837         Adjusted.
838         * gnat_ugn.texi (FILE): Hard-code gnat_ugn; set filename
839         unconditionally to gnat_ugn.info.  Fix cross references to the
840         GNAT Reference Manual.  Convert links to the GCC, GDB, Emacs,
841         and GNU make manuals to be proper texinfo links.
842         * gnat_rm.texi: Fix cross references to the GNAT User's Guide.
843
844 2008-03-21  Olivier Hainque  <hainque@adacore.com>
845
846         * trans.c (Attribute_to_gnu) <'length>: Compute as (hb < lb)
847         ? 0 : hb - lb + 1 instead of max (hb - lb + 1, 0).
848
849 2008-03-21  Eric Botcazou  <ebotcazou@adacore.com>
850
851         * trans.c (addressable_p): Add notes on addressability issues.
852
853 2008-03-21  Olivier Hainque  <hainque@adacore.com>
854             Ed Schonberg  <schonberg@adacore.com>
855
856         * trans.c (addressable_p): Accept COND_EXPR when both arms
857         are addressable.
858         (gnat_gimplify_expr): Let the gimplifier handle &COND_EXPR.
859         (call_to_gnu): Do not use name reference in the error message
860         for a misaligned by_reference_parameter. The actual may be a
861         general expression.
862
863 2008-03-18  Paolo Bonzini  <bonzini@gnu.org>
864
865         * misc.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
866         
867 2008-03-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
868
869         * gnat_rm.texi (Implementation Defined Characteristics)
870         (Wide_Text_IO, Wide_Wide_Text_IO): Add @var annotations where
871         appropriate.
872         * gnat_ugn.texi (Wide Character Encodings, Switches for gnatbind)
873         (Switches for gnatchop, Installing a library): Likewise.
874
875 2008-03-10  Eric Botcazou  <ebotcazou@adacore.com>
876
877         * trans.c (emit_range_check): Do not emit the check if the base type
878         of the expression is the type against which its range must be checked.
879
880 2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
881
882         * decl.c (maybe_pad_type): Use value_factor_p.
883
884 2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
885
886         * lang.opt (nostdlib): Move around.
887         * misc.c (gnat_handle_option): Fix formatting.
888         (gnat_dwarf_name): Move around.
889         * trans.c (Case_Statement_to_gnu): Fix formatting.
890         (gnat_to_gnu): Likewise.
891         * utils.c (aggregate_type_contains_array_p): Likewise.
892         (create_subprog_decl): Likewise.
893
894 2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
895
896         * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not
897         bother propagating the TYPE_USER_ALIGN flag when creating a JM type.
898
899 2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
900
901         * decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force
902         BIGGEST_ALIGNMENT when capping the alignment of records with
903         strict alignment and size clause.
904
905 2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
906
907         * lang-specs.h: Pass -gnatwa if -Wall is passed.
908         * misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused
909         and -Wuninitialized.
910         (gnat_post_options): Clear warn_unused_parameter.
911
912 2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
913
914         * utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently
915         aligned bit-fields, bumping the alignment of the record type if deemed
916         profitable.
917         (value_factor_p): Return false instead of 0.
918
919 2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
920
921         * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add support
922         for scalar types with small alignment.
923
924 2008-03-08  Eric Botcazou  <ebotcazou@adacore.com>
925
926         * trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label
927         from that of the front-end's end label.
928         (gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward goto
929         from that of the loop label.
930
931 2008-03-07  Eric Botcazou  <ebotcazou@adacore.com>
932
933         * decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Add
934         comment for the packed array type case.
935         * utils.c (build_template): Use a loop to strip padding or
936         containing records for justified modular types.
937
938 2008-03-07  Eric Botcazou  <ebotcazou@adacore.com>
939
940         * decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously
941         large alignments specified for types.
942         (validate_alignment): Minor cleanup.
943
944 2008-03-07  Eric Botcazou  <ebotcazou@adacore.com>
945
946         * decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined.
947         (gnat_to_gnu_entity) <E_Record_Type>: Try to get a smaller form of
948         the component for packing, if possible, as well as if a component
949         size clause is specified.
950         <E_Record_Subtype>: For an array type used to implement a packed
951         array, get the component type from the original array type.
952         Try to get a smaller form of the component for packing, if possible,
953         as well as if a component size clause is specified.
954         (round_up_to_align): New function.
955         (make_packable_type): Add in_record parameter.
956         For a padding record, preserve the size.  If not in_record and the
957         size is too large for an integral mode, attempt to shrink the size
958         by lowering the alignment.
959         Ditch the padding bits of the last component.
960         Compute sizes and mode manually, and propagate the RM size.
961         Return a BLKmode record type if its size has shrunk.
962         (maybe_pad_type): Use MAX_FIXED_MODE_SIZE instead of BIGGEST_ALIGNMENT.
963         Use Original_Array_Type to retrieve the type in case of an error.
964         Adjust call to make_packable_type.
965         (gnat_to_gnu_field): Likewise.
966         (concat_id_with_name): Minor tweak.
967         * trans.c (larger_record_type_p): New predicate.
968         (call_to_gnu): Compute the nominal type of the object only if the
969         parameter is by-reference.  Do the conversion actual type -> nominal
970         type if the nominal type is a larger record.
971         (gnat_to_gnu): Do not require integral modes on the source type to
972         avoid the conversion for types with identical names.
973         (addressable_p): Add gnu_type parameter.  If it is specified, do not
974         return true if the expression is not addressable in gnu_type.
975         Adjust recursive calls.
976         * utils.c (finish_record_type): Remove dead code.
977
978 2008-03-05  Eric Botcazou  <ebotcazou@adacore.com>
979
980         PR ada/35186
981         * decl.c (maybe_pad_type): Avoid padding an integral type when
982         bumping its alignment is sufficient.
983
984 2008-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
985
986         * gnatfind.adb, gnatxref.adb: Fix argument parsing typos.
987         * s-auxdec-empty.adb, s-auxdec.adb: Fix typos in copyright
988         statement.
989         * a-ngcoar.adb, a-ngrear.adb, g-awk.adb, g-debpoo.adb,
990         gprep.adb, make.adb, makegpr.adb, par-ch6.adb, prj-nmsc.adb,
991         sem_attr.adb, sem_ch4.adb, sem_ch8.adb: Fix typos in ada source
992         code output strings.
993         * sem_type.adb, system-vms-ia64.ads, system-vms.ads,
994         system-vms_64.ads: Fix typos in ada source code comments.
995         * sinfo-cn.adb: Remove incomplete sentence.
996
997         PR documentation/15479
998         * gnat_rm.texi, gnat_ugn.texi: Avoid standalone `non' word.
999
1000 2008-02-27  Samuel Tardieu  <sam@rfc1149.net>
1001
1002         PR ada/22255
1003         * s-fileio.adb (Reset): Do not raise Use_Error if mode isn't changed.
1004
1005 2008-02-27  Samuel Tardieu  <sam@rfc1149.net>
1006
1007         PR ada/34799
1008         * sem_ch13.adb (Analyze_Record_Representation_Clause): Check
1009         that underlying type is present.
1010
1011 2008-02-26  Tom Tromey  <tromey@redhat.com>
1012
1013         * misc.c (internal_error_function): Remove test of
1014         USE_MAPPED_LOCATION.
1015         * trans.c (gigi): Remove test of USE_MAPPED_LOCATION.
1016         (Sloc_to_locus): Remove old location code.
1017
1018 2008-02-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1019
1020         * gnat_rm.texi, gnat_ugn.texi: Fix spacing after `e.g.' and
1021         `i.e.' by adding comma or `@:' as appropriate.
1022         * gnat_rm.texi (Pragma Wide_Character_Encoding): Instead of
1023         plain characters `C', use `@samp{C}'.
1024         * gnat_ugn.texi (File Naming Rules, About gnatkr)
1025         (Krunching Method): Likewise.
1026
1027         * gnat_ugn.texi (Conventions): List environment variables and
1028         metasyntactic variables.
1029         (Compiling Programs): Fix notation of metasyntactic variables.
1030         Add @file where appropriate.  Use @file for file extensions,
1031         @samp for strings.
1032         * gnat_rm.texi, gnat_ugn.texi: Where appropriate, use @samp
1033         instead of @file, @env instead of @code.
1034
1035 2008-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1036
1037         PR documentation/15479
1038         * gnat_rm.texi, gnat_ugn.texi: Where appropriate, replace `..'
1039         and `...' with `@dots{}' or `@enddots{}'.
1040
1041         PR documentation/15479
1042         * gnat_rm.texi, gnat_ugn.texi: Where appropriate, add @command,
1043         use @command instead of @code, @option instead of @samp or @code,
1044         @code instead of @var, @samp instead of @file.
1045
1046         PR documentation/15479
1047         * gnat_ugn.texi (Using gnatmake in a Makefile): Do not ignore errors
1048         in Makefile rules, by using `&&' rather than `;'.
1049
1050 2008-02-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1051
1052         PR documentation/15479
1053         * gnat_ugn.texi: In non-code, avoid space before colon.
1054         (Regular Expressions in gnatfind and gnatxref): Fix indentation.
1055         (Examples of gnatxref Usage): Use @command{vi} instead of
1056         @file{vi}.
1057         (Character Set Control): Do not use @code for UTF-8.
1058         (Validity Checking): Fix typo "NaNs" instead of "NaN's".  Do not
1059         use @code for IEEE.
1060         * gnat_rm.texi (Aggregates with static bounds): Fix typo in code
1061         sample.
1062         * gnat_rm.texi, gnat_ugn.texi: Fix typos.  Bump copyright years.
1063
1064 2008-02-11  Joel Sherrill  <joel.sherrill@oarcorp.com>
1065
1066         PR ada/35143
1067         * env.c: Add __rtems__ to if defined.
1068         * s-osinte-rtems.adb: Add To_Target_Priority.  Fix formatting.
1069         * s-osinte-rtems.ads: Add To_Target_Priority prototype and
1070         PTHREAD_SCOPE_PROCESS/PTHREAD_SCOPE_SYSTEM constants.  Add
1071         pragma Convention as required.
1072         * gsocket.h: Make compile in and out of RTS.
1073         * Makefile.in: Add system-rtems.ads.  Build DEC extensions.
1074         Use g-soccon-rtems.ads.
1075         * g-soccon-rtems.ads, system-rtems.ads: New files.
1076
1077 2008-02-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1078
1079         PR other/35107
1080         * Make-lang.in (gnat1): Add $(GMPLIBS).
1081
1082 2008-01-26  Eric Botcazou  <ebotcazou@adacore.com>
1083
1084         * decl.c (components_to_record): Improve comment.
1085
1086 2008-01-22  Eric Botcazou  <ebotcazou@adacore.com>
1087
1088         * decl.c (components_to_record): Do not reuse the empty union type
1089         if there is a representation clause on the record.
1090         * trans.c (addressable_p): Return true for INTEGER_CST.
1091
1092 2008-01-21  Eric Botcazou  <ebotcazou@adacore.com>
1093
1094         * trans.c (gnat_to_gnu) <N_Free_Statement>: Use POINTER_PLUS_EXPR
1095         in pointer arithmetics.
1096         * utils2.c (build_allocator): Likewise.
1097
1098 2008-01-17  Eric Botcazou  <ebotcazou@adacore.com>
1099
1100         * utils.c (build_function_stub): Properly build the call expression.
1101
1102 2008-01-14  Eric Botcazou  <ebotcazou@adacore.com>
1103
1104         * decl.c (gnat_to_gnu_entity) <object>: Process renamings
1105         before converting the expression to the type of the object.
1106         * trans.c (maybe_stabilize_reference) <CONSTRUCTOR>: New case.
1107         Stabilize constructors for special wrapping types.
1108
1109 2008-01-13  Eric Botcazou  <ebotcazou@adacore.com>
1110
1111         * trans.c (call_to_gnu): Invoke the addressable_p predicate only
1112         when necessary.  Merge some conditional statements.  Update comments.
1113         Rename unchecked_convert_p local variable to suppress_type_conversion.
1114         Do not suppress conversions in the In case.
1115         (addressable_p) <VIEW_CONVERT_EXPR>: Do not take alignment issues
1116         into account on non strict-alignment platforms.
1117
1118 2008-01-12  Eric Botcazou  <ebotcazou@adacore.com>
1119
1120         * utils.c (aggregate_type_contains_array_p): New predicate.
1121         (create_field_decl): In a packed record, force byte alignment
1122         for fields without specified position that contain an array.
1123
1124 2008-01-12  Eric Botcazou  <ebotcazou@adacore.com>
1125
1126         * utils.c (unchecked_convert): Fold the VIEW_CONVERT_EXPR expression.
1127
1128 2008-01-10  John David Anglin  <dave.anglin.@nrc-cnrc.gc.ca>
1129
1130         PR ada/34466
1131         * s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for
1132         sysconf call.
1133         (bit_field): New packed boolean type used by cpu_set_t.
1134         (cpu_set_t): New type corresponding to the C type with
1135         the same name. Note that on the Ada side we use a bit
1136         field array for the affinity mask. There is not need
1137         for the C macro for setting individual bit.
1138         (pthread_setaffinity_np): New imported routine.
1139
1140 2008-01-03  Tero Koskinen  <tero.koskinen@iki.fi>
1141
1142         PR ada/34647
1143         * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
1144         on OpenBSD as is done on other BSD systems.
1145
1146         PR ada/34645
1147         * sysdep.c (__gnat_ttyname, getc_immediate_nowait,
1148         getc_immediate_common): Treat OpenBSD as FreeBSD regarding immediate
1149         I/O.
1150
1151         PR ada/34644
1152         * env.c (__gnat_clearenv): Treat OpenBSD as other BSD systems missing
1153         clearenv().
1154
1155         PR ada/34646
1156         * init.c (__gnat_error_handler, __gnat_install_handler,
1157         __gnat_init_float): Define for OpenBSD.
1158
1159         * initialize.c (__gnat_initialize): Define for OpenBSD.
1160
1161 2007-12-27  Samuel Tardieu  <sam@rfc1149.net>
1162
1163         PR ada/34553
1164         * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
1165         instead of mktemp() or tmpnam() on NetBSD.
1166
1167 2007-12-23  Eric Botcazou  <ebotcazou@adacore.com>
1168
1169         * trans.c (call_to_gnu): Make the temporary for non-addressable
1170         In parameters passed by reference.
1171         (addressable_p): Return true for STRING_CST and CALL_EXPR.
1172
1173 2007-12-19  Robert Dewar  <dewar@adacore.com>
1174
1175         * g-expect-vms.adb, g-expect.adb, s-poosiz.adb: 
1176         Add pragma Warnings (Off) for unassigned IN OUT arguments
1177
1178         * sem_warn.adb (Output_Reference): Suppress messages for internal names
1179         (Check_References): Extensive changes to tune up warnings
1180         (Output_Non_Modifed_In_Out_Warnings): Changes to tune up warnings
1181         (Has_Pragma_Unmodifed_Check_Spec): New function
1182         (Check_References): Implement pragma Unmodified
1183         (Warn_On_Unassigned_Out_Parameter): Implement pragma Unmodified
1184
1185         * par-prag.adb: Dummy entry for pragma Unmodified
1186
1187         * sem_prag.adb: Implement pragma Unmodified
1188
1189         * einfo.ads, einfo.adb: (Has_Pragma_Unmodified): New flag
1190         (Proc_Next_Component_Or_Discriminant): Fix typo.
1191         Update comments.
1192
1193         * sem_util.adb (Note_Possible_Modification): Add processinng for pragma
1194         Unmodified.
1195         (Reset_Analyzed_Flags): Use Traverse_Proc instead of Traverse_Func,
1196         because the former already takes care of discarding the result.
1197         (Mark_Coextensions): Remove ununused initial value from Is_Dynamic.
1198         Add comment.
1199
1200         * snames.h, snames.ads, snames.adb: Add entry for pragma Unmodified
1201
1202 2007-12-19  Eric Botcazou  <ebotcazou@adacore.com>
1203
1204         * targparm.adb, targparm.ads, system.ads, system-darwin-ppc.ads,
1205         system-vxworks-x86.ads, system-linux-ppc.ads, system-linux-hppa.ads,
1206         system-hpux-ia64.ads, system-vxworks-arm.ads, system-darwin-x86.ads,
1207         system-vms_64.ads, system-vms-ia64.ads, system-linux-ia64.ads,
1208         system-freebsd-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
1209         system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads,
1210         system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads,
1211         system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
1212         system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
1213         system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads
1214         (Dynamic_Trampolines_Used): Delete.
1215
1216         * system-lynxos-x86.ads, system-lynxos-ppc.ads: Ditto.
1217         Turn on stack probing mechanism on LynxOS.
1218
1219 2007-12-19  Bob Duff  <duff@adacore.com>
1220
1221         * atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate
1222         the resulting tail recursion by hand. This prevents running out of
1223         memory on deeply nested concatenations, since Field2 is where the left
1224         operand of concatenations is stored.
1225         Fix bug (was returning OK_Orig in some cases). Fix return subtype to
1226         clarify that it can only return OK or Abandon.
1227
1228         * sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left
1229         operand by iteration, in order to avoid running out of memory on
1230         deeply-nested concatenations. Use the Parent pointer to get back up the
1231         tree.
1232         (Resolve_Op_Concat_Arg, Resolve_Op_Concat_First,
1233          Resolve_Op_Concat_Rest): New procedures split out of
1234         Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is
1235         clearer.
1236
1237         * checks.adb (Remove_Checks): Use Traverse_Proc instead of
1238         Traverse_Func, because the former already takes care of discarding the
1239         result.
1240
1241         * errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func,
1242         because the former already takes care of discarding the result.
1243         (Remove_Warning_Messages): Use appropriate subtype for Status and
1244         Discard 
1245
1246 2007-12-19  Ed Schonberg  <schonberg@adacore.com>
1247
1248         * exp_aggr.adb (Not_OK_For_Backend): A component of a private type with
1249         discriminants forces expansion of the aggregate into assignments.
1250         (Init_Record_Controller):  If the type of the aggregate is untagged and
1251         is not inherently limited, the record controller is not limited either.
1252
1253 2007-12-19  Robert Dewar  <dewar@adacore.com>
1254
1255         * exp_attr.adb (Expand_N_Attribute_Reference, case Size): Fix error in
1256         handling compile time known size of record or array (case of front end
1257         layout active, e.g. in GNAAMP).
1258
1259 2007-12-19  Javier Miranda  <miranda@adacore.com>
1260
1261         * exp_ch3.adb (Expand_N_Object_Declaration): Complete the circuitry
1262         that forces the construction of static dispatch tables in case of
1263         record subtypes.
1264
1265 2007-12-19  Robert Dewar  <dewar@adacore.com>
1266
1267         * exp_ch9.adb (Null_Statements): Moved to library level
1268         (Trivial_Accept_OK): New function
1269         (Expand_Accept_Declaration): Use Trivial_Accept_OK
1270         (Expand_N_Accept_Statement): Use Trivial_Accept_OK
1271
1272 2007-12-19  Robert Dewar  <dewar@adacore.com>
1273
1274         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Fix packed array type
1275         in complex case where array is Volatile.
1276
1277 2007-12-19  Ed Schonberg  <schonberg@adacore.com>
1278
1279         * freeze.adb (Freeze_Record_Type, Check_Current_Instance): Implement
1280         properly the Ada2005 rules concerning when the current instance of a
1281         record type is aliased.
1282
1283 2007-12-19  Ed Schonberg  <schonberg@adacore.com>
1284
1285         * par-ch3.adb (P_Record_Declaration): Guard against cascaded errors in
1286         mangled declaration
1287         (P_Type_Declaration): Diagnose misuse of "abstract" in untagged record
1288         declarations.
1289         (P_Variant_Part): Cleaner patch for parenthesized discriminant
1290
1291 2007-12-19  Vincent Celier  <celier@adacore.com>
1292
1293         * prj-attr.adb (Package_Node_Id_Of): Returns Unknown_Package when
1294         package is not known
1295
1296         * prj-attr.ads (Unknown_Package): New constant
1297         Do not crash when an unknown package is in several projects
1298
1299         * prj-dect.adb (Parse_Package_Declaration): Mark an unknown package as
1300         ignored
1301
1302         * prj-nmsc.adb (Check): Remove obsolete code related to no longer
1303         existing package Language_Processing.
1304
1305 2007-12-19  Ed Schonberg  <schonberg@adacore.com>
1306             Gary Dismukes  <dismukes@adacore.com>
1307             Samuel Tardieu  <sam@rfc1149.net>
1308
1309         PR ada/15803, ada/15805
1310         * sem_ch6.adb, sem_ch3.adb (Constrain_Access): In Ada2005, diagnose
1311         illegal access subtypes when there is a constrained partial view.
1312         (Check_For_Premature_Usage): New procedure inside
1313         Access_Subprogram_Declaration for checking that an access-to-subprogram
1314         type doesn't reference its own name within any formal parameters or
1315         result type (including within nested anonymous access types).
1316         (Access_Subprogram_Declaration): Add call to Check_For_Premature_Usage.
1317         (Sem_Ch3.Analyze_Object_Declaration, Sem_ch6.Process_Formals): if the
1318         context is an access_to_variable, the expression cannot be an
1319         access_to_constant.
1320
1321 2007-12-19  Bob Duff  <duff@adacore.com>
1322
1323         * sem_ch4.adb (Analyze_Concatenation_Rest): New procedure.
1324         (Analyze_Concatenation): Use iteration instead of recursion in order
1325         to avoid running out of stack space for deeply nested concatenations.
1326
1327 2007-12-19  Ed Schonberg  <schonberg@adacore.com>
1328             Gary Dismukes  <dismukes@adacore.com>
1329
1330         * sem_ch8.adb (Analyze_Subprogram_Renaming): Diagnose illegal renamings
1331         whose renamed entity is a subprogram that requires overriding.
1332         (Premature_Usage): Test for the case of N_Full_Type_Declaration when
1333         issuing an error for premature usage and issue a message that says
1334         'type' rather than 'object'.
1335
1336 2007-12-19  Gary Dismukes  <dismukes@adacore.com>
1337
1338         PR ada/34149
1339         * sem_disp.adb (Check_Dispatching_Call): Augment existing test for
1340         presence of a statically tagged operand (Present (Static_Tag)) with
1341         test for Indeterm_Ancestor_Call when determining whether to propagate
1342         the static tag to tag-indeterminate operands (which forces dispatching
1343         on such calls).
1344         (Check_Controlling_Formals): Ada2005, access parameters can have
1345         defaults.
1346         (Add_Dispatching_Operation, Check_Operation_From_Private_View): do
1347         not insert subprogram in list of primitive operations if already there.
1348
1349 2007-12-19  Tristan Gingold  <gingold@adacore.com>
1350
1351         * utils.c (create_var_decl_1): call rest_of_decl_compilation only for
1352         global variable.
1353
1354 2007-12-19  Thomas Quinot  <quinot@adacore.com>
1355
1356         Part of PR ada/33688
1357         * gen-soccon.c: Add constant IP_PKTINFO to allow getting ancillary
1358         datagram info on Linux.
1359
1360 2007-12-19  Vincent Celier  <celier@adacore.com>
1361
1362         * makegpr.adb (Check_Compilation_Needed): Normalize C_Source_Path so
1363         that the source path name is always found in the dependencies.
1364
1365 2007-12-19  Robert Dewar  <dewar@adacore.com>
1366
1367         * gnat_rm.texi, gnat_ugn.texi: Update documentation of -gnatw.o
1368         Fix name of Wide_Wide_Latin_1/9 file names
1369         Add documentation for Ada.Exceptions.Last_Chance_Handler (a-elchha.ads)
1370         Add missing documentation for Ada.Wide_[Wide_]Characters.Unicode
1371         Add missing documentation for Ada.Command_Line.Response_File
1372         Update list of warning letters for Warnings pragma
1373         Add documentation for pragma Unmodified
1374
1375 2007-12-19  Samuel Tardieu  <sam@rfc1149.net>
1376
1377         * Makefile.in: Add s-tasinf.ad[bs] substitutions for sh4-linux target.
1378
1379 2007-12-17  Arnaud Charlet  <charlet@adacore.com>
1380
1381         * s-vxwork-alpha.ads: Removed, no longer used.
1382
1383 2007-12-15  Jakub Jelinek  <jakub@redhat.com>
1384
1385         * Make-lang.in (gnat1, gnatbind): Pass ALL_CFLAGS on the link line.
1386
1387 2007-12-13  Samuel Tardieu  <sam@rfc1149.net>
1388
1389         PR ada/34360
1390         * Makefile.in: Change two occurrences of mlib-tgt.adb by correct name
1391         mlib-tgt-specific.adb.
1392
1393 2007-12-13  Bob Duff  <duff@adacore.com>
1394
1395         * trans.c (Attribute_to_gnu): Check for violations of the
1396         No_Implicit_Dynamic_Code restriction. This checking used to be done in
1397         the front end, but is moved here so we can make it more accurate.
1398
1399 2007-12-13  Pascal Obry  <obry@adacore.com>
1400
1401         * adaint.c (__gnat_pthread_setaffinity_np): New routine. A dummy
1402          version is provided for older GNU/Linux distribution not
1403          supporting thread affinity sets.
1404         
1405         * s-osinte-linux.ads (SC_NPROCESSORS_ONLN): New constant for sysconf
1406         call.
1407         (bit_field): New packed boolean type used by cpu_set_t.
1408         (cpu_set_t): New type corresponding to the C type with
1409         the same name. Note that on the Ada side we use a bit
1410         field array for the affinity mask. There is not need
1411         for the C macro for setting individual bit.
1412         (pthread_setaffinity_np): New imported routine.
1413         
1414         * s-taprop-linux.adb (Enter_Task): Check that the CPU affinity mask is
1415         no null.
1416         (Create_Task): Set the processor affinity mask if information
1417         is present.
1418         
1419         * s-tasinf-linux.ads, s-tasinf-linux.adb: New files.
1420         
1421 2007-12-13  Robert Dewar  <dewar@adacore.com>
1422
1423         * s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads, 
1424         s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-osinte-tru64.ads, 
1425         s-osinte-mingw.ads, s-osinte-aix.ads, s-osinte-hpux-dce.ads, 
1426         s-osinte-irix.ads, s-osinte-solaris.ads, s-intman-vms.adb,
1427         s-osinte-vms.ads, s-osinte-vxworks6.ads, s-osinte-vxworks.ads,
1428         s-auxdec.ads, s-auxdec-vms_64.ads, s-osinte-darwin.ads, 
1429         s-taprop-vms.adb, s-interr-sigaction.adb, s-osinte-linux-hppa.ads, 
1430         i-vxwork-x86.ads, s-tpopde-vms.ads: Add missing pragma Convention C
1431         for subprogram pointers.
1432
1433         * g-ctrl_c.adb: New file.
1434
1435         * g-ctrl_c.ads (Install_Handler): New body.
1436
1437         * freeze.adb (Freeze_Subprogram): Use new flag Has_Pragma_Inline_Always
1438         instead of obsolete function Is_Always_Inlined.
1439         (Freeze_Entity): check for tagged type in imported C subprogram
1440         (Freeze_Entity): check for 8-bit boolean in imported C subprogram
1441         (Freeze_Entity): check for convention Ada subprogram pointer in
1442         imported C subprogram.
1443         (Freeze_Fixed_Point_Type): In the case of a base type where the low
1444         bound would be chopped off and go from negative to zero, force
1445         Loval_Excl_EP to be the same as Loval_Incl_EP (the included lower
1446         bound) so that the size computation for the base type will take
1447         negative values into account.
1448
1449 2007-12-13  Eric Botcazou  <ebotcazou@adacore.com>
1450             Bob Duff  <duff@adacore.com>
1451             Tristan Gingold  <gingold@adacore.com>
1452
1453         * system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads, 
1454         system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads, 
1455         system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads, 
1456         system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads, 
1457         system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads, 
1458         system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, 
1459         system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, 
1460         system-vxworks-arm.ads, system-darwin-x86.ads, system.ads,
1461         system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads, 
1462         system-linux-ppc.ads, system-linux-hppa.ads, system-hpux-ia64.ads,
1463         system-vms-ia64.ads (Stack_Check_Limits): New target parameter.
1464         (Always_Compatible_Rep): New flag to control trampolines globally.
1465         (Dynamic_Trampolines_Used): New flag for implementing the
1466         No_Implicit_Dynamic_Code restriction more correctly (not yet used,
1467         and not yet set correctly for some targets).
1468
1469         * s-taprop-vxworks.adb: Use stack limit method of stack checking.
1470         Simply indirectly call s-stchop when a task is created.
1471
1472         * ali.ads: 
1473         New flag added: Stack_Check_Switch_Set which is set when '-fstack-check'
1474         appears as an argument (entries A) in an ALI file.
1475
1476         * fe.h (Stack_Check_Limits): Declare new target parameter.
1477         (Check_Implicit_Dynamic_Code_Allowed): New procedure.
1478
1479         * init.c: Declare __gnat_set_stack_limit_hook for VxWorks kernel RTS.
1480         This variable is declared in C to be sure not subject to elaboration
1481         code.
1482         (__gnat_map_signal, VxWorks): In kernel mode, map SIGILL to
1483         Storage_Error.
1484
1485         * targparm.ads, targparm.adb (Stack_Check_Limits): New parameter.
1486         (Always_Compatible_Rep, Dynamic_Trampolines_Used): New parameters.
1487
1488         * s-stchop.ads: Add comments.
1489
1490         * s-stchop-vxworks.adb: Package almost fully rewritten to use stack
1491         limit method of stack checking.
1492
1493         * s-stchop-limit.ads: New file.
1494
1495 2007-12-13  Robert Dewar  <dewar@adacore.com>
1496
1497         * sem_ch5.adb, s-taskin.adb, a-ciorma.adb, a-coorma.adb, a-cohama.adb, 
1498         a-cihama.adb, g-awk.adb, 
1499         s-inmaop-posix.adb: Update handling of assigned value/unreferenced
1500         warnings
1501
1502         * exp_smem.adb: Update handling of assigned value/unreferenced warnings
1503
1504         * sem.adb: Update handling of assigned value/unreferenced warnings
1505
1506         * a-exexpr-gcc.adb: Add a pragma warnings off for boolean return
1507
1508         * lib-xref.ads: Improve documentation for k xref type
1509
1510         * lib-xref.adb: 
1511         Update handling of assigned value/unreferenced warnings
1512         (Generate_Reference): Warning for reference to entity for which a
1513         pragma Unreferenced has been given should be unconditional.
1514         If the entity is a discriminal, mark the original
1515         discriminant as referenced.
1516
1517         * sem_warn.ads, sem_warn.adb
1518         (Check_One_Unit): Test Renamed_In_Spec to control giving warning for
1519         no entities referenced in package
1520         (Check_One_Unit): Don't give message about no entities referenced in
1521         a package if a pragma Unreferenced has appeared.
1522         Handle new warning flag -gnatw.a/-gnatw.A
1523         Update handling of assigned value/unreferenced warnings
1524
1525         * atree.h: Add flags up to Flag247
1526         (Flag231): New macro.
1527
1528 2007-12-13  Jose Ruiz  <ruiz@adacore.com>
1529
1530         * adaint.h: (__gnat_plist_init): Not defined for RTX.
1531
1532         * initialize.c (__gnat_initialize): Do not call __gnat_plist_init for
1533         RTX systems.
1534
1535         * Makefile.in: Add new files s-tasinf-linux.ads and s-tasinf-linux.adb.
1536         (LIBGNAT_TARGET_PAIRS, MISCLIB, THREADSLIB,
1537         EXTRA_GNATRTL_NONTASKING_OBJS, EXTRA_GNATRTL_TASKING_OBJS,
1538         GNATLIB_SHARED for RTX run time): Use the versions required by RTX.
1539
1540         * mingw32.h: 
1541         Do not define GNAT_UNICODE_SUPPORT for RTX since it is not supported.
1542
1543         * sysdep.c (winflush_function for RTX): Procedure that does nothing
1544         since we only have problems with Windows 95/98, which are not
1545         supported by RTX.
1546         (__gnat_ttyname): Return the empty string on Nucleus, just as
1547         done on vxworks.
1548
1549 2007-12-13  Robert Dewar  <dewar@adacore.com>
1550
1551         * a-textio.adb, a-textio.ads: 
1552         Extensive changes to private part for wide character encoding
1553
1554         * a-witeio.adb, a-witeio.ads, a-ztexio.ads, a-ztexio.adb
1555         (Look_Ahead): Fix mishandling of encoded sequences
1556         Move declaration of Wch_Con to private part (should not be visible)
1557
1558         * ali.adb (Scan_ALI): Set default encoding method to brackets instead of
1559         UTF-8. Probably this is never used, but if it is, brackets is
1560         clearly correct.
1561
1562         * bindgen.adb (Get_WC_Encoding): New procedure to properly handle
1563         setting wide character encoding for no main program case and when
1564         encoding is specified using -W?
1565         Initialize stack limit of environment task if stack limit method of
1566         stack checking is enabled.
1567         (Gen_Adainit_Ada): Use Get_WC_Encoding to output encoding method
1568         (Gen_Adainit_C): Use Get_WC_Encoding to output encoding method
1569         (Get_Main_Unit_Name): New function.
1570         (Gen_Adainit_Ada): Add call to main program for .NET when needed.
1571         (Gen_Output_File): Set Bind_Main_Program to True for .NET
1572
1573         * bindusg.adb: Add line for -Wx switch
1574
1575         * s-wchcon.adb, s-wchcon.ads: (Is_Start_Of_Encoding): New function
1576         Add comments
1577         Add new useful constant WC_Longest_Sequences
1578
1579         * switch-b.adb: Clean up handling of -Wx switch
1580         For -gnatWx, set Wide_Character_Encoding_Method_Specified
1581
1582         * switch-c.adb: -gnatg activates warning on assertion errors
1583         For -gnatWx, set Wide_Character_Encoding_Method_Specified
1584
1585         * s-wchcon.adb: (Is_Start_Of_Encoding): New function
1586
1587 2007-12-13  Robert Dewar  <dewar@adacore.com>
1588             Ed Schonberg  <schonberg@adacore.com>
1589
1590         * a-ngcoty.adb: New pragma Fast_Math
1591
1592         * opt.adb: New pragma Fast_Math
1593
1594         * par-prag.adb: 
1595         Add Implemented_By_Entry to the list of pragmas which do not require any
1596         special processing.
1597         (Favor_Top_Level): New pragma.
1598         New pragma Fast_Math
1599
1600         * exp_attr.adb: Move Wide_[Wide_]Image routines to Exp_Imgv
1601         (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
1602         Expand_Allocator_Expression): Take into account VM_Target
1603         (Expand_Attribute, case 'Identity):  Handle properly the case where
1604         the prefix is a task interface.
1605         New pragma Fast_Math
1606
1607         * par.adb (Next_Token_Is): New function
1608         (P_Pragma): Add Skipping parameter
1609         (U_Left_Paren): New procedure
1610         (U_Right_Paren): New procedure
1611         New pragma Fast_Math
1612
1613         * par-ch10.adb (P_Subunit): Unconditional msg for missing ) after
1614         subunit
1615         New pragma Fast_Math
1616
1617         * sem_prag.adb: Add significance value to table Sig_Flag for pragma
1618         Implemented_By_Entry.
1619         (Analyze_Pragma): Add case for Ada 2005 pragma Implemented_By_Entry.
1620         (Set_Inline_Flags): Do not try to link pragma Inline onto chain of rep
1621         items, since it can apply to more than one overloadable entity. Set
1622         new flag Has_Pragma_Inline_Always for Inline_Always case.
1623         (Analyze_Pragma, case Complex_Representation): Improve error message.
1624         (Analyze_Pragma, case Assert): When assertions are disabled build the
1625         rewritten code with Sloc of expression rather than pragma, so new
1626         warning about failing is not deleted.
1627         (Analyze_Pragma): Allow pragma Preelaborable_Initialization to apply to
1628         protected types and update error message to reflect that. Test whether
1629         the protected type is allowed for the pragma (an error is issued if the
1630         type has any entries, or components that do not have preelaborable
1631         initialization).
1632         New pragma Fast_Math
1633         (Analyze_Pragma, case No_Return): Handle generic instance
1634
1635         * snames.h, snames.ads, snames.adb: 
1636         Add new predefined name for interface primitive _Disp_Requeue.
1637         New pragma Fast_Math
1638
1639         * a-tags.ads, a-tags.adb: New calling sequence for
1640         String_To_Wide_[Wide_]String
1641         (Secondary_Tag): New subprogram.
1642
1643         * exp_imgv.ads, exp_imgv.adb: Move Wide_[Wide_]Image routines here
1644         from Exp_Attr
1645         New calling sequence for String_To_Wide_[Wide_]String
1646         (Expand_Image_Attribute): Major rewrite. New calling sequence avoids
1647         the use of the secondary stack for image routines.
1648
1649         * a-except-2005.adb, s-wchstw.ads, s-wchstw.adb, s-wwdenu.adb: New
1650         calling sequence for String_To_Wide_[Wide_]String
1651
1652         * par-ch3.adb (P_Declarative_Items): Recognize use of Overriding in
1653         Ada 95 mode
1654         (P_Unknown_Discriminant_Part_Opt): Handle missing parens gracefully
1655         Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
1656
1657         * par-ch6.adb (P_Subprogram): Recognize use of Overriding in Ada 95 mode
1658         (P_Formal_Part): Use Skipping parameter in P_Pragma call
1659         to improve error recovery
1660
1661         * par-util.adb (Next_Token_Is): New function
1662         (Signal_Bad_Attribute): Use new Namet.Is_Bad_Spelling_Of function
1663
1664         * par-ch2.adb (Skip_Pragma_Semicolon): Do not resynchronize to
1665         semicolon if missing
1666         (P_Pragma): Implement new Skipping parameter
1667         Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
1668         Fix location of flag for unrecognized pragma message
1669
1670         * par-tchk.adb (U_Left_Paren): New procedure
1671         (U_Right_Paren): New procedure
1672
1673 2007-12-13  Geert Bosch  <bosch@adacore.com>
1674
1675         * a-tifiio.adb: 
1676         (Put_Int64): Use Put_Digit to advance Pos. This fixes a case where
1677         the second or later Scaled_Divide would omit leading zeroes,
1678         resulting in too few digits produced and a Layout_Error as result.
1679         (Put): Initialize Pos.
1680
1681 2007-12-13  Robert Dewar  <dewar@adacore.com>
1682
1683         atree.ads, atree.adb (Flag231..Flag247): New functions
1684         (Set_Flag231..Set_Flag247): New procedures
1685         (Basic_Set_Convention): Rename Set_Convention to be
1686         Basic_Set_Convention
1687         (Nkind_In): New functions
1688         Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
1689
1690         * exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always
1691         instead
1692          of obsolete function Is_Always_Inlined
1693         (Register_Predefined_DT_Entry): Initialize slots of the second
1694         secondary dispatch table.
1695         Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
1696         (Expand_N_Function_Call): Remove special provision for stack checking.
1697
1698         * exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
1699         Include _Disp_Requeue in the list of predefined operations.
1700         (Find_Interface_ADT): Modified to fulfill the new specification.
1701         Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
1702
1703         * par-ch4.adb, nlists.ads, nlists.adb: 
1704         Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
1705
1706         * sinfo.ads, sinfo.adb: (Nkind_In): New functions
1707         Fix location of flag for unrecognized pragma message
1708
1709         * sem_ch7.adb: Use Nkind_In
1710
1711 2007-12-13  Vincent Celier  <celier@adacore.com>
1712
1713         * opt.ads: 
1714         Indicate what flags are used by the Project Manager, gprbuild and
1715         gprclean.
1716         (Opt.Follow_Links_For_Dirs): New flag
1717         (Warn_On_Assertion_Failure): New flag
1718         (Wide_Character_Encoding_Method_Specified): New flag
1719         (Suppress_All_Inlining): New switch set by -fno-inline
1720         (Real_VMS_Target): New flag
1721         New pragma Fast_Math
1722
1723 2007-12-13  Robert Dewar  <dewar@adacore.com>
1724
1725         * back_end.adb: Recognize -fno-inline
1726
1727 2007-12-13  Robert Dewar  <dewar@adacore.com>
1728
1729         * checks.adb: Fix optimization problem with short-circuited form
1730
1731 2007-12-13  Bob Duff  <duff@adacore.com>
1732
1733         * clean.adb (Usage): Add line for -aP
1734         (Check_Version_And_Help): Change Check_Version_And_Help to be generic,
1735         with a parameter "procedure Usage", instead of passing a pointer to a
1736         procedure. This is to eliminate trampolines (since the Usage procedure
1737         is often nested in a main procedure, and it would be inconvenient to
1738         unnest it).
1739
1740         * g-comlin.adb (For_Each_Simple_Switch): Change For_Each_Simple_Switch
1741         to be generic, with a parameter "procedure Callback (...)", instead of
1742         passing a pointer to a procedure. This is to eliminate trampolines
1743         (since the Callback procedure is usually nested).
1744
1745         * gnatfind.adb, switch.adb, switch.ads, gnatlink.adb, gnatls.adb, 
1746         gnatname.adb, gnatxref.adb, gnatchop.adb, gprep.adb, gnatbind.adb
1747         (Check_Version_And_Help): Change Check_Version_And_Help to be generic.
1748
1749         * g-pehage.adb (Compute_Edges_And_Vertices, Build_Identical_Key_Sets):
1750         Use the generic Heap_Sort_G instead of Heap_Sort_A.
1751
1752 2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
1753
1754         * einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry.
1755         (Implemented_By_Entry, Set_Implemented_By_Entry): New routines.
1756         (Write_Entry_Flags): Add an entry for Implemented_By_Entry.
1757         (Renamed_In_Spec): New flag
1758         (Has_Pragma_Inline_Always): New flag
1759         Add missing doc for pragma Obsolescent_Warning
1760         Add missing doc for 17 additional unused flags (230-247)
1761         (Is_Derived_Type): Remove condition "not Is_Generic_Type".
1762         Alphabetize with clauses.
1763         Separate Is_Thunk and Has_Thunks flags
1764         (Write_Entity_Flags): Add forgotten entry for Has_Thunks
1765         (Related_Interface): Renamed to Related_Type.
1766         (Has_Thunks/Set_Has_Thunks): Subprograms of new attribute.
1767         (Set_Is_Flag): Restrict the assertion.
1768
1769 2007-12-13  Vincent Celier  <celier@adacore.com>
1770
1771         * errout.adb (Output_Source_Line): Do not keep a trailing space after
1772         the source line number if the source line is empty.
1773
1774 2007-12-13  Geert Bosch  <bosch@adacore.com>
1775
1776         * eval_fat.adb (Decompose_Int): Handle argument of zero.
1777         (Compose): Remove special casing of zero.
1778         (Exponent): Likewise.
1779         (Fraction): Likewise.
1780         (Machine): Likewise.
1781         (Decompose): Update comment.
1782
1783 2007-12-13  Ed Schonberg  <schonberg@adacore.com>
1784
1785         * exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a
1786         limited ancestor part, initialize controllers of enclosing record
1787         before expanding ancestor aggregate.
1788         (Gen_Assign): If a component of the aggregate is box-initialized, add
1789         code to call Initialize if the component is controlled, and explicit
1790         assignment of null if the component is an access type.
1791
1792         Handle properly aggregates for limited types that appear in object
1793         declarations when the aggregate contains controlled values such as
1794         protected types.
1795         When expanding limited aggregates into individual components, do not
1796         call Adjust on controlled components that are limited.
1797
1798 2007-12-13  Ed Schonberg  <schonberg@adacore.com>
1799
1800         * expander.adb: Take into account N_Subprogram_Renaming_Declaration
1801
1802 2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
1803
1804         * exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of
1805         predefined primitive _Disp_Requeue.
1806         (Make_Predefined_Primitive_Specs): Create the spec for predefined
1807         primitive _Disp_Requeue.
1808         (Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): Set the
1809         type of formal Renamed_Eq to Entity_Id (instead of Node_Id).
1810         (Make_Predefined_Primitive_Specs): Spec of "=" needed if the parent is
1811         an interface type. In case of limited interfaces we now declare all the
1812         predefined primitives associated with synchronized interfaces as
1813         abstract.
1814         (Predef_Spec_Or_Body): For interface types generate abstract subprogram
1815         declarations.
1816         (Predefined_Primitive_Bodies): Add body of "=" if the parent of the
1817         tagged type is an interface type and there is no user-defined equality
1818         function.
1819         Add also bodies of predefined primitives associated with synchronized
1820         interfaces.
1821         (Freeze_Record_Type): Do not build bodies of predefined primitives of
1822         interface types because they are now defined abstract.
1823         Add missing documentation.
1824         (Expand_Record_Controller): Update occurrence of Related_Interface
1825         to Related_Type.
1826         (Build_Offset_To_Top_Functions): Do nothing in case of VM.
1827         (Expand_N_Object_Declaration): Take into account VM_Target when handling
1828         class wide interface object declaration.
1829         (Expand_Previous_Access_Type): Do not create a duplicate master entity
1830         if the access type already has one.
1831         (Expand_N_Object_Declaration): Defend against attempt to validity check
1832         generic types. Noticed for -gnatVcf specified with previous errors.
1833
1834 2007-12-13  Arnaud Charlet  <charlet@adacore.com>
1835
1836         * exp_ch4.adb (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
1837         Expand_Allocator_Expression): Take into account VM_Target
1838
1839         * exp_ch5.adb (Expand_N_Extended_Return_Statement): Do not use
1840         secondary stack when VM_Target /= No_VM
1841
1842 2007-12-13  Javier Miranda  <miranda@adacore.com>
1843             Ed Schonberg  <schonberg@adacore.com>
1844
1845         * exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute
1846         Is_Complation_Unit by Is_Library_Level_Entity in the code
1847         that decides if the static dispatch tables need to be built.
1848         (Wrap_Transient_Declaration): Do not generate a finalization call if
1849         this is a renaming declaration and the renamed object is a component
1850         of a controlled type.
1851
1852 2007-12-13  Gary Dismukes  <dismukes@adacore.com>
1853
1854         * exp_ch8.ads, exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration):
1855         In the case where the renamed subprogram is a dereference, call
1856         Force_Evaluation on the prefix.
1857
1858 2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
1859             Ed Schonberg  <schonberg@adacore.com>
1860
1861         * exp_ch9.adb (Expand_N_Asynchronous_Select,
1862         Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Code and
1863         comment reformatting.
1864         (Set_Privals): Inherit aliased flag from formal. From code reading.
1865         (Build_Simple_Entry_Call): Out parameters of an access type are passed
1866         by copy and initialized from the actual. This includes entry parameters.
1867         (Expand_N_Requeue_Statement): Reimplement in order to handle both Ada 95
1868         and Ada 2005 models of requeue.
1869         (Null_Statements): Still connsider do-end block null if it contains
1870         Unreferenced and Warnings pragmas.
1871         (Expand_N_Accept_Statement): Do not optimize away null do end if
1872         dispatching policy is other than defaulted.
1873         (Expand_N_Timed_Entry_Call): When the triggering statement is a
1874         dispatching call, manually analyze the delay statement.
1875         (Find_Parameter_Type): Move subprogram to Sem_Util.
1876
1877 2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
1878             Javier Miranda  <miranda@adacore.com>
1879
1880         * exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Primitive
1881         _Disp_Requeue occupies dispatch table slot number 15. Move
1882         _Disp_Timed_Select to slot 16.
1883         (Make_Disp_Requeue_Body, Make_Disp_Requeue_Spec): New routines which
1884         generate the spec and body of _Disp_Reqeueue.
1885         (Make_DT): Build and initialize the second dispatch table.
1886         Handle initialization of RC_Offset when the parent
1887         is a private type with variable size components.
1888         (Make_Secondary_DT): Complete documentation. Add support to
1889         initialize the second dispatch table.
1890         (Make_Tags): Generate the tag of the second dispatch table.
1891         (Register_Primitive): Add support to register primitives in the
1892         second dispatch table.
1893
1894 2007-12-13  Pascal Obry  <obry@adacore.com>
1895
1896         * expect.c (__gnat_kill) [WIN32]: Implement the SIGINT signal on
1897         Windows. This signal is used by gnatmake to kill child processes for
1898         example.
1899
1900 2007-12-13  Javier Miranda  <miranda@adacore.com>
1901
1902         * exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
1903         support for generic dispatching constructor calls in which we need to
1904         locate the tag of a secondary dispatch table associated with an
1905         interface type to properly dispatch the call.
1906         (Expand_N_Attribute_Reference [case Address],
1907         Expand_Dispatching_Constructor_Call, Expand_Unc_Deallocation): Fix
1908         handling of VM targets.
1909
1910 2007-12-13  Robert Dewar  <dewar@adacore.com>
1911             Ed Schonberg  <schonberg@adacore.com>
1912
1913         * exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for
1914         assert fail
1915
1916         * ug_words: Add entries for -gnatw.a -gnatw.A
1917
1918         * sem_res.adb (Set_String_Literal_Subtype): If the context of the
1919         literal is a subtype with non-static constraints, use the base type of
1920         the context as the base of the string subtype, to prevent type
1921         mismatches in gigi.
1922         (Resolve_Actuals): If the actual is an entity name, generate a
1923         reference before the actual is resolved and expanded, to prevent
1924         spurious warnings on formals of enclosing protected operations.
1925         (Analyze_Overloaded_Selected_Component): If type of prefix if
1926         class-wide, use visible components of base type.
1927         (Resolve_Selected_Component): Ditto.
1928         (Resolve_Short_Circuit): Detect case of pragma Assert argument
1929         evaluating to False, and issue warning message.
1930
1931         * usage.adb: Add lines for -gnatw.a and -gnatw.A
1932
1933 2007-12-13  Emmanuel Briot  <briot@adacore.com>
1934
1935         * g-calend.ads (No_Time): New constant, to represent an uninitialized
1936         time value
1937
1938         * g-catiio.ads, g-catiio.adb (Value): Added support for more date
1939         formats.
1940         (Month_Name_To_Number): New subprogram
1941
1942         * g-dirope.adb (Get_Current_Dir): On windows, normalize the drive
1943         letter to upper-case.
1944
1945 2007-12-13  Robert Dewar  <dewar@adacore.com>
1946             Ed Schonberg  <schonberg@adacore.com>
1947
1948         * gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target
1949
1950         * layout.adb (Resolve_Attribute, case 'Access): If designated type of
1951         context is a limited view, use non-limited view when available. If the
1952         non-limited view is an unconstrained array, this enforces consistency
1953         requirements in 3.10.2 (27).
1954         (Layout_Type): For an access type whose designated type is a limited
1955         view, examine its declaration to determine if it is an unconstrained
1956         array, and size the access type accordingly.
1957         (Layout_Type): Do not force 32-bits for convention c subprogram
1958         pointers in -gnatdm mode, only if real vms target.
1959
1960         * sem_attr.adb (Analyze_Access_Attribute): Use new flag
1961         Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
1962         (Analyze_Access_Attribute,Attribute_Address): Remove checks for
1963         violations of the No_Implicit_Dynamic_Code restriction.
1964         (Resolve_Attribute, case 'Access): If designated type of context is a
1965         limited view, use non-limited view when available. If the non-limited
1966         view is an unconstrained array, this enforces consistency requirements
1967         in 3.10.2 (27).
1968         (Layout_Type): For an access type whose designated type is a limited
1969         view, examine its declaration to determine if it is an unconstrained
1970         array, and size the access type accordingly.
1971
1972 2007-12-13  Vincent Celier  <celier@adacore.com>
1973
1974         * gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when
1975         object directory of main project does not exist.
1976         On VMS, correctly set then environment variable for the source
1977         directories.
1978
1979 2007-12-13  Vasiliy Fofanov  <fofanov@adacore.com>
1980
1981         * g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when
1982         set to True this procedure will create the value of type REG_EXPAND_SZ.
1983         It was only possible to create REG_SZ values before.
1984
1985 2007-12-13  Robert Dewar  <dewar@adacore.com>
1986
1987         * g-spchge.ads, g-spchge.adb, g-u3spch.adb, g-u3spch.ads,
1988         g-wispch.adb, g-wispch.ads, g-zspche.adb, g-zspche.ads,
1989         namet-sp.adb, namet-sp.ads: New files.
1990
1991         * g-speche.adb: Use generic routine in g-spchge
1992
1993         * s-wchcnv.ads, s-wchcnv.adb: 
1994         Minor code cleanup (make formal type consistent with spec)
1995
1996         * namet.adb: Update comments.
1997
1998         * par-endh.adb (Evaluate_End_Entry): Use new
1999         Namet.Sp.Is_Bad_Spelling_Of function
2000
2001         * par-load.adb (Load): Use new Namet.Sp.Is_Bad_Spelling_Of function
2002
2003         * sem_aggr.adb (Resolve_Record_Aggregate): If a component of an
2004         ancestor is an access type initialized with a box, set its type
2005         explicitly, for use in subsequent expansion.
2006         (Check_Misspelled_Component): Use new Namet.Sp.Is_Bad_Spelling_Of
2007         function
2008
2009 2007-12-13  Robert Dewar  <dewar@adacore.com>
2010
2011         * g-spipat.adb (Break): Fix accessibility error (vsn taking not null
2012         access Vstring)
2013
2014 2007-12-13  Robert Dewar  <dewar@adacore.com>
2015
2016         * inline.adb (Back_End_Cannot_Inline): Use new flag
2017         Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
2018
2019         * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Use new flag
2020         Has_Pragma_Inline_Always instead.
2021         of obsolete function Is_Always_Inlined
2022         (Build_Body_To_Inline): Same change
2023         (Cannot_Inline): Same change
2024         Do not give warning on exception raise in No_Return function
2025
2026         * sem_ch13.adb (Analyze_Record_Representation_Clause): If an inherited
2027         component has two inconsistent component clauses in the same record
2028         representation clause, favor the message that complains about
2029         duplication rather than inconsistency.
2030         Update comments.
2031         (Record_Representation_Clause): Do not warn on missing component
2032         clauses for inherited components of a type extension.
2033         (Rep_Item_Too_Late): Do not attempt to link pragma into rep chain for
2034         an overloadable item if it is a pragma that can apply to multiple
2035         overloadable entities (e.g. Inline) because a pragma cannot be on
2036         more than one chain at a time.
2037         (Validate_Unchecked_Conversion): Add code to warn on unchecked
2038         conversion where one of the operands is Ada.Calendar.Time.
2039         (Analyze_Attribute_Definition_Clause): Fix typo in error message.
2040         For now, ignore Component_Size clause on VM targets, as done for
2041         pragma Pack.
2042
2043 2007-12-13  Emmanuel Briot  <briot@adacore.com>
2044             Vincent Celier  <celier@adacore.com>
2045
2046         * prj.ads, prj.adb (Is_A_Language): Now takes a Name_Id instead of a
2047         string
2048         (Must_Check_Configuration, Default_Language_Is_Ada): new flags in
2049         prj.ads
2050         (Hash): Move instantiation of System.HTable.Hash from spec to body
2051         (prj-nmsc.adb): Optimize calls to Name_Find when on case sensitive
2052         systems, since we do not need to recompute the Name_Id for the canonical
2053         file name.
2054         (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
2055         as a parameter. This parameter is in fact always "ada" in all calls, and
2056         we were doing 160560 extra calls to Name_Find to convert it to Name_Ada
2057         while loading a project with 40000 files
2058
2059         * prj-attr.adb: Fix name of attribute Dependency_Driver
2060         Change the kind of indexing for attribute Root
2061
2062         * prj-dect.adb (Parse_Declarative_Items): Allow redeclarations of
2063         variables already declared, in case constructions.
2064
2065         * prj-env.adb (Initialize): Reset Current_Source_Path_File and
2066         Current_Object_Path_File to No_Path.
2067
2068         * prj-ext.adb (Initialize_Project_Path): In multi language mode, use
2069         ADA_PROJECT_PATH if value of GPR_PROJECT_PATH is empty.
2070
2071         * prj-makr.adb: new parameter Current_Dir
2072
2073         * prj-nmsc.ads, prj-nmsc.adb (Find_Explicit_Sources): Do not look for
2074         Ada sources when language is not Ada.
2075         Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
2076         (Find_Excluded_Sources, Find_Explicit_Sources): new subprograms
2077         (Must_Check_Configuration, Default_Language_Is_Ada): new flags.
2078         (Locate_Directory): Always resolve links when computing Canonical_Path
2079         (Look_For_Sources): Make sure that Name_Buffer contains the file name
2080         in Source_Files before checking for the presence of a directory
2081         separator.
2082         Optimize calls to Name_Find when on case sensitive systems.
2083         (Body_Suffix_Id_Of, Spec_Suffix_Id_Of): new version that takes a name_id
2084         as a parameter.
2085         (Prj.Nmsc.Check): new parameter Current_Dir
2086         (Check_Ada_Naming_Schemes): Restrictions on suffixes are relaxed. They
2087         cannot be empty and the spec suffix cannot be the same as the body or
2088         separate suffix.
2089         (Get_Unit): When a file name can be of several unit kinds (spec, body or
2090         subunit), always consider the longest suffix.
2091         (Check_Configuration): Do not issue an error if there is no compiler
2092         for a language. Just issue a warning and ignore the sources for the
2093         language.
2094         (Check_Library_Attributes): Only check Library_Dir if Library_Name is
2095         not empty.
2096         (Check_Naming_Schemes.Maked_Unit): Only output message if high verbosity
2097         (Unit_Exceptions): New hash table
2098         (Check_Naming_Schemes): Check if a file that could be a unit because of
2099         the naming scheme is not in fact a source because there is an exception
2100         for the unit.
2101         (Look_For_Sources): Put the unit exceptions in hash table
2102         Unit_Exceptions
2103         (Get_Unit_Exceptions): Give initial value No_Source to local variable
2104         Other_Part to avoid exception when code is compiled with validity
2105         checking.
2106         (Get_Sources_From_File): Check that there is no directory information
2107         in the file names.
2108         (Look_For_Sources): Check that there is no directory information in the
2109         list of file names in Source_Files.
2110         (Look_For_Sources): In multi-language mode, do not allow exception file
2111         names that are excluded.
2112         (Excluded_Sources_Htable): New hash table
2113         (Search_Directories.Check_File): New procedure to simplify
2114         Search_Directories.
2115         (Search_Directories): Do not consider excluded sources
2116         (Look_For_Sources): Populate Excluded_Sources_Htable before calling
2117         Search_Directories.
2118         (Get_Exceptions): Set component Lang_Kind of Source_Data
2119         (Get_Unit_Exceptions): Ditto
2120         (Search_Directories): Ditto
2121
2122         * prj-pars.adb: new parameter Current_Dir
2123
2124         * prj-part.ads, prj-part.adb: 
2125         Change Opt.Follow_Links to Opt.Follow_Links_For_Files.
2126         (Opt.Follow_Links_For_Dirs): New flag
2127         (Project_Path_Name_Of): Cache information returned by this routine as
2128         Locate_Regular_File is a costly routine. The code to output a log
2129         information and the effective call to Locate_Regular_File is now
2130         factorized into a routine (code clean-up).
2131         (Parse, Parse_Single_Project): new parameter Current_Dir
2132         When main project file cannot be found, indicate in the error
2133         message the project path that was used to do the search.
2134
2135         * prj-proc.ads, prj-proc.adb (Opt.Follow_Links_For_Dirs): New flag
2136         (Prj.Proc.Process*): new parameter Current_Dir
2137
2138         * switch-m.adb: Change Opt.Follow_Links to Opt.Follow_Links_For_Files
2139
2140 2007-12-13  Bob Duff  <duff@adacore.com>
2141
2142         * restrict.ads, restrict.adb (Check_Implicit_Dynamic_Code_Allowed): New
2143         procedure to be called from the back end to check the
2144         No_Implicit_Dynamic_Code restriction.
2145
2146 2007-12-13  Arnaud Charlet  <charlet@adacore.com>
2147
2148         * rtsfind.adb (Check_CRT): Take into account RTE_Available_Call
2149         Fixes another case where RTE_Available_Call was ignored instead of being
2150         taken into account.
2151         (Load_Fail): Ditto.
2152
2153         * rtsfind.ads: Add new entries.
2154
2155 2007-12-13  Robert Dewar  <dewar@adacore.com>
2156
2157         * g-byorma.adb, g-byorma.ads, g-decstr.adb, g-decstr.ads,
2158         g-deutst.ads, g-encstr.adb, g-encstr.ads, g-enutst.ads: New files.
2159
2160         * scn.adb: Implement BOM recognition
2161
2162 2007-12-13  Thomas Quinot  <quinot@adacore.com>
2163             Ed Schonberg  <schonberg@adacore.com>
2164
2165         * sem_ch10.adb (Check_Private_Child_Unit): A non-private library level
2166         subprogram body that acts as its own spec may not have a non-private
2167         WITH clause on a private sibling.
2168         (Build_Unit_Name): If the parent unit in the name in a with_clause on a
2169         child unit is a renaming, create an implicit with_clause on that
2170         parent, and not on the unit it renames, to prevent visibility errors
2171         in the current unit.
2172
2173 2007-12-13  Ed Schonberg  <schonberg@adacore.com>
2174
2175         * sem_ch12.adb (Instantiate_Formal_Subprogram): In the subprogram
2176         renaming declaration, use the Slocs of the formal parameters from the
2177         declaration of the formal subprogram when creating the formal parameter
2178         entities in the renaming declaration.
2179         (Analyze_Formal_Type_Declaration): Change the placement of the error
2180         message concerning illegal known discriminants. It is now posted on the
2181         type rather than on the first discriminant. This change ensures early
2182         error report.
2183         (Freeze_Subprogram_Body): If the generic subprogram is nested within
2184         the package body that contains the instance, do not generate an
2185         out-of-place freeze node for the enclosing package.
2186         (Collect_Previous_Instantiations): Ignore internal instantiations
2187         generated for formal packages.
2188         (Validate_Derived_Type_Instance): Add a check that when a formal
2189         derived type is Known_To_Have_Preelab_Init then the actual type must
2190         have preelaborable initialization, and issue an error when this
2191         condition is violated.
2192
2193 2007-12-13  Robert Dewar  <dewar@adacore.com>
2194
2195         * s-imenne.adb, s-imenne.ads: New files.
2196
2197         * s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb, 
2198         s-imgdec.ads, s-imgenu.ads, s-imgint.adb, s-imgint.ads, s-imglld.adb, 
2199         s-imglld.ads, s-imglli.adb, s-imglli.ads, s-imgllu.adb, s-imgllu.ads, 
2200         s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwch.adb, 
2201         s-imgwch.ads: New calling sequence for Image routines to avoid sec
2202         stack usage.
2203
2204 2007-12-13  Javier Miranda  <miranda@adacore.com>
2205             Ed Schonberg  <schonberg@adacore.com>
2206
2207         * sem_ch3.ads, sem_ch3.adb (Check_Abstract_Overriding): Avoid
2208         generation of spurious error if parent is an interface type; caused
2209         because predefined primitive bodies will be generated later by
2210         Freeze_Record_Type.
2211         (Process_Subtype): The subtype inherits the Known_To_Have_Preelab_Init
2212         flag.
2213         (Derive_Subprograms): Handle derivations of predefined primitives
2214         after all the user-defined primitives to ensure that they are
2215         found in proper order in instantiations.
2216         (Add_Interface_Tag_Components, Inherit_Components): Update occurrences
2217         of Related_Interface to Related_Type.
2218         (Record_Type_Declaration): Minor reordering of calls to decorate the
2219         Tag component because the entity must have set its Ekind attribute
2220         before setting its Is_Tag attribute.
2221         (Analyze_Subtype_Declaration): In the case of subtypes with
2222         Private_Kind, inherit Known_To_Have_Preelab_Init from the parent.
2223
2224 2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
2225             Ed Schonberg  <schonberg@adacore.com>
2226
2227         * sem_ch4.adb (Analyze_Selected_Component): Include the requeue
2228         statement to the list of contexts where a selected component with a
2229         concurrent tagged type prefix should yield a primitive operation.
2230         (Find_Primitive_Operation): Handle case of class-wide types.
2231         (Analyze_Overloaded_Selected_Component): If type of prefix is
2232         class-wide, use visible components of base type.
2233         (Resolve_Selected_Component): Ditto.
2234         (Try_Primitive_Operation, Collect_Generic_Type_Ops): If the type is a
2235         formal of a generic subprogram. find candidate interpretations by
2236         scanning the list of generic formal declarations.:
2237         (Process_Implicit_Dereference_Prefix): If the prefix has an incomplete
2238         type from a limited_with_clause, and the full view is available, use it
2239         for subsequent semantic checks.
2240         (Check_Misspelled_Selector): Use Namet.Sp.Is_Bad_Spelling_Of function
2241         (Find_Primitive_Operation): New function.
2242         (Analyze_Overloaded_Selected_Component): insert explicit dereference
2243         only once if several interpretations of the prefix yield an access type.
2244         (Try_Object_Operation): Code and comment cleanup.
2245         (Analyze_Selected_Component): Reorder local variables. Minot comment and
2246         code reformatting. When the type of the prefix is tagged concurrent, a
2247         correct interpretation might be available in the primitive and
2248         class-wide operations of the type.
2249
2250 2007-12-13  Robert Dewar  <dewar@adacore.com>
2251             Ed Schonberg  <schonberg@adacore.com>
2252
2253         * sem_ch8.adb (Analyze_Subprogram_Renaming): Special error message for
2254         renaming entry as subprogram using rename-as-body if subprogram spec
2255         frozen.
2256         (Use_One_Type): The clause is legal on an access type whose designated
2257         type has a limited view.
2258         (Find_Direct_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
2259         (Find_Expanded_Name): Use Namet.Sp.Is_Bad_Spelling_Of function
2260         (Analyze_Renamed_Primitive_Operation): new procedure to determine the
2261         operation denoted by a selected component.
2262         (Analyze_Renamed_Entry): Resolve the prefix of the entry name, because
2263         it can be an expression, possibly overloaded, that returns a task or
2264         an access to one.
2265
2266 2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
2267             Gary Dismukes  <dismukes@adacore.com>
2268
2269         * sem_ch9.adb (Analyze_Requeue): Add a local flag to capture whether a
2270         requeue statement is dispatching. Do not emit an error when the name is
2271         not an entry and the context is a dispatching select. Add code to
2272         perform subtype conformance between the formals of the current entry
2273         and those of the target interface primitive.
2274         (Analyze_Asynchronous_Select, Analyze_Conditional_Entry_Call, Analyze_
2275         Timed_Entry_Call): Analyze the triggering statement as the first step of
2276         the processing. If this is a dispatching select, postpone the analysis
2277         of all select statements until the Expander transforms the select. This
2278         approach avoids generating duplicate identifiers after the Expander has
2279         replicated some of the select statements. In case the Expander is
2280         disabled, perform regular analysis.
2281         (Check_Triggering_Statement): New routine.
2282         (Analyze_Requeue): Exclude any interpretations that are not entries when
2283         checking overloaded names in a requeue. Also test type conformance for
2284         matching interpretations rather than requiring subtype conformance at
2285         that point to conform with the RM's resolution rule for requeues.
2286
2287 2007-12-13  Ed Schonberg  <schonberg@adacore.com>
2288
2289         * sem_disp.adb (Check_Dispatching_Call): If an actual in a call to an
2290         inherited operation is a defaulted tag-indeterminate call, and there is
2291         a statically tagged actual, use the static tag as a controlling actual
2292         for the defaulted actual.
2293
2294 2007-12-13  Geert Bosch  <bosch@adacore.com>
2295
2296         * sem_eval.adb (Eval_Real_Literal): N_Constant_Declaration is a static
2297         context, so do not call Check_Non_Static_Context.
2298
2299 2007-12-13  Hristian Kirtchev  <kirtchev@adacore.com>
2300
2301         * sem_type.adb (Function_Interp_Has_Abstract_Op): Add guard to check
2302         whether formal E is an entity which may have parameters.
2303
2304 2007-12-13  Bob Duff  <duff@adacore.com>
2305             Javier Miranda  <miranda@adacore.com>
2306             Robert Dewar  <dewar@adacore.com>
2307
2308         * sem_util.ads, sem_util.adb (Is_Concurrent_Interface): New routine.
2309         (Set_Convention): New procedure to set the Convention flag, and in
2310         addition make sure the Favor_Top_Level flag is kept in sync (all
2311         foreign-language conventions require Favor_Top_Level = True).
2312         (Collect_Abstract_Interfaces): Update occurrences of Related_Interface
2313         to Related_Type.
2314         (Collect_Interfaces_Info): Minor update to handle the two secondary
2315         dispatch tables. Update occurrence of Related_Interface to Related_Type.
2316         (Generate_Parent_Ref): Add parameter to specify entity to check
2317         (Is_Preelaborable_Expression): Allow the name of a discriminant to
2318         initialize a component of a type with preelaborable initialization.
2319         This includes the case of a discriminal used in such a context.
2320         (Is_Dependent_Component_Of_Mutable_Object): Take into account the
2321         latest Ada 2005 rules about renaming and 'Access of
2322         discriminant-dependent components.
2323         (Check_Nested_Access): Add handling when there are no enclosing
2324         subprograms (e.g. case of a package body).
2325         (Find_Parameter_Type): Factor routine from several other compiler files.
2326         Remove routine from Find_Overridden_Synchronized_Primitive.
2327
2328 2007-12-13  Thomas Quinot  <quinot@adacore.com>
2329
2330         * sinput.adb (Get_Source_File_Index): Add assertion to guard against
2331         an invalid access to an uninitialized slot in the
2332         Source_File_Index_Table.
2333
2334 2007-12-13  Thomas Quinot  <quinot@adacore.com>
2335
2336         * sinput-l.adb (Load_File): Disable style checks when preprocessing.
2337
2338 2007-12-13  Bob Duff  <duff@adacore.com>
2339
2340         * s-soflin.ads: Apply new pragma Favor_Top_Level to all
2341         access-to-subprogram types in this package.
2342
2343 2007-12-13  Olivier Hainque  <hainque@adacore.com>
2344
2345         * s-stausa.ads (Stack_Analyzer): Remove First_Is_Topmost, redundant
2346         with Stack_Grows_Down in System.Parameters. Rename Array_Address into
2347         Stack_Overlay_Address and document that we are using an internal
2348         abstraction.
2349         (Byte_Size, Unsigned_32_Size): Remove, now useless.
2350         (Pattern_Type, Bytes_Per_Pattern): New subtype and constant, to be used
2351         consistently throughout the various implementation pieces.
2352
2353         * s-stausa.adb (Stack_Slots): New type, abstraction for the stack
2354         overlay we are using to fill the stack area with patterns.
2355         (Top_Slot_Index_In, Bottom_Slot_Index_In): Operations on Stack_Slots.
2356         (Push_Index_Step_For, Pop_Index_Step_For): Likewise.
2357         (Fill_Stack, Compute_Result): Use the Stack_Slots abstraction.
2358
2359 2007-12-13  Robert Dewar  <dewar@adacore.com>
2360
2361         * s-stoele.adb ("mod"): mod negative value raises Constraint_Error
2362
2363 2007-12-13  Arnaud Charlet  <charlet@adacore.com>
2364
2365         * s-tassta.adb: 
2366         (Create_Task): Take into account tasks created by foreign threads.
2367         Code clean up: use constants instead of hard coded values.
2368
2369 2007-12-13  Robert Dewar  <dewar@adacore.com>
2370
2371         * styleg.adb (Check_Comment): More liberal rules for comment placement
2372
2373 2007-12-13  Olivier Hainque  <hainque@adacore.com>
2374
2375         * tb-alvms.c (struct tb_entry_t, __gnat_backtrace): Revert back to use
2376         of Procedure Value instead of Frame Pointer as the invocation
2377         identifier associated with the instruction pointer in each traceback
2378         entry.
2379
2380         * g-trasym-vms-alpha.adb (Traceback_Entry, PV_For, FP_For,
2381         TB_Entry_For): Revert back to use of Procedure Value instead of Frame
2382         Pointer as the invocation identifier passed to tbk$symbolize.
2383
2384         * s-traent-vms.ads, s-traent-vms.adb
2385         (Traceback_Entry, PV_For, FP_For, TB_Entry_For): Revert back to use of
2386         Procedure Value instead of Frame Pointer as the invocation identifier
2387         passed to tbk$symbolize.
2388
2389 2007-12-13  Robert Dewar  <dewar@adacore.com>
2390
2391         * tbuild.ads, tbuild.adb: 
2392         Fix location of flag for unrecognized pragma message
2393
2394 2007-12-13  Robert Dewar  <dewar@adacore.com>
2395
2396         * treepr.ads, treepr.adb: (pl): implement use of positive value
2397         shorthands
2398
2399 2007-12-13  Robert Dewar  <dewar@adacore.com>
2400
2401         * xeinfo.adb: Remove warnings
2402         * xnmake.adb: Remove warnings
2403         * xsinfo.adb: Remove warnings
2404         * xtreeprs.adb: Remove warnings
2405         * xsnames.adb: Remove warnings
2406
2407         * a-ngcoar.adb: Fix typo.
2408         * s-interr.adb: Minor reformatting
2409         * env.c: Minor reformatting.
2410         * g-bytswa.adb: Minor reformatting.
2411         * g-rannum.ads: Minor documentation improvements
2412         * s-tasinf-mingw.adb: Minor header fix
2413         * a-clrefi.adb: Minor reformatting
2414         * g-sttsne.ads: Minor documentation improvement
2415         * g-sttsne-locking.ads: Minor documentation improvement
2416         * g-soliop-solaris.ads: Minor documentation improvement
2417         * g-soliop-mingw.ads: Minor documentation improvement
2418         * g-soliop.ads: Minor documentation improvement
2419         * exp_aggr.ads: Minor reformatting
2420         * debug.adb: Add documentation for the gprbuild debug flags
2421         * exp_ch2.adb: Use Nkind_In to simplify code throughout
2422         * exp_pakd.adb: Minor reformatting
2423
2424         * g-altive.ads, g-alleve.adb: Remove assertions.
2425         Add comment about minor differences between targets regarding
2426         floating-point operations.
2427
2428         * g-thread.adb: Remove pragma unreferenced.
2429         * lib.ads: Minor reformatting
2430         * par-ch9.adb: Minor reformatting of error messages
2431         * sem_case.adb: Minor reformatting
2432         * s-fileio.adb: Minor reformattinng
2433         * s-vmexta.ads: Minor typo
2434         * vxaddr2line.adb: 
2435         Take into account 'Success' value as per new GNAT warning.
2436
2437 2007-12-13  Vincent Celier  <celier@adacore.com>
2438
2439         * a-direct.adb (Create_Path): Always take '/' as a directory separator,
2440         even on Windows
2441
2442 2007-12-13  Robert Dewar  <dewar@adacore.com>
2443             Bob Duff  <duff@adacore.com>
2444
2445         * gnat_ugn.texi: Dcoument new rules for style check comment alignment
2446         Document that suffixes may be terminations of each others
2447         Add doc for -gnatw.a and -gnatw.A
2448         Document gnatbind -Wx switch
2449         Document BOM recognition
2450         Document pragma Implemented_By_Entry.
2451         Document new units.
2452
2453         * gnat_rm.texi: (Favor_Top_Level): Document new pragma.
2454         Add doc for pragma Unreferenced suppressing no entities referenced msg
2455         Add documentation of GNAT.Directory_Operations.Iteration
2456         Add documentation of GNAT.Random_Numbers
2457         Add documentation for pragma Shared.
2458         Correct documentation for Bit_Order
2459         Add documentation for the Pool_Address attribute.
2460         Fix and improve documentation of pragma machine_attribute.
2461         New pragma Fast_Math
2462         Document BOM recognition
2463
2464         * vms_data.ads: Add entries for -gnatw.a -gnatw.A
2465         Add /Wide_Character_Encoding for binder
2466         Add qualifier for the new gnatpp option --no-separate-loop-then
2467
2468 2007-12-13  Matthew Heaney  <heaney@adacore.com>
2469
2470         * a-cohase.ads, a-cihama.ads, a-cihase.ads, a-cohama.ads: Document
2471         which generic formal operations are called for each operation.
2472
2473 2007-12-13  Olivier Hainque  <hainque@adacore.com>
2474
2475         * tb-gcc.c (uw_data_t, trace_callback): Only define if not GCC-SJLJ eh.
2476         (__gnat_backtrace): Early return 0 if using GCC-SJLJ eh.
2477
2478 2007-12-13  Emmanuel Briot  <briot@adacore.com>
2479
2480         * s-os_lib.ads, s-os_lib.adb (Normalize_Pathname): Do not compute
2481         Reference_Dir unless we actually need it.
2482
2483 2007-12-13  Vasiliy Fofanov  <fofanov@adacore.com>
2484             Tristan Gingold  <gingold@adacore.com>
2485
2486         * g-socthi-vms.ads (Fd_Set_Access): make it 32-bit.
2487
2488         * s-osprim-vms.adb,
2489         a-calend-vms.adb: Remove pragma warning off and add pragma
2490         unreferenced.
2491
2492 2007-12-13  Robert Dewar  <dewar@adacore.com>
2493
2494         * impunit.adb: Add entries for missing units
2495
2496         * Makefile.rtl: Add new run-time units.
2497
2498         * Make-lang.in:  Update dependencies.
2499
2500 2007-12-13  Bob Duff  <duff@adacore.com>
2501
2502         * itypes.ads, itypes.adb (Create_Itype): For access-to-subprogram
2503         types, set Can_Use_Internal_Rep appropriately, based on
2504         Always_Compatible_Rep_On_Target.
2505
2506 2007-12-13  Gary Dismukes  <dismukes@adacore.com>
2507             Arnaud Charlet  <charlet@adacore.com>
2508
2509         * make.adb (Scan_Make_Arg): Add test for -aamp_target switch, passing
2510         it to the front end and setting the aamp_target environment variable
2511         to the switch's argument to ensure that gnaampbind and gnaamplink will
2512         take the specified library into account.
2513         (Make): Only set Check_Object_Consistency to False for JVM, not for CIL
2514         target, since the CIL compiler supports an "object" file (.il files).
2515
2516 2007-12-13  Vincent Celier  <celier@adacore.com>
2517
2518         * symbols-processing-vms-ia64.adb (Process.Skip_Half): New procedure
2519         (Process.H): Remove variable. Replace Read_Half (H) with Skip_Half.
2520
2521 2007-12-13  Geert Bosch  <bosch@adacore.com>
2522
2523         * s-parame-vxworks.adb: 
2524         Update comments to reflect usage of this package by Nucleus.
2525
2526 2007-12-13  Arnaud Charlet  <charlet@adacore.com>
2527
2528         * i-vxwork.ads: Kill new warning on Convention C, since changing the
2529         spec would break code.
2530
2531         * i-forbla-unimplemented.ads, vx_stack_info.c: New files.
2532
2533         * system-vxworks-alpha.ads: Removed.
2534
2535 2007-12-10  Eric Botcazou  <ebotcazou@adacore.com>
2536
2537         * ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around.
2538
2539 2007-12-09  Samuel Tardieu  <sam@rfc1149.net>
2540
2541         PR ada/34366
2542         * sem_ch3.adb (Designates_T): New function.
2543         (Mentions_T): Factor reusable part of the logic into Designates_T.
2544         Consider non-access parameters and access and non-access result.
2545         (Check_Anonymous_Access_Components): Set ekind of anonymous access to
2546         E_Subprogram_Type to E_Anonymous_Access_Subprogram_Type.
2547
2548         * einfo.ads: Update comment for E_Anonymous_Access_Subprogram_Type.
2549
2550 2007-12-07  Ludovic Brenta  <ludovic@ludovic-brenta.org>
2551
2552         PR ada/34361
2553         * mlib-tgt.adb, mlib-tgt.ads: Fix comments at the top to reflect
2554         the new implementation of target-specific calls.
2555
2556 2007-12-07  Olivier Hainque  <hainque@adacore.com>
2557
2558         * decl.c (gnat_to_gnu_entity) <case E_Access_Type>: When computing
2559         the designated full view, only follow a second level Full_View link
2560         for Non_Limited_Views of from_limited_with references.
2561         
2562 2007-12-07  Samuel Tardieu  <sam@rfc1149.net>
2563
2564         PR ada/15805
2565         * sem_ch6.adb (Process_Formals): Prevent an access type formal
2566         to be initialized with an access to constant object.
2567
2568         * sem_ch3.adb (Analyze_Object_Declaration): Signal an error
2569         when an access to constant is used to initialize an access
2570         value.
2571
2572         PR ada/21346
2573         * a-direct.adb (Compose): Containing_Directory can be an empty string.
2574
2575 2007-12-07  Olivier Hainque  <hainque@adacore.com>
2576
2577         PR ada/34173
2578         * decl.c (gnat_to_gnu_entity) <case E_Array_Type>: When setting
2579         the alignment on the GCC XUA array type, set TYPE_USER_ALIGN if
2580         this is from an alignment clause on the GNAT entity.
2581         * utils.c (create_field_decl): Rewrite the computation of DECL_ALIGN
2582         to distinguish the case where we set it from the type's alignment.
2583         When so, propagate TYPE_USER_ALIGN into DECL_USER_ALIGN to indicate
2584         whether this alignment was set from an explicit alignment clause.
2585
2586 2007-12-06  Eric Botcazou  <ebotcazou@adacore.com>
2587
2588         * decl.c (make_packable_type): Revert last change.
2589         (gnat_to_gnu_field): Avoid setting size and position multiple times.
2590         * utils.c (finish_record_type): Retrieve the real name of the type.
2591
2592 2007-12-05  Eric Botcazou  <ebotcazou@adacore.com>
2593
2594         * trans.c (lvalue_required_p): Take base node directly instead
2595         of its parent.  Rename second parameter to 'gnu_type'.
2596         <N_Indexed_Component>: Return 0 if the node isn't the prefix.
2597         <N_Slice>: Likewise.
2598         (Identifier_to_gnu): Rename parent_requires_lvalue to require_lvalue.
2599         Adjust calls to lvalue_required_p.
2600
2601 2007-12-05  Samuel Tardieu  <sam@rfc1149.net>
2602
2603         PR ada/21489
2604         * exp_ch9.adb (Build_Simple_Entry_Call): Initialize OUT access type
2605         parameters of an entry call.
2606
2607 2007-12-03  Robert Dewar  <dewar@adacore.com>
2608             Samuel Tardieu  <sam@rfc1149.net>
2609
2610         PR ada/34287
2611         * sem_util.adb (Safe_To_Capture_Value): Do not capture values
2612         of variables declared in a library-level package.
2613     
2614 2007-12-02  Samuel Tardieu  <sam@rfc1149.net>
2615
2616         * clean.adb (Clean_Library_Directory): Use Empty_String'Access intead
2617         of Empty_String'Unchecked_Access.
2618
2619         * Makefile.in: Add support for sh4-linux.
2620
2621         * system-linux-sh4.ads: New file.
2622
2623 2007-12-01  Kostik Belousov  <kostikbel@ukr.net>
2624
2625         PR ada/33722
2626         * env.c (__gnat_setenv): FreeBSD 7 has a POSIX conformant putenv()
2627         and its argument must not be free()ed.
2628
2629 2007-11-29  Eric Botcazou  <ebotcazou@adacore.com>
2630
2631         * decl.c (make_packable_type): Retrieve the real name of the type.
2632         (maybe_pad_type): Simplify similar code.
2633
2634 2007-11-28  Samuel Tardieu  <sam@rfc1149.net>
2635
2636         PR ada/15804
2637         * par-ch3.adb (P_Variant_Part): Signal an error when anything other
2638         than an identifier is used after "case" in a variant_part.
2639
2640         PR ada/17318
2641         * par-ch4.adb (Is_Parameterless_Attribute): New map.
2642         (P_Name, Scan_Apostrophe block): Parse left parenthesis following
2643         attribute name or not depending on the new map.
2644
2645         * sem-attr.adb (Analyze_Attribute): Parameterless attributes
2646         returning a string or a type will not be called with improper
2647         arguments.
2648
2649         * sem-attr.ads (Attribute_Class_Array): Move to snames.ads.
2650
2651         * snames.ads (Attribute_Class_Array): Moved from sem-attr.ads.
2652
2653         PR ada/32792
2654         * sem_attr.adb (Analyze_Attribute, Attribute_Integer_Value clause):
2655         Signal an error when attribute argument is a fixed-point value of
2656         an unknown type.
2657
2658         PR ada/22559
2659         * sem_ch3.adb (Build_Derived_Numeric_Type): Do not set RM_Size on
2660         a derived ordinary fixed point type.
2661
2662         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Recompute
2663         RM_Size when a Small clause is found.
2664
2665 2007-11-26  Andreas Krebbel  <krebbel1@de.ibm.com>
2666
2667         PR 34081/C++
2668         * trans.c (Subprogram_Body_to_gnu, Compilation_Unit_to_gnu):
2669         Pass 'false' for the new allocate_struct_function parameter.
2670         * utils.c (build_function_stub): Likewise.
2671
2672 2007-11-25  Richard Guenther  <rguenther@suse.de>
2673
2674         * utils.c (gnat_pushlevel): Use BLOCK_CHAIN.
2675         (gnat_poplevel): Likewise.
2676
2677 2007-11-25  Eric Botcazou  <ebotcazou@adacore.com>
2678
2679         * decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the type has
2680         strict alignment, no alignment clause and a known static size, cap
2681         the type alignment to the greatest power of 2 factor of the size.
2682         (gnat_to_gnu_field): If the field has a component clause, is aliased
2683         or of a type with strict alignment, require that its size be equal to
2684         that of the type.
2685         (validate_size): Use the type size as the minimum size for a type with
2686         strict alignment.
2687
2688 2007-11-23  Samuel Tardieu  <sam@rfc1149.net>
2689
2690         * s-inmaop-posix.adb, s-intman-vxworks.adb, s-taprop-hpux-dce.adb,
2691         s-taprop-irix.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
2692         s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vxworks.adb:
2693         Use 'Access instead of 'Unchecked_Access in second and third
2694         arguments of pthread_sigmask.
2695
2696 2007-11-23  Eric Botcazou  <ebotcazou@adacore.com>
2697
2698         * decl.c (ceil_alignment): New function.
2699         (gnat_to_gnu_entity): Use it to set the alignment on atomic types.
2700         (make_packable_type): Likewise.
2701
2702 2007-11-22  Olivier Hainque  <hainque@adacore.com>
2703
2704         * trans.c (gnat_to_gnu) <case N_Free_Statement>: Reformat lines
2705         to fit in 80 columns.
2706
2707 2007-11-21  Aurelien Jarno  <aurelien@aurel32.net>
2708
2709         * s-osinte-kfreebsd-gnu.ads (To_Target_Priority): New function.
2710         * Makefile.in: Add EH_MECHANISM=-gcc to kfreebsd-gnu. Remove SYMLIB.
2711
2712 2007-11-19  Eric Botcazou  <ebotcazou@adacore.com>
2713
2714         PR ada/34098
2715         * misc.c (gnat_adjust_rli): Delete.
2716         (gnat_init): Do not initialize the translation code here.
2717         Do not call set_lang_adjust_rli.
2718         * trans.c (init_code_table): Make static.
2719         (gnat_init_stmt_group): Delete.
2720         (gigi): Initialize the translation code entirely here.
2721         Emit debug info for the common types here instead of...
2722         * utils.c (gnat_init_decl_processing): ...here.
2723         * gigi.h (init_code_table): Delete.
2724         (gnat_init_stmt_group): Likewise.
2725
2726 2007-11-16  Olivier Hainque  <hainque@adacore.com>
2727
2728         * utils2.c (build_call_alloc_dealloc) <if gnu_obj>: Move the code
2729         retrieving an allocator return value from a super-aligned address from
2730         here to ...
2731         * trans.c (gnat_to_gnu) <case N_Free_Statement>: ... here, and don't
2732         expect a super-aligned address for a fat or thin pointer.
2733         
2734 2007-11-14  Eric Botcazou  <ebotcazou@adacore.com>
2735
2736         * trans.c (call_to_gnu): Always set the source location on the call
2737         expression.  If the function returns-by-target, also set it on the
2738         address expression.
2739
2740 2007-11-14  Samuel Tardieu  <sam@rfc1149.net>
2741
2742         * adaint.c, init.c, initialize.c, link.c: Remove system-specific
2743         sections of non-supported Interix target.
2744
2745         * s-osinte-interix.ads: Removed.
2746
2747         * i-cstrin.ads (chars_ptr): Make it a C convention type.
2748
2749 2007-11-13  Samuel Tardieu  <sam@rfc1149.net>
2750
2751         * a-tasatt.adb: Add a comment at the beginning of the package
2752         explaining why in general 'Unchecked_Access must be used instead
2753         of 'Access.
2754
2755         * sem_prag.adb (Process_Convention): Move the test for the
2756         entity on which the Convention pragma applies down to also
2757         forbid pragma Convention on enumeration literals reached
2758         through renamings.
2759
2760 2007-11-10  Samuel Tardieu  <sam@rfc1149.net>
2761
2762         * a-tasatt.adb: Revert previous change for this file as it will
2763         generate an error when this package is instantiated from a
2764         local context.
2765
2766 2007-11-07  Samuel Tardieu  <sam@rfc1149.net>
2767
2768         * a-tasatt.adb: Type Wrapper should be declared in comment instead
2769         of already declared type Node_Access.
2770         Use 'Access instead of 'Unchecked_Access when applicable. Local
2771         lifetime is the one of the package.
2772         (Set_Value): W is allocated on the heap.
2773
2774         * g-socket.adb: Use 'Access instead of 'Unchecked_Access when
2775         applicable.
2776         (Get_Socket_Option): Optlen formal of C_Getsockopt is of an anonymous
2777         access type.
2778         (Receive_Socket): Fromlen formal of C_Recvfrom is of an anonymous
2779         access type.
2780
2781         * s-taasde.adb: Use 'Access instead of 'Unchecked_Access when
2782         applicable.
2783         (elaboration code): Timer_Queue lifetime is the one of the
2784         package.
2785
2786         * tracebak.c (i386 alternative): Remove useless comparaison
2787         which is always false; LOWEST_ADDRESS is 0 and is never greater
2788         than an unsigned integer.
2789
2790         * sem_attr.adb (Analyze_Attribute): Remove duplicate identical
2791         embedded check for "Ada_Version >= Ada_05".
2792
2793 2007-11-07  Olivier Hainque  <hainque@adacore.com>
2794
2795         * decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we
2796         craft and expand comment.
2797
2798 2007-11-01  Eric Botcazou  <ebotcazou@adacore.com>
2799
2800         * lang-specs.h: Move translation of -fRTS= after -gnatez switch.
2801
2802 2007-10-23  Eric Botcazou  <ebotcazou@adacore.com>
2803
2804         * misc.c (gnat_handle_option): Replace call to abort with
2805         call to gcc_unreachable.
2806         (gnat_init): Likewise.
2807         (gnat_expand_expr): Likewise.
2808         (fp_prec_to_size): Likewise.
2809         (fp_size_to_prec): Likewise.
2810
2811 2007-10-23  Richard Guenther  <rguenther@suse.de>
2812
2813         PR bootstrap/33608
2814         * tracebak.c: #undef abort after including system.h.
2815
2816 2007-10-20  Danny Smith  <dannysmith@users.sourceforge.net>
2817
2818         * Makefile.in (LIBGNAT_TARGET_PAIRS) Add s-tasinf-mingw.adb,
2819         s-tasinf-mingw.ads, a-exetim-mingw.adb, a-exetim-mingw.ads
2820         for win32 targets.
2821         (EXTRA_GNATRTL_TASKING_OBJS): Add a-exetim.o for win32 targets.
2822
2823 2007-10-15  Eric Botcazou  <ebotcazou@adacore.com>
2824
2825         * s-osinte-tru64.adb: (Hide_Yellow_Zone): Add On parameter.
2826         Set the protection status of the guard page based on the value of On.
2827
2828         * s-osinte-tru64.ads: (Hide_Yellow_Zone): Add On parameter.
2829
2830         * s-taprop-tru64.adb: (Enter_Task): Pass True to Hide_Yellow_Zone.
2831         (Exit_Task): Pass False to Hide_Yellow_Zone.
2832
2833 2007-10-15  Robert Dewar  <dewar@adacore.com>
2834
2835         * s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, 
2836         s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb,
2837         a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb, 
2838         checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb, 
2839         freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb, 
2840         gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb, 
2841         mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb, 
2842         prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb, 
2843         sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb, 
2844         s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads,
2845         uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb, 
2846         a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb, 
2847         a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb, 
2848         a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb, 
2849         a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb, 
2850         a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb:
2851         Minor reformatting.
2852         Add Unreferenced and Warnings (Off) pragmas for cases of
2853         variables modified calls where they are IN OUT or OUT parameters and
2854         the resulting values are not subsequently referenced. In a few cases,
2855         we also remove redundant code found by the new warnings.
2856
2857         * ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads, 
2858         sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb,
2859         sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb,
2860         sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new
2861         warning controlled by -gnatw.o that warns on cases of out parameter
2862         values being ignored.
2863
2864 2007-10-15  Geert Bosch  <bosch@adacore.com>
2865
2866         * adaint.c, socket.c, cal.c: Initial port to arm-mentor-nucleus.
2867
2868         * expect.c: Initial port to arm-mentor-nucleus.
2869         Use kill for __gnat_kill() on VMS.
2870
2871 2007-10-15  Emmanuel Briot  <briot@adacore.com>
2872
2873         * ali.ads, ali.adb (Scan_ALI): Initialize XE.Tref to a known default
2874         value.
2875         (Xref_Record): Change type for Line, since in the case of a reference to
2876         a predefined entity (as happens for array index types), the line is set
2877         to 0.
2878         Add support for parsing multiple array index types info, or
2879         multiple inherited interfaces info. This information cannot be stored
2880         in Xref_Entity_Record, which only supports a single instance of Tref_*,
2881         and is therefore stored in the list of references instead. It has a
2882         special treatement later on in tools that use this information.
2883
2884 2007-10-15  Tristan Gingold  <gingold@adacore.com>
2885
2886         * debug.adb: Document use of -gnatd.a and -gnatd.I
2887
2888         * layout.adb: On OpenVMS -gnatd.a disables alignment optimization.
2889
2890 2007-10-15  Javier Miranda  <miranda@adacore.com>
2891
2892         * exp_attr.adb (Expand_N_Attribute_Reference): Case Access,
2893         Unchecked_Access, and Unrestricted_Access. Cleanup code that takes
2894         care of access to class-wide interface types plus removal of bizarre
2895         conversion of tagged object to access type (reported by Gary
2896         Dismukes). After this patch there is no need to perform any
2897         additional management on these nodes in Expand_Interface_Actuals.
2898
2899         * exp_disp.adb (Expand_Interface_Actuals): Code cleanup. Remove code
2900         that handles use of 'Access and 'Unchecked_Access applied to
2901         actuals covering interface types. Such code is now
2902         centralized in Expand_N_Attribute_Reference.
2903
2904 2007-10-15  Ed Schonberg  <schonberg@adacore.com>
2905
2906         * exp_ch3.adb (Build_Init_Procedure): Keep separate the initialization
2907         of tagged types whose ultimate ancestor is a CPP type.
2908         (Freeze_Array_Type): For a packed array type, generate an initialization
2909         procedure if the type is public, to handle properly a client that
2910         specifies Normalize_Scalars.
2911
2912 2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
2913
2914         * exp_ch9.adb (Actual_Index_Expression): When the expansion occurs
2915         inside a generic body, retrieve the full view of the entry family
2916         discrete subtype if available.
2917
2918 2007-10-15  Thomas Quinot  <quinot@adacore.com>
2919
2920         * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
2921         attempt to generate stubs for hidden primitive operations.
2922
2923 2007-10-15  Vincent Celier  <celier@adacore.com>
2924
2925         * mlib-tgt-specific.adb (Support_For_Libraries): New function,
2926         returning None, used when there is no platform specific body for
2927         MLib.Tgt.Specific.
2928
2929 2007-10-15  Bob Duff  <duff@adacore.com>
2930
2931         * sem_case.adb, sem_ch13.adb, lib-sort.adb: Replace use of Heap_Sort_A
2932         (passing'Unrestricted_Access of nested subprograms to Sort) with use of
2933         the generic Heap_Sort_G, in order to avoid trampolines.
2934
2935 2007-10-15  Vasiliy Fofanov  <fofanov@adacore.com>
2936             Jose Ruiz  <ruiz@adacore.com>
2937
2938         * vx_stack_info.c: New file.
2939
2940         * i-forbla-unimplemented.ads: New file.
2941
2942         * Makefile.in: i-forbla-unimplemented.ads: a variant of i-forbla.ads
2943         for unsupported configurations; use it on VMS targets instead of the
2944         real one.
2945         (EXTRA_LIBGNAT_SRCS,EXTRA_LIBGNAT_OBJS for VxWorks): Include
2946         vx_stack_info.{c,o} that contains the routine __gnat_get_stack_info
2947         used by VxWorks targets to have access to task-specific data and be
2948         able to extract the stack boundaries for stack checking.
2949         Use system-vms-ia64.ads on ivms.
2950
2951         * Make-lang.in: Update dependencies.
2952
2953         * sysdep.c (__gnat_get_stack_info): Move to a standalone file
2954         (vx_stack_info.c).
2955
2956 2007-10-15  Vincent Celier  <celier@adacore.com>
2957
2958         * snames.adb, snames.ads: Add new standard name runtime_library_dir
2959
2960         * prj.ads (Language_Config): Add new component Runtime_Library_Dir
2961
2962         * prj-attr.adb: Add project level attribute Runtime_Library_Dir
2963
2964         * prj-env.adb (Create_Mapping_File): Do not put an entry if the path of
2965         the source is unknown.
2966
2967         * prj-ext.adb: Spelling error fix
2968
2969         * prj-nmsc.adb (Check_Ada_Name): Reject any unit that includes an Ada
2970         95 reserved word in its name.
2971         (Process_Project_Level_Array_Attributes): Process new attribute
2972         Runtime_Library_Dir.
2973
2974         * prj-part.adb (Parse_Single_Project): Do not check the name of the
2975         config project against the user project names.
2976
2977         * prj-proc.adb (Expression): In multi-language mode, indexes that do
2978         not include a dot are always case insensitive.
2979         (Process_Declarative_Items): Ditto
2980         (Process_Project_Tree_Phase_1): Set Success to False in case an error is
2981         detected.
2982
2983         * prj-util.adb (Value_Of (In_Array)): When Force_Lower_Case_Index is
2984         True, compare both indexes in lower case.
2985
2986 2007-10-15  Robert Dewar  <dewar@adacore.com>
2987
2988         * rtsfind.adb: (Load_RTU): Turn off style checks for Load call
2989
2990 2007-10-15  Gary Dismukes  <dismukes@adacore.com>
2991
2992         * sem_aggr.adb (Resolve_Record_Aggregate): In the case of a box
2993         association for an access component, add an association with null as
2994         the expression. Remove testing for array subtypes and the setting in
2995         that case of Ctyp to the array component type, which prevented proper
2996         inclusion of an association for null-initialized arrays. Collapse
2997         condition that tests for array subtypes into just a test of
2998         Is_Partially_Initialized_Type (which already covers arrays anyway).
2999
3000 2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
3001
3002         * sem_ch12.adb: Minor code reformatting.
3003         (Check_Generic_Child_Unit): Iterate over the homonym chain in order to
3004         find the parent package which may have been hidden by local
3005         declarations.
3006
3007 2007-10-15  Gary Dismukes  <dismukes@adacore.com>
3008
3009         * sem_ch3.adb (Build_Derived_Concurrent_Type): Set the Is_Constrained
3010         flag of derived concurrent types, taking into account the flag setting
3011         on the parent subtype and any new set of discriminants.
3012
3013 2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
3014
3015         * sem_ch4.adb: Minor code and comment reformatting.
3016         (Analyze_Allocator): When the designated type of an unconstrained
3017         allocator is a record with unknown discriminants or an array with
3018         unknown range bounds, emit a detailed error message depending on the
3019         compilation mode and whether the designated type is limited.
3020
3021 2007-10-15  Tristan Gingold  <gingold@adacore.com>
3022
3023         * system-vms-ia64.ads: New file.
3024
3025         * system-vms_64.ads: Minor comment fix.
3026
3027 2007-10-15  Ed Schonberg  <schonberg@adacore.com>
3028
3029         * sem_ch6.adb (Find_Corresponding_Spec): If the previous entity is a
3030         body generated for a function with a controlling result that is a null
3031         extension, discard the generated body in favor of the current explicit
3032         one.
3033
3034 2007-10-15  Ed Schonberg  <schonberg@adacore.com>
3035
3036         * sem_disp.adb (Find_Controlling_Arg): Examine the call node before
3037         examining its original form, to handle properly operator calls that
3038         have been rewritten.
3039
3040 2007-10-15  Olivier Hainque  <hainque@adacore.com>
3041
3042         * tb-alvms.c (tb_entry_t, __gnat_backtrace): Store a frame pointer
3043         instead of a procedure value in each traceback entry.
3044
3045         * g-trasym-vms-alpha.adb (Symbolic_Traceback): Pass frame pointer
3046         instead of procedure value to TBK$SYMBOLIZE.
3047
3048         * s-traent-vms.adb (PV_For): Rename as FP_For and access the proper
3049         field.
3050         (TB_Entry_For): Account for the PV/FP renaming.
3051
3052         * s-traent-vms.ads (Traceback_Entry): Rename PV component into FP and
3053         add comment.
3054         (Null_TB_Entry): Account for change of component name.
3055         (PV_For): Rename as FP_For.
3056
3057 2007-10-15  Tristan Gingold  <gingold@adacore.com>
3058
3059         * trans.c (gnat_to_gnu): Remove the padding structure more often.
3060         This optimize assignment to over-aligned record.
3061
3062 2007-10-15  Emmanuel Briot  <briot@adacore.com>
3063
3064         * xref_lib.adb (Get_Full_Type): Add support for the 'h' entity type, ie
3065         interfaces.
3066
3067         * xr_tabls.adb (Add_Reference): Add support for the new 'R' reference
3068         type, for dispatching calls.
3069
3070 2007-10-15  Vincent Celier  <celier@adacore.com>
3071             Robert Dewar  <dewar@adacore.com>
3072
3073         * gnat_ugn.texi: Add documentation for switches --version and --help
3074         for the GNAT tools gnatbind, gnatlink, gnatmake, gnatchop, gnatname,
3075         gnatxref, gnatfind, gnatls, and gnatclean.
3076         Document -gnatw.o.
3077         Mention attribute Excluded_Source_Dirs
3078         Replace obsolescent attribute Locally_Removed_Files with attribute
3079         Excluded_Source_Files.
3080         Improve documentation of -u (gnatbind)
3081         Document how to do reliable stack checking for the environmental task
3082         on iVMS.
3083
3084         * gnat_rm.texi: Rewrite section about No_Implicit_Dynamic_Code.
3085         Document attribute Excluded_Source_Files and indicate that attribute
3086         Locally_Removed_Files is obsolescent.
3087
3088 2007-10-15  Thomas Quinot  <quinot@adacore.com>
3089
3090         * g-soccon-vms.ads: Fix value of MSG_WAITALL.
3091
3092         * gen-soccon.c: 
3093         Update documentation to note that OpenVMS 8.3 or later must be used
3094         to generate g-soccon-vms.ads.
3095
3096         * atree.adb: Add ??? comment
3097
3098         * exp_util.adb: Minor reformatting.
3099         Add ??? comment in Kill_Dead_Code.
3100
3101 2007-10-15  Robert Dewar  <dewar@adacore.com>
3102
3103         * errout.ads: Comment clarification
3104
3105         * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
3106         (Expand_N_Op_Eq): Improve handling of array equality with -gnatVa
3107
3108         * lib.ads: Comment update
3109
3110         * init.c: Minor reformatting.
3111
3112         * sem_attr.adb: Minor formatting
3113
3114         * osint-b.ads: Minor reformatting
3115
3116         * sem_ch9.adb: Implement -gnatd.I switch
3117
3118         * g-comlin.adb: (Start): Fix handling of empty command line.
3119
3120         * gnatcmd.adb (GNATCmd): Do not put the -rules in the -cargs section,
3121         even when -rules follows the -cargs section.
3122
3123 2007-10-08  Ollie Wild  <aaw@google.com>
3124
3125         * misc.c (LANG_HOOKS_PUSHDECL): Replaced lhd_return_tree with
3126         gnat_return_tree.
3127         (gnat_init_gcc_eh): Replaced gnat_eh_runtime_type with
3128         gnat_return_tree.
3129         (gnat_eh_runtime_type): Removed.
3130         (gnat_return_tree): New function.
3131
3132 2007-10-08  Ben Elliston  <bje@au.ibm.com>
3133
3134         PR ada/33454
3135         Revert:
3136         2007-08-31  Ben Elliston  <bje@au.ibm.com>
3137
3138         * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
3139         when compiling for powerpc64-*-linux.
3140         * system-linux-ppc64.ads: New file.
3141
3142 2007-09-27  Eric Botcazou  <ebotcazou@adacore.com>
3143
3144         Mapped location support
3145         * back_end.adb (Call_Back_End): Pass information about source
3146         files instead of units to gigi.
3147         * gigi.h (struct File_Info_Type): New.
3148         (gigi): Rename and change type of number_units parameter, change
3149         type of file_info_ptr parameter.
3150         * trans.c (number_files): New global variable.
3151         (gigi): Rename and change type of number_units parameter, change
3152         type of file_info_ptr parameter.
3153         If mapped location support is enabled, create the isomorphic mapping
3154         between source files and line maps.
3155         (Sloc_to_locus): If mapped location support is enabled, translate
3156         source location into mapped location.
3157         (annotate_with_node): Rename into set_expr_location_from_node.
3158         Call set_expr_location instead of annotate_with_locus.
3159         (Pragma_to_gnu): Adjust for above change.
3160         (Loop_Statement_to_gnu): Likewise.
3161         (call_to_gnu): Likewise.
3162         (Handled_Sequence_Of_Statements_to_gnu): Likewise.
3163         (gnat_to_gnu): Likewise.
3164         (add_stmt_with_node): Likewise.
3165         (add_cleanup): Likewise.
3166         * utils.c (gnat_init_decl_processing): Do not set input_line.
3167
3168 2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
3169
3170         * sem_ch8.adb (Analyze_Use_Type): Code cleanup.
3171         (Applicable_Use): Emit a warning when a package tries to use itself.
3172         (Use_One_Type): Add variable Is_Known_Used. Emit a warning when a type
3173         is already in use or the package where it is declared is in use or is
3174         declared in the current package.
3175         (Spec_Reloaded_For_Body): New subsidiary routine for Use_One_Type.
3176
3177         * a-tasatt.adb, s-osprim-vxworks.adb, g-socthi-mingw.adb,
3178         s-intman-vms.adb, g-socket.adb, g-thread.adb, s-tarest.adb,
3179         s-tassta.adb, s-tporft.adb: Remove redundant 'use type' clause.
3180
3181 2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
3182
3183         * a-calend-vms.adb, a-calend.adb: 
3184         Add a section on leap seconds control along with two entities used to
3185         enable and disable leap seconds support. The array Leap_Second_Times is
3186         now constant and contains hard time values pre-generated. Remove
3187         all elaboration code used to populate the table of leap seconds.
3188
3189         * bindgen.adb: 
3190         Add entity Leap_Seconds_Support to the list of global run-time variables
3191         along with a comment on its usage and values.
3192         (Gen_Adainit_Ada): Add code to generate the declaration and import of
3193         Integer variable Leap_Seconds_Support. Set its value to zero (disabled)
3194         or one (enabled) depending on the presence of binder switch "-y".
3195         (Gen_Adainit_C): Add code to generate the declaration of external int
3196         __gl_leap_seconds_support. Set is value to zero (disabled) or one
3197         (enabled) depending on the presence of binder switch "-y".
3198
3199         * init.c: Add __gl_leap_seconds_support to the list of global values
3200         computed by the binder.
3201
3202 2007-09-26  Jerome Guitton  <guitton@adacore.com>
3203
3204         * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
3205         s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb,
3206          s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
3207         s-taprop-posix.adb (Stop_Task): New function, dummy implementation.
3208
3209         * s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function.
3210
3211         * s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time
3212         function which can be called by the debugger to interrupt the tasks of
3213         an Ada application asynchronously, as needed on VxWorks.
3214         (Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks.
3215
3216         * s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration,
3217         renamed from Stop_All_Tasks. Update comments.
3218         (Stop_All_tasks): New function declaration.
3219
3220 2007-09-26  Olivier Hainque  <hainque@adacore.com>
3221
3222         * adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around
3223         #include <utime.h> and #define GCC_RESOURCE_H before
3224         #include <sys/wait.h>.
3225         Add more protections in __gnat_translate_vms.
3226
3227         * expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before
3228         #include <sys/wait.h>.
3229
3230 2007-09-26  Thomas Quinot  <quinot@adacore.com>
3231             Sergey Rybin  <rybin@adacore.com>
3232
3233         * gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed.
3234
3235         * exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
3236         where it belongs.
3237
3238         * opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
3239
3240         * rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
3241         where it belongs.
3242
3243         * sem_dist.ads: Minor comment fix
3244
3245         * tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
3246
3247 2007-09-26  Javier Miranda  <miranda@adacore.com>
3248             Eric Botcazou  <ebotcazou@adacore.com>
3249
3250         * a-tags.adb: 
3251         (Get_HT_Link/Set_HT_Link): Updated to handle the additional level of
3252          indirection added to the HT_Link component of the TSD. This is required
3253          to statically allocate the TSD.
3254
3255         * a-tags.ads: 
3256         Minor reordering of the declarations in the private part. Required to
3257         add a level of indirection to the contents of the TSD component HT_Link.
3258         This is required to statically allocate the TSD.
3259
3260         * decl.c (gnat_to_gnu_entity) <object>: Do not exclude objects with
3261         Is_Statically_Allocated set from constant objects.
3262         Do not make exported constants created by the compiler volatile.
3263         (gnat_to_gnu_param): Do not treat an IN parameter whose address is taken
3264         as read-only.
3265
3266         * trans.c (Identifier_to_gnu): For constants, unshare initializers
3267         before returning them.
3268
3269         * exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the
3270         public part of the package.
3271         (Make_DT): Move HT_Link component out of the TSD record. For this
3272         purpose Make_DT now declares a separate object that stores the
3273         HT_Link value, and initializes the TSD component with the address
3274         of this new object. The addition of this level of indirection is
3275         required to statically allocate the TSD because the TSD cannot
3276         have variable components.
3277         (Expand_Interface_Conversion): Improve the expanded code.
3278         (Expand_Interface_Thunk): Set Is_Thunk in the thunk entity.
3279
3280         * sem_disp.adb (Check_Dispatching_Operation): In case of a body
3281         declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---,
3282         if we are building static dispatch tables then we must not generate
3283         extra code to register the primitive because the dispatch table will
3284         be built at the end of the library package; otherwise we notify that
3285         we cannot build the static dispatch table.
3286
3287 2007-09-26  Robert Dewar  <dewar@adacore.com>
3288
3289         * checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address
3290         overlays.
3291
3292         * sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays
3293         (Analyze_Record_Representation_Clause): Suppress junk warning for
3294         missing component clause.
3295         (Analyze_Attribute_Definition_Clause, case Address): Apply the special
3296         tests for controlled type overlay to composites with controlled
3297         components.
3298         (Analyze_Record_Representation_Clause): Add reference for component name
3299
3300 2007-09-26  Javier Miranda  <miranda@adacore.com>
3301             Gary Dismukes  <dismukes@adacore.com>
3302
3303         * einfo.adb (Is_Thunk): New attribute applicable to subprograms. True
3304         for thunks associated with interface types.
3305
3306         * einfo.ads: Improve documentatation of Is_Internal
3307         (Is_Thunk): New attribute applicable to subprograms. True for thunks
3308         associated with interface types.
3309         Extensive comment fixes regarding flags that appear in all entities. The
3310         documentation is now consistent for all such flags (there were a number
3311         of errors in the documentation in this regard).
3312
3313         * exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup.
3314
3315         * exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any
3316         of these procedures are passed a function call that already has
3317         build-in-place actuals (testing new flag
3318         Is_Expanded_Build_In_Place_Call). Set the flag on the function call in
3319         the case where processing continues.
3320         (Expand_Call): If the call is generated from a thunk body then we
3321         propagate the extra actuals associated with the accessibility
3322         level of the access type actuals.
3323
3324         * sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field
3325         of each extra formal of a protected operation to reference the
3326         corresponding extra formal of the subprogram denoted by the
3327         operation's Protected_Body_Subprogram.
3328         
3329         * sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on
3330         N_Function_Call nodes.
3331
3332 2007-09-26  Robert Dewar  <dewar@adacore.com>
3333
3334         * exp_ch5.adb: Activate memmove type processing if debug flag d.s is set
3335
3336         * debug.adb: Add d.s flag.
3337
3338 2007-09-26  Gary Dismukes  <dismukes@adacore.com>
3339
3340         * exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the
3341         debug variable so that it won't be initialized when pragma
3342         Initialize_Scalars is in effect.
3343
3344 2007-09-26  Gary Dismukes  <dismukes@adacore.com>
3345
3346         * freeze.adb (Freeze_Entity): Remove check for preelaborable
3347         initialization of a full view. This is moved to
3348         Analyze_Package_Specification.
3349
3350         * sem_ch7.adb (Analyze_Package_Specification): Add check for
3351         preelaborable initialization of a full view in entity loop.
3352         (Uninstall_Declarations): If entity is a use-visible compilation unit,
3353         its child units are use-visible only if they are visible child units.
3354
3355         * sem_util.adb (Is_Preelaborable_Expression): New function to determine
3356         whether an expression can be used within a type declaration that
3357         requires preelaborable init.
3358         (Check_Components): Replace inline code that does partial checking for
3359         preelaborable default expressions with call to
3360         Is_Preelaborable_Expression.
3361         (Has_Preelaborable_Initialization): In the case of a generic actual
3362         subtype, (that is, Is_Generic_Actual is True), return the result of
3363         applying Has_Preelaborable_Initialization to the generic actual's base
3364         type.
3365
3366 2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
3367
3368         * g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a
3369         call to Jan_1_Day _Of_Week to optimize its performance.
3370         (Is_Leap): Move the routine to the scope of Week_In_Year.
3371         (Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the
3372         weekday on which January 1 falls of Year - 1 and Year + 1. This function
3373         avoids calling Time_Of and Split, thus making it more efficent.
3374         (Week_In_Year): Reimplemented in oder to follow ISO 8601.
3375
3376         * g-calend.ads (Week_In_Year): Change comment to reflect new
3377         implementation.
3378
3379 2007-09-26  Emmanuel Briot  <briot@adacore.com>
3380
3381         * g-comlin.ads, g-comlin.adb (Command_Line_Configuration,
3382         Command_Line): New types
3383         (Define_Alias, Define_Prefix, Free): New subprograms. These provide
3384         support for defining how switches can be grouped on a command line (as
3385         is the case for -gnatw... for GNAT), and how simple switches can be
3386         used as aliases for more complex switches (-gnatwa is same as
3387         -gnatwbcef...)
3388         (Set_Command_Line, Add_Switch, Remove_Switch): New subprogram
3389         (Start, Current_*): New subprograms
3390         Added support for parsing an array of strings in addition to the real
3391         command line.
3392         (Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to
3393          be moved from the body to the private part of the spec.
3394         (*): All subprograms now have an extra parameter with default value to
3395         specify which parser should be used. For backward compatibility, it
3396         defaults to parsing the command line of the application. They were also
3397         modified to properly handle cases where each of the argument does not
3398         start at index 1 (which is always true for Ada.Command_Line, but not
3399         when processing any Argument_List).
3400         (Free): New subprogram
3401         (Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch,
3402         Argument): New subprograms
3403         (Switch_Parameter_Type): New enum, which clarifies the code. The extra
3404         special characters like ':', '=',... are now handled in a single place,
3405         which makes the code more extensible eventually.
3406         (Getopt, Full_Switch): When the switch was returned as part of the
3407         special character '*', make sure it is prepended by the switch character
3408         ('-' in general), so that the application knows whether "foo" or "-foo"
3409         was specified on the command line.
3410
3411 2007-09-26  Florian Villoing  <villoing@adacore.com>
3412
3413         * g-dirope.adb (Remove_Dir): In case we are removing directories
3414         recursively, make sure that if an exception is raised during the
3415         processing, the current working directory is reset to its initial
3416         value before propagating the exception.
3417
3418 2007-09-26  Vincent Celier  <celier@adacore.com>
3419
3420         * gnatbind.adb: If there are several ALI files specified and there is
3421         a main program to bind, the first ALI is expected to contain the main
3422         subprogram and the names of the binder generated files will be derived
3423         from the first ALI file name.
3424         (Gnatbind): Fix insertion character in invocation of Error_Msg
3425
3426 2007-09-26  Vincent Celier  <celier@adacore.com>
3427
3428         * gnatcmd.adb (Check_Files): Do not include sources that have been
3429         removed by attributes Exclude_Source_Files or Locally_Removed_Files.
3430
3431 2007-09-26  Ed Schonberg  <schonberg@adacore.com>
3432
3433         * lib-xref.ads, lib-xref.adb: The entry for array types now carries
3434         information about each of its index types, following the type
3435         reference for its component type.
3436
3437 2007-09-26  Vincent Celier  <celier@adacore.com>
3438
3439         * make.adb: (Kill): New procedure (__gnat_kill imported)
3440         (Running_Compile, Outstanding_Compiles): Global variables that
3441         were previously local to procedure Compile_Sources.
3442         (Sigint_Intercepted): Send signal SIGINT to all outstanding
3443         compilation processes.
3444
3445         (Gnatmake): If project files are used, create the mapping of all the
3446         sources, so that the correct paths will be found.
3447
3448         * prj-env.ads, prj-env.adb (Create_Mapping): New procedure
3449
3450 2007-09-26  Vincent Celier  <celier@adacore.com>
3451
3452         * makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
3453
3454         * prj.ads, prj.adb (Default_Language): Remove function, no longer used
3455         Replace components Compiler_Min_Options and Binder_Min_Options with
3456         Compiler_Required_Switches and Binder_Required_Switches in record
3457         Language_Config.
3458         Remove components Default_Language and Config in Project_Tree_Data,
3459         no longer used.
3460
3461         * prj-attr.adb: New attributes Required_Switches (<language>) in
3462         packages Compiler and Binder.
3463
3464         * prj-nmsc.adb: Major rewrite of the processing of configuration
3465         attributes for gprbuild. No impact on GNAT tools.
3466
3467         * prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
3468         process configuration attributes: this is done in Prj.Nmsc.Check.
3469         (Recursive_Process): Make a full copy of packages inherited from project
3470         being extended, instead of a shallow copy.
3471         (Process_Project_Tree_Phase_1): New procedure
3472         (Process_Project_Tree_Phase_1): New procedure
3473         (Process): Implementation now uses the two new procedures
3474
3475         * prj-util.adb (Executable_Of): Get the suffix and the default suffix
3476         from the project config, not the tree config that no longer exists.
3477
3478 2007-09-26  Vincent Celier  <celier@adacore.com>
3479
3480         * Make-lang.in: Update dependencies..
3481
3482 2007-09-26  Vincent Celier  <celier@adacore.com>
3483
3484         * osint.adb, osint.ads: Minor reformatting
3485
3486         * osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure
3487
3488 2007-09-26  Gary Dismukes  <dismukes@adacore.com>
3489
3490         * par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95
3491         message to cite use of <> in aggregate component associations rather
3492         than wrongly indicating use of limited aggregates.
3493
3494 2007-09-26  Robert Dewar  <dewar@adacore.com>
3495
3496         * sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
3497         Address_Taken.
3498
3499 2007-09-26  Ed Schonberg  <schonberg@adacore.com>
3500
3501         * sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct
3502         ancestor of the derived type, the operations are inherited from the
3503         primary dispatch table of the parent.
3504         (OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls
3505         when the context is an explicit type conversion.
3506
3507 2007-09-26  Ed Schonberg  <schonberg@adacore.com>
3508
3509         * sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution
3510         rule for qualified expressions properly, to detect improper conversions
3511         and resolve some cases of overloading.
3512
3513 2007-09-26  Ed Schonberg  <schonberg@adacore.com>
3514
3515         * sem_res.adb (Resolve_Call): If the call is dispatching, generate the
3516         proper kind of reference to the primitive operation, for better source
3517         navigation.
3518         (Valid_Conversion): A tagged conversion is legal if both operands are
3519         tagged.
3520
3521 2007-09-26  Robert Dewar  <dewar@adacore.com>
3522
3523         * sem_warn.adb (Check_References): Catch more cases of unreferenced
3524         packages.
3525
3526 2007-09-26  Vincent Celier  <celier@adacore.com>
3527
3528         * snames.adb, snames.ads: Change Include_Option to Include_Switches
3529
3530 2007-09-26  Robert Dewar  <dewar@adacore.com>
3531
3532         * s-wchstw.adb: provide messages for run time unit exceptions
3533
3534         * a-witeio.adb: Minor reformatting
3535
3536         * exp_ch13.adb: Minor reformatting
3537
3538 2007-09-26  Sergey Rybin  <rybin@adacore.com>
3539
3540         * vms_data.ads: Revise gnatmetric qualifiers.
3541         Add qualified for the new gnatbind option '-y'
3542
3543         * gnat_ugn.texi: Revise the gnatmetric section.
3544         Add entry for new gnatbind option '-y'.
3545
3546         * gnat_rm.texi: Minor spelling correction.
3547         Document restriction on overlaying controlled types
3548
3549 2007-09-26  Vincent Celier  <celier@adacore.com>
3550
3551         * makegpr.adb (Link_Executables): Do not fail when the root project has
3552         no sources, but is an extending project.
3553
3554 2007-09-25  Eric Botcazou  <ebotcazou@adacore.com>
3555
3556         * trans.c: Fix misplaced #define.
3557
3558 2007-09-22  Eric Botcazou  <ebotcazou@adacore.com>
3559
3560         * utils2.c (build_unary_op) <ADDR_EXPR> [INDIRECT_REF]: Propagate
3561         the TYPE_REF_CAN_ALIAS_ALL flag to the result.
3562
3563 2007-09-21  Olivier Hainque  <hainque@adacore.com>
3564
3565         * utils.c (type_for_nonaliased_component_p): Return false for
3566         all AGGREGATE_TYPEs.
3567
3568 2007-09-17  Eric Botcazou  <ebotcazou@adacore.com>
3569
3570         * decl.c (gnat_to_gnu_entity) <object>: Make again the type of an
3571         object covered by 13.3(19) volatile.
3572
3573 2007-09-12  Eric Botcazou  <ebotcazou@adacore.com>
3574
3575         PR ada/26797
3576         PR ada/32407
3577         * utils.c (unchecked_convert): Use a subtype as the intermediate type
3578         in the special VIEW_CONVERT_EXPR case.
3579
3580 2007-09-12  Robert Dewar  <dewar@adacore.com>
3581
3582         * types.ads, a-charac.ads, freeze.adb: Minor reformatting.
3583
3584         * a-except.adb, g-hesora.adb, g-speche.adb, lib.adb, lib.ads,
3585         lib-load.adb, lib-writ.adb, s-assert.adb, s-carun8.adb,
3586         s-casuti.adb, s-crc32.adb, s-exctab.adb, s-htable.adb, s-imgenu.adb,
3587         s-mastop.adb, s-memory.adb, s-memory.ads, s-secsta.adb, s-soflin.adb,
3588         s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-stache.adb, s-stalib.adb,
3589         s-stoele.adb, s-strcom.adb, s-strops.adb, s-traceb.adb, s-traent.adb,
3590         s-wchcnv.adb, s-wchcon.adb, s-wchjis.adb, s-addope.adb, s-except.adb,
3591         s-os_lib.adb, s-string.adb, s-utf_32.adb, a-elchha.adb,
3592         a-chlat1.ads, a-elchha.ads, a-except.ads, g-hesora.ads, g-htable.ads, 
3593         g-speche.ads, par-prag.adb, restrict.adb, restrict.ads, s-assert.ads, 
3594         s-carun8.ads, s-casuti.ads, s-crc32.ads, sem_ch11.adb, sem_prag.adb, 
3595         s-exctab.ads, s-htable.ads, s-imgenu.ads, s-mastop.ads, snames.adb, 
3596         snames.ads, snames.h, s-purexc.ads, s-secsta.ads, s-soflin.ads, 
3597         s-sopco3.ads, s-sopco4.ads, s-sopco5.ads, s-stache.ads, s-stalib.ads, 
3598         s-stoele.ads, s-strcom.ads, s-strops.ads, s-traceb.ads, s-traent.ads, 
3599         s-unstyp.ads, s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-addope.ads, 
3600         s-except.ads, s-os_lib.ads, s-string.ads, s-utf_32.ads: Implement
3601         pragma Compiler_Unit and adds it to relevant library units.
3602
3603 2007-09-12  Ed Schonberg  <schonberg@adacore.com>
3604
3605         * sem_aggr.adb (Resolve_Record_Aggregate): An others association with
3606         a box need not correspond to any component.
3607
3608 2007-09-12  Robert Dewar  <dewar@adacore.com>
3609
3610         * g-thread.ads: Document use of "with GNAT.Threads" to ensure loading
3611         the tasking version of the Ada run time when foreign threads are
3612         present and there are no explicit Ada tasks or tasking constructs.
3613
3614         * gnat_rm.texi: Clarify documentation of GNAT.Threads.
3615
3616 2007-09-12  Hristian Kirtchev  <kirtchev@adacore.com>
3617
3618         * bindusg.adb (Display): Correct comment for switch -X. Add a line for
3619         the usage of switch -y.
3620
3621         * switch-b.adb (Scan_Binder_Switches): Set flag Leap_Seconds_Support
3622         when switch -y is present.
3623
3624         * opt.ads: Add binder flag Leap_Seconds_Support used to enable/disable
3625         leap seconds in Ada.Calendar and its children.
3626
3627 2007-09-12  Jose Ruiz  <ruiz@adacore.com>
3628
3629         * a-extiti.ads (Timer): The discriminant is a "not null access
3630         constant" in the Reference Manual.
3631         (Cancel_Handler): Cancelled is an out parameter in the Reference Manual.
3632
3633 2007-09-12  Robert Dewar  <dewar@adacore.com>
3634
3635         * a-swuwha.adb: Remove junk RM header
3636
3637 2007-09-12  Vincent Celier  <celier@adacore.com>
3638
3639         * g-bytswa-x86.adb (Swap2, Swap4, Swap8): Remove explicit "in" mode
3640         indicator
3641
3642         * g-bytswa.ads: Minor reformatting
3643
3644 2007-09-12  Thomas Quinot  <quinot@adacore.com>
3645
3646         * g-soccon-solaris-64.ads, g-soccon-hpux-ia64.ads: 
3647         Add new constant Thread_Blocking_IO, always True by default, set False
3648         on a per-runtime basis.
3649         (Need_Netdb_Buffer): New constant.
3650
3651 2007-09-12  Arnaud Charlet  <charlet@adacore.com>
3652
3653         * s-dsaser.ads (Get_Local_Partition_Id, Get_Passive_Partition_Id):
3654         Added renames for corresponding functions in System.Partition_Interface.
3655
3656 2007-09-12  Doug Rupp  <rupp@adacore.com>
3657
3658         * Makefile.in: Remove VMS specific System.CRTL packages which are no
3659         longer needed.
3660
3661         * s-crtl-vms64.ads: Removed.
3662
3663 2007-09-12  Olivier Hainque  <hainque@adacore.com>
3664
3665         * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: For a subtype
3666         with discriminant constraints, generalize the code for BIT_FIELDs
3667         to PACKED fields of constant size and propagate DECL_PACKED.
3668
3669 2007-09-11  Eric Botcazou  <ebotcazou@adacore.com>
3670
3671         * decl.c (array_type_has_nonaliased_component): New predicate.
3672         (gnat_to_gnu_field) <E_Array_Type>: Invoke the above predicate to
3673         set the TYPE_NONALIASED_COMPONENT flag on the type.
3674         <E_Array_Subtype>: Likewise.
3675         * gigi.h (type_for_nonaliased_component_p): Declare.
3676         * utils.c (type_for_nonaliased_component_p): New predicate.
3677         (create_field_decl): Invoke the above predicate to set the
3678         DECL_NONADDRESSABLE_P flag on the field.
3679
3680 2007-09-11  Javier Miranda  <miranda@adacore.com>
3681
3682         * einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
3683         in library level record type entities if we are generating statically
3684         allocated dispatch tables.
3685
3686         * exp_disp.adb (Make_Tags/Make_DT): Replace previous code
3687         importing/exporting the _tag declaration by new code
3688         importing/exporting the dispatch table wrapper. This change allows us
3689         to statically allocate of the TSD.
3690         (Make_DT.Export_DT): New procedure.
3691         (Build_Static_DT): New function.
3692         (Has_DT): New function.
3693
3694         * freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
3695         True_Constant and Current_Value. Required to statically
3696         allocate the dispatch tables.
3697         (Check_Allocator): Make function iterative instead of recursive.
3698         Also return inner allocator node, when present, so that we do not have
3699         to look for that node again in the caller.
3700
3701 2007-09-11  Jan Hubicka  <jh@suse.cz>
3702
3703         * misc.c (gnat_expand_body): Kill.
3704         (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
3705
3706 2007-09-10  Robert Dewar  <dewar@adacore.com>
3707
3708         * exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
3709         mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
3710         mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
3711         mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
3712         ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
3713         bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
3714         bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
3715         butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
3716         comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
3717         elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
3718         err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
3719         exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
3720         exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
3721         exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
3722         exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
3723         exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
3724         exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
3725         exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
3726         exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
3727         exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
3728         exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
3729         exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
3730         fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
3731         get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
3732         gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
3733         gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
3734         gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
3735         gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
3736         gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
3737         gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
3738         inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
3739         lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
3740         lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
3741         make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
3742         mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
3743         mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
3744         mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
3745         mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
3746         osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
3747         osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
3748         par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
3749         par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
3750         par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
3751         par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
3752         par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
3753         prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
3754         prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
3755         prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
3756         prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
3757         prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
3758         prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
3759         prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
3760         rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
3761         scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
3762         sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
3763         sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
3764         sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
3765         sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
3766         sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
3767         sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
3768         sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
3769         sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
3770         sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
3771         sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
3772         sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
3773         sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
3774         sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
3775         sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
3776         stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
3777         styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
3778         switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
3779         switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
3780         tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
3781         treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
3782         types.h, uintp.h, urealp.h, usage.adb, usage.ads,
3783         validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
3784         xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
3785         xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
3786         gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
3787         mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
3788         symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
3789         mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
3790         mlib-tgt-vms.ads: Replace headers with GPL v3 headers.
3791
3792 2007-09-10  Emmanuel Briot  <briot@adacore.com>
3793
3794         * s-regpat.adb (Parse_Character_Class): Fix handling of empty character
3795         classes ("[]").
3796
3797 2007-09-10  Vasiliy Fofanov  <fofanov@adacore.com>
3798
3799         * adaint.c (__gnat_translate_vms): new function.
3800
3801 2007-09-10  Gary Dismukes  <dismukes@adacore.com>
3802             Thomas Quinot  <quinot@adacore.com>
3803
3804         * exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
3805         create an abstract subprogram in the case of 'Input. For 'Output we now
3806         create a real spec/body when the type is abstract, since it can
3807         potentially be called.
3808         (Predefined_Primitive_Bodies): Now allow the creation of a predefined
3809         body for 'Output when the type is abstract (only the creation of the
3810         body for 'Input is excluded when the type is abstract).
3811         (Stream_Operation_OK): Add an additional condition in the return
3812         statement, so that False will be returned for TTS_Stream_Input if the
3813         associated tagged type is an abstract extension. Add comments for
3814         return statement.
3815         (Expand_N_Object_Declaration): For the case of a shared passive
3816         variable, insert init proc call only after the shared variable
3817         procedures have been processed, because the IP call needs to undergo
3818         shared passive variable reference expansion, which requires these
3819         procedures to be available (and elaborated).
3820
3821 2007-09-10  Vincent Celier  <celier@adacore.com>
3822
3823         * prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove
3824         parameter Runtime_Project.
3825
3826 2007-09-10  Ed Schonberg  <schonberg@adacore.com>
3827
3828         * sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is
3829         given a box association, the type of the component is discriminated,
3830         and the value of the discriminant is the discriminant of the enclosing
3831         type, retrieve its value from the aggregate itself, where it must have
3832         been supplied.
3833
3834         * sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix,
3835         to remove other spurious ambiguities on arithmetic operations involving
3836         literals and addresses, on systems where Address is a visible integer
3837         type, when the operator is called in functional notation.
3838         (Try_Primitive_Operation): Within an instance, a call in prefixed form
3839         is legal when the types match, even if the operation is currently
3840         hidden.
3841
3842 2007-09-10  Ed Schonberg  <schonberg@adacore.com>
3843
3844         * sem_ch12.adb (Build_Local_Package): A formal package with no
3845         associations is legal if all formals have defaults. It is not
3846         equivalent to a formal declared with a box.
3847
3848 2007-09-10  Sergey Rybin  <rybin@adacore.com>
3849
3850         * vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option
3851
3852 2007-09-10  Sergey Rybin  <rybin@adacore.com>
3853
3854         * gnat_ugn.texi: Add description of the new '-lratio' option
3855         Update 7.3.1 section about availability of the feature.
3856
3857 2007-09-10  Thomas Quinot  <quinot@adacore.com>
3858
3859         * exp_smem.ads, exp_smem.adb (Make_Shared_Var_Procs): Return last
3860         inserted node.
3861
3862 2007-09-10  Olivier Hainque  <hainque@adacore.com>
3863
3864         * Makefile.in: (mips-irix section): Activate build of libgmem.
3865
3866 2007-09-10  Eric Botcazou  <ebotcazou@adacore.com>
3867
3868         * a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
3869         x87 registers.