OSDN Git Service

0b379f6c3ec3f670ec69fdf32108dfe5c9455de0
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2010-08-10  Robert Dewar  <dewar@adacore.com>
2
3         * a-chahan.ads: Add comments on handling of obsolescent entries.
4         * opt.ads: Add Ada_2005 and Ada_2012 renamings for versions.
5         * restrict.adb (Check_Obsolescent_2005_Entity): New procedure.
6         * restrict.ads (Check_Obsolescent_2005_Entity): New procedure.
7         * sem_attr.adb (Analyze_Access_Attribute): Call
8         Check_Obsolescent_2005_Entity to check for access to obsolescent
9         Ada.Characters.Handling subprogram.
10         (Analyze_Attribute, case Class): Applying Class to untagged incomplete
11         type is obsolescent in Ada 2005.
12         (Analyze_Attribute, case Constrained): Better placement of flag when
13         flagged as obsolescent feature.
14         (Analyze_Attribute, case Storage_Size): Use with tasks is obsolescent
15         * sem_ch10.adb (Analyze_With_Clause): With of renamings such as Text_IO
16         is an obsolescent feature.
17         * sem_ch11.adb (Analyze_Raise_Statement): Numeric_Error is obsolescent
18         feature.
19         * sem_ch8.adb (Analyze_Subprogram_Renaming): Call
20         Check_Obsolescent_2005_Entity to check for renaming obsolete
21         Ada.Characters.Handling subprogram.
22         * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Check
23         for obsolescent restrictions in Ada 2005.
24         (Analyze_Pragma, case Suppress): Entity arg is obsolescent in Ada 2005
25         (Analyze_Pragma, case Interface): Interface is obsolescent in Ada 2005
26         * sem_res.adb (Resolve_Call): Call Check_Obsolescent_2005_Entity to
27         check for obsolescent references to Ada.Characters.Handling subprograms
28
29 2010-08-10  Robert Dewar  <dewar@adacore.com>
30
31         * einfo.adb, einfo.ads: Fix bad -gnatdt output for incomplete type.
32
33 2010-08-10  Robert Dewar  <dewar@adacore.com>
34
35         * errout.ads: Add VMS table entries for 2005, 12, 2012 switches
36         * par-ch4.adb: Change wording of Ada 2012 messages
37         * vms_data.ads: Add VMS entries for /2005, /12, /2012
38
39 2010-08-10  Robert Dewar  <dewar@adacore.com>
40
41         * a-suenco.adb (Convert): Fix bug in UTF-16 to UTF-8 conversion for
42         codes in the range 16#80#..16#7FF#.
43         * sem_ch10.adb: Minor reformatting.
44
45 2010-08-10  Arnaud Charlet  <charlet@adacore.com>
46
47         * gnat1drv.adb (Scan_Front_End_Switches): Always perform semantics and
48         generate ali files in CodePeer mode, so that a gnatmake -c -k will
49         proceed further when possible
50         * freeze.adb (Freeze_Static_Object): Fix thinko. Do not generate error
51         messages when ignoring representation clauses (-gnatI).
52
53 2010-08-10  Ed Schonberg  <schonberg@adacore.com>
54
55         * exp_ch4.adb (Expand_N_Selected_Component): Do not attempt to
56         constant-fold discriminant reference if the constraint is an object
57         with non-static expression. Expression may contain volatile references
58         in the presence of renamings.
59
60 2010-08-10  Vincent Celier  <celier@adacore.com>
61
62         * prj-proc.adb (Get_Attribute_Index): If Index is All_Other_Names,
63         returns Index.
64         * prj-strt.adb (Attribute_Reference): Recognize 'others' as a valid
65         index for an associative array where it is allowed.
66
67 2010-08-10  Thomas Quinot  <quinot@adacore.com>
68
69         * exp_attr.adb: Add comments.
70
71 2010-08-10  Jerome Lambourg  <lambourg@adacore.com>
72
73         * adaint.c (__gnat_get_file_names_case_sensitive): return 0 on darwin.
74
75 2010-08-09  Nathan Froyd  <froydnj@codesourcery.com>
76
77         * gcc-interface/utils.c (gnat_poplevel): Use blocks_nreverse.
78
79 2010-08-09  Eric Botcazou  <ebotcazou@adacore.com>
80
81         * gcc-interface/utils.c (build_vms_descriptor32): Fix formatting.
82         (build_vms_descriptor): Likewise.
83
84 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
85
86         * gcc-interface/utils.c (make_descriptor_field): Add tree parameter.
87         (build_vms_descriptor32): Adjust calls to it for new parameter.
88         (build_vms_descriptor): Likewise.
89
90 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
91
92         * gcc-interface/decl.c (rec_variant):  Declare.  Declare a VEC of it.
93         (build_variant_list): Take and return a VEC instead of a tree.
94         (create_variant_part_from): Take a VEC instead of a tree for
95         variant_list.  Adjust accordingly.
96         (gnat_to_gnu_entity): Adjust for changes to previous functions.
97
98 2010-08-07  Nathan Froyd  <froydnj@codesourcery.com>
99
100         * gcc-interface/decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead
101         of alloca.
102         (components_to_record): Likewise.
103         * gcc-interface/trans.c (gnat_to_gnu): Likewise.
104         * gcc-interface/utils.c (max_size): Likewise.
105         (build_vms_descriptor32): Likewise.
106         (build_vms_descriptor): Likewise.
107
108 2010-08-07  Nathan Froyd  <froydnj@codesourcery.com>
109
110         * gcc-interface/decl.c (subst_pair): Declare.  Declare a VEC of it.
111         (build_subst_list): Return a VEC instead of a tree.
112         (build_variant_list): Take a VEC for subst_list.  Adjust
113         accordingly.
114         (create_field_decl_from): Likewise.
115         (create_variant_part_from): Likewise.
116         (copy_and_substitute_in_size): Likewise.
117         (gnat_to_gnu_entity): Adjust for new interface to build_subst_list.
118         Free the built vector.
119
120 2010-08-06  Eric Botcazou  <ebotcazou@adacore.com>
121
122         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not build an
123         allocator for large imported objects.
124
125 2010-08-05  Robert Dewar  <dewar@adacore.com>
126
127         * gnat1drv.adb: Minor reformatting.
128
129 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
130
131         * sem.adb (Do_Unit_And_Dependents): If some parent unit is an
132         instantiation, process its body before the spec of the main unit,
133         because it may contain subprograms invoked in the spec of main.
134         * einfo.ads: Add documention of delayed freeze.
135
136 2010-08-05  Vincent Celier  <celier@adacore.com>
137
138         * prj-nmsc.adb (Process_Linker): Take into account new values for
139         attribute Response_File_Format.
140         * prj.ads (Response_File_Format): New enumeration values GCC_GNU,
141         GCC_Object_List and GCC_Option_List.
142
143 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
144
145         * exp_ch4.adb (Expand_N_Selected_Component): Do not constant-fold a
146         selected component that denotes a discriminant if it is the
147         discriminant of a component of an unconstrained record type.
148
149 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
150
151         * exp_util.adb (Insert_Actions): If the action appears within a
152         conditional expression that is already analyzed, insert action further
153         out.
154
155 2010-08-05  Robert Dewar  <dewar@adacore.com>
156
157         * exp_ch4.adb: Minor reformatting.
158
159 2010-08-05  Thomas Quinot  <quinot@adacore.com>
160
161         * exp_ch4.adb: Minor reformatting
162         * gnat1drv.adb: Minor reformatting.
163         Minor code reorganization (use Nkind_In).
164
165 2010-08-05  Ed Schonberg  <schonberg@adacore.com>
166
167         * exp_util.ads, exp_util.adb (Needs_Constant_Address): New predicate to
168         determine whether the expression in an address clause for an
169         initialized object must be constant. Code moved from freeze.adb.
170         (Remove_Side_Effects): When the temporary is initialized with a
171         reference, indicate that the temporary is a constant as done in all
172         other cases.
173         * freeze.adb (Check_Address_Clause): use Needs_Constant_Address.
174         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
175         If object does not need a constant address, remove side effects from
176         address expression, so it is elaborated at the point of the address
177         clause and not at the freeze point of the object, so that elaboration
178         order is respected.
179
180 2010-08-05  Vincent Celier  <celier@adacore.com>
181
182         * prj.adb (Is_Compilable): Return False for header files of non Ada
183         languages.
184
185 2010-08-05  Emmanuel Briot  <briot@adacore.com>
186
187         * prj-nmsc.adb: The Missing_Source_Files flag also considers a missing
188         exec directory as a warning rather than an error.
189
190 2010-08-05  Thomas Quinot  <quinot@adacore.com>
191
192         * sem_ch6.adb, gnat1drv.adb, exp_ch6.adb, sem_eval.adb: Minor
193         reformatting.
194
195 2010-08-05  Steve Baird  <baird@adacore.com>
196
197         * exp_util.adb (Remove_Side_Effects): An access value which designates
198         a volatile object of a nonvolatile type is prohibited.
199         Do not call Make_Reference to construct a reference to such an object.
200
201 2010-08-05  Robert Dewar  <dewar@adacore.com>
202
203         * a-suezse.adb, a-suezse.ads, a-suezen.adb, a-suezen.ads: Removed.
204         * a-suewse.adb, a-suewse.ads, a-suesen.adb, a-suesen.ads,
205         a-suewen.adb, a-suewen.ads: New files.
206         * Makefile.rtl, impunit.adb: Update implementation of Ada 2012 string
207         encoding packages.
208         * sem_elab.adb: Minor reformatting.
209
210 2010-08-05  Arnaud Charlet  <charlet@adacore.com>
211
212         * sem_ch8.adb (Use_One_Type): Protect against empty scopes.
213         * exp_util.adb (Component_May_Be_Bit_Aligned): Prevent assert failure
214         in case of null Comp.
215
216 2010-08-05  Robert Dewar  <dewar@adacore.com>
217
218         * errout.adb, a-suewen.adb, a-suezen.adb: Minor reformatting.
219
220 2010-08-05  Gary Dismukes  <dismukes@adacore.com>
221
222         * sem_ch4.adb (Analyze_Allocator): Flag errors on allocators of a
223         nested access type whose designated type has tasks or is a protected
224         object when the restrictions No_Task_Hierarchy or
225         No_Local_Protected_Objects apply. Add ??? comment.
226         * sem_ch9.adb (Analyze_Protected_Type): Give a warning when a protected
227         type is not a library-level type and No_Local_Protected_Objects applies.
228         (Analyze_Task_Type): Give a warning when a task type is not a
229         library-level type and No_Task_Hierarchy applies.
230
231 2010-08-05  Arnaud Charlet  <charlet@adacore.com>
232
233         * sem.adb: Minor reformatting
234         * sem_ch4.adb (Analyze_Reference): Disable error message in CodePeer
235         mode, not useful.
236
237 2010-08-04  Eric Botcazou  <ebotcazou@adacore.com>
238
239         * gcc-interface/decl.c: Do not undefine IN_GCC_FRONTEND and do not
240         include expr.h.
241         (gnat_to_gnu_entity) <object>: Force address of -1 at the tree level
242         for the debug-only entity.
243         * gcc-interface/Make-lang.in (ada/decl.o): Adjust dependencies.
244
245 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
246
247         * gcc-interface/lang-specs.h: Don't pass -a options.
248
249 2010-07-28  Joseph Myers  <joseph@codesourcery.com>
250
251         * gcc-interface/misc.c (gnat_init_options): Ignore erroneous
252         options.  Check canonical_option_num_elements on options copied.
253
254 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
255
256         * gcc-interface/misc.c (gnat_handle_option): Update prototype and
257         return value type.  Don't check for missing arguments here.
258
259 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
260
261         * gcc-interface/misc.c (gnat_option_lang_mask): New.
262         (gnat_init_options): Update prototype.  Reconstruct argv array
263         from decoded options.
264
265 2010-07-23  Eric Botcazou  <ebotcazou@adacore.com>
266
267         * gcc-interface/utils.c (update_pointer_to): In the unconstrained array
268         case, merge the alias set of the old pointer type.
269
270 2010-07-23  Eric Botcazou  <ebotcazou@adacore.com>
271
272         * gcc-interface/utils.c (gnat_types_compatible_p): Revert latest change
273         and recurse only for multidimensional array types instead.
274
275 2010-07-22  Eric Botcazou  <ebotcazou@adacore.com>
276
277         PR ada/44892
278         * gcc-interface/utils.c (convert): Fix thinko in test.
279         (unchecked_convert): When converting from a scalar type to a type with
280         a different size, pad to have the same size on both sides.
281
282 2010-07-22  Eric Botcazou  <ebotcazou@adacore.com>
283
284         * gcc-interface/utils.c (gnat_types_compatible_p): Don't require strict
285         equality for the component type of array types.
286
287 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
288
289         * gcc-interface/decl.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
290         * gcc-interface/trans.c: Likewise.
291         * gcc-interface/utils.c: Likewise.
292         * gcc-interface/utils2.c: Likewise.
293
294 2010-07-13  Laurent GUERBY  <laurent@guerby.net>
295
296         PR bootstrap/44458
297         * gcc-interface/targtyps.c: Include tm_p.h.
298         * gcc-interface/Make-lang.in: Update dependencies.
299
300 2010-07-09  Eric Botcazou  <ebotcazou@adacore.com>
301
302         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
303         CALL_EXPR.
304
305 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
306
307         * gcc-interface/utils.c: Include diagnostic-core.h in every file
308         that includes toplev.h.
309
310 2010-07-03  Eric Botcazou  <ebotcazou@adacore.com>
311
312         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
313         Branch to common code handling the alignment of discrete types.
314         <E_Signed_Integer_Type>: Likewise.
315         <E_Modular_Integer_Type>: Likewise.
316
317 2010-07-02  Eric Botcazou  <ebotcazou@adacore.com>
318
319         * gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
320         (gnat_handle_option): Allocate only one element for gnat_argv.
321         (gnat_init): Do not populate gnat_argv.
322
323 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
324
325         * gcc-interface/trans.c: Do not include tree-flow.h.
326         * gcc-interface/Make-lang.in: Adjust dependencies.
327
328 2010-06-29  Nathan Froyd  <froydnj@codesourcery.com>
329
330         * gcc-interface/gigi.h (gnat_build_constructor): Take a VEC instead
331         of a TREE_LIST.  Update comment.
332         * gcc-interface/trans.c (gigi): Build a VEC instead of a TREE_LIST.
333         Adjust call to gnat_build_constructor.
334         (Attribute_to_gnu): Likewise.
335         (gnat_to_gnu): Likewise.
336         (pos_to_constructor): Likewise.
337         (extract_values): Likewise.
338         * gcc-interface/utils.c (build_template): Likewise.
339         (convert_vms_descriptor64): Likewise.
340         (convert_vms_descriptor32): Likewise.
341         (convert_to_fat_pointer): Likewise.
342         (convert): Likewise.
343         (unchecked_convert): Likewise.
344         * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
345         * gcc-interface/utils2.c (build_allocator): Likewise.
346         (fill_vms_descriptor): Likewise.
347         (gnat_build_constructor): Take a VEC instead of a TREE_LIST.
348         (compare_elmt_bitpos): Adjust for parameters being constructor_elts
349         instead of TREE_LISTs.
350
351 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
352
353         * gcc-interface/misc.c: Do not include except.h.
354         * gcc-interface/Make-lang.in: Update dependencies.
355
356 2010-06-27  Eric Botcazou  <ebotcazou@adacore.com>
357
358         * gcc-interface/trans.c: Include tree-flow.h.
359         (gnu_switch_label_stack): Delete.
360         (Case_Statement_to_gnu): Do not emit the goto at the end of a case if
361         its associated block cannot fall through.  Do not emit the final label
362         if no cases branch to it.
363         * gcc-interface/Make-lang.in (ada/trans.o): Add $(TREE_FLOW_H).
364
365 2010-06-23  Thomas Quinot  <quinot@adacore.com>
366
367         * exp_attr.adb (Expand_Access_To_Protected_Op): When rewriting a
368         reference to a protected subprogram outside of the protected's scope,
369         ensure the corresponding external subprogram is frozen before the
370         reference.
371
372 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
373
374         * sem_prag.adb: Fix typo in error message.
375         * sem.adb: Refine previous change.
376
377 2010-06-23  Robert Dewar  <dewar@adacore.com>
378
379         * impunit.adb, a-suewen.adb, a-suewen.ads, a-suenco.adb, a-suenco.ads,
380         a-suezen.adb, a-suezen.ads, a-stuten.adb, a-stuten.ads, Makefile.rtl:
381         Implement Ada 2012 string encoding packages.
382
383 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
384
385         * a-stwiun-shared.adb, a-stwiun-shared.ads, a-stzunb-shared.adb,
386         a-stzunb-shared.ads, a-swunau-shared.adb, a-swuwti-shared.adb,
387         a-szunau-shared.adb, a-szuzti-shared.adb, a-strunb-shared.adb,
388         a-strunb-shared.ads, a-stunau-shared.adb, a-suteio-shared.adb: New
389         files.
390         * gcc-interface/Makefile.in: Enable use of above files.
391
392 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
393
394         * sem_ch13.adb (Check_Constant_Address_Clauses): Do not check legality
395         of address clauses if if Ignore_Rep_Clauses is active.
396         * freeze.adb (Check_Address_Clause): If Ignore_Rep_Clauses is active,
397         remove address clause from tree so that it does not reach the backend.
398
399 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
400
401         * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]): Do not
402         expand 'Valid from user code in CodePeer mode, will be handled by the
403         back-end directly.
404
405 2010-06-23  Bob Duff  <duff@adacore.com>
406
407         * g-comlin.ads: Minor comment improvements.
408
409 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
410
411         * sem_res.adb (Uses_SS): The expression that initializes a controlled
412         component of a record type may be a user-defined operator that is
413         rewritten as a function call.
414
415 2010-06-23  Bob Duff  <duff@adacore.com>
416
417         * g-comlin.ads, sem_ch13.adb: Minor comment fix.
418
419 2010-06-23  Eric Botcazou  <ebotcazou@adacore.com>
420
421         * exp_ch11.adb (Expand_Local_Exception_Handlers): Propagate the end
422         label to the new sequence of statements.  Set the sloc of the raise
423         statement onto the new goto statements.
424
425 2010-06-23  Robert Dewar  <dewar@adacore.com>
426
427         * a-stuten.ads, a-stuten.adb: New files.
428         * impunit.adb: Add engtry for Ada.Strings.UTF_Encoding (a-stuten.ads)
429         * Makefile.rtl: Add entry for a-stuten (Ada.Strings.UTF_Encoding)
430
431 2010-06-23  Robert Dewar  <dewar@adacore.com>
432
433         * gnat_ugn.texi: Add documentation of -gnat12 switch
434         Add documentation of -gnatX switch.
435
436 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
437
438         * inline.ads: Include the current Ada_Version in the info for pending
439         instance bodies, so that declaration and body are compiled with the
440         same Ada_Version.
441         * inline.adb: Move with_clause for Opt to spec.
442         * sem_ch12.adb (Analyze_Package_Instantiation,
443         Analyze_Subprogram_Instantiation): Save current Ada_Version in
444         Pending_Instantiation information.
445         (Instantiate_Package_Body, Instantiate_Subprogram_Body,
446         Inline_Package_Body): Use the Ada_Version present in the body
447         information.
448
449 2010-06-23  Robert Dewar  <dewar@adacore.com>
450
451         * usage.adb: Add documentation for -gnat12 switch.
452         * errout.ads: Add VMS alias entry for -gnat12 switch
453         * gnat_rm.texi: Add documentation for pragma Ada_12 and Ada_2012
454         Add documentation for pragma Extensions_Allowed.
455         * opt.ads: Add entry for Ada 2012 mode.
456         * sem_ch4.adb, par-ch3.adb, par-ch4.adb: Use new Ada 2012 mode for 2012
457         features.
458         * sem_prag.adb, par-prag.adb: Add processing for pragma Ada_12 and
459         Ada_2012.
460         * sem_ch13.adb: Add handling for Ada 2012 mode.
461         * snames.ads-tmpl: Add entries for pragma Ada_2012 and Ada_12.
462         * switch-c.adb: Add handling for -gnat12 switch.
463         Implement -gnat2005 and -gnat2012.
464         * usage.adb: Add documentation for -gnat12 switch.
465         * vms_data.ads: Add /12 switch for Ada 2012 mode.
466
467 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
468
469         * exp_ch4.adb (Expand_N_Allocator): Fix potential crash when using
470         No_Task_Hierarchy restriction. Add comment.
471         * exp_ch9.adb, exp_ch3.adb: Update comments.
472
473 2010-06-23  Robert Dewar  <dewar@adacore.com>
474
475         * sem_ch5.adb (Process_Bounds): Remove some junk initializations.
476         * sem_res.adb: Add comments.
477         * sem_util.adb: Minor reformatting. Add comments.
478         Change increment on Actuals_In_Call table.
479         * opt.ads: Minor: add 'constant'.
480
481 2010-06-23  Javier Miranda  <miranda@adacore.com>
482
483         * exp_disp.adb (Make_DT): Initialize the Size_Func component of the
484         TSD to Null_Address if No_Dispatching_Calls is active.
485
486 2010-06-23  Vincent Celier  <celier@adacore.com>
487
488         * a-comlin.ads: Indicate that use of this package is not supported
489         during the elaboration of an auto-initialized Stand-Alone Library.
490
491 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
492
493         * exp_util.adb (Is_Possibly_Misaligned_Object): Do not rely on an
494         alignment clause on a record type to determine if a component may be
495         misaligned. The decision must be taken in the back-end where target
496         alignment information is known.
497
498 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
499
500         * gnat1drv.adb (Adjust_Global_Switches): Enable some restrictions
501         systematically in CodePeer mode to simplify generated code.
502         * restrict.adb (Check_Restriction): Do nothing in CodePeer mode.
503         * exp_ch4.adb (Expand_N_Allocator): Generate proper code when
504         No_Task_Hierarchy is set instead of crasshing.
505
506 2010-06-23  Thomas Quinot  <quinot@adacore.com>
507
508         * sem_util.adb: Minor code cleanup: test for proper entity instead of
509         testing just Chars attribute when checking whether a given scope is
510         System.
511         * exp_ch4.adb, einfo.adb: Minor reformatting.
512
513 2010-06-23  Vincent Celier  <celier@adacore.com>
514
515         PR ada/44633
516         * switch-m.adb (Normalize_Compiler_Switches): Take into account
517         switches -gnatB, -gnatD=nn, -gnatG (incuding -gnatG=nn), -gnatI,
518         -gnatl=file, -gnatS, -gnatjnn, -gnateI=nn and -gnatWx.
519
520 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
521
522         * sem_res.adb (Resolve_Membership_Op): If left operand is a mixed mode
523         operation with a universal real operand, and the right operand is a
524         range with universal bounds, find unique fixed point that may be
525         candidate, and warn appropriately.
526
527 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
528
529         * sem_res.adb (Resolve_Intrinsic_Operator): Add guards to handle
530         properly the rare cases where VMS operators are visible through
531         Extend_System, but the default System is being used and Address is a
532         private type.
533         * sem_util.adb: Widen predicate Is_VMS_Operator.
534
535 2010-06-23  Vincent Celier  <celier@adacore.com>
536
537         * switch-m.adb (Normalize_Compiler_Switches): Take into account -gnatC
538         and -gnateS.
539
540 2010-06-23  Olivier Hainque  <hainque@adacore.com>
541
542         * einfo.adb (Has_Foreign_Convention): Consider Intrinsic with
543         Interface_Name as foreign. These are GCC builtin imports for
544         which Ada specific processing doesn't apply.
545
546 2010-06-23  Thomas Quinot  <quinot@adacore.com>
547
548         * sem_ch12.adb: Minor reformatting.
549
550 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
551
552         * sem_util.adb (Is_VMS_Operator): Use scope of system extension to
553         determine whether an intrinsic subprogram is VMS specific.
554
555 2010-06-23  Hristian Kirtchev  <kirtchev@adacore.com>
556
557         * treepr.adb (Print_Entity_Info): Output the contents of Field28 if it
558         is present in the entity.
559
560 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
561
562         * xr_tabls.adb, xref_lib.adb: Update to latest lib-xref.ads
563         Fix handling of parameters.
564         Add protection against unexpected cases.
565         * sem_ch6.adb (Create_Extra_Formals): Use suffix "L" instead of "A" for
566         access level, since "A" suffix is already used elsewhere. Similarly,
567         use suffix "O" instead of "C" for 'Constrained since "C" suffix is used
568         for xxx'Class.
569
570 2010-06-23  Thomas Quinot  <quinot@adacore.com>
571
572         * sem_util.adb, sem_util.ads: Minor reformatting.
573
574 2010-06-23  Vincent Celier  <celier@adacore.com>
575
576         * prj.ads (Gprclean_Flags.Missing_Source_Files): Set to Error to keep
577         the previous behavior of gprclean when there are missing files.
578
579 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
580
581         * sem_ch12.adb (Load_Body_Of_Generic): In CodePeer mode, a missing
582         generic body is not a fatal error.
583         (Mark_Context): Handle properly names of child units.
584         * sem.adb (Walk_Library_Items.Do_Action): Remove assertion on
585         instantiations.
586
587 2010-06-23  Vincent Celier  <celier@adacore.com>
588
589         * ali.adb (Scan_ALI): When ignoring R lines, do not skip the next
590         non-empty line.
591
592 2010-06-23  Bob Duff  <duff@adacore.com>
593
594         * g-pehage.ads, g-pehage.adb: Switch default optimization mode to
595         Memory_Space, because CPU_Time doesn't seem to provide any significant
596         speed advantage in practice. Cleanup: Get rid of constant
597         Default_Optimization; doesn't seem to add anything. Use case
598         statements instead of if statements; seems cleaner.
599
600 2010-06-23  Olivier Hainque  <hainque@adacore.com>
601
602         * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Procedure>: Use
603         Wshadow instead of Wextra to guard warning on absence of internal
604         builtin decl for an import.  Fix use of quote in warning text.
605         (intrin_arglists_compatible_p): Remove processing of integer trailing
606         args on the Ada side.  Fix use of literal > in warning text.
607         (intrin_return_compatible_p): Never warn on "function imported as
608         procedure".  Defer the void/void case to the common type compatibility
609         check.
610         (gnat_to_gnu_param): Use void_ptr GCC type for System.Address argument
611         of GCC builtin imports.
612
613 2010-06-23  Olivier Hainque  <hainque@adacore.com>
614
615         * gcc-interface/decl.c (intrin_types_incompatible_p): New function,
616         helper for ...
617         (intrin_arglists_compatible_p, intrin_return_compatible_p): New
618         functions, helpers for ...
619         (intrin_profiles_compatible_p): New function, replacement for ...
620         (compatible_signatures_p): Removed.
621         (gnat_to_gnu_entity) <case E_Procedure>: If -Wextra, warn on
622         attempt to bind an unregistered builtin function.  When we have
623         one, use it and warn on profile incompatibilities.
624
625 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
626
627         * gcc-interface/Make-lang.in: Update dependencies.
628
629 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
630
631         * sem_util.adb (Mark_Coextensions): If the expression in the allocator
632         for a coextension in an object declaration is a concatenation, treat
633         coextension as dynamic.
634
635 2010-06-23  Javier Miranda  <miranda@adacore.com>
636
637         * sem_ch3.adb (Add_Internal_Interface_Entities): Ensure that the
638         internal entities are added to the scope of the tagged type.
639         (Derive_Subprograms): Do not stop derivation when we find the first
640         internal entity that has attribute Interface_Alias. After the change
641         done to Override_Dispatching_Operations it is no longer true that
642         these primirives are always located at the end of the list of
643         primitives.
644         * einfo.ads (Primitive_Operations): Add documentation.
645         * exp_disp.adb (Write_DT): Improve output adding to the name of the
646         primitive a prefix indicating its corresponding tagged type.
647         * sem_disp.adb (Override_Dispatching_Operations): If the overridden
648         entity covers the primitive of an interface that is not an ancestor of
649         this tagged type then the new primitive is added at the end of the list
650         of primitives.  Required to fulfill the C++ ABI.
651
652 2010-06-23  Javier Miranda  <miranda@adacore.com>
653
654         * atree.ads (Set_Reporting_Proc): New subprogram.
655         * atree.adb: Remove dependency on packages Opt and SCIL_LL.
656         (Allocate_Initialize_Node, Replace, Rewrite): Replace direct calls
657         to routines of package Scil_ll by indirect call to the registered
658         subprogram.
659         (Set_Reporting_Proc): New subprogram. Used to register a subprogram
660         that is invoked when a node is allocated, replaced or rewritten.
661         * scil_ll.adb (Copy_SCIL_Node): New routine that takes care of copying
662         the SCIL node. Used as argument for Set_Reporting_Proc.
663         (Initialize): Register Copy_SCIL_Node as the reporting routine that
664         is invoked by atree.
665
666 2010-06-23  Thomas Quinot  <quinot@adacore.com>
667
668         * sem_ch3.ads: Minor reformatting.
669
670 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
671
672         * sem_ch12.adb (Analyze_Package_Instantiation): In CodePeer mode,
673         always analyze the generic body and instance, because it may be needed
674         downstream.
675         (Mark_Context): Prepend the with clauses for needed generic units, so
676         they appear in a better order for CodePeer.
677         * sem_util.adb, sem_util.ads: Prototype code for AI05-0144.
678
679 2010-06-23  Emmanuel Briot  <briot@adacore.com>
680
681         * prj.ads, prj-nmsc.adb (Error_Or_Warning): New subprogram.
682
683 2010-06-23  Robert Dewar  <dewar@adacore.com>
684
685         * g-pehage.adb, exp_ch13.adb: Minor reformatting.
686
687 2010-06-23  Thomas Quinot  <quinot@adacore.com>
688
689         * a-tags.ads: Fix description of TSD structure.
690
691 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
692
693         * sem_ch12.adb (Mark_Context): When indicating that the body of a
694         generic unit is needed prior to the unit containing an instantiation,
695         search recursively the context of the generic to add other generic
696         bodies that may be instantiated indirectly through the current instance.
697
698 2010-06-23  Robert Dewar  <dewar@adacore.com>
699
700         * freeze.adb: Minor reformatting.
701
702 2010-06-23  Bob Duff  <duff@adacore.com>
703
704         * g-pehage.adb (Trim_Trailing_Nuls): Fix the code to match the comment.
705
706 2010-06-23  Vincent Celier  <celier@adacore.com>
707
708         * make.adb (Compile_Sources): Complete previous change.
709
710 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
711
712         * sem_ch6.adb (Add_Extra_Formal): Use suffix "C" in the name of the
713         Constrained extra formal.
714
715 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
716
717         * exp_ch13.adb (Expand_Freeze_Actions): If validity checks and
718         Initialize_Scalars are enabled, compile the generated equality function
719         for a composite type with full checks enabled, so that validity checks
720         are performed on individual components.
721
722 2010-06-23  Emmanuel Briot  <briot@adacore.com>
723
724         * prj.adb, prj.ads, prj-nmsc.adb (Processing_Flags): New flag
725         Missing_Source_Files.
726
727 2010-06-23  Robert Dewar  <dewar@adacore.com>
728
729         * exp_ch3.adb, exp_util.adb: Minor reformatting.
730
731 2010-06-23  Jose Ruiz  <ruiz@adacore.com>
732
733         * a-reatim.adb, a-retide.adb: Move the initialization of the tasking
734         run time from Ada.Real_Time.Delays to Ada.Real_Time. This way, calls to
735         Clock (without delays) use a run time which is properly initialized.
736
737 2010-06-23  Vincent Celier  <celier@adacore.com>
738
739         * make.adb: Do not set Check_Readonly_Files when setting Must_Compile,
740         when -f -u and a main is specified on the command line. However,
741         attempt to compile even when the ALI file is read-only when
742         Must_Compile is True.
743
744 2010-06-23  Thomas Quinot  <quinot@adacore.com>
745
746         * checks.adb, g-pehage.adb, cstand.adb: Minor code factorization.
747
748 2010-06-23  Javier Miranda  <miranda@adacore.com>
749
750         * sem_ch3.adb (Add_Internal_Interface_Entities): Generate internal
751         entities for parent types that are interfaces. Needed in generics to
752         handle formals that implement interfaces.
753         (Derive_Subprograms): Add assertion for derivation of tagged types that
754         do not cover interfaces. For generics, complete code that handles
755         derivation of type that covers interfaces because the previous
756         condition was weak (it required only name consistency; arguments were
757         not checked). Add new code to locate primitives covering interfaces
758         defined in generic units or instantiatons.
759         * sem_util.adb (Has_Interfaces): Add missing support for derived types.
760         * sem_ch6.adb (Check_Overriding_Indicator): Minor code cleanups.
761         * exp_disp.adb (Make_Select_Specific_Data_Table): Skip primitives of
762         interfaces that are parents of the type because they share the primary
763         dispatch table.
764         (Register_Primitive): Do not register primitives of interfaces that
765         are parents of the type.
766         * sem_ch13.adb (Analyze_Freeze_Entity): Add documentation.
767         * exp_cg.adb (Write_Type_Info): When displaying overriding of interface
768         primitives skip primitives of interfaces that are parents of the type.
769
770 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
771
772         * sem_attr.adb (Eval_Attribute): If the prefix is an array, the
773         attribute cannot be constant-folded if an index type is a formal type,
774         or is derived from one.
775         * checks.adb (Determine_Range): ditto.
776
777 2010-06-23  Arnaud Charlet  <charlet@adacore.com>
778
779         * gnat_ugn.texi, gnatxref.adb: Add support for --ext switch.
780
781 2010-06-23  Bob Duff  <duff@adacore.com>
782
783         * g-pehage.ads, g-pehage.adb (Put): Fix off-by-one bug.
784         (Insert): Disallow nul characters.
785         (misc output routines): Assert no nul characters.
786
787 2010-06-23  Ed Schonberg  <schonberg@adacore.com>
788
789         * exp_ch4.adb: Use predefined unsigned type in all cases.
790
791 2010-06-23  Bob Duff  <duff@adacore.com>
792
793         * s-rannum.adb (Reset): Avoid overflow in calculation of Initiator.
794         * g-pehage.ads: Minor comment fixes.
795         * g-pehage.adb: Minor: Add some additional debugging printouts under
796         Verbose flag.
797
798 2010-06-23  Robert Dewar  <dewar@adacore.com>
799
800         * binde.adb (Better_Choice): Always prefer Pure/Preelab.
801         (Worse_Choice): Always prefer Pure/Preelab.
802
803 2010-06-23  Vincent Celier  <celier@adacore.com>
804
805         * a-reatim.adb: Call System.OS_Primitives.Initialize during elaboration
806
807 2010-06-23  Robert Dewar  <dewar@adacore.com>
808
809         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Properly handle
810         checking returns in generic case.
811         (Check_Missing_Return): New procedure.
812
813 2010-06-23  Robert Dewar  <dewar@adacore.com>
814
815         * bindgen.adb, switch-b.adb: Minor reformatting.
816
817 2010-06-23  Javier Miranda  <miranda@adacore.com>
818
819         * frontend.adb (Frontend): Add call to initialize the new package
820         SCIL_LL.
821         * exp_ch7.adb (Wrap_Transient_Expression): Remove call to
822         Adjust_SCIL_Node.
823         (Wrap_Transient_Statement): Remove call to Adjust_SCIL_Node.
824         * sem_ch5.adb (Analyze_Iteration_Scheme.Process_Bounds): Remove call to
825         Adjust_SCIL_Node.
826         * exp_util.adb (Insert_Actions): Remove code for
827         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
828         (Remove_Side_Effects): Remove calls to Adjust_SCIL_Node.
829         * sinfo.adb (SCIL_Entity, SCIL_Tag_Value): Remove checks on
830         N_SCIL_Tag_Init and N_SCIL_Dispatch_Table_Object_Init in the assertion.
831         (SCIL_Related_Node, Set_SCIL_Related_Node): Removed.
832         * sinfo.ads (SCIL_Related_Node): Field removed.
833         (N_SCIL_Dispatch_Table_Object_Init): Node removed.
834         (N_SCIL_Tag_Init): Node removed.
835         * sem_scil.ads, sem_scil.adb (Adjust_SCIL_Node): Removed.
836         (Check_SCIL_Node): New implementation.
837         (Find_SCIL_Node): Removed.
838         * sem.adb (Analyze): Remove management of
839         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
840         * sem_util.adb (Insert_Explicit_Dereference): Remove call to
841         Adjust_SCIL_Node.
842         * exp_ch4.adb (Expand_N_In): Code cleanup: remove call to
843         Set_SCIL_Related_Node and avoid adding the SCIL node before the
844         referenced node using Insert_Action because this is not longer required.
845         (Expand_Short_Circuit_Operator): Remove call to SCIL node.
846         * exp_ch6.adb (Expand_Call): Remove call to Adjust_SCIL_Node.
847         * sem_ch4.adb (Analyze_Type_Conversion): Remove call to Adjust_SCIL_Node
848         * exp_disp.adb (Expand_Dispatching_Call): Minor code reorganization
849         because we no longer require to generate the SCIL node before the call.
850         (Make_DT): Remove generation of SCI_Dispatch_Table_Object_Init node.
851         Remove calls to Set_SCIL_Related_Node and avoid adding the SCIL
852         nodes before the referenced node using Insert_Action because this
853         is not longer required.
854         * atree.adb (Allocate_Initialize_Node, Replace, Rewrite): Add call to
855         update the SCIL_Node field.
856         * sprint.adb (Sprint_Node_Actual): Remove code for
857         N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
858         * treepr.adb (Print_Node): Print the SCIL node field (if available).
859         * exp_ch3.adb (Build_Init_Procedure): Remove generation of
860         SCIL_Tag_Init nodes.
861         * scil_ll.ads, scil_ll.adb: New files.
862         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
863         dependencies.
864
865 2010-06-23  Robert Dewar  <dewar@adacore.com>
866
867         * sem_ch6.adb: Minor reformatting.
868
869 2010-06-23  Doug Rupp  <rupp@adacore.com>
870
871         * bindusg.adb (Display): Write -Hnn line.
872         * bindgen.adb (Gen_Adainit_Ada): Write Heap_Size to binder file as 
873         necessary.
874         * init.c (__gl_heap_size): Rename from __gl_no_malloc_64 and change
875         valid values to 32 and 64.
876         (GNAT$NO_MALLOC_64): Recognize TRUE, 1, FALSE, and 0 in addition to
877         ENABLE, DISABLE as valid settings.
878         * switch-b.adb (Scan_Binder_Switches): Process -Hnn switch.
879         * opt.ads (Heap_Size): New global variable.
880         * gcc-interface/utils2.c (maybe_wrap_malloc): Remove mostly redundant 
881         TARGET_MALLOC64 check. Fix comment.
882
883 2010-06-23  Robert Dewar  <dewar@adacore.com>
884
885         * sem_ch6.adb, exp_ch4.adb, s-rannum.ads, sem.adb, sem_ch12.adb: Minor
886         reformatting.  Add comments.
887         * errout.adb (Finalize): Properly adjust warning count when deleting
888         continuations.
889
890 2010-06-22  Robert Dewar  <dewar@adacore.com>
891
892         * errout.adb (Finalize): Set Prev pointers.
893         (Finalize): Delete continuations for deletion by warnings off(str).
894         * erroutc.ads: Add Prev pointer to error message structure.
895
896 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
897
898         * sem.adb (Do_Unit_And_Dependents): If the spec of the main unit is a
899         child unit, examine context of parent units to locate instantiated
900         generics whose bodies may be needed. 
901         * sem_ch12.adb: (Mark_Context): if the enclosing unit does not have a
902         with_clause for the instantiated generic, examine the context of its
903         parents, to set Withed_Body flag, so that it can be visited earlier.
904         * exp_ch4.adb (Expand_N_Op_Not): If this is a VMS operator applied to
905         an unsigned type, use a type of the proper size for the intermediate
906         value, to prevent alignment problems on unchecked conversion.
907
908 2010-06-22  Geert Bosch  <bosch@adacore.com>
909
910         * s-rannum.ads Change Generator type to be self-referential to allow
911         Random to update its argument. Use "in" mode for the generator in the
912         Reset procedures to allow them to be called from the Ada.Numerics
913         packages without tricks.
914         * s-rannum.adb: Use the self-referencing argument to get write access
915         to the internal state of the random generator.
916         * a-nudira.ads: Make Generator a derived type of
917         System.Random_Numbers.Generator.
918         * a-nudira.adb: Remove use of 'Unrestricted_Access.
919         Put subprograms in alpha order and add headers.
920         * g-mbdira.ads: Change Generator type to be self-referential.
921         * g-mbdira.adb: Remove use of 'Unrestricted_Access.
922
923 2010-06-22  Robert Dewar  <dewar@adacore.com>
924
925         * freeze.adb: Minor reformatting
926         Minor code reorganization (use Nkind_In and Ekind_In).
927
928 2010-06-22  Bob Duff  <duff@adacore.com>
929
930         * gnat1drv.adb (Gnat1drv): Remove the messages that recommend using 
931         -gnatc when a file is compiled that we cannot generate code for, not
932         helpful and confusing.
933
934 2010-06-22  Vincent Celier  <celier@adacore.com>
935
936         * switch-m.adb (Normalize_Compiler_Switches): Process correctly
937         switches -gnatknn.
938
939 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
940
941         * s-rannum.adb: Replace constants with commented symbols.
942         * s-rannum.ads: Explain significance of the initial value of the data
943         structure.
944
945 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
946
947         * a-ngcoty.adb: Clarify comment.
948
949 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
950
951         * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Return without
952         expansion for indexing packed arrays with small power-of-2 component
953         sizes when the target is AAMP.
954         (Expand_Packed_Element_Reference): Return without expansion for
955         indexing packed arrays with small power-of-2 component sizes when the
956         target is AAMP.
957
958 2010-06-22  Geert Bosch  <bosch@adacore.com>
959
960         * exp_ch4.adb (Expand_N_In): Do not substitute a valid check for X in
961         Float'Range.
962
963 2010-06-22  Robert Dewar  <dewar@adacore.com>
964
965         * g-mbdira.adb, g-mbflra.adb, a-nuflra.adb, a-nudira.adb: Minor comment
966         updates.
967
968 2010-06-22  Doug Rupp  <rupp@adacore.com>
969
970         * system-vms.ads, system-vms-zcx.ads: Remove old unused VMS system
971         packages.
972         * system-vms_64.ads, system-vms-ia64.ads: Minor reformatting.
973         (pragma Ident): Add a default ident string in the private part.
974
975 2010-06-22  Robert Dewar  <dewar@adacore.com>
976
977         * cstand.adb: Minor reformatting.
978
979 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
980
981         * freeze.adb (Build_And_Analyze_Renamed_Body): For expansion purposes,
982         recognize the Shift and Rotation intrinsics that are known to the
983         compiler but have no interface name.
984
985 2010-06-22  Geert Bosch  <bosch@adacore.com>
986
987         * a-ngcoty.adb ("*"): Rewrite complex multiplication to use proper
988         scaling in case of overflow or NaN results.
989
990 2010-06-22  Robert Dewar  <dewar@adacore.com>
991
992         * cstand.adb: Complete previous change.
993         * g-dirope.ads: Add comment.
994         * s-stchop.adb, sfn_scan.adb: Minor reformatting.
995
996 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
997
998         * cstand.adb: Add tree nodes for pragma Pack on string types.
999
1000 2010-06-22  Javier Miranda  <miranda@adacore.com>
1001
1002         * einfo.ads, einfo.adb (Last_Formal): New synthesized attribute.
1003         * exp_util.adb (Find_Prim_Op): Use new attribute to locate the last
1004         formal of a primitive.
1005         * exp_disp.adb (Is_Predefined_Dispatching_Operation,
1006          Is_Predefined_Dispatching_Alias): Use new attribute to locate the last
1007         formal of a primitive.
1008         * exp_cg.adb (Is_Predefined_Dispatching_Operation): Use new attribute
1009         to obtain the last formal of a primitive.
1010
1011 2010-06-22  Geert Bosch  <bosch@adacore.com>
1012
1013         * sysdep.c, init.c, adaint.c, cstreams.c: Remove conditional code
1014         depending on __EMX__ or MSDOS being defined.
1015         * i-cstrea.ads, gnat_rm.texi: Remove mentions of OS/2, DOS and Xenix.
1016         * a-excpol-abort.adb: Update comment indicating users of the file.
1017         * xref_lib.adb, sfn_scan.adb: Remove mention of OS/2, replace NT by
1018         Windows.
1019         * env.c: Remove empty conditional for MSDOS.
1020         * s-stchop.adb, g-dirope.ads, s-fileio.adb, osint.ads: Remove mention
1021         of OS/2 in comment.
1022
1023 2010-06-22  Robert Dewar  <dewar@adacore.com>
1024
1025         * s-rannum.adb: Minor reformatting.
1026
1027 2010-06-22  Javier Miranda  <miranda@adacore.com>
1028
1029         * sem_aux.adb, sem_aux.ads, sem_util.adb, sem_util.ads, sem_elim.adb,
1030         exp_cg.adb: Minor code reorganization: Move routine Ultimate_Alias from
1031         package Sem_Util to package Sem_Aux.
1032
1033 2010-06-22  Javier Miranda  <miranda@adacore.com>
1034
1035         * exp_disp.adb (Make_Secondary_DT, Make_DT): Minor code cleanup:
1036         remove useless restriction on imported routines when building the
1037         dispatch tables.
1038
1039 2010-06-22  Robert Dewar  <dewar@adacore.com>
1040
1041         * cstand.adb (Create_Standard): Set Has_Pragma_Pack for standard string
1042         types.
1043
1044 2010-06-22  Javier Miranda  <miranda@adacore.com>
1045
1046         * sem_ch4.adb (Collect_Generic_Type_Ops): Protect code that handles
1047         generic subprogram declarations to ensure proper context. Add missing
1048         support for generic actuals.
1049         (Try_Primitive_Operation): Add missing support for concurrent types that
1050         have no Corresponding_Record_Type. Required to diagnose errors compiling
1051         generics or when compiling with no code generation (-gnatc).
1052         * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Do not build
1053         the corresponding record type.
1054         * sem_disp.ads, sem_disp.adb (Check_Dispatching_Operation): Complete
1055         documentation. Do minimum decoration when processing a primitive of a
1056         concurrent tagged type that covers interfaces. Required to diagnose
1057         errors in the Object.Operation notation compiling generics or under
1058         -gnatc.
1059         * exp_ch9.ads, exp_ch9.adb (Build_Corresponding_Record): Add missing
1060         propagation of attribute Interface_List to the corresponding record.
1061         (Expand_N_Task_Type_Declaration): Code cleanup.
1062         (Expand_N_Protected_Type_Declaration): Code cleanup.
1063
1064 2010-06-22  Matthew Heaney  <heaney@adacore.com>
1065
1066         * a-convec.adb, a-coinve.adb: Removed 64-bit types Int and UInt.
1067
1068 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
1069
1070         * s-rannum.adb (Random_Float_Template): Replace with unbiased version
1071         that is able to produce all representable floating-point numbers in the
1072         unit interval. Remove template parameter Shift_Right, no longer used.
1073         * gnat_rm.texi: Document the period of the pseudo-random number
1074         generator under the description of its algorithm.
1075         * gcc-interface/Make-lang.in: Update dependencies.
1076
1077 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1078
1079         * exp_aggr.adb (Rewrite_Discriminant): Fix predicate used to identify
1080         reference to discriminant (can be an expanded name as well as an
1081         identifier).
1082
1083 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1084
1085         * exp_ch6.adb: Clarify comment.
1086
1087 2010-06-22  Geert Bosch  <bosch@adacore.com>
1088
1089         * exp_imgv.adb (Expand_Image_Attribute): Treat ordinary fixed point
1090         with decimal small as decimal types, avoiding floating-point arithmetic.
1091         (Has_Decimal_Small): New function.
1092         * einfo.ads, einfo.adb (Aft_Value): New synthesized attributed for
1093         fixed point types.
1094         * sem_attr.adb (Eval_Attribute): Remove Aft_Value function and update
1095         callers to call the new function in Einfo that takes the entity as
1096         parameter.
1097
1098 2010-06-22  Robert Dewar  <dewar@adacore.com>
1099
1100         * sem_ch3.adb, sem_ch8.adb: Minor reformatting.
1101
1102 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1103
1104         * sem_elab.adb: Minor reformatting.
1105
1106 2010-06-22  Vincent Celier  <celier@adacore.com>
1107
1108         * gnatsym.adb: Put the object files in the table in increasing
1109         aphabetical order of base names.
1110
1111 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1112
1113         * sem_ch8.adb (Set_Entity_Or_Discriminal): New procedure used by
1114         Find_Direct_Name and Find_Expanded_Name, to replace a discriminant with
1115         the corresponding discriminal within a record declaration.
1116
1117 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1118
1119         * exp_aggr.adb (Rewrite_Discriminant): Rewriting must occur only for an
1120         expression referring to a discriminal of the type of the aggregate (not
1121         a discriminal of some other unrelated type), and the prefix in the
1122         generated selected component must come from Lhs, not Obj.
1123
1124 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1125
1126         * sem_ch3.adb (Build_Derived_Record_Type): Fix predicate determining
1127         when to freeze the parent type.
1128
1129 2010-06-22  Robert Dewar  <dewar@adacore.com>
1130
1131         * s-rannum.adb, a-nudira.adb, types.ads, freeze.adb, sem_aggr.adb,
1132         exp_aggr.adb: Minor reformatting.
1133         * gnat_rm.texi: Document GNAT.MBBS_Discrete_Random and
1134         GNAT.MBSS_Float_Random.
1135         * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: Fix header.
1136
1137 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
1138
1139         * a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads,
1140         gnat_rm.texi, impunit.adb, Makefile.rtl, s-rannum.adb
1141         (Random_Float_Template, Random): New method of creating
1142         uniform floating-point variables that allow the creation of all machine
1143         values in [0 .. 1).  
1144
1145         * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: New file.
1146
1147 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
1148
1149         * sem_ch5.adb (Analyze_Assignment): Revise test for illegal assignment
1150         to abstract targets to check that the type is tagged and comes from
1151         source, rather than only testing for targets of interface types. Remove
1152         premature return.
1153
1154 2010-06-22  Vincent Celier  <celier@adacore.com>
1155
1156         * vms_data.ads: Modify the declarations of qualifiers
1157         /UNCHECKED_SHARED_LIB_IMPORTS to allow the generation of gnat.hlp
1158         without error.
1159
1160 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1161
1162         * exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false if
1163         expansion is disabled.
1164
1165 2010-06-22  Robert Dewar  <dewar@adacore.com>
1166
1167         * makeusg.adb: Minor reformatting.
1168
1169 2010-06-22  Robert Dewar  <dewar@adacore.com>
1170
1171         * types.ads: (Dint): Removed, no longer used anywhere.
1172         * uintp.adb (UI_From_CC): Use UI_From_Int, range is sufficient.
1173         (UI_Mul): Avoid use of UI_From_Dint.
1174         (UI_From_Dint): Removed, not used.
1175         * uintp.ads (UI_From_Dint): Removed, not used.
1176         (Uint_Min/Max_Simple_Mul): New constants.
1177
1178 2010-06-22  Vincent Celier  <celier@adacore.com>
1179
1180         * clean.adb (Parse_Cmd_Line): Recognize switch
1181         --unchecked-shared-lib-imports.
1182         (Usage): Add line for switch --unchecked-shared-lib-imports
1183         * makeusg.adb: Add line for switch --unchecked-shared-lib-imports
1184         * makeutl.ads: (Unchecked_Shared_Lib_Imports): New constant string
1185         moved from GPR_Util.
1186         * switch-m.adb (Scan_Make_Switches): Recognize switch
1187         --unchecked-shared-lib-imports.
1188         * vms_data.ads: Add VMS qualifiers /UNCHECKED_SHARED_LIB_IMPORTS.
1189         * gnat_ugn.texi: Add documentation for new switch
1190         --unchecked-shared-lib-imports.  Add also documentation for --subdirs.
1191
1192 2010-06-22  Javier Miranda  <miranda@adacore.com>
1193
1194         * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, exp_ch6.adb,
1195         exp_disp.adb, sem_eval.adb, exp_dist.adb lib-xref.adb: Code cleanup,
1196         this patch replaces duplication of code that traverses the chain of
1197         aliased primitives by a call to routine Ultimate_Alias that
1198         provides this functionality.
1199
1200 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
1201
1202         * fmap.adb, opt.ads, osint.adb, osint.ads, output.ads, scng.adb,
1203         sinput-c.adb, switch-m.ads, tree_io.ads: Use simpler form of
1204         Warnings Off/On.
1205
1206 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1207
1208         * einfo.ads: Minor reformatting.
1209
1210 2010-06-22  Javier Miranda  <miranda@adacore.com>
1211
1212         * exp_disp.adb (Expand_Interface_Thunk): Do not generate thunk of
1213         eliminated primitives.
1214         (Make_DT): Avoid referencing eliminated primitives.
1215         (Register_Primitive): Do not register eliminated primitives in the
1216         dispatch table. Required to add this functionality when the program is
1217         compiled without static dispatch tables (-gnatd.t)
1218
1219 2010-06-22  Emmanuel Briot  <briot@adacore.com>
1220
1221         * fmap.adb, scng.adb, switch-m.ads, sinput-c.adb, opt.ads, output.ads,
1222         tree_io.ads, osint.adb, osint.ads: Use configuration pragmas to prevent
1223         warnings on use of internal GNAT units.
1224
1225 2010-06-22  Jose Ruiz  <ruiz@adacore.com>
1226
1227         * s-taprop-vxworks.adb (Set_Priority): Update comments.
1228
1229 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
1230
1231         * s-rannum.adb: Make stylistic change to remove mystery constant in
1232         Extract_Value.  Image_Numeral_Length: new symbolic constant.
1233
1234 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1235
1236         * einfo.ads, einfo.adb: Make Is_Protected_Interface,
1237         Is_Synchronized_Interface, Is_Task_Interface into computable
1238         predicates, to free three flags in entity nodes.
1239         * sem_ch3.adb: Remove setting of these flags.
1240
1241 2010-06-22  Robert Dewar  <dewar@adacore.com>
1242
1243         * uintp.adb, osint.adb, prj-conf.adb, prj-part.adb, prj.adb: Minor
1244         reformatting.
1245         * s-taprop-vxworks.adb: Add comment for Set_Priority.
1246         * impunit.adb (Map_Array): Add entries for s-htable.ads and s-crc32.ads
1247         * projects.texi: Move @cindex to the left margin, since otherwise we
1248         are missing entries in the index.
1249
1250 2010-06-22  Emmanuel Briot  <briot@adacore.com>
1251
1252         * prj-part.adb, prj.adb, tempdir.ads, makeutl.adb: Use
1253         packages from the GNAT hierarchy instead of System when possible.
1254         * gcc-interface/Make-lang.in: Update dependencies.
1255
1256 2010-06-22  Jose Ruiz  <ruiz@adacore.com>
1257
1258         * s-taprop-vxworks.adb (Set_Priority): Remove the code that was
1259         previously in place to reorder the ready queue when a task drops its
1260         priority due to the loss of inherited priority.
1261
1262 2010-06-22  Vincent Celier  <celier@adacore.com>
1263
1264         * projects.texi: Minor spelling error fixes.
1265         Minor reformatting.
1266
1267 2010-06-22  Emmanuel Briot  <briot@adacore.com>
1268
1269         * prj-part.adb, prj-ext.adb, prj.adb, makeutl.adb, prj-conf.adb: Remove
1270         warnings for some with clauses.
1271
1272 2010-06-22  Robert Dewar  <dewar@adacore.com>
1273
1274         * errout.adb (Unwind_Internal_Type): Improve handling of First_Subtype
1275         test to catch more cases where first subtype is the results we want.
1276         * sem_res.adb (Make_Call_Into_Operator): Don't go to First_Subtype in
1277         error case, since Errout will now handle this correctly.
1278         * gcc-interface/Make-lang.in: Add Sem_Aux to list of GNATBIND objects.
1279         Update dependencies.
1280
1281 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
1282
1283         * exp_ch4.adb (Expand_Allocator_Expression): Set Related_Node properly
1284         when calling Make_Temporary.
1285
1286 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1287
1288         * sem_ch3.adb (Access_Subprogram_Declaration): An anonymous access to
1289         subprogram can be associated with an entry body.
1290
1291 2010-06-22  Robert Dewar  <dewar@adacore.com>
1292
1293         * scos.ads: Add note on membership test handling.
1294
1295 2010-06-22  Vincent Celier  <celier@adacore.com>
1296
1297         * projects.texi: Minor spelling fixes.
1298         Minor reformatting.
1299
1300 2010-06-22  Paul Hilfinger  <hilfinger@adacore.com>
1301
1302         * s-rannum.adb: Correct off-by-one error in Extract_Value.
1303
1304 2010-06-22  Vincent Celier  <celier@adacore.com>
1305
1306         * mlib-prj.adb (Display): In non verbose mode, truncate after fourth
1307         argument.
1308         * mlib-utl.adb (Gcc): In non verbose mode, truncate the display of the
1309         gcc command if it is too long.
1310
1311 2010-06-22  Robert Dewar  <dewar@adacore.com>
1312
1313         * errout.adb (Set_Msg_Node): Fix incorrect reference to node.
1314
1315 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
1316
1317         * exp_ch6.adb (Expand_Actuals): Use Actual as the related node when
1318         calling Make_Temporary.
1319
1320 2010-06-22  Robert Dewar  <dewar@adacore.com>
1321
1322         * sem_res.adb, sem_aux.adb, errout.adb: Minor reformatting.
1323
1324 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1325
1326         * sem_res.adb: Additional special-case for VMS.
1327
1328 2010-06-22  Vincent Celier  <celier@adacore.com>
1329
1330         * gnatsym.adb: Minor comment fix.
1331
1332 2010-06-22  Vincent Celier  <celier@adacore.com>
1333
1334         * prj-nmsc.adb (Process_Naming_Scheme): Initialize table Lib_Data_Table.
1335
1336 2010-06-22  Robert Dewar  <dewar@adacore.com>
1337
1338         * par-ch4.adb (P_Name): Recognize 'Mod attribute in Ada 95 mode
1339         * sem_attr.adb (Attribute_05): Add Name_Mod so that 'Mod recognized in
1340         Ada 95 mode as an implementation defined attribute.
1341
1342 2010-06-22  Vincent Celier  <celier@adacore.com>
1343
1344         * bindusg.adb (Display): Update line for -R
1345         * switch-b.adb (Scan_Binder_Switches): Allow generation of the binder
1346         generated files when -R is used.
1347
1348 2010-06-22  Vincent Celier  <celier@adacore.com>
1349
1350         * prj-nmsc.adb (Lib_Data_Table): New table.
1351         (Check_Library_Attributes): Check if the same library name is used in
1352         two different projects that do not extend each other.
1353
1354 2010-06-22  Robert Dewar  <dewar@adacore.com>
1355
1356         * lib-writ.ads, errout.adb, einfo.adb, einfo.ads: Minor reformatting.
1357
1358 2010-06-22  Vincent Celier  <celier@adacore.com>
1359
1360         * adaint.c (__gnat_locate_regular_file): If a directory in the path is
1361         empty, make it the current working directory.
1362
1363 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1364
1365         * sem_ch3.adb (Build_Derived_Record_Type): When deriving a tagged
1366         private type with discriminants, make sure the parent type is frozen.
1367
1368 2010-06-22  Eric Botcazou  <ebotcazou@adacore.com>
1369
1370         * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Bit>: Deal
1371         with packed array references specially.
1372         * exp_ch4.adb (Expand_N_Indexed_Component): Do not convert a reference
1373         to a component of a bit packed array if it is the prefix of 'Bit.
1374         * exp_pakd.ads (Expand_Packed_Bit_Reference): Declare.
1375         * exp_pakd.adb (Expand_Packed_Bit_Reference): New procedure.  Expand a
1376         'Bit reference, where the prefix involves a packed array reference.
1377         (Get_Base_And_Bit_Offset): New helper, extracted from...
1378         (Expand_Packed_Address_Reference): ...here.  Call above procedure to
1379         get the outer object and offset expression.
1380
1381 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1382
1383         * exp_attr.adb, lib-writ.ads, bindgen.adb: Minor reformatting.
1384         * einfo.adb (Related_Expression, Set_Related_Expression): Add
1385         assertions.
1386
1387 2010-06-22  Javier Miranda  <miranda@adacore.com>
1388
1389         * sem_ch3.adb (Add_Internal_Interface_Entities): Minor code
1390         reorganization to properly check if the operation has been inherited as
1391         an abstract operation.
1392
1393 2010-06-22  Ed Falis  <falis@adacore.com>
1394
1395         * s-osinte-vxworks.ads: Complete previous change.
1396
1397 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1398
1399         * sem_res.adb: Add comment.
1400         * projects.texi, gnat_ugn.texi: Remove macro.
1401
1402 2010-06-22  Vincent Celier  <celier@adacore.com>
1403
1404         * prj-attr.adb: Remove project level attribute Main_Language.
1405
1406 2010-06-22  Robert Dewar  <dewar@adacore.com>
1407
1408         * switch-b.adb, osint-b.adb: Minor reformatting.
1409
1410 2010-06-22  Pascal Obry  <obry@adacore.com>
1411
1412         * g-socthi-mingw.adb (C_Sendmsg): Do not attempt to send data from a
1413         vector if previous send was not fully successful. If only part of
1414         the vector data was sent, we exit the loop.
1415
1416 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1417
1418         * sem_res.adb (Make_Call_Into_Operator): Use First_Subtype for better
1419         error reporting with generic types.
1420
1421 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1422
1423         * bindgen.adb, bindusg.adb, gnatbind.adb, gnat_ugn.texi, opt.ads,
1424         osint-b.adb, osint-b.ads, output.adb, output.ads, switch-b.adb,
1425         vms_data.ads: Add a new command line switch -A to gnatbind to output
1426         the list of all ALI files for the partition.
1427
1428 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
1429
1430         * s-osinte-vxworks.ads: Fix casing.
1431         * s-vxwext-kernel.ads, s-vxwext-rtp.ads: Complete previous
1432         change: Interfaces.C does not provide a long_long type.
1433
1434 2010-06-22  Emmanuel Briot  <briot@adacore.com>
1435
1436         * gnat_ugn.texi, projects.texi: Preprocess projects.texi for VMS and
1437         native user's guide, since this document contains the two versions.
1438         * gcc-interface/Make-lang.in: Update doc dependencies.
1439
1440 2010-06-22  Robert Dewar  <dewar@adacore.com>
1441
1442         * sem_ch3.adb: Minor reformatting.  Minor code reorganization.
1443
1444 2010-06-22  Emmanuel Briot  <briot@adacore.com>
1445
1446         * gnat_ugn.texi, projects.texi: Remove toplevel menu, since we should
1447         not build this file on its own (only through gnat_ugn.texi).
1448         Remove macro definitions and insert simpler version in gnat_ugn.texi.
1449
1450 2010-06-22  Robert Dewar  <dewar@adacore.com>
1451
1452         * ali-util.ads: Minor comment update.
1453         * g-socthi-mingw.adb: Minor reformatting.
1454
1455 2010-06-22  Ed Falis  <falis@adacore.com>
1456
1457         * s-osinte-vxworks.ads: take sigset_t definition from System.VxWorks.Ext
1458         * s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads: Define sigset_t
1459         for specific versions of VxWorks.
1460
1461 2010-06-22  Emmanuel Briot  <briot@adacore.com>
1462
1463         * gnat_rm.texi, gnat_ugn.texi, projects.texi: Remove all project files
1464         related sections from user's guide and reference manual, since they
1465         have now been merged together into a separate document (projects.texi).
1466         This removes a lot of duplication where attributes where described
1467         in several places.
1468         The grammar for the project files is now in each of the sections
1469         (packages,expressions,...) instead of being duplicates in two other
1470         sections (one in the user's guide that contained the full grammar,
1471         and various sections in the rm that contained extracts of the same
1472         grammar).
1473         Added the full list of all supported attributes, since existing lists
1474         were incomplete
1475         Rename "associative array" into "indexed attribute"
1476         Remove sections that were duplicates ("External References in
1477         Project Files" and "External Values", and "Project Extensions"
1478         for instance). The list of valid packages in project files is now in
1479         a single place.
1480
1481 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1482
1483         * sem_ch3.adb (Add_Internal_Interface_Entities): If
1484         Find_Primitive_Covering_Interface does not find the operation, it may
1485         be because of a name conflict between the inherited operation and a
1486         local non-overloadable name. In that case look for the operation among
1487         the primitive operations of the type. This search must succeed
1488         regardless of visibility.
1489
1490 2010-06-22  Pascal Obry  <obry@adacore.com>
1491
1492         * g-socthi-mingw.adb: Properly honor MSG_WAITALL in recvmsg.
1493         (C_Recvmsg): Propely honor the MSG_WAITALL flag in Windows
1494         recvmsg emulation.
1495
1496 2010-06-22  Robert Dewar  <dewar@adacore.com>
1497
1498         * sem_ch4.adb (Analyze_Conditional_Expression): Defend against
1499         malformed tree.
1500         * sprint.adb (Sprint_Node_Actual, case N_Conditional_Expression): Ditto.
1501
1502 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
1503
1504         * s-intman-vxworks.ads: Code clean up.
1505
1506 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1507
1508         * sem_res.adb (Resolve_Slice): When the prefix is an explicit
1509         dereference, construct actual subtype of designated object to generate
1510         proper bounds checks.
1511
1512 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1513
1514         * ali-util.adb, ali-util.ads, gnatbind.adb (Read_ALI): Rename to
1515         Read_Withed_ALIs, which is more descriptive.
1516
1517 2010-06-22  Pascal Obry  <obry@adacore.com>
1518
1519         * g-sothco.ads: Minor reformatting.
1520         * g-socthi-mingw.adb: Remove part of work on the C_Recvmsg and
1521         C_Sendmsg implementation.
1522         (C_Sendmsg): Do not use lock (not needed).
1523         (C_Recvmsg): Likewise and also do not wait for incoming data.
1524
1525 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1526
1527         * uintp.adb: Fix scope error in operator call.
1528
1529 2010-06-22  Vincent Celier  <celier@adacore.com>
1530
1531         * makeutl.adb (Executable_Prefix_Path): on VMS, return "/gnu/".
1532         * prj-conf.adb (Get_Or_Create_Configuration_File): On VMS, if
1533         autoconfiguration is needed, fail indicating that no config project
1534         file can be found, as there is no autoconfiguration on VMS.
1535
1536 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1537
1538         * sem_res.adb (Make_Call_Into_Operator): Diagnose an incorrect scope
1539         for an operator in a functional notation, when operands are universal.
1540
1541 2010-06-22  Arnaud Charlet  <charlet@adacore.com>
1542
1543         * gcc-interface/Make-lang.in: Update dependencies.
1544
1545 2010-06-22  Robert Dewar  <dewar@adacore.com>
1546
1547         * sem_aggr.adb (Resolve_Record_Aggregate): Do style check on component
1548         name.
1549         * sem_ch10.adb (Analyze_Subunit): Do style check on parent unit name.
1550         * sem_ch8.adb (Find_Direct_Name): For non-overloadable entities, do
1551         style check.
1552         * sem_res.adb (Resolve_Entity_Name): Do style check for enumeration
1553         literals.
1554
1555 2010-06-22  Vincent Celier  <celier@adacore.com>
1556
1557         * make.adb (Scan_Make_Arg): No longer pass -nostdlib to the compiler as
1558         it has no effect. Always pass -nostdlib to gnatlink, even on VMS.
1559
1560 2010-06-22  Pascal Obry  <obry@adacore.com>
1561
1562         * g-socthi-mingw.adb: Fix implementation of the vectored sockets on
1563         Windows.
1564         (C_Recvmsg): Make sure the routine is atomic. Also fully
1565         fill vectors in the proper order.
1566         (C_Sendmsg): Make sure the routine is atomic.
1567
1568 2010-06-22  Robert Dewar  <dewar@adacore.com>
1569
1570         * sem_ch8.adb: Update comment.
1571         * sem_res.adb: Minor code reorganization (use Ekind_In).
1572
1573 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1574
1575         * sem_ch8.adb (Add_Implicit_Operator): If the context of the expanded
1576         name is a call, use the number of actuals to determine whether this is
1577         a binary or unary operator, rather than relying on later information
1578         to resolve the overload.
1579
1580 2010-06-22  Robert Dewar  <dewar@adacore.com>
1581
1582         * sem_ch10.adb, sem_aggr.adb: Minor reformatting.
1583
1584 2010-06-22  Robert Dewar  <dewar@adacore.com>
1585
1586         * sem_ch3.adb, sem_disp.adb: Minor code fixes.
1587         * sem_eval.adb: Minor reformatting.
1588
1589 2010-06-22  Vincent Celier  <celier@adacore.com>
1590
1591         * make.adb (Scan_Make_Arg): When invoked with -nostdlib, pass -nostdlib
1592         to gnatlink, except on Open VMS.
1593         * osint.adb (Add_Default_Search_Dirs): Do not suppress the default
1594         object directories if -nostdlib is used.
1595
1596 2010-06-22  Robert Dewar  <dewar@adacore.com>
1597
1598         * sem_util.adb (Is_Delegate): Put in proper alpha order.
1599         * sem_eval.adb: Minor reformatting.
1600
1601 2010-06-22  Robert Dewar  <dewar@adacore.com>
1602
1603         * g-expect-vms.adb, sem_res.adb: Minor reformatting.
1604         * exp_aggr.adb: Minor comment changes and reformatting.
1605         * sem_eval.adb (Find_Universal_Operator_Type): Put in proper alpha order
1606         * sem_util.ads: Add some missing pragma Inline's (efficiency issue only)
1607
1608 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1609
1610         * sem_util.adb (Build_Actual_Subtype): Record original expression in
1611         Related_Expression attribute of the constructed subtype.
1612         * einfo.adb, einfo.ads (Underlying_View): Move to Node28 to free up
1613         Node24 on types for...
1614         (Related_Expression): Make attribute available on types as well.
1615
1616 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
1617
1618         * exp_util.adb (Find_Interface_ADT): Retrieve Designated_Type instead of
1619         Directly_Designated_Type when the type argument is an access type.
1620         (Find_Interface_Tag): Retrieve Designated_Type instead of
1621         Directly_Designated_Type when the type argument is an access type.
1622         (Has_Controlled_Coextensions): Retrieve Designated_Type instead of
1623         Directly_Designated_Type of each access discriminant.
1624         * sem_res.adb (Resolve_Type_Conversion): Retrieve Designated_Type
1625         instead of Directly_Designated_Type when the operand and target types
1626         are access types.
1627
1628 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1629
1630         * exp_aggr.adb (Flatten): Return False if one choice is statically
1631         known to be out of bounds.
1632
1633 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1634
1635         * sem_res.adb (Resolve_Call): If the call is rewritten as an indexed of
1636         a parameterless function call, preserve parentheses of original
1637         expression, for proper handling by pretty printer.
1638         * sem_attr.adb (Analyze_Attribute, case 'Old): Add guard to Process
1639         procedure, to handle quietly identifiers that have no entity names.
1640         * exp_util.adb (Get_Current_Value_Condition): If the parent of an
1641         elsif_part is missing, it has been rewritten as a nested if, and there
1642         is no useful information on the current value of the variable.
1643
1644 2010-06-22  Gary Dismukes  <dismukes@adacore.com>
1645
1646         * sem_ch3.adb (Build_Discriminal): Set default scopes for newly created
1647         discriminals to the current scope.
1648         * sem_util.adb (Find_Body_Discriminal): Remove setting of discriminal's
1649         scope, which could overwrite a different already set value.
1650
1651 2010-06-22  Ed Schonberg  <schonberg@adacore.com>
1652
1653         * sem_res.adb (Valid_Conversion): If expression is a predefined
1654         operator, use sloc of type of interpretation to improve error message
1655         when operand is of some derived type.
1656         * sem_eval.adb (Is_Mixed_Mode_Operand): New function, use it.
1657
1658 2010-06-22  Emmanuel Briot  <briot@adacore.com>
1659
1660         * g-expect-vms.adb (Expect_Internal): No longer raises an exception, so
1661         that it can set out parameters as well. When a process has died, reset
1662         its Input_Fd to Invalid_Fd, so that when using multiple processes we
1663         can find out which process has died.
1664
1665 2010-06-22  Thomas Quinot  <quinot@adacore.com>
1666
1667         * sem_eval.adb (Find_Universal_Operator_Type): New
1668         subprogram to identify the operand type of an operator on universal
1669         operands, when an explicit scope indication is present. Diagnose the
1670         case where such a call is ambiguous.
1671         (Eval_Arithmetic_Op, Eval_Relational_Op, Eval_Unary_Op):
1672         Use the above to identify the operand type so it can be properly frozen.
1673         * sem_res.adb (Make_Call_Into_Operator): Remove bogus freeze of operand
1674         type, done in an arbitrary, possibly incorrect type (the presence of
1675         some numeric type in the scope is checked for legality, but when more
1676         than one such type is in the scope, we just pick a random one, not
1677         necessarily the expected one).
1678         * sem_utils.ads, sem_utils.adb (Is_Universal_Numeric_Type): New utility
1679         subprogram.
1680
1681 2010-06-22  Robert Dewar  <dewar@adacore.com>
1682
1683         * sem_eval.adb: Minor reformatting.
1684
1685 2010-06-22  Robert Dewar  <dewar@adacore.com>
1686
1687         * exp_ch4.adb (Expand_N_Conditional_Expression): Use
1688         Expression_With_Actions to clean up the code generated when folding
1689         constant expressions.
1690
1691 2010-06-22  Vincent Celier  <celier@adacore.com>
1692
1693         * g-expect-vms.adb: Add new subprograms Free, First_Dead_Process and
1694         Has_Process.
1695
1696 2010-06-22  Vincent Celier  <celier@adacore.com>
1697
1698         * prj-nmsc.adb (Find_Sources): When a source from a multi-unit file is
1699         found, check if it's path has aready been found, whatever its index.
1700
1701 2010-06-22  Robert Dewar  <dewar@adacore.com>
1702
1703         * atree.adb, gnatbind.adb: Minor reformatting.
1704         Minor code reorganization.
1705
1706 2010-06-21  Robert Dewar  <dewar@adacore.com>
1707
1708         * exp_ch4.adb (Expand_N_Conditional_Expression): Fold if condition
1709         known at compile time.
1710
1711 2010-06-21  Gary Dismukes  <dismukes@adacore.com>
1712
1713         * atree.adb: Fix comment typo.
1714
1715 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
1716
1717         * sem_eval.adb (Test_Ambiguous_Operator): New procedure to check
1718         whether a universal arithmetic expression in a conversion, which is
1719         rewritten from a function call with an expanded name, is ambiguous.
1720
1721 2010-06-21  Vincent Celier  <celier@adacore.com>
1722
1723         * prj-nmsc.adb (Name_Location): New Boolean component Listed, to record
1724         source files in specified list of sources.
1725         (Check_Package_Naming): Remove out parameters Bodies and Specs, as they
1726         are never used.
1727         (Add_Source): Set the Location of the new source
1728         (Process_Exceptions_File_Based): Call Add_Source with the Location
1729         (Get_Sources_From_File): If an exception is found, set its Listed to
1730         True
1731         (Find_Sources): When Source_Files is specified, if an exception is
1732         found, set its Listed to True. Remove any exception that is not in a
1733         specified list of sources.
1734         * prj.ads (Source_Data): New component Location
1735
1736 2010-06-21  Vincent Celier  <celier@adacore.com>
1737
1738         * gnatbind.adb (Closure_Sources): Global table, moved from block.
1739
1740 2010-06-21  Thomas Quinot  <quinot@adacore.com>
1741
1742         * sem_res.adb: Minor reformatting.
1743         * atree.adb: New debugging hook "rr" for node rewrites.
1744
1745 2010-06-21  Robert Dewar  <dewar@adacore.com>
1746
1747         * g-expect.ads, g-expect.adb: Minor reformatting.
1748
1749 2010-06-21  Emmanuel Briot  <briot@adacore.com>
1750
1751         * s-regpat.adb (Next_Pointer_Bytes): New named constant. Code clean up.
1752
1753 2010-06-21  Arnaud Charlet  <charlet@adacore.com>
1754
1755         * gcc-interface/Make-lang.in: Update dependencies.
1756
1757 2010-06-21  Thomas Quinot  <quinot@adacore.com>
1758
1759         * bindgen.ads: Update comments.
1760
1761 2010-06-21  Vincent Celier  <celier@adacore.com>
1762
1763         * gnatbind.adb: Suppress dupicates when listing the sources in the
1764         closure (switch -R).
1765
1766 2010-06-21  Emmanuel Briot  <briot@adacore.com>
1767
1768         * s-regpat.adb (Link_Tail): Fix error when size of the pattern matcher
1769         is too small.
1770
1771 2010-06-21  Emmanuel Briot  <briot@adacore.com>
1772
1773         * g-expect.adb, g-expect.ads (First_Dead_Process, Free, Has_Process):
1774         New subprograms.
1775         (Expect_Internal): No longer raises an exception, so that it can set
1776         out parameters as well. When a process has died, reset its Input_Fd
1777         to Invalid_Fd, so that when using multiple processes we can find out
1778         which process has died.
1779
1780 2010-06-21  Robert Dewar  <dewar@adacore.com>
1781
1782         * s-regpat.adb, s-tpoben.adb, sem_attr.adb, sem_util.adb, sem_util.ads,
1783         checks.adb, sem_res.adb: Minor reformatting. Add comments.
1784
1785 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
1786
1787         * sem_ch6.adb (New_Overloaded_Entity): If the new entity is a
1788         rederivation associated with a full declaration in a private part, and
1789         there is a partial view that derives the same parent subprogram, the
1790         new entity does not become visible. This check must be applied to
1791         interface operations as well.
1792
1793 2010-06-21  Thomas Quinot  <quinot@adacore.com>
1794
1795         * checks.adb: Add comments.
1796         * prj-nmsc.adb: Minor reformatting.
1797
1798 2010-06-21  Thomas Quinot  <quinot@adacore.com>
1799
1800         * sem_ch9.adb, checks.adb, sem_util.adb, sem_util.ads, sem_res.adb,
1801         sem_attr.adb (Get_E_First_Or_Last): Use attribute references on E to
1802         extract bounds, to ensure that we get the proper captured values,
1803         rather than an expression that may have changed value since the point
1804         where the subtype was elaborated.
1805         (Find_Body_Discriminal): New utility subprogram to share code between...
1806         (Eval_Attribute): For the case of a subtype bound that references a
1807         discriminant of the current concurrent type, insert appropriate
1808         discriminal reference.
1809         (Resolve_Entry.Actual_Index_Type.Actual_Discriminant_Ref): For a
1810         requeue to an entry in a family in the current task, use corresponding
1811         body discriminal. 
1812         (Analyze_Accept_Statement): Rely on expansion of attribute references
1813         to insert proper discriminal references in range check for entry in
1814         family.
1815
1816 2010-06-21  Emmanuel Briot  <briot@adacore.com>
1817
1818         * s-regpat.adb (Compile): Fix handling of big patterns.
1819
1820 2010-06-21  Robert Dewar  <dewar@adacore.com>
1821
1822         * a-tifiio.adb: Minor reformatting.
1823
1824 2010-06-21  Pascal Obry  <obry@adacore.com>
1825
1826         * prj-nmsc.adb (Search_Directories): Use the non-translated directory
1827         path to open it.
1828
1829 2010-06-21  Javier Miranda  <miranda@adacore.com>
1830
1831         * exp_cg.adb (Write_Call_Info): Fill the component sourcename using the
1832         external name.
1833
1834 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
1835
1836         * exp_ch4.adb (Expand_Concatenate): If an object declaration is created
1837         to hold the result, indicate that the target of the declaration does
1838         not need an initialization, to prevent spurious errors when
1839         Initialize_Scalars is enabled.
1840
1841 2010-06-21  Ed Schonberg  <schonberg@adacore.com>
1842
1843         * a-tifiio.adb (Put): In the procedure that performs I/O on a String,
1844         Fore is not bound by line length. The Fore parameter of the internal
1845         procedure that performs the operation is an integer.
1846
1847 2010-06-21  Thomas Quinot  <quinot@adacore.com>
1848
1849         * sem_res.adb, checks.adb: Minor reformatting.
1850
1851 2010-06-21  Emmanuel Briot  <briot@adacore.com>
1852
1853         * s-regpat.adb (Next_Instruction, Get_Next_Offset): Removed, merged
1854         into Get_Next.
1855         (Insert_Operator_Before): New subprogram, avoids duplicated code
1856         (Compile): Avoid doing two compilations when the pattern matcher ends
1857         up being small.
1858
1859 2010-06-21  Emmanuel Briot  <briot@adacore.com>
1860
1861         * s-regpat.adb: Improve debug traces
1862         (Dump): Change output format to keep it smaller.
1863
1864 2010-06-21  Javier Miranda  <miranda@adacore.com>
1865
1866         * exp_cg.adb (Generate_CG_Output): Disable redirection of standard
1867         output to the output file when this routine completes its work.
1868
1869 2010-06-20  Eric Botcazou  <ebotcazou@adacore.com>
1870
1871         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Use while instead of
1872         for loop.  Call build_constructor_from_list directly in the CICO case.
1873
1874 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
1875
1876         * freeze.adb (Build_And_Analyze_Renamed_Body): If the renaming
1877         declaration appears in the same unit and ealier than the renamed
1878         entity, retain generated body to prevent order-of-elaboration issues in
1879         gigi.
1880
1881 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
1882
1883         * s-tpoben.adb: Update comments.
1884
1885 2010-06-18  Robert Dewar  <dewar@adacore.com>
1886
1887         * debug.adb: Minor comment change.
1888
1889 2010-06-18  Javier Miranda  <miranda@adacore.com>
1890
1891         * exp_cg.adb: Code clean up.
1892         * debug.adb: Complete documentation of switch -gnatd.Z.
1893         * gcc-interface/misc.c (callgraph_info_file): Declare.
1894
1895 2010-06-18  Javier Miranda  <miranda@adacore.com>
1896
1897         * exp_cg.adb (Homonym_Suffix_Length): Minor code reorganization.
1898
1899 2010-06-18  Thomas Quinot  <quinot@adacore.com>
1900
1901         * sprint.ads: Minor reformatting.
1902         * output.ads: Update obsolete comment.
1903
1904 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
1905
1906         * freeze.adb (Build_And_Analyze_Renamed_Body): if the renamed entity is
1907         an external intrinsic operation (e.g. a GCC numeric function) indicate
1908         that the renaming entity has the same characteristics, so a call to it
1909         is properly expanded.
1910
1911 2010-06-18  Javier Miranda  <miranda@adacore.com>
1912
1913         * exp_cg.adb, exp_cg.ads, exp_disp.adb, gnat1drv.adb: Add initial
1914         support for dispatch table/callgraph info generation.
1915         * gcc-interface/Make-lang.in: Update dependencies.
1916
1917 2010-06-18  Robert Dewar  <dewar@adacore.com>
1918
1919         * exp_ch6.adb: Minor reformatting.
1920         * gnatname.adb: Add comment.
1921
1922 2010-06-18  Vincent Celier  <celier@adacore.com>
1923
1924         * gnatname.adb (Scan_Args): When --and is used, make sure that the
1925         dynamic tables in the newly allocated Argument_Data are properly
1926         initialized.
1927
1928 2010-06-18  Eric Botcazou  <ebotcazou@adacore.com>
1929
1930         * gnat1drv.adb: Fix comment.
1931
1932 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
1933
1934         * exp_ch6.adb (Expand_Inlined_Call): If the inlined subprogram is a
1935         renaming, re-expand the call with the renamed subprogram if that one
1936         is marked inlined as well.
1937
1938 2010-06-18  Gary Dismukes  <dismukes@adacore.com>
1939
1940         * gnat1drv.adb (Adjust_Global_Switches): Enable
1941         Use_Expression_With_Actions for AAMP and VM targets.
1942
1943 2010-06-18  Vincent Celier  <celier@adacore.com>
1944
1945         * prj-nmsc.adb (Process_Linker): Recognize response file format GCC.
1946
1947 2010-06-18  Thomas Quinot  <quinot@adacore.com>
1948
1949         * exp_ch4.adb: Minor reformatting.
1950
1951 2010-06-18  Javier Miranda  <miranda@adacore.com>
1952
1953         * debug.ads Add documentation on -gnatd.Z.
1954
1955 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
1956
1957         * sem_elim.adb: Proper error message on improperly eliminated instances
1958
1959 2010-06-18  Vincent Celier  <celier@adacore.com>
1960
1961         * prj.ads (Response_File_Format): New value GCC.
1962
1963 2010-06-18  Thomas Quinot  <quinot@adacore.com>
1964
1965         * gnat1drv.adb: Minor reformatting.
1966
1967 2010-06-18  Robert Dewar  <dewar@adacore.com>
1968
1969         * make.adb, sem_cat.adb: Minor reformatting.
1970         * sem_eval.adb: Fix typos.
1971
1972 2010-06-18  Pascal Obry  <obry@adacore.com>
1973
1974         * prj-nmsc.adb: Fix source filenames casing in debug output.
1975
1976 2010-06-18  Robert Dewar  <dewar@adacore.com>
1977
1978         * gnatcmd.adb: Minor reformatting.
1979
1980 2010-06-18  Robert Dewar  <dewar@adacore.com>
1981
1982         * sem_eval.adb (Eval_Conditional_Expression): Result is static if
1983         condition and both sub-expressions are static (and result is selected
1984         expression).
1985
1986 2010-06-18  Robert Dewar  <dewar@adacore.com>
1987
1988         * g-pehage.adb: Minor reformatting
1989
1990 2010-06-18  Pascal Obry  <obry@adacore.com>
1991
1992         * prj-nmsc.adb (Search_Directories): Insert canonical filenames into
1993         source hash table.
1994
1995 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
1996
1997         * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
1998         dependencies. Fix target pairs on darwin.
1999         (gnatlib-sjlj, gnatlib-zcx): Pass THREAD_KIND.
2000
2001 2010-06-18  Pascal Obry  <obry@adacore.com>
2002
2003         * make.adb, prj-nmsc.adb: Fix source filenames casing in debug output.
2004
2005 2010-06-18  Vincent Celier  <celier@adacore.com>
2006
2007         * gnatcmd.adb: For gnatcheck, add -gnatec= switch for a global
2008         configuration pragmas file and, if -U is not used, for a local one.
2009
2010 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2011
2012         * sem_elim.adb (Check_Eliminated): Use full information on entity name
2013         when it is given in the pragma by a selected component.
2014         (Check_For_Eliminated_Subprogram): Do no emit error if within a
2015         instance body that is itself within a generic unit.
2016         * sem_ch12.adb (Analyze_Subprogram_Instance): If the subprogram is
2017         eliminated, mark as well the anonymous subprogram that is its alias
2018         and appears within the wrapper package.
2019
2020 2010-06-18  Bob Duff  <duff@adacore.com>
2021
2022         * g-pehage.ads, g-pehage.adb (Produce): Clean up some of the code.
2023         Raise an exception if the output file cannot be opened. Add comments.
2024
2025 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2026
2027         * sem_cat.adb (Validate_Object_Declaration): A variable declaration is
2028         not illegal per E.2.2(7) if it occurs in the private part of a
2029         Remote_Types unit.
2030
2031 2010-06-18  Arnaud Charlet  <charlet@adacore.com>
2032
2033         * par-ch9.adb, sem_aggr.adb, sem_ch3.adb, layout.adb, sem_ch4.adb,
2034         sem_ch5.adb, sem_mech.adb, exp_util.adb, par-ch10.adb, sem_ch6.adb,
2035         par-ch11.adb, sem_ch7.adb, par-prag.adb, exp_disp.adb, par-ch12.adb,
2036         sem_ch8.adb, style.adb, sem_ch9.adb, sem_ch10.adb, prep.adb,
2037         sem_warn.adb, par-util.adb, scng.adb, sem_eval.adb, checks.adb,
2038         sem_prag.adb, sem_ch12.adb, styleg.adb, sem_ch13.adb, par-ch3.adb,
2039         par-tchk.adb, freeze.adb, sfn_scan.adb, par-ch4.adb, sem_util.adb,
2040         sem_res.adb, par-ch5.adb, lib-xref.adb, sem_attr.adb, par-ch6.adb,
2041         sem_disp.adb, prepcomp.adb, par-ch7.adb, sem_elab.adb, exp_ch4.adb,
2042         errout.ads: Update comments. Minor reformatting.
2043
2044         * g-spipat.adb, a-swunau.adb, a-swunau.ads, g-spitbo.adb,
2045         a-szunau.adb, a-szunau.ads, a-stunau.adb, a-stunau.ads,
2046         a-strunb.adb (Big_String. Big_String_Access): New type.
2047
2048         * par-labl.adb, restrict.adb, s-osinte-hpux-dce.ads, sem_ch11.adb,
2049         exp_pakd.adb, s-filofl.ads, par-endh.adb, exp_intr.adb, sem_cat.adb,
2050         sem_case.adb, exp_ch11.adb, s-osinte-linux.ads: Fix copyright notices.
2051
2052 2010-06-18  Geert Bosch  <bosch@adacore.com>
2053
2054         * i-forbla-darwin.adb: Include -lgnala and -lm in linker options for
2055         Darwin.
2056
2057 2010-06-18  Robert Dewar  <dewar@adacore.com>
2058
2059         * gnat1drv.adb (Adjust_Global_Switches): Set Use_Expression_With_Actions
2060         true for gcc.
2061
2062 2010-06-18  Robert Dewar  <dewar@adacore.com>
2063
2064         * sprint.adb: Minor format change for N_Expression_With_Actions.
2065         * repinfo.adb: Minor reformatting.
2066
2067 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2068
2069         * sem_elim.adb (Check_Eliminated): If within a subunit, use
2070         Defining_Entity to obtain the name of the entity in the proper body, to
2071         properly handle both separate packages and subprograms.
2072
2073 2010-06-18  Emmanuel Briot  <briot@adacore.com>
2074
2075         * prj-nmsc.adb (Check_File): New parameter Display_Path.
2076
2077 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2078
2079         * g-socket.adb, g-socket.ads (Null_Selector): New object.
2080
2081 2010-06-18  Pascal Obry  <obry@adacore.com>
2082
2083         * gnat_ugn.texi: Minor clarification.
2084
2085 2010-06-18  Emmanuel Briot  <briot@adacore.com>
2086
2087         * prj-nmsc.adb (Find_Source_Dirs): Minor refactoring to avoid duplicate
2088         code when using the project dir as the source dir.
2089         (Search_Directories): use the normalized name for the source directory,
2090         where symbolic names have potentially been resolved.
2091
2092 2010-06-18  Robert Dewar  <dewar@adacore.com>
2093
2094         * exp_ch4.adb (Expand_N_Conditional_Expression): Clear Actions field
2095         when we create N_Expression_With_Actions node.
2096         (Expand_Short_Circuit): Ditto.
2097
2098 2010-06-18  Robert Dewar  <dewar@adacore.com>
2099
2100         * exp_util.adb: Minor reformatting.
2101
2102 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2103
2104         * types.ads: Clean up obsolete comments
2105         * tbuild.adb: Minor reformatting.
2106         * exp_ch5.adb, sem_intr.adb, sem_ch10.adb, rtsfind.adb, s-shasto.adb,
2107         exp_strm.adb, aa_drive.adb: Minor reformatting.
2108         * sem_res.adb (Is_Predefined_Operator): An operator that is an imported
2109         intrinsic with an Interface_Name denotes an imported back-end builtin,
2110         and must be rewritten into a call, not left in the tree as an operator,
2111         so return False in that case.
2112
2113 2010-06-18  Eric Botcazou  <ebotcazou@adacore.com>
2114
2115         * exp_util.adb (Remove_Side_Effects): Make a copy for an allocator.
2116         
2117 2010-06-18  Robert Dewar  <dewar@adacore.com>
2118
2119         * scos.ads: Add proposed output for case expression
2120
2121 2010-06-18  Jose Ruiz  <ruiz@adacore.com>
2122
2123         * gnat_ugn.texi: Document that, when using the RTX compiler to generate
2124         RTSS modules, we need to use the Microsoft linker.
2125
2126 2010-06-18  Robert Dewar  <dewar@adacore.com>
2127
2128         * checks.adb (Safe_To_Capture_In_Parameter_Value): Deal with case
2129         expression (cannot count on a particular branch being executed).
2130         * exp_ch4.adb (Expand_N_Case_Expression): New procedure.
2131         * exp_ch4.ads (Expand_N_Case_Expression): New procedure.
2132         * exp_util.adb (Insert_Actions): Deal with proper insertion of actions
2133         within case expression.
2134         * expander.adb (Expand): Add call to Expand_N_Case_Expression
2135         * par-ch4.adb Add calls to P_Case_Expression at appropriate points
2136         (P_Case_Expression): New procedure
2137         (P_Case_Expression_Alternative): New procedure
2138         * par.adb (P_Case_Expression): New procedure
2139         * par_sco.adb (Process_Decisions): Add dummy place holder entry for
2140         N_Case_Expression.
2141         * sem.adb (Analyze): Add call to Analyze_Case_Expression
2142         * sem_case.ads (Analyze_Choices): Also used for case expressions now,
2143         this is a documentation change only.
2144         * sem_ch4.ads, sem_ch4.adb (Analyze_Case_Expression): New procedure.
2145         * sem_ch6.adb (Fully_Conformant_Expressions): Add handling of case
2146         expressions.
2147         * sem_eval.ads, sem_eval.adb (Eval_Case_Expression): New procedure.
2148         * sem_res.adb (Resolve_Case_Expression): New procedure.
2149         * sem_scil.adb (Find_SCIL_Node): Add processing for
2150         N_Case_Expression_Alternative.
2151         * sinfo.ads, sinfo.adb (N_Case_Expression): New node.
2152         (N_Case_Expression_Alternative): New node.
2153         * sprint.adb (Sprint_Node_Actual): Add processing for new nodes
2154         N_Case_Expression and N_Case_Expression_Alternative.
2155
2156 2010-06-18  Robert Dewar  <dewar@adacore.com>
2157
2158         * par-ch7.adb, sem_warn.adb, types.ads, par-ch3.adb: Minor reformatting.
2159         * gnat1drv.adb: Fix typo.
2160
2161 2010-06-18  Robert Dewar  <dewar@adacore.com>
2162
2163         * par-prag.adb (Prag, case Style_Checks): All_Checks sets gnat style
2164         for -gnatg.
2165         * sem_prag.adb (Analyze_Pragma, case Style_Checks): All_Checks sets
2166         gnat style for -gnatg.
2167         * gnat_rm.texi: Add documentation for ALL_CHECKS in GNAT mode.
2168
2169 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2170
2171         * sem_eval.adb (Test_In_Range): New subprogram, factoring duplicated
2172         code between...
2173         (Is_In_Range, Is_Out_Of_Range): Reimplement in terms of call to
2174         Test_In_Range.
2175
2176 2010-06-18  Robert Dewar  <dewar@adacore.com>
2177
2178         * sprint.adb: Minor change in output format for expression wi actions.
2179         * par-ch3.adb: Minor code reorganization.  Minor reformatting.
2180         * sem_ch5.adb: Minor comment fix.
2181
2182 2010-06-18  Robert Dewar  <dewar@adacore.com>
2183
2184         * debug.adb: New debug flag -gnatd.L to control
2185         Back_End_Handles_Limited_Types.
2186         * exp_ch4.adb (Expand_N_Conditional_Expression): Let back end handle
2187         limited case if Back_End_Handles_Limited_Types is True.
2188         (Expand_N_Conditional_Expression): Use N_Expression_With_Actions to
2189         simplify expansion if Use_Expression_With_Actions is True.
2190         * gnat1drv.adb (Adjust_Global_Switches): Set
2191         Back_End_Handles_Limited_Types.
2192         * opt.ads (Back_End_Handles_Limited_Types): New flag.
2193
2194 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2195
2196         * sem_res.adb (Rewrite_Operator_As_Call): Do not rewrite user-defined
2197         intrinsic operator if expansion is not enabled, because in an
2198         instantiation the original operator must be present to verify the
2199         legality of the operation.
2200
2201 2010-06-18  Robert Dewar  <dewar@adacore.com>
2202
2203         * exp_disp.adb, sem_ch12.adb: Minor reformatting
2204
2205 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2206
2207         * exp_util.adb (Make_Subtype_From_Expr): If the unconstrained type is
2208         the class-wide type for a private extension, and the completion is a
2209         subtype, set the type of the class-wide type to the base type of the
2210         full view.
2211
2212 2010-06-18  Robert Dewar  <dewar@adacore.com>
2213
2214         * g-socket.ads, sem_aggr.adb, einfo.ads, sem_elim.adb,
2215         sem_intr.adb, sem_eval.adb: Minor reformatting
2216
2217 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2218
2219         * sem_type.adb (Is_Ancestor): If either type is private, examine full
2220         view.
2221
2222 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2223
2224         * g-socket.adb, g-socket.ads (Check_Selector): Make Selector an IN
2225         parameter rather than IN OUT.
2226
2227 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2228
2229         * exp_ch6.adb: Add extra guard.
2230
2231 2010-06-18  Gary Dismukes  <dismukes@adacore.com>
2232
2233         * sem_util.adb (Object_Access_Level): For Ada 2005, determine the
2234         accessibility level of a function call from the level of the innermost
2235         enclosing dynamic scope.
2236         (Innermost_Master_Scope_Depth): New function to find the depth of the
2237         nearest dynamic scope enclosing a node.
2238
2239 2010-06-18  Tristan Gingold  <gingold@adacore.com>
2240
2241         * adaint.c: Make ATTR_UNSET static as it is not used outside this file.
2242
2243 2010-06-18  Thomas Quinot  <quinot@adacore.com>
2244
2245         * g-socket.ads: Minor reformatting.
2246
2247 2010-06-18  Vincent Celier  <celier@adacore.com>
2248
2249         * make.adb (Must_Compile): New Boolean global variable
2250         (Main_On_Command_Line): New Boolean global variable
2251         (Collect_Arguments_And_Compile): Do compile if Must_Compile is True,
2252         even when the project is externally built.
2253         (Start_Compile_If_Possible): Compile in -aL directories if
2254         Check_Readonly_Files is True. Do compile if Must_Compile is True, even
2255         when the project is externally built.
2256         (Gnatmake): Set Must_Compile and Check_Readonly_Files to True when
2257         invoked with -f -u and one or several mains on the command line.
2258         (Scan_Make_Arg): Set Main_On_Command_Line to True when at least one main
2259         is specified on the command line.
2260
2261 2010-06-18  Ed Schonberg  <schonberg@adacore.com>
2262
2263         * sem_ch6.adb (Build_Body_For_Inline): Handle extended_return_statements
2264         * exp_ch6.adb (Expand_Inlined_Call): when possible, inline a body
2265         containing extented_return statements.
2266         * exp_util.adb (Make_CW_Equivalent_Type): If the root type is already
2267         constrained, do not build subtype declaration.
2268
2269 2010-06-18  Robert Dewar  <dewar@adacore.com>
2270
2271         * sem_res.adb (Analyze_Indexed_Component, Analyze_Selected_Component):
2272         Warn on assigning to packed atomic component.
2273
2274 2010-06-18  Robert Dewar  <dewar@adacore.com>
2275
2276         * sem_util.ads: Minor reformatting
2277         * einfo.ads, einfo.adb: Minor doc clarification (scope of decls in
2278         Expression_With_Actions).
2279         * snames.ads-tmpl: Minor comment fix
2280
2281 2010-06-18  Robert Dewar  <dewar@adacore.com>
2282
2283         * sem_prag.adb (Diagnose_Multiple_Pragmas): New procedure
2284         (Set_Imported): Use Import_Interface_Present to control message output
2285         * sinfo.ads, sinfo.adb (Import_Interface_Present): New flag
2286         * gnat_rm.texi: Document that we can have pragma Import and pragma
2287         Interface for the same subprogram.
2288
2289 2010-06-18  Robert Dewar  <dewar@adacore.com>
2290
2291         * lib-xref.adb (Generate_Reference): Fix bad reference to
2292         Has_Pragma_Unreferenced (clients should always use Has_Unreferenced).
2293
2294 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
2295
2296         * gcc-interface/trans.c (set_gnu_expr_location_from_node): New static
2297         function.
2298         (gnat_to_gnu) <N_Expression_With_Actions>: New case.
2299         Use set_gnu_expr_location_from_node to set location information on the
2300         result.
2301
2302 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
2303
2304         * gcc-interface/Make-lang.in: Update dependencies.
2305
2306 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2307
2308         * sem_util.adb (Is_Atomic_Object): Predicate does not apply to
2309         subprograms.
2310
2311 2010-06-17  Robert Dewar  <dewar@adacore.com>
2312
2313         * gnat_rm.texi, gnat_ugn.texi: Clean up documentation on warning and
2314         style check messages.
2315         * sem_res.adb (Resolve_Call): Don't call
2316         Check_For_Eliminated_Subprogram if we are analyzing within a spec
2317         expression.
2318
2319 2010-06-17  Robert Dewar  <dewar@adacore.com>
2320
2321         * debug.adb: Add documentation for debug flags .X and .Y
2322         * exp_ch4.adb (Expand_Short_Circuit_Operator): Use
2323         Use_Expression_With_Actions.
2324         * gnat1drv.adb (Adjust_Global_Switches): Set
2325         Use_Expression_With_Actions.
2326         * opt.ads (Use_Expression_With_Actions): New switch.
2327
2328 2010-06-17  Robert Dewar  <dewar@adacore.com>
2329
2330         * exp_intr.adb: Minor code reorganization (use UI_Max)
2331         * sem_intr.adb: use underlying type to check legality.
2332         * einfo.adb (Known_Static_Esize): False for generic types
2333         (Known_Static_RM_Size): False for generic types
2334         * einfo.ads (Known_Static_Esize): False for generic types
2335         (Known_Static_RM_Size): False for generic types
2336
2337 2010-06-17  Robert Dewar  <dewar@adacore.com>
2338
2339         * exp_ch4.ads: Minor code reorganization (specs in alpha order).
2340
2341 2010-06-17  Robert Dewar  <dewar@adacore.com>
2342
2343         * debug.adb: New debug flag -gnatd.X to use Expression_With_Actions
2344         node when expanding short circuit form with actions present for right
2345         opnd.
2346         * exp_ch4.adb: Minor reformatting
2347         (Expand_Short_Circuit_Operator): Use new Expression_With_Actions node if
2348         right opeand has actions present, and debug flag -gnatd.X is set.
2349         * exp_util.adb (Insert_Actions): Handle case of Expression_With_Actions
2350         node.
2351         * nlists.adb (Prepend_List): New procedure
2352         (Prepend_List_To): New procedure
2353         * nlists.ads (Prepend_List): New procedure
2354         (Prepend_List_To): New procedure
2355         * sem.adb: Add processing for Expression_With_Actions
2356         * sem_ch4.adb (Analyze_Expression_With_Actions): New procedure
2357         * sem_ch4.ads (Analyze_Expression_With_Actions): New procedure
2358         * sem_res.adb: Add processing for Expression_With_Actions.
2359         * sem_scil.adb: Add processing for Expression_With_Actions
2360         * sinfo.ads, sinfo.adb (N_Expression_With_Actions): New node.
2361         * sprint.ads, sprint.adb: Add processing for Expression_With_Actions
2362
2363 2010-06-17  Doug Rupp  <rupp@adacore.com>
2364
2365         * sem_intr.adb (Check_Intrinsic_Operator): Check that the types
2366         involved both have underlying integer types.
2367         * exp_intr.adb (Expand_Binary_Operator) New subprogram to expand a call
2368         to an intrinsic operator when the operand types or sizes are not
2369         identical.
2370         * s-auxdec-vms_64.ads: Revert "+" "-" ops back to Address now that
2371         64/32 Address/Integer works.
2372
2373 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2374
2375         * sem_ch12.adb (Mark_Context): Refine placement of Withed_Body flag, so
2376         that it marks a unit as needed by a spec only if the corresponding
2377         instantiation appears in that spec (and not in the corresponding body).
2378         * sem_elim.adb (Check_Eliminated): If we are within a subunit, the name
2379         in the pragma Eliminate has been parsed as a child unit, but the
2380         current compilation unit is in fact the parent in which the subunit is
2381         embedded.
2382
2383 2010-06-17  Vincent Celier  <celier@adacore.com>
2384
2385         * gnat_rm.texi: Fix typo
2386
2387 2010-06-17  Robert Dewar  <dewar@adacore.com>
2388
2389         * sem_util.adb: Minor reformatting
2390
2391 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2392
2393         * sem.adb (Do_Withed_Unit): if the unit in the with_clause is a generic
2394         instance, the clause now denotes the instance body. Traverse the
2395         corresponding spec because there may be no other dependence that will
2396         force the traversal of its own context.
2397
2398 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2399
2400         * sem_ch10.adb (Is_Ancestor_Unit): Subsidiary to
2401         Install_Limited_Context_Clauses, to determine whether a limited_with in
2402         some parent of the current unit designates some other parent, in which
2403         case the limited_with clause must not be installed.
2404         (In_Context): Refine test.
2405
2406 2010-06-17  Gary Dismukes  <dismukes@adacore.com>
2407
2408         * sem_util.adb (Collect_Primitive_Operations): In the of an untagged
2409         type with a dispatching equality operator that is overridden (for a
2410         tagged full type), don't include the overridden equality in the list of
2411         primitives. The overridden equality is detected by testing for an
2412         Aliased field that references the overriding equality.
2413
2414 2010-06-17  Robert Dewar  <dewar@adacore.com>
2415
2416         * freeze.adb: Minor reformatting.
2417
2418 2010-06-17  Joel Brobecker  <brobecker@adacore.com brobecker>
2419
2420         * gnat_ugn.texi: Add a section introducing gdbserver.
2421
2422 2010-06-17  Thomas Quinot  <quinot@adacore.com>
2423
2424         * sem_res.adb, sem_ch4.adb, s-stoele.adb, par-labl.adb: Minor
2425         reformatting.
2426
2427 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2428
2429         * sem_aggr.adb (Valid_Ancestor_Type): handle properly the case of a
2430         constrained discriminated parent that is a private type.
2431         (Analyze_Record_Aggregate): when collecting inherited discriminants,
2432         handle properly an ancestor type that is a constrained private type.
2433
2434 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2435
2436         * sem_util.adb (Enclosing_Subprogram): If the called subprogram is
2437         protected, use the protected_subprogram_body only if the original
2438         subprogram has not been eliminated.
2439
2440 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2441
2442         * freeze.adb (Freeze_Expression): The designated type of an
2443         access_to_suprogram type can only be frozen if all types in its profile
2444         are fully defined.
2445
2446 2010-06-17  Robert Dewar  <dewar@adacore.com>
2447
2448         * par.adb: Minor comment fix
2449         * sem_aggr.adb, sem_ch3.adb: Minor reformatting
2450
2451 2010-06-17  Doug Rupp  <rupp@adacore.com>
2452
2453         * s-auxdec-vms_64.ads: Revert Integer to Long_Integer change, instead
2454         change Address to Short_Address in functions where both must be the
2455         same size for intrinsics to work.
2456
2457 2010-06-17  Thomas Quinot  <quinot@adacore.com>
2458
2459         * sem_ch4.adb (Analyze_Selected_Component): A selected component may
2460         not denote a (private) component of a protected object.
2461
2462 2010-06-17  Bob Duff  <duff@adacore.com>
2463
2464         * par-labl.adb (Try_Loop): Test whether the label and the goto are in
2465         the same list.
2466
2467 2010-06-17  Joel Brobecker  <brobecker@adacore.com brobecker>
2468
2469         * gnat_ugn.texi: Update the documentation about GDB re: exception
2470         catchpoints.
2471
2472 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
2473
2474         * gnatvsn.ads: Bump to 4.6 version.
2475
2476 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2477
2478         * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): The
2479         designated type of the generated pointer is the type of the original
2480         expression, not that of the function call itself, because the return
2481         type may be an untagged  derived type and the function may be an
2482         inherited operation.
2483
2484 2010-06-17  Robert Dewar  <dewar@adacore.com>
2485
2486         * exp_ch4.adb: Minor reformatting.
2487
2488 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2489
2490         * sinfo.ads, sinfo.adb (Inherited_Discriminant): New flag on
2491         N_Component_Association nodes, to indicate that a component association
2492         of an extension aggregate denotes the value of a discriminant of an
2493         ancestor type that has been constrained by the derivation.
2494         * sem_aggr.adb (Discr_Present): use Inherited_Discriminant to prevent a
2495         double expansion of the aggregate appearing in a context that delays
2496         expansion, to prevent double insertion of discriminant values when the
2497         aggregate is reanalyzed.
2498
2499 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
2500
2501         * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not use
2502         Allocator as the Related_Node of Return_Obj_Access in call to
2503         Make_Temporary below as this would create a sort of infinite
2504         "recursion".
2505
2506 2010-06-17  Ben Brosgol  <brosgol@adacore.com>
2507
2508         * gnat_ugn.texi: Update gnatcheck doc.
2509
2510 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2511
2512         * sem_ch3.adb (Build_Incomplete_Type_Declaration): If there is an
2513         incomplete view of the type that is not tagged, and the full type is a
2514         tagged extension, create class_wide type now, and warn that the
2515         incomplete view should be tagged as well.
2516
2517 2010-06-17  Vincent Celier  <celier@adacore.com>
2518
2519         * gnatcmd.adb (Non_VMS_Usage): Do not issue usage for gnat sync.
2520         Update the last line of the usage, indicating what commands do not
2521         accept project file switches.
2522         * vms_conv.adb: Do not issue usage line for GNAT SYNC
2523         * vms_data.ads: Fix errors in the qualifiers /LOGFILE and /MAIN of
2524         GNAT ELIM.
2525         * gnat_ugn.texi: Document the relaxed rules for library directories in
2526         externally built library projects.
2527
2528 2010-06-17  Doug Rupp  <rupp@adacore.com>
2529
2530         * s-auxdec-vms_64.ads: Make boolean and arithmetic operations intrinsic
2531         where possible.
2532         * s-auxdec-vms-alpha.adb: Remove kludges for aforemention.
2533         * gcc-interface/Makefile.in: Update VMS target pairs.
2534
2535 2010-06-17  Vasiliy Fofanov  <fofanov@adacore.com>
2536
2537         * adaint.c: Reorganized in order to avoid use of GetProcessId to stay
2538         compatible with Windows NT 4.0 which doesn't provide this function.
2539
2540 2010-06-17  Vincent Celier  <celier@adacore.com>
2541
2542         * ali-util.adb (Time_Stamp_Mismatch): In Verbose mode, if there is
2543         different timestamps but the checksum is the same, issue a short
2544         message saying so.
2545
2546 2010-06-17  Arnaud Charlet  <charlet@adacore.com>
2547
2548         * s-interr.adb (Finalize): If the Abort_Task signal is set to system,
2549         it means that we cannot reset interrupt handlers since this would
2550         require potentially sending the abort signal to the Server_Task.
2551
2552 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2553
2554         * exp_ch4.adb: expand NOT for VMS types.
2555         * sem_util.adb: Use OpenVMS_On_Target for IS_VMS_Operator.
2556
2557 2010-06-17  Sergey Rybin  <rybin@adacore.com>
2558
2559         * vms_data.ads: Add qualifier for '--no-elim-dispatch' gnatelim option.
2560         * gnat_ugn.texi (gnatelim): add description for --no-elim-dispatch
2561         option.
2562
2563 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2564
2565         * exp_ch6.adb (Expand_Call): Do not expand a call to an internal
2566         protected operation if the subprogram has been eliminated.
2567
2568 2010-06-17  Vincent Celier  <celier@adacore.com>
2569
2570         * prj-nmsc.adb (Check_Library_Attributes): Allow the different
2571         directories associated with a library to be any directory when the
2572         library project is externally built.
2573
2574 2010-06-17  Vincent Celier  <celier@adacore.com>
2575
2576         * make.adb (Check): If switch -m is used, deallocate the memory that
2577         may be allocated when computing the checksum.
2578
2579 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
2580
2581         * g-socthi-mingw.adb (C_Recvmsg): Add 'use type' clause for C.size_t;
2582         (C_Sendmsg): Likewise.
2583
2584 2010-06-17  Thomas Quinot  <quinot@adacore.com>
2585
2586         * sem_res.adb: Update comments.
2587
2588 2010-06-17  Vincent Celier  <celier@adacore.com>
2589
2590         * back_end.adb (Scan_Compiler_Arguments): Process last argument
2591
2592 2010-06-17  Robert Dewar  <dewar@adacore.com>
2593
2594         * exp_ch3.adb, exp_ch6.adb, exp_smem.adb, exp_util.adb: Use Ekind_In.
2595         * layout.adb, freeze.adb: Use Make_Temporary.
2596
2597 2010-06-17  Jerome Lambourg  <lambourg@adacore.com>
2598
2599         * exp_ch11.adb (Expand_N_Raise_Statement): Expand raise statements in
2600         .NET/JVM normally as this is now perfectly supported by the backend.
2601
2602 2010-06-17  Pascal Obry  <obry@adacore.com>
2603
2604         * gnat_rm.texi: Fix minor typo, remove duplicate blank lines.
2605
2606 2010-06-17  Vincent Celier  <celier@adacore.com>
2607
2608         * make.adb (Collect_Arguments_And_Compile): Create include path file
2609         only when -x is specified.
2610         (Gnatmake): Ditto
2611         * opt.ads (Use_Include_Path_File): New Boolean flag, initialized to
2612         False.
2613         * prj-env.adb (Set_Ada_Paths): New Boolean parameters Include_Path and
2614         Objects_Path, defaulted to True. Only create include path file if
2615         Include_Path is True, only create objects path file if Objects_Path is
2616         True.
2617         * prj-env.ads (Set_Ada_Paths): New Boolean parameters Include_Path and
2618         Objects_Path, defaulted to True.
2619         * switch-m.adb (Scan_Make_Switches): Set Use_Include_Path_File to True
2620         when -x is used.
2621
2622 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2623
2624         * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
2625         determine whether it has the controlling type, when the formal is an
2626         access parameter.
2627
2628 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
2629
2630         * s-crtl.ads (ssize_t): New type.
2631         (read): Fix signature.
2632         (write): Likewise.
2633         * g-socthi.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
2634         'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
2635         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
2636         (C_Sendmsg): Likewise.
2637         * g-socthi.adb (Syscall_Recvmsg): Likewise.
2638         (Syscall_Sendmsg): Likewise.
2639         (C_Recvmsg): Likewise.
2640         (C_Sendmsg): Likewise.
2641         * g-socthi-mingw.ads: Add 'with System.CRTL' clause.  Remove ssize_t
2642         and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
2643         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
2644         (C_Sendmsg): Likewise.
2645         * g-socthi-mingw.adb (C_Recvmsg): Likewise.
2646         (C_Sendmsg): Likewise.
2647         * g-socthi-vms.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
2648         'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
2649         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
2650         (C_Sendmsg): Likewise.
2651         * g-socthi-vms.adb (C_Recvmsg): Likewise.
2652         (C_Sendmsg): Likewise.
2653         * g-socthi-vxworks.ads Add 'with System.CRTL' clause.  Remove ssize_t
2654         and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
2655         (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
2656         (C_Sendmsg): Likewise.
2657         * g-socthi-vxworks.adb (C_Recvmsg): Likewise.
2658         (C_Sendmsg): Likewise.
2659         * g-sercom-linux.adb (Read): Use correct types to call 'read'.
2660         (Write): Likewise to call 'write'.
2661         * s-os_lib.adb (Read): Use correct type to call System.CRTL.read.
2662         (Write): Use correct type to call System.CRTL.write.
2663         * s-tasdeb.adb (Write): Likewise.
2664
2665 2010-06-17  Vincent Celier  <celier@adacore.com>
2666
2667         * prj-proc.adb (Copy_Package_Declarations): Change argument name
2668         Naming_Restricted to Restricted. If Restricted is True, do not copy the
2669         value of attribute Linker_Options.
2670
2671 2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>
2672
2673         * gcc-interface/trans.c (push_stack, pop_stack): Delete.
2674         (Case_Statement_to_gnu): Adjust.
2675         (Loop_Statement_to_gnu): Likewise.
2676         (Subprogram_Body_to_gnu): Likewise.
2677         (Handled_Sequence_Of_Statements_to_gnu): Likewise.
2678         (Compilation_Unit_to_gnu): Likewise.
2679
2680 2010-06-17  Robert Dewar  <dewar@adacore.com>
2681
2682         * exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb,
2683         exp_sel.adb, exp_util.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb,
2684         sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb, sem_ch9.adb,
2685         sem_dist.adb, sem_util.adb: Use Make_Temporary
2686         * itypes.ads, tbuild.ads: Minor comment update
2687         * exp_ch9.adb, exp_dist.adb: Minor reformatting
2688
2689 2010-06-17  Thomas Quinot  <quinot@adacore.com>
2690
2691         * exp_imgv.adb, exp_ch7.ads: Minor reformatting.
2692
2693 2010-06-17  Robert Dewar  <dewar@adacore.com>
2694
2695         * exp_ch9.adb, exp_disp.adb, exp_dist.adb: Use Make_Temporary.
2696
2697 2010-06-17  Thomas Quinot  <quinot@adacore.com>
2698
2699         * sprint.adb (pg): Set Dump_Freeze_Null, to be consistent with -gnatdg.
2700
2701 2010-06-17  Robert Dewar  <dewar@adacore.com>
2702
2703         * exp_ch6.adb, exp_ch7.adb, exp_ch5.adb: Use Make_Temporary
2704         * tbuild.ads (Make_Temporary): More comment updates
2705         * tbuild.adb: Minor reformatting
2706
2707 2010-06-17  Robert Dewar  <dewar@adacore.com>
2708
2709         * checks.adb, exp_aggr.adb, exp_atag.adb, exp_attr.adb, exp_ch11.adb,
2710         exp_ch3.adb, exp_ch4.adb: Minor code reorganization.
2711         Use Make_Temporary.
2712         * tbuild.ads, tbuild.adb (Make_Temporary): Clean up, use Entity_Id
2713         instead of Node_Id.
2714         (Make_Temporary): Add more extensive documentation
2715
2716 2010-06-17  Robert Dewar  <dewar@adacore.com>
2717
2718         * sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb,
2719         sem_warn.adb, sem_eval.adb: Minor reformatting.  Use Ekind_In.
2720         (Set_Slice_Subtype): Explicitly freeze the slice's itype at the point
2721         where the slice's actions are inserted.
2722         (Decompose_Expr): Account for possible rewriting of slice bounds
2723         resulting from side effects suppression caused by the above freezing,
2724         so that folding of bounds is preserved by such rewriting.
2725
2726 2010-06-17  Robert Dewar  <dewar@adacore.com>
2727
2728         * einfo.ads, einfo.adb (Get_Record_Representation_Clause): New function.
2729         * freeze.adb (Freeze_Record_Type): Add call to
2730         Check_Record_Representation_Clause.
2731         * sem_ch13.adb (Check_Record_Representation_Clause): New function
2732         (Analyze_Record_Representation_Clause): Split out overlap code into this
2733         new function.
2734         (Check_Component_Overlap): Moved inside
2735         Check_Record_Representation_Clause.
2736         * sem_ch13.ads (Check_Record_Representation_Clause): New function.
2737
2738 2010-06-17  Robert Dewar  <dewar@adacore.com>
2739
2740         * back_end.adb, sem_res.adb, switch-c.adb, sem_scil.adb: Minor
2741         reformatting.
2742         * sem_attr.adb, sem_cat.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb,
2743         sem_eval.adb: Use Ekind_In
2744
2745 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2746
2747         * sem_ch8.adb: better error message for illegal inherited discriminant
2748
2749 2010-06-17  Vincent Celier  <celier@adacore.com>
2750
2751         * bindusg.adb: Remove lines for -A and -C
2752         * gnat_ugn.texi: Remove all documentation and examples of switches -A
2753         and -C for gnatbind and gnatlink.
2754         * gnatlink.adb (Usage): Remove lines for -A and -C
2755         * switch-b.adb (Scan_Binder_Switches): Issue warning when switch -C is
2756         specified.
2757         * gcc-interface/Make-lang.in: Update dependencies.
2758
2759 2010-06-17  Vincent Celier  <celier@adacore.com>
2760
2761         * back_end.adb (Scan_Compiler_Arguments): Put all arguments in new
2762         local Argument_List variable Args.
2763         * switch-c.adb (Scan_Front_End_Switches): New Argument_List argument
2764         Args.
2765         (Switch_Subsequently_Cancelled): New Argument_List argument Args. Look
2766         for subsequent switches in Args.
2767         * switch-c.ads (Scan_Front_End_Switches): New Argument_List argument
2768         Args.
2769         * gcc-interface/Make-lang.in: Update dependencies.
2770
2771 2010-06-17  Robert Dewar  <dewar@adacore.com>
2772
2773         * einfo.adb: Minor code fix, allow E_Class_Wide_Type for
2774         Equivalent_Type to match documentation.
2775
2776 2010-06-17  Robert Dewar  <dewar@adacore.com>
2777
2778         * sem_ch6.adb, sem_ch7.adb: Minor reformatting.
2779         * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_ch10.adb, sem_ch12.adb,
2780         sem_ch4.adb, sem_ch8.adb, sem_ch13.adb: Make use of Ekind_In.
2781
2782 2010-06-17  Thomas Quinot  <quinot@adacore.com>
2783
2784         * sem_res.adb (Set_Slice_Subtype): Always freeze the slice's itype.
2785
2786 2010-06-17  Thomas Quinot  <quinot@adacore.com>
2787
2788         * freeze.adb (Freeze_Expression): Short circuit operators are valid
2789         freeze node insertion points.
2790
2791 2010-06-17  Robert Dewar  <dewar@adacore.com>
2792
2793         * switch-c.ads, switch-c.adb, sem_ch13.adb: Minor reformatting.
2794         * sem_ch12.adb: Add pragmas Assert and Check to previous change.
2795
2796 2010-06-17  Gary Dismukes  <dismukes@adacore.com>
2797
2798         * layout.adb (Layout_Type): Broaden test for setting an array type's
2799         Component_Size to include all scalar types, not just discrete types
2800         (components of real types were missed).
2801         * sem_ch3.adb (Constrain_Index): Add missing setting of First_Literal
2802         on the itype created for an index (consistent with Make_Index and
2803         avoids possible Assert_Failures).
2804
2805 2010-06-17  Robert Dewar  <dewar@adacore.com>
2806
2807         * atree.ads, atree.adb: Add 6-parameter version of Ekind_In
2808         * einfo.adb: Minor code reformatting (use Ekind_In)
2809
2810 2010-06-17  Robert Dewar  <dewar@adacore.com>
2811
2812         * sem_warn.adb (Test_Ref): Abandon scan if access subprogram parameter
2813         found.
2814
2815 2010-06-17  Vincent Celier  <celier@adacore.com>
2816
2817         * back_end.adb: Minor comment updates
2818         * switch-c.adb: Remove dependencies on gcc C sources
2819         * gcc-interface/Make-lang.in: Add a-comlin.o to the object file list
2820         for the compiler.
2821
2822 2010-06-17  Ed Schonberg  <schonberg@adacore.com>
2823
2824         * sem_ch12.adb: propagate Pragma_Enabled flag to generic.
2825         * get_scos.adb: Set C2 flag in decision entry of pragma to 'e' (enabled)
2826         * par_sco.ads, par_sco.adb (Set_SCO_Pragma_Enabled): New procedure
2827         Remove use of Node field in SCOs table
2828         (Output_Header): Set 'd' to initially disable pragma entry
2829         * put_scos.adb (Put_SCOs): New flag indicating if pragma is enabled
2830         * scos.ads, scos.adb: Remove Node field from internal SCOs table.
2831         Use C2 field of pragma decision header to indicate enabled.
2832         * sem_prag.adb: Add calls to Set_SCO_Pragma_Enabled.
2833         * gcc-interface/Make-lang.in: Update dependencies.
2834
2835 2010-06-17  Vincent Celier  <celier@adacore.com>
2836
2837         * back_end.adb (Next_Arg): Moved to procedure Scan_Compiler_Arguments
2838         (Scan_Compiler_Arguments): Call Scan_Front_End_Switches with Next_Arg
2839         (Switch_Subsequently_Cancelled): Function moved to the body of Switch.C
2840         * back_end.ads (Scan_Front_End_Switches): Function moved to the body of
2841         Switch.C.
2842         * switch-c.adb: Copied a number of global declarations from back_end.adb
2843         (Len_Arg): New function copied from back_end.adb
2844         (Switch_Subsequently_Cancelled): New function moved from back_end.adb
2845         (Scan_Front_End_Switches): New parameter Arg_Rank used to call
2846         Switch_Subsequently_Cancelled.
2847         * switch-c.ads (Scan_Front_End_Switches): New parameter Arg_Rank.
2848         * gcc-interface/Makefile.in: Add line so that shared libgnat is linked
2849         with -lexc on Tru64.
2850
2851 2010-06-17  Robert Dewar  <dewar@adacore.com>
2852
2853         * prj.ads, prj.adb: Minor reformatting
2854
2855 2010-06-17  Thomas Quinot  <quinot@adacore.com>
2856
2857         * put_scos.adb: Do not generate a blank line in SCOs when omitting the
2858         CP line for a disabled pragma.
2859
2860 2010-06-17  Emmanuel Briot  <briot@adacore.com>
2861
2862         * prj-proc.adb, prj.adb, prj.ads (Check_Or_Set_Typed_Variable): New
2863         subprogram.
2864         (Process_Declarative_Item): An invalid value in an typed variable
2865         declaration is no longer always fatal.
2866
2867 2010-06-16  Arnaud Charlet  <charlet@adacore.com>
2868
2869         * get_scos.adb, par_sco.adb, par_sco.ads, put_scos.adb, scos.adb,
2870         scos.ads, exp_ch4.adb, sem_warn.adb: Code clean up, update
2871         documentation.
2872
2873 2010-06-16  Javier Miranda  <miranda@adacore.com>
2874
2875         * exp_disp.adb (Expand_Dispatching_Call): Adjust the decoration of the
2876         node referenced by the SCIL node of dispatching "=" to skip the tags
2877         comparison.
2878
2879 2010-06-16  Ed Schonberg  <schonberg@adacore.com>
2880
2881         * sem_ch5.adb (Analyze_Exit_Statement): Return if no enclosing loop,
2882         to prevent cascaded errors and compilation aborts.
2883
2884 2010-06-16  Robert Dewar  <dewar@adacore.com>
2885
2886         * back_end.adb (Switch_Subsequently_Cancelled): New function
2887         Move declarations to package body level to support this change
2888         * back_end.ads (Switch_Subsequently_Cancelled): New function
2889         * gnat_ugn.texi: Document -gnat-p switch
2890         * switch-c.adb (Scan_Front_End_Switches): Implement -gnat-p switch
2891         * ug_words: Add entry for -gnat-p (UNSUPPRESS_ALL)
2892         * usage.adb: Add line for -gnat-p switch
2893         * vms_data.ads: Add entry for UNSUPPRESS_ALL (-gnat-p)
2894
2895 2010-06-16  Robert Dewar  <dewar@adacore.com>
2896
2897         * sem_warn.adb (Check_Infinite_Loop_Warning): Declaration counts as
2898         modification.
2899
2900 2010-06-16  Robert Dewar  <dewar@adacore.com>
2901
2902         * exp_disp.adb: Minor reformatting
2903
2904 2010-06-16  Ed Schonberg  <schonberg@adacore.com>
2905
2906         * sem_ch3.adb (Complete_Private_Subtype): Inherit class_wide type from
2907         base type only if it was not previously created for the partial view.
2908
2909 2010-06-16  Thomas Quinot  <quinot@adacore.com>
2910
2911         * tbuild.ads: Minor comment fix
2912
2913 2010-06-15  Nathan Froyd  <froydnj@codesourcery.com>
2914
2915         * gcc-interface/trans.c (gnu_stack_free_list): Delete.
2916         (gnu_except_ptr_stack): Change type to VEC.  Update comment.
2917         (gnu_elab_proc_stack): Likewise.
2918         (gnu_return_label_stack): Likewise.
2919         (gnu_loop_label_stack): Likewise.
2920         (gnu_switch_label_stack): Likewise.
2921         (gnu_constraint_label_stack): Likewise.
2922         (gnu_storage_error_label_stack): Likewise.
2923         (gnu_program_error_label_stack): Likewise.
2924         (push_exception_label_stack): Take a VEC ** instead of a tree *.
2925         (push_stack): Likewise.  Remove unused second parameter.  Update
2926         callers.
2927         (pop_stack): Take a VEC * instead of a tree *.  Update callers.
2928         (gigi): Initialize stacks as VECs.
2929         (Identifier_to_gnu): Use VEC_last instead of TREE_VALUE.
2930         (Case_Statement_to_gnu): Likewise.
2931         (Subprogram_Body_to_gnu): Likewise.
2932         (call_to_gnu): Likewise.
2933         (Exception_Handler_to_gnu_sjlj): Likewise.
2934         (gnat_to_gnu): Likewise.
2935         (get_exception_label): Likewise.
2936
2937 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
2938
2939         * sem_ch3.adb (Build_Derived_Record_Type): if derived type is an
2940         anonymous base generated when the parent is a constrained discriminated
2941         type, propagate interface list to first subtype because it may appear
2942         in a current instance within the extension part of the derived type
2943         declaration, and its own subtype declaration has not been elaborated
2944         yet.
2945         * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
2946         determine whether it has the controlling type.
2947
2948 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
2949
2950         * exp_ch11.adb (Expand_N_Raise_Statement): Make sure that the explicit
2951         raise of CE, SE and PE have the reason correctly set and are properly
2952         expanded before stopping the expansions of .NET/JVM exceptions.
2953
2954 2010-06-14  Robert Dewar  <dewar@adacore.com>
2955
2956         * opt.ads (Check_Policy_List): Add some clarifying comments
2957         * sem_prag.adb (Analyze_Pragma, case Check): Set Pragma_Enabled flag
2958         on rewritten Assert pragma.
2959
2960 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
2961
2962         * sem_ch6.adb (Check_Overriding_Indicator): Add a special check for
2963         controlled operations, so that they will be treated as overriding even
2964         if the overridden subprogram is marked Is_Hidden, as long as the
2965         overridden subprogram's parent subprogram is not hidden.
2966
2967 2010-06-14  Robert Dewar  <dewar@adacore.com>
2968
2969         * debug.adb: Entry for gnatw.d no longer specific for while loops
2970         * einfo.adb (First_Exit_Statement): New attribute for E_Loop
2971         * einfo.ads (First_Exit_Statement): New attribute for E_Loop
2972         * sem_ch5.adb (Analyze_Loop_Statement): Check_Infinite_Loop_Warning has
2973         new calling sequence to include test for EXIT WHEN.
2974         (Analyze_Exit_Statement): Chain EXIT statement into exit statement chain
2975         * sem_warn.ads, sem_warn.adb (Check_Infinite_Loop_Warning): Now handles
2976         EXIT WHEN case.
2977         * sinfo.adb (Next_Exit_Statement): New attribute of N_Exit_Statement
2978         node.
2979         * sinfo.ads (N_Pragma): Correct comment on Sloc field (points to
2980         PRAGMA, not to pragma identifier).
2981         (Next_Exit_Statement): New attribute of N_Exit_Statement node
2982
2983 2010-06-14  Robert Dewar  <dewar@adacore.com>
2984
2985         * sem_res.adb (Resolve_Short_Circuit): Fix sloc of "assertion/check
2986         would fail" msg.
2987
2988 2010-06-14  Robert Dewar  <dewar@adacore.com>
2989
2990         * par-ch2.adb (Scan_Pragma_Argument_Association): Clarify message for
2991         missing pragma argument identifier.
2992
2993 2010-06-14  Robert Dewar  <dewar@adacore.com>
2994
2995         * atree.ads, atree.adb (Ekind_In): New functions.
2996
2997 2010-06-14  Robert Dewar  <dewar@adacore.com>
2998
2999         * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**N in stand alone context
3000
3001 2010-06-14  Robert Dewar  <dewar@adacore.com>
3002
3003         * usage.adb (Usage): Redo documentation of -gnatwa.
3004
3005 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3006
3007         * sem_ch8.adb (Find_Type): The attribute 'class cannot be applied to
3008         an untagged incomplete type that is a limited view.
3009
3010 2010-06-14  Sergey Rybin  <rybin@adacore.com>
3011
3012         * gnat_ugn.texi: Add description of '-cargs gcc_switches' to gnatstub
3013         and gnatppa.
3014
3015 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3016
3017         * exp_ch4.adb (Expand_Short_Circuit_Operator): New subprogram,
3018         factoring duplicated code between...
3019         (Expand_N_And_Than, Expand_N_Or_Else): Remove duplicated code.
3020         * a-envvar.ads: Minor reformatting
3021
3022 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
3023
3024         * ali.adb, ali.ads, lib-xref.ads: Document new '+' letter for C/C++
3025         static entities.
3026         (Scan_ALI): Take into account new Visibility field.
3027         (Visibility_Kind): New type.
3028         (Xref_Entity_Record): Replace Lib field by Visibility.
3029
3030         * gcc-interface/Make-lang.in: Update dependencies.
3031
3032 2010-06-14  Pascal Obry  <obry@adacore.com>
3033
3034         * raise.h: Remove unused defintions.
3035
3036 2010-06-14  Bob Duff  <duff@adacore.com>
3037
3038         * par-ch10.adb (P_Subunit): If the next token after "separate(X)" is
3039         Tok_Not or Tok_Overriding, call P_Subprogram. We had previously given
3040         the incorrect error "proper body expected".
3041         * par-ch6.adb (P_Subprogram): Suppress "overriding indicator not
3042         allowed here" error in case of subunits, which was triggered by the
3043         above change to P_Subunit.
3044
3045 2010-06-14  Sergey Rybin  <rybin@adacore.com>
3046
3047         * gnat_ugn.texi, vms_data.ads: Update gnatelim doc.
3048
3049 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3050
3051         * lib-util.adb: Minor code reorganization.
3052
3053 2010-06-14  Robert Dewar  <dewar@adacore.com>
3054
3055         * ali.adb (Scan_ALI): Implement reading and storing of N lines
3056         (Known_ALI_Lines): Add entry for 'N' (notes)
3057         * ali.ads (Notes): New table to store Notes information
3058         * alloc.ads: Add entries for Notes table
3059         * lib-util.adb (Write_Info_Int): New procedure
3060         (Write_Info_Slit): New procedure
3061         (Write_Info_Uint): New procedure
3062         * lib-util.ads (Write_Info_Int): New procedure
3063         (Write_Info_Slit): New procedure
3064         (Write_Info_Uint): New procedure
3065         * lib-writ.adb (Write_Unit_Information): Output N (notes) lines
3066         * lib-writ.ads: Update documentation for N (Notes) lines
3067         * lib.adb (Store_Note): New procedure
3068         * lib.ads (Notes): New table
3069         (Store_Note): New procedure
3070         * sem_prag.adb: Call Store_Note for affected pragmas
3071
3072 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3073
3074         * socket.c: Fix wrong condition in #ifdef
3075         * g-socket.adb, g-sothco.ads: Functions imported from socket.c that
3076         take or return char* values can't use Interfaces.C.Strings.chars_ptr,
3077         because on VMS this type is a 32-bit pointer which is not compatible
3078         with the default for C pointers for code compiled with gcc on that
3079         platform.
3080
3081 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3082
3083         * sem_util (Is_VMS_Operator): New predicate to determine whether an
3084         operator is an intrinsic operator declared in the DEC system extension.
3085         * sem_res.adb (Resolve_Logical_Op): operation is legal on signed types
3086         if the operator is a VMS intrinsic.
3087         * sem_eval.adb (Eval_Logical_Op): Operation is legal and be
3088         constant-folded if the operands are signed and the operator is a VMS
3089         intrinsic.
3090
3091 2010-06-14  Robert Dewar  <dewar@adacore.com>
3092
3093         * g-socket.adb, gnatcmd.adb: Minor reformatting.
3094
3095 2010-06-14  Pascal Obry  <obry@adacore.com>
3096
3097         * s-finimp.adb: Fix typo.
3098         * raise.h: Remove duplicate blank line.
3099
3100 2010-06-14  Vincent Celier  <celier@adacore.com>
3101
3102         * prj-nmsc.adb (Add_Sources): Always set the object file and the
3103         switches file names, as the configuration of the language may change
3104         in an extending project.
3105         (Process_Naming_Scheme): For sources of projects that are extended, set
3106         the configuration of the language from the highest extending project
3107         where the language is declared.
3108
3109 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
3110
3111         * sem_res.adb (Resolve_Call): For infinite recursion check, test
3112         whether the called subprogram is inherited from a containing subprogram.
3113         (Same_Or_Aliased_Subprograms): New function
3114
3115 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3116
3117         * sem_ch8.adb (End_Use_Type): Before indicating that an operator is not
3118         use-visible, check whether it is a primitive for more than one type.
3119
3120 2010-06-14  Robert Dewar  <dewar@adacore.com>
3121
3122         * sem_ch3.adb (Copy_And_Swap): Copy Has_Pragma_Unmodified flag.
3123
3124         * sem_ch7.adb (Preserve_Full_Attributes): Preserve
3125         Has_Pragma_Unmodified flag.
3126
3127 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3128
3129         * g-sttsne-locking.adb, g-sttsne-locking.ads, g-sttsne.ads,
3130         g-sttsne-vxworks.adb, g-sttsne-dummy.ads: Removed. Mutual exclusion is
3131         now done in GNAT.Sockets if necessary.
3132         * gsocket.h, g-socket.adb, g-sothco.ads (GNAT.Sockets.Get_XXX_By_YYY):
3133         Ensure mutual exclusion for netdb operations if the target platform
3134         requires it.
3135         (GNAT.Sockets.Thin_Common): New binding for getXXXbyYYY, treating struct
3136         hostent as an opaque type to improve portability.
3137         * s-oscons-tmplt.c, socket.c: For the case of Vxworks, emulate
3138         gethostbyYYY using proprietary VxWorks API so that a uniform interface
3139         is available for the Ada side.
3140         * gcc-interface/Makefile.in: Remove g-sttsne-*
3141         * gcc-interface/Make-lang.in: Update dependencies.
3142
3143 2010-06-14  Vincent Celier  <celier@adacore.com>
3144
3145         * gnatcmd.adb (Mapping_File): New function.
3146
3147 2010-06-14  Javier Miranda  <miranda@adacore.com>
3148
3149         * sem_ch3.adb (Derive_Subprograms): Remove over-restrictive assertion.
3150
3151 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
3152
3153         * ali.adb: Fix typo.
3154         * s-auxdec-vms-alpha.adb, scng.ads: Minor reformatting.
3155
3156 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3157
3158         * sem_ch12.adb: Make Mark_Context transitive, and apply to subprogram
3159         instances.
3160
3161         * sem_ch8.adb (Find_Expanded_Name): If a candidate compilation unit in
3162         the context does not have a homonym of the selector, emit default
3163         error message.
3164
3165 2010-06-14  Robert Dewar  <dewar@adacore.com>
3166
3167         * sem.adb, sem_ch12.adb, sem_util.adb: Minor reformatting and
3168         comment addition.
3169
3170 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
3171
3172         * lib-xref.ads: Doc updates:
3173          - Allocate 'Q' for #include entity kind
3174          - Free 'Z'
3175          - Allocate 'g' for regular macros
3176          - Allocate 'G' for function-like macros
3177
3178 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3179
3180         * sinfo.ads, sinfo.adb (Withed_Body): New attribute of a with_clause.
3181         Indicates that there is an instantiation in the current unit that
3182         loaded the body of the unit denoted by the with_clause.
3183         * sem_ch12.adb (Mark_Context): When instanting a generic body, check
3184         whether a with_clause in the current context denotes the unit that
3185         holds the generic declaration, and mark the with_clause accordingly.
3186         (Instantiate_Package_Body): call Mark_Context.
3187         * sem.adb (Process_Bodies_In_Context): Use Withed_Body to determine
3188         whether a given body should be traversed before the spec of the main
3189         unit.
3190
3191 2010-06-14  Ed Falis  <falis@adacore.com>
3192
3193         * sysdep.c: Fix 653 build against vThreads headers.
3194
3195 2010-06-14  Robert Dewar  <dewar@adacore.com>
3196
3197         * sinfo.ads: Minor reformatting.
3198
3199 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3200
3201         * sem_ch6.adb (Analyze_Subprogram_Body): Do not check conformance when
3202         the spec has been generated for a body without spec that carries an
3203         Inline_Always pragma.
3204
3205 2010-06-14  Arnaud Charlet  <charlet@adacore.com>
3206
3207         * lib-xref.ads: Documentation change: allocate 'Z' letter to C/C++
3208         macro.
3209
3210 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
3211
3212         * exp_dbug.adb (Debug_Renaming_Declaration): Do not output any debug
3213         declaration for VMs, as those are useless and might lead to duplicated
3214         local variable names in the generated code.
3215         * gcc-interface/Make-lang.in: Update dependencies.
3216
3217 2010-06-14  Robert Dewar  <dewar@adacore.com>
3218
3219         * opt.ads, sem.adb, sem_elab.adb: Minor reformatting
3220
3221 2010-06-14  Robert Dewar  <dewar@adacore.com>
3222
3223         * exp_aggr.adb (Has_Address_Clause): Moved to Exp_Util, and there it
3224         is renamed as Has_Following_Address_Clause.
3225         * exp_ch3.adb (Needs_Simple_Initialization): Add Consider_IS argument
3226         to allow the caller to avoid Initialize_Scalars having an effect.
3227         (Expand_N_Object_Declaration): Do not do Initialize_Scalars stuff for
3228         scalars with an address clause specified.
3229         * exp_ch3.ads (Needs_Simple_Initialization): Add Consider_IS argument
3230         to allow the caller to avoid Initialize_Scalars having an effect.
3231         * exp_util.adb (Has_Following_Address_Clause): Moved here from Exp_Aggr
3232         (where it was called Has_Address_Clause).
3233         * exp_util.ads (Has_Following_Address_Clause): Moved here from Exp_Aggr
3234         (where it was called Has_Address_Clause).
3235         * freeze.adb (Warn_Overlay): Suppress message about overlaying causing
3236         problems for Initialize_Scalars (since we no longer initialize objects
3237         with an address clause.
3238
3239 2010-06-14  Robert Dewar  <dewar@adacore.com>
3240
3241         * exp_prag.adb (Expand_Pragma_Check): Set Loc of generated code from
3242         condition.
3243
3244 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
3245
3246         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Debug_Info_Needed
3247         on the entity of an implicitly generated postcondition procedure.
3248
3249 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3250
3251         * sem_ch7.adb (Preserve_Full_Attributes): Propagate
3252         Discriminant_Constraint elist from full view to private view.
3253
3254 2010-06-14  Robert Dewar  <dewar@adacore.com>
3255
3256         * sem_res.adb: Minor reformatting.
3257
3258 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3259
3260         * sem.adb: New version of unit traversal.
3261
3262         * sem_elab.adb (Check_Internal_Call): Do not place a call appearing
3263         within a generic unit in the table of delayed calls.
3264
3265 2010-06-14  Robert Dewar  <dewar@adacore.com>
3266
3267         * gnatcmd.adb, sem_util.adb, exp_ch3.adb: Minor reformatting
3268
3269 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3270
3271         * sem_ch12.adb (Save_References): If an identifier has been rewritten
3272         during analysis as an explicit dereference, keep the reference implicit
3273         in the generic, but preserve the entity if global. This prevents
3274         malformed generic trees in the presence of some nested generics.
3275
3276 2010-06-14  Sergey Rybin  <rybin@adacore.com>
3277
3278         * gnat_ugn.texi: For the GNAT driver, clarify the effect of calling the
3279         tool with '-files=' option. Also fix some small errors (wrong brackets)
3280
3281 2010-06-14  Vincent Celier  <celier@adacore.com>
3282
3283         * gnatbind.adb: Call Scan_ALI with Directly_Scanned set to True for all
3284         the ALI files on the command line.
3285
3286         * ali.adb (Scan_ALI): Set component Directly_Scanned of the unit(s) to
3287         the same value as the parameter of the same name.
3288         * ali.ads (Scan_ALI): New Boolean parameter Directly_Scanned, defaulted
3289         to False.
3290         * bindgen.adb (Gen_Versions_Ada): Never emit version symbols for
3291         Stand-Alone Library interfaces. When binding Stand-Alone Libraries,
3292         emit version symbols only for the units of the library.
3293         (Gen_Versions_C): Ditto.
3294
3295 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
3296
3297         * sem_ch4.adb: Fix typo.
3298
3299 2010-06-14  Vasiliy Fofanov  <fofanov@adacore.com>
3300
3301         * s-oscons-tmplt.c (IOV_MAX): redefine on Tru64 and VMS since the
3302         vector IO doesn't work at default value properly.
3303
3304 2010-06-14  Doug Rupp  <rupp@adacore.com>
3305
3306         * s-stoele.adb: Remove unnecessary qualification of To_Address for VMS.
3307
3308 2010-06-14  Vincent Celier  <celier@adacore.com>
3309
3310         * gnatcmd.adb (Check_Files): Do not invoke the tool with all the
3311         sources of the project if a switch -files= is used.
3312
3313 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3314
3315         * exp_attr.adb: Minor reformatting.
3316
3317 2010-06-14  Gary Dismukes  <dismukes@adacore.com>
3318
3319         * gnat_ugn.texi: Minor typo fixes and wording changes.
3320
3321 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3322
3323         * sem_ch4.adb (Analyze_One_Call): If the call has been rewritten from a
3324         prefixed form, do not re-analyze first actual, which may need an
3325         implicit dereference.
3326         * sem_ch6.adb (Analyze_Procedure_Call): If the call is given in
3327         prefixed notation, the analysis will rewrite the node, and possible
3328         errors appear in the rewritten name of the node.
3329         * sem_res.adb: If a call is ambiguous because its first parameter is
3330         an overloaded call, report list of candidates, to clarify ambiguity of
3331         enclosing call.
3332
3333 2010-06-14  Doug Rupp  <rupp@adacore.com>
3334
3335         * s-auxdec-vms-alpha.adb: New package body implementing legacy
3336         VAX instructions with Asm insertions.
3337         * s-auxdec-vms_64.ads: Inline VAX queue functions
3338         * s-stoele.adb: Resolve some ambiguities in To_Addresss with s-suxdec
3339         that show up only on VMS.
3340         * gcc-interface/Makefile.in: Provide translation for
3341         s-auxdec-vms-alpha.adb.
3342
3343 2010-06-14  Olivier Hainque  <hainque@adacore.com>
3344
3345         * initialize.c (VxWorks section): Update comments.
3346
3347 2010-06-14  Robert Dewar  <dewar@adacore.com>
3348
3349         * a-convec.adb, sem_prag.adb, checks.adb: Minor reformatting.
3350
3351 2010-06-14  Eric Botcazou  <ebotcazou@adacore.com>
3352
3353         * init.c: Code clean up.
3354
3355 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3356
3357         * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): Do
3358         not insert address clause in table for later validation if type of
3359         entity is generic, to prevent possible spurious errors. 
3360
3361         * sem_ch8.adb: Code clean up.
3362
3363 2010-06-14  Ben Brosgol  <brosgol@adacore.com>
3364
3365         * gnat_ugn.texi: Expanded @ovar macro inline to solve problem with
3366         texi2pdf and texi2html.
3367         Document how to change scheduling properties on HP-UX.
3368
3369 2010-06-14  Thomas Quinot  <quinot@adacore.com>
3370
3371         * g-socket.ads: Remove misleading comments.
3372
3373 2010-06-14  Jerome Lambourg  <lambourg@adacore.com>
3374
3375         * sem_prag.adb (Check_Duplicated_Export_Name): Remove check for
3376         CLI_Target as this prevents proper detection of exported names
3377         duplicates when the exported language is different to CIL.
3378         (Process_Interface_Name): Add check for CIL convention exports,
3379         replacing the old one from Check_Duplicated_Export_Name.
3380
3381 2010-06-14  Matthew Heaney  <heaney@adacore.com>
3382
3383         * a-coinve.adb, a-convec.adb (operator "&"): Check both that new length
3384         and new last satisfy constraints.
3385         (Delete_Last): prevent overflow for subtraction of index values
3386         (To_Vector): prevent overflow for addition of index values
3387
3388 2010-06-14  Ed Schonberg  <schonberg@adacore.com>
3389
3390         * sem_ch4.adb (Complete_Object_Operation): After analyzing the
3391         rewritten call, preserve the resulting type to prevent spurious errors,
3392         when the call is implicitly dereferenced in the context of an in-out
3393         actual.
3394
3395         * checks.adb (Apply_Discriminant_Check): If the target of the
3396         assignment is a renaming of a heap object, create constrained type for
3397         it to apply check.
3398
3399 2010-06-14  Pascal Obry  <obry@adacore.com>
3400
3401         * prj-proc.adb: Fix copy of object directory for extending projects.
3402
3403 2010-06-14  Jose Ruiz  <ruiz@adacore.com>
3404
3405         * init.c (__gnat_alternate_stack): Define this space for PowerPC linux
3406         (__gnat_install_handler, PowerPC linux): Activate the alternative
3407         signal stack.
3408
3409 2010-06-13  Gerald Pfeifer  <gerald@pfeifer.com>
3410
3411         * gnat_rm.texi: Move to GFDL version 1.3.
3412         * gnat-style.texi: Ditto.
3413         * gnat_ugn.texi: Ditto.
3414
3415 2010-06-12  Kai Tietz  <kai.tietz@onevision.com>
3416
3417         PR ada/43731
3418         * gcc-interface/Makefile.in: Add rules for multilib x86/x64
3419         mingw targets.
3420
3421 2010-06-11  Alexandre Oliva  <aoliva@redhat.com>
3422
3423         * gcc-interface/utils.c (update_pointer_to): Initialize last.
3424
3425 2010-06-09  Eric Botcazou  <ebotcazou@adacore.com>
3426
3427         * gcc-interface/ada-tree.h: Fix formatting nits.
3428
3429 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
3430
3431         * gcc-interface/utils.c (init_gnat_to_gnu): Use typed GC
3432         allocation.
3433         (init_dummy_type): Likewise.
3434         (gnat_pushlevel): Likewise.
3435
3436         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
3437         (Subprogram_Body_to_gnu): Likewise.
3438         (Compilation_Unit_to_gnu): Likewise.
3439         (start_stmt_group): Likewise.
3440         (extract_encoding): Likewise.
3441         (decode_name): Likewise.
3442
3443         * gcc-interface/misc.c (gnat_printable_name): Likewise.
3444
3445         * gcc-interface/decl.c (annotate_value): Likewise.
3446
3447         * gcc-interface/ada-tree.h (struct lang_type): Add variable_size
3448         GTY option.
3449         (struct lang_decl): Likewise.
3450         (SET_TYPE_LANG_SPECIFIC): Use typed GC allocation.
3451         (SET_DECL_LANG_SPECIFIC): Likewise.
3452
3453 2010-06-04  Eric Botcazou  <ebotcazou@adacore.com>
3454
3455         * gnatlink.adb (gnatlink): Remove support for -fsjlj switch.
3456         * gcc-interface/lang-specs.h: Likewise.
3457
3458 2010-06-03  H.J. Lu  <hongjiu.lu@intel.com>
3459
3460         PR c++/44294
3461         * gcc-interface/decl.c (MAX_FIXED_MODE_SIZE): Removed.
3462
3463 2010-06-01  Arnaud Charlet  <charlet@adacore.com>
3464
3465         * gnat_ugn.texi: Improve doc on -fdump-ada-spec, mention limitations.
3466
3467 2010-05-30  Eric Botcazou  <ebotcazou@adacore.com>
3468
3469         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Task_Type>: Reuse the
3470         TYPE_DECL of the equivalent type instead of building a new one.
3471
3472 2010-05-30  Eric Botcazou  <ebotcazou@adacore.com>
3473
3474         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust warning message.
3475         Fix nits in comments.
3476         * gcc-interface/misc.c (gnat_init_gcc_eh): Likewise.
3477         * gcc-interface/trans.c (gigi): Likewise.
3478         (Attribute_to_gnu): Likewise.
3479         (Case_Statement_to_gnu): Likewise.
3480         (gnat_to_gnu): Adjust warning message.
3481         * gcc-interface/utils.c (create_var_decl_1): Fix nits in comments.
3482         (build_vms_descriptor32): Likewise.
3483
3484 2010-05-27  Steven Bosscher  <steven@gcc.gnu.org>
3485
3486         * gcc-interface/decl.c: Pretend to be a backend file by undefining
3487         IN_GCC_FRONTEND (still need rtl.h here).
3488
3489 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
3490
3491         * gcc-interface/trans.c: Do not include rtl.h, insclude libfuncs.h.
3492         (gigi): Adjust call to set_stack_check_libfunc.
3493
3494 2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
3495
3496         * gcc-interface/utils.c: Do not include rtl.h.
3497
3498 2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
3499
3500         * gcc-interface/utils.c: Do not include function.h, pointer-set.h,
3501         and gimple.h.  Explain why rtl.h has to be included.
3502         (handle_vector_size_attribute): Call reconstruct_complex_type directly.
3503         * gcc-interface/targtyps.c: Do not include tm_p.h
3504         * gcc-interface/utils2.c: Do not include flags.h.
3505         * gcc-interface/trans.c: Do not include expr.h.  Include rtl.h instead,
3506         and explain why it has to be included.
3507         * gcc-interface/misc.c: Do not include expr.h, libfuncs.h, cgraph.h,
3508         and optabs.h.
3509         Include function.h and explain why.  Explain why except.h is included.
3510         (enumerate_modes): Remove unused function. 
3511         * gcc-interface/gigi.h (enumerate_modes): Remove prototype.
3512         * gcc-interface/Make-lang.in: Update dependencies.
3513
3514 2010-05-25  Joseph Myers  <joseph@codesourcery.com>
3515
3516         * gcc-interface/misc.c (internal_error_function): Add context
3517         parameter.  Use it to access show_column flag and instead of using
3518         global_dc.  Call warn_if_plugins.
3519         * gcc-interface/Make-lang.in (ada/misc.o): Update dependencies.
3520
3521 2010-05-19  Eric Botcazou  <ebotcazou@adacore.com>
3522
3523         * gcc-interface/misc.c (LANG_HOOKS_DEEP_UNSHARING): Redefine.
3524         * gcc-interface/trans.c (unshare_save_expr): Delete.
3525         (gigi): Do not unshare trees under SAVE_EXPRs here.
3526
3527 2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
3528
3529         * gcc-interface/trans.c (call_to_gnu): Use build_call_vec instead of
3530         build_call_list.
3531         * gcc-interface/utils.c (build_function_stub): Likewise.
3532
3533 2010-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3534
3535         * gcc-interface/misc.c (gnat_handle_option): Remove special logic
3536         for Wuninitialized without -O.
3537         
3538 2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
3539
3540         * gcc-interface/gigi.h (enum standard_datatypes): Add new value
3541         ADT_exception_data_name_id.
3542         (exception_data_name_id): New define.
3543         * gcc-interface/trans.c (gigi): Initialize it.
3544         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use the standard
3545         exception type for standard exception definitions.  Do not make them
3546         volatile.
3547         <E_Record_Type>: Equate fields of types associated with an exception
3548         definition to those of the standard exception type.
3549
3550 2010-05-13  Andreas Schwab  <schwab@linux-m68k.org>
3551
3552         * tracebak.c (__gnat_backtrace): Mark top_stack with ATTRIBUTE_UNUSED.
3553
3554 2010-05-12  Eric Botcazou  <ebotcazou@adacore.com>
3555
3556         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Tidy up
3557         code, improve comments and fix formatting nits.
3558
3559 2010-05-12  Eric Botcazou  <ebotcazou@adacore.com>
3560
3561         * gcc-interface/utils.c (update_pointer_to): Return early if the old
3562         pointer already points to the new type.  Chain the old pointer and its
3563         variants at the end of new pointer's chain after updating them.
3564
3565 2010-05-10  Eric Botcazou  <ebotcazou@adacore.com>
3566
3567         * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables
3568         built for interfaces.
3569         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use
3570         imported_p instead of Is_Imported when considering constants.
3571         Do not promote alignment of exported objects.
3572         <E_Record_Subtype>: Strip all suffixes for dispatch table entities.
3573
3574 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
3575
3576         * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables.
3577         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Make imported
3578         constants really constant.
3579         <E_Record_Subtype>: Strip the suffix for dispatch table entities.
3580
3581 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
3582
3583         * gcc-interface/decl.c (make_aligning_type): Declare the type.
3584
3585 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
3586
3587         * gcc-interface/decl.c (gnat_to_gnu_entity): Create variables for size
3588         expressions of variant part of record types declared at library level.
3589
3590 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
3591
3592         * gcc-interface/gigi.h (create_field_decl): Move PACKED parameter.
3593         * gcc-interface/utils.c (create_field_decl): Move PACKED parameter.
3594         (rest_of_record_type_compilation): Adjust call to create_field_decl.
3595         (make_descriptor_field): Likewise and pass correctly typed constants.
3596         (build_unc_object_type): Likewise.
3597         (unchecked_convert): Likewise.
3598         * gcc-interface/decl.c (elaborate_expression_2): New static function.
3599         (gnat_to_gnu_entity): Use it to make alignment factors explicit.
3600         Adjust call to create_field_decl.
3601         (make_aligning_type): Likewise.
3602         (make_packable_type): Likewise.
3603         (maybe_pad_type): Likewise.
3604         (gnat_to_gnu_field): Likewise.
3605         (components_to_record): Likewise.
3606         (create_field_decl_from): Likewise.
3607         (create_variant_part_from): Remove superfluous test.
3608         * gcc-interface/trans.c (gigi): Adjust call to create_field_decl.
3609
3610 2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
3611
3612         * gcc-interface/gigi.h (build_unc_object_type): Add DEBUG_INFO_P param.
3613         (build_unc_object_type_from_ptr): Likewise.
3614         * gcc-interface/utils.c (build_unc_object_type): Add DEBUG_INFO_P param
3615         and pass it to create_type_decl.  Declare the type.  Simplify.
3616         (build_unc_object_type_from_ptr): Add DEBUG_INFO_P parameter and pass
3617         it to build_unc_object_type.
3618         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust to above change.
3619         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
3620         (gnat_to_gnu): Likewise.
3621         * gcc-interface/utils2.c (build_allocator): Likewise.
3622
3623 2010-05-07  Eric Botcazou  <ebotcazou@adacore.com>
3624
3625         PR 40989
3626         * gcc-interface/misc.c (gnat_handle_option): Fix long line.
3627
3628 2010-05-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3629
3630         * gcc-interface/Makefile.in: Removed mips-sgi-irix5* support.
3631
3632 2010-05-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3633
3634         PR 40989
3635         * gcc-interface/misc.c (gnat_handle_option): Add argument kind.
3636
3637 2010-05-02  Giuseppe Scrivano  <gscrivano@gnu.org>
3638
3639         * gnathtml.pl: Use 755 as mask for new directories.
3640
3641 2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
3642
3643         * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Uniquize
3644         constant constructors before taking their address.
3645
3646 2010-04-25  Eric Botcazou  <ebotcazou@adacore.com>
3647
3648         * exp_dbug.ads: Fix outdated description.  Mention link between XVS
3649         and XVZ objects.
3650         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Set
3651         XVZ variable as unit size of XVS type.
3652         (maybe_pad_type): Likewise.
3653
3654 2010-04-25  Eric Botcazou  <ebotcazou@adacore.com>
3655
3656         * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Do not
3657         use memmove if the array type is bit-packed.
3658
3659 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
3660
3661         * gcc-interface/misc.c (gnat_init): Remove second argument in call to
3662         build_common_tree_nodes.
3663
3664 2010-04-18  Ozkan Sezer  <sezeroz@gmail.com>
3665
3666         * gsocket.h: Make sure that winsock2.h is included before windows.h.
3667
3668 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
3669
3670         * gcc-interface/utils2.c (build_unary_op) <ATTR_ADDR_EXPR>: Do not
3671         issue warning.
3672
3673 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
3674
3675         * uintp.h (UI_Lt): Declare.
3676         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do the size
3677         computation in sizetype.
3678         <E_Array_Subtype>: Use unified handling for all index types.  Do not
3679         generate MAX_EXPR-based expressions, only COND_EXPR-based ones.  Add
3680         bypass for PATs.
3681         (annotate_value): Change test for negative values.
3682         (validate_size): Apply test for negative values on GNAT nodes.
3683         (set_rm_size): Likewise.
3684         * gcc-interface/misc.c (gnat_init): Set unsigned types for sizetypes.
3685         * gcc-interface/utils.c (rest_of_record_type_compilation): Change test
3686         for negative values.
3687         (max_size) <MINUS_EXPR>: Do not reassociate a COND_EXPR on the LHS.
3688         (builtin_type_for_size): Adjust definition of signed_size_type_node.
3689         * gcc-interface/utils2.c (compare_arrays): Optimize comparison of
3690         lengths against zero.
3691
3692 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
3693
3694         * back-end.adb (Call_Back_End): Pass Standard_Character to gigi.
3695         * gcc-interface/gigi.h (gigi): Add standard_character parameter.
3696         (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE, 
3697         LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE,
3698         LONG_DOUBLE_TYPE_SIZE, SIZE_TYPE): Delete.
3699         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Call
3700         rm_size.
3701         * gcc-interface/misc.c (gnat_init): Set signedness of char as per
3702         flag_signed_char.  Tag sizetype with "size_type" moniker.
3703         * gcc-interface/trans.c (gigi): Add standard_character parameter.
3704         Remove useless built-in types.  Equate unsigned_char_type_node to
3705         Standard.Character.  Use it instead of char_type_node throughout.
3706         (Attribute_to_gnu): Likewise.
3707         (gnat_to_gnu): Likewise.
3708         * gcc-interface/utils2.c (build_call_raise): Likewise.
3709
3710 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
3711
3712         * gcc-interface/gigi.h (enum standard_datatypes): Add new values
3713         ADT_sbitsize_one_node and ADT_sbitsize_unit_node.
3714         (sbitsize_one_node): New macro.
3715         (sbitsize_unit_node): Likewise.
3716         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Fix
3717         latent bug in the computation of subrange_p.  Fold wider_p predicate.
3718         (cannot_be_superflat_p): Use an explicitly signed 64-bit type to do
3719         the final comparison.
3720         (make_aligning_type): Build real negation and use sizetype throughout
3721         the offset computation.
3722         (maybe_pad_type): Do not issue the warning when the new size expression
3723         is too complex.
3724         (annotate_value) <INTEGER_CST>: Simplify code handling negative values.
3725         * gcc-interface/misc.c (gnat_init): Initialize sbitsize_one_node and
3726         sbitsize_unit_node.
3727         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Fold
3728         double negation.
3729         (gnat_to_gnu) <N_Free_Statement>: Likewise.
3730         * gcc-interface/utils.c (convert): Use sbitsize_unit_node.
3731         * gcc-interface/utils2.c (compare_arrays): Compute real lengths and use
3732         constants in sizetype.  Remove dead code and tweak comments.  Generate
3733         equality instead of inequality comparisons for zero length tests.
3734
3735 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
3736
3737         * gcc-interface/gigi.h (gnat_init_decl_processing): Delete.
3738         * gcc-interface/decl.c (gnat_to_gnu_entity): Constify a few variables.
3739         <object>: Do not create the fake PARM_DECL if no debug info is needed.
3740         Do not create the corresponding VAR_DECL of a CONST_DECL for debugging
3741         purposes if no debug info is needed.
3742         Fix formatting.  Reorder and add comments.
3743         * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Reference>: Constify
3744         variable and remove obsolete comment.
3745         * gcc-interface/utils.c (convert_vms_descriptor64): Tweak comment.
3746         (convert_vms_descriptor32): Likewise.
3747         (convert): Remove dead code.
3748         <UNCONSTRAINED_ARRAY_REF>: Pass the field instead of its name to build
3749         the reference to the P_ARRAY pointer.
3750         <POINTER_TYPE>: Likewise.
3751         (maybe_unconstrained_array) <UNCONSTRAINED_ARRAY_TYPE>: Likewise.
3752         (gnat_init_decl_processing): Delete, move contents to...
3753         * gcc-interface/misc.c (gnat_init): ...here.
3754
3755 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
3756
3757         * gcc-interface/trans.c (unchecked_conversion_nop): Handle function
3758         calls.  Return true for conversion from a record subtype to its type.
3759
3760 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
3761
3762         * gcc-interface/decl.c (gnat_to_gnu_entity): Use boolean_type_node in
3763         lieu of integer_type_node for boolean operations.
3764         (choices_to_gnu): Likewise.
3765         * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
3766         (Loop_Statement_to_gnu): Likewise.
3767         (establish_gnat_vms_condition_handler): Likewise.
3768         (Exception_Handler_to_gnu_sjlj): Likewise.
3769         (gnat_to_gnu): Likewise.
3770         (build_unary_op_trapv): Likewise.
3771         (build_binary_op_trapv): Likewise.
3772         (emit_range_check): Likewise.
3773         (emit_index_check): Likewise.
3774         (convert_with_check): Likewise.
3775         * gcc-interface/utils.c (convert_vms_descriptor64): Likewise.
3776         (convert_vms_descriptor32): Likewise.
3777         (convert_vms_descriptor): Likewise.
3778         * gcc-interface/utils2.c (nonbinary_modular_operation): Likewise.
3779         (compare_arrays): Use boolean instead of integer constants.
3780         (build_binary_op) <TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR,
3781         TRUTH_OR_EXPR, TRUTH_XOR_EXPR>: New case.  Check that the result type
3782         is a boolean type.
3783         <GE_EXPR, LE_EXPR, GT_EXPR, LT_EXPR>: Remove obsolete assertion.
3784         <EQ_EXPR, NE_EXPR>: Check that the result type is a boolean type.
3785         <PREINC/PREDECREMENT_EXPR, POSTINC/POSTDECREMENT_EXPR>: Delete.
3786         <TRUTH_NOT_EXPR>: Check that the result type is a boolean type.
3787         (build_unary_op): Use boolean_type_node in lieu of integer_type_node
3788         for boolean operations.
3789         (fill_vms_descriptor): Likewise.  Fix formatting nits.
3790
3791 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
3792
3793         * gcc-interface/ada-tree.def (LOOP_STMT): Change to 4-operand nodes.
3794         * gcc-interface/ada-tree.h (LOOP_STMT_TOP_COND, LOOP_STMT_BOT_COND):
3795         Merge into...
3796         (LOOP_STMT_COND): ...this.
3797         (LOOP_STMT_BOTTOM_COND_P): New flag.
3798         (LOOP_STMT_TOP_UPDATE_P): Likewise.
3799         * gcc-interface/trans.c (can_equal_min_or_max_val_p): New function.
3800         (can_equal_min_val_p): New static inline function.
3801         (can_equal_max_val_p): Likewise.
3802         (Loop_Statement_to_gnu): Use build4 in lieu of build5 and adjust to
3803         new LOOP_STMT semantics.  Use two different strategies depending on
3804         whether optimization is enabled to translate the loop.
3805         (gnat_gimplify_stmt) <LOOP_STMT>: Adjust to new LOOP_STMT semantics.
3806
3807 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
3808
3809         * uintp.adb (UI_From_Dint): Remove useless code.
3810         (UI_From_Int): Likewise.
3811         * uintp.h: Reorder declarations.
3812         (UI_From_gnu): Declare.
3813         (UI_Base): Likewise.
3814         (Vector_Template): Likewise.
3815         (Vector_To_Uint): Likewise.
3816         (Uint_0): Remove.
3817         (Uint_1): Likewise.
3818         * gcc-interface/gigi.h: Tweak comments.
3819         * gcc-interface/cuintp.c (UI_From_gnu): New global function.
3820         * gcc-interface/decl.c (maybe_pad_type): Do not warn if either size
3821         overflows.
3822         (annotate_value) <INTEGER_CST>: Call UI_From_gnu.
3823         * gcc-interface/trans.c (post_error_ne_num): Call post_error_ne.
3824         (post_error_ne_tree): Call UI_From_gnu and post_error_ne.
3825         * gcc-interface/utils.c (max_size) <tcc_binary>: Do not special-case
3826         TYPE_MAX_VALUE.
3827
3828 2010-04-16  Eric Botcazou  <ebotcazou@adacore.com>
3829
3830         * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Just copy
3831         TYPE_NAME.
3832         * gcc-interface/trans.c (smaller_packable_type_p): Rename into...
3833         (smaller_form_type_p): ...this.  Change parameter and variable names.
3834         (call_to_gnu): Use the nominal type of the parameter to create the
3835         temporary if it's a smaller form of the actual type.
3836         (addressable_p): Return false if the actual type is integral and its
3837         size is greater than that of the expected type.
3838
3839 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
3840
3841         * gcc-interface/cuintp.c (UI_To_gnu): Fix long line.
3842         * gcc-interface/gigi.h (MARK_VISITED): Skip objects of constant class.
3843         (process_attributes): Delete.
3844         (post_error_ne_num): Change parameter name.
3845         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force debug info
3846         with -g3.  Remove a couple of obsolete lines.  Minor tweaks.
3847         If type annotating mode, operate on trees to compute the adjustment to
3848         the sizes of tagged types.  Fix long line.
3849         (cannot_be_superflat_p): Tweak head comment.
3850         (annotate_value): Fold local constant.
3851         (set_rm_size): Fix long line.
3852         * gcc-interface/trans.c (Identifier_to_gnu): Rework comments.
3853         (Attribute_to_gnu): Fix long line.
3854         <Attr_Size>: Remove useless assertion.
3855         Reorder statements.  Use size_binop routine.
3856         (Loop_Statement_to_gnu): Use build5 in lieu of build_nt.
3857         Create local variables for the label and the test.  Tweak comments.
3858         (Subprogram_Body_to_gnu): Reset cfun to NULL.
3859         (Compilation_Unit_to_gnu): Use the Sloc of the Unit node.
3860         (process_inlined_subprograms): Integrate into...
3861         (Compilation_Unit_to_gnu): ...this.
3862         (gnat_to_gnu): Fix long line.
3863         (post_error_ne_num): Change parameter name.
3864         * gcc-interface/utils.c (process_attributes): Static-ify.
3865         <ATTR_MACHINE_ATTRIBUTE>: Set input_location before proceeding.
3866         (create_type_decl): Add comment.
3867         (create_var_decl_1): Process the attributes after adding the VAR_DECL
3868         to the current binding level.
3869         (create_subprog_decl): Likewise for the FUNCTION_DECL.
3870         (end_subprog_body): Do not reset cfun to NULL.
3871         (build_vms_descriptor32): Fix long line.
3872         (build_vms_descriptor): Likewise.
3873         (handle_nonnull_attribute): Likewise.
3874         (convert_vms_descriptor64): Likewise.
3875         * gcc-interface/utils2.c (fill_vms_descriptor): Fix long line.
3876         (gnat_protect_expr): Fix thinko.
3877
3878 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
3879
3880         * gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions.
3881         (gnat_to_gnu) <N_Op_Eq>: Restore the value of input_location
3882         before translating the top-level node.
3883         (lvalue_required_p) <N_Function_Call>: Return 1 if !constant.
3884         <N_Object_Declaration>: Likewise.
3885         <N_Assignment_Statement>: Likewise.
3886         <N_Unchecked_Type_Conversion>: Likewise.
3887         (call_to_gnu): Remove kludge.
3888         (gnat_to_gnu) <N_Return_Statement>: When not optimizing, force labels
3889         associated with user returns to be preserved.
3890         (gnat_to_gnu): Add special code to deal with boolean rvalues.
3891         * gcc-interface/utils2.c (compare_arrays): Set input_location on all
3892         comparisons.
3893         (build_unary_op) <ADDR_EXPR>: Call build_fold_addr_expr.
3894         <INDIRECT_REF>: Call build_fold_indirect_ref.
3895
3896 2010-04-15  Joel Sherrill  <joel.sherrill@oarcorp.com>
3897
3898         * g-socket.adb: A target can have multiple missing errno's.  This
3899         will result in multiple errno's being defined as -1.  Because of this
3900         we can not use a case but must use a series of if's to avoid 
3901         a duplicate case error in GNAT.Sockets.Resolve_Error.
3902
3903 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
3904
3905         * gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
3906         a statement.  Otherwise, if at top-level, push the processing of the
3907         elaboration routine.  In the misaligned case, issue the error messages
3908         again on entry and create the temporary explicitly.  Do not issue them
3909         for CONSTRUCTORs.
3910         For a function call, emit the range check if necessary.
3911         In the copy-in copy-out case, create the temporary for the return
3912         value explicitly.
3913         Do not unnecessarily convert by-ref parameters to the formal's type.
3914         Remove obsolete guards in conditions.
3915         (gnat_to_gnu) <N_Assignment_Statement>: For a function call, pass the
3916         target to call_to_gnu in all cases.
3917         (gnat_gimplify_expr) <ADDR_EXPR>: Remove handling of SAVE_EXPR.
3918         (addressable_p) <CONSTRUCTOR>: Return false if not static.
3919         <COMPOUND_EXPR>: New case.
3920         * gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Fold a compound
3921         expression if it has unconstrained array type.
3922         (gnat_mark_addressable) <COMPOUND_EXPR>: New case.
3923         (gnat_stabilize_reference) <COMPOUND_EXPR>: Stabilize operands on an
3924         individual basis.
3925
3926 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
3927
3928         * gcc-interface/trans.c (gigi): Do not start statement group.
3929         (Compilation_Unit_to_gnu): Set current_function_decl to NULL.
3930         Start statement group and push binding level here...
3931         (gnat_to_gnu) <N_Compilation_Unit>: ...and not here.
3932         Do not push fake contexts at top level.  Remove redundant code.
3933         (call_to_gnu): Rename a local variable and constify another.
3934         * gcc-interface/utils.c (gnat_pushlevel): Fix formatting nits.
3935         (set_current_block_context): Set it as the group's block.
3936         (gnat_init_decl_processing): Delete unrelated init code.
3937         (end_subprog_body): Use NULL_TREE.
3938
3939 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
3940
3941         * gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force
3942         side-effects of actual parameters before the call.
3943
3944 2010-04-15  Eric Botcazou  <ebotcazou@adacore.com>
3945
3946         * gcc-interface/decl.c (validate_size): Reorder, remove obsolete test
3947         and warning.
3948         (set_rm_size): Reorder and remove obsolete test.
3949
3950 2010-04-14  Eric Botcazou  <ebotcazou@adacore.com>
3951
3952         * gcc-interface/gigi.h: Reorder declarations and tweak comments.
3953         (gigi): Adjust ATTRIBUTE_UNUSED markers.
3954         * gcc-interface/gadaint.h: New file.
3955         * gcc-interface/trans.c: Include it in lieu of adaint.h.  Reorder.
3956         (__gnat_to_canonical_file_spec): Remove declaration.
3957         (number_names): Delete.
3958         (number_files): Likewise.
3959         (gigi): Adjust.
3960         * gcc-interface/Make-lang.in (ada/trans.o): Adjust dependencies to
3961         above change.
3962
3963 2010-04-14  Eric Botcazou  <ebotcazou@adacore.com>
3964
3965         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Class_Wide_Type>: Fix
3966         comment.
3967         * gcc-interface/trans.c (process_freeze_entity): Use local copy of
3968         Ekind.  Return early for class-wide types.  Do not compute initializer
3969         unless necessary.  Reuse the tree for an associated class-wide type
3970         only if processing its root type.
3971
3972 2010-04-13  Joel Sherrill  <joel.sherrill@oarcorp.com>
3973
3974         * gsocket.h: Run-time can no longer be built without network
3975         OS headers available.  Changing RTEMS GNAT build procedure to
3976         reflect this and letting run-time build use network .h files.
3977
3978 2010-04-13  Duncan Sands  <baldrick@free.fr>
3979
3980         * gcc-interface/misc.c (gnat_eh_type_covers): Remove.
3981         * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Update comment.
3982
3983 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
3984
3985         * gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.
3986         (parent_name_id): New macro.
3987         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use it.
3988         * gcc-interface/trans.c (gigi): Initialize it.
3989         (lvalue_required_p) <N_Type_Conversion>: New case.
3990         <N_Qualified_Expression>: Likewise.
3991         <N_Allocator>: Likewise.
3992         * gcc-interface/utils.c (convert): Try to properly upcast tagged types.
3993
3994 2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
3995
3996         * gcc-interface/ada-tree.h (TYPE_BY_REFERENCE_P): Delete.
3997         (DECL_CONST_ADDRESS_P): New macro.
3998         (SET_DECL_ORIGINAL_FIELD_TO_FIELD): Likewise.
3999         (SAME_FIELD_P): Likewise.
4000         * gcc-interface/decl.c (constructor_address_p): New static function.
4001         (gnat_to_gnu_entity) <object>: Set DECL_CONST_ADDRESS_P according to
4002         the return value of above function.
4003         (gnat_to_gnu_entity) <E_Record_Type>: Force BLKmode for all types
4004         passed by reference.
4005         <E_Record_Subtype>: Likewise.
4006         Set TREE_ADDRESSABLE on the type if it passed by reference.
4007         (make_packable_type): Use SET_DECL_ORIGINAL_FIELD_TO_FIELD.
4008         (create_field_decl_from): Likewise.
4009         (substitute_in_type): Likewise.
4010         (purpose_member_field): Use SAME_FIELD_P.
4011         * gcc-interface/misc.c (must_pass_by_ref): Test TREE_ADDRESSABLE.
4012         * gcc-interface/trans.c (lvalue_required_p): Add ADDRESS_OF_CONSTANT
4013         parameter and adjust recursive calls.
4014         <N_Explicit_Dereference>: New case.
4015         <N_Object_Declaration>: Return 1 if the object is of a class-wide type.
4016         Adjust calls to lvalue_required_p.  Do not return the initializer of a
4017         DECL_CONST_ADDRESS_P constant if an lvalue is required for it.
4018         (call_to_gnu): Delay issuing error message for a misaligned actual and
4019         avoid the associated back-end assertion.  Test TREE_ADDRESSABLE.
4020         (gnat_gimplify_expr) <ADDR_EXPR>: Handle non-static constructors.
4021         * gcc-interface/utils.c (make_dummy_type): Set TREE_ADDRESSABLE if the
4022         type is passed by reference.
4023         (convert) <CONSTRUCTOR>: Convert in-place in more cases.
4024         * gcc-interface/utils2.c (build_cond_expr): Drop TYPE_BY_REFERENCE_P.
4025         (build_simple_component_ref): Use SAME_FIELD_P.
4026
4027 2010-04-12  Eric Botcazou  <ebotcazou@adacore.com>
4028
4029         * gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.
4030         (call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling
4031         front-end's predicate Is_By_Reference_Type.  Use consistent order and
4032         remove ??? comment.  Use original conversion in all cases, if any.
4033         * gcc-interface/utils.c (make_dummy_type): Minor tweak.
4034         (convert): Use local copy in more cases.
4035         <INDIRECT_REF>: Remove deactivated code.
4036         (unchecked_convert): Use a couple of local copies.
4037
4038 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
4039
4040         * gcc-interface/trans.c (lvalue_required_for_attribute_p): New static
4041         function.
4042         (lvalue_required_p) <N_Attribute_Reference>: Call it.
4043         (gnat_to_gnu) <N_Selected_Component>: Prevent build_component_ref from
4044         folding the result only if lvalue_required_for_attribute_p is true.
4045         * gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly
4046         typed constant to build_component_ref.
4047         (unchecked_convert): Likewise.
4048         * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
4049         (build_allocator): Likewise.
4050
4051 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
4052
4053         * gcc-interface/utils2.c (build_cond_expr): Take the address and
4054         dereference if the result type is passed by reference.
4055
4056 2010-04-11  Eric Botcazou  <ebotcazou@adacore.com>
4057
4058         * gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.
4059         (gnat_to_gnu) <N_Null_Statement>: When not optimizing, generate a
4060         goto to the next statement.
4061
4062 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
4063
4064         * gcc-interface/gigi.h (maybe_variable): Delete.
4065         (protect_multiple_eval): Likewise.
4066         (maybe_stabilize_reference): Likewise.
4067         (gnat_save_expr): Declare.
4068         (gnat_protect_expr): Likewise.
4069         (gnat_stabilize_reference): Likewise.
4070         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
4071         gnat_stabilize_reference.
4072         (maybe_variable): Delete.
4073         (elaborate_expression_1): Use gnat_save_expr.
4074         * gcc-interface/trans.c (Attribute_to_gnu): Use gnat_protect_expr.
4075         (call_to_gnu): Pass NULL to gnat_stabilize_reference.
4076         (gnat_to_gnu) <N_Object_Declaration>: Use gnat_save_expr.
4077         <N_Slice>: Use gnat_protect_exp.
4078         <N_Selected_Component>: Pass NULL to gnat_stabilize_reference.
4079         <N_In>: Use gnat_protect_expr.
4080         Pass NULL to gnat_stabilize_reference.
4081         (build_unary_op_trapv): Use gnat_protect_expr.
4082         (build_binary_op_trapv): Likewise.
4083         (emit_range_check): Likewise.
4084         (emit_index_check): Likewise.
4085         (convert_with_check): Likewise.
4086         (protect_multiple_eval): Move to utils2.c file.
4087         (maybe_stabilize_reference): Merge into...
4088         (gnat_stabilize_reference): ...this.  Move to utils2.c file.
4089         (gnat_stabilize_reference_1): Likewise.
4090         * gcc-interface/utils.c (convert_to_fat_pointer): Use gnat_protect_expr
4091         instead of protect_multiple_eval.
4092         * gcc-interface/utils2.c (compare_arrays): Likewise.
4093         (nonbinary_modular_operation): Likewise.
4094         (maybe_wrap_malloc): Likewise.
4095         (build_allocator): Likewise.
4096         (gnat_save_expr): New function.
4097         (gnat_protect_expr): Rename from protect_multiple_eval.  Early return
4098         in common cases.  Propagate TREE_READONLY onto dereferences.
4099         (gnat_stabilize_reference_1): Move from trans.c file.
4100         (gnat_stabilize_reference): Likewise.
4101
4102 2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
4103
4104         * gcc-interface/gigi.h (gnat_mark_addressable): Rename parameter.
4105         * gcc-interface/decl.c (maybe_variable): Do not set TREE_STATIC on _REF
4106         node.  Use the type of the operand to set TREE_READONLY.
4107         * gcc-interface/trans.c (Identifier_to_gnu): Do not set TREE_STATIC on
4108         _REF node.  Do not overwrite TREE_READONLY.
4109         (call_to_gnu): Rename local variable and fix various nits.  In the
4110         copy-in/copy-out case, build the SAVE_EXPR manually.
4111         (convert_with_check): Call protect_multiple_eval in lieu of save_expr
4112         and fold the computations.
4113         (protect_multiple_eval): Always save entire fat pointers.
4114         (maybe_stabilize_reference): Minor tweaks.
4115         (gnat_stabilize_reference_1): Likewise.  Do not deal with tcc_constant,
4116         tcc_type and tcc_statement.
4117         * gcc-interface/utils.c (convert_to_fat_pointer): Call
4118         protect_multiple_eval in lieu of save_expr.
4119         (convert): Minor tweaks.
4120         (maybe_unconstrained_array): Do not set TREE_STATIC on _REF node.
4121         (builtin_type_for_size): Call gnat_type_for_size directly.
4122         * gcc-interface/utils2.c (contains_save_expr_p): Delete.
4123         (contains_null_expr): Likewise
4124         (gnat_build_constructor): Do not call it.
4125         (compare_arrays): Deal with all side-effects, use protect_multiple_eval
4126         instead of gnat_stabilize_reference to protect the operands.
4127         (nonbinary_modular_operation): Call protect_multiple_eval in lieu of
4128         save_expr.
4129         (maybe_wrap_malloc): Likewise.
4130         (build_allocator): Likewise.
4131         (build_unary_op) <INDIRECT_REF>: Do not set TREE_STATIC on _REF node.
4132         (gnat_mark_addressable): Rename parameter.
4133
4134 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
4135
4136         * gcc-interface/ada-tree.h (TYPE_RETURNS_UNCONSTRAINED_P): Rename into.
4137         (TYPE_RETURN_UNCONSTRAINED_P): ...this.
4138         (TYPE_RETURNS_BY_REF_P): Rename into.
4139         (TYPE_RETURN_BY_DIRECT_REF_P): ...this.
4140         (TYPE_RETURNS_BY_TARGET_PTR_P): Delete.
4141         * gcc-interface/gigi.h (create_subprog_type): Adjust parameter names.
4142         (build_return_expr): Likewise.
4143         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>:
4144         Rename local variables.  If the return Mechanism is By_Reference, pass
4145         return_by_invisible_ref_p to create_subprog_type instead of toggling
4146         TREE_ADDRESSABLE.  Test return_by_invisible_ref_p in order to annotate
4147         the mechanism.  Use regular return for contrained types with non-static
4148         size and return by invisible reference for unconstrained return types
4149         with default discriminants.  Update comment.
4150         * gcc-interface/trans.c (Subprogram_Body_to_gnu): If the function
4151         returns by invisible reference, turn the RESULT_DECL into a pointer.
4152         Do not handle DECL_BY_REF_P in the CICO case here.
4153         (call_to_gnu): Remove code handling return by target pointer.  For a
4154         function call, if the return type has non-constant size, generate the
4155         assignment with an INIT_EXPR.
4156         (gnat_to_gnu) <N_Return_Statement>: Remove dead code in the CICO case.
4157         If the function returns by invisible reference, build the copy return
4158         operation manually.
4159         (add_decl_expr): Initialize the variable with an INIT_EXPR.
4160         * gcc-interface/utils.c (create_subprog_type): Adjust parameter names.
4161         Adjust for renaming of macros.  Copy the node only when necessary.
4162         (create_subprog_decl): Do not toggle TREE_ADDRESSABLE on the return
4163         type, only change DECL_BY_REFERENCE on the RETURN_DECL.
4164         (convert_from_reference): Delete.
4165         (is_byref_result): Likewise.
4166         (gnat_genericize_r): Likewise.
4167         (gnat_genericize): Likewise.
4168         (end_subprog_body): Do not call gnat_genericize.
4169         * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: New case.
4170         (build_return_expr): Adjust parameter names, logic and comment.
4171
4172 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4173
4174         * exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
4175         if the size is small enough.  Propagate the alignment if there is an
4176         alignment clause on the original array type.
4177         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
4178         Deal with under-aligned packed array types.  Copy the size onto the
4179         justified modular type and don't lay it out again.  Likewise for the
4180         padding type built for other under-aligned subtypes.
4181         * gcc-interface/utils.c (finish_record_type): Do not set a default mode
4182         on the type.
4183
4184 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4185
4186         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set default
4187         alignment on the RETURN type built for the Copy-In Copy-Out mechanism.
4188
4189 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
4190
4191         * gcc-interface/trans.c (call_to_gnu): In the return-by-target-ptr case
4192         do not set the result type if there is a specified target and do not
4193         convert the result in any cases.
4194         (protect_multiple_eval): Make direct SAVE_EXPR for CALL_EXPR.
4195         (maybe_stabilize_reference) <COMPOUND_EXPR>: Merge with CALL_EXPR.
4196
4197 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
4198
4199         * gcc-interface/Makefile.in (SPARC/Solaris): Use sparcv8plus.
4200
4201 2010-02-27  Eric Botcazou  <ebotcazou@adacore.com>
4202
4203         PR ada/42253
4204         * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Assert that fat
4205         pointer base types are variant of each other.  Apply special treatment
4206         for null to fat pointer types in all cases.
4207
4208 2010-01-28  Pascal Obry  <obry@adacore.com>
4209
4210         * s-win32.ads: Add some missing constants.
4211
4212 2010-01-28  Vincent Celier  <celier@adacore.com>
4213
4214         * prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is
4215         Unknown_Package.
4216
4217 2010-01-28  Robert Dewar  <dewar@adacore.com>
4218
4219         * gnat_rm.texi: Minor correction
4220
4221 2010-01-27  Pascal Obry  <obry@adacore.com>
4222
4223         * g-awk.adb: ensure that an AWK session is reusable.
4224
4225 2010-01-27  Vasiliy Fofanov  <fofanov@adacore.com>
4226
4227         * g-regist.adb (For_Every_Key): Fix previous change.
4228         Minor reformatting.
4229
4230 2010-01-27  Thomas Quinot  <quinot@adacore.com>
4231
4232         * lib-writ.ads: Current version of spec for new N (note) ALI lines
4233
4234 2010-01-27  Yannick Moy  <moy@adacore.com>
4235
4236         * a-cdlili.adb (Insert): Correct exception message when cursor
4237         designates wrong list.
4238
4239 2010-01-27  Vincent Celier  <celier@adacore.com>
4240
4241         * gnatcmd.adb: When there is only one main specified, the package
4242         support Switches (<main>) and attribute Switches is specified for the
4243         main, use these switches, instead of Default_Switches ("Ada").
4244
4245 2010-01-27  Robert Dewar  <dewar@adacore.com>
4246
4247         * sem_prag.adb, par-prag.adb, snames.ads-tmpl: pragma Dimension initial
4248         implementation.
4249         * exp_disp.adb: Minor reformatting
4250
4251 2010-01-27  Tristan Gingold  <gingold@adacore.com>
4252
4253         * seh_init.c: Use __ImageBase instead of _ImageBase.
4254
4255 2010-01-27  Javier Miranda  <miranda@adacore.com>
4256
4257         * exp_disp.ads, exp_disp.adb (Expand_Interface_Thunk): Modify the
4258         profile of interface thunks. The type of the controlling formal is now
4259         the covered interface type (instead of the target tagged type).
4260
4261 2010-01-27  Sergey Rybin  <rybin@adacore.com>
4262
4263         * gnat_rm.texi, gnat_ugn.texi: Update gnatcheck doc.
4264
4265 2010-01-27  Robert Dewar  <dewar@adacore.com>
4266
4267         * sinput.ads, sinput.adb (Sloc_Range): Applies to all nodes, formal
4268         changed from Expr to N.
4269
4270 2010-01-26  Thomas Quinot  <quinot@adacore.com>
4271
4272         * gnat_ugn.texi: Adjust documentation of -gnatz switches.
4273         * usage.adb: Replace line for -gnatz with two lines for -gnatzc and
4274         -gnatzr.
4275
4276 2010-01-26  Vincent Celier  <celier@adacore.com>
4277
4278         * prj-attr.adb: Add new attribute Library_Install_Name_Option
4279         Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
4280         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
4281         attributes Run_Path_Option and Library_Install_Name_Option.
4282         * prj.ads (Project_Configuration): Replace component
4283         Run_Path_Origin_Supported with component Run_Path_Origin. Add new
4284         component Library_Install_Name_Option.
4285         * snames.ads-tmpl: Add new standard name Library_Install_Name_Option
4286         Replace Run_Path_Origin_Supported with Run_Path_Origin
4287
4288 2010-01-26  Ed Schonberg  <schonberg@adacore.com>
4289
4290         * sem_ch8.adb (Use_One_Package): Within an instance, an actual package
4291         is not hidden by a homograph declared in another actual package.
4292
4293 2010-01-26  Robert Dewar  <dewar@adacore.com>
4294
4295         * par_sco.adb (Traverse_Declarations_Or_Statements): Only generate
4296         decisions for pragmas Assert, Check, Precondition, Postcondition if
4297         -gnata set.
4298         * scos.ads: Update comments.
4299         * get_scos.adb, put_scos.adb: Minor fix to code reading statement SCOs.
4300         Also remove obsolete code for CT (exit point) SCOs.
4301
4302 2010-01-26  Thomas Quinot  <quinot@adacore.com>
4303
4304         * switch-c.adb: Fix handling of -gnatz*
4305
4306 2010-01-26  Robert Dewar  <dewar@adacore.com>
4307
4308         * par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W
4309         qualifiers for FOR/WHILE loops
4310         * scos.ads: Use separate type letters F/W for for/while loops
4311
4312 2010-01-26  Robert Dewar  <dewar@adacore.com>
4313
4314         * get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple
4315         entries per line, one for each statement in the sequence).
4316         * par_sco.adb (Traverse_Declarations_Or_Statements): Increase array
4317         size from 100 to 10_000 for SC_Array to avoid any real possibility of
4318         overflow. Output decisions in for loops.
4319         Exclude labels from CS lines.
4320         * scos.ads: Clarify that label is not included in the entry point
4321
4322 2010-01-26  Robert Dewar  <dewar@adacore.com>
4323
4324         * par_sco.adb (Traverse_Declarations_Or_Statments): Implement new
4325         format of statement sequence SCO entries (one location/statement).
4326         * put_scos.adb (Put_SCOs): Implement new format of CS lines
4327         * scos.ads: Update comments.
4328         * sem_eval.adb: Minor reformatting.
4329
4330 2010-01-26  Robert Dewar  <dewar@adacore.com>
4331
4332         * par_sco.ads, par_sco.adb (Set_Statement_Entry): New handling of exits
4333         (Extend_Statement_Sequence): New procedures
4334         (Traverse_Declarations_Or_Statements): New handling for exits.
4335
4336 2010-01-26  Robert Dewar  <dewar@adacore.com>
4337
4338         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
4339         Case.
4340
4341 2010-01-26  Robert Dewar  <dewar@adacore.com>
4342
4343         * par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
4344         * scos.ads: Clarify handling of logical operators
4345
4346 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
4347
4348         * s-tpoben.adb: Update comments.
4349
4350 2010-01-26  Robert Dewar  <dewar@adacore.com>
4351
4352         * freeze.adb (Set_Small_Size): Don't set size if alignment clause
4353         present.
4354
4355 2010-01-26  Robert Dewar  <dewar@adacore.com>
4356
4357         * scos.ads: Clean up documentation, remove obsolete XOR references
4358 2010-01-26  Vincent Celier  <celier@adacore.com>
4359
4360         * gnat_ugn.texi: Complete documentation on the restrictions for
4361         combined options in -gnatxxx switches.
4362         Fix typo.
4363
4364 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
4365
4366         * s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from
4367         a controlled operation, abort is already deferred at this point, so we
4368         need to use Defer_Abort_Nestable.
4369
4370 2010-01-26  Vincent Celier  <celier@adacore.com>
4371
4372         * prj-conf.adb (Get_Config_Switches): Check for a default language for
4373         a project extending a project with no languages.
4374
4375 2010-01-26  Vincent Celier  <celier@adacore.com>
4376
4377         * switch-c.adb (Scan_Front_End_Switches): Take into account options
4378         that follow -gnatef.
4379         Allow -gnateG to be followed by other options.
4380
4381 2010-01-26  Robert Dewar  <dewar@adacore.com>
4382
4383         * s-commun.ads, s-osprim-mingw.adb, s-stchop-vxworks.adb, sem_aggr.adb,
4384         s-vxwext.adb, sem_ch10.adb, sem_eval.adb, sem_prag.adb: Minor
4385         reformatting.
4386
4387 2010-01-26  Vasiliy Fofanov  <fofanov@adacore.com>
4388
4389         * g-regist.adb, g-regist.ads (For_Every_Key): New generic procedure
4390         that allows to iterate over all subkeys of a key.
4391
4392 2010-01-26  Ed Falis  <falis@adacore.com>
4393
4394         * sysdep.c: enable NFS for VxWorks MILS
4395         * env.c: enable __gnat_environ for VxWorks MILS
4396         * gcc-interface/Makefile.in: Add VxWorks MILS target pairs.
4397
4398 2010-01-25  Bob Duff  <duff@adacore.com>
4399
4400         * sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
4401         is an internally-generated positional aggregate, and the bounds are
4402         already correctly set. We don't want to overwrite those bounds with
4403         bounds determined by context.
4404
4405 2010-01-25  Robert Dewar  <dewar@adacore.com>
4406
4407         * g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
4408         exp_ch9.adb, g-sechas.ads: Minor reformatting.
4409
4410 2010-01-25  Thomas Quinot  <quinot@adacore.com>
4411
4412         * s-commun.adb (Last_Index): Count must be converted to SEO (a signed
4413         integer type) before subtracting 1, otherwise the computation may wrap
4414         (because size_t is modular) and cause the conversion to fail.
4415
4416 2010-01-25  Ed Falis  <falis@adacore.com>
4417
4418         * sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
4419
4420 2010-01-25  Vincent Celier  <celier@adacore.com>
4421
4422         * prj-attr.adb: New attribute Run_Path_Origin_Required
4423         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
4424         attribute Run_Path_Origin_Required.
4425         * prj.ads (Project_Configuration): New component
4426         Run_Path_Origin_Supported.
4427         * snames.ads-tmpl: New standard name Run_Path_Origin_Required
4428
4429 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
4430
4431         * sem_aggr.adb (Resolve_Array_Aggregate): If the bounds in a choice
4432         have errors, do not continue resolution of the aggregate.
4433         * sem_eval.adb (Eval_Indexed_Component): Do not attempt to evaluate if
4434         the array type indicates an error.
4435
4436 2010-01-25  Bob Duff  <duff@adacore.com>
4437
4438         * sinfo.ads: Minor comment fixes.
4439
4440 2010-01-25  Bob Duff  <duff@adacore.com>
4441
4442         * exp_ch4.adb, exp_aggr.adb: Minor comment fixes and code clean up.
4443
4444 2010-01-25  Arnaud Charlet  <charlet@adacore.com>
4445
4446         * gnatvsn.ads (Current_Year): Update.
4447
4448 2010-01-25  Florian Villoing  <villoing@adacore.com>
4449
4450         * gnat_ugn.texi: Fix typo.
4451
4452 2010-01-25  Thomas Quinot  <quinot@adacore.com>
4453
4454         * scos.ads: Update specification.
4455
4456 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
4457
4458         * sem_ch6.adb (Process_PPCs): If a postcondition is present and the
4459         enclosing subprogram has no previous spec, attach postcondition
4460         procedure to the defining entity for the body.
4461
4462 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
4463
4464         * exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to
4465         initialization procedure of the ancestor part of an extension aggregate
4466         if it is an interface type.
4467
4468 2010-01-25  Vincent Celier  <celier@adacore.com>
4469
4470         * gnatlink.adb (Process_Binder_File): The directory for the shared
4471         version of libgcc in the run path options is found in the subdirectory
4472         indicated by __gnat_default_libgcc_subdir.
4473         * link.c: Declare new const char * __gnat_default_libgcc_subdir for
4474         each platform.
4475
4476 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
4477
4478         * sem_prag.adb: More flexible pragma Annotate.
4479
4480 2010-01-22  Eric Botcazou  <ebotcazou@adacore.com>
4481
4482         * system-linux-armel.ads (Stack_Check_Probes): Set to True.
4483         * system-linux-armeb.ads (Stack_Check_Probes): Likewise.
4484
4485 2010-01-18  Eric Botcazou  <ebotcazou@adacore.com>
4486
4487         * gcc-interface/utils.c (create_var_decl_1): Fix formatting nits.
4488
4489 2010-01-18  Jan Hubicka  <jh@suse.cz>
4490
4491         PR middle-end/42068
4492         * gcc-interface/utils.c (create_var_decl_1): Do not set COMMON flag for
4493         unit local variables.
4494
4495 2010-01-17  Laurent GUERBY  <laurent@guerby.net>
4496
4497         * gcc-interface/Makefile.in: Fix typo in arm*-*-linux-gnueabi.
4498
4499 2010-01-11  Mikael Pettersson  <mikpe@it.uu.se>
4500
4501         * gcc-interface/Makefile.in: Add arm*-*-linux-gnueabi.
4502         * system-linux-armeb.ads, system-linux-armel.ads: New files.
4503
4504 2010-01-09  Simon Wright  <simon@pushface.org>
4505
4506         PR ada/42626
4507         * gcc-interface/Makefile.in (gnatlib-shared-darwin): Add missing
4508         end-quote.
4509
4510
4511 \f
4512 Copyright (C) 2010 Free Software Foundation, Inc.
4513
4514 Copying and distribution of this file, with or without modification,
4515 are permitted in any medium without royalty provided the copyright
4516 notice and this notice are preserved.