OSDN Git Service

2009-04-08 Thomas Quinot <quinot@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2009-04-08  Thomas Quinot  <quinot@adacore.com>
2
3         * sem_ch8.adb: Minor reformatting.
4         Minor code reorganization.
5
6 2009-04-08  Robert Dewar  <dewar@adacore.com>
7
8         * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb,
9         snames.ads, freeze.adb, par-prag.adb: Add implementation of
10         pragma Thread_Local_Storage, setting new flag
11         Has_Pragma_Thread_Local_Storage in corresponding entities.
12
13 2009-04-08  Emmanuel Briot  <briot@adacore.com>
14
15         * prj.ads: Update comment on switches file
16
17         * prj-nmsc.adb: Code clean up. Use renaming clauses.
18
19 2009-04-08  Robert Dewar  <dewar@adacore.com>
20
21         * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling
22
23 2009-04-08  Thomas Quinot  <quinot@adacore.com>
24
25         * ali-util.adb: Minor comment fix
26
27 2009-04-08  Ed Schonberg  <schonberg@adacore.com>
28
29         * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause
30         appears in a context clause, and the enclosing package is mentioned in
31         a limited_with_clause.
32         (Use_One_Type): Reject clause if type is still incomplete.
33
34 2009-04-08  Emmanuel Briot  <briot@adacore.com>
35
36         * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode):
37         avoid copies of Source_Data variables when possible, since these
38         involve calls to memcpy() which are done too many times.
39
40 2009-04-08  Robert Dewar  <dewar@adacore.com>
41
42         * exp_ch4.adb (Expand_Concatenate): Clean up code
43
44 2009-04-07  Thomas Quinot  <quinot@adacore.com>
45
46         * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index
47         type for the case of concatenating a constrained array indexed by an
48         enumeration type.
49
50 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
51
52         * sem_ch6.adb (Check_Conformance): when checking conformance of an
53         operation that overrides an abstract operation inherited from an
54         interface, return False if only one of the controlling formals is an
55         access parameter.
56
57 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
58
59         * sem_ch8.adb (Analyze_Object_Renaming): additional error messages
60         mandated by AI05-105.
61
62 2009-04-07  Vincent Celier  <celier@adacore.com>
63
64         * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string
65
66 2009-04-07  Thomas Quinot  <quinot@adacore.com>
67
68         * usage.adb: Minor fix in usage message.
69
70         * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to
71         match declaration; the correct subtype is Node_Id, not Entity_Id,
72         because the expected node kind is an identifier, not a defining
73         identifier.
74
75         * switch-c.adb: Minor reformatting.
76
77         * uintp.adb: Minor reformatting.
78
79 2009-04-07  Robert Dewar  <dewar@adacore.com>
80
81         * exp_ch13.adb: Minor reformatting
82
83 2009-04-07  Robert Dewar  <dewar@adacore.com>
84
85         * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence
86         against missing parent.
87
88 2009-04-07  Thomas Quinot  <quinot@adacore.com>
89
90         * xoscons.adb: Minor reformatting
91
92 2009-04-07  Robert Dewar  <dewar@adacore.com>
93
94         * rtsfind.ads: Remove obsolete string concatenation entries
95
96 2009-04-07  Robert Dewar  <dewar@adacore.com>
97
98         * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds
99
100 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
101
102         * sem_ch10.adb (Check_Body_Required): Handle properly imported
103         subprograms.
104
105 2009-04-07  Gary Dismukes  <dismukes@adacore.com>
106
107         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
108         Attribute_Address): When Init_Or_Norm_Scalars is True and the object
109         is of a scalar or string type then suppress the setting of the
110         expression to Empty.
111
112         * freeze.adb (Warn_Overlay): Also emit the warnings about default
113         initialization for the cases of scalar and string objects when
114         Init_Or_Norm_Scalars is True.
115
116 2009-04-07  Bob Duff  <duff@adacore.com>
117
118         * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes
119
120 2009-04-07  Bob Duff  <duff@adacore.com>
121
122         * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A
123         Form parameter of Text_Translation=No allows binary mode for Text_IO
124         files.
125
126         * gnat_rm.texi: Document Form parameter Text_Translation=xxx.
127
128 2009-04-07  Javier Miranda  <miranda@adacore.com>
129
130         * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when
131         processing the bounds for bit packed arrays or VM target machines.
132
133 2009-04-07  Thomas Quinot  <quinot@adacore.com>
134
135         * g-sothco.ads (Int_Access): Remove extraneous access type (use
136         anonymous access instead).
137         (Get_Socket_From_Set): Fix incorrectly reverted formals
138         Last and Socket to match the underlying C routine.
139
140         * g-socket.adb, g-socket.ads
141         (Get): Use named parameter associations instead of positional ones in
142         call go Get_Socket_From_Set, since this routine has two formals of the
143         same type.
144         (Image): New procedure.
145
146         * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
147         g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads:
148         (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access"
149         for type of Arg formal.
150
151         * sem_warn.adb: Minor reformatting
152
153 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
154
155         * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates
156         over record components.
157
158 2009-04-07  Nicolas Roche  <roche@adacore.com>
159
160         * gsocket.h:
161         Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library
162         has disappeared between VxWorks 6.4 and VxWorks 6.5
163         In RTP mode use time.h instead of times.h
164
165 2009-04-07  Robert Dewar  <dewar@adacore.com>
166
167         * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling
168
169 2009-04-07  Kevin Pouget  <pouget@adacore.com>
170
171         * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct
172         expanded code for constrained types.
173
174 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
175
176         * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement
177         AI05-105: in an object renaming declaration, anonymousness is a name
178         resolution rule.
179
180         * sem_ch8.adb (Analyze_Object_Renaming): Ditto.
181
182 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
183
184         * g-comlin.adb (Expansion): Fix old regression: also return directory
185         names when matching.
186
187 2009-04-07  Robert Dewar  <dewar@adacore.com>
188
189         * exp_ch4.adb:
190         (Expand_N_Op_Concat): Call Expand_Concatenate for all cases
191         (Expand_Concatenate): New name for Expand_Concatenate_String which has
192         been rewritten to handle all types.
193         (Expand_Concatenate_Other): Remove
194
195 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
196
197         * lib-xref.adb (Generate_Reference): A default subprogram in an
198         instance appears within the tree for the instance, but generates an
199         implicit reference in the ALI.
200
201 2009-04-07  Javier Miranda  <miranda@adacore.com>
202
203         * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged
204         derived type that has discriminants, propagate the list of interfaces
205         to the corresponding new base type. In addition, propagate also
206         attribute Limited_Present (found working in this patch).
207
208 2009-04-07  Robert Dewar  <dewar@adacore.com>
209
210         * exp_ch4.adb: Rewrite concatenation expansion.
211
212 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
213
214         * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only
215         relevant to packages.
216
217 2009-04-07  Robert Dewar  <dewar@adacore.com>
218
219         * sem_attr.adb: Minor reformatting
220
221         * sem_ch6.adb: Minor reformatting
222
223 2009-04-07  Tristan Gingold  <gingold@adacore.com>
224
225         * socket.c: Add more protections against S_resolvLib_ macros.
226
227 2009-04-07  Thomas Quinot  <quinot@adacore.com>
228
229         * sem_attr.adb: Minor reformatting
230
231 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
232
233         * sem_ch6.adb (New_Overloaded_Entity): New predicate
234         Is_Overriding_Alias to handle properly types that inherit two homonym
235         operations that have distinct dispatch table entries.
236
237 2009-04-07  Emmanuel Briot  <briot@adacore.com>
238
239         * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when
240         looking for the end of a parenthesis group
241
242 2009-04-07  Tristan Gingold  <gingold@adacore.com>
243
244         * gsocket.h Don't #include resolvLib.h if __RTP__ is defined.
245
246         * socket.c Don't use resolvLib_ macros if not defined.
247
248 2009-04-07  Robert Dewar  <dewar@adacore.com>
249
250         * g-socket.adb: Minor reformatting.
251
252         * g-socthi-mingw.adb: Minor reformatting
253
254         * g-sothco.ads: Minor reformatting
255
256         * exp_ch4.adb:
257         (Expand_Concatenate_String): Complete rewrite to generate efficient code
258         inline instead of relying on external library routines.
259
260         * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb,
261         s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now
262         obsolescent
263
264 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
265
266         * sem_attr.adb:
267         (Eval_Attribute): for attributes of array objects that are not strings,
268         attributes are not static if nominal subtype of object is unconstrained.
269
270 2009-04-07  Ed Schonberg  <schonberg@adacore.com>
271
272         * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym
273         operations for a type T in an instance do not override each other,
274         when T is derived from a formal private type, the corresponding
275         operations inherited by a type derived from T outside
276         of the instance do not override each other either.
277
278 2009-04-07  Robert Dewar  <dewar@adacore.com>
279
280         (Osint.Fail): Change calling sequence to have one string arg
281         (Make.Make_Failed): Same change
282         All callers are adjusted to use concatenation
283
284 2009-04-07  Robert Dewar  <dewar@adacore.com>
285
286         * exp_ch4.adb: Fix documentation typo
287
288 2009-04-07  Robert Dewar  <dewar@adacore.com>
289
290         * tbuild.ads: Minor reformatting
291
292 2009-04-07  Javier Miranda  <miranda@adacore.com>
293
294         * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table
295         when compiling under ZFP runtime.
296
297 2009-04-07  Robert Dewar  <dewar@adacore.com>
298
299         * g-comlin.adb: Minor reformatting
300
301 2009-04-07  Thomas Quinot  <quinot@adacore.com>
302
303         * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
304         g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
305         g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads:
306         Remove dynamic allocation of Fd_Set in Socket_Set_Type objects.
307
308 2009-04-07  Robert Dewar  <dewar@adacore.com>
309
310         * gnat_ugn.texi: Document -gnatDnn/-gnatGnn
311
312         * opt.ads (Sprint_Line_Limit): New parameter
313         
314         * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout
315         
316         * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches
317         
318         * usage.adb: Output information for -gnatGnn -gnatDnn
319
320 2009-04-07  Robert Dewar  <dewar@adacore.com>
321
322         * make.adb: Minor reformatting
323
324 2009-04-07  Robert Dewar  <dewar@adacore.com>
325
326         * mlib-tgt-specific-vms-alpha.adb: Minor reformatting
327
328 2009-04-07  Robert Dewar  <dewar@adacore.com>
329
330         * mlib-tgt-specific-vms-ia64.adb: Minor reformatting
331
332 2009-04-07  Robert Dewar  <dewar@adacore.com>
333
334         * checks.adb:
335         Remove Assume_Valid parameter from In_Subrange_Of calls
336         
337         * sem_eval.adb:
338         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
339         (Is_In_Range): Remove incorrect use of Assume_Valid
340         (Is_Out_Of_Range): Remove incorrect use of Assume_Valid
341         
342         * sem_eval.ads:
343         (Is_Subrange_Of): Remove Assume_Valid parameter, not needed
344         (Is_In_Range): Documentation cleanup
345         (Is_Out_Of_Range): Documentation cleanup
346
347         * gnat_rm.texi:
348         Add documentation for Assume_No_Invalid_Values pragma
349
350         * sem_ch12.adb: Minor reformatting
351
352         * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors
353
354         * sem_prag.adb: Improve error message.
355
356         * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb:
357         LF/CR no longer recognized as line terminator
358
359         * switch.ads: Minor documentation improvement
360
361         * vms_data.ads: Minor reformatting
362
363 2009-04-07  Robert Dewar  <dewar@adacore.com>
364
365         * checks.adb (Determine_Range): Add Assume_Valid parameter
366         
367         * checks.ads (Determine_Range): Add Assume_Valid parameter
368         
369         * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than
370          Is_Null_Loop to suppress warnings in a loop body.
371         
372         * exp_ch4.adb:
373         (Rewrite_Comparison): Major rewrite to accomodate invalid values
374         
375         * exp_ch5.adb:
376         (Expand_N_Loop_Statement): Delete loop known not to execute
377         
378         * opt.ads:
379         (Assume_No_Invalid_Values): Now set to False, and as documented, this
380          fully enables the proper handling of invalid values.
381         
382         * sem_attr.adb:
383         New calling sequence for Is_In_Range
384         
385         * sem_ch5.adb:
386         (Analyze_Iteration_Scheme): Accomodate possible invalid values
387          in determining if a loop range is null.
388         
389         * sem_eval.adb:
390         (Is_In_Range): Add Assume_Valid parameter
391         (Is_Out_Of_Range): Add Assume_Valid_Parameter
392         (Compile_Time_Compare): Major rewrite to accomodate invalid values and
393          also to do more accurate and complete range analysis, catching more
394          cases.
395         
396         * sem_eval.ads:
397         (Is_In_Range): Add Assume_Valid parameter
398         (Is_Out_Of_Range): Add Assume_Valid_Parameter
399         
400         * sem_util.adb:
401         New calling sequence for Is_In_Range
402         
403         * sinfo.adb:
404         (Suppress_Loop_Warnings): New flag
405         
406         * sinfo.ads:
407         (Is_Null_Loop): Update documentation
408         (Suppress_Loop_Warnings): New flag
409         
410         * gnat_ugn.texi: Document -gnatB switch
411
412 2009-04-07  Arnaud Charlet  <charlet@adacore.com>
413
414         * gnatvsn.ads: Bump version number.
415
416 2009-04-07  Thomas Quinot  <quinot@adacore.com>
417
418         * exp_ch3.adb: Minor rewording (comments)
419
420 2009-04-07  Robert Dewar  <dewar@adacore.com>
421
422         * exp_disp.adb: Minor reformatting
423
424 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
425
426         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Test the
427         underlying type.
428         * gcc-interface/trans.c (lvalue_required_p): Likewise.
429
430 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
431
432         * gcc-interface/trans.c (Attribute_to_gnu) <Max_Size_In_Storage_Elmts>:
433         Do not convert the result.  Remove obsolete comment.
434
435 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
436
437         * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear
438         DECL_CONTEXT.
439         (Subprogram_Body_to_gnu): Fix pasto.
440
441 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
442
443         * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl.
444         (void_type_decl_node): Remove.
445         (init_gigi_decls): Likewise.
446         (gnat_install_builtins): Declare.
447         (record_builtin_type): Likewise.
448         (create_type_stub_decl): Likewise.
449         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Void>: Use void_type.
450         (gnat_to_gnu_entity) <E_Array_Type>: Make fat and thin pointer types
451         artificial.
452         <E_Array_Subtype>: Use the index types, not only their name, in the
453         record giving the names of the bounds, if any.
454         For a packed array type, make it artificial only if the base type
455         was artificial as well.  Remove redundant statement.
456         (gnat_to_gnu_entity) <E_Incomplete_Type>: Do not create TYPE_DECL for
457         dummy types.
458         Use create_type_stub_decl to build the TYPE_STUB_DECL of types.
459         (rest_of_type_decl_compilation_no_defer): Likewise.
460         * gcc-interface/misc.c (gnat_printable_name): Add missing guard.
461         * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL
462         and use create_type_stub_decl to build it.
463         (gnat_pushdecl): Rewrite condition.
464         (gnat_install_builtins): Remove bogus declaration.
465         (record_builtin_type): New function.
466         (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL
467         of types.
468         (create_type_stub_decl): New function.
469         (create_type_decl): Assert that the type is not dummy.  If the type
470         hasn't been named yet, equate the TYPE_STUB_DECL to the created node.
471         (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor.
472         (build_vms_descriptor): Likewise.
473         (init_gigi_decls): Delete and move bulk of code to...
474         * gcc-interface/trans.c (gigi): ...here.  Use record_builtin_type.
475         (emit_range_check): Add gnat_node parameter.
476         (emit_index_check): Likewise.
477         (emit_check): Likewise.
478         (build_unary_op_trapv): Likewise.
479         (build_binary_op_trapv): Likewise.
480         (convert_with_check): Likewise.
481         (Attribute_to_gnu): Adjust calls for above changes.
482         (call_to_gnu): Likewise.
483         (gnat_to_gnu): Likewise.
484         (assoc_to_constructor): Likewise.
485         (pos_to_constructor): Likewise.
486         (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes.
487         (process_type): Do not create TYPE_DECL for dummy types.
488
489 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
490
491         * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables.
492         * gcc-interface/trans.c: Fix formatting throughout.  Fix comments.
493         * gcc-interface/utils.c: Fix comments.
494
495 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
496
497         * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and
498         move around.
499         (gnat_to_gnu_type): Move around.
500         (get_unpadded_type): Likewise.
501         * gcc-interface/utils.c (update_pointer_to): Use synthetic macro.
502         Tidy comments.
503
504 2009-04-07  Eric Botcazou  <ebotcazou@adacore.com>
505
506         * gcc-interface/trans.c (check_for_eliminated_entity): New function.
507         (Attribute_to_gnu): Invoke it for Access- and Address-like attributes.
508         (call_to_gnu): Invoke it instead of manually checking.
509
510 2009-04-04  Eric Botcazou  <ebotcazou@adacore.com>
511
512         * gcc-interface/utils.c (finish_record_type): Force structural equality
513         checks if the record type is discriminated.
514
515 2009-03-31  Eric Botcazou  <ebotcazou@adacore.com>
516
517         * system-linux-alpha.ads (Functions_Return_By_DSP): Remove.
518         * system-linux-mips.ads (Functions_Return_By_DSP): Likewise.
519         * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise.
520         * system-linux-s390.ads (Functions_Return_By_DSP): Likewise.
521         * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise.
522         * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise.
523         * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise.
524
525 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
526
527         * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead
528         of TREE_CONSTANT_OVERFLOW.
529
530 2009-03-30  Joseph Myers  <joseph@codesourcery.com>
531
532         PR rtl-optimization/323
533         * gcc-interface/misc.c (gnat_post_options): Set
534         flag_excess_precision_cmdline.  Give an error for
535         -fexcess-precision=standard for processors where the option is
536         significant.
537
538 2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>
539
540         PR c/39323
541         * gcc-interface/utils.c (create_field_decl): Use "unsigned int"
542         on bit_align.
543
544 2009-03-11  Olivier Hainque  <hainque@adacore.com>
545
546         * gcc-interface/trans.c (gnat_to_gnu) <case N_Slice>: In range
547         checks processing, remove unintended TREE_TYPE walk on index type.
548
549 2009-03-01  Eric Botcazou  <ebotcazou@adacore.com>
550
551         PR ada/39264
552         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do no
553         call make_packable_type on fat pointer types.
554         <E_Array_Subtype>: Likewise.
555         <E_Record_Subtype>: Call make_packable_type on all record types
556         except for fat pointer types.
557         (make_packable_type): Likewise.
558         (gnat_to_gnu_field): Likewise.
559
560 2009-02-28  Eric Botcazou  <ebotcazou@adacore.com>
561
562         * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental
563         EH_MECHANISM change made on 2007-12-06.
564
565 2009-02-26  Andreas Schwab  <schwab@suse.de>
566
567         PR ada/39172
568         * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@.
569         * gcc-interface/Makefile.in: Change all uses of $(srcdir),
570         $(fsrcdir) and $(fsrcpfx) to add ada subdir.
571         (AWK): Substitute.
572         (target_cpu_default): Substitute.
573
574 2009-02-25  Laurent GUERBY  <laurent@guerby.net>
575
576         PR ada/39221
577         * a-teioed.adb (Expand): Fix Result overflow.
578
579 2009-02-25  Laurent GUERBY <laurent@guerby.net>
580
581         * gcc-interface/Makefile.in: Fix multilib handling for
582         sparc64-linux.
583
584 2009-02-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
585
586         * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6.
587
588 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
589
590         * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi.
591
592 2009-02-16  Eric Botcazou  <ebotcazou@adacore.com>
593
594         * gcc-interface/deftarg.c: Remove.
595
596 2009-02-10  Olivier Hainque  <hainque@adacore.com>
597             Eric Botcazou  <ebotcazou@adacore.com>
598
599         * gcc-interface/decl.c (enum alias_set_op): New enumeration.
600         (copy_alias_set): Rename into...
601         (relate_alias_sets): ...this.  Add third parameter OP.  Retrieve the
602         underlying array of unconstrained arrays for the new type as well.
603         If the old and new alias sets don't conflict, make one a subset of
604         the other as per the OP parameter.
605         (gnat_to_gnu_entity): Adjust calls to copy_alias_set.
606         <E_Record_Type>: Do not copy the alias set for derived types.
607         For all types, make the alias set of derived types a superset of
608         that of their parent type.
609         (make_aligning_type): Adjust calls to copy_alias_set.
610         (make_packable_type): Likewise.
611         * gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
612         Check for alias set conflict instead of strict equality to issue the
613         warning.
614
615 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
616
617         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
618         Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
619         (copy_alias_set): Assert that arrays have the same aliasing settings.
620         (substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
621
622 2009-02-08  Eric Botcazou  <ebotcazou@adacore.com>
623
624         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
625         Set TYPE_NONALIASED_COMPONENT on the array type.
626
627 2009-01-31  Laurent GUERBY  <laurent@guerby.net>
628
629         * gcc-interface/Makefile.in: Fix mipsel linux handling.
630
631 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
632
633         * gcc-interface/Makefile.in: Fix multilib handling for
634         powerpc64-linux.
635
636 2009-01-12  Eric Botcazou  <ebotcazou@adacore.com>
637
638         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Really strip
639         only useless conversions around renamed objects.
640
641 2009-01-11  Eric Botcazou  <ebotcazou@adacore.com>
642
643         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Put
644         the _Tag field before any discriminants in the field list.
645         (components_to_record): Remove obsolete comment.
646
647 2008-12-09  Jakub Jelinek  <jakub@redhat.com>
648
649         PR ada/38450
650         * gcc-interface/utils.c (finish_record_type): Use SET_TYPE_MODE.
651         * gcc-interface/decl.c (gnat_to_gnu_entity, make_aligning_type):
652         Likewise.
653
654 2008-12-05  Sebastian Pop  <sebastian.pop@amd.com>
655
656         PR bootstrap/38262
657         * gcc-interface/Make-lang.in (gnat1): Add BACKENDLIBS, remove GMPLIBS.
658
659 2008-11-29  Eric Botcazou  <ebotcazou@adacore.com>
660
661         PR ada/30827
662         * g-comver.adb (Ver_Len_Max): Fix inconsistency.
663
664 2008-11-27  Eric Botcazou  <ebotcazou@adacore.com>
665
666         * gcc-interface/decl.c: Fix various nits.
667
668 2008-11-20  Eric Botcazou  <ebotcazou@adacore.com>
669
670         * gcc-interface/utils.c (init_gigi_decls): Fix type mismatch.
671
672 2008-11-16  Eric Botcazou  <ebotcazou@adacore.com>
673
674         PR ada/38127
675         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not
676         special-case boolean types.  Propagate  the name.
677         * gcc-interface/targtyps.c: Tweak comment.
678
679 2008-11-15  Geert Bosch  <bosch@adacore.com>
680
681         * gcc-interface/trans.c (emit_check): Put back a final save_expr
682         to prevent exponential expansion during gimplification.
683
684 2008-11-15  Eric Botcazou  <ebotcazou@adacore.com>
685
686         * gcc-interface/lang-specs.h: Expand -coverage and reorder switches.
687
688 2008-11-15  Eric Botcazou  <ebotcazou@adacore.com>
689
690         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force constants
691         initialized to a static constant to be statically allocated even if
692         they are of a padding type, provided the original type also has
693         constant size.
694
695 2008-11-15  Laurent Guerby  <laurent@guerby.net>
696
697         PR ada/37993
698         * gcc-interface/Makefile.in: Add multilib handling for x86_64
699         on darwin.
700         * system-darwin-x86_64.ads: New file.
701
702 2008-11-13  Olivier Hainque  <hainque@adacore.com>
703
704         * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>:
705         Turn Ada Pure on subprograms back into GCC CONST when eh constructs
706         are explicit to the middle-end.  Tidy.
707
708 2008-11-09  Eric Botcazou  <ebotcazou@adacore.com>
709
710         * gcc-interface/ada-tree.def (PLUS_NOMOD_EXPR): New tree code.
711         (MINUS_NOMOD_EXPR): Likewise.
712         * gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make
713         unreachable.
714         <PLUS_NOMOD_EXPR>: New case.
715         <MINUS_NOMOD_EXPR>: Likewise.
716         * gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and-
717         assignment statement instead of using an increment operator.
718
719 2008-11-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
720
721         * system-irix-n64.ads: New file.
722         * gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64
723         multilibs.
724
725 2008-11-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
726
727         PR ada/37681
728         * system-solaris-x86_64.ads: New file.
729         * gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib.
730
731 2008-11-07  Bechir Zalila  <bechir.zalila@gmail.com>
732             Eric Botcazou  <ebotcazou@adacore.com>
733
734         PR ada/34289
735         * lib.ads: (Enable_Switch_Storing): Declare.
736         * lib.adb: (Enable_Switch_Storing): New procedure.
737         * switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea.
738         * make.adb: (Compile_Sources.Compile): Add -gnatea as first option.
739         (Display): Never display -gnatea
740         * gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez.
741
742 2008-11-07  Thomas Quinot  <quinot@adacore.com>
743
744         * gcc-interface/trans.c (Attribute_to_gnu, case Attr_Length): Check
745         for empty range in original base type, not converted result type.
746
747 2008-11-07  Geert Bosch  <bosch@adacore.com>
748
749         * gcc-interface/trans.c (build_binary_op_trapv): Convert arguments
750         and result for call to __gnat_mulv64.
751
752 2008-11-07  Eric Botcazou  <ebotcazou@adacore.com>
753
754         * gcc-interface/trans.c: Fix formatting nits.
755
756 2008-11-07  Geert Bosch  <bosch@adacore.com>
757
758         * gcc-interface/trans.c (build_binary_op_trapv): Avoid emitting
759         overflow check for constant result.
760
761 2008-11-07  Geert Bosch  <bosch@adacore.com>
762
763         * gcc-interface/trans.c (build_binary_op_trapv): Use more efficient
764         overflow check for addition/subtraction if neither operand is constant.
765
766 2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
767
768         * gcc-interface/Makefile.in (SPARC/Solaris): Use a common set of
769         files for the target-dependent part of the runtime.
770         (SPARC/Linux): Likewise.
771
772 2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
773
774         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: If not
775         optimizing, create a PARM_DECL pointing to the VAR_DECL for debugging
776         purposes.
777
778 2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
779
780         * gcc-interface/misc.c (gnat_printable_name): Always return a copy
781         in GC memory.
782
783 2008-11-06  Eric Botcazou  <ebotcazou@adacore.com>
784
785         PR ada/19419
786         * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>:
787         Generate a call to memmove for an assignment between overlapping
788         array slices.
789
790 2008-11-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
791
792         PR target/37977
793         * gcc-interface/Makefile.in: Add multilib handling for
794         s390-linux and s390x-linux.
795
796 2008-10-24  Jakub Jelinek  <jakub@redhat.com>
797
798         * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on
799         check-acats-subtargets and check-gnat-subtargets.
800         (check_acats_targets): New variable.
801         (check-acats-subtargets, check-acats%): New targets.
802         (check-acats): If -j is used and CHAPTERS is empty, run the testing
803         in multiple make goals, possibly parallel, and afterwards run
804         dg-extract-results.sh to merge the sum and log files.
805
806 2008-10-17  Geert Bosch  <bosch@adacore.com>
807
808         * gcc-interface/trans.c (gnat_to_gnu) <N_Slice>: Simplify expansion
809         to use only a single check instead of three, and avoid unnecessary
810         COMPOUND_EXPR.
811         (emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimes
812         creating more opportunities for optimizations.
813
814 2008-10-13  Jakub Jelinek  <jakub@redhat.com>
815
816         PR middle-end/37601
817         * gcc-interface/utils.c (gnat_types_compatible_p): Handle
818         NULL TYPE_DOMAIN.
819
820 2008-10-07  Eric Botcazou  <ebotcazou@adacore.com>
821
822         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code
823         dealing with volatileness to after code dealing with renaming.
824
825 2008-10-06  Eric Botcazou  <ebotcazou@adacore.com>
826
827         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks.
828         * gcc-interface/trans.c (Pragma_to_gnu): Likewise.
829
830 2008-10-06  Eric Botcazou  <ebotcazou@adacore.com>
831
832         * gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate.
833         (unchecked_convert): Use it to disable problematic folding with
834         VIEW_CONVERT_EXPR in the general case.  Always disable it for the
835         special VIEW_CONVERT_EXPR built for integral types and cope with
836         its addressability issues by preserving the first conversion.
837
838 2008-10-01  Andreas Schwab  <schwab@suse.de>
839
840         * system-linux-ppc64.ads: New file.
841         * gcc-interface/Makefile.in: Add multilib handling for
842         powerpc-linux.
843
844 2008-09-26  Eric Botcazou  <ebotcazou@adacore.com>
845
846         * decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion
847         to that of ptr_mode instead of word_mode.
848
849 2008-09-26  Eric Botcazou  <ebotcazou@adacore.com>
850
851         PR ada/5911
852         * gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support.
853
854 2008-09-25  Samuel Tardieu  <sam@rfc1149.net>
855
856         PR ada/37641
857         * adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA
858         instead of deprecated FILE_WRITE_PROPERTIES.
859
860 2008-09-22  Olivier Hainque  <hainque@adacore.com>
861
862         * gcc-interface/decl.c (gnat_to_gnu_entity): Even when they
863         are never assigned, volatile entities are not constant for code
864         generation purposes.
865
866 2008-09-21  Laurent Guerby  <laurent@guerby.net>
867
868         PR ada/5911
869         * gcc-interface/Makefile.in: Add multilib handling for x86_64
870         and sparc.
871         * system-linux-sparcv9.ads: New file.
872
873 2008-09-20  Eric Botcazou  <ebotcazou@adacore.com>
874
875         * exp_dbug.ads: Document new convention for the XVZ variable.
876         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
877         debug info if necessary for the type padding the component type.
878         <E_Array_Subtype>: Likewise.
879         (maybe_pad_type): Emit the XVZ variable in units.
880         * gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
881         (Subprogram_Body_to_gnu): Set the source line of the subprogram's node
882         on statements generated to initialize the parameter attributes cache.
883         Set the source line of the end label of the body on the special return
884         statement built for a procedure with copy-in copy-out parameters.
885
886 2008-09-20  Eric Botcazou  <ebotcazou@adacore.com>
887
888         PR ada/37585
889         * gcc-interface/utils.c (create_subprog_decl): Disable inlining for
890         inlined external functions if they contain a nested function not
891         declared inline.
892
893 2008-09-18  Jan Hubicka  <jh@suse.cz>
894
895         * gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P.
896         (end_subprog_body): Do not set DECL_INLINE.
897
898 2008-09-17  Pascal Rigaux  <pixel@mandriva.com>
899
900         PR ada/21327
901         * gnat_ugn.texi: Use proper format in direntry.
902
903 2008-09-15  Eric Botcazou  <ebotcazou@adacore.com>
904
905         * gcc-interface/trans.c (gigi): Declare the name of the compilation
906         unit as the first global name.
907
908 2008-09-14  Jan Hubicka  <jh@suse.cz>
909
910         * gcc-interface/Make-lang.in (gnat1): Add CFLAGS.
911
912 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
913
914         * a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads,
915         bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb,
916         exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
917         exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb,
918         exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads,
919         g-diopit.adb, g-socket.ads, gcc-interface/decl.c,
920         gcc-interface/gigi.h, gcc-interface/trans.c,
921         lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads,
922         opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads,
923         s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads,
924         s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb,
925         sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb,
926         sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
927         sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads,
928         sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in
929         comments.
930         * gnathtml.pl: Fix typos.
931
932 2008-09-10  Joel Sherrill <joel.sherrill@oarcorp.com>
933
934         * gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb.
935         * s-osinte-rtems.ads: Add shared hardware interrupt adapter
936         layer. RTEMS binds to OS provided adapter routines so there are
937         no modifications to s-osinte-rtems.adb.
938
939 2008-09-09  Arnaud Charlet  <charlet@adacore.com>
940             Joel Sherrill  <joel.sherrill@oarcorp.com>
941
942        * gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb.
943
944        * s-interr-vxworks.adb: Renamed to s-interr-hwint.adb
945
946        * s-interr-hwint.adb: New file.
947
948         * s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions
949         needed by s-interr-hwint.adb.
950
951         * s-osinte-vxworks-kernel.adb: New file.
952
953 2008-09-05  Joel Sherrill <joel.sherrill@oarcorp.com>
954
955         * s-stchop-rtems.adb: Add file missed in early commit.  Already
956         referenced in gcc-interface/Makefile.in.
957
958 2008-08-30  Thomas Quinot  <quinot@adacore.com>
959
960         * gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to
961         be built even without a separate libada directory.
962
963 2008-08-22  Arnaud Charlet  <charlet@adacore.com>
964
965         * lib-xref.ads: Fix typo in subprogram reference definition.
966
967 2008-08-22  Robert Dewar  <dewar@adacore.com>
968
969         * s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-strops.adb: Minor code fix
970         to avoid warning.
971
972         * g-trasym.adb: Ditto
973
974         * s-utf_32.adb (Get_Category): Fix obvious typo
975
976         * s-wwdcha.adb: Minor code reorganization
977         Remove dead code
978
979 2008-08-22  Robert Dewar  <dewar@adacore.com>
980
981         * checks.adb (Determine_Range): Deal with values that might be invalid
982
983         * opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New
984         configuration switches.
985
986         * par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values
987
988         * sem_prag.adb: Implement pragma Assume_No_Default_Values
989
990         * snames.adb, snames.ads, snames.h:
991         Add entries for pragma Assume_No_Invalid_Values
992
993         * switch-c.adb: Add processing for -gnatB switch
994
995         * usage.adb: Add entry for flag -gnatB (no bad invalid values)
996
997 2008-08-22  Javier Miranda  <miranda@adacore.com>
998
999         * exp_ch3.adb (Build_Init_Statements): Transfer to the body of the
1000         init procedure all the expanded code associated with the spec of
1001         task types and protected types.
1002
1003 2008-08-22  Gary Dismukes  <dismukes@adacore.com>
1004
1005         * exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the
1006         component expression copies rather than directly setting Etype and
1007         Is_Static_Expression.
1008
1009 2008-08-22  Gary Dismukes  <dismukes@adacore.com>
1010
1011         * sem_util.adb (Has_Preelaborable_Initialization): Revise checking of
1012         private types to allow for types derived from a private type with
1013         preelaborable initialization, but return False for a private extension
1014         (unless it has the pragma).
1015
1016 2008-08-22  Robert Dewar  <dewar@adacore.com>
1017
1018         * opt.ads: Minor code reorganization (put entries in alpha order)
1019
1020 2008-08-22  Pascal Obry  <obry@adacore.com>
1021
1022         * initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking
1023         spawn.
1024
1025 2008-08-22  Geert Bosch  <bosch@adacore.com>
1026
1027         * gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN
1028         (convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0
1029
1030 2008-08-22  Doug Rupp  <rupp@adacore.com>
1031
1032         * bindgen.adb [VMS] (Gen_Adainit_Ada, Gen_Adainit_C): Import and call
1033         __gnat_set_features.
1034
1035         * init.c
1036         (__gnat_set_features): New function.
1037         (__gnat_features_set): New tracking variable.
1038         (__gl_no_malloc_64): New feature global variable
1039
1040 2008-08-22  Ed Schonberg  <schonberg@adacore.com>
1041
1042         * sem_ch8.adb (Use_One_Type): Do not emit warning message about redundant
1043         use_type_clause in an instance.
1044
1045 2008-08-22  Bob Duff  <duff@adacore.com>
1046
1047         * exp_ch6.ads: Remove pragma Precondition, since it breaks some builds.
1048
1049 2008-08-22  Robert Dewar  <dewar@adacore.com>
1050
1051         * exp_ch6.adb: Minor reformatting
1052
1053         * exp_ch7.adb: Minor reformatting
1054
1055         * exp_ch7.ads: Put routines in proper alpha order
1056
1057         * exp_dist.adb: Minor reformatting
1058
1059 2008-08-22  Vincent Celier  <celier@adacore.com>
1060
1061         * prj.ads: Minor comment update
1062
1063 2008-08-22  Robert Dewar  <dewar@adacore.com>
1064
1065         * sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack
1066
1067 2008-08-22  Ed Schonberg  <schonberg@adacore.com>
1068
1069         * exp_tss.adb:
1070         (Base_Init_Proc): For a protected subtype, use the base type of the
1071         corresponding record to locate the propoer initialization procedure.
1072
1073 2008-08-22  Robert Dewar  <dewar@adacore.com>
1074
1075         * checks.adb:
1076         (In_Subrange_Of): New calling sequence
1077         (Determine_Range): Prepare for new processing using base type
1078
1079         * exp_ch4.adb:
1080         (Compile_Time_Compare): Use new calling sequence
1081
1082         * exp_ch5.adb:
1083         (Compile_Time_Compare): Use new calling sequence
1084
1085         * sem_eval.adb:
1086         (Compile_Time_Compare): New calling sequence allows dealing with
1087         invalid values.
1088         (In_Subrange_Of): Ditto
1089
1090         * sem_eval.ads:
1091         (Compile_Time_Compare): New calling sequence allows dealing with
1092         invalid values.
1093         (In_Subrange_Of): Ditto
1094
1095 2008-08-22  Pascal Obry  <obry@adacore.com>
1096
1097         * adaint.c: Fix possible race condition on win32_wait().
1098
1099 2008-08-22  Bob Duff  <duff@adacore.com>
1100
1101         * exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb, freeze.adb,
1102         exp_ch4.adb, exp_ch6.ads, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
1103         exp_intr.adb, exp_ch3.adb: Rename:
1104         Exp_Ch7.Controlled_Type => Needs_Finalization
1105         Exp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_Part
1106         Exp_Ch5.Expand_N_Extended_Return_Statement.Controlled_Type =>
1107          Has_Controlled_Parts
1108         (Has_Some_Controlled_Component): Fix bug in array case.
1109
1110 2008-08-22  Robert Dewar  <dewar@adacore.com>
1111
1112         * sem_ch8.adb: Minor reformatting
1113
1114 2008-08-22  Kevin Pouget  <pouget@adacore.com>
1115
1116         * s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen and
1117         Shared_Var_Close procedure specifications from package spec to package body.
1118
1119         * rtsfind.ads: Remove RE_Shared_Var_Close, RE_Shared_Var_ROpen,
1120         RE_Shared_Var_WOpen entries.
1121
1122         * exp_dist.adb: Update RE_Any_Content_Ptr to RE_Any_Container_Ptr in
1123         Build_To_Any_Call, Build_TypeCode_Call and Build_From_Any_Call procedures.
1124
1125 2008-08-22  Eric Botcazou  <ebotcazou@adacore.com>
1126
1127         * init.c: adjust EH support code on Alpha/Tru64 as well.
1128
1129         * raise-gcc.c: Add back a couple of comments.
1130
1131 2008-08-22  Ed Schonberg  <schonberg@adacore.com>
1132
1133         * exp_ch5.adb (Expand_Simple_Function_Return): If secondary stack is
1134         involved and the return type is class-wide, use the type of the expression
1135         for the generated access type. Suppress useless discriminant checks on the
1136         allocator.
1137
1138 2008-08-22  Bob Duff  <duff@adacore.com>
1139
1140         * exp_ch7.adb: Minor comment fix
1141
1142         * exp_ch6.ads: Minor comment fix
1143
1144 2008-08-22  Thomas Quinot  <quinot@adacore.com>
1145
1146         * sem_ch8.adb: Minor reformatting
1147         Minor code reorganization (introduce subprogram to factor duplicated
1148         code).
1149
1150 2008-08-22  Sergey Rybin  <rybin@adacore.com>
1151
1152         * gnat_ugn.texi: Change the description of gnatcheck default rule
1153         settings.
1154
1155 2008-08-22  Eric Botcazou  <ebotcazou@adacore.com>
1156
1157         * init.c (__gnat_adjust_context_for_raise): Delete for AIX, HP-UX,
1158         Solaris, FreeBSD, VxWorks and PowerPC/Linux.  For x86{-64}/Linux,
1159         do not adjust the PC anymore.
1160         (__gnat_error_handler): Do not call __gnat_adjust_context_for_raise
1161         on AIX, HP-UX, Solaris, FreeBSD and VxWorks.
1162
1163         * raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfo
1164         instead of _Unwind_GetIP.
1165
1166 2008-08-22  Gary Dismukes  <dismukes@adacore.com>
1167
1168         * exp_aggr.adb (Static_Array_Aggregate): When a static array aggregate
1169         with a range is transformed into a positional aggregate, any copied
1170         component literals should be marked Is_Static_Expression.
1171
1172         * sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals as
1173         not being known at at compile time when Configurable_Run_Time_Mode is
1174         true.
1175
1176 2008-08-22  Robert Dewar  <dewar@adacore.com>
1177
1178         * exp_attr.adb:
1179         (Expand_N_Attribute_Reference): No validity checking on OUT parameter of
1180         Read or Input attribute.
1181
1182 2008-08-22  Ed Schonberg  <schonberg@adacore.com>
1183
1184         * sem_ch8.adb (Use_One_Type): when checking which of two use_type
1185         clauses in related units is redundant, if one of the units is a package
1186         instantiation, use its instance_spec to determine which unit is the
1187         ancestor of the other.
1188
1189 2008-08-22  Javier Miranda  <miranda@adacore.com>
1190
1191         * exp_attr.adb (Expand_N_Attribute_Reference): In case of access
1192         attributes add missing support to handle designated types that come
1193         from the limited view.
1194
1195         * exp_disp.adb (Expand_Interface_Conversion): Remove wrong assertion.
1196
1197 2008-08-22  Sergey Rybin  <rybin@adacore.com>
1198
1199         * vms_data.ads: Add entry for new gnatcheck -mNNN option
1200
1201         * gnat_ugn.texi: Add description for gnatcheck option '-m'
1202
1203 2008-08-22  Sergey Rybin  <rybin@adacore.com>
1204
1205         * gnat_ugn.texi: Update the gnatcheck subsection for metric rules
1206         acoording to the latest changes in the metric rule interface
1207
1208 2008-08-22  Vincent Celier  <celier@adacore.com>
1209
1210         * make.adb (Check.File_Not_A_Source_Of): New Boolean function
1211         (Check): Check if the file names registered in the ALI file for the
1212         spec, the body and each of the subunits are the ones expected.
1213
1214 2008-08-22  Robert Dewar  <dewar@adacore.com>
1215
1216         * g-catiio.adb: Code cleanup.
1217
1218 2008-08-20  Vincent Celier  <celier@adacore.com>
1219
1220         * make.adb (Gnatmake): Remove extra space in version line
1221
1222         * ali.adb:
1223         (Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit,
1224         as the name may already have been entered in the table by the Project
1225         Manager.
1226
1227 2008-08-20  Jose Ruiz  <ruiz@adacore.com>
1228
1229         * errno.c (__get_errno, __set_errno for MaRTE): Transform then into
1230         weak symbols so we use the version provided by MaRTE when available.
1231
1232 2008-08-20  Emmanuel Briot  <briot@adacore.com>
1233
1234         * g-catiio.ads, g-catiio.adb:
1235         (Value): Avoid an unnecessary system call to Clock in most cases.
1236         This call is only needed when only the time is provided in the string,
1237         and ignored in all other cases. This is more efficient.
1238
1239 2008-08-20  Eric Botcazou  <ebotcazou@adacore.com>
1240
1241         * raise-gcc.c: Fix formatting nits.
1242
1243 2008-08-20  Robert Dewar  <dewar@adacore.com>
1244
1245         * sem_ch13.adb:
1246         (Adjust_Record_For_Reverse_Bit_Order): Do not access First_Bit for
1247         non-existing component clause.
1248
1249         * exp_ch5.adb: Minor reformatting
1250
1251         * g-comlin.adb: Minor reformatting
1252
1253         * make.adb: Minor reformatting
1254
1255         * prj-proc.adb: Minor reformatting
1256
1257         * stylesw.ads: Minor reformatting
1258
1259 2008-08-20  Vincent Celier  <celier@adacore.com>
1260
1261         * make.adb (Gnatmake_Switch_Found): New Boolean global variable
1262         (Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable
1263         (Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler
1264          defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False
1265         and a switch is not recognized by gnatmake.
1266         (Gnatmake): Implement new scheme for gnatmake switches and global
1267         compilation switches.
1268         (Switches_Of): Try successively Switches (<file name>),
1269         Switches ("Ada"), Switches (others) and Default_Switches ("Ada").
1270
1271 2008-08-20  Ed Schonberg  <schonberg@adacore.com>
1272
1273         * styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to
1274         implement style check that overriding operations are explicitly marked
1275         at such.
1276
1277         * style.ads (Missing_Overriding): new procedure that provides interface
1278         to previous one.
1279
1280         * stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check
1281         that the declaration or body of overriding operations carries an
1282         explicit overriding indicator.
1283
1284         * sem_ch8.adb
1285         (Analyze_Subprogram_Renaming): if operation is overriding, check whether
1286         explicit indicator should be present.
1287
1288         * sem_ch6.adb (Verify_Overriding_Indicator,
1289         Check_Overriding_Indicator): If operation is overriding, check whether
1290         declaration and/or body of subprogram should be present
1291
1292 2008-08-20  Vincent Celier  <celier@adacore.com>
1293
1294         * prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for
1295         gprbuild when casing is MixedCase, whatever the casing of the letters
1296         in the file name.
1297
1298 2008-08-20  Gary Dismukes  <dismukes@adacore.com>
1299
1300         * exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to
1301         creating dummy init proc.
1302         (Requires_Init_Proc): Return False in the case No_Default_Initialization
1303         is in force and the type does not have associated default
1304         initialization. Move test of Is_Public (with tests of restrictions
1305         No_Initialize_Scalars and No_Default_Initialization) to end, past tests
1306         for default initialization.
1307
1308 2008-08-20  Jerome Lambourg  <lambourg@adacore.com>
1309
1310         * g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part
1311         of any alias or prefix but having attached parameters (as \"-O2\").
1312
1313 2008-08-20  Robert Dewar  <dewar@adacore.com>
1314
1315         * s-fileio.adb: Minor reformatting
1316
1317 2008-08-20  Thomas Quinot  <quinot@adacore.com>
1318
1319         * exp_strm.adb (Build_Elementary_Input_Call,
1320         Build_Elementary_Write_Call): Fix incorrect condition in circuitry that
1321         selects the stream attribute routines for long float types.
1322
1323 2008-08-20  Vincent Celier  <celier@adacore.com>
1324
1325         * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data
1326
1327         * prj.ads (Array_Data): Add a component Location
1328
1329 2008-08-20  Ed Schonberg  <schonberg@adacore.com>
1330
1331         * sem_prag.adb:
1332         (Analyze_Pragma, case Obsolescent): Add entity information on the pragma
1333         argument for ASIS and navigation use.
1334
1335 2008-08-20  Ed Schonberg  <schonberg@adacore.com>
1336
1337         * einfo.ads: Add comment.
1338
1339 2008-08-20  Bob Duff  <duff@adacore.com>
1340
1341         * sem_eval.ads: Minor comment fix.
1342
1343 2008-08-20  Bob Duff  <duff@adacore.com>
1344
1345         * exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant
1346         folding. We were folding things like "False and then ...", but not
1347         "X and then ..." where X is a constant whose value is known at compile
1348         time.
1349
1350 2008-08-20  Hristian Kirtchev  <kirtchev@adacore.com>
1351
1352         * exp_ch5.adb (Controlled_Type): New routine.
1353         (Expand_N_Extended_Return_Statement): When generating a move of the
1354         final list in extended return statements, check the type of the
1355         function and in the case of double expanded return statements, the type
1356         of the returned object.
1357         (Expand_Simple_Function_Return): Perform an interface conversion when
1358         the type of the returned object is an interface and the context is an
1359         extended return statement.
1360
1361 2008-08-20  Ed Schonberg  <schonberg@adacore.com>
1362
1363         * sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type
1364         and the full view is visible, set flag on full view as well.
1365
1366 2008-08-20  Thomas Quinot  <quinot@adacore.com>
1367
1368         * g-comlin.adb: Minor reformatting
1369         Minor code reorganization.
1370
1371         * freeze.adb: Minor reformatting
1372
1373 2008-08-20  Vincent Celier  <celier@adacore.com>
1374
1375         * prj-nmsc.adb (Check_File): An excluded Ada source file may be a
1376         source of another project.
1377
1378 2008-08-20  Pascal Obry  <obry@adacore.com>
1379
1380         * s-os_lib.ads: Minor reformatting.
1381
1382 2008-08-20  Arnaud Charlet  <charlet@adacore.com>
1383
1384         * gnatvsn.ads: Minor reformatting.
1385
1386 2008-08-20  Arnaud Charlet  <charlet@adacore.com>
1387
1388         * a-crbtgk.adb, repinfo.adb, g-traceb.ads, repinfo.ads,
1389         system-linux-s390x.ads, s-fatflt.ads, s-parame-ae653.ads, g-spipat.adb,
1390         g-spipat.ads, g-tasloc.adb, g-debpoo.adb, g-except.ads, g-debpoo.ads,
1391         mdll-utl.adb, g-string.adb, g-soliop-solaris.ads, par-sync.adb,
1392         exp_ch6.ads, a-cihama.ads, g-curexc.ads, system-linux-sh4.ads,
1393         g-utf_32.adb, g-hesorg.adb, s-proinf-irix-athread.ads, s-parint.adb,
1394         s-parint.ads, exp_ch7.ads, system-linux-alpha.ads, g-dirope.adb,
1395         sinfo-cn.adb, par-labl.adb, a-ciorse.adb, g-calend.adb,
1396         s-parame-vms-alpha.ads, nlists.h, exp_imgv.adb, exp_fixd.ads,
1397         g-calend.ads, gnatcmd.ads, g-table.adb, s-memory-mingw.adb,
1398         g-alveop.ads, g-memdum.ads, g-altive.ads, initialize.c, g-regpat.adb,
1399         g-busorg.ads, g-regpat.ads, g-encstr.ads, g-regexp.adb, g-regexp.ads,
1400         live.ads, g-dyntab.adb, prj-nmsc.ads, par-ch12.adb, 9drpc.adb,
1401         g-alvevi.ads, s-memory.adb, math_lib.adb, s-parame.ads, s-memory.ads,
1402         s-regexp.adb, a-exexda.adb, i-cstrea-vms.adb, a-exexpr.adb,
1403         g-soliop-mingw.ads, s-imgrea.adb, namet.adb, system-vms.ads,
1404         s-inmaop-dummy.adb, s-finroo.ads, a-ngcefu.adb, s-hibaen.ads,
1405         g-soliop.ads, s-auxdec.adb, g-locfil.ads, gnatxref.adb, memroot.adb,
1406         osint-b.ads, memroot.ads, s-parame-hpux.ads, errutil.adb,
1407         system-linux-s390.ads, par-util.adb, osint-c.ads, exp_pakd.ads,
1408         i-pacdec.ads, par-endh.adb, mlib-tgt.ads, prj-strt.ads,
1409         s-osprim-vms.adb, s-proinf.ads, output.ads, g-moreex.ads,
1410         a-finali.ads, s-fatlfl.ads, namet.h, mdll.ads, g-dynhta.ads,
1411         s-imgenu.ads, par-tchk.adb, g-excact.ads, memtrack.adb, s-fatgen.adb,
1412         a-exexpr-gcc.adb, g-arrspl.adb, par-ch4.adb, g-cgideb.adb, freeze.ads,
1413         g-altcon.adb, s-fatllf.ads, gnatfind.adb, s-osinte-lynxos-3.adb,
1414         a-exextr.adb, g-htable.ads, a-calfor.adb, s-imgcha.adb, argv.c,
1415         a-chahan.ads, g-hesora.adb, system-vms_64.ads, par-ch5.adb, g-md5.adb,
1416         lib-xref.ads, g-md5.ads, g-casuti.ads, s-fatsfl.ads, exp_dbug.ads,
1417         s-htable.ads, a-ngcoar.adb, s-arit64.ads, a-ngelfu.adb, a-filico.ads,
1418         par-ch6.adb, s-inmaop.ads, s-parame-vxworks.ads, s-casuti.ads,
1419         a-numaux-darwin.adb, a-cohama.ads, system-linux-sparc.ads, g-os_lib.adb,
1420         system-vms-ia64.ads, s-parame-vms-restrict.ads, a-clrefi.ads,
1421         s-parame-vms-ia64.ads, a-strfix.adb, a-coorse.adb, a-comlin.ads,
1422         a-chtgke.adb, s-imgint.adb, g-expect.ads, exp_ch4.ads, s-finimp.adb,
1423         mingw32.h, g-heasor.adb, g-alleve.adb, a-ngrear.adb, s-mastop-irix.adb,
1424         s-poosiz.adb, link.c: Fix copyright notice.
1425
1426 2008-08-20  Arnaud Charlet  <charlet@adacore.com>
1427
1428         * g-comlin.ads: Update comments.
1429
1430 2008-08-20  Ed Schonberg  <schonberg@adacore.com>
1431
1432         * sem_ch8.adb (Analyze_Subprogram_Renaming): Inherit Is_Imported flag.
1433
1434 2008-08-20  Gary Dismukes  <dismukes@adacore.com>
1435
1436         * exp_ch11.adb:
1437         (Expand_Exception_Handlers): Call Make_Exception_Handler instead of
1438         Make_Implicit_Exception_Handler when rewriting an exception handler with
1439         a choice parameter, and pass the handler's Sloc instead of that of the
1440         handled sequence of statements. Make_Implicit_Exception_Handler sets the
1441         Sloc to No_Location (unless debugging generated code), which we don't
1442         want for the case of a user handler.
1443
1444 2008-08-20  Robert Dewar  <dewar@adacore.com>
1445
1446         * freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field
1447
1448         * sem_ch13.adb:
1449         (Adjust_Record_For_Reverse_Bit_Order): Messages about layout are
1450         now labeled as info msgs, not warnings.
1451
1452         * tbuild.ads: Clarify documentation of Make_Implicit_Exception_Handler
1453
1454         * usage.adb: Minor change to avoid overlong line for -gnatwz/Z
1455
1456         * a-textio.adb: Remove redundant test.
1457
1458         * a-witeio.adb: Minor code reorganization
1459         Remove redundant test found working on another issue
1460
1461         * a-ztexio.adb: Minor code reorganization
1462         Remove redundant test found working on another issue
1463
1464 2008-08-20  Thomas Quinot  <quinot@adacore.com>
1465
1466         * s-fileio.adb (Open) Use C helper function to determine whether a
1467         given errno value corresponds to a "file not found" error.
1468
1469         * sysdep.c (__gnat_is_file_not_found_error): New C helper function.
1470
1471 2008-08-20  Jose Ruiz  <ruiz@adacore.com>
1472
1473         * errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno
1474         to get access to the per-task errno variable.
1475         (__set_errno for MaRTE): Do not redefine this function here since it is
1476         already defined in MaRTE.
1477
1478 2008-08-20  Tristan Gingold  <gingold@adacore.com>
1479
1480         * gnat_ugn.texi: Gcov is not supported on static library on AIX.
1481
1482 2008-08-20  Robert Dewar  <dewar@adacore.com>
1483
1484         * freeze.adb: Minor reformatting
1485
1486         * g-comlin.adb: Minor reformatting
1487
1488         * g-socket.adb: Minor reformatting
1489
1490         * g-socthi-mingw.adb: Minor reformatting
1491
1492         * g-stheme.adb: Minor reformatting
1493
1494 2008-08-20  Ed Schonberg  <schonberg@adacore.com>
1495
1496         * sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads,
1497         exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve
1498         confusion between partial and full views of an ancestor of the context
1499         type when the parent is a private extension declared in a parent unit,
1500         and full views are available for the context type.
1501
1502 2008-08-18  Samuel Tardieu  <sam@rfc1149.net>
1503             Robert Dewar  <dewar@adacore.com>
1504
1505         PR ada/30827
1506         * bindgen.adb (Gen_Output_File_Ada): Zero-terminate the
1507         version string.
1508         Move comment in the right place.
1509         * g-comver.adb (Version): Look for a zero-termination in
1510         addition to a closing parenthesis.
1511
1512 2008-08-18  Samuel Tardieu  <sam@rfc1149.net>
1513
1514         * exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb,
1515         * sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb,
1516         * sem_prag.adb, sem_util.adb, sem_warn.adb: Use
1517         Is_Package_Or_Generic_Package instead of hand-crafted tests.
1518
1519 2008-08-18  Samuel Tardieu  <sam@rfc1149.net>
1520
1521         PR ada/15808
1522         * sem_ch6.adb (Check_Private_Overriding): Check for generic packages
1523         as well.
1524
1525 2008-08-17  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
1526
1527         * adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement.
1528
1529 2008-08-16  Eric Botcazou  <ebotcazou@adacore.com>
1530
1531         * gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call
1532         for back-copy statements in lieu of that of the actual.
1533
1534 2008-08-16  Eric Botcazou  <ebotcazou@adacore.com>
1535
1536         PR ada/20548
1537         * gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the
1538         setjmp test consistently.  Adjust for new behavior of flag_stack_check.
1539         * gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant
1540         test of flag_stack_check.  Adjust for new behavior of flag_stack_check.
1541
1542 2008-08-13  Samuel Tardieu  <sam@rfc1149.net>
1543
1544         PR ada/36777
1545         * sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New.
1546         * sem_attr.adb (Check_Type): The current instance of a protected
1547         object is not a type name.
1548         (Analyze_Access_Attribute): Accept instances of protected objects.
1549         (Analyze_Attribute, Attribute_Address clause): Ditto.
1550         * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite
1551         the prefix as being the current instance if needed.
1552
1553 2008-08-12  Danny Smith  <danyssmith@users.sourceforge.net>
1554
1555         * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]:
1556         Remove duplicate s-win32.o. Add s-winext.o.
1557
1558 2008-08-12  Danny Smith  <danyssmith@users.sourceforge.net>
1559
1560         * g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
1561         with SOSC.SOCK__STREAM.
1562         * g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
1563         SOSC.MSG_OOB.
1564
1565 2008-08-11  Joel Sherrill  <joel.sherrill@oarcorp.com>
1566
1567         * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
1568         * gsocket.h, socket.c: Update to support RTEMS.
1569         * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.
1570
1571 2008-08-10  Samuel Tardieu  <sam@rfc1149.net>
1572             Robert Dewar <dewar@adacore.com>
1573
1574         * exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
1575         left argument even when right argument is 0.
1576         (Expand_N_Op_Mod): Ditto when right argument is 1.
1577         (Expand_N_Op_Multiply): Ditto when any argument is 0.
1578         (Expand_N_Op_Rem): Ditto when right argument is 1.
1579
1580 2008-08-09  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1581
1582         * gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused
1583         by warn_unused.
1584
1585 2008-08-08  Ed Schonberg  <schonberg@adacore.com>
1586
1587         * freeze.adb (Generate_Prim_Op_References): New procedure, abstracted
1588         from Freeze_Entity. Used to generate cross-reference information for
1589         types declared in generic packages.
1590
1591 2008-08-08  Thomas Quinot  <quinot@adacore.com>
1592
1593         * gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a
1594         compatibility shim.
1595
1596 2008-08-08  Thomas Quinot  <quinot@adacore.com>
1597
1598         * gsocket.h:
1599         On Windows, include <errno.h> and redefine only selected errno values
1600         from their <winsock2.h> definitions.
1601
1602         * s-osinte-freebsd.ads: Minor reformatting
1603
1604         * s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting
1605
1606         * g-soccon.ads: New file.
1607
1608         * g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb,
1609         g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb,
1610         g-stsifd-sockets.adb, g-socket.adb, g-socket.ads,
1611         g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child
1612         unit, to allow building software that depends on this internal unit
1613         with both older and newer compilers.
1614
1615 2008-08-08  Robert Dewar  <dewar@adacore.com>
1616
1617         * s-strxdr.adb: Minor reformatting
1618
1619 2008-08-08  Bob Duff  <duff@adacore.com>
1620
1621         * gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow
1622         checking for integer operations (including division by zero)", which
1623         is wrong -- divide by zero is not part of overflow checking.
1624         Also added misc clarification about what check-suppression means.
1625
1626         * gnat_rm.texi: Clarify the meaning of pragma Suppress.
1627
1628 2008-08-08  Jerome Lambourg  <lambourg@adacore.com>
1629
1630         * g-comlin.adb (Add_Switch): Handle addition of switches at the
1631         begining of the command line.
1632         (Append, Add): Renaming of Append to Add as this now allows addition
1633         at the begining of the list.
1634
1635         * g-comlin.ads (Add_Switch): Handle addition of switches at the
1636         begining of the command line.
1637
1638 2008-08-08  Thomas Quinot  <quinot@adacore.com>
1639
1640         * g-sercom.ads:
1641         (Name): Document application scope (only legacy PC serial ports on
1642         Linux and Windows).
1643
1644 2008-08-08  Thomas Quinot  <quinot@adacore.com>
1645
1646         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert
1647         previous change, not needed after all.
1648
1649 2008-08-08  Ed Schonberg  <schonberg@adacore.com>
1650
1651         * exp_ch4.adb (Expand_Allocator_Expression): add check if null
1652         exclusion indicator is present
1653
1654 2008-08-08  Robert Dewar  <dewar@adacore.com>
1655
1656         * g-comlin.adb: Minor code reorganization
1657         Minor reformatting
1658
1659         * g-comlin.ads: Minor reformatting
1660
1661         * s-fileio.adb: Minor reformatting
1662
1663         * sem_attr.adb: Minor code reorganization (use Nkind_In)
1664         Minor reformatting
1665
1666 2008-08-06  Samuel Tardieu  <sam@rfc1149.net>
1667
1668         * gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing
1669         with s-oscons-tmplt.i.
1670
1671 2008-08-06  Samuel Tardieu  <sam@rfc1149.net>
1672
1673         * gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove.
1674
1675 2008-08-06  Ed Schonberg  <schonberg@adacore.com>
1676
1677         * sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse
1678         of incomplete type.
1679
1680         * sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming
1681         of a formal parameter of an incomplete type. Improve error message for
1682         other improper uses of incomplete types.
1683
1684 2008-08-06  Robert Dewar  <dewar@adacore.com>
1685
1686         * gnat_ugn.texi: Clarify -gnato documentation
1687
1688 2008-08-06  Thomas Quinot  <quinot@adacore.com>
1689
1690         * gcc-interface/Makefile.in,
1691         g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb,
1692         g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads,
1693         g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads,
1694         g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads,
1695         g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads,
1696         g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads,
1697         g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads,
1698         g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads,
1699         g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads:
1700         Remove GNAT.Sockets.Constants. This internal package is replaced by
1701         System.OS_Constants.
1702
1703 2008-08-06  Thomas Quinot  <quinot@adacore.com>
1704
1705         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in:
1706         Remove obsolete targets referencing gen-soccon
1707         When generating s-oscons.ads, use a file name that includes the
1708         THREAD_KIND, to ensure that the (potentially different) version from a
1709         previous build with a different threads flavour does not get reused.
1710
1711 2008-08-06  Thomas Quinot  <quinot@adacore.com>
1712
1713         * sem_res.adb: Minor reformatting
1714
1715         * s-fileio.adb (Open): When file open operation fails, raise Name_Error
1716         only when the operating system reports a non-existing file or directory
1717         (ENOENT), otherwise raise Name_Error.
1718
1719         * exp_ch11.adb: Minor reformatting
1720
1721 2008-08-06  Ed Schonberg  <schonberg@adacore.com>
1722
1723         * sem_ch3.adb (Access_Subprogram_Declaration): If the return type is
1724         incomplete, add the access_to_subprogram type to the list of private
1725         dependents only if the incomplete type will be completed in the current
1726         scope.
1727         (Build_Discriminant_Constraints): If the type of the discriminant is
1728         access_to_variable, reject a constraint that is access_to_constant.
1729
1730 2008-08-06  Thomas Quinot  <quinot@adacore.com>
1731
1732         * g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb,
1733         g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads,
1734         g-sttsne-dummy.ads: New files.
1735
1736         * gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources
1737         with pragma Unimplemented_Unit for sockets packages on Nucleus.
1738
1739 2008-08-06  Pascal Obry  <obry@adacore.com>
1740
1741         * adaint.c: Another fix for ACL support on Windows.
1742
1743 2008-08-06  Javier Miranda  <miranda@adacore.com>
1744
1745         * exp_disp (Expand_Interface_Actuals): Adds missing support for
1746         expansion of calls to subprograms using selected components.
1747
1748 2008-08-06  Ed Schonberg  <schonberg@adacore.com>
1749
1750         * sem_res.adb (Resolve_Call): Use base type to determine whether a
1751         dereference is needed because a subtype of an access_to_subprogram is
1752         simply an access-subtype
1753
1754 2008-08-06  Jerome Lambourg  <lambourg@adacore.com>
1755
1756         * g-comlin.adb (Set_Command_Line): Now that aliases can contain
1757         parameters, always specify the expected separator.
1758
1759 2008-08-06  Thomas Quinot  <quinot@adacore.com>
1760
1761         * xnmake.adb: Use new XUtil package for platform independent text
1762         output.
1763
1764 2008-08-06  Vincent Celier  <celier@adacore.com>
1765
1766         * gnat_ugn.texi: Document compiler switch -gnateG
1767
1768 2008-08-06  Quentin Ochem  <ochem@adacore.com>
1769
1770         * s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark
1771         in the case of an empty pattern size.
1772         (Compute_Result): Do not do any computation in the case of an empty
1773         pattern size.
1774         (Report_Result): Fixed computation of the overflow guard.
1775
1776 2008-08-06  Ed Schonberg  <schonberg@adacore.com>
1777
1778         * g-awk.adb (Finalize): Do not use directly objects of the type in the
1779         finalization routine to prevent elaboration order anomalies in new
1780         finalization scheme.
1781
1782 2008-08-06  Ed Schonberg  <schonberg@adacore.com>
1783
1784         * sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete
1785         declaration for the same type.
1786
1787 2008-08-06  Thomas Quinot  <quinot@adacore.com>
1788
1789         * sem.adb: Minor rewording (comment)
1790
1791 2008-08-06  Jerome Lambourg  <lambourg@adacore.com>
1792
1793         * g-comlin.adb (Define_Switch, Get_Switches): New.
1794         (Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when
1795         ungrouping switches.
1796         (For_Each_Simple_Switch): Allow more control over parameters handling.
1797         This generic method now allows ungrouping of switches with parameters
1798         and switches with more than one letter after the prefix.
1799         (Set_Command_Line): Take care of switches that are prefixed with a
1800         switch handling parameters without delimiter (-gnatya and -gnaty3 for
1801         example).
1802         (Add_Switch, Remove_Switch): Handle parameters possibly present inside
1803         a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of
1804         the operation.
1805         (Start, Alias_Switches, Group_Switches): Take care of parameters
1806         possibly present inside a group.
1807
1808         * g-comlin.ads (Define_Switch): New method used to define a list of
1809         expected switches, that are necessary for correctly ungrouping switches
1810         with more that one character after the prefix.
1811         (Get_Switches): Method that builds a getopt string from the list of
1812         switches as set previously by Define_Switch.
1813         (Add_Switch, Remove_Switch): New versions of the methods, reporting the
1814         status of the operation. Also allow the removal of switches with
1815         parameters only.
1816         (Command_Line_Configuration_Record): Maintain a list of expected
1817         switches.
1818
1819 2008-08-06  Doug Rupp  <rupp@adacore.com>
1820
1821         * gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if
1822         TARGET_MALLOC64 clear.
1823
1824         * gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc
1825         if TARGET_MALLOC64 clear.
1826
1827         * gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c
1828         (TARGET_MALLC64): New macro. Default to clear.
1829
1830 2008-08-06  Doug Rupp  <rupp@adacore.com>
1831
1832         * gcc-interface/utils2.c (snames.h) Include
1833         (TARGET_ABI_OPEN_VMS): Initialize.
1834         (build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap
1835         for Convention C.
1836
1837 2008-08-06  Ed Schonberg  <schonberg@adacore.com>
1838
1839         * sem_ch3.adb (Process_Discriminants): diagnose redundant or improper
1840         null exclusion in a discriminant declaration
1841
1842         * sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion
1843         indicators when type is not an access type.
1844
1845         * sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion
1846         indicators when type is not an access type.
1847
1848 2008-08-06  Javier Miranda  <miranda@adacore.com>
1849
1850         * exp_disp (Expand_Interface_Conversion): Freeze the entity associated
1851         with the target interface before expanding the code of the interface
1852         conversion.
1853
1854 2008-08-05  Ed Schonberg  <schonberg@adacore.com>
1855
1856         * freeze.adb:
1857         (Freeze_Entity): A deferred constant does not violate the restriction
1858         No_Default_Initialization,
1859
1860         * sem_ch3.adb (Process_Subtype): An allocator is a valid construct that
1861         can carry a null exclusion indicator, and on which an error may be
1862         posted if the indicator is redundant.
1863
1864         * sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion
1865         does not apply to a subtype mark that already excludes null.
1866
1867         * sem_ch12.adb (Formal_Object_Declaration): Verify that a null
1868         exclusion does not apply to a subtype mark that already excludes null.
1869
1870 2008-08-05  Thomas Quinot  <quinot@adacore.com>
1871
1872         * Makefile.rtl: Compile s-oscons.ads as part of the runtime library.
1873
1874 2008-08-05  Doug Rupp  <rupp@adacore.com>
1875
1876         * vms_data.ads: Translation for /POINTER_SIZE qualifier.
1877
1878 2008-08-05  Thomas Quinot  <quinot@adacore.com>
1879
1880         * gsocket.h: Make this file includable in a Nucleus environment, which
1881         does not support sockets.
1882
1883         * socket.c: Remove Nucleus-specific hack.
1884
1885 2008-08-05  Pascal Obry  <obry@adacore.com>
1886
1887         * adaint.c: Remove support for readable attribute on vxworks and nucleus
1888
1889 2008-08-05  Ed Schonberg  <schonberg@adacore.com>
1890
1891         * sem_attr.adb:
1892         (Analyze_Attribute, case 'Result): handle properly the case where some
1893         operand of the expression in a post-condition generates a transient
1894         block.
1895
1896         * sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to
1897         right-hand side when it is an anonymous access_to_subprogram, to force
1898         static accessibility check when needed.
1899
1900 2008-08-05  Sergey Rybin  <rybin@adacore.com>
1901
1902         * gnat_ugn.texi: Changing the description of the gnatcheck metrics
1903         rule according to the change in the rule option.
1904         Add documentation for -gnatw.b/-gnatw.B
1905
1906 2008-08-05  Robert Dewar  <dewar@adacore.com>
1907
1908         * ug_words: Add entries for -gnatw.b/-gnatw.B
1909
1910         * vms_data.ads: Add entries for -gnatw.b/-gnatw.B
1911
1912 2008-08-05  Vincent Celier  <celier@adacore.com>
1913
1914         * a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put
1915         (File).
1916
1917         * a-ztdeio.adb: Ditto.
1918
1919 2008-08-05  Pascal Obry  <obry@adacore.com>
1920
1921         * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the
1922         readable attribute.
1923
1924 2008-08-05  Vincent Celier  <celier@adacore.com>
1925
1926         * s-wchwts.adb:
1927         (Wide_String_To_String): Returns a String with the same 'First as its
1928         parameter S.
1929         (Wide_Wide_String_To_String): Ditto
1930
1931         * s-wchwts.ads:
1932         (Wide_String_To_String): Document that the lowest index of the returned
1933         String is equal to S'First.
1934
1935 2008-08-05  Thomas Quinot  <quinot@adacore.com>
1936
1937         * xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files.
1938
1939         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate
1940         s-oscons.ads
1941
1942 2008-08-05  Robert Dewar  <dewar@adacore.com>
1943
1944         * opt.ads (Warn_On_Biased_Representation): New flag
1945
1946         * sem_ch13.adb:
1947         (Analyze_Attribute_Definition_Clause): Issue warning when biased
1948         representation is required.
1949         (Minimum_Size): Don't allow biasing if enum rep clause case
1950
1951         * sem_warn.adb:
1952         (Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches
1953         (Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws
1954
1955         * usage.adb: Add lines for -gnatw.b/B switches
1956
1957 2008-08-05  Pascal Obry  <obry@adacore.com>
1958
1959         * a-coinve.adb: Reorder the code to avoid uninitialized warning.
1960
1961         * adaint.c: In UNIX cases do not call __gnat_stat but stat directly.
1962
1963 2008-08-05  Thomas Quinot  <quinot@adacore.com>
1964
1965         * socket.c: Minor reformatting.
1966
1967 2008-08-05  Robert Dewar  <dewar@adacore.com>
1968
1969         * sem_ch3.adb: Minor reformatting
1970
1971         * prj-nmsc.adb: Minor reformatting
1972
1973 2008-08-05  Ed Schonberg  <schonberg@adacore.com>
1974
1975         * sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex
1976         visibility check on the component type if the simple test fails.
1977
1978 2008-08-05  Jose Ruiz  <ruiz@adacore.com>
1979
1980         * init.c (__gnat_install_handler for linux): If we are building the
1981         Xenomai run time then we need to do two additional things: avoid
1982         memory swapping and transform the Linux environment task into a native
1983         Xenomai task.
1984
1985         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run
1986         time): Use interface to Xenomai native skin and avoid linux-specific
1987         way of setting CPU affinity.
1988         (EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism.
1989
1990 2008-08-05  Bob Duff  <duff@adacore.com>
1991
1992         * checks.ads: Minor comment fix
1993
1994 2008-08-05  Thomas Quinot  <quinot@adacore.com>
1995
1996         * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb,
1997         g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and
1998         CS8.
1999
2000 2008-08-05  Robert Dewar  <dewar@adacore.com>
2001
2002         * mlib.adb: Minor code reorganization
2003         Minor reformatting
2004
2005         * make.adb: Minor reformatting
2006
2007         * prj-attr.ads: Minor reformatting
2008
2009         * s-os_lib.adb: Minor reformatting
2010
2011         * s-fileio.adb: Minor code reorganization
2012         Minor reformatting
2013
2014         * prj.ads: Minor reformatting
2015
2016 2008-08-05  Bob Duff  <duff@adacore.com>
2017
2018         * sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in
2019         unresolved initial value of "null", because it causes implicitly
2020         generated "=" operators to be ambiguous, and because this type should
2021         not be passed to gigi.
2022
2023 2008-08-05  Vincent Celier  <celier@adacore.com>
2024
2025         * mlib.adb: Update comments.
2026
2027         * make.adb (Switches_Of): Check for Switches (others), before checking
2028         for Default_Switches ("Ada").
2029         (Gnatmake): Use Builder'Switches (others) in preference to
2030         Builder'Default_Switches ("Ada") if there are several mains.
2031
2032         * prj-attr-pm.adb:
2033         (Add_Attribute): Add component Others_Allowed in Attribute_Record
2034         aggregate.
2035
2036         * prj-attr.adb:
2037         Add markers to indicates that attributes Switches allow others as index
2038         (Others_Allowed_For): New Boolean function, returning True for
2039         attributes with the mark.
2040         (Initialize): Recognize optional letter 'O' as the marker for
2041         associative array attributes where others is allowed as the index.
2042
2043         * prj-attr.ads:
2044         (Others_Allowed_For): New Boolean function
2045         (Attribute_Record): New Boolean component Others_Allowed
2046
2047         * prj-dect.adb:
2048         (Parse_Attribute_Declaration): For associative array attribute where
2049         others is allowed as the index, allow others as an index.
2050
2051         * prj-nmsc.adb:
2052         (Process_Binder): Skip associative array attributes with index others
2053         (Process_Compiler): Ditto
2054
2055         * prj-util.adb:
2056         (Value_Of (Index, In_Array)): Make no attempt to put in lower case when
2057         index is All_Other_Names.
2058
2059         * prj.ads:
2060         (All_Other_Names): New constant
2061
2062         * prj-proc.adb:
2063         (Process_Declarative_Items): Skip associative array attribute when index
2064         is reserved word "others".
2065
2066 2008-08-05  Vasiliy Fofanov  <fofanov@adacore.com>
2067
2068         * gen-oscons.c: Adapt for VMS where termios.h is not available.
2069
2070 2008-08-05  Thomas Quinot  <quinot@adacore.com>
2071
2072         * a-rttiev.adb: Minor reformatting (comments)
2073
2074         * gen-soccon.c: Rename to gen-oscons.c
2075
2076         * gen-oscons.c: New file. Now generate System.OS_Constants instead of
2077         GNAT.Sockets.Constants.
2078         Add new constants for GNAT.Serial_Communications and System.File_IO.
2079
2080 2008-08-05  Javier Miranda  <miranda@adacore.com>
2081
2082         * sem_util.adb (Collect_Interfaces_Info): Minor reformating.
2083         * exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the
2084         implementation of this routine has been simplified.
2085
2086 2008-08-05  Pascal Obry  <obry@adacore.com>
2087
2088         * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the
2089         Set_Read_Only Win32 implementation.
2090
2091 2008-08-05  Thomas Quinot  <quinot@adacore.com>
2092
2093         * exp_strm.adb: Minor reformatting (comments)
2094
2095         * sem_ch12.adb: Minor reformatting.
2096
2097 2008-08-05  Robert Dewar  <dewar@adacore.com>
2098
2099         * sem_ch3.adb: Minor reformatting
2100
2101         * checks.adb: Minor reformatting
2102
2103 2008-08-05  Thomas Quinot  <quinot@adacore.com>
2104
2105         * tbuild.ads (New_External_Name): Update spec to reflect relaxed
2106         restriction on Prefix.
2107
2108 2008-08-05  Jerome Lambourg  <lambourg@adacore.com>
2109
2110         * g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal
2111         methods needed to handle switch sections when building a command line.
2112         (Define_Section, Add_Switch, Remove_Switch, Is_New_Section,
2113         Current_Section): New public methods or methods modified to handle
2114         building command lines with sections.
2115         (Set_Command_Line): Take into account sections when analysing a switch
2116         string.
2117         (Start): Sort the switches by sections before iterating the command line
2118         elements.
2119
2120         * g-comlin.ads (Define_Section, Add_Switch, Remove_Switch,
2121         Is_New_Section, Current_Section): New methods or methods modified to
2122         handle building command lines with sections.
2123
2124 2008-08-05  Ed Schonberg  <schonberg@adacore.com>
2125
2126         * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access
2127         discriminants, indicate that the corresponding object declaration has
2128         no initialization, to prevent spurious warnings when the access type is
2129         null-excluding.
2130
2131 2008-08-05  Ed Schonberg  <schonberg@adacore.com>
2132
2133         * sem_res.adb (Resolve_Call): If this is a call to the predefined
2134         Abort_Task, warn if the call appears within a protected operation.
2135
2136 2008-08-04  Robert Dewar  <dewar@adacore.com>
2137
2138         * exp_ch4.adb (Expand_N_In): Suppress range warnings in instances
2139
2140 2008-08-04  Ed Schonberg  <schonberg@adacore.com>
2141
2142         * sem_ch3.adb:
2143         (Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an
2144         anonymous access to protected subprogram that is the return type of the
2145         specification of a subprogram body.
2146
2147         * sem_ch6.adb:
2148         (Analyze_Subprogram_Body): if the return type is an anonymous access to
2149         subprogram, freeze it now to prevent access anomalies in the back-end.
2150
2151         * exp_ch9.adb: Minor code cleanup.
2152         Make sure that new declarations are inserted into the tree before
2153         analysis (from code reading).
2154
2155 2008-08-04  Robert Dewar  <dewar@adacore.com>
2156
2157         * exp_ch5.adb:
2158         (Expand_Simple_Function_Return): Check No_Secondary_Stack restriction
2159         at point of return.
2160
2161 2008-08-04  Thomas Quinot  <quinot@adacore.com>
2162
2163         * sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting
2164
2165 2008-08-04  Vasiliy Fofanov  <fofanov@adacore.com>
2166
2167         * g-soccon-mingw.ads: Fix value for MSG_WAITALL
2168
2169 2008-08-04  Javier Miranda  <miranda@adacore.com>
2170
2171         * sem_prag.adb (Process_Convention): Add missing support for
2172          N_Private_Extension_Declaration nodes.
2173
2174 2008-08-04  Robert Dewar  <dewar@adacore.com>
2175
2176         * exp_ch4.adb: Minor reformatting
2177
2178 2008-08-04  Pascal Obry  <obry@adacore.com>
2179
2180         * adaint.h: Add missing prototype.
2181
2182         * adaint.c: Refine support for Windows file attributes.
2183
2184 2008-08-04  Robert Dewar  <dewar@adacore.com>
2185
2186         * sem_res.adb:
2187         (Valid_Conversion): Catch case of designated types having different
2188         sizes, even though they statically match.
2189
2190 2008-08-04  Javier Miranda  <miranda@adacore.com>
2191
2192         * sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch
2193         added in previous patch to handle access to subprograms.
2194
2195 2008-08-04  Robert Dewar  <dewar@adacore.com>
2196
2197         * freeze.adb:
2198         (Freeze_Entity): Only check No_Default_Initialization restriction for
2199         constructs that come from source
2200
2201 2008-08-04  Thomas Quinot  <quinot@adacore.com>
2202
2203         * exp_ch6.adb: Minor comment fix.
2204
2205         * sem_ch4.adb: Minor reformatting.
2206
2207 2008-08-04  Robert Dewar  <dewar@adacore.com>
2208
2209         * sem_res.adb: (Large_Storage_Type): Improve previous change.
2210
2211 2008-08-04  Pascal Obry  <obry@adacore.com>
2212
2213         * adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with
2214         file attributes.
2215
2216 2008-08-04  Javier Miranda  <miranda@adacore.com>
2217
2218         * sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support
2219         for N_Formal_Object_Declaration nodes. Adding kludge required by
2220         First_Formal to provide its functionality with access to functions.
2221         (Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support
2222         for anonymous access types returned by functions.
2223
2224         * sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate
2225         conversion of null-excluding access types (required only once to force
2226         the generation of the required runtime check).
2227
2228         * sem_type.adb (Covers): minor reformating
2229
2230         * checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors
2231         with internally generated nodes. Avoid generating the error inside init
2232         procs.
2233
2234         * sem_res.adb (Resolve_Membership_Test): Minor reformating.
2235         (Resolve_Null): Generate the null-excluding check in case of assignment
2236         to a null-excluding object.
2237         (Valid_Conversion): Add missing support for anonymous access to
2238         subprograms.
2239
2240         * sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for
2241         anonymous access types whose designated type is an itype. This case
2242         occurs with anonymous access to protected subprograms types.
2243         (Analyze_Return_Type):  Add missing support for anonymous access to
2244         protected subprogram.
2245
2246         * sem_eval.adb (Subtypes_Statically_Match): In case of access to
2247         subprograms addition of missing check on matching convention. Required
2248         to properly handle access to protected subprogram types.
2249
2250         * exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on
2251         null excluding access types.
2252
2253 2008-08-04  Ed Schonberg  <schonberg@adacore.com>
2254
2255         * sem_ch12.adb: Add comments
2256
2257         * sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null
2258         access type and the allocator is not initialized, warn rather than
2259         reporting an error.
2260
2261 2008-08-04  Robert Dewar  <dewar@adacore.com>
2262
2263         * exp_ch4.adb: Minor reformatting
2264
2265         * exp_dist.adb: Minor reformatting
2266
2267         * g-comlin.adb: Minor reformatting
2268
2269 2008-08-04  Gary Dismukes  <dismukes@adacore.com>
2270
2271         * exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
2272         target to the type of the aggregate in the case where the target object
2273         is class-wide.
2274
2275         * exp_ch5.adb (Expand_Simple_Function_Return): When the function's
2276         result type is class-wide and inherently limited, and the expression
2277         has a specific type, create a return object of the specific type, for
2278         more efficient handling of returns of build-in-place aggregates (avoids
2279         conversions of the class-wide return object to the specific type on
2280         component assignments).
2281
2282         * sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
2283         about a type mismatch for a class-wide function with a return object
2284         having a specific type when the object declaration doesn't come from
2285         source. Such an object can result from the expansion of a simple return.
2286
2287 2008-08-04  Vasiliy Fofanov  <fofanov@adacore.com>
2288
2289         * g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files.
2290
2291         * gcc-interface/Makefile.in: Use 64bit-specific system files when
2292         compiling for 64bit windows.
2293
2294 2008-08-04  Jerome Lambourg  <lambourg@adacore.com>
2295
2296         * g-comlin.adb (Group_Switches): Preserve the switch order when
2297         grouping and allow switch grouping of switches with more than one
2298         character extension (e.g. gnatw.x).
2299         (Args_From_Expanded): Remove this now obsolete method.
2300
2301 2008-08-04  Ed Schonberg  <schonberg@adacore.com>
2302
2303         * exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for
2304         chain at once, to ensure that type is properly decorated for back-end,
2305         when allocator appears within a loop.
2306
2307 2008-08-04  Kevin Pouget  <pouget@adacore.com>
2308
2309         * snames.h, snames.adb, snames.ads:
2310         Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines.
2311
2312         * exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call,
2313         Build_To_Any_Call and Build_TypeCode_Call procedures.
2314
2315         * exp_attr.adb, sem_attr.adb: Add corresponding cases.
2316
2317         * rtsfind.ads: Add corresponding names.
2318
2319         * tbuild.adb: Update prefix restrictions to allow '_' character.
2320
2321 2008-08-04  Doug Rupp  <rupp@adacore.com>
2322
2323         * gigi.h (fill_vms_descriptor): Add third parameter gnat_actual
2324         * trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter.
2325         * utils2.c (fill_vms_descriptor): Add third parameter for error sloc and
2326         use it.  Calculate pointer range overflow using 64bit types.
2327
2328 2008-08-04  Ed Schonberg  <schonberg@adacore.com>
2329
2330         * sem_ch3.adb (Access_Definition): A formal object declaration is a
2331         legal context for an anonymous access to subprogram.
2332
2333         * sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an
2334         indirect call, report success to the caller to include possible
2335         interpretation.
2336
2337         * sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance
2338         check when the type
2339         of the extended return is an anonymous access_to_subprogram type.
2340
2341         * sem_res.adb:
2342         (Resolve_Call): Insert a dereference if the type of the subprogram is an
2343         access_to_subprogram and the context requires its return type, and a
2344         dereference has not been introduced previously.
2345
2346 2008-08-04  Arnaud Charlet  <charlet@adacore.com>
2347
2348         * usage.adb (Usage): Minor rewording of -gnatwz switch, to improve
2349         gnatcheck support in GPS.
2350
2351 2008-08-04  Vincent Celier  <celier@adacore.com>
2352
2353         * mlib.adb (Create_Sym_Links): Create relative symbolic links when
2354         requested
2355
2356 2008-08-04  Vincent Celier  <celier@adacore.com>
2357
2358         * gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean
2359         variable, but don't check the resulting value as it has no impact on
2360         the processing.
2361
2362         * opt.ads:
2363         (Generate_Processed_File): New Boolean flag, set to True in the compiler
2364         when switch -gnateG is used.
2365
2366         * prep.adb:
2367         (Preprocess): new Boolean out parameter Source_Modified. Set it to True
2368         when the source is modified by the preprocessor and there is no
2369         preprocessing errors.
2370
2371         * prep.ads (Preprocess): new Boolean out parameter Source_Modified
2372
2373         * sinput-l.adb:
2374         (Load_File): Output the result of preprocessing if the source text was
2375         modified.
2376
2377         * switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG
2378
2379         * switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG
2380
2381         * ug_words: Add VMS equivalent for -gnateG
2382
2383         * vms_data.ads:
2384         Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG
2385
2386 2008-08-04  Doug Rupp  <rupp@adacore.com>
2387
2388         * gcc-interface/utils2.c:
2389         (fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer
2390         in 32bit descriptor.
2391
2392 2008-08-04  Robert Dewar  <dewar@adacore.com>
2393
2394         * par-ch10.adb: Minor reformatting
2395
2396         * i-cobol.adb: Minor reformatting.
2397
2398 2008-08-04  Ed Schonberg  <schonberg@adacore.com>
2399
2400         * sem_ch3.adb (Access_Definition): Create an itype reference for an
2401         anonymous access return type of a regular function that is not a
2402         compilation unit.
2403
2404 2008-08-04  Vincent Celier  <celier@adacore.com>
2405
2406         * prj-attr.adb: New Builder attribute Global_Compilation_Switches
2407
2408         * snames.adb: New standard name Global_Compilation_Switches
2409
2410         * snames.ads: New standard name Global_Compilation_Switches
2411
2412         * make.adb: Correct spelling error in comment
2413
2414 2008-08-04  Arnaud Charlet  <charlet@adacore.com>
2415
2416         * sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI
2417         target.
2418
2419 2008-08-04  Thomas Quinot  <quinot@adacore.com>
2420
2421         * sem_ch10.adb: Minor comment fix.
2422
2423 2008-08-04  Robert Dewar  <dewar@adacore.com>
2424
2425         * restrict.adb: Improved messages for restriction warnings
2426
2427         * restrict.ads: Improved messages for restriction messages
2428
2429         * s-rident.ads (Profile_Name): Add No_Profile
2430
2431 2008-08-04  Robert Dewar  <dewar@adacore.com>
2432
2433         * system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus
2434
2435 2008-08-04  Robert Dewar  <dewar@adacore.com>
2436
2437         * freeze.adb (Freeze_Entity): Check for size clause for boolean warning
2438
2439 2008-08-04  Vincent Celier  <celier@adacore.com>
2440
2441         * prj-proc.adb:
2442         (Copy_Package_Declarations): When inheriting package Naming from a
2443         project being extended, do not inherit source exception names.
2444
2445 2008-08-04  Ed Schonberg  <schonberg@adacore.com>
2446
2447         * sem_prag.adb (Check_Precondition_Postcondition): When scanning the
2448         list of declaration to find previous subprogram, do not go to the
2449         original node of a generic unit.
2450
2451 2008-08-02  Eric Botcazou  <ebotcazou@adacore.com>
2452
2453         * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>:
2454         New case.  Convert BOOLEAN_TYPE operation to the default integer type.
2455
2456 2008-08-01  Eric Botcazou  <ebotcazou@adacore.com>
2457
2458         * gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE.
2459         * gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify
2460         and adjust for above renaming.
2461         * gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new
2462         gnu_expr_alt_type parameter.  Convert the expression to it instead
2463         of changing its type in place.
2464         (build_function_stub): Adjust call to above function.
2465
2466 2008-08-01  Eric Botcazou  <ebotcazou@adacore.com>
2467
2468         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead
2469         code.  Do not get full definition of deferred constants with address
2470         clause for a use.  Do not ignore deferred constant definitions with
2471         address clause.  Ignore constant definitions already marked with the
2472         error node.
2473         <object>: Remove obsolete comment.  For a deferred constant with
2474         address clause, get the initializer from the full view.
2475         * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>:
2476         Rework and remove obsolete comment.
2477         <N_Object_Declaration>: For a deferred constant with address clause,
2478         mark the full view with the error node.
2479         * gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix
2480         formatting nits.
2481
2482 2008-08-01  Hristian Kirtchev  <kirtchev@adacore.com>
2483
2484         * rtsfind.ads: Add block IO versions of stream routines for Strings.
2485
2486         * bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads,
2487         sem_prag.adb, snames.adb, snames.ads, snames.h,
2488         par-prag.adb: Undo previous stream related changes.
2489
2490         * s-rident.ads: Add new restriction No_Stream_Optimizations.
2491
2492         * s-ststop.ads, s-ststop.adb: Comment reformatting.
2493         Define enumeration type to designate different IO mechanisms.
2494         Enchance generic package Stream_Ops_Internal to include an
2495         implementation of Input and Output.
2496
2497         * exp_attr.adb (Find_Stream_Subprogram): If restriction
2498         No_Stream_Optimization is active, choose the default byte IO
2499         implementations of stream attributes for Strings.
2500         Otherwise use the corresponding block IO version.
2501
2502 2008-08-01  Olivier Hainque  <hainque@adacore.com>
2503
2504         * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: Do not
2505         turn Ada Pure into GCC const, now implicitely implying nothrow as well.
2506
2507 2008-08-01  Robert Dewar  <dewar@adacore.com>
2508
2509         * par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to
2510         convert plain identifier into defining identifier.
2511
2512 2008-08-01  Robert Dewar  <dewar@adacore.com>
2513
2514         * sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve
2515         warnings
2516
2517         * lib-xref.adb: Add error defense.
2518
2519 2008-08-01  Bob Duff  <duff@adacore.com>
2520
2521         * ioexcept.ads, sequenio.ads, directio.ads: Correct comment.
2522
2523 2008-08-01  Gary Dismukes  <dismukes@adacore.com>
2524
2525         * exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing
2526         correct accessibility levels. In the "when others" case, retrieve the
2527         access level of the Etype of Prev rather than Prev_Orig, because the
2528         original exression has not always been analyzed.
2529
2530 2008-08-01  Robert Dewar  <dewar@adacore.com>
2531
2532         * prj-nmsc.adb: Minor reformatting
2533
2534         * sem_ch4.adb: Minor reformatting
2535         Minor code reorganization
2536
2537         * prj.ads: Minor reformatting
2538
2539         * s-os_lib.adb: Minor reformatting
2540
2541         * par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper
2542         half encodings
2543
2544         * scans.ads: Minor reformatting.
2545
2546         * sem_prag.adb (Analyze_Pragma): Put entries in alpha order
2547         (Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma
2548
2549         * sem_res.adb:
2550         (Resolve_Call): Check violation of No_Specific_Termination_Handlers
2551
2552         * sem_ch12.adb: Minor comment reformatting
2553
2554         * par-ch3.adb (P_Type_Declaration): Properly handle missing type
2555         keyword
2556
2557 2008-08-01  Robert Dewar  <dewar@adacore.com>
2558
2559         * sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not
2560         generating code
2561
2562 2008-08-01  Ed Schonberg  <schonberg@adacore.com>
2563
2564         * checks.adb (Apply_Float_Conversion_Check): If the expression to be
2565         converted is a real literal and the target type has static bounds,
2566         perform the conversion exactly to prevent floating-point anomalies on
2567         some targets.
2568
2569 2008-08-01  Vincent Celier  <celier@adacore.com>
2570
2571         * prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>)
2572
2573         * prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax
2574
2575         * prj.adb (Object_Exist_For): Use Object_Generated, not
2576         Objects_Generated that is removed and was never modified anyway.
2577
2578         * prj.ads:
2579         (Path_Syntax_Kind): New enumeration type
2580         (Language_Config): New component Path_Syntax, defaulted to Host.
2581         Components PIC_Option and Objects_Generated removed, as they are not
2582         used.
2583
2584         * snames.adb: New standard name Path_Syntax
2585
2586         * snames.ads: New standard name Path_Syntax
2587
2588 2008-08-01  Vincent Celier  <celier@adacore.com>
2589
2590         * mlib-utl.adb:
2591         (Adalib_Path): New variable to store the path of the adalib directory
2592         when procedure Specify_Adalib_Dir is called.
2593         (Lib_Directory): If Adalib_Path is not null, return its value
2594         (Specify_Adalib_Dir): New procedure
2595
2596         * mlib-utl.ads (Specify_Adalib_Dir): New procedure
2597
2598 2008-08-01  Ed Schonberg  <schonberg@adacore.com>
2599
2600         * sem_prag.adb:
2601         (Check_Precondition_Postcondition): If not generating code, analyze the
2602         expression in a postcondition that appears in a subprogram body, so that
2603         it is properly decorated for ASIS use.
2604
2605 2008-08-01  Gary Dismukes  <dismukes@adacore.com>
2606
2607         * exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets
2608         Orig_Prev to Prev in the case where the actual is N_Function_Call or
2609         N_Identifier. This was interfering with other cases that are rewritten
2610         as N_Identifier, such as allocators, resulting in passing of the wrong
2611         accessibility level, and based on testing this code is apparently no
2612         longer needed at all.
2613
2614 2008-08-01  Ed Schonberg  <schonberg@adacore.com>
2615
2616         * sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a
2617         procedure call whose prefix
2618         is a parameterless function call that returns an access_to_procedure.
2619
2620 2008-08-01  Jose Ruiz  <ruiz@adacore.com>
2621
2622         * adaint.c (__gnat_tmp_name): Refine the generation of temporary names
2623         for RTX. Adding a suffix that is incremented at each iteration.
2624
2625 2008-08-01  Robert Dewar  <dewar@adacore.com>
2626
2627         * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of
2628         Raise_Exception
2629
2630 2008-08-01  Jerome Lambourg  <lambourg@adacore.com>
2631
2632         * s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in
2633         paths, which are authorized by Windows but can lead to errors when used
2634         elsewhere.
2635
2636 2008-08-01  Ed Schonberg  <schonberg@adacore.com>
2637
2638         * sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create
2639         a pending instantiation for the body of a subprogram that is to be
2640         inlined.
2641
2642         * sem_ch12.adb:
2643         (Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body.
2644
2645         * sem_prag.adb (Make_Inline): If the pragma applies to an instance,
2646         create a pending instance for its body, so that calls to the subprogram
2647         can be inlined by the back-end.
2648
2649 2008-08-01  Jose Ruiz  <ruiz@adacore.com>
2650
2651         * gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and
2652         rts-rtx-w32).
2653
2654 2008-08-01  Robert Dewar  <dewar@adacore.com>
2655
2656         * scng.adb (Error_Illegal_Wide_Character): Bump scan pointer
2657
2658 2008-08-01  Doug Rupp  <rupp@adacore.com>
2659
2660         * gnat_rm.texi: Document new mechanism Short_Descriptor.
2661
2662         * types.ads (Mechanism_Type): Modify range for new Short_Descriptor
2663         mechanism values.
2664
2665         * sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
2666         mechanism and Short_Descriptor mechanism values.
2667
2668         * snames.adb (preset_names): Add short_descriptor entry.
2669
2670         * snames.ads: Add Name_Short_Descriptor.
2671
2672         * types.h: Add new By_Short_Descriptor mechanism values.
2673
2674         * sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor
2675         mechanism and Short_Descriptor mechanism values.
2676
2677         * sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism
2678         values.
2679         (Descriptor_Codes): Modify range for new mechanism values.
2680
2681         * treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor
2682         mechanism values.
2683
2684         * gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor.
2685         (gnat_to_gnu_param): Handle By_Short_Descriptor.
2686
2687         * gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype.
2688         (build_vms_descriptor32): New prototype.
2689         (fill_vms_descriptor): Remove unneeded gnat_actual parameter.
2690
2691         * gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual
2692         argument in call fill_vms_descriptor.
2693
2694         * gcc-interface/utils.c (build_vms_descriptor32): Renamed from
2695         build_vms_descriptor and enhanced to hande Short_Descriptor mechanism.
2696         (build_vms_descriptor): Renamed from build_vms_descriptor64.
2697         (convert_vms_descriptor32): New function.
2698         (convert_vms_descriptor64): New function.
2699         (convert_vms_descriptor): Rewrite to handle both 32bit and 64bit
2700         descriptors.
2701
2702         * gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes,
2703         no longer needed.
2704
2705 2008-08-01  Jose Ruiz  <ruiz@adacore.com>
2706
2707         * adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam
2708         nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary
2709         name.
2710
2711 2008-08-01  Jose Ruiz  <ruiz@adacore.com>
2712
2713         * cstreams.c (__gnat_full_name): RTSS applications cannot ask for the
2714         current directory so only fully qualified names are allowed.
2715
2716 2008-08-01  Robert Dewar  <dewar@adacore.com>
2717
2718         * gnat_ugn.texi:
2719         Minor editing, remove uncomfortable use of semicolon
2720
2721         * s-ststop.adb: Add some ??? comments
2722
2723         * sem_ch10.adb: Minor reformatting
2724
2725         * snames.ads:
2726         Minor comment fixes, some pragmas were not properly
2727         categorized in the comments, documentation change only
2728
2729         * xref_lib.adb: Minor reformatting
2730
2731         * sinput.adb: Minor reformatting
2732
2733         * gnatchop.adb: Minor reformatting
2734
2735         * sem_util.ads: Minor reformatting.
2736
2737         * opt.ads: Minor documentation fix
2738
2739         * scng.adb: Minor reformatting
2740
2741         * prj-part.adb: Update comments
2742
2743 2008-08-01  Ed Schonberg  <schonberg@adacore.com>
2744
2745         * exp_disp.adb (Expand_Interface_Conversion): If the target type is a
2746         tagged synchronized type, use corresponding record type.
2747
2748 2008-08-01  Doug Rupp  <rupp@adacore.com>
2749
2750         * mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a
2751         dummy transfer address for debugging.
2752
2753         * mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise.
2754
2755         * vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING
2756
2757 2008-07-31  Eric Botcazou  <ebotcazou@adacore.com>
2758
2759         * gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting.
2760         * gcc-interface/utils.c (create_field_decl): Avoid superfluous work.
2761
2762 2008-07-31  Pascal Obry  <obry@adacore.com>
2763
2764         * prj-nmsc.adb: Keep Object and Exec directory casing.
2765
2766 2008-07-31  Jose Ruiz  <ruiz@adacore.com>
2767
2768         * system-rtx-rtss.ads
2769         Change the default stack size. It is important to set the commit part.
2770
2771         * s-taprop-rtx.adb
2772         (Initialize): Get the clock resolution.
2773         (RT_Resolution): Return the clock resolution that is indicated by the
2774         system.
2775
2776         * s-parame-vxworks.adb
2777         Document that this body is used for RTX in RTSS (kernel) mode.
2778
2779         * gcc-interface/Makefile.in
2780         (LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the
2781         s-parame-vxworks.adb body in order to have reasonable stack sizes in
2782         RTX RTSS kernel mode. Virtual memory is not used in that case, so we
2783         cannot ask for too big values.
2784
2785 2008-07-31  Robert Dewar  <dewar@adacore.com>
2786
2787         * exp_aggr.adb: Minor reformatting
2788
2789         * makeutl.adb: Minor reformatting
2790
2791         * prj-env.adb: Minor reformatting
2792
2793 2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
2794
2795         * exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
2796         tagged type is completed by a concurrent type.
2797
2798 2008-07-31  Gary Dismukes  <dismukes@adacore.com>
2799
2800         * sem_aggr.adb:
2801         (Resolve_Record_Aggregate): Bypass error that a type without
2802         components must have a "null record" aggregate when compiling for Ada
2803         2005, since it's legal to give an aggregate of form (others => <>)
2804         for such a type.
2805
2806 2008-07-31  Javier Miranda  <miranda@adacore.com>
2807
2808         * sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to
2809         handle synchronized types. Required to handle well the object.operation
2810         notation applied to synchronized types.
2811
2812 2008-07-31  Quentin Ochem  <ochem@adacore.com>
2813
2814         * s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now stored
2815         anymore - just used internally.
2816         Added handling of very small tasks - when the theoretical size is
2817         already full at the point of the call.
2818         (Report_Result): Fixed result computation, Stack_Used_When_Filling does
2819         not need to be added to the result.
2820
2821 2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
2822
2823         * sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the
2824         corresponding spec is a primitive wrapper. Update comment.
2825
2826 2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
2827
2828         * bindgen.adb Comment reformatting. Update the list of run-time globals.
2829         (Gen_Adainit_Ada): Add the declaration, import and value set for
2830         configuration flag Canonical_Streams.
2831         (Gen_Adainit_C): Add the declaration and initial value of external
2832         symbol __gl_canonical_streams.
2833
2834         * init.c: Update the list of global values computed by the binder.
2835
2836         * opt.ads: Add flag Canonical_Streams.
2837
2838         * par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of
2839         semantically handled pragmas.
2840
2841         * sem_prag.adb: Add an entry into enumeration type Sig_Flags.
2842         (Analyze_Pragma): Add case for pragma Canonical_Streams.
2843
2844         * snames.adb: Add character value for name Canonical_Streams.
2845
2846         * snames.ads:
2847         Add Name_Canonical_Streams to the list of configuration pragmas.
2848         Add Pragma_Canonical_Streams to enumeration type Pragma_Id.
2849
2850         * snames.h: Add a definition for Pragma_Canonical_Streams.
2851
2852         * s-ststop.adb:
2853         Add a flag and import to seize the value of external symbol
2854         __gl_canonical_streams. Update comment and initial value of constant
2855         Use_Block_IO.
2856
2857         * gnat_rm.texi: Add section of pragma Canonical_Streams.
2858
2859         * gnat_ugn.texi:
2860         Add pragma Canonical_Streams to the list of configuration pragmas.
2861
2862 2008-07-31  Ed Schonberg  <schonberg@adacore.com>
2863
2864         * sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause
2865         has the form A.B.C and B is a unit renaming, analyze its compilation
2866         unit and add a with_clause on A.b to the context.
2867
2868 2008-07-31  Vincent Celier  <celier@adacore.com>
2869
2870         * makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails,
2871         return the empty string, instead of raising Constraint_Error.
2872
2873 2008-07-31  Gary Dismukes  <dismukes@adacore.com>
2874
2875         * checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node.
2876
2877         * checks.adb (Apply_Accessibility_Check): Insert the check on
2878         Insert_Node.
2879
2880         * exp_attr.adb:
2881         (Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node
2882         to new parameter Insert_Node on call to Apply_Accessibility_Check.
2883         Necessary to distinguish the insertion node because the dereferenced
2884         formal may come from a rename, but the check must be inserted in
2885         front of the attribute.
2886
2887         * exp_ch4.adb:
2888         (Expand_N_Allocator): Pass actual for new Insert_Node parameter on
2889         call to Apply_Accessibility_Check.
2890         (Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter
2891         on call to Apply_Accessibility_Check.
2892         Minor reformatting
2893
2894 2008-07-31  Javier Miranda  <miranda@adacore.com>
2895
2896         * sem_type.adb (Has_Compatible_Type): Complete support for synchronized
2897         types when the candidate type is a synchronized type.
2898
2899         * sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized
2900         types, and complete management of synchronized types adding missing
2901         code to handle formal that is a synchronized type.
2902
2903         * sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that
2904         are not available and cause the compiler to blowup. Found compiling
2905         test with switch -gnatc
2906
2907         * sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram
2908         Has_Correct_Formal_Mode plus code cleanup.
2909
2910 2008-07-31  Bob Duff  <duff@adacore.com>
2911
2912         * sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was
2913         recognized as two end-of-lines, but it should be just one.
2914
2915 2008-07-31  Thomas Quinot  <quinot@adacore.com>
2916
2917         * exp_ch9.adb: Minor reformatting
2918
2919         * tbuild.ads: Fix several occurrences of incorrectly referring to
2920         Name_Find as Find_Name.
2921
2922 2008-07-31  Ed Schonberg  <schonberg@adacore.com>
2923
2924         * exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component
2925         and the context is an object declaration with non-static bounds, treat
2926         the aggregate as non-static.
2927
2928 2008-07-31  Vincent Celier  <celier@adacore.com>
2929
2930         * prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb:
2931         Move back spec of Parse_Single_Project to body, as it is not called
2932         outside of package Prj.Part.
2933         (Project_Data): Remove components Linker_Name, Linker_Path and
2934         Minimum_Linker_Options as they are no longer set.
2935         Remove function There_Are_Ada_Sources from package Prj and move code
2936         in the only place it was used, in Prj.Env.Set_Ada_Paths.
2937
2938 2008-07-31  Arnaud Charlet  <charlet@adacore.com>
2939
2940         * mlib-utl.ads: Fix typo.
2941
2942 2008-07-31  Robert Dewar  <dewar@adacore.com>
2943
2944         * sem_ch12.adb: Minor reformatting
2945
2946 2008-07-31  Sergey Rybin  <rybin@adacore.com>
2947
2948         * gnat_ugn.texi: Change the description of the
2949         Overly_Nested_Control_Structures: now the rule always requires a
2950         positive parameter for '+R' option
2951
2952 2008-07-31  Thomas Quinot  <quinot@adacore.com>
2953
2954         * g-pehage.adb: Minor reformatting
2955
2956 2008-07-31  Pascal Obry  <obry@adacore.com>
2957
2958         * s-finimp.ads: Minor reformatting.
2959
2960 2008-07-31  Vincent Celier  <celier@adacore.com>
2961
2962         * s-regexp.ads: Minor comment fix
2963
2964 2008-07-31  Arnaud Charlet  <charlet@adacore.com>
2965
2966         * s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off),
2967         so that we can compile this file successfully with -gnatc.
2968
2969 2008-07-31  Hristian Kirtchev  <kirtchev@adacore.com>
2970
2971         * exp_attr.adb (Find_Stream_Subprogram): Check the base type instead
2972         of the type when looking for stream subprograms for type String,
2973         Wide_String and Wide_Wide_String.
2974
2975         * s-ststop.adb: Change the initialization expression of constant
2976         Use_Block_IO.
2977
2978 2008-07-31  Geert Bosch  <bosch@adacore.com>
2979
2980         * arit64.c:
2981         New file implementing __gnat_mulv64 signed integer multiplication with
2982         overflow checking
2983
2984         * fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi
2985
2986         * gcc-interface/gigi.h:
2987         (standard_types): Add ADT_mulv64_decl
2988         (mulv64_decl): Define subprogram declaration for __gnat_mulv64
2989
2990         * gcc-interface/utils.c:
2991         (init_gigi_decls): Add initialization of mulv64_decl
2992
2993         * gcc-interface/trans.c:
2994         (build_unary_op_trapv): New function
2995         (build_binary_op_trapv): New function
2996         (gnat_to_gnu): Use the above functions instead of
2997         build_{unary,binary}_op
2998
2999         * gcc-interface/Makefile.in
3000         (LIBGNAT_SRCS): Add arit64.c
3001         (LIBGNAT_OBJS): Add arit64.o
3002
3003 2008-07-31  Vincent Celier  <celier@adacore.com>
3004
3005         * prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or
3006         Linker'Default_Switches are declared. Warn if they are declared.
3007
3008 2008-07-31  Ed Schonberg  <schonberg@adacore.com>
3009
3010         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use
3011         Insert_Actions to place the pointer declaration in the code, rather
3012         than Insert_Before_And_Analyze, so that insertions of temporaries are
3013         kept in the proper order when transient scopes are present.
3014
3015
3016 2008-07-31  Robert Dewar  <dewar@adacore.com>
3017
3018         * einfo.adb (Spec_PPC): Now defined for generic subprograms
3019
3020         * einfo.ads (Spec_PPC): Now defined for generic subprograms
3021
3022         * sem_prag.adb (Check_Precondition_Postcondition): Handle generic
3023         subprogram case
3024
3025 2008-07-31  Vincent Celier  <celier@adacore.com>
3026
3027         * s-os_lib.adb: Minor comment fix
3028
3029 2008-07-31  Ed Schonberg  <schonberg@adacore.com>
3030
3031         * sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis,
3032         transfer pre/postconditions from generic copy to original tree, so that
3033         they will appear in each instance.
3034         (Process_PPCs): Do not transform postconditions into a procedure in a
3035         generic context, to prevent double expansion of check pragmas.
3036
3037         * sem_attr.adb: In an instance, the prefix of the 'result attribute
3038         can be the renaming of the
3039         current instance, so check validity of the name accordingly.
3040
3041 2008-07-31  Robert Dewar  <dewar@adacore.com>
3042
3043         * mlib-utl.ads: Minor reformatting
3044
3045 2008-07-31  Ed Schonberg  <schonberg@adacore.com>
3046
3047         sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved
3048         from context. This attribute must be usable in Ada95 mode.
3049         The attribute can appear in the body of a function marked
3050         Inline_Always, but in this case the postocondition is not enforced.
3051
3052         sem_prag.adb (Check_Precondition_Postcondition): within the expansion
3053         of an inlined call pre- and postconditions are legal
3054
3055 2008-07-31  Vincent Celier  <celier@adacore.com>
3056
3057         * prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations that
3058         were for gprmake only
3059
3060 2008-07-31  Robert Dewar  <dewar@adacore.com>
3061
3062         * gnat_ugn.texi: Update -gnatN documentation.
3063
3064         * gnat_rm.texi: Add note about pre/postcondition
3065         pragmas not checked in conjunction with front-end inlining.
3066
3067 2008-07-31  Robert Dewar  <dewar@adacore.com>
3068
3069         * g-pehage.adb, g-pehage.ads: Minor reformatting
3070
3071 2008-07-31  Arnaud Charlet  <charlet@adacore.com>
3072
3073         * mlib-utl.ads, prj-makr.ads: Add comments.
3074
3075 2008-07-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
3076
3077         * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS)
3078         [WINDOWS]: Add s-winext.o.
3079
3080 2008-07-30  Eric Botcazou  <ebotcazou@adacore.com>
3081
3082         PR ada/36554
3083         * back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi.
3084         * gcc-interface/gigi.h (gigi): Take new standard_boolean parameter.
3085         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
3086         Set precision to 1 for subtype of BOOLEAN_TYPE.
3087         (set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE.
3088         (make_type_from_size): Deal with BOOLEAN_TYPE.
3089         * gcc-interface/misc.c (gnat_print_type): Likewise.
3090         * gcc-interface/trans.c (gigi): Take new standard_boolean parameter.
3091         Set boolean_type_node as its translation in the table, as well
3092         as boolean_false_node for False and boolean_true_node for True.
3093         * gcc-interface/utils.c (gnat_init_decl_processing): Create custom
3094         8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM.
3095         (create_param_decl): Deal with BOOLEAN_TYPE.
3096         (build_vms_descriptor): Likewise.
3097         (build_vms_descriptor64): Likewise.
3098         (convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE.
3099
3100 2008-07-30  Robert Dewar  <dewar@adacore.com>
3101
3102         * exp_ch9.adb: Minor reformatting
3103
3104         * exp_util.ads (Find_Prim_Op): Document that Program_Error is raised
3105         if no primitive operation is found.
3106
3107         * exp_util.adb: (Find_Prim_Op): Add comments for previous change
3108
3109         * sem_ch8.adb: Minor reformatting
3110
3111 2008-07-30  Laurent Pautet  <pautet@adacore.com>
3112
3113         * g-pehage.adb:
3114         Remove a limitation on the length of the words handled by the minimal
3115         perfect hash function generator.
3116
3117         * g-pehage.ads:
3118         Detail the use of subprograms Insert, Initialize, Compute and Finalize.
3119         Fix some typos.
3120
3121 2008-07-30  Robert Dewar  <dewar@adacore.com>
3122
3123         * gnatlink.adb: Minor reformatting
3124
3125 2008-07-30  Thomas Quinot  <quinot@adacore.com>
3126
3127         * rtsfind.adb (Check_RPC): Check version consistency even when not
3128         generating RCI stubs. Provide more detailed error message in case of
3129         mismatch.
3130
3131 2008-07-30  Ed Schonberg  <schonberg@adacore.com>
3132
3133         * sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute
3134         as a actual in an instance, check for a missing attribute to prevent
3135         program_error on an illegal program.
3136
3137         * exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program
3138         error if primitive is not found, so that exception can be handled
3139         elsewhere on illegal programs.
3140
3141 2008-07-30  Robert Dewar  <dewar@adacore.com>
3142
3143         * uintp.adb (UI_GCD): Fix potential overflow
3144
3145 2008-07-30  Hristian Kirtchev  <kirtchev@adacore.com>
3146
3147         * einfo.adb: Flag245 is now used.
3148         (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion
3149         check to include functions.
3150         (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
3151         (Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to
3152         include functions.
3153         (Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive
3154         to the list of displayed flags.
3155
3156         * einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and
3157         Wrapped_Entity. These two flags are now present in functions.
3158         New flag Is_Private_Primitive.
3159         (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms.
3160
3161         * exp_ch9.adb:
3162         (Build_Wrapper_Bodies): New subprogram.
3163         (Build_Wrapper_Body): The spec and body have been moved to in
3164         Build_Wrapper_ Bodies. Code cleanup.
3165         (Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup.
3166         Wrappers are now generated for primitives declared between the private
3167         and full view of a concurrent type that implements an interface.
3168         (Build_Wrapper_Specs): New subprogram.
3169         (Expand_N_Protected_Body): Code reformatting. Replace the wrapper body
3170         creation mechanism with a call to Build_Wrapper_Bodies.
3171         (Expand_N_Protected_Type_Declaration): Code reformatting. Replace the
3172         wrapper spec creation mechanism with a call to Build_Wrapper_Specs.
3173         (Expand_N_Task_Body): Replace the wrapper body creation
3174         mechanism with a call to Build_Wrapper_Bodies.
3175         (Expand_N_Task_Type_Declaration): Replace the wrapper spec
3176         creation mechanism with a call to Build_Wrapper_Specs.
3177         (Is_Private_Primitive_Subprogram): New subprogram.
3178         (Overriding_Possible): Code cleanup.
3179         (Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup.
3180
3181         * exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9.
3182
3183         * sem_ch3.adb: Add with and use clause for Exp_Ch9.
3184         (Process_Full_View): Build wrapper specs for all primitives
3185         that belong to a private view completed by a concurrent type
3186         implementing an interface.
3187
3188         * sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram
3189         is a primitive of a
3190         concurrent type with a private view that implements an interface, try to
3191         find the proper spec.
3192         (Analyze_Subprogram_Declaration): Mark a subprogram as a private
3193         primitive if the type of its first parameter is a non-generic tagged
3194         private type.
3195         (Analyze_Subprogram_Specification): Code reformatting.
3196         (Disambiguate_Spec): New routine.
3197         (Find_Corresponding_Spec): Add a flag to controll the output of errors.
3198         (Is_Private_Concurrent_Primitive): New routine.
3199
3200         * sem_ch6.ads:
3201         (Find_Corresponding_Spec): Add a formal to control the output of errors.
3202
3203 2008-07-30  Doug Rupp  <rupp@adacore.com>
3204
3205         * gigi.h (build_vms_descriptor64): New function prototype.
3206         (fill_vms_descriptor): Modified function prototype.
3207
3208         * utils.c (build_vms_descriptor64): New function.
3209
3210         * utils2.c (fill_vms_descriptor): Fix handling on 32bit systems.
3211
3212         * trans.c (call_to_gnu): Call fill_vms_descriptor with new third
3213         argument.
3214
3215         * decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a
3216         64bit and 32bit descriptor and save the 64bit version as an alternate
3217         TREE_TYPE in the parameter.
3218         (make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the
3219         thin pointer.
3220
3221         * ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros.
3222
3223 2008-07-30  Robert Dewar  <dewar@adacore.com>
3224
3225         * make.adb: Minor reformatting
3226
3227         * mlib-utl.adb: Minor reformatting
3228
3229         * osint.ads: Minor reformatting
3230
3231 2008-07-30  Jose Ruiz  <ruiz@adacore.com>
3232
3233         * adaint.c
3234         (__gnat_file_exists): Do not use __gnat_stat for RTX.
3235         (__main for RTX in RTSS mode): Create this dummy procedure symbol to
3236         avoid the use of this symbol from libgcc.a in RTX kernel mode.
3237
3238         * cio.c
3239         (put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call
3240         the function RtPrintf for console output.
3241
3242         * argv.c Do not use the environ variable for RTX.
3243
3244         * gnatlink.adb (gnatlink): The part that handles the --RTS option has
3245         been moved before the call to Osint.Add_Default_Search_Dirs in order
3246         to take into account the flags in system.ads (RTX_RTSS_Kernel_Module)
3247         from the appropriate run time.
3248
3249         * targparm.ads
3250         (RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if
3251         target is a RTSS module for RTX.
3252
3253         * targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for
3254         RTX_RTSS_Kernel_Module
3255         (Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag.
3256
3257         * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc
3258         exception handling mechanism for Windows and RTX in Win32 mode, but
3259         not for RTX in kernel mode (RTSS).
3260         (LIBGNAT_SRCS): Remove ada.h
3261
3262 2008-07-30  Paolo Bonzini  <bonzini@gnu.org>
3263
3264         * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and
3265         T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS.
3266         (ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS.
3267         * gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS,
3268         X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS,
3269         ALL_ADA_CFLAGS): Remove.
3270         (ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS,
3271         replace ALL_ADA_CFLAGS with ADA_CFLAGS.
3272         (GCC_CFLAGS): Remove X_CFLAGS.
3273         (LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS.
3274         (ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS.
3275         (ADA_CFLAGS): Substitute.
3276
3277 2008-07-30  Laurent Guerby  <laurent@guerby.net>
3278
3279         PR ada/5911
3280         * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables.
3281         Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts.
3282         Replace stamp-gnatlib* by stamp-gnatlib*-rts.
3283         * gcc-interface/Make-lang.in: Replace stamp-gnatlib2
3284         by stamp-gnatlib2-rts.
3285
3286 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3287
3288         PR documentation/15479
3289         * gnat-style.texi: Remove AdaCore copyright statement and GPL
3290         statement for GNAT.  Add @copying stanza, use it.  Update to
3291         GFDL 1.2.  Do not list GFDL as Invariant Section, do not list
3292         title as Front-Cover Text.
3293         * gnat_rm.texi: Likewise.
3294         * gnat_ugn.texi: Likewise.
3295
3296 2008-07-29  Jan Hubicka  <jh@suse.cz>
3297
3298         * trans.c (process_inlined_subprograms): Remove tree_really_inline
3299         check.
3300
3301 2008-07-29  Arnaud Charlet  <charlet@adacore.com>
3302
3303         * gcc-interface: New directory.
3304
3305         * ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h,
3306         utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c,
3307         config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved
3308         to gcc-interface subdirectory.
3309
3310 2008-07-29  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
3311
3312         * Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o.
3313
3314 2008-07-28  Jan Hubicka  <jh@suse.cz>
3315
3316         * misc.c (gnat_post_options): Do not set flag_no_inline.
3317
3318 2008-07-28  Richard Guenther  <rguenther@suse.de>
3319
3320         Merge from gimple-tuples-branch.
3321
3322         2008-07-22  Olivier Hainque  <hainque@adacore.com>
3323
3324         * gigi.h (end_subprog_body): New ELAB_P argument, saying if
3325         this is called for an elab proc to be discarded if empty.
3326         * utils.c (end_subprog_body): Honor ELAB_P.
3327         (build_function_stub): Adjust call to end_subprog_body.
3328         * trans.c (Subprogram_Body_to_gnu): Likewise.
3329         (gigi): Reorganize processing of elab procs to prevent
3330         gimplifying twice, using the new end_subprog_body argument.
3331
3332         2008-07-19  Richard Guenther  <rguenther@suse.de>
3333
3334         * Make-lang.in (trans.o): Add tree-iterator.h dependency.
3335         (utils.o): Likewise.
3336         * trans.c: Include tree-iterator.h.
3337         (gnat_gimplify_expr): Adjust prototype.  Fix typo.
3338         (gnat_gimplify_stmt): Use SET_EXPR_LOCATION.
3339         (set_expr_location_from_node): Likewise.
3340         (gigi): Tuplify.
3341         * ada-tree.h (union lang_tree_node): Use TREE_CHAIN instead
3342         of GENERIC_NEXT.
3343         * utils.c: Include tree-iterator.h.
3344         * gigi.h (gnat_gimplify_expr): Adjust prototype.
3345
3346         2008-07-18  Aldy Hernandez  <aldyh@redhat.com>
3347
3348         * trans.c: Include gimple.h instead of tree-gimple.h.
3349         * utils.c: Same.
3350
3351         2008-07-14  Aldy Hernandez  <aldyh@redhat.com>
3352
3353         * trans.c (gnat_gimplify_expr): Use gimplify_assign.
3354
3355 2008-07-25  Jan Hubicka  <jh@suse.cz>
3356
3357         * utils.c (end_subprog_body): Remove inline trees check.
3358         * misc.c (gnat_post_options): Do not set flag_inline_trees.
3359
3360 2008-07-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3361
3362         * raise-gcc.c: Move tsystem.h before tm.h.
3363
3364 2008-07-20  Arnaud Charlet  <charlet@adacore.com>
3365
3366         * gnathtml.pl: New file.
3367
3368 2008-07-19  Olivier Hainque  <hainque@adacore.com>
3369
3370         * targtyps.c (get_target_default_allocator_alignment): Use
3371         MALLOC_ABI_ALIGNMENT.
3372
3373 2008-07-17  Olivier Hainque  <hainque@adacore.com>
3374
3375         * adaint.c (__MINGW32__ section): Include ctype.h and define
3376         a fallback ISALPHA if IN_RTS.
3377         (__gnat_is_absolute_path): Use ISALPHA instead of isalpha.
3378
3379 2008-07-17  Olivier Hainque  <hainque@adacore.com>
3380
3381         * utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG
3382         argument, to apply to references in addition to definitions.  Prevent
3383         setting TREE_STATIC on externals.
3384         (gnat_pushdecl): Always clear DECL_CONTEXT on public externals.
3385
3386 2008-07-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3387
3388         PR documentation/15479
3389         * gnat_ugn.texi (@ovar): New macro, from autoconf.texi.
3390         Replace backets around optional parameters with @ovar
3391         where possible, use @r{[}, @r{]} otherwise.
3392         Replace some @r, @i, and @emph with @var where appropriate.
3393
3394 2008-07-02  Eric Botcazou  <ebotcazou@adacore.com>
3395
3396         * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up.
3397
3398 2008-06-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3399
3400         * ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix
3401         -Wc++-compat warnings.
3402         * adaint.c (__gnat_locate_regular_file, __gnat_locate_exec,
3403         __gnat_locate_exec_on_path): Likewise.
3404         * decl.c (annotate_value): Likewise.
3405         * misc.c (gnat_handle_option): Likewise.
3406         * trans.c (gnat_to_gnu, extract_encoding, decode_name,
3407         post_error_ne_tree): Likewise.
3408
3409 2008-06-27  Eric Botcazou  <ebotcazou@adacore.com>
3410
3411         * utils.c (convert) <CONSTRUCTOR>: When converting it to a packable
3412         version of its type, attempt to first convert its elements.
3413
3414 2008-06-26  Chris Proctor  <chrisp_42@bigpond.com>
3415
3416         * Makefile.in: Fix *86 kfreebsd target specific pairs.
3417
3418 2008-06-25  Samuel Tardieu  <sam@rfc1149.net>
3419
3420         * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well.
3421
3422 2008-06-24  Eric Botcazou  <ebotcazou@adacore.com>
3423
3424         * utils2.c (known_alignment): Derive the alignment from pointed-to
3425         types only if it is otherwise unknown.
3426         <INTEGER_CST>: Tidy.
3427         <MULT_EXPR>: Likewise.
3428         <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use
3429         that of the base.
3430
3431 2008-06-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3432
3433         PR ada/36573
3434         * s-osinte-hpux-dce.ads (SA_ONSTACK): Define.
3435
3436 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3437
3438         * gnat_rm.texi (Implementation Defined Characteristics)
3439         (Standard Library Routines): Use @smallexample for indented
3440         text.  Drop Indentation outside examples.
3441         * gnat_ugn.texi: Likewise.
3442
3443 2008-06-13  Olivier Hainque  <hainque@adacore.com>
3444
3445         * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
3446         if undefined.
3447         (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
3448         realignment with force_align_arg_pointer attribute on foreign
3449         convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
3450
3451 2008-06-13  Olivier Hainque  <hainque@adacore.com>
3452
3453         * utils.c (rest_of_record_type_compilation): When computing
3454         encodings for the components of a variable size type, early
3455         strip conversions on the current position expression to make
3456         sure it's shape is visible.  Use remove_conversions for this
3457         purpose.
3458
3459 2008-06-12  Eric Botcazou  <ebotcazou@adacore.com>
3460
3461         * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
3462         constrained subtype of a discriminated type, discard the fields that
3463         are beyond its limits according to its size.
3464
3465 2008-06-10  Olivier Hainque  <hainque@adacore.com>
3466
3467         * utils.c (create_subprog_decl): If this is for the 'main' entry
3468         point according to the asm name, redirect main_identifier_node.
3469
3470 2008-06-09  Eric Botcazou  <ebotcazou@adacore.com>
3471
3472         * decl.c (components_to_record): Adjust the packedness for the
3473         qualified union as well.
3474
3475 2008-06-09  Arnaud Charlet  <charlet@adacore.com>
3476
3477         * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
3478         checks non fatal.
3479
3480 2008-06-07  Samuel Tardieu  <sam@rfc1149.net>
3481
3482         * sem_res.adb (Large_Storage_Type): A type is large if it
3483         requires as many bits as Positive to store its values and its
3484         bounds are known at compile time.
3485         * sem_ch13.adb (Minimum_Size): Note that this function returns
3486         0 if the size is not known at compile time.
3487
3488 2008-06-06  Nicolas Setton  <setton@adacore.com>
3489             Olivier Hainque  <hainque@adacore.com>
3490
3491         * ada-tree.h (DECL_PARALLEL_TYPE): New language specific
3492        &nbs