OSDN Git Service

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