OSDN Git Service

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