OSDN Git Service

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