Fix typos.
[platform/upstream/gcc.git] / gcc / ada / ChangeLog
1 2013-07-20  Eric Botcazou  <ebotcazou@adacore.com>
2
3         PR ada/57934
4         * gcc-interface/ada.h (CAT): Fix typo.
5
6 2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>
7
8         * einfo.adb (Get_Pragma): Handle the retrieval of delayed
9         pragmas stored in N_Contract nodes.
10         * einfo.ads (Get_Pragma): Update the comment on usage.
11         * sem_prag.adb (Check_Precondition_Postcondition): Retain a copy
12         of the pragma when it applies to a body that acts as a spec. The
13         copy is preanalyzed and chained on the contract of the body.
14
15 2013-07-08  Robert Dewar  <dewar@adacore.com>
16
17         * rtsfind.adb: Minor comment fix.
18
19 2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>
20
21         * sem_ch4.adb (Check_Ghost_Subprogram_Call): Do not check the placement
22         of a Ghost function call when the enclosing context is being
23         preanalyzed.
24
25 2013-07-08  Ed Schonberg  <schonberg@adacore.com>
26
27         * exp_ch6.adb (Expand_Inlined_Call, Process_Formals): If the
28         expression in a return statement is a numeric literal, qualify
29         it with the return type for proper resolution.
30
31 2013-07-08  Robert Dewar  <dewar@adacore.com>
32
33         * sem.ads: Minor comment updates.
34         * s-restri.ads, exp_ch6.adb, lib-load.ads, exp_ch3.adb, sem_ch10.adb:
35         Minor reformatting.
36
37 2013-07-08  Robert Dewar  <dewar@adacore.com>
38
39         * exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry
40         for Restriction_Set.
41         * gnat_rm.texi: Add missing menu entry for Attribute Ref Add
42         documentation for attribute Restriction_Set.
43         * lib-writ.adb (Write_With_Lines): Generate special W lines
44         for Restriction_Set.
45         * lib-writ.ads: Document special use of W lines for
46         Restriction_Set.
47         * lib.ads (Restriction_Set_Dependences): New table.
48         * par-ch4.adb (Is_Parameterless_Attribute): Add Loop_Entry to
49         list (Scan_Name_Extension_Apostrophe): Remove kludge test for
50         Loop_Entry (Scan_Name_Extension_Apostrophe): Handle No_Dependence
51         for Restricton_Set.
52         * restrict.adb (Check_SPARK_Restriction): Put in Alfa order
53         (OK_No_Dependence_Unit_Name): New function.
54         * restrict.ads (OK_No_Dependence_Unit_Name): New function.
55         * rtsfind.adb: Minor reformatting Minor code reorganization.
56         * sem_attr.adb (Analyze_Attribute): Add processing for
57         Restriction_Set.
58         * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
59         Remove Check_Unit_Name and use new function
60         OK_No_Dependence_Unit_Name instead.
61         * sinfo.ads: Minor comment updates.
62         * snames.ads-tmpl: Add entry for Restriction_Set attribute.
63
64 2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>
65
66         * exp_ch4.adb (Apply_Accessibility_Check): Remove local constant
67         Pool_Id and local variable Free_Stmt. Do not deallocate the faulty
68         object as "free" is not available on all targets/profiles.
69
70 2013-07-08  Robert Dewar  <dewar@adacore.com>
71
72         * sem_ch13.adb (Analyze_Aspect_Specifications): Handle
73         Storage_Size aspect for task type in case discriminant is
74         referenced.
75         (Analyze_Attribute_Definition_Clause): Do not flag Storage_Size
76         attribute definition clause as obsolescent if from aspect.
77
78 2013-07-08  Robert Dewar  <dewar@adacore.com>
79
80         * gnat_rm.texi: Add documentation for Img returning a function.
81         * par-prag.adb: Minor reformatting.
82         * restrict.adb: Minor reformatting and code reorganization.
83
84 2013-07-08  Ed Schonberg  <schonberg@adacore.com>
85
86         * sem_res.adb: add guard to ASIS transform.
87
88 2013-07-08  Ed Schonberg  <schonberg@adacore.com>
89
90         * exp_ch9.adb (Expand_N_Asynchronous_Select): If the trigger
91         of the asynchronous select is a dispatching call, transform the
92         abortable part into a procedure, to avoid duplication of local
93         loop variables that may appear within.
94
95 2013-07-08  Vincent Celier  <celier@adacore.com>
96
97         * projects.texi: Update the documentation of suffixes in package
98         Naming.
99
100 2013-07-08  Ed Schonberg  <schonberg@adacore.com>
101
102         * sem_ch6.adb (Conforming_Types): Anonymous_access_to_subprograsm
103         types are type conformant if the designated type of one is
104         protected and the other is not. Convention only matters when
105         checking subtype conformance.
106
107 2013-07-08  Ed Schonberg  <schonberg@adacore.com>
108
109         * sem_res.adb (Make_Call_Into_Operator): In ASIS mode, propagate
110         back the fully resolved operands to the original function call
111         so that all semantic information remains available to ASIS.
112
113 2013-07-08  Ed Schonberg  <schonberg@adacore.com>
114
115         * sem_ch4.adb: minor reformatting (remove obsolete comment).
116         * sem_ch9.adb: improve error message on illegal trigger.
117
118 2013-07-08  Robert Dewar  <dewar@adacore.com>
119
120         * sem_prag.adb: Minor reformatting.
121
122 2013-07-08  Robert Dewar  <dewar@adacore.com>
123
124         * gnatcmd.adb: Minor reformatting.
125
126 2013-07-08  Robert Dewar  <dewar@adacore.com>
127
128         * targparm.adb (Get_Target_Parameters): Recognize pragma
129         Partition_Elaboration_Policy.
130
131 2013-07-08  Robert Dewar  <dewar@adacore.com>
132
133         * gnat_ugn.texi: Minor update to mention partition elaboration policy.
134
135 2013-07-08  Ed Schonberg  <schonberg@adacore.com>
136
137         * sem_ch4.adb (Comple_Object_Operation): Revert previous change.
138         (Analyze_Indexed_Component_Form): In ASIS mode, if node has been
139         transformed but not rewritten as a function call (as is the case
140         in a generic), analyze it as such.
141
142 2013-07-08  Thomas Quinot  <quinot@adacore.com>
143
144         * gnat_rm.texi: Minor rewording: add missing word "operators"
145         in documentation for restriction No_Direct_Boolean_Operator.
146
147 2013-07-08  Robert Dewar  <dewar@adacore.com>
148
149         * errout.adb (Set_Msg_Txt): No longer sets Is_Style_Msg,
150         Is_Warning_Msg, or Is_Unconditional_Msg (all are set elsewhere
151         now).
152         * errout.ads: Insertions ! and !! no longer have to be at the
153         end of the message, they can be anywhere in the message.
154         * erroutc.adb (Test_Style_Warning_Serious_Unconditional_Msg):
155         Replaces Test_Style_Warning_Serious_Msg
156         * erroutc.ads (Has_Double_Exclam): New flag New comments for
157         existing flags (Test_Style_Warning_Serious_Unconditional_Msg):
158         Replaces Test_Style_Warning_Serious_Msg
159         * errutil.adb (Test_Style_Warning_Serious_Unconditional_Msg):
160         Replaces Test_Style_Warning_Serious_Msg
161
162 2013-07-08  Robert Dewar  <dewar@adacore.com>
163
164         * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
165         Recognize SPARK_05 as synonym for SPARK in restrictions pragma.
166         * restrict.ads, restrict.adb (SPARK_Hides): Table moved to body, only
167         referenced there.
168         * scng.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb,
169         sem_res.adb, sem_util.adb: Use restriction SPARK_05 instead of SPARK.
170         * snames.ads-tmpl (Name_No_Obsolescent_Features): New entry.
171
172 2013-07-08  Vincent Celier  <celier@adacore.com>
173
174         * gnatcmd.adb (Check_Files): Use a response file for gnatls
175         when possible.
176
177 2013-07-08  Gary Dismukes  <dismukes@adacore.com>
178
179         * freeze.adb: Minor typo fixes.
180
181 2013-07-08  Robert Dewar  <dewar@adacore.com>
182
183         * gnat_rm.texi: Document SPARK_05 (replaces SPARK) Document
184         obsolete recognition of SPARK Document all other obsolete synonyms
185         for old restrictions.
186         * restrict.adb (Check_SPARK_Restriction): SPARK_05 replaces
187         SPARK (Process_Restriction_Synonyms): Handle SPARK as synonym
188         for SPARK_05.
189         * restrict.ads: Restriction SPARK_05 replaces SPARK.
190         * s-rident.ads: Replace restriction SPARK by SPARK_05 Add SPARK
191         as synonym for SPARK_05.
192         * sem_prag.adb: Minor reformatting.
193         * snames.ads-tmpl: Add entries for Name_SPARK and Name_SPARK_05.
194
195 2013-07-08  Robert Dewar  <dewar@adacore.com>
196
197         * sem_dim.adb: Minor error message change.
198         * freeze.adb (Freeze_Entity, array type case): Extend handling
199         of Implicit_Packing to handle multi-dimensional array case.
200         * gnat_rm.texi: Update doc on Implicit_Packing.
201
202 2013-07-08  Robert Dewar  <dewar@adacore.com>
203
204         * exp_ch4.adb: Minor reformatting.
205
206 2013-07-08  Ed Schonberg  <schonberg@adacore.com>
207
208         * sem_ch4.adb (Complete_Object_Operation): In ASIS mode, if
209         the parent node is a selected component and the analysis as a
210         call is successful, set the type of the selector in the parent
211         node for subsequent checks, because the rewriting of the node
212         does not take place during pre-analysis.
213
214  2013-07-08  Robert Dewar  <dewar@adacore.com>
215
216         * sem_ch8.adb, exp_ch3.adb: Minor reformatting.
217
218 2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>
219
220         * exp_ch4.adb (Expand_N_Op_Eq): When comparing two
221         Bounded_Strings, use the predefined equality function of the
222         root Super_String type.
223
224 2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>
225
226         * exp_ch4.adb (Create_Alternative): Removed.
227         (Expand_N_If_Expression): Remove constant
228         In_Case_Or_If_Expression. Add local variable
229         Ptr_Typ. Inspect the "then" and "else" action lists
230         for transient controlled objects and generate code to
231         finalize them.  (Is_Controlled_Function_Call): Removed.
232         (Process_Action): Update the comment on usage. Update the call
233         to Process_Transient_Object. There is no need to continue the
234         traversal of the object itself.
235         (Process_Actions): New routine.
236         (Process_Transient_Object): Moved to the top level of Exp_Ch4. Add
237         a new formal and update the related comment on usage.
238         * exp_util.adb (Within_Case_Or_If_Expression): Start the search
239         from the parent of the node.
240
241 2013-07-08  Robert Dewar  <dewar@adacore.com>
242
243         * a-cusyqu.ads, a-cbprqu.ads, s-interr.ads, a-cuprqu.ads,
244         a-cbsyqu.ads: Minor reformatting (proper formatting of overriding).
245
246 2013-07-08  Ed Schonberg  <schonberg@adacore.com>
247
248         * sem_ch8.adb (Attribute_Renaming): Treat 'Img as an attribute
249         that can be renamed as a function.
250
251 2013-07-08  Thomas Quinot  <quinot@adacore.com>
252
253         * g-socket.ads: Document target dependency: FIONBIO may or may not
254         be inherited from listening socket by accepted socket.
255
256 2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>
257
258         * exp_ch4.adb (Apply_Accessibility_Check): Do not deallocate the object
259         on targets that can't deallocate.
260
261 2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>
262
263         * exp_ch3.adb (Freeze_Type): Generate a
264         subpools-related accessibility check only on profiles that
265         include the corresponding library unit.
266
267 2013-07-08  Gary Dismukes  <dismukes@adacore.com>
268
269         * sem_ch8.adb: Minor typo fixes.
270
271 2013-07-08  Javier Miranda  <miranda@adacore.com>
272
273         * sem_ch8.adb (Save_Scope_Stack): Adding documentation.
274         (Restore_Scope_Stack): Remove the elements of the list when the
275         visibility of each entity is restored.
276
277 2013-07-08  Robert Dewar  <dewar@adacore.com>
278
279         * exp_ch9.adb, sem.ads, sem_util.adb: Minor reformatting.
280
281 2013-07-08  Robert Dewar  <dewar@adacore.com>
282
283         * sem_ch8.adb, sem_ch8.ads: Minor reformatting.
284
285 2013-07-08  Gary Dismukes  <dismukes@adacore.com>
286
287         * gnat_rm.texi: Minor reformatting and rewording for consistency.
288
289 2013-07-08  Bob Duff  <duff@adacore.com>
290
291         * exp_ch3.adb (Build_Master): If Desig_Type is an incomplete
292         view coming from a limited-with'ed package, use the nonlimited
293         view in case it has tasks.
294
295 2013-07-08  Javier Miranda  <miranda@adacore.com>
296
297         * sem_ch8.ad[sb] (Save_Scope_Stack): Modified to return the list
298         of entities which have been temporarily removed from immediate
299         visibility.
300         (Restore_Scope_Stack): Modified to receive an
301         additional parameter with the list of entities whose immediate
302         visibility must be restored.
303         * sem.adb (Do_Analyze): Use new version of
304         Save_Scope_Stack/Restore_Scope_Stack
305         * sem_ch12.adb (Inline_Instance_Body): Use new version of
306         Save_Scope_Stack and Restore_Scope_Stack
307
308 2013-07-08  Hristian Kirtchev  <kirtchev@adacore.com>
309
310         * sem_prag.adb (Analyze_Pragma): Remove
311         variable Unit_Prag. Remove the check on duplicate mode for the
312         configuration form of the pragma.
313         (Redefinition_Error): Removed.
314
315 2013-07-08  Robert Dewar  <dewar@adacore.com>
316
317         * lib.ads, gnat_rm.texi, einfo.ads, sem_ch13.adb: Minor reformatting
318         and editing.
319
320 2013-07-08  Ed Schonberg  <schonberg@adacore.com>
321
322         * sem_prag.adb (Analyze_PPC_In_Decl_Part): In ASIS mode,
323         pre-analyze only the original expression attached to the source
324         aspect, not the relocated expression of the pragma, to prevent
325         malformed trees in ASIS mode.
326         * sem_ch13.adb (Analyze_Aspect_Specifications): Revert previous
327         patch: the expression in the aspect for pre/post must be relocated
328         to the pragma for proper analysis.
329
330 2013-07-05  Hristian Kirtchev  <kirtchev@adacore.com>
331
332         * aspects.adb: Add an entry for SPARK_Mode in table Canonical_Aspect.
333         * aspects.ads: Add an entry for SPARK_Mode in tables Aspect_Id,
334         Aspect_Argument, Aspect_Names.
335         * atree.adb (Node32): New routine.
336         (Set_Node32): New routine.
337         * atree.ads (Node32): New routine.
338         (Set_Node32): New routine.
339         * einfo.adb: Node32 is now used as SPARK_Mode_Pragmas.
340         (Set_SPARK_Mode_Pragmas): New routine.
341         (SPARK_Mode_Pragmas): New routine.
342         (Write_Field32_Name): Add and entry for SPARK_Modes.
343         * einfo.ads: Add attribute SPARK_Mode_Pragmas along with usage
344         in various entities.
345         (Set_SPARK_Mode_Pragmas): New routine and
346         pragma Inline.
347         (SPARK_Mode_Pragmas): New routine and pragma Inline.
348         * gnat_rm.texi: Add sections explaining the syntax and semantics
349         of aspect/pragma SPARK_Mode.
350         * gnat_ugn.texi: Add pragma SPARK_Mode to the list of
351         configuration pragmas.
352         * lib.adb (Set_SPARK_Mode_Pragma): New routine.
353         (SPARK_Mode_Pragma): New routine.
354         * lib.ads: Alphabetize the comments on fields of record
355         Unit_Record. Add new field SPARK_Mode_Pragma along with
356         comment on its usage. Update the layout of record Unit_Record.
357         (Set_SPARK_Mode_Pragma): New routine and pragma Inline.
358         (SPARK_Mode_Pragma): New routine and pragma Inline.
359         * lib-load.adb (Create_Dummy_Package_Unit): Initialize
360         field SPARK_Mode_Pragma.
361         (Load_Main_Source): Initialize field SPARK_Mode_Pragma.
362         (Load_Unit): Initialize field SPARK_Mode_Pragma.
363         * lib-writ.adb (Add_Preprocessing_Dependency): Initialize field
364         SPARK_Mode_Pragma.
365         (Ensure_System_Dependency): Initialize field SPARK_Mode_Pragma.
366         * opt.ads: Alphabetize verification flags. Store the
367         compilation-wide SPARK mode in variable Global_SPARK_Mode.
368         * par-prag.adb: Pragma SPARK_Mode does not need special processing
369         by the parser.
370         * sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect
371         SPARK_Mode into a pragma.
372         (Check_Aspect_At_Freeze_Point): Aspect SPARK_Mode does not need
373         delayed processing.
374         * sem_prag.adb: Add an entry for SPARK_Mode in table Sig_Flags.
375         (Analyze_Pragma): Add processing for pragma SPARK_Mode.
376         (Get_SPARK_Mode_Id): New routine.
377         (Is_Elaboration_SPARK_Mode): New routine.
378         (Is_Private_SPARK_Mode): New routine.
379         * sem_prag.ads (Get_SPARK_Mode_Id): New routine.
380         (Is_Elaboration_SPARK_Mode): New routine.
381         (Is_Private_SPARK_Mode): New routine.
382         * sinfo.ads: Update the comment on the usage of field Next_Pragma.
383         * snames.ads-tmpl: Add new predefined name for SPARK_Mode and
384         Auto. Add new pragma Id for SPARK_Mode.
385         * types.ads: Add new type SPARK_Mode_Id.
386
387 2013-07-05  Ed Schonberg  <schonberg@adacore.com>
388
389         * sem_ch13.adb (Analyze_Aspect_Specifications): For
390         pre/postconditions copy the expression to the generated pragma,
391         to avoid sharing between the original aspect and the pragma node,
392         because in ASIS_Mode both will be independently analyzed.
393
394 2013-07-05  Ed Schonberg  <schonberg@adacore.com>
395
396         * exp_ch3.adb (Build_Variant_Record_Equality): Add pairs of
397         formals for each discriminant of an unchecked union.
398         (Make_Eq_Case): Suprogram accepts a list of discriminants. Nested
399         variants are supported. New helper function Corresponding_Formal.
400         * exp_ch4.adb (Build_Equality_Call): For unchecked unions,
401         loop through discriminants to create list of inferred values,
402         and modify call to equality routine accordingly.
403
404 2013-07-05  Claire Dross  <dross@adacore.com>
405
406         * a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cforma.ads,
407         a-cforse.ads, a-cofove.ads: Add preconditions when needed +
408         container types are not tagged any more.
409
410 2013-07-05  Thomas Quinot  <quinot@adacore.com>
411
412         * freeze.adb (Freeze_Entity): For an object with captured
413         initialization statements, do not remove Init_Stmts from the
414         enclosing list, as Freeze_All might rely on it to know where to
415         stop freezing.
416
417 2013-07-05  Robert Dewar  <dewar@adacore.com>
418
419         * exp_ch4.adb, a-cfdlli.ads, a-ngelfu.ads, s-bignum.adb: Minor
420         reformatting.
421
422 2013-07-05  Hristian Kirtchev  <kirtchev@adacore.com>
423
424         * exp_ch4.adb (Expand_Composite_Equality): Use the full view
425         when the base type is private.
426
427 2013-07-05  Claire Dross  <dross@adacore.com>
428
429         * a-cfdlli.ads: Add preconditions when needed.
430
431 2013-07-05  Robert Dewar  <dewar@adacore.com>
432
433         * sem_ch8.adb: Minor reformatting.
434
435 2013-07-05  Ed Schonberg  <schonberg@adacore.com>
436
437         * sem_ch3.adb (Access_Subprogram_Declaration): Use
438         Generate_Reference_To_Formals.
439         * lib-xref.adb (Generate_Reference_To_Formals): In the case of
440         access to subprograms, the formals are found in the designated
441         subprogram type.
442
443 2013-07-05  Robert Dewar  <dewar@adacore.com>
444
445         * gnat_ugn.texi: Document that comments can be lined up with
446         previous non-blank line.
447         * styleg.adb (Check_Comment): Allow indentation to match previous
448         non-blank line (Same_Column_As_Previous_Line): New function
449
450 2013-07-05  Robert Dewar  <dewar@adacore.com>
451
452         * gnat_rm.texi: Update doc on missing pragmas.
453         * sem_ch12.adb: Minor comment additions.
454
455 2013-07-05  Hristian Kirtchev  <kirtchev@adacore.com>
456
457         * sem_prag.adb (Analyze_Pragma): Ensure that
458         Contract_Cases, Depends and Global are analyzed when they apply
459         to a subprogram compilation unit. The pragmas are all added
460         unconditionally to the construct's contract. This ensures that
461         proof tools can locate the pragmas.
462
463 2013-07-05  Ed Schonberg  <schonberg@adacore.com>
464
465         * sem_ch8.adb (Freeze_Actual_Profile): An instance within
466         a generic unit does not freeze a generic private type of the
467         enclosing generic. This rule must also apply to a type derived
468         from a generic private type.
469
470 2013-07-05  Arnaud Charlet  <charlet@adacore.com>
471
472         * gnat_rm.texi: Add missing documentation for pragmas.
473
474 2013-07-05  Yannick Moy  <moy@adacore.com>
475
476         * sem_ch12.adb: Minor comment.
477
478 2013-07-05  Robert Dewar  <dewar@adacore.com>
479
480         * gnat_rm.texi: Document that -gnatR and -gnatD cannot be used
481         together.
482         * switch-c.adb: Do not allow -gnatD and -gnatR to both be
483         specified.
484
485 2013-07-05  Robert Dewar  <dewar@adacore.com>
486
487         * gnat_rm.texi: Add missing documentation for pragmas.
488         * sem_ch8.adb: Minor reformatting.
489         * gnat_ugn.texi: Document that -gnatR and -gnatD cannot be used
490         together.
491
492 2013-07-05  Yannick Moy  <moy@adacore.com>
493
494         * sem_ch12.ads, sem_ch12.adb (Need_Subprogram_Instance_Body): Force
495         instance of subprogram body in SPARK mode, by testing Expander_Active
496         (set in SPARK mode) instead of Full_Expander_Active (not set in
497         SPARK mode).
498         * sem_ch8.adb: Minor reformatting.
499
500 2013-07-05  Robert Dewar  <dewar@adacore.com>
501
502         * freeze.adb (Freeze_Entity): Remove test of obsolete flag
503         Propagate_Exceptions, and associated useless code that did
504         nothing.
505         * gnat_rm.texi: Add documentation for obsolete pragma
506         Propagate_Exceptions.
507         * opt.ads (Propagate_Exceptions): Obsolete flag removed.
508         * sem_prag.adb (Analyze_Pragma, case Propagate_Exceptions):
509         Remove useless and obsolete setting of Propagate_Exceptions flag.
510
511 2013-07-05  Robert Dewar  <dewar@adacore.com>
512
513         * gnat_rm.texi, sem_prag.adb: Minor comment/text fixes.
514
515 2013-07-05  Robert Dewar  <dewar@adacore.com>
516
517         * gnat_rm.texi: Add missing doc for various pragmas.
518
519 2013-07-05  Robert Dewar  <dewar@adacore.com>
520
521         * par_sco.adb, sem_ch12.adb, par-ch5.adb: Minor reformatting.
522         * gnat_rm.texi: Document pragma Profile_Warnings.
523         * restrict.ads, sem_prag.adb: Minor reformatting.
524
525 2013-07-05  Ed Schonberg  <schonberg@adacore.com>
526
527         * sem_ch12.adb (Check_Formal_Package_Instance): Handle properly
528         a formal subprogram that was defaulted in the formal package.
529
530 2013-07-05  Thomas Quinot  <quinot@adacore.com>
531
532         * par_sco.adb (Traverse_Declarations_Or_Statements): Ignore
533         N_Implicit_Label_Declaration nodes.
534
535 2013-07-05  Robert Dewar  <dewar@adacore.com>
536
537         * a-cfhase.adb, sem_prag.adb, a-cfhama.adb: Minor reformatting.
538
539 2013-07-05  Ed Schonberg  <schonberg@adacore.com>
540
541         * sem_ch12.adb (Copy_Generic_Node): Check that name in function
542         call is a valid entity name before preserving entity in generic
543         copy.
544
545 2013-07-05  Thomas Quinot  <quinot@adacore.com>
546
547         * par-ch5.adb: Minor reformatting.
548
549 2013-07-05  Thomas Quinot  <quinot@adacore.com>
550
551         * sinfo.ads: Minor clarification to documentation for
552         N_Implicit_Label_Declaration.
553
554 2013-07-05  Hristian Kirtchev  <kirtchev@adacore.com>
555
556         * a-except-2005.adb, a-except.adb: Add constant Rmsg_17. Correct the
557         values of all remaining constants.
558         (Rcheck_35): New routine along with pragmas Export and No_Return.
559         (Rcheck_PE_Aliased_Parameters): New routine along with pragmas
560         Export and No_Return.
561         (Rcheck_PE_All_Guards_Closed,
562         Rcheck_PE_Bad_Predicated_Generic_Type,
563         Rcheck_PE_Current_Task_In_Entry_Body,
564         Rcheck_PE_Duplicated_Entry_Address, Rcheck_PE_Explicit_Raise,
565         Rcheck_PE_Implicit_Return, Rcheck_PE_Misaligned_Address_Value,
566         Rcheck_PE_Missing_Return, Rcheck_PE_Overlaid_Controlled_Object,
567         Rcheck_PE_Potentially_Blocking_Operation
568         Rcheck_PE_Stubbed_Subprogram_Called,
569         Rcheck_PE_Unchecked_Union_Restriction,
570         Rcheck_PE_Non_Transportable_Actual, Rcheck_SE_Empty_Storage_Pool,
571         Rcheck_SE_Explicit_Raise, Rcheck_SE_Infinite_Recursion,
572         Rcheck_SE_Object_Too_Large, Rcheck_PE_Finalize_Raised_Exception):
573         Update the use of Rmsg_XX.
574         (Rcheck_17, Rcheck_18, Rcheck_19,
575         Rcheck_20, Rcheck_21, Rcheck_22, Rcheck_23, Rcheck_24, Rcheck_25,
576         Rcheck_26, Rcheck_27, Rcheck_28, Rcheck_29, Rcheck_30, Rcheck_31,
577         Rcheck_32, Rcheck_33, Rcheck_34, Rcheck_35): Update corresponding
578         renamed subprograms.
579         * checks.adb: Add with and use clause for Stringt.
580         (Apply_Parameter_Aliasing_Checks): Make constant Loc visible in
581         all subprograms of Apply_Parameter_Aliasing_Checks. Remove local
582         variable Cond. Initialize Check at the start of the routine. Use
583         routine Overlap_Check to construct a simple or a detailed run-time
584         check. Update the creation of the simple check.
585         (Overlap_Check): New routine.
586         * exp_ch11.adb (Get_RT_Exception_Name): Add a value for
587         PE_Aliased_Parameters.
588         * types.ads: Add new enumeration literal
589         PE_Aliased_Parameters. Update the corresponding integer values
590         of all RT_Exception_Code literals.
591         * types.h: Add new constant PE_Aliased_Parameters. Correct the
592         values of all remaining constants.
593
594 2013-07-05  Yannick Moy  <moy@adacore.com>
595
596         * gnat_rm.texi: Minor renaming of SPARK into SPARK 2005 in
597         documentation.
598
599 2013-07-05  Ed Schonberg  <schonberg@adacore.com>
600
601         * sem_prag.adb (Analyze_PPC_In_Decl_Part): For a class-wide
602         condition, when replacing the name of a formal by a conversion
603         to the class-wide type, exempt selector names that appear in
604         parameter associations.
605
606 2013-06-13  Eric Botcazou  <ebotcazou@adacore.com>
607
608         * gcc-interface/ada-tree.h (DECL_BY_DOUBLE_REF_P): Delete.
609         * gcc-interface/gigi.h (annotate_object): Adjust prototype.
610         (convert_vms_descriptor): Likewise.
611         * gcc-interface/decl.c (gnat_to_gnu_param): Do not pass fat pointer
612         types by double dereference.
613         (annotate_object): Remove BY_DOUBLE_REF parameter and adjust.
614         (gnat_to_gnu_entity): Adjust calls to annotate_object.
615         * gcc-interface/trans.c (Identifier_to_gnu): Do not deal with double
616         dereference.
617         (Call_to_gnu): Likewise.
618         (build_function_stub): Adjust call to convert_vms_descriptor.
619         (Subprogram_Body_to_gnu): Adjust call to annotate_object.
620         * gcc-interface/utils.c (convert_vms_descriptor): Remove BY_REF
621         parameter and adjust.
622
623 2013-05-30  Eric Botcazou  <ebotcazou@adacore.com>
624
625         * gcc-interface/Makefile.in (arm% androideabi): Robustify.
626
627 2013-05-26  Eric Botcazou  <ebotcazou@adacore.com>
628
629         * gcc-interface/decl.c: (gnat_to_gnu_entity): In ASIS mode, do not
630         check that access types have a set size.
631
632 2013-05-26  Eric Botcazou  <ebotcazou@adacore.com>
633
634         * gcc-interface/decl.c (vinfo_t): New type and associated vector.
635         (components_to_record): Change return type to bool.
636         Lay out the variants in two passes.  Do not force a specific layout for
637         the variant part if the variants do not have a representation clause.
638         Take the alignment of the variant part into account when laying out
639         variants without rep clause in a record type with a partial rep clause.
640         (create_rep_part): Do not set the position of the field.
641
642 2013-05-26  Eric Botcazou  <ebotcazou@adacore.com>
643
644         * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Last_Bit>: Add kludge
645         to avoid generating an overflow for -1.
646
647 2013-05-26  Eric Botcazou  <ebotcazou@adacore.com>
648
649         * gcc-interface/gigi.h (create_type_decl): Adjust prototype.
650         (create_label_decl): Complete prototype.
651         (process_attributes): Declare.
652         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust multiple calls to
653         create_type_decl throughout.
654         <E_Enumeration_Type>: Do the layout of the type manually and call
655         process_attributes on it.  Reindent.
656         <E_Enumeration_Subtype>: Minor tweak.
657         <E_Floating_Point_Subtype>: Reindent.
658         <E_Array_Subtype>: Call process_attributes on the array type built
659         for a packed array type.
660         <E_Record_Type>: Call process_attributes on the type.
661         <E_Record_Subtype>: Likewise.
662         <E_Access_Type>: Likewise.
663         <E_Subprogram_Type>: Likewise.
664         Likewise for all types at the end of the processing.
665         * gcc-interface/utils.c (make_aligning_type): Adjust call to
666         create_type_decl.
667         (maybe_pad_type): Likewise.
668         (create_index_type): Likewise.
669         (create_type_decl): Remove attr_list parameter and associated code.
670         (create_var_decl_1): Call process_attributes on the variable.
671         (process_attributes): Take a pointer to the object and add in_place
672         and gnat_node parameters and adjust throughout.
673         <ATTR_MACHINE_ATTRIBUTE>: Pass ATTR_FLAG_TYPE_IN_PLACE only on demand
674         and set the input location.
675         Zap the attribute list at the end.
676         (create_subprog_decl): Call process_attributes on the subprogram.
677         (build_unc_object_type): Adjust call to create_type_decl.
678         (handle_vector_type_attribute): Remove dead code.
679
680 2013-05-26  Eric Botcazou  <ebotcazou@adacore.com>
681
682         * gcc-interface/gigi.h (make_aligning_type): Adjust prototype.
683         * gcc-interface/utils.c (make_aligning_type): Take GNAT_NODE parameter
684         for the position of the associated TYPE_DECL.
685         * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust call to above.
686         * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
687
688 2013-05-26  Eric Botcazou  <ebotcazou@adacore.com>
689
690         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not prematurely
691         elaborate the full view of a type with a freeze node.
692         * gcc-interface/trans.c (process_type): Add explicit predicate.
693
694 2013-05-26  Eric Botcazou  <ebotcazou@adacore.com>
695
696         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Always build the
697         UNC variable for aliased objects with unconstrained nominal subtype.
698
699 2013-05-24  Eric Botcazou  <ebotcazou@adacore.com>
700
701         * gcc-interface/gigi.h (gnat_init_gcc_fp): Declare.
702         * gcc-interface/trans.c (gigi): Call it.
703         * gcc-interface/misc.c (gnat_init_gcc_fp): New function.
704
705 2013-05-24  Eric Botcazou  <ebotcazou@adacore.com>
706
707         * gcc-interface/gigi.h (enum inline_status_t): New type.
708         (create_subprog_decl): Adjust prototype.
709         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Adjust
710         calls to create_subprog_decl.
711         (get_minimal_subprog_decl): Likewise.
712         * gcc-interface/trans.c (gigi): Likewise.
713         (build_raise_check): Likewise.
714         (establish_gnat_vms_condition_handler): Likewise.
715         (Compilation_Unit_to_gnu): Likewise.
716         (gnat_to_gnu): Likewise.
717         * gcc-interface/utils.c (create_subprog_decl): Change inline_flag
718         parameter to inline_status and implement for suppressed inlining.
719
720 2013-05-24  Eric Botcazou  <ebotcazou@adacore.com>
721
722         * gcc-interface/ada-tree.h (LOOP_STMT_NO_UNROLL): New define.
723         (LOOP_STMT_UNROLL): Likewise.
724         (LOOP_STMT_NO_VECTOR): Likewise.
725         (LOOP_STMT_VECTOR): Likewise.
726         * gcc-interface/trans.c (struct loop_info_d): Replace label field
727         with stmt field.
728         (Pragma_to_gnu) <Pragma_Loop_Optimize>: New case.
729         (Loop_Statement_to_gnu): Save the loop statement onto the stack
730         instead of the label.
731         (gnat_to_gnu) <N_Exit_Statement>: Retrieve the loop label.
732
733 2013-05-24  Eric Botcazou  <ebotcazou@adacore.com>
734
735         * gcc-interface/trans.c: Include diagnostic.h and opts.h.
736         (Pragma_to_gnu) <Pragma_Warnings>: New case.
737
738 2013-05-24  Eric Botcazou  <ebotcazou@adacore.com>
739
740         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Constify
741         a handful of local variables.
742         For a derived untagged type that renames discriminants, change the type
743         of the stored discriminants to a subtype with the bounds of the type
744         of the visible discriminants.
745         (build_subst_list): Rename local variable.
746
747 2013-05-16  Jason Merrill  <jason@redhat.com>
748
749         * gcc-interface/Make-lang.in (gnat1$(exeext)): Use link mutex.
750
751 2013-05-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
752
753         PR ada/57188
754         * gcc-interface/Makefile.in: Allow for amd64 solaris2.
755
756 2013-05-07  Eric Botcazou  <ebotcazou@adacore.com>
757
758         PR ada/56474
759         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Use
760         int_const_binop to shift bounds by 1 when they are integer constants.
761
762 2013-04-25  Arnaud Charlet  <charlet@adacore.com>>
763
764         * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Exclude s-init.ad{s,b}
765
766 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
767
768         * checks.adb (Apply_Predicate_Check): Update the comment associated
769         with the call to Check_Expression_Against_Static_Predicate.
770         * sem_ch3.adb (Analyze_Object_Declaration): Update the comment
771         associated with the call to Check_Expression_Against_Static_Predicate.
772         * sem_util.adb (Check_Expression_Against_Static_Predicate):
773         Broaden the check from a static expression to an expression with
774         a known value at compile time.
775         * sem_util.ads (Check_Expression_Against_Static_Predicate): Update
776         comment on usage.
777
778 2013-04-25  Thomas Quinot  <quinot@adacore.com>
779
780         * exp_attr.adb (Expand_N_Attribute_Reference, cases Position,
781         First_Bit, and Last_Bit): Fix incorrect test in implementation of
782         RM 2005 13.5.2(3/2).
783
784 2013-04-25  Claire Dross  <dross@adacore.com>
785
786         * a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads, a-cfhama.adb,
787         a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads
788         (Query_Element): Removed.
789         (Update_Element): Removed.
790         (Insert): The version with no New_Item specified is removed.
791         (Iterate): Removed.
792         (Write): Removed.
793         (Read): Removed.
794         Every check of fields Busy and Lock has been removed.
795
796 2013-04-25  Robert Dewar  <dewar@adacore.com>
797
798         * sem_prag.adb (Analyze_Pragma, case Contract_Cases): Remove
799         call to S14_Pragma (Find_Related_Subprogram): Require proper
800         placement in subprogram body (Find_Related_Subprogram): Detect
801         duplicates for all cases (Find_Related_Subprogram): Handle case
802         of spec nested inside body.
803
804 2013-04-25  Arnaud Charlet  <charlet@adacore.com>
805
806         * par-prag.adb: Fix typo.
807
808 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
809
810         * checks.adb (Apply_Predicate_Check): If the type has a static
811         predicate and the expression is also static, check whether the
812         expression satisfies the predicate.
813         * sem_ch3.adb (Analyze_Object_Declaration): If the type has a
814         static predicate and the expression is also static, see if the
815         expression satisfies the predicate.
816         * sem_util.adb: Alphabetize several routines.
817         (Check_Expression_Against_Static_Predicate): New routine.
818         * sem_util.ads (Check_Expression_Against_Static_Predicate): New routine.
819
820 2013-04-25  Robert Dewar  <dewar@adacore.com>
821
822         * gnat_rm.texi: Document Reason argument for pragma Warnings.
823         * par-prag.adb: Handle Reason parameter for pragma Warnings.
824         * sem_prag.adb (Analyze_Pragma, case Warnings): Allow Reason argument.
825         * snames.ads-tmpl (Name_Reason): New name entry.
826
827 2013-04-25  Yannick Moy  <moy@adacore.com>
828
829         * exp_spark.adb (Expand_SPARK_N_In): Remove procedure.
830         (Expand_SPARK): Remove special expansion for membership tests.
831
832 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
833
834         * exp_ch3.adb (Expand_N_Object_Declaration): Update all places
835         that should use constant Base_Typ. When building an invariant
836         check, account for invariants coming from the base type. Prevent
837         the creation of a junk invariant check when the related object
838         is of an array type and it is initialized with an aggregate.
839         * exp_util.adb (Make_Invariant_Call): Typ is now a variable. Use
840         the base type to create an invariant call when the type of the
841         expression is a composite subtype.
842
843 2013-04-25  Vasiliy Fofanov  <fofanov@adacore.com>
844
845         * a-cborse.adb: Fix minor typo.
846
847 2013-04-25  Ed Schonberg  <schonberg@adacore.com>
848
849         * sem_ch6.adb (Different_Generic_Profile): A spec and body
850         match in an instance if a subtype declaration that renames a
851         generic actual with the same name appears between spec and body.
852
853 2013-04-25  Robert Dewar  <dewar@adacore.com>
854
855         * sem_util.adb: Minor reformatting.
856
857 2013-04-25  Ed Schonberg  <schonberg@adacore.com>
858
859         * exp_aggr.adb (Expand_N_Aggregate): Use special circuitry to
860         fold strings with a single others choice only if there are no
861         expressions in the aggregate.
862
863 2013-04-25  Arnaud Charlet  <charlet@adacore.com>
864
865         * gnat_ugn.texi: Update doc on Ada 2012 default mode.
866
867 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
868
869         * exp_ch6.adb: Add with and use clause for Stringt.
870         (Expand_Contract_Cases): Moved from sem_ch6. Add formal parameters
871         Decls and Stmts along with comments on their usage.
872         * exp_ch6.ads (Expand_Contract_Cases): Moved from sem_ch6.
873         * sem_ch6.adb (Expand_Contract_Cases): Moved to exp_ch6.
874         (Process_Contract_Cases): Update the call to Expand_Contract_Cases.
875
876 2013-04-25  Ed Schonberg  <schonberg@adacore.com>
877
878         * gnat_rm.texi: Minor editing, to clarify use of dimension aspects.
879         * sem_util.adb (Is_OK_Variable_For_Out_Formal): Reject an
880         aggregate for a packed type, which may be converted into an
881         unchecked conversion of an object.
882
883 2013-04-25  Robert Dewar  <dewar@adacore.com>
884
885         * sem_prag.adb: Minor code reorganization (correct misspelling
886         Restiction).
887         * sem_util.adb, aspects.ads, sem_ch6.adb: Minor reformatting.
888         * gnat_rm.texi: Document impl-defined aspects.
889         * sem_dim.adb, sem_dim.ads, gnat_ugn.texi, s-dimmks.ads: Minor
890         reformatting.
891
892 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
893
894         * einfo.adb (Set_Abstract_States): The attribute now applies
895         to generic packages.
896         * sem_ch4.adb (Referenced): Moved to sem_util.
897         * sem_ch7.adb (Unit_Requires_Body): A [generic] package with
898         a non-null abstract state needs a body.
899         * sem_prag.adb (Analyze_Depends_In_Decl_Part): Update the calls
900         to Collect_Subprogram_Inputs_Outputs.
901         (Analyze_Global_Item): Verify the proper usage of an item with mode
902         In_Out or Output relative to the enclosing context.
903         (Analyze_Pragma): Abstract_State can now be applied to a generic
904         package. Do not reset the Analyzed flag for pragmas Depends and Global
905         as this is not needed.
906         (Appears_In): Moved to library level.
907         (Check_Mode_Restiction_In_Enclosing_Context): New routine.
908         (Collect_Subprogram_Inputs_Outputs): Moved to library level. Add
909         formal parameters Subp_Id, Subp_Inputs, Subp_Outputs and Global
910         seen along with comments on usage.
911         * sem_util.ads, sem_util.adb (Referenced): New routine.
912
913 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
914
915         * sem_ch6.adb (Expand_Contract_Cases): Generate
916         detailed error messages only when switch -gnateE is in effect.
917
918 2013-04-25  Yannick Moy  <moy@adacore.com>
919
920         * sem_attr.adb (Analyze_Attribute): Do not issue
921         an error for a possibly misplaced 'Result or 'Old attribute when
922         analyzing the aspect.
923
924 2013-04-25  Robert Dewar  <dewar@adacore.com>
925
926         * sem_ch12.adb, sem_util.adb, sem_ch4.adb: Minor reformatting.
927
928 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
929
930         * sem_ch4.adb (Analyze_Quantified_Expression):
931         Add local variable Loop_Id. Verify that the loop variable
932         is used within the condition of the quantified expression.
933         (Referenced): New routine.
934
935 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
936
937         * sem_case.adb (Analyze_Choices): Enhance the error message
938         given on a bad use of subtype predicate.
939         * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Enhance
940         the error message given on a bad use of subtype predicate.
941         * sem_util.adb (Bad_Predicated_Subtype_Use): Add formal parameter
942         Suggest_Static. Emit an extra error message advising how to
943         remedy the bad use of the predicate if the context warrants it.
944         * sem_util.ads (Bad_Predicated_Subtype_Use): Add formal parameter
945         Suggest_Static along with a comment explaining its usage.
946
947 2013-04-25  Ed Schonberg  <schonberg@adacore.com>
948
949         * sem_disp.adb (Check_Dispatching_Operation): Further refinement
950         to checks for AI05-0125: the check for a hidden primitive that
951         may be overridden by the new declaration only applies if the
952         hidden operation is never declared. This is not the case if the
953         operation is declared in a parent unit.
954
955 2013-04-25  Robert Dewar  <dewar@adacore.com>
956
957         * debug.adb: Remove d.X and d.Y entries and documentation.
958         * exp_ch4.adb (Expand_N_If_Expression): Remove special code used
959         if expression with actions not available (now always available).
960         (Expand_Short_Circuit_Operator): Same change.
961         * gnat1drv.adb (Adjust_Global_Switches) Remove setting
962         Use_Expression_With_Actions flag, since this is now obsolete.
963         * opt.ads (Use_Expression_Actions): Removed (always True now).
964         * sinfo.ads: Minor comment updates.
965
966 2013-04-25  Ed Schonberg  <schonberg@adacore.com>
967
968         * sem_ch12.adb (Check_Generic_Actuals): If an actual is an array
969         subtype whose base type is currently private, install full view
970         when compiling instance body.
971
972 2013-04-25  Ed Schonberg  <schonberg@adacore.com>
973
974         * sem_disp.adb (Check_Dispatching_Operation): Refine checks for
975         AI05-0125: the check for a hidden primitive that may be overridden
976         by the new declaration is only performed if the declaration comes
977         from source, and it must carry an explicit overriding indicator.
978
979 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
980
981         * einfo.adb (Abstract_States): The attribute now applies to
982         generic packages.
983         * sem_ch3.adb (Analyze_Object_Declaration): Check whether an
984         object declaration introduces an illegal hidden state.
985         * sem_prag.adb (Analyze_Abstract_State): Check whether a state
986         declaration introduces an illegal hidden state.
987         * sem_util.ads, sem_util.adb (Check_No_Hidden_State): New routine.
988
989 2013-04-25  Ed Schonberg  <schonberg@adacore.com>
990
991         * exp_ch6.adb (Is_Build_In_Place_Function_Call): The call may
992         be to a protected function, in which case the name in the call
993         is a selected component.
994
995 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
996
997         * sem_ch4.adb (Analyze_Quantified_Expression):
998         Warn on a suspicious use of quantifier "some" when "all" was meant.
999         (No_Else_Or_Trivial_True): New routine.
1000
1001 2013-04-25  Robert Dewar  <dewar@adacore.com>
1002
1003         * einfo.ads, einfo.adb: Put back with/use for Namet.
1004         (Get_Pragma): New name (wi new spec) for Find_Pragma.
1005         * sem_ch6.adb: Change name Find_Pragma to Get_Pragma with
1006         different interface.
1007
1008 2013-04-25  Ed Schonberg  <schonberg@adacore.com>
1009
1010         * sem_ch3.adb (Is_Visible_Component): In an instance all
1011         components are visible.
1012
1013 2013-04-25  Matthew Heaney  <heaney@adacore.com>
1014
1015         * a-rbtgbo.adb, a-crbtgo.adb (Generic_Equal): do not test for
1016         tampering when container empty.
1017         * a-crbtgk.adb (Ceiling, Find, Floor): ditto.
1018         (Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint):
1019         ditto.
1020
1021 2013-04-25  Ed Schonberg  <schonberg@adacore.com>
1022
1023         * par-ch12.adb: Move aspects from package specification to
1024         generic package declaration.
1025         * sem_ch12.adb: Analyze aspect specifications before building
1026         and analyzing the generic copy, so that the generated pragmas
1027         are properly taken into account.
1028         * sem_ch13.adb: For compilation unit aspects that apply to a
1029         generic package declaration, insert corresponding pragmas ahead
1030         of visible declarations.
1031         * sprint.adb: Display properly the aspects of a generic type
1032         declaration.
1033
1034 2013-04-25  Robert Dewar  <dewar@adacore.com>
1035
1036         * frontend.adb: Minor reformatting.
1037
1038 2013-04-25  Ed Schonberg  <schonberg@adacore.com>
1039
1040         * einfo.ads: Extend documentation on use of Is_Private_Ancestor
1041         for untagged types.
1042         * sem_ch3.adb (Is_Visible_Component): Refine predicate for the
1043         case of untagged types derived from private types, to reject
1044         illegal selected components.
1045
1046 2013-04-25  Gary Dismukes  <dismukes@adacore.com>
1047
1048         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): Test
1049         for case of selecting from an unexpanded implicit dereference
1050         and do not make a recursive call on such a prefix.
1051
1052 2013-04-25  Doug Rupp  <rupp@adacore.com>
1053
1054         * targparm.adb (VXF{_Str}): New tag for vaxfloat.
1055         (Get_Target_Parameters): Handle VXF tag.
1056         * targparm.ads (VAX_Float_On_Target): New boolean.
1057         * system-vms-ia64.ads (VAX_Float): New boolean.
1058         * frontend.adb (Frontend): Handle VAX float boolean.
1059
1060 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
1061
1062         * einfo.ads, einfo.adb: Remove with and use clauses for Namet.
1063         (Find_Pragma): New routine.
1064         * sem_util.ads, sem_util.adb (Find_Pragma): Moved to einfo.
1065
1066 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
1067
1068         * sem_ch13.adb (Add_Call): Do not capture the nature of the inherited
1069         predicate.
1070         (Add_Predicates): Save the static predicate for diagnostics and error
1071         reporting purposes.
1072         (Process_PPCs): Remove local variables Dynamic_Predicate_Present and
1073         Static_Predicate_Present. Add local variable Static_Pred. Ensure that
1074         the expression of a static predicate is static.
1075
1076 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
1077
1078         * einfo.adb (Is_Ghost_Subprogram): Remove useless code.
1079
1080 2013-04-25  Robert Dewar  <dewar@adacore.com>
1081
1082         * gnat_rm.texi: Minor addition of index entry.
1083
1084 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
1085
1086         * sem_ch6.adb (Check_Access_Invariants): Test whether an
1087         invariant procedure is empty before generating a call to it.
1088         (Has_Enabled_Predicate): New routine.
1089         (Has_Null_Body): New routine.
1090         (Process_PPCs): Test whether an invariant procedure is
1091         empty before generating a call to it. Test whether predicates are
1092         enabled for a particular type before generating a predicate call.
1093         * sem_util.ads, sem_util.adb (Find_Pragma): New routine.
1094
1095 2013-04-25  Robert Dewar  <dewar@adacore.com>
1096
1097         * sem_ch7.adb, einfo.adb, repinfo.adb, snames.adb-tmpl,
1098         snames.ads-tmpl: Minor reformatting.
1099
1100 2013-04-25  Thomas Quinot  <quinot@adacore.com>
1101
1102         * sem_ch7.adb: Minor reformatting.
1103
1104 2013-04-25  Robert Dewar  <dewar@adacore.com>
1105
1106         * gnat_rm.texi: Minor fix to Loop_Variant doc (Loop_Entry allowed).
1107         * s-tarest.adb: Minor reformatting.
1108
1109 2013-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
1110
1111         * aspects.ads, aspects.adb: Remove aspect Ghost from all relevant
1112         tables.
1113         * einfo.adb: Remove with and use clause for Aspects.
1114         (Is_Ghost_Function): Removed.
1115         (Is_Ghost_Entity): New routine.
1116         (Is_Ghost_Subprogram): New routine.
1117         * einfo.ads: Remove synthesized attribute Is_Ghost_Function
1118         along with its uses in entities.  Add synthesized attributes
1119         Is_Ghost_Entity and Is_Ghost_Subprogram along with uses in related
1120         entities.
1121         (Is_Ghost_Function): Removed.
1122         (Is_Ghost_Entity): New routine.
1123         (Is_Ghost_Subprogram): New routine.
1124         * par-prag.adb: Remove pragma Ghost from the processing machinery.
1125         * repinfo.adb (List_Mechanisms): Add a value for convention Ghost.
1126         * sem_attr.adb (Analyze_Access_Attribute): Update the check
1127         for ghost subprograms.
1128         * sem_ch4.adb (Analyze_Call): Update the check for calls
1129         to ghost subprograms.
1130         (Check_Ghost_Function_Call): Removed.
1131         (Check_Ghost_Subprogram_Call): New routine.
1132         * sem_ch6.adb (Check_Convention): Rewritten.
1133         (Check_Overriding_Indicator): Remove the check for overriding
1134         ghost functions.
1135         (Convention_Of): New routine.
1136         * sem_ch12.adb (Preanalyze_Actuals): Update the check for ghost
1137         generic actual subprograms.
1138         * sem_mech.adb (Set_Mechanisms): Add an entry for convention Ghost.
1139         * sem_prag.adb: Remove the value for pragma Ghost from
1140         table Sig_Flags.
1141         (Analyze_Pragma): Remove the processing for pragma Ghost.
1142         (Process_Convention): Emit an error when a ghost
1143         subprogram attempts to override.
1144         (Set_Convention_From_Pragma): Emit an error when a ghost subprogram
1145         attempts to override.
1146         * sinfo.ads: Clarify the usage of field Label_Construct.
1147         * snames.adb-tmpl (Get_Convention_Id): Add an entry for
1148         predefined name Ghost.
1149         (Get_Convention_Name): Add an entry for convention Ghost.
1150         * snames.ads-tmpl: Move predefined name Ghost to the sublist
1151         denoting conventions. Add convention id Ghost. Remove pragma
1152         id Ghost.
1153
1154 2013-04-25  Ed Schonberg  <schonberg@adacore.com>
1155
1156         * sem_ch7.adb (Swap_Private_Dependents): Do no recurse on child
1157         units if within a generic hierarchy.
1158
1159 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1160
1161         * exp_ch6.adb (Expand_Actuals): Add a predicate check on an
1162         actual the related type has a predicate function.
1163         * sem_ch3.adb (Constant_Redeclaration): Ensure that the related
1164         type has an invariant procedure before building a call to it.
1165         * sem_ch6.adb (Append_Enabled_Item): New routine.
1166         (Check_Access_Invariants): Use routine
1167         Append_Enabled_Item to chain onto the list of postconditions.
1168         (Contains_Enabled_Pragmas): Removed.
1169         (Expand_Contract_Cases): Use routine Append_Enabled_Item to chain onto
1170         the list of postconditions.
1171         (Invariants_Or_Predicates_Present): Removed.
1172         (Process_PPCs): Partially reimplemented.
1173
1174 2013-04-24  Sergey Rybin  <rybin@adacore.com frybin>
1175
1176         * tree_io.ads: Update ASIS_Version_Number because of changes
1177         in the way how entities are chained in a scope by means of
1178         Next_Entity link.
1179
1180 2013-04-24  Ed Schonberg  <schonberg@adacore.com>
1181
1182         * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
1183         Storage_Size): If the clause is not from an aspect, insert
1184         assignment to size variable of task type at the point of the
1185         clause, not after the task definition, to prevent access before
1186         elaboration in the back-end.
1187
1188 2013-04-24  Yannick Moy  <moy@adacore.com>
1189
1190         * sem_prag.adb (Sig_Flags): Set correct value for Pragma_Assume.
1191
1192 2013-04-24  Yannick Moy  <moy@adacore.com>
1193
1194         * gnat_rm.texi: Document 'Loop_Entry.
1195
1196 2013-04-24  Jose Ruiz  <ruiz@adacore.com>
1197
1198         * s-tassta.adb, s-tarest.adb (Task_Wrapper): Start looking for
1199         fall-back termination handlers from the parents, because they apply
1200         only to dependent tasks.
1201         * s-solita.adb (Task_Termination_Handler_T): Do not look for fall-back
1202         termination handlers because the environment task has no parent,
1203         and if it defines one of these handlers it does not apply to
1204         itself because they apply only to dependent tasks.
1205
1206 2013-04-24  Robert Dewar  <dewar@adacore.com>
1207
1208         * sem_type.adb, exp_attr.adb, exp_ch4.adb: Minor reformatting.
1209
1210 2013-04-24  Robert Dewar  <dewar@adacore.com>
1211
1212         * gnat_rm.texi: Document 'Update attribute.
1213         * sem_attr.adb (Analyze_Attribute, case Update): Remove call
1214         to S14_Attribute (S14_Attribute): removed.
1215
1216 2013-04-24  Robert Dewar  <dewar@adacore.com>
1217
1218         * interfac.ads: Add size clauses for IEEE_Float_32/64
1219
1220 2013-04-24  Claire Dross  <dross@adacore.com>
1221
1222         * gnat1drv.adb (Adjust_Global_Switches): Remove
1223         special assignment of Use_Expression_With_Actions for SPARK_Mode.
1224
1225 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1226
1227         * checks.adb (Apply_Predicate_Check): Check for the presence
1228         of the dynamic predicate aspect when trying to determine if the
1229         predicate of a type is non-static.
1230         * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Check
1231         for the presence of the dynamic predicate aspect when trying to
1232         determine if the predicate of a type is non- static.
1233         * sem_ch13.adb (Add_Call): Capture the nature of the
1234         inherited ancestor predicate.
1235         (Build_Predicate_Functions): Update comments. Rewrite the checks on
1236         static predicate application. Complain about the form of a non-static
1237         expression only when the type is static.
1238
1239 2013-04-24  Ed Schonberg  <schonberg@adacore.com>
1240
1241         * sem_prag.adb: Add guard to tree traversal.
1242
1243 2013-04-24  Vincent Celier  <celier@adacore.com>
1244
1245         * clean.adb (Clean): Remove local variable Root_Environment,
1246         use Makeutl.Root_Environment instead.
1247         * gnatcmd.adb: Remove local variable Root_Environment, use
1248         Makeutl.Root_Environment instead.
1249         * make.adb (Gnatmake): Remove local variable Root_Environment,
1250         use Makeutl.Root_Environment instead.
1251         * prj-makr.adb: Remove local variable Root_Environment, use
1252         Makeutl.Root_Environment instead.
1253
1254 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1255
1256         * exp_attr.adb (Expand_Loop_Entry_Attribute): Clarify the
1257         extraction of the declarative part of the conditional block. Move
1258         the processing of simple infinite loops to the start of the
1259         expansion logic. Correct the check which determines whether the
1260         proper scope is installed in visibility.
1261         * sem_attr.adb (Analyze_Attribute): Add local variable Attr
1262         to keep track of the attribute in case the enclosing indexed
1263         component has to be rewritten. When searching for the enclosing
1264         loop, start from the proper attribute reference in case of a
1265         rewriting. Do not allow for 'Loop_Entry to appear in pragma
1266         Assert. Replace loop variable J with Index. Set the type of the
1267         proper attribute.
1268         * sem_ch5.adb (Check_Unreachable_Code): Detect a specialized
1269         block that services a loop statement subject to at least one
1270         'Loop_Entry attribute.
1271
1272 2013-04-24  Ed Schonberg  <schonberg@adacore.com>
1273
1274         * sem_type.adb (Disambiguate): In Ada 2012 mode, when trying to
1275         resolve a fixed point operation, use first subtype to determine
1276         whether type and operator are declared in the same list of
1277         declarations.
1278
1279 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1280
1281         * par-ch6.adb (P_Subprogram): Detect an illegal
1282         placement of the aspect specification list in the context of
1283         expression functions.
1284
1285 2013-04-24  Ed Schonberg  <schonberg@adacore.com>
1286
1287         * exp_ch4.adb (Expand_N_Allocator):  If the designated object
1288         has tasks, and the pointer type is an itype that has no master
1289         id, create a master renaming in the current context, which can
1290         only be an init_proc.
1291
1292 2013-04-24  Robert Dewar  <dewar@adacore.com>
1293
1294         * sem_ch3.adb, sem_ch7.adb: Minor reformatting.
1295         * gnat_rm.texi: Document pragma Loop_Invariant.
1296         * sem_attr.adb (Analyze_Attribute, case Loop_Entry): This is
1297         no longer an S14_Attribute.
1298         * sem_prag.adb (Analyze_Pragma, case Loop_Invariant): Combine
1299         processing with Assert, allow message parameter, remove call
1300         to S14_Pragma.
1301
1302 2013-04-24  Thomas Quinot  <quinot@adacore.com>
1303
1304         * exp_ch4.adb: Minor reformatting.
1305
1306 2013-04-24  Ed Schonberg  <schonberg@adacore.com>
1307
1308         * sem_ch7.adb (Swap_Private_Dependents): New internal routine
1309         to Install_Private_Declarations, to make the installation of
1310         private dependents recursive in the presence of child units.
1311         * sem_ch3.adb (Build_Discriminated_Subtype): Initialize properly
1312         the Private_Dependents of a private subtype.
1313
1314 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1315
1316         * exp_attr.adb (Expand_Loop_Entry_Attribute): Update the
1317         retrieval of the block declarations.
1318         * par-ch4.adb (P_Name): Let the name parsing machinery create
1319         a sequence of nested indexed components for attribute Loop_Entry.
1320         * sem_attr.adb (Analyze_Attribute): Add local constant
1321         Context. Reimplement part of the analysis of attribute Loop_Entry.
1322         (Convert_To_Indexed_Component): Removed.
1323         * sem_ch4.adb (Analyze_Indexed_Component_Form): Do not analyze
1324         an indexed component after it has been rewritten into attribute
1325         Loop_Entry.
1326
1327 2013-04-24  Yannick Moy  <moy@adacore.com>
1328
1329         * snames.ads-tmpl: Minor change to list
1330         Loop_(In)variant not in configuration pragma.
1331         * sem_ch3.adb (Analyze_Declarations): Do not look at the original node
1332         for analyzing the expressions in pre/postconditions.
1333
1334 2013-04-24  Robert Dewar  <dewar@adacore.com>
1335
1336         * gnatcmd.adb, xref_lib.adb, gnatls.adb, sem_ch13.adb: Minor
1337         reformatting.
1338
1339 2013-04-24  Yannick Moy  <moy@adacore.com>
1340
1341         * sem_ch6.adb (Analyze_Generic_Subprogram_Body,
1342         Analyze_Subprogram_Body_Helper): Reset contract node to Empty
1343         before setting entity to E_Subprogram_Body.
1344         * sem_ch8.adb (Analyze_Subprogram_Renaming): Reset contract node to
1345         Empty before setting entity to E_Subprogram_Body.
1346
1347 2013-04-24  Vincent Celier  <celier@adacore.com>
1348
1349         * gnat_ugn.texi: Document new gnatls switch -aPdir.
1350         * gnatcmd.adb: Pass switch -aP<dir> to gnatls.
1351         * gnatls.adb (Scan_Ls_Arg): Process new switch -aP<dir>. Issue
1352         a warning for unknown switches.
1353         (Usage): Add line for new switch -aPdir.
1354
1355 2013-04-24  Ed Schonberg  <schonberg@adacore.com>
1356
1357         * sem_util.adb, sem_util.ads (Is_Limited_Class_Wide_Type): Return true
1358         if the type comes from a limited view, so that task attributes can be
1359         constructed.
1360
1361 2013-04-24  Yannick Moy  <moy@adacore.com>
1362
1363         * checks.adb (Apply_Float_Conversion_Check): Do not apply checks if
1364         full expansion is not enabled.
1365
1366 2013-04-24  Ed Schonberg  <schonberg@adacore.com>
1367
1368         * sem_ch6.adb (Create_Extra_Formals): In Ada 2012, create extra
1369         formals if the type does not yet have a completion, and thus
1370         has no underlying view.
1371
1372 2013-04-24  Ed Schonberg  <schonberg@adacore.com>
1373
1374         * sem_ch13.adb (Analyze_Aspect_Specifications): Treat an aspect
1375         specification for Address as a reference, to suppress warnings
1376         on entities that may be read by an external device.
1377
1378 2013-04-24  Sergey Rybin  <rybin@adacore.com frybin>
1379
1380         * gnat_ugn.texi: Add description of '--help' and '--version'
1381         options for ASIS tools: gnatelim, gnatmetric, gnatstub, gnatpp.
1382
1383 2013-04-24  Arnaud Charlet  <charlet@adacore.com>
1384
1385         * gnat_rm.texi: Minor syntax fix.
1386
1387 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1388
1389         * exp_attr.adb (Expand_Loop_Entry_Attribute): Add extra comments on
1390         what and why is being analyzed. Remove the decoration of renamings as
1391         this simply falls out of the general analysis mechanism.
1392
1393 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1394
1395         * sem_res.adb (Explain_Redundancy): New routine.
1396         (Resolve_Equality_Op): Place the error concerning a redundant
1397         comparison to True at the "=". Try to explain the nature of the
1398         redundant True.
1399
1400 2013-04-24  Javier Miranda  <miranda@adacore.com>
1401
1402
1403         * checks.adb, exp_ch6.adb (Install_Null_Excluding_Check): No
1404         check in interface thunks since it is performed at the caller
1405         side.
1406         (Expand_Simple_Function_Return): No accessibility check
1407         needed in thunks since the check is done by the target routine.
1408
1409 2013-04-24  Vincent Celier  <celier@adacore.com>
1410
1411         * xref_lib.adb (Add_Entity): Use the canonical file names
1412         so that source file names with capital letters are found on
1413         platforms where file names are case insensitive.
1414
1415 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1416
1417         * par-ch4.adb (P_Name): Continue to parse the name extension when the
1418         construct is attribute Loop_Entry. Do not convert the attribute
1419         reference into an indexed component when there is at least one
1420         expression / range following 'Loop_Entry.
1421
1422 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1423
1424         * sem_ch6.adb (Contains_Enabled_Pragmas): New routine.
1425         (Process_PPCs): Generate procedure _Postconditions
1426         only when the context has invariants or predicates or enabled
1427         aspects/pragmas.
1428
1429 2013-04-24  Thomas Quinot  <quinot@adacore.com>
1430
1431         * g-socket.adb (Host_Entry): Introduce intermediate copy of
1432         memory location pointed to by Hostent_H_Addr, as it might not
1433         have sufficient alignment.
1434
1435 2013-04-24  Yannick Moy  <moy@adacore.com>
1436
1437         * repinfo.adb (List_Rep_Info): Set the value of Unit_Casing before
1438         calling subprograms which may read it.
1439
1440 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1441
1442         * einfo.adb: Remove Loop_Entry_Attributes from the usage of
1443         nodes. Flag 260 is now used.
1444         (Has_Loop_Entry_Attributes): New routine.
1445         (Loop_Entry_Attributes): Removed.
1446         (Set_Has_Loop_Entry_Attributes): New routine.
1447         (Set_Loop_Entry_Attributes): Removed.
1448         (Write_Entity_Flags): Write out Flag 260.
1449         (Write_Field10_Name): Remove the output for Loop_Entry_Attributes.
1450         * einfo.ads: Remove attribute Loop_Entry_Attributes,
1451         its related comment and uses in nodes.  Add new attribute
1452         Has_Loop_Entry_Attributes, related comment and uses in loop nodes.
1453         (Has_Loop_Entry_Attributes): New routine and pragma Inline.
1454         (Loop_Entry_Attributes): Removed along with pragma Inline.
1455         (Set_Has_Loop_Entry_Attributes): New routine and pragma Inline.
1456         (Set_Loop_Entry_Attributes): Removed along with pragma Inline.
1457         * exp_attr.adb (Expand_Loop_Entry_Attribute): New routine.
1458         (Expand_N_Attribute_Reference): Expand attribute 'Loop_Entry.
1459         * exp_ch5.adb: Remove with and use clause for Elists.
1460         (Expand_Loop_Entry_Attributes): Removed.
1461         (Expand_N_Loop_Statement): Add local variable Stmt. Rename local
1462         constant Isc to Scheme. When a loop is subject to attribute
1463         'Loop_Entry, retrieve the nested loop from the conditional
1464         block. Move the processing of controlled object at the end of
1465         loop expansion.
1466         * sem_attr.adb (Analyze_Attribute): Do not chain attribute
1467         'Loop_Entry to its related loop.
1468         * sem_ch5.adb (Analyze_Loop_Statement): Add local variable
1469         Stmt. When the iteration scheme mentions attribute 'Loop_Entry,
1470         the entire loop is rewritten into a block.  Retrieve the nested
1471         loop in such cases to complete the analysis.
1472         * sem_util.ads, sem_util.adb (Find_Loop_In_Conditional_Block): New
1473         routine.
1474         (Subject_To_Loop_Entry_Attributes): New routine.
1475
1476 2013-04-24  Robert Dewar  <dewar@adacore.com>
1477
1478         * exp_prag.adb (Expand_Loop_Variant): Generate pragma Check
1479         (Loop_Variant, xxx) rather than Assert (xxx).
1480         * gnat_rm.texi: Document pragma Loop_Variant.
1481         * sem_prag.adb (Analyze_Pragma, case Loop_Variant): Remove call
1482         to S14_Pragma.
1483
1484 2013-04-24  Yannick Moy  <moy@adacore.com>
1485
1486         * adabkend.adb, ali-util.adb, ali.adb, debug.adb,
1487         errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb,
1488         exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb,
1489         expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb,
1490         lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads,
1491         restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb,
1492         sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb,
1493         sem_res.adb, sem_util.adb: Everything with name
1494         'Alfa' renamed in 'SPARK'. Update comments.
1495         Renaming of units with name 'Alfa', renamed with 'SPARK' instead.
1496         * exp_alfa.adb: renamed exp_spark.adb.
1497         * exp_alfa.ads: renamed exp_spark.ads.
1498         * get_alfa.adb: renamed get_spark_xrefs.adb.
1499         * get_alfa.ads: renamed get_spark_xrefs.ads.
1500         * lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb.
1501         * put_alfa.adb: renamed put_spark_xrefs.adb.
1502         * put_alfa.ads: renamed put_spark_xrefs.ads.
1503         * alfa.adb: renamed spark_xrefs.adb.
1504         * alfa.ads: renamed spark_xrefs.ads.
1505         * alfa_test.adb: renamed spark_xrefs_test.adb.
1506         * gcc-interface/Make-lang.in: Update dependencies.
1507
1508 2013-04-24  Robert Dewar  <dewar@adacore.com>
1509
1510         * gnat_rm.texi: Document pragma Assume.
1511         * sem_prag.adb (Analyze_Pragma, case Assume): Now processed as
1512         part of Assert, and no longer requires -gnatd.F
1513
1514 2013-04-24  Robert Dewar  <dewar@adacore.com>
1515
1516         * gnat_rm.texi: Document pragma Assert_And_Cut.
1517         * sem_prag.adb (Analyze_Pragma, case Assert_And_Cut): Remove
1518         S14_Pragma call.
1519
1520 2013-04-24  Ed Schonberg  <schonberg@adacore.com>
1521
1522         * sem_aux.adb: Add guard in Available_View.
1523
1524 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1525
1526         * sem_prag.adb (Analyze_Depends_In_Decl_Part): Use
1527         Find_Related_Subprogram to find the associated subprogram.
1528         (Analyze_Global_In_Decl_List): Use Find_Related_Subprogram
1529         to find the associated subprogram.
1530         (Analyze_Pragma): Use Find_Related_Subprogram to find the associated
1531         subprogram.
1532
1533 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1534
1535         * exp_ch6.adb: Remove with and use clause for Sem_Prag.
1536         (Freeze_Subprogram): Call Analyze_Subprogram_Contract to analyze
1537         the contract of a subprogram.
1538         * sem_ch3.adb: Remove with and use clause for Sem_Prag.
1539         (Analyze_Declarations): Call Analyze_Subprogram_Contract to
1540         analyze the contract of a subprogram.
1541         * sem_ch6.adb (Analyze_Subprogram_Contract): New routine.
1542         (Check_Subprogram_Contract): Removed.
1543         * sem_ch6.ads (Analyze_Subprogram_Contract): New routine.
1544         (Check_Subprogram_Contract): Removed.
1545         (Expand_Contract_Cases): Add a guard against malformed contract cases.
1546         * sem_ch13.adb (Analyze_Aspect_Specifications): Call
1547         Decorate_Delayed_Aspect_And_Pragma to decorate aspects
1548         Contract_Cases, Depends and Global. Reimplement the analysis of
1549         aspect Contract_Cases.
1550         (Decorate_Delayed_Aspect_And_Pragma): New routine.
1551         * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): New routine.
1552         (Analyze_CTC_In_Decl_Part): Removed.
1553         (Analyze_Pragma): Reimplement the analysis of pragma Contract_Cases.
1554         (Analyze_Test_Case_In_Decl_Part): New routine.
1555         (Find_Related_Subprogram): New routine.
1556         (Requires_Profile_Installation): Add new formal Prag. Update
1557         the logic to take into account the origin of the pragma.
1558         * sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part): New routine.
1559         (Analyze_CTC_In_Decl_Part): Removed.
1560         (Analyze_Test_Case_In_Decl_Part): New routine.
1561
1562 2013-04-24  Robert Dewar  <dewar@adacore.com>
1563
1564         * sem_prag.adb (Process_Convention): Move Stdcall tests to
1565         Set_Convention_From_Pragma so that they are applied to each
1566         entry of a homonym set.
1567         (Process_Convention): Don't try to set convention if already set.
1568
1569 2013-04-24  Robert Dewar  <dewar@adacore.com>
1570
1571         * gnatbind.adb: Minor reformatting.
1572
1573 2013-04-24  Vincent Celier  <celier@adacore.com>
1574
1575         * clean.adb (Gnatclean): Add the default project search
1576         directories in the project search path after scanning the
1577         switches on the command line.
1578         (Initialize): Do not put the default project search directories in the
1579         project search path.
1580         * gnatcmd.adb (GNATcmd): Add the default project search
1581         directories in the project search path after scanning the switches
1582         on the command line.
1583         * make.adb (Initialize): Add the default project search
1584         directories in the project search path after scanning the switches
1585         on the command line.
1586
1587 2013-04-24  Yannick Moy  <moy@adacore.com>
1588
1589         * restrict.ads (Restriction_Warnings): Initialize with all False value.
1590
1591 2013-04-24  Robert Dewar  <dewar@adacore.com>
1592
1593         * checks.ads, checks.adb (Predicate_Checks_Suppressed): New function.
1594         * exp_util.ads, exp_util.adb (Make_Predicate_Check): Check setting of
1595         Predicate_Check.
1596         * snames.ads-tmpl (Name_Predicate_Check): New check name.
1597         * types.ads (Predicate_Check): New definition.
1598         * gnat_rm.texi: Add documentation for Predicate_Check.
1599
1600 2013-04-24  Ed Schonberg  <schonberg@adacore.com>
1601
1602         * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): If this
1603         is a renaming of predefined equality for an untagged record,
1604         add generated body to the freeze actions for the subprogram, to
1605         prevent freezing issues when the record has incomplete components.
1606         * exp_ch4.adb (Expand_Composite_Equality): If the type is a type
1607         without completion, return a predefined comparison instead of
1608         just False.  This may happen when building the expression for
1609         record equality, when some component has a type whose completion
1610         has not been seen yet. The operation will be analyzed an expanded
1611         after the type has been frozen, at which point all component
1612         types will have been completed, or an error reported.
1613
1614 2013-04-24  Ed Schonberg  <schonberg@adacore.com>
1615
1616         * sem_ch13.adb (Analyze_Aspect_Specifications): Do not delay
1617         analysis of a Convention aspect.
1618
1619 2013-04-24  Eric Botcazou  <ebotcazou@adacore.com>
1620
1621         * fe.h (Machine_Overflows_On_Target): New macro and declaration.
1622         (Signed_Zeros_On_Target): Likewise.
1623
1624 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1625
1626         * exp_ch6.adb: Add with and use clause for Sem_Prag.
1627         (Freeze_Subprogram): Analyze all delayed aspects for a null
1628         procedure so that they are available when analyzing the
1629         internally-generated _Postconditions routine.
1630         * exp_ch13.adb: Remove with and use clause for Sem_Prag.
1631         (Expand_N_Freeze_Entity): Move the code that analyzes delayed
1632         aspects of null procedures to exp_ch6.Freeze_Subprogram.
1633         * sem_prag.adb (Analyze_Abstract_State): Update the check on
1634         volatile requirements.
1635
1636 2013-04-24  Bob Duff  <duff@adacore.com>
1637
1638         * ali-util.ads (Source_Record): New component Stamp_File
1639         to record from whence the Stamp came.
1640         * ali-util.adb (Set_Source_Table): Set Stamp_File component.
1641         * bcheck.adb (Check_Consistency): Print additional information in
1642         Verbose_Mode.
1643         * gnatbind.adb (Gnatbind): Print additional information in
1644         Verbose_Mode.
1645
1646 2013-04-24  Robert Dewar  <dewar@adacore.com>
1647
1648         * exp_ch13.adb, sem_prag.adb: Update comments.
1649         * sem_ch3.adb, exp_ch9.adb, g-socket.adb, sem_ch13.adb: Minor
1650         reformatting.
1651
1652 2013-04-24  Doug Rupp  <rupp@adacore.com>
1653
1654         * vms_data.ads (/{NO}INHIBIT-EXEC): Document new default behavior.
1655
1656 2013-04-24  Yannick Moy  <moy@adacore.com>
1657
1658         * sinfo.ads: Minor correction of typo.
1659
1660 2013-04-24  Ed Schonberg  <schonberg@adacore.com>
1661
1662         * sem_ch3.adb: Create packed array only when expander is
1663         active.
1664
1665 2013-04-24  Hristian Kirtchev  <kirtchev@adacore.com>
1666
1667         * sem_prag.adb (Analyze_Depends_In_Decl_Part): Install the formals only
1668         when the context warrants it.
1669         (Analyze_Global_In_Decl_List): Install the formals only when
1670         the context warrants it.
1671         (Requires_Profile_Installation): New routine.
1672
1673 2013-04-24  Ed Schonberg  <schonberg@adacore.com>
1674
1675         * exp_ch6.adb (Expand_N_Simple_Return_Statement): When the return
1676         type is a discriminated private type that does not require use
1677         of the secondary stack, a constrained subtype of the underlying
1678         type is created to convey the proper object size to the backend.
1679         If the return type is originally a private type, the return
1680         expression is wrapped in an unchecked_conversion. If the return
1681         expression is used subsequently in a call to the postcondition
1682         function, this conversion must be undone to prevent a spurious
1683         error on the analysis of that call.
1684
1685 2013-04-23  Kai Tietz  <ktietz@redhat.com>
1686
1687         PR target/55445
1688         * raise-gcc.c (__SEH__): Additional check that SjLj isn't active.
1689
1690 2013-04-23  Eric Botcazou  <ebotcazou@adacore.com>
1691             Pascal Obry    <obry@adacore.com>
1692
1693         * gcc-interface/Makefile.in (targ): Fix target name check.
1694         (../../gnatmake$(exeext)): Add '+' for LTO.
1695         (../../gnatlink$(exeext)): Likewise.
1696
1697 2013-04-23  Hristian Kirtchev  <kirtchev@adacore.com>
1698
1699         * exp_ch9.adb (Build_PPC_Wrapper): Correct the traversal of
1700         pre- and post-conditions.
1701         (Expand_N_Task_Type_Declaration):
1702         Use the correct attribute to check for pre- and post-conditions.
1703         * exp_ch13.adb (Expand_N_Freeze_Entity): Correct the traversal of
1704         pre- and post-conditions.  Analyze delayed classification items.
1705         * freeze.adb (Freeze_Entity): Use the correct attribute to
1706         check for pre- and post- conditions.
1707         * sem_ch3.adb (Analyze_Declarations): Correct the traversal
1708         of pre- and post-conditions as well as contract- and
1709         test-cases. Analyze delayed pragmas Depends and Global.
1710         * sem_ch6.adb (Check_Subprogram_Contract): Use the correct
1711         attribute to check for pre- and post-conditions, as well as
1712         contract-cases and test-cases.  (List_Inherited_Pre_Post_Aspects):
1713         Correct the traversal of pre- and post- conditions.
1714         (Process_Contract_Cases): Update the comment on usage. Correct
1715         the traversal of contract-cases.
1716         (Process_Post_Conditions): Update the comment on usage. Correct the
1717         traversal of pre- and post-conditions.
1718         (Process_PPCs): Correct the traversal of pre- and post-conditions.
1719         (Spec_Postconditions): Use the correct
1720         attribute to check for pre- and post- conditions, as well as
1721         contract-cases and test-cases.
1722         * sem_ch13.adb (Analyze_Aspect_Specifications): Reimplement the
1723         actions related to aspects Depends and Global. Code refactoring
1724         for pre- and post-conditions.
1725         (Insert_Delayed_Pragma): New routine.
1726         * sem_prag.adb (Add_Item): New routine.
1727         (Analyze_Depends_In_Decl_Part): New routine.
1728         (Analyze_Global_In_Decl_Part): New routine.
1729         (Analyze_Pragma): Reimplement the actions related to aspects Depends and
1730         Global. Verify that a body acts as a spec for pragma Contract_Cases.
1731         (Chain_PPC): Use Add_Contract_Item to chain a pragma.
1732         (Chain_CTC): Correct the traversal of contract-
1733         and test-cases. Use Add_Contract_Item to chain a pragma.
1734         (Chain_Contract_Cases): Correct the traversal of contract-
1735         and test-cases. Use Add_Contract_Item to chain a pragma.
1736         (Check_Precondition_Postcondition): Update the comment on usage.
1737         (Check_Test_Case): Update the comment on usage.
1738         * sem_prag.ads (Analyze_Depends_In_Decl_Part): New routine.
1739         (Analyze_Global_In_Decl_Part): New routine.
1740         * sem_util.ads, sem_util.adb (Add_Contract_Item): New routine.
1741         * sinfo.adb (Classifications): New routine.
1742         (Contract_Test_Cases): New routine.
1743         (Pre_Post_Conditions): New routine.
1744         (Set_Classifications): New routine.
1745         (Set_Contract_Test_Cases): New routine.
1746         (Set_Pre_Post_Conditions): New routine.
1747         (Set_Spec_CTC_List): Removed.
1748         (Set_Spec_PPC_List): Removed.
1749         (Spec_CTC_List): Removed.
1750         (Spec_PPC_List): Removed.
1751         * sinfo.ads: Update the structure of N_Contruct along with all
1752         related comments.
1753         (Classifications): New routine and pragma Inline.
1754         (Contract_Test_Cases): New routine and pragma Inline.
1755         (Pre_Post_Conditions): New routine and pragma Inline.
1756         (Set_Classifications): New routine and pragma Inline.
1757         (Set_Contract_Test_Cases): New routine and pragma Inline.
1758         (Set_Pre_Post_Conditions): New routine and pragma Inline.
1759         (Set_Spec_CTC_List): Removed.
1760         (Set_Spec_PPC_List): Removed.
1761         (Spec_CTC_List): Removed.
1762         (Spec_PPC_List): Removed.
1763
1764 2013-04-23  Doug Rupp  <rupp@adacore.com>
1765
1766         * init.c (GNAT$STOP) [VMS]: Bump sigargs[0] count by 2
1767         to account for LIB$STOP not having the chance to add the PC and
1768         PSL fields.
1769
1770 2013-04-23  Robert Dewar  <dewar@adacore.com>
1771
1772         * sem_ch13.adb: Minor code reorganization (remove some redundant
1773         assignments).
1774         * sem_ch3.adb, sem_prag.adb: Minor reformatting.
1775
1776 2013-04-23  Yannick Moy  <moy@adacore.com>
1777
1778         * einfo.ads: Minor typo fix.
1779         * sem_ch13.adb (Build_Predicate_Functions): Reject cases where
1780         Static_Predicate is applied to a non-scalar or non-static type.
1781         * sem_prag.adb: Minor typo fix.
1782
1783 2013-04-23  Doug Rupp  <rupp@adacore.com>
1784
1785         * init.c (GNAT$STOP) [VMS]: New function.
1786
1787 2013-04-23  Ed Schonberg  <schonberg@adacore.com>
1788
1789         * sem_ch3.adb: Add exp_pakd to context.
1790         (Constrain_Component_Type): If the component of the parent is
1791         packed, and the record subtype being built is already frozen,
1792         as is the case for an itype, the component type itself will not
1793         be frozen, and the packed array type for it must be constructed
1794         explicitly.
1795
1796 2013-04-23  Thomas Quinot  <quinot@adacore.com>
1797
1798         * g-socket.adb, g-socket.ads (Set_Close_On_Exec): New subprogram.
1799
1800 2013-04-23  Yannick Moy  <moy@adacore.com>
1801
1802         * err_vars.ads (Error_Msg_Qual_Level): Set variable to zero
1803         at declaration.
1804         * opt.ads (Multiple_Unit_Index): Set variable to zero at declaration.
1805         * sem_util.adb (NCT_Table_Entries): Set variable to zero at declaration.
1806         * set_targ.ads (Num_FPT_Modes): Set variable to zero at declaration.
1807         * stylesw.adb (Save_Style_Check_Options): Protect testing the
1808         value of Style_Check_Comments_Spacing by a previous test that
1809         Style_Check_Comments is True.
1810
1811 2013-04-23  Thomas Quinot  <quinot@adacore.com>
1812
1813         * sem_prag.adb, sem_prag.ads (Effective_Name): Rename to
1814         Original_Name, and move declaration to package body as this
1815         subprogram is not used from outside. Also clarify documentation.
1816
1817 2013-04-23  Ed Schonberg  <schonberg@adacore.com>
1818
1819         * exp_ch6.adb (Expand_N_Subprogram_Body): When compiling with
1820         initialize_scalars, disable predicate checks on the generated
1821         assignment to an out scalar parameter.
1822
1823 2013-04-23  Gary Dismukes  <dismukes@adacore.com>
1824
1825         * sem_ch4.adb (Analyze_Allocator): Remove error
1826         check for "constrained in partial view" constraints entirely.
1827
1828 2013-04-23  Robert Dewar  <dewar@adacore.com>
1829
1830         * einfo.ads, sem_prag.ads: Minor reformatting.
1831         * errout.ads: Comment update.
1832
1833 2013-04-23  Yannick Moy  <moy@adacore.com>
1834
1835         * exp_ch5.adb: Minor typo.
1836
1837 2013-04-23  Thomas Quinot  <quinot@adacore.com>
1838
1839         * gnat_ugn.texi: Fix typo.
1840
1841 2013-04-23  Ed Schonberg  <schonberg@adacore.com>
1842
1843         * einfo.ads: Minor documentation clarification.
1844
1845 2013-04-23  Bob Duff  <duff@adacore.com>
1846
1847         * types.ads: Fix incorrect comment.
1848
1849 2013-04-23  Ed Schonberg  <schonberg@adacore.com>
1850
1851         * sem_aux.adb sem_aux.ads (Effectively_has_Constrained_Partial_View):
1852         Rename subprogram as Object_Type_Has_Constrained_Partial_View, better
1853         description of purpose.
1854         * checks.adb (Apply_Discriminant_Check): Use above renaming.
1855         * sem_ch4.adb (Analyze_Allocator): Check Has_Constrained_Partial_View
1856         of the base type, rather than using the Object_Type predicate.
1857         * sem_attr.adb (Analyze_Attribute, case 'Access): Use above renaming.
1858         * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): ditto.
1859         * exp_attr.adb (Expand_N_Attribute_Reference, case 'Constrained): Ditto.
1860         * exp_ch4.adb (Expand_N_Allocator): Ditto.
1861
1862 2013-04-23  Robert Dewar  <dewar@adacore.com>
1863
1864         * exp_prag.adb (Expand_Pragma_Check): Check for Assert rather
1865         than Assertion.
1866         * sem_prag.adb (Is_Valid_Assertion_Kind): Moved to spec
1867         (Effective_Name): New function (Analyze_Pragma, case Check):
1868         Disallow [Statement_]Assertions (Check_Kind): Implement
1869         Statement_Assertions (Check_Applicable_Policy): Use Effective_Name
1870         (Is_Valid_Assertion_Kind): Allow Statement_Assertions.
1871         * sem_prag.ads (Is_Valid_Assertion_Kind): Moved here from body
1872         (Effective_Name): New function.
1873         * sem_res.adb: Minor reformatting.
1874         * snames.ads-tmpl (Name_Statement_Assertions): New entry.
1875         * gnat_rm.texi: Add documentation of new assertion kind
1876         Statement_Assertions.
1877
1878 2013-04-23  Robert Dewar  <dewar@adacore.com>
1879
1880         * sinfo.ads, einfo.adb, sem_res.adb, exp_ch6.adb, aspects.adb: Minor
1881         reformatting and code clean up.
1882
1883 2013-04-23  Vincent Celier  <celier@adacore.com>
1884
1885         * prj-part.ads, prj-conf.ads: Minor comment updates.
1886
1887 2013-04-23  Ed Schonberg  <schonberg@adacore.com>
1888
1889         * einfo.adb (Predicate_Function): For a private type, retrieve
1890         predicate function from full view.
1891         * aspects.adb (Find_Aspect): Ditto.
1892         * exp_ch6.adb (Expand_Actuals): If the formal is class-wide and
1893         the actual is a definite type, apply predicate check after call.
1894         * sem_res.adb: Do not apply a predicate check before the call to
1895         a generated Init_Proc.
1896
1897 2013-04-23  Robert Dewar  <dewar@adacore.com>
1898
1899         * sem_ch13.adb (Analyze_Aspect_Specifications): Significant
1900         rewrite to make sure Is_Ignore is properly captured when aspect
1901         is declared.
1902         * sem_ch6.adb: Minor reformatting.
1903         * sem_prag.adb (Analyze_Pragma): Do not test policy at time of
1904         pragma for the case of a pragma coming from an aspect (already
1905         tested when we analyzed the aspect).
1906
1907 2013-04-23  Vincent Celier  <celier@adacore.com>
1908
1909         * prj-conf.adb (Parse_Project_And_Apply_Config): New
1910         Boolean parameter Implicit_Project, defaulted to False. Call
1911         Prj.Part.Parse with Implicit_Project.
1912         * prj-conf.ads (Parse_Project_And_Apply_Config): New Boolean
1913         parameter Implicit_Project, defaulted to False.
1914         * prj-part.adb (Parse_Single_Project): New Boolean parameter
1915         Implicit_Project, defaulted to False. When Implicit_Project is
1916         True, change the Directory of the project node to the Current_Dir.
1917         * prj-part.ads (Parse): New Boolean parameter, defaulted to False
1918
1919 2013-04-23  Robert Dewar  <dewar@adacore.com>
1920
1921         * exp_util.adb: Minor reformatting.
1922
1923 2013-04-23  Robert Dewar  <dewar@adacore.com>
1924
1925         * xoscons.adb: Minor reformatting.
1926
1927 2013-04-23  Hristian Kirtchev  <kirtchev@adacore.com>
1928
1929         * sem_prag.adb (Check_Mode): Ensure that a
1930         self-referential output appears in both input and output lists of
1931         the subprogram as categorized by aspect Global.
1932         (Check_Usage): Rename formal parameters to better illustrate their
1933         function. Update all uses of the said formals.
1934
1935 2013-04-23  Thomas Quinot  <quinot@adacore.com>
1936
1937         * exp_util.adb, exp_util.ads (Fully_Qualified_Name_String): New
1938         parameter Append_NUL to make NUL-termination optional.
1939         * exp_dist.adb: Consistently use the above throughout instead of
1940         Get_Library_Unit_Name_String.
1941
1942 2013-04-23  Robert Dewar  <dewar@adacore.com>
1943
1944         * sem_util.adb, sem_res.adb, prj-tree.adb, prj-tree.ads: Minor
1945         reformatting.
1946
1947 2013-04-23  Pascal Obry  <obry@adacore.com>
1948
1949         * xoscons.adb: Remove unused use clause, minor code clean-up.
1950
1951 2013-04-23  Ed Schonberg  <schonberg@adacore.com>
1952
1953         * sem_util.ads, sem_util.adb: Code cleanup for Is_Expression_Function
1954         (can apply to any scope entity).
1955         * sem_res.adb (Resolve_Call):  If the call is within another
1956         expression function it does not constitute a freeze point.
1957
1958 2013-04-23  Yannick Moy  <moy@adacore.com>
1959
1960         * exp_ch6.adb (Expand_Actuals): Test that Subp
1961         is overloadable before testing if it's an inherited operation.
1962
1963 2013-04-23  Robert Dewar  <dewar@adacore.com>
1964
1965         * a-envvar.adb, a-envvar.ads, exp_util.adb, sem_ch12.adb: Minor
1966         reformatting.
1967
1968 2013-04-23  Ed Schonberg  <schonberg@adacore.com>
1969
1970         * sem_ch3.adb (Analyze_Object_Declarations): Undo previous patch.
1971         * exp_util.adb (Expand_Subtype_From_Expr): If the expression
1972         is a source entity and the declaration is for an aliased
1973         unconstrained array, create a new subtype so that the flag
1974         Is_Constr_Subt_For_UN_Aliased does not pollute other entities.
1975
1976 2013-04-23  Hristian Kirtchev  <kirtchev@adacore.com>
1977
1978         * aspects.adb: Move tables Base_Aspect and Inherited_Aspect
1979         from the spec to the body.
1980         (Find_Aspect): Update the call to Get_Aspect_Id.
1981         (Get_Aspect_Id): New version that takes an aspect specification.
1982         * aspects.ads: Reorganize all aspect related tables.
1983         (Get_Aspect_Id): New version that takes an aspect specification.
1984         * par_sco.adb (Traverse_Aspects): Update the call to Get_Aspect_Id.
1985         * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Update
1986         the call to Get_Aspect_Id.
1987         * sem_ch13.adb (Analyze_Aspect_At_Freeze_Point): Update the
1988         call to Get_Aspect_Id.  (Analyze_Aspect_Specifications): Update
1989         the call to Get_Aspect_Id. Update the call to Impl_Defined_Aspect.
1990
1991 2013-04-23  Robert Dewar  <dewar@adacore.com>
1992
1993         * sem_prag.adb (Fix_Error): Rewrite to do more accurate job
1994         of getting proper name in the case where pragma comes from
1995         aspect.
1996         * sem_ch3.adb, sinfo.ads, par-ch6.adb, exp_ch6.adb: Minor reformatting.
1997
1998 2013-04-23  Yannick Moy  <moy@adacore.com>
1999
2000         * sem_ch6.adb (Process_PPCs): Do not filter postconditions based on
2001         applicable policy.
2002
2003 2013-04-23  Thomas Quinot  <quinot@adacore.com>
2004
2005         * par_sco.adb (Traverse_Aux_Decls): Minor code reorganization.
2006
2007 2013-04-23  Doug Rupp  <rupp@adacore.com>
2008
2009         * init.c: Move facility macros outside IN_RTS.
2010
2011 2013-04-23  Thomas Quinot  <quinot@adacore.com>
2012
2013         * freeze.adb (Freeze_Entity): For the case of a bit-packed
2014         array time that is known at compile time to have more that
2015         Integer'Last+1 elements, issue an error, since such arrays are
2016         not supported.
2017
2018 2013-04-23  Hristian Kirtchev  <kirtchev@adacore.com>
2019
2020         * sem_prag.adb (Analyze_Dependency_Clause): Update all calls to
2021         Analyze_Input_Output.
2022         (Analyze_Input_List): Update all calls to Analyze_Input_Output.
2023         (Analyze_Input_Output): Add formal parameter Self_Ref along with
2024         comment on its usage. Update all calls to Analyze_Input_Output.
2025         (Analyze_Pragma): Add new local variable Self_Ref to capture
2026         the presence of a self-referential dependency clause. Update
2027         all calls to Analyze_Input_Output.
2028         (Check_Mode): Add formal parameter Self_Ref along with comment on its
2029         usage. Verify the legality of a self-referential output.
2030
2031 2013-04-23  Ed Schonberg  <schonberg@adacore.com>
2032
2033         * exp_ch6.adb: Add predicate checks on by-copy parameter.
2034
2035 2013-04-23  Vincent Celier  <celier@adacore.com>
2036
2037         * a-envvar.adb, a-envvar.ads (Value): New.
2038
2039 2013-04-22  Yannick Moy  <moy@adacore.com>
2040
2041         * exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as
2042         null statement if ignored.
2043         * sem_ch6.adb (Expand_Contract_Cases): Do nothing if pragma is ignored.
2044         * sem_prag.adb (Analyze_Pragma): Keep analyzing ignored pragmas.
2045
2046 2013-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
2047
2048         * sem_prag.adb (Analyze_Contract_Case): New routine.
2049         (Analyze_Pragma): Aspect/pragma Contract_Cases can
2050         now be associated with a library level subprogram.
2051         Add circuitry to detect illegal uses of aspect/pragma Contract_Cases
2052         in a subprogram body.
2053         (Chain_Contract_Cases): Rename formal parameter Subp_Decl to
2054         Subp_Id. Remove local constant Subp. The entity of the subprogram
2055         is now obtained via the formal paramter.
2056
2057 2013-04-22  Ed Schonberg  <schonberg@adacore.com>
2058
2059         * sem_ch3.adb (Analyze_Object_Declaration): Do not set
2060         Is_Constr_Subt_For_Unc_Aliased on the subtype of the expression,
2061         if the expression is a source entity.
2062
2063 2013-04-22  Yannick Moy  <moy@adacore.com>
2064
2065         * exp_prag.adb, sinfo.ads, sem_prag.ads: Minor correction of typos in
2066         comments.
2067         * sem_ch6.adb (Expand_Contract_Cases): Add location to message.
2068
2069 2013-04-22  Thomas Quinot  <quinot@adacore.com>
2070
2071         * sem_prag.adb (Fix_Error): For a pragma rewritten from another
2072         pragma, fix up error message to include original pragma name.
2073         * par_sco.adb: Minor reformatting.
2074
2075 2013-04-22  Robert Dewar  <dewar@adacore.com>
2076
2077         * sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb,
2078         sem_ch6.adb, opt.ads: Minor reformatting.
2079
2080 2013-04-22  Pascal Obry  <obry@adacore.com>
2081
2082         * gnat_ugn.texi, prj-nmsc.adb, projects.texi: Add check for
2083         Library_Standalone and Library_Kind.
2084
2085 2013-04-22  Ed Schonberg  <schonberg@adacore.com>
2086
2087         * exp_ch6.adb (Expand_Actuals): If the call is to an
2088         inherited operation and the actual is a by-reference type with
2089         predicates, add predicate call to post-call actions.
2090         * sem_util.adb (Is_Inherited_Operation_For_Type): Fix coding
2091         error: a type declaration has a defining identifier, not an Etype.
2092         * sem_res.adb: Restore code removed because of above error.
2093
2094 2013-04-22  Doug Rupp  <rupp@adacore.com>
2095
2096         * init.c (__gnat_handle_vms_condition): Also match C$_SIGINT.
2097
2098 2013-04-22  Yannick Moy  <moy@adacore.com>
2099
2100         * gnat_rm.texi, exp_util.adb, sem_prag.adb, sem_prag.ads, par-ch2.adb,
2101         opt.ads, sem_ch13.adb: Minor correction of typos in comments/doc.
2102
2103 2013-04-22  Vincent Celier  <celier@adacore.com>
2104
2105         * prj-nmsc.adb (Check_Library_Attributes): Set Library_Dir to
2106         No_Path_Information only when Directories_Must_Exist_In_Projects
2107         is False.
2108         (Get_Directories): Set Object_Directory
2109         or Exec_Directory to No_Path_Information only when
2110         Directories_Must_Exist_In_Projects is False.
2111
2112 2013-04-22  Yannick Moy  <moy@adacore.com>
2113
2114         * par-prag.adb, sem_attr.adb, sem_ch6.adb, sem_prag.adb, sem_warn.adb,
2115         snames.ads-tmpl, sinfo.ads, sem_util.ads: Remove all references to
2116         Pragma_Contract_Case and Name_Contract_Case.
2117
2118 2013-04-22  Yannick Moy  <moy@adacore.com>
2119
2120         * aspects.ads, aspects.adb, sem_ch13.adb: Removal of references to
2121         Contract_Case.
2122         * gnat_ugn.texi, gnat_rm.texi Description of Contract_Case replaced by
2123         description of Contract_Cases.
2124
2125 2013-04-12  Robert Dewar  <dewar@adacore.com>
2126
2127         * makeutl.adb, prj-nmsc.adb: Minor reformatting.
2128
2129 2013-04-12  Robert Dewar  <dewar@adacore.com>
2130
2131         * exp_util.adb (Make_Invariant_Call): Use Check_Kind instead
2132         of Check_Enabled.
2133         * gnat_rm.texi (Check_Policy): Update documentation for new
2134         Check_Policy syntax.
2135         * sem_prag.adb (Check_Kind): Replaces Check_Enabled
2136         (Analyze_Pragma, case Check_Policy): Rework to accomodate new
2137         syntax (like Assertion_Policy).
2138         * sem_prag.ads (Check_Kind): Replaces Check_Enabled.
2139
2140 2013-04-12  Doug Rupp  <rupp@adacore.com>
2141
2142         * init.c (SS$_CONTROLC, SS$_CONTINUE) [VMS]: New macros.
2143         (__gnat_handle_vms_condition) [VMS]: Dispatch on the Crtl/C user
2144         handler if installed.
2145         * ctrl_c.c (__gnat_install_int_handler)
2146         [VMS]: Install a dummy sigaction handler to trigger the real
2147         user handler dispatch in init.c/__gnat_handle_vms_condition.
2148         (__gnat_uninstall_int_handler) [VMS]: Likewise.
2149
2150 2013-04-12  Vincent Celier  <celier@adacore.com>
2151
2152         * clean.adb (Parse_Cmd_Line): Set Directories_Must_Exist_In_Projects
2153         to False if switch is specified.
2154         * makeutl.adb (Initialize_Source_Record): Do not look for the
2155         object file if there is no object directory.
2156         * opt.ads (Directories_Must_Exist_In_Projects): New Boolean
2157         variable, defaulted to True.
2158         * prj-nmsc.adb (Check_Library_Attributes): Do not fail if library
2159         directory does not exist when Directories_Must_Exist_In_Projects is
2160         False.
2161         (Get_Directories): Do not fail when the object or the exec directory
2162         do not exist when Directories_Must_Exist_In_Projects is False.
2163
2164 2013-04-12  Robert Dewar  <dewar@adacore.com>
2165
2166         * namet.adb, namet.ads: Minor addition (7 arg version of Nam_In).
2167         * exp_prag.adb, sem_ch3.adb, sem_intr.adb, sem_type.adb, exp_util.adb,
2168         sem_aux.adb, exp_ch9.adb, sem_ch7.adb, sem_ch10.adb, sem_prag.adb,
2169         par-ch2.adb, tbuild.adb, rtsfind.adb, freeze.adb, sem_util.adb,
2170         sem_res.adb, sem_attr.adb, exp_ch2.adb, prj-makr.adb, sem_elab.adb,
2171         exp_ch4.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb,
2172         prj-nmsc.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb, par-util.adb,
2173         sem_eval.adb, exp_intr.adb, sem_ch13.adb, exp_cg.adb, lib-xref.adb,
2174         sem_disp.adb, exp_ch3.adb: Minor code reorganization (use Nam_In).
2175
2176 2013-04-12  Doug Rupp  <rupp@adacore.com>
2177
2178         * init.c: Don't clobber condition code on VMS.
2179
2180 2013-04-12  Robert Dewar  <dewar@adacore.com>
2181
2182         * exp_aggr.adb: Minor reformatting.
2183         * namet.ads, namet.adb (Nam_In): New functions.
2184
2185 2013-04-12  Robert Dewar  <dewar@adacore.com>
2186
2187         * einfo.adb (Has_Dynamic_Predicate_Aspect): New flag.
2188         (Has_Static_Predicate_Aspect): New flag.
2189         * einfo.ads (Has_Dynamic_Predicate_Aspect): New flag.
2190         (Has_Static_Predicate_Aspect): New flag.
2191         * exp_ch9.adb: Minor reformatting.
2192         * exp_util.adb (Make_Invariant_Call): Check_Enabled now handles
2193         synonyms.
2194         * gnat1drv.adb: Remove setting of Debug_Pragmas_Enabled,
2195         since this switch is gone and control of Debug is done with
2196         Assertions_Enabled.
2197         * gnat_rm.texi: Update documentation for Assertion_Policy and
2198         Check_Policy pragmas.
2199         * opt.adb (Debug_Pragmas_Disabled[_Config]): Removed
2200         (Debug_Pragmas_Enabled[_Config]): Removed Since debug now
2201         controlled by Assertion_Enabled.
2202         * opt.ads (Debug_Pragmas_Disabled[_Config]): Removed
2203         (Debug_Pragmas_Enabled[_Config]): Removed Since debug now
2204         controlled by Assertion_Enabled.
2205         * par-ch2.adb (Scan_Pragma_Argument_Association): Allow new
2206         'Class forms.
2207         * sem_attr.adb: Minor reformatting.
2208         * sem_ch13.adb (Analyze_Aspect_Specification): Disable aspect
2209         if DISABLE policy applies.
2210         * sem_ch6.adb (Grab_PPC): Check original name of aspect for
2211         aspect from pragma (Process_PPCs): Properly check assertion policy.
2212         * sem_prag.adb (Check_Enabled): Rewritten for new Assertion_Policy
2213         (Check_Appicable_Policy): New procedure.
2214         (Is_Valid_Assertion_Kind): New function.
2215         (Rewrite_Assertion_Kind): New procedure.
2216         (Analyze_Pragma): Handle case of disabled assertion pragma.
2217         (Analyze_Pragma, case Assertion_Policy): Rewritten for Ada 2012.
2218         (Analyze_Pragma, case Check): Deal with 'Class possibilities.
2219         (Analyze_Pragma, case Check_Policy): Deal with 'Class possibilities.
2220         (Analyze_Pragma, case Contract_Class): New handling of ignored pragma.
2221         (Analyze_Pragma, case Debug): New control with Assertion_Policy.
2222         (Analyze_Pragma, case Debug_Policy): Now consistent with
2223         Assertion_Policy.
2224         (Analyze_Pragma, case Loop_Invariant): New handling of ignored
2225         pragma.
2226         (Analyze_Pragma, case Loop_Variant): New handling of ignored pragma.
2227         (Analyze_Pragma, case Precondition): Use proper name for Check pragma.
2228         (Analyze_Pragma, case Check_Enabled): Rewritten for new policy stuff.
2229         * sem_prag.ads (Check_Enabled): Rewritten for new
2230         Assertion_Policy stuff.
2231         (Check_Appicable_Policy): New procedure.
2232         * sinfo.adb (Is_Disabled): New flag.
2233         (Is_Ignored): New flag.
2234         * sinfo.ads (Is_Disabled): New flag.
2235         (Is_Ignored): New flag.
2236         (N_Pragma_Argument_Association): New 'Class forms.
2237         * snames.ads-tmpl: New names Name_uPre, Name_uPost,
2238         Name_uType_Invariant, Name_uInvariant.
2239         * switch-c.adb: Remove setting of Debug_Pragmas_Enabled for -gnata.
2240         * tree_io.ads (ASIS_Version_Number): Updated (remove
2241         read write of obsolete flags Debug_Pragmas_Disabled and
2242         Debug_Pragmas_Enabled.
2243
2244 2013-04-12  Ed Schonberg  <schonberg@adacore.com>
2245
2246         * exp_aggr.adb (Get_Explicit_Discriminant_Value): Subsidiary
2247         of Build_Record_Aggr_Code, used to retrieve explicit values
2248         for inherited discriminants in an extension aggregate, when the
2249         ancestor type is unconstrained.
2250
2251 2013-04-12  Ed Schonberg  <schonberg@adacore.com>
2252
2253         * sem_attr.adb (Check_Stream_Attribute): If restriction
2254         No_Default_Stream_Attributes is active, it is illegal to use a
2255         predefined elementary type stream attribute either by itself,
2256         or more importantly as part of the attribute subprogram for a
2257         composite type. However, if the broader restriction No_Streams
2258         is active, then stream operations are not generated, and there
2259         is no error.
2260
2261 2013-04-12  Robert Dewar  <dewar@adacore.com>
2262
2263         * gnatbind.adb: Minor reformatting.
2264
2265 2013-04-12  Bob Duff  <duff@adacore.com>
2266
2267         * sem_attr.adb (Analyze_Access_Attribute): Treat P'Access like a
2268         call only in the static elaboration model.
2269
2270 2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>
2271
2272         * sem_prag.adb (Analyze_Input_List): Detect an illegal dependency
2273         clause where both input and output lists are null.
2274         (Analyze_Pragma): Update the grammar of pragma Depends.
2275
2276 2013-04-12  Vincent Celier  <celier@adacore.com>
2277
2278         * gnatbind.adb (No_Restriction_List): Exclude restrictions that
2279         take a parameter value, not a count.
2280         * prj.ads, prj.adb (Remove_All_Restricted_Languages): New procedure.
2281         * projects.texi: Complete documentation of attribute Roots.
2282
2283 2013-04-12  Thomas Quinot  <quinot@adacore.com>
2284
2285         * exp_ch3.adb, exp_util.ads, checks.adb, freeze.adb, sem_attr.adb,
2286         sem_ch3.adb: Minor reformatting.
2287         * exp_ch4.adb (Size_In_Storage_Elements): Minor documentation
2288         improvement: note that the computation is pessimistic for bit
2289         packed arrays.
2290         * gnat_rm.texi (Range_Length): Fix minor error in description
2291         of attribute.
2292
2293 2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>
2294
2295         * aspects.adb (Find_Aspect): New routine.
2296         (Find_Value_Of_Aspect): New routine.
2297         (Has_Aspect): Reimplemented.
2298         * aspects.ads (Find_Aspect): New routine.
2299         (Find_Value_Of_Aspect): New routine, previously known as Find_Aspect.
2300         * exp_ch5.adb (Expand_Iterator_Loop): Update the call to Find_Aspect.
2301         * exp_util.adb (Is_Iterated_Container): Update the call to Find_Aspect.
2302         * sem_ch4.adb (Try_Container_Indexing): Update calls to Find_Aspect.
2303         * sem_ch5.adb (Analyze_Iterator_Specification): Update
2304         the call to Find_Aspect. Use function Has_Aspect for better
2305         readability.
2306         (Preanalyze_Range): Use function Has_Aspect for better readability.
2307         * sem_ch13.adb (Check_One_Function): Update the call to Find_Aspect.
2308         * sem_prag.adb (Analyze_Pragma): There is no longer need to
2309         look at the parent to extract the corresponding pragma for
2310         aspect Global.
2311
2312 2013-04-12  Robert Dewar  <dewar@adacore.com>
2313
2314         * checks.adb, sem_elab.adb, repinfo.adb, sem_ch4.adb, restrict.adb,
2315         restrict.ads: Minor reformatting.
2316
2317 2013-04-12  Ed Schonberg  <schonberg@adacore.com>
2318
2319         * lib-xref.adb: Retrieve original name of classwide type if any.
2320
2321 2013-04-12  Thomas Quinot  <quinot@adacore.com>
2322
2323         * exp_ch11.ads: Minor reformatting.
2324
2325 2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>
2326
2327         * aspects.adb: Alphabetize subprogram bodies in this unit. Add
2328         an entry for Aspect_Ghost in the table of canonical aspects.
2329         (Has_Aspect): New routine.
2330         * aspects.ads: Add Aspect_Ghost to all relevant
2331         tables. Alphabetize subprograms in this unit.
2332         (Has_Aspect): New routine.
2333         * einfo.adb: Add with and use clauses for Aspects.
2334         (Is_Ghost_Function): New routine.
2335         * einfo.ads: Add new synthesized attribute Is_Ghost_Function and
2336         update the structure of the related nodes.
2337         (Is_Ghost_Function): New routine.
2338         * exp_ch4.adb (Find_Enclosing_Context): Use routine
2339         Is_Body_Or_Package_Declaration to terminate a search.
2340         (Is_Body_Or_Unit): Removed.
2341         * exp_util.adb (Within_Case_Or_If_Expression): Use routine
2342         Is_Body_Or_Package_Declaration to terminate a search.
2343         * par-prag.adb: Add pragma Ghost to the list of pragmas that do
2344         not need special processing by the parser.
2345         * sem_attr.adb (Analyze_Access_Attribute): Detect an
2346         illegal use of 'Access where the prefix is a ghost function.
2347         (Analyze_Attribute): Use routine Is_Body_Or_Package_Declaration
2348         to terminate a search.  (Check_References_In_Prefix): Use routine
2349         Is_Body_Or_Package_Declaration to terminate a search.
2350         * sem_ch4.adb (Analyze_Call): Mark a function when it appears
2351         inside an assertion expression.  Verify the legality of a call
2352         to a ghost function.
2353         (Check_Ghost_Function_Call): New routine.
2354         * sem_ch6.adb (Analyze_Function_Call): Code reformatting. Move
2355         the setting of attribute In_Assertion_Expression to Analyze_Call.
2356         (Check_Overriding_Indicator): Detect an illegal attempt to
2357         override a function with a ghost function.
2358         * sem_ch12.adb (Preanalyze_Actuals): Detect an illegal use of
2359         a ghost function as a generic actual.
2360         * sem_elab.adb (Check_Internal_Call_Continue): Update the call
2361         to In_Assertion.
2362         * sem_prag.adb: Add an entry for pragma Ghost in the table
2363         of significant arguments.
2364         (Analyze_Pragma): Do not analyze
2365         an "others" case guard. Add processing for pragma Ghost. Use
2366         Preanalyze_Assert_Expression when analyzing the expression of
2367         pragmas Loop_Invariant and Loop_Variant.
2368         * sem_util.adb (Get_Subprogram_Entity): Reimplemented.
2369         (Is_Body_Or_Package_Declaration): New routine.
2370         * sem_util.ads: Alphabetize subprotrams in this unit.
2371         (Is_Body_Or_Package_Declaration): New routine.
2372         * sinfo.adb (In_Assertion): Rename to In_Assertion_Expression.
2373         (Set_In_Assertion): Rename to Set_In_Assertion_Expression.
2374         * sinfo.ads: Rename flag In_Assertion to In_Assertion_Expression
2375         to better reflect its use.  Update all places that mention the flag.
2376         (In_Assertion): Rename to In_Assertion_Expression. Update
2377         related pragma Inline.  (Set_In_Assertion): Rename to
2378         Set_In_Assertion_Expression. Update related pragma Inline.
2379         * snames.ads-tmpl: Add new predefined name Ghost. Add new pragma
2380         id Pragma_Ghost.
2381
2382 2013-04-12  Arnaud Charlet  <charlet@adacore.com>
2383
2384         * sem_prag.adb (Set_Imported): Do not generate error for multiple
2385         Import in CodePeer mode.
2386         * s-rident.ads: Fix minor typo.
2387
2388 2013-04-12  Ed Schonberg  <schonberg@adacore.com>
2389
2390         * checks.adb (Insert_Valid_Check): Do not insert validity check
2391         in the body of the generated predicate function, to prevent
2392         infinite recursion.
2393
2394 2013-04-12  Ed Schonberg  <schonberg@adacore.com>
2395
2396         * s-rident.ads: Add various missing Ada 2012 restrictions:
2397         No_Access_Parameter_Allocators, No_Coextensions,
2398         No_Use_Of_Attribute, No_Use_Of_Pragma.
2399         * snames.ads-tmpl: Add corresponding names.
2400         * restrict.ads restrict.adb: Subprograms and data structures to
2401         handle aspects No_Use_Of_Attribute and No_Use_Of_Pragma.
2402         * sem_ch4.adb: Correct name of restrictions is
2403         No_Standard_Allocators_After_Elaboration.
2404         * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
2405         violation of restriction No_Use_Of_Attribute.
2406         * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
2407         Set restrictions No_Use_Of_Pragma and No_Use_Of_Attribute.
2408         (Analyze_Pragma): Check violation of restriction No_Use_Of_Pragma.
2409         * sem_res.adb: Check restrictions No_Access_Parameter_Allocators
2410         and No_Coextensions.
2411         * bcheck.adb: Correct name of restrictions is
2412         No_Standard_Allocators_After_Elaboration.
2413         * gnatbind.adb: Correct name of restrictions is
2414         No_Standard_Allocators_After_Elaboration.
2415
2416 2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>
2417
2418         * sem_prag.adb (Analyze_Pragma, (Check_Mode_Restriction_In_Function):
2419         Correct error message format.
2420
2421 2013-04-12  Robert Dewar  <dewar@adacore.com>
2422
2423         * sem_attr.adb: Minor reformatting.
2424
2425 2013-04-12  Ed Schonberg  <schonberg@adacore.com>
2426
2427         * sem_elab.adb (Within_Elaborate_All): Do not examine a context
2428         item that has not been analyzed, because the unit may have errors,
2429         or the context item may come from a proper unit inserted at the
2430         point of a stub and not analyzed yet.
2431
2432 2013-04-12  Thomas Quinot  <quinot@adacore.com>
2433
2434         * gnat1drv.adb, repinfo.adb, repinfo.ads (Repinfo.List_Array_Info,
2435         List_Record_Info): Also include scalar storage order information in
2436         output.
2437
2438 2013-04-12  Yannick Moy  <moy@adacore.com>
2439
2440         * sem_ch6.adb (Process_Contract_Cases): Update code to apply to
2441         Contract_Cases instead of Contract_Case pragma.
2442
2443 2013-04-12  Robert Dewar  <dewar@adacore.com>
2444
2445         * a-cfdlli.ads, g-socket.adb, s-fileio.adb: Minor reformatting.
2446
2447 2013-04-12  Yannick Moy  <moy@adacore.com>
2448
2449         * sem_attr.adb (Analyze_Attribute): Update analyse of
2450         Attribute_Old and Attribute_Result so they are allowed in the
2451         right-hand-side of an association in a Contract_Cases pragma.
2452         * sem_prag.adb (Analyze_CTC_In_Decl_Part): Add pre-analysis of
2453         the expressions in a Contract_Cases pragma.
2454
2455 2013-04-12  Robert Dewar  <dewar@adacore.com>
2456
2457         * sem.ads, opt.ads: Minor comment edits.
2458         * sem_warn.adb, sem_ch6.adb: Minor reformatting.
2459
2460 2013-04-12  Claire Dross  <dross@adacore.com>
2461
2462         * a-cfdlli.adb a-cfdlli.ads (List, Not_No_Element, Iterate,
2463         Reverse_Iterate, Query_Element, Update_Element, Read, Write): Removed,
2464         not suitable for formal analysis.
2465
2466 2013-04-12  Ed Schonberg  <schonberg@adacore.com>
2467
2468         * sem_prag.adb (Analyze_Abstract_State): Use Defining entity
2469         to locate package entity, which may be a child unit.
2470
2471 2013-04-12  Thomas Quinot  <quinot@adacore.com>
2472
2473         * g-socket.adb, g-socket.ads (Connect_Socket, version with timeout): If
2474         the specified timeout is 0, do not attempt to determine whether the
2475         connection succeeded.
2476
2477 2013-04-12  Doug Rupp  <rupp@adacore.com>
2478
2479         * s-fileio.adb (Form_RMS Context_Key): Fix some thinkos.
2480
2481 2013-04-12  Doug Rupp  <rupp@adacore.com>
2482
2483         * s-fileio.adb: Minor reformatting.
2484
2485 2013-04-12  Ed Schonberg  <schonberg@adacore.com>
2486
2487         * sem_warn.adb (Check_Infinite_Loop_Warning): Do not warn if
2488         the last statement in the analyzed loop is an unconditional
2489         exit statement.
2490
2491 2013-04-12  Robert Dewar  <dewar@adacore.com>
2492
2493         * opt.ads (Style_Check_Main): New switch.
2494         * sem.adb (Semantics): Set Style_Check flag properly for new
2495         unit to be analyzed.
2496         * sem_ch10.adb (Analyze_With_Clause): Don't reset Style_Check,
2497         the proper setting of this flag is now part of the Semantics
2498         procedure.
2499         * switch-c.adb (Scan_Front_End_Switches): Set Style_Check_Main
2500         for -gnatg and -gnaty
2501
2502 2013-04-12  Doug Rupp  <rupp@adacore.com>
2503
2504         * s-crtl.ads (fopen, freopen): Add vms_form parameter
2505         * i-cstrea.ads (fopen, freopen): Likewise.
2506         * adaint.h (__gnat_fopen, __gnat_freopen): Likewise.
2507         * adaint.c (__gnat_fopen, __gnat_freopen): Likewise.
2508         [VMS]: Split out RMS keys and call CRTL function appropriately.
2509         * s-fileio.adb (Form_VMS_RMS_Keys, Form_RMS_Context_Key): New
2510         subprograms.
2511         (Open, Reset): Call Form_VMS_RMS_Keys. Call fopen,freopen with
2512         vms_form
2513         * gnat_rm.texi: Document implemented RMS keys.
2514
2515 2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>
2516
2517         * sem_ch13.adb (Analyze_Aspect_Specifications):
2518         Insert the corresponding pragma for aspect Abstract_State at
2519         the top of the visible declarations of the related package.
2520         Previously this was only done when the package is a compilation
2521         unit.
2522
2523 2013-04-12  Arnaud Charlet  <charlet@adacore.com>
2524
2525         * gnat_ugn.texi: Further menu clean ups.
2526         * sem_prag.adb, opt.ads: Minor reformatting.
2527         * sem_util.ads: Minor comment fix.
2528
2529 2013-04-12  Hristian Kirtchev  <kirtchev@adacore.com>
2530
2531         * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect
2532         Depends is now a delayed aspect. The delay is required
2533         due to the interplay between aspects Depends and Global.
2534         (Check_Aspect_At_Freeze_Point): Add an entry for aspect Depends.
2535         * sem_prag.adb: Reformat various error messages.
2536         (Add_Item): New subsidiary routine.
2537         (Analyze_Pragma): Add new variables
2538         Global_Seen, Result_Seen, Subp_Inputs and Subp_Outputs. The
2539         analysis of pragma Depends now has the capability to check
2540         the proper mode and usage of subprogram inputs and outputs.
2541         (Appears_In): New routine.
2542         (Check_Function_Return): New routine.
2543         (Check_Mode): New routine.
2544         (Check_Usage): New routine.
2545         (Collect_Subprogram_Inputs_Outputs): New routine.
2546
2547 2013-04-12  Bob Duff  <duff@adacore.com>
2548
2549         * par-ch7.adb (P_Package): Initialize Sloc in the newly-pushed scope
2550         stack entry.
2551
2552 2013-04-12  Robert Dewar  <dewar@adacore.com>
2553
2554         * switch-c.adb: Minor fix to wording of error message for
2555         -gnatet/eT.
2556
2557 2013-04-12  Robert Dewar  <dewar@adacore.com>
2558
2559         * impunit.adb: Add s-multip and s-mudido to list of impl defined
2560         system units.
2561         * gnat_rm.texi: Add documentation for
2562         System.Multiprocessors[.Dispatching_Domains].
2563
2564 2013-04-12  Ben Brosgol  <brosgol@adacore.com>
2565
2566         * gnat_ugn.texi: Completion of menu cleanups.
2567
2568 2013-04-12  Arnaud Charlet  <charlet@adacore.com>
2569
2570         * sem_prag.adb (Diagnose_Multiple_Pragmas): Relax the rules
2571         in Relaxed_RM_Semantics.
2572
2573 2013-04-12  Arnaud Charlet  <charlet@adacore.com>
2574
2575         * set_targ.adb (elab code): Add support for non gcc back-ends
2576         where save_argv is null.
2577
2578 2013-04-12  Robert Dewar  <dewar@adacore.com>
2579
2580         * gnat1drv.adb (Gnat1drv): Test Target_Dependent_Info_Write_Name.
2581         * opt.ads (Target_Dependent_Info_Read): Add _Name, now an access
2582         type (Target_Dependent_Info_Write): Add _Name, now an access type.
2583         * set_targ.adb (Write_Target_Dependent_Values): Use name
2584         from -gnatet switch stored in Target_Dependent_Info_Write_Name
2585         (Read_Target_Dependent_Values): Use name from -gnateT switch
2586         stored in Target_Dependent_Info_Read_Name.
2587         * switch-c.adb: New form of -gnatet and -gnateT switches.
2588         * usage.adb: New form of -gnatet and -gnateT switches with
2589         file name.
2590
2591 2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
2592
2593         * gcc-interface/decl.c (elaborate_expression_1): Skip only constant
2594         arithmetics when looking for a read-only variable in the expression.
2595
2596 2013-04-11  Javier Miranda  <miranda@adacore.com>
2597
2598         * check.ads, exp_ch6.adb (Install_Null_Excluding_Check): No check in
2599         interface thunks since it is performed at the caller side.
2600         (Expand_Simple_Function_Return): No accessibility check needed in thunks
2601         since the check is done by the target routine.
2602
2603 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
2604
2605         * sem_prag.adb (Analyze_Pragma, case Priority): pre-analyze
2606         expression with type Any_Priority.
2607         * exp_ch9.adb (Initialize_Protection): Check that the value
2608         of the priority expression is within the bounds of the proper
2609         priority type.
2610
2611 2013-04-11  Robert Dewar  <dewar@adacore.com>
2612
2613         * sem_prag.adb, prj-env.adb: Minor reformatting.
2614
2615 2013-04-11  Ben Brosgol  <brosgol@adacore.com>
2616
2617         * gnat_ugn.texi: Clean ups.
2618
2619 2013-04-11  Yannick Moy  <moy@adacore.com>
2620
2621         * set_targ.adb: Minor comment update.
2622
2623 2013-04-11  Pascal Obry  <obry@adacore.com>
2624
2625         * gnat_ugn.texi: Remove obsolete comment about DLL calling
2626         convention.
2627
2628 2013-04-11  Javier Miranda  <miranda@adacore.com>
2629
2630         * exp_ch6.adb (Expand_Call): For the call to the target primitive
2631         of an interface thunks do not compute the extra actuals; just
2632         propagate the extra actuals received by the thunk.
2633         * exp_disp.adb (Expand_Interface_Thunk): Decorate new attribute
2634         Thunk_Entity.
2635         * sem_ch6.adb (Create_Extra_Formals): Do not generate extra
2636         formals in interface thunks whose target primitive has no extra
2637         formals.
2638
2639 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
2640
2641         * sem_prag.adb (Analyze_Pragma): Detect
2642         a renaming by looking at the Renamed_Object attribute.
2643         (Is_Renaming): Removed.
2644
2645 2013-04-11  Vincent Celier  <celier@adacore.com>
2646
2647         * prj-env.adb (Initialize_Default_Project_Path): Take
2648         into account a project path file, specified by environment
2649         variable GPR_PROJECT_PATH_FILE, before taking into account
2650         GPR_PROJECT_PATH.
2651         * projects.texi: Add documentation for GPR_PROJECT_PATH_FILE
2652
2653 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
2654
2655         * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
2656         a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
2657         a-cfdlli.adb, a-cfdlli.ads, a-cborma.adb, a-cborma.ads, a-cidlli.adb,
2658         a-cidlli.ads, a-ciormu.adb, a-ciormu.ads, a-cihase.adb, a-cihase.ads,
2659         a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads, a-cbhama.adb,
2660         a-cbhama.ads, a-cborse.adb, a-cborse.ads, a-ciorma.adb, a-cobove.adb,
2661         a-ciorma.ads, a-cobove.ads, a-coormu.adb, a-coormu.ads, a-cohase.adb,
2662         a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbhase.adb, a-cbhase.ads:
2663         Move Iterator operations from body to private part of spec.
2664
2665 2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
2666
2667         * ttypes.ads, get_targ.ads: More minor rewording of comments.
2668
2669 2013-04-11  Johannes Kanig  <kanig@adacore.com>
2670
2671         * debug.adb: Document use of switch -gnatd.Z.
2672
2673 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
2674
2675         * sem_prag.adb (Analyze_Pragma): Both pragma Depends and Global can now
2676         support renamings of entire objects. Legal renamings are replaced by
2677         the object they rename.
2678         (Is_Renaming): New routine.
2679
2680 2013-04-11  Yannick Moy  <moy@adacore.com>
2681
2682         * set_targ.adb, opt.ads: Minor changes in comments.
2683
2684 2013-04-11  Ben Brosgol  <brosgol@adacore.com>
2685
2686         * gnat_ugn.texi: Minor clean ups.
2687
2688 2013-04-11  Robert Dewar  <dewar@adacore.com>
2689
2690         * nlists.ads, nlists.adb, treepr.adb, treepr.ads: Move debugging
2691         function p from Nlists to Treepr.
2692
2693 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
2694
2695         * sem_disp.adb (Check_Dispatching_Context): If the context is
2696         a contract for a null procedure defer error reporting until
2697         postcondition body is created.
2698         * exp_ch13.adb (Expand_N_Freeze_Entity): If the entity is a
2699         null procedure, complete the analysis of its contracts so that
2700         calls within classwide conditions are properly rewritten as
2701         dispatching calls.
2702
2703 2013-04-11  Thomas Quinot  <quinot@adacore.com>
2704
2705         * sem_ch10.adb, sem_ch12.adb: Minor reformatting.
2706
2707 2013-04-11  Robert Dewar  <dewar@adacore.com>
2708
2709         * exp_attr.adb, sem_res.adb, sem_attr.adb: Minor reformatting.
2710
2711 2013-04-11  Robert Dewar  <dewar@adacore.com>
2712
2713         * atree.adb, atree.ads (Node31): New function.
2714         (Set_Node31): New procedure.
2715
2716 2013-04-11  Robert Dewar  <dewar@adacore.com>
2717
2718         * errout.ads: Minor typo correction.
2719
2720 2013-04-11  Javier Miranda  <miranda@adacore.com>
2721
2722         * einfo.ad[sb] (Thunk_Entity/Set_Thunk_Entity): New attribute.
2723
2724 2013-04-11  Robert Dewar  <dewar@adacore.com>
2725
2726         * back_end.adb (Register_Back_End_Types): Moved to Get_Targ
2727         * back_end.ads (C_String): Moved to Get_Targ
2728         (Register_Type_Proc): Moved to Get_Targ (Register_Back_End_Types):
2729         Moved to Get_Targ.
2730         * cstand.adb (Register_Float_Type): New interface
2731         (Create_Back_End_Float_Types): Use entries in FPT_Mode_Table.
2732         * get_targ.adb (Register_Back_End_Types): Moved here from
2733         Back_End.
2734         * get_targ.ads (C_String): Moved here from Back_End
2735         (Register_Type_Proc): Moved here from Back_End
2736         (Register_Back_End_Types): here from Back_End.
2737         * gnat1drv.adb (GGnat11drv): Add call to
2738         Write_Target_Dependent_Values;
2739         * lib-writ.ads, lib-writ.adb (Write_ALI): Remove section writing
2740         obsolete target dependent info.
2741         * opt.ads (Generate_Target_Dependent_Info):
2742         Removed (Target_Dependent_Info_Read): New flag
2743         (Target_Dependent_Info_Write): New flag
2744         * output.adb: Minor comment change
2745         * s-os_lib.ads: Minor reformatting
2746         * set_targ.ads, set_targ.adb: Minor reformatting.
2747         * switch-c.adb (Scan_Switches.First_Ptr): New variable
2748         (Scan_Front_End_Switches): Check -gnatd.b, -gnateT come first
2749         (Scan_Front_End_Switches): Handle -gnatet, -gnateT
2750         * ttypes.ads: Remove documentation section on target dependent
2751         info in ali file Remove four letter codes, no longer used Instead
2752         of using Get_Targ.Get_xxx, we use Set_Targ.xxx
2753         * usage.adb: Add usage lines for -gnatet/-gnateT
2754         * gcc-interface/Make-lang.in: Update dependencies.
2755
2756 2013-04-11  Thomas Quinot  <quinot@adacore.com>
2757
2758         * sem_ch4.adb: Update documentation.
2759         * sinfo.ads (N_Expression_With_Actions): Ditto.
2760
2761 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
2762
2763         * sem_ch13.adb (Analyze_Aspect_Specifications):
2764         Add a guard to prevent the double insertion of the same aspect
2765         into a rep item list. This previously led to a circularity.
2766
2767 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
2768
2769         * sem_attr.adb (Eval_Attribute, case 'Access): Reject attribute
2770         reference if the prefix is the dereference of an anonymous access
2771         to subprogram type.
2772         * exp_attr.adb (Expand_N_Attribute_Reference, Access_Cases): Handle
2773         properly a reference to the current instance of a protected type
2774         from within a protected subprogram.
2775         * sem_res.adb (Find_Unique_Access_Type): Treat
2776         Attribute_Access_Type like Allocator_Type when resolving an
2777         equality operator.
2778
2779 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
2780
2781         * xgnatugn.adb: Remove obsolete comments.
2782
2783 2013-04-11  Robert Dewar  <dewar@adacore.com>
2784
2785         * back_end.ads, back_end.adb: Minor reformatting.
2786         * set_targ.ads, set_targ.adb: New files.
2787
2788 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
2789
2790         * sem_case.adb (Check_Against_Predicate): New routine.
2791         (Check_Choices): When the type covered by the list of choices
2792         is a static subtype with a static predicate, check all choices
2793         agains the predicate.
2794         (Issue_Msg): All versions removed.
2795         (Missing_Choice): New routines.
2796         * sem_ch4.adb: Code and comment reformatting.
2797         (Analyze_Case_Expression): Do not check the choices when the case
2798         expression is being preanalyzed and the type of the expression
2799         is a subtype with a static predicate.
2800         (Has_Static_Predicate): New routine.
2801         * sem_ch13.adb: Code and comment reformatting.  (Build_Range):
2802         Always build a range even if the low and hi bounds denote the
2803         same value. This is needed by the machinery in Check_Choices.
2804         (Build_Static_Predicate): Always build a range even if the low and
2805         hi bounds denote the same value. This is needed by the machinery
2806         in Check_Choices.
2807
2808 2013-04-11  Robert Dewar  <dewar@adacore.com>
2809
2810         * einfo.ads, sem_util.adb, exp_ch6.adb, xgnatugn.adb: Minor
2811         reformatting.
2812
2813 2013-04-11  Doug Rupp  <rupp@adacore.com>
2814
2815         * gnatlink.adb: Fold program basename to lower case on VMS for
2816         consistency.
2817
2818 2013-04-11  Matthew Heaney  <heaney@adacore.com>
2819
2820         * a-rbtgbo.adb (Generic_Equal): Initialize Result variable before
2821         entering loop.
2822
2823 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
2824
2825         * xgnatugn.adb: Remove dead code (handling of @ifset/@ifclear).
2826
2827 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
2828
2829         * gnat_ugn.texi: Remove some use of ifset in menus. Not strictly
2830         needed, and seems to confuse some versions of makeinfo.
2831
2832 2013-04-11  Javier Miranda  <miranda@adacore.com>
2833
2834         * einfo.adb (Is_Thunk): Remove assertion.
2835         (Set_Is_Thunk): Add assertion.
2836         * einfo.ads (Is_Thunk): Complete documentation.
2837         * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Code cleanup.
2838         * exp_ch3.ad[sb] (Is_Variable_Size_Array): Moved to sem_util
2839         (Is_Variable_Size_Record): Moved to sem_util
2840         * exp_ch6.adb (Expand_Call): Code cleanup.
2841         (Expand_N_Extended_Return_Statement): Code cleanup.
2842         (Expand_Simple_Function_Return): Code cleanup.
2843         * exp_disp.adb Remove dependency on exp_ch3
2844         (Expand_Interface_Thunk): Add minimum decoration needed to set
2845         attribute Is_Thunk.
2846         * sem_ch3.ad[sb] (Is_Constant_Bound): moved to sem_util
2847         * sem_util.ad[sb] (Is_Constant_Bound): Moved from
2848         sem_ch3 (Is_Variable_Size_Array): Moved from exp_ch3
2849         (Is_Variable_Size_Record): Moved from exp_ch3
2850
2851 2013-04-11  Javier Miranda  <miranda@adacore.com>
2852
2853         * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Do
2854         not add cleanup actions in thunks associated with interface types.
2855         * exp_ch3.ad[sb] (Is_Variable_Size_Record): Move declaration to
2856         the package spec.
2857         * exp_ch4.adb (Tagged_Conversion): Update call to
2858         Expand_Interface_Conversion since the parameter Is_Static is no
2859         longer needed.
2860         * exp_ch6.adb (Expand_N_Extended_Return_Statement): Adding
2861         assertion to ensure that interface thunks are never handled by
2862         this routine.
2863         (Expand_N_Simple_Function_Return): Do not rewrite this statement
2864         as an extended return statement in interface thunks, and do not
2865         perform copy in the secondary stack if the return statement is
2866         located in a thunk.
2867         * exp_disp.adb (Expand_Dispatching_Call): No longer displace
2868         the pointer to the returned object in functions returning interface
2869         types.
2870         (Expand_Interface_Thunk): For functions returning interface types
2871         displace the pointer to the returned object.
2872         (Expand_Interface_Conversion): Remove formal
2873         Is_Static since this subprogram can now evaluate it locally.
2874         * sem_ch3.adb (Add_Internal_Interface_Entities): For functions
2875         propagate the type returned by the covered interface primitive to
2876         the internal interface entity. Needed by the thunk to generate
2877         the code which displaces "this" to reference the corresponding
2878         secondary dispatch table.
2879         * sem_disp.adb (Propagate_Tag): Update call to
2880         Expand_Interface_Conversion since the parameter Is_Static is no
2881         longer needed.
2882         * sem_res.adb (Resolve_Type_Conversion): Update calls to
2883         Expand_Interface_Conversion since the parameter Is_Static is no
2884         longer needed plus code cleanup.
2885
2886 2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
2887
2888         * init.c (RETURN_ADDR_OFFSET): Delete as unused.
2889
2890 2013-04-11  Robert Dewar  <dewar@adacore.com>
2891
2892         * a-crbtgk.adb, a-ciorse.adb, a-crbtgo.adb, a-coorse.adb, a-rbtgbo.adb,
2893         a-cborse.adb, a-rbtgso.adb, exp_ch3.adb: Minor reformatting.
2894
2895 2013-04-11  Yannick Moy  <moy@adacore.com>
2896
2897         * exp_ch4.adb (Expand_N_Selected_Component): Do not expand
2898         discriminant check for Unchecked_Union.
2899         * sem_res.adb (Resolve_Selected_Component): Set flag
2900         Do_Discriminant_Check even when expansion is not performed.
2901         * sinfo.ads (Do_Discriminant_Check): Update documentation for the case
2902         of Unchecked_Union.
2903
2904 2013-04-11  Thomas Quinot  <quinot@adacore.com>
2905
2906         * sem_ch13.adb (Same_Representation): Two types with different scalar
2907         storage order never have the same representation.
2908
2909 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
2910
2911         * xgnatugn.adb (Push_Conditional): Simplify handling,
2912         no longer need to keep track of "excluding" sections.
2913         (Currently_Excluding): Removed.
2914         (Process_Source_File):
2915         Set unw/vms flag so that texinfo can do the whole handling of
2916         @ifset/@ifclear sections.  Fix handling of nested @ifset/@ifclear
2917         sections.
2918         * gnat_ugn.texi: Add a section on performing unassisted install
2919         on Windows.
2920
2921 2013-04-11  Johannes Kanig  <kanig@adacore.com>
2922
2923         * debug.adb: Document usage of -gnatd.Q switch.
2924
2925 2013-04-11  Matthew Heaney  <heaney@adacore.com>
2926
2927         * a-crbtgk.adb (Ceiling, Find, Floor): Adjust locks
2928         before element comparisons.
2929         (Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint):
2930         Ditto.
2931         * a-crbtgo.adb, a-rbtgbo.adb (Generic_Equal): Adjust locks before
2932         element comparisons.
2933         * a-rbtgso.adb (Difference, Intersection): Adjust locks
2934         before element comparisons.
2935         (Is_Subset, Overlap): Ditto
2936         (Symmetric_Difference, Union): Ditto
2937         * a-btgbso.adb (Set_Difference, Set_Intersection): Adjust locks
2938         before element comparisons.
2939         (Set_Subset, Set_Overlap): Ditto
2940         (Set_Symmetric_Difference, Set_Union): Ditto
2941         * a-coorse.adb, a-ciorse.adb, a-cborse.adb
2942         (Update_Element_Preserving_Key): Adjust locks before element
2943         comparisons (Replace_Element): Ditto
2944
2945 2013-04-11  Pascal Obry  <obry@adacore.com>
2946
2947         * prj-attr.adb, projects.texi, snames.ads-tmpl: Remove Build_Slaves
2948         attribute.
2949
2950 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
2951
2952         * exp_ch3.adb (Build_Equivalent_Aggregate): Subsidiary of
2953         Expand_N_Object_Declaration, used to construct an aggregate
2954         with static components whenever possible, so that objects of a
2955         discriminated type can be initialized without calling the init.
2956         proc for the type.
2957
2958 2013-04-11  Vincent Celier  <celier@adacore.com>
2959
2960         * prj-makr.adb (Process_Directory): On VMS, always delete,
2961         then recreate the temporary file with Create_Output_Text_File,
2962         otherwise the output redirection does not work properly.
2963
2964 2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
2965
2966         * urealp.ads: Fix minor typo.
2967
2968 2013-04-11  Fabien Chouteau  <chouteau@adacore.com>
2969
2970         * cio.c (mktemp): Don't use tmpnam function from the
2971         system on VxWorks in kernel mode.
2972
2973 2013-04-11  Vincent Celier  <celier@adacore.com>
2974
2975         * make.adb (Compile): Clarify the error message reported
2976         when gnatmake refuses to compile a runtime source.
2977         (Start_Compile_If_Possible): Ditto.
2978
2979 2013-04-11  Vincent Celier  <celier@adacore.com>
2980
2981         * gnat_ugn.texi: Add documentation about -gnatc and gnatmake.
2982
2983 2013-04-11  Vincent Celier  <celier@adacore.com>
2984
2985         * switch-c.adb: Document internal switches.
2986         * usage.adb: Remove lines for internal switches: -gnatea, -gnateO,
2987         -gnatez and -gnateO.
2988
2989 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
2990
2991         * par-ch6.adb (P_Subprogram): Attach aspects to subprogram stub.
2992         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Allow aspects on
2993         subprogram stubs.
2994         * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze generated
2995         pre/post pragmas at once before analyzing the proper body.
2996         * sem_prag.adb (Chain_PPC): Handle pragma that comes from an
2997         aspect on a subprogram stub.
2998         * aspects.adb: Aspect specifications can appear on a
2999         subprogram_Body_Stub.
3000
3001 2013-04-11  Vincent Celier  <celier@adacore.com>
3002
3003         * gnatname.adb: Minor comment fix.
3004
3005 2013-04-11  Vincent Celier  <celier@adacore.com>
3006
3007         * prj-makr.adb (Process_Directory): Create a new temporary
3008         file for each invocation of the compiler, in directory pointed
3009         by environment variable TMPDIR if it exists.
3010
3011 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
3012
3013         * gnat_ugn.texi: Minor editing/clean ups.
3014
3015 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
3016
3017         * sem_ch6.adb (Analyze_Null_Procedure): New subprogram, mostly
3018         extracted from Analyze_Subprogram_Declaration, to handle null
3019         procedure declarations that in ada 2012 can be completions of
3020         previous declarations.
3021
3022 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
3023
3024         * sem_prag.adb (Entity_Of): Moved to Exp_Util.
3025         * exp_util.ads, exp_util.adb (Entity_Of): New routine.
3026
3027 2013-04-11  Robert Dewar  <dewar@adacore.com>
3028
3029         * g-spipat.ads: Minor comment fix.
3030
3031 2013-04-11  Robert Dewar  <dewar@adacore.com>
3032
3033         * sem_prag.adb, sem_util.adb, sem_res.adb, exp_ch4.adb: Minor
3034         reformatting.
3035
3036 2013-04-11  Thomas Quinot  <quinot@adacore.com>
3037
3038         * exp_util.ads (Fully_Qualified_Name_String): Document that the
3039         constructed literal is the entity name in all upper case.
3040
3041 2013-04-11  Thomas Quinot  <quinot@adacore.com>
3042
3043         * sem_util.adb (Set_Entity_With_Style_Check): Fix logic of
3044         check for implementation defined identifiers.
3045
3046 2013-04-11  Yannick Moy  <moy@adacore.com>
3047
3048         * checks.adb (Apply_Type_Conversion_Checks): Add an explanation
3049         of why range check and length are put on different nodes.
3050         * exp_ch4.adb (Apply_Type_Conversion_Checks): Remove check marks
3051         when doing their expansion.
3052
3053 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
3054
3055         * sem_util.ads, sem_util.adb (Get_Incomplete_View_Of_Ancestor):
3056         New function to implement the notion introduced in RM 7.3.1
3057         (5.2/3): in a child unit, a derived type is within the derivation
3058         class of an ancestor declared in a parent unit, even if there
3059         is an intermediate derivation that does not see the full view
3060         of that ancestor.
3061         * sem_res.adb (Valid_Conversion): if all else fails, examine if an
3062         incomplete view of an ancestor makes a numeric conversion legal.
3063
3064 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
3065
3066         * sem_ch6.adb: in Ada2012 operators can only have in
3067         parameters.
3068
3069 2013-04-11  Vincent Celier  <celier@adacore.com>
3070
3071         * makeutl.adb (Create_Binder_Mapping_File): Do not put into
3072         the mapping file ALI files of sources that have been replaced.
3073
3074 2013-04-11  Vincent Celier  <celier@adacore.com>
3075
3076         * projects.texi: Add subsection Duplicate Sources in Projects.
3077
3078 2013-04-11  Vincent Celier  <celier@adacore.com>
3079
3080         * gnat_ugn.texi: Add documentation for gnatmake switch -droot_dir/**
3081
3082 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
3083
3084         * init.c (__gnat_install_handler): Only set up an alternate
3085         stack when installing a signal handler for SIGSEGV.
3086
3087 2013-04-11  Thomas Quinot  <quinot@adacore.com>
3088
3089         * g-socket.adb (Connect_Socket, timeout version): Call
3090         underlying connect operation directly, not through the 2-argument
3091         Connect_Socket thick binding, in order to avoid raising a junk
3092         exception for the EINPROGRESS return.
3093
3094 2013-04-11  Robert Dewar  <dewar@adacore.com>
3095
3096         * a-cdlili.adb: Minor addition of pragma Warnings (Off).
3097
3098 2013-04-11  Robert Dewar  <dewar@adacore.com>
3099
3100         * hostparm.ads: Minor reformatting.
3101
3102 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
3103
3104         * aspects.ads, aspects.adb: Add Aspect_Depends to all the relevant
3105         tables.
3106         * elists.ads, elists.adb (Contains): New routine.
3107         * par-prag.adb: Pragma Depends does not need any special treatment
3108         by the parser.
3109         * sem_ch13.adb (Analyze_Aspect_Specifications):
3110         Transform aspect Depends into a corresponding pragma.
3111         (Check_Aspect_At_Freeze_Point): Aspect Depends does not need
3112         inspection at its freeze point.
3113         * sem_prag.adb (Analyze_Pragma): Perform analysis and
3114         normalization of pragma Depends. Remove the use of function
3115         Is_Duplicate_Item. Use End_Scope to uninstalle the formal
3116         parameters of a subprogram. Add a value for pragma Depends in
3117         table Sig_Flags.
3118         (Is_Duplicate_Item): Removed.
3119         * snames.ads-tmpl: Add predefined name for Depends as well as
3120         a pragma identifier.
3121
3122 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
3123
3124         * gnat1drv.adb: Minor code clean up.
3125
3126 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
3127
3128         * debug.adb, sem_ch13.adb (Analyze_Enumeration_Representation_Clause):
3129         Ignore enumeration rep clauses by default in CodePeer mode, unless
3130         -gnatd.I is specified.
3131
3132 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
3133
3134         * sem_util.adb (Safe_To_Capture_Value): If the node belongs to
3135         an expression that has been attached to the else_actions of an
3136         if-expression, the capture is not safe.
3137
3138 2013-04-11  Yannick Moy  <moy@adacore.com>
3139
3140         * checks.adb (Apply_Type_Conversion_Checks): Put check mark on type
3141         conversion for arrays.
3142
3143 2013-04-11  Robert Dewar  <dewar@adacore.com>
3144
3145         * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
3146
3147 2013-04-11  Johannes Kanig  <kanig@adacore.com>
3148
3149         * adabkend.adb: Minor comment addition.
3150
3151 2013-04-11  Matthew Heaney  <heaney@adacore.com>
3152
3153         * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb ("="): Increment
3154         lock counts before entering loop.
3155         (Find): Ditto.
3156         (Is_Sorted, Merge, Sort): Ditto.
3157         (Reverse_Find): Ditto.
3158         (Splice_Internal): Internal operation to refactor splicing logic.
3159         (Splice): Some logic moved into Splice_Internal.
3160
3161 2013-04-11  Johannes Kanig  <kanig@adacore.com>
3162
3163         * adabkend.adb (Scan_Compiler_Arguments): Do not call
3164         Set_Output_Object_File_Name in Alfa_Mode
3165         * gnat1drv.adb (Adjust_Global_Switches): Take Alfa_Mode into account.
3166         * opt.ads: Fix documentation.
3167
3168 2013-04-11  Robert Dewar  <dewar@adacore.com>
3169
3170         * sem_res.adb: Minor code reorganization and comment fixes.
3171         * sem_type.adb: Minor reformatting.
3172
3173 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
3174
3175         * exp_ch4.adb (Process_Transient_Object): Add new
3176         local variable Fin_Call. Remove and explain ??? comment. Use the
3177         Actions of logical operators "and then" and "or else" to insert
3178         the generated finalization call.
3179
3180 2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
3181
3182         * gnat_rm.texi: Fix typo.
3183
3184 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
3185
3186         * sem_res.adb: Minor reformatting.
3187
3188 2013-04-11  Robert Dewar  <dewar@adacore.com>
3189
3190         * atree.h: Add declarations for Flag255-Flag289 Fix declaration
3191         of Field30 (was wrong, but no effect, since not yet referenced by
3192         back end) Add declarations for Field31-Field35 Add declarations
3193         for Node31-Node35.
3194         * einfo.ads, einfo.adb (Has_Invariants): No longer applies to
3195         procedures.
3196         (Has_Predicates): No longer applies to functions.
3197         (Is_Predicate_Function): New flag.
3198         (Is_Predicate_Function_M): New flag.
3199         (Is_Invariant_Procedure): New flag.
3200         (Predicate_Function_M): New function.
3201         (Set_Predicate_Function_M): New procedure.
3202         * exp_ch11.adb (Expand_N_Raise_Expression): Take care of special
3203         case of appearing in predicate used for membership test.
3204         * exp_ch3.adb (Insert_Component_Invariant_Checks): Set
3205         Is_Invariant_Procedure flag.
3206         * exp_ch4.adb (Expand_Op_In): Call special predicate function
3207         that takes care of raise_expression nodes in the predicate.
3208         * exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for
3209         membership case.
3210         * sem_ch13.adb (Build_Predicate_Functions): New name for
3211         Build_Predicate_Function.  Major rewrite to take care of raise
3212         expression in predicate for membership tests.
3213         * sem_res.adb (Resolve_Actuals): Include both predicate functions
3214         in defense against infinite predicate function loops.
3215         * sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag.
3216
3217 2013-04-11  Robert Dewar  <dewar@adacore.com>
3218
3219         * sem_prag.adb: Minor reformatting.
3220
3221 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
3222
3223         * lib-xref.adb: Generate reference for component of anonymous
3224         access type.
3225
3226 2013-04-11  Robert Dewar  <dewar@adacore.com>
3227
3228         * stand.ads: Minor reformatting.
3229
3230 2013-04-11  Matthew Heaney  <heaney@adacore.com>
3231
3232         * a-convec.adb, a-coinve.adb, a-cobove.adb ("="): Increment lock
3233         counts before entering loop.
3234         (Find, Find_Index): Ditto.
3235         (Is_Sorted, Merge, Sort): Ditto.
3236         (Reverse_Find, Reverse_Find_Index): Ditto.
3237
3238 2013-04-11  Robert Dewar  <dewar@adacore.com>
3239
3240         * exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure.
3241         * exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression.
3242         * expander.adb: Add call to Expand_N_Raise_Expression.
3243         * par-ch11.adb (P_Raise_Expression): New procedure.
3244         * par-ch4.adb (P_Relation): Handle Raise_Expression.
3245         * par.adb (P_Raise_Expression): New procedure.
3246         * sem.adb: Add handling for N_Raise_Expression.
3247         * sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure.
3248         * sem_res.adb (Resolve): Add handling for N_Raise_Expression.
3249         * sinfo.ads, sinfo.adb (N_Raise_Expression): New node.
3250         * sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression.
3251         * stand.ads (Any_Type): Document use with N_Raise_Expression.
3252
3253 2013-04-11  Vincent Celier  <celier@adacore.com>
3254
3255         * gnat_ugn.texi: Remove section "The Development Environments"
3256         now that all predefined attributes are documented, including
3257         those in package IDE.
3258
3259 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
3260
3261         * sem_ch6.adb: Preserve parent link in copy of expression.
3262
3263 2013-04-11  Vincent Celier  <celier@adacore.com>
3264
3265         * projects.texi: Complete rewrite of the subsection Attributes
3266         in section "Project file Reference".
3267
3268 2013-04-11  Robert Dewar  <dewar@adacore.com>
3269
3270         * exp_ch4.adb: Minor reformatting.
3271
3272 2013-04-11  Robert Dewar  <dewar@adacore.com>
3273
3274         * exp_ch4.adb (Expand_Concatenate): Remove wrapping in
3275         expression-with-actions node. No longer needed given fix to
3276         sem_prag and caused loss of some useful warnings.
3277         * sem.ads: Minor reformatting.
3278         * sem_prag.adb (Check_Disabled): Removed, to be replaced by not
3279         Check_Enabled. These two routines were curiously incompatible
3280         causing confusion.
3281         (Analyze_Pragma, case Check): Make sure we do
3282         not expand the string argument if the check is disabled. Avoid
3283         use of Check_Disabled, which resulted in missing analysis in
3284         some cases.
3285         * sem_prag.ads (Check_Disabled): Removed, to be replaced by not
3286         Check_Enabled. These two routines were curiously incompatible
3287         causing confusion.
3288
3289 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
3290
3291         * exp_ch4.adb (Process_Transient_Object): Use
3292         an unchecked conversion when associating a transient controlled
3293         object with its "hook".
3294
3295 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
3296
3297         * sem_prag.adb (Analyze_Pragma, case
3298         Preelaborable_Initialization): The pragma is legal if it comes
3299         from an aspect on the private view of the type, even though its
3300         analysis point takes place later at the freeze point.
3301
3302 2013-04-11  Robert Dewar  <dewar@adacore.com>
3303
3304         * sem_ch6.adb: Minor reformatting.
3305
3306 2013-04-11  Yannick Moy  <moy@adacore.com>
3307
3308         * ali-util.adb (Read_Withed_ALIs): Do not consider it an error to
3309         read ALI files with No_Object=True in Alfa mode.
3310         * gnat1drv.adb: Set appropriately Back_End_Mode in Alfa mode, whether
3311         this is during frame condition generation of translation to Why.
3312
3313 2013-04-11  Robert Dewar  <dewar@adacore.com>
3314
3315         * exp_ch4.adb: Minor code reorganization
3316         * types.ads: Minor reformatting.
3317
3318 2013-04-11  Johannes Kanig  <kanig@adacore.com>
3319
3320         * opt.ads New global boolean Frame_Condition_Mode to avoid
3321         referring to command line switch.
3322         * gnat1drv.adb (Gnat1drv) set frame condition mode when -gnatd.G
3323         is present, and disable Code generation in that case. Disable
3324         ALI file generation when switch is *not* present.
3325
3326 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
3327
3328         * sem_ch6.adb (Analyze_Expression_Function): Perform the
3329         pre-analysis on a copy of the expression, to prevent downstream
3330         visbility issues involving operators and instantiations.
3331
3332 2013-04-11  Johannes Kanig  <kanig@adacore.com>
3333
3334         * debug.adb: Reservation and documentation for -gnatd.G switch.
3335         * gnat1drv.adb (Adjust_Global_Switches) Take into account -gnatd.G
3336         switch, and set ALI file generation accordingly.
3337
3338 2013-04-11  Robert Dewar  <dewar@adacore.com>
3339
3340         * exp_ch4.adb, exp_dist.adb: Minor reformatting.
3341         * gnat_rm.texi, gnat_ugn.texi: -020 Add documentation clarifying that
3342         check names introduced with pragma Check_Name are suppressed by -gnatp.
3343
3344 2013-04-11  Vincent Celier  <celier@adacore.com>
3345
3346         * gnat_ugn.texi, projects.texi: Move chapter "Tools Supporting Project
3347         Files" from projects.texi to gnat_ugn.texi.
3348
3349 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
3350
3351         * gcc-interface/Make-lang.in: Update dependencies.
3352
3353 2013-04-11  Yannick Moy  <moy@adacore.com>
3354
3355         * gnat1drv.adb (Adjust_Global_Switches): Allow missing body in Alfa
3356         mode.
3357
3358 2013-04-11  Hristian Kirtchev  <kirtchev@adacore.com>
3359
3360         * exp_ch4.adb (Expand_N_Allocator): Detect the
3361         allocation of an anonymous controlled object where the type of
3362         the context is named. Use the pool and finalization master of
3363         the named access type to allocate the object.
3364
3365 2013-04-11  Vincent Celier  <celier@adacore.com>
3366
3367         * gnat_ugn.texi: Remove most mentions of gprbuild.
3368         * projects.texi: Remove all mentions of asociative array
3369         attributes.
3370
3371 2013-04-11  Robert Dewar  <dewar@adacore.com>
3372
3373         * sem_prag.adb, sem_attr.adb, gnat1drv.adb, prj-makr.adb,
3374         opt.ads, sem_ch13.adb: Minor reformatting.
3375         * debug.adb: Minor comment fix (remove junk .I doc).
3376
3377 2013-04-11  Thomas Quinot  <quinot@adacore.com>
3378
3379         * rtsfind.ads, exp_dist.adb, exp_dist.ads (Rtsfind.PCS_Version, case
3380         PolyORB): Bump to 6.
3381         (Exp_Dist.PolyORB_Support): Replace TC_Build with
3382         Build_Complex_TC.
3383
3384 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
3385
3386         * debug.adb, sem_prag.adb, par-ch2.adb, sem_attr.adb, gnat1drv.adb,
3387         exp_disp.adb, opt.ads, sem_ch13.adb (Relaxed_RM_Semantics): New flag.
3388         Enable this flag in CodePeer mode, and also via -gnatd.M.
3389         Replace some uses of CodePeer_Mode by Relaxed_RM_Semantics.
3390
3391 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
3392
3393         * sem_ch8.adb (Check_Constrained_Object): If a subtype is created
3394         from the renamed object in an object renaming declaration with
3395         an unconstrained nominal subtype, freeze the created subtype at
3396         once, to prevent order of elaboration issues in the backend.
3397
3398 2013-04-11  Arnaud Charlet  <charlet@adacore.com>
3399
3400         * exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size
3401         in particular in CodePeer mode.
3402
3403 2013-04-11  Vincent Celier  <celier@adacore.com>
3404
3405         * gnat_ugn.texi: Add documentation for backup copies of project
3406         files for gnatname.
3407
3408 2013-04-11  Tristan Gingold  <gingold@adacore.com>
3409
3410         * gnat_rm.texi: Add Detect_BLocking in the ravenscar profile
3411         pragma list.
3412
3413 2013-04-11  Vincent Celier  <celier@adacore.com>
3414
3415         * gnatname.adb (Scan_Args): Recognize new switch --no-backup
3416         (Usage): Add line for --no-backup.
3417         * opt.ads (No_Backup): New Boolean variable, initialized to False.
3418         (Ada_Version_Default): Switch to Ada 2012 by default.
3419         * prj-makr.adb (Initialize): Create a backup for an existing
3420         project file if gnatname is not invoked with --no-backup.
3421
3422 2013-04-11  Thomas Quinot  <quinot@adacore.com>
3423
3424         * exp_ch4.adb: Minor code improvement: replace various calls to
3425         Make_If_Statement in expansion with Make_Implicit_If_Statement.
3426
3427 2013-04-11  Eric Botcazou  <ebotcazou@adacore.com>
3428
3429         * ali.adb: Fix minor typo.
3430
3431 2013-04-11  Thomas Quinot  <quinot@adacore.com>
3432
3433         * exp_ch4.adb (Find_Enclosing_Context): Add missing case of
3434         N_Procedure_Call_Statement.
3435
3436 2013-04-11  Robert Dewar  <dewar@adacore.com>
3437
3438         * debug.adb: Minor comment fix.
3439
3440 2013-04-11  Johannes Kanig  <kanig@adacore.com>
3441
3442         * debug.adb: Remove comment for -gnatd.G.
3443
3444 2013-04-11  Thomas Quinot  <quinot@adacore.com>
3445
3446         * exp_ch4.adb (Expand_Record_Equality.Suitable_Element):
3447         Remove recursive routine, replace with...
3448         (Expand_Record_Equality.Element_To_Compare): New subroutine,
3449         implement iterative search for next element to compare.
3450         Add explanatory comment in the tagged case.
3451
3452 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
3453
3454         * sem_ch5.adb: remove spurious warning from non-empty loop.
3455         * sem_ch8.adb (Enclosing_Instance): Make public to other routines
3456         in the package, in order to suppress redundant semantic checks
3457         on subprogram renamings in nested instantiations.
3458
3459 2013-04-11  Robert Dewar  <dewar@adacore.com>
3460
3461         * errout.ads: Minor reformatting.
3462         * sem_eval.adb (Why_Not_Static): Now issues continuation messages
3463         (Why_Not_Static): Test for aggregates behind string literals.
3464         * sem_eval.ads (Why_Not_Static): Now issues continuation messages.
3465
3466 2013-04-11  Robert Dewar  <dewar@adacore.com>
3467
3468         * exp_ch4.adb (Expand_Concatenation): Wrap expansion in
3469         Expressions_With_Actions.
3470
3471 2013-04-11  Ed Schonberg  <schonberg@adacore.com>
3472
3473         * sem_ch6.adb (Base_Types_Match): For an actual type in an
3474         instance, the base type may itself be a subtype, so find true
3475         base type to determine compatibility.
3476
3477 2013-04-11  Robert Dewar  <dewar@adacore.com>
3478
3479         * s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb.
3480         makeutl.adb, sem_ch8.adb: Minor reformatting.
3481
3482 2013-04-11  Vincent Celier  <celier@adacore.com>
3483
3484         * gnat_ugn.texi: Minor fixes for VMS.
3485         * ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?.
3486
3487 2013-04-11  Robert Dewar  <dewar@adacore.com>
3488
3489         * usage.adb (Usage): Minor edit to -gnatW message
3490
3491 2013-04-11  Robert Dewar  <dewar@adacore.com>
3492
3493         * exp_aggr.adb (Expand_N_Aggregate): Add circuit for handling
3494         others for string literal case. Also add big ??? comment about
3495         this new code, which should be redundant, but is not.
3496         * sem_eval.adb (Eval_Concatenation): Handle non-static case
3497         properly (Eval_String_Literal): Handle non-static literal properly
3498
3499 2013-03-20  Tobias Burnus  <burnus@net-b.de>
3500
3501         * i-fortra.ads: Update comment, add Ada 2012's optional
3502         Star and Kind data types for enhanced interoperability.
3503
3504 2013-03-16  Eric Botcazou  <ebotcazou@adacore.com>
3505
3506         * gnatvsn.ads (Library_Version): Bump to 4.9.
3507
3508 2013-03-08  Cesar Strauss  <cestrauss@gmail.com>
3509
3510         PR ada/52123
3511         * seh_init.c (Raise_From_Signal_Handler): Declare as no-return.
3512         (__gnat_SEH_error_handler): Likewise.  Remove final return.
3513
3514 2013-03-06  Eric Botcazou  <ebotcazou@adacore.com>
3515
3516         * gcc-interface/trans.c (Attribute_to_gnu): Abort instead of erroring
3517         out for an unimplemented attribute.
3518
3519 2013-03-06  Eric Botcazou  <ebotcazou@adacore.com>
3520
3521         * gcc-interface/decl.c (gnat_to_gnu_field): Remove the wrapper around
3522         a misaligned integral type if a size is specified for the field.
3523
3524 2013-03-06  Eric Botcazou  <ebotcazou@adacore.com>
3525
3526         * gcc-interface/trans.c (Raise_Error_to_gnu) <CE_Index_Check_Failed>:
3527         Record the unpadded type of the index type on the RCI stack.
3528
3529 2013-03-06  Eric Botcazou  <ebotcazou@adacore.com>
3530
3531         * gcc-interface/trans.c (emit_range_check): Assert that the range type
3532         is a numerical type and remove useless local variables.
3533
3534 2013-02-25  Eric Botcazou  <ebotcazou@adacore.com>
3535
3536         * gcc-interface/ada-tree.h: Back out change accidentally committed.
3537
3538 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
3539
3540         PR bootstrap/56258
3541         * gnat-style.texi (@title): Remove @hfill.
3542         * projects.texi: Avoid line wrapping inside of @pxref or @xref.
3543
3544 2013-02-14  Rainer Emrich  <rainer@emrich-ebersheim.de>
3545
3546         PR target/52123
3547         * tracebak.c: Cast from pointer via FARPROC.
3548
3549 2013-02-07  Simon Wright  <simon@pushface.org>
3550
3551         PR target/50678
3552         * init.c (__darwin_major_version): New function for x86-64/Darwin.
3553         (__gnat_adjust_context_for_raise) [Darwin]: Disable the workaround
3554         on Darwin 12 and above.
3555
3556 2013-02-06  Rainer Emrich  <rainer@emrich-ebersheim.de>
3557
3558         PR target/52123
3559         * adaint.c (__gnat_check_OWNER_ACL): Cast from pointer via
3560         SECURITY_DESCRIPTOR *
3561         (__gnat_set_OWNER_ACL): Cast from DWORD to ACCESS_MODE
3562         (__gnat_portable_spawn): Fix cast to char* const*
3563         (add_handle): Cast from pointer via void **
3564         (add_handle): Cast from pointer via int *
3565         (__gnat_locate_exec_on_path): Cast from pointer via TCHAR *
3566         (__gnat_locate_exec_on_path): Cast from pointer via char *
3567         * initialize.c (append_arg): Cast from pointer via LPWSTR
3568         (__gnat_initialize): Cast from pointer via LPWSTR
3569         * seh_init.c (__gnat_map_SEH): Cast from pointer via FARPROC
3570
3571 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
3572
3573         * gcc-interface/Make-lang.in: Enable System.Stack_Checking.Operations
3574         target pairs on VxWorks 5 only.
3575
3576 2013-02-06  Arnaud Charlet  <charlet@adacore.com>
3577
3578         * gcc-interface/Make-lang.in: Update dependencies.
3579
3580 2013-02-06  Vincent Celier  <celier@adacore.com>
3581
3582         * prj-proc.adb (Process_Aggregated_Projects): Use a new project
3583         node tree for each project tree rooted at an aggregated project.
3584
3585 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
3586
3587         * sem_util.adb (Is_Interface_Conversion): New routine.
3588         (Object_Access_Level): Detect an interface conversion
3589         that has been rewritten into a different construct. Use the
3590         original form of the conversion to find the access level of
3591         the operand.
3592
3593 2013-02-06  Eric Botcazou  <ebotcazou@adacore.com>
3594
3595         * einfo.ads (Has_Pragma_No_Inline): New flag using Flag201.
3596         (Has_Pragma_No_Inline): Declare and mark as inline.
3597         (Set_Has_Pragma_No_Inline): Likewise.
3598         * einfo.adb (Has_Pragma_No_Inline): New function.
3599         (Set_Has_Pragma_No_Inline): New procedure.
3600         (Write_Entity_Flags): Handle Has_Pragma_No_Inline.
3601         * snames.ads-tmpl (Name_No_Inline): New pragma-related name.
3602         (Pragma_Id): Add Pragma_No_Inline value.
3603         * par-prag.adb (Prag): Handle Pragma_Inline.
3604         * sem_prag.adb (Inline_Status): New enumeration type.
3605         (Process_Inline): Change Active parameter
3606         to Inline_Status and add support for suppressed inlining.
3607         (Analyze_Pragma) <Pragma_Inline>: Adjust to above change.
3608         <Pragma_Inline_Always>: Likewise.
3609          <Pragma_No_Inline>: Implement new pragma No_Inline.
3610         (Sig_Flags): Add Pragma_No_Inline.
3611         * gnat_rm.texi (Implementation Defined Pragmas): Add No_Inline.
3612         * gnat_ugn.texi (Switches for gcc): Mention Pragma No_Inline.
3613
3614 2013-02-06  Pascal Obry  <obry@adacore.com>
3615
3616         * s-osprim-mingw.adb (Clock): Make sure we copy all data locally
3617         to avoid interleaved modifications that could happen from another
3618         task calling Get_Base_Data.
3619         (Get_Base_Data): Make it a critical section. Avoid updating if another
3620         task has already done it.
3621
3622 2013-02-06  Eric Botcazou  <ebotcazou@adacore.com>
3623
3624         * sem_prag.adb: Minor reformatting.
3625
3626 2013-02-06  Pascal Obry  <obry@adacore.com>
3627
3628         * s-tasloc.ads: Set System.Task_Lock to preelaborate.
3629
3630 2013-02-06  Eric Botcazou  <ebotcazou@adacore.com>
3631
3632         * snames.ads-tmpl (Name_Loop_Optimize, Name_No_Unroll,
3633         Name_Unroll, Name_No_Vector, Name_Vector): New pragma-related
3634         names.
3635         (Pragma_Id): Add Pragma_Loop_Optimize value.
3636         * par-prag.adb (Prag): Handle Pragma_Loop_Optimize.
3637         * sem_prag.adb (Check_Loop_Invariant_Variant_Placement): Rename to...
3638         (Check_Loop_Pragma_Placement): ...this.
3639         (Analyze_Pragma)
3640         <Pragma_Loop_Invariant>: Adjust to above renaming.
3641         <Loop_Variant>: Likewise.
3642          <Pragma_Loop_Optimize>: Implement new pragma Loop_Optimize.
3643         (Sig_Flags): Add Pragma_Loop_Optimize.
3644         * gnat_rm.texi (Implementation Defined Pragmas): Add Loop_Optimize.
3645         * gnat_ugn.texi (Vectorization of loops): Mention Loop_Optimize.
3646
3647 2013-02-06  Robert Dewar  <dewar@adacore.com>
3648
3649         * osint.ads: Minor fix of typo.
3650
3651 2013-02-06  Sergey Rybin  <rybin@adacore.com frybin>
3652
3653         * gnat_ugn.texi: gnatmetric: update the documentation of
3654         complexity metrics for Ada 2012.
3655
3656 2013-02-06  Javier Miranda  <miranda@adacore.com>
3657
3658         * exp_disp.adb (Make_Secondary_DT): Code cleanup:
3659         remove useless initialization.
3660
3661 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
3662
3663         * sem_ch3.adb (Build_Discriminant_Constraints): Do not
3664         generate overflow checks on a discriminant expression if the
3665         discriminant constraint is applied to a private type that has
3666         a full view, because the check will be applied when the full
3667         view is elaborated.  Removing the redundant check is not just
3668         an optimization, but it prevents spurious assembler errors,
3669         because of the way the backend generates names for expressions
3670         that require overflow checking.
3671
3672 2013-02-06  Pascal Obry  <obry@adacore.com>
3673
3674         * s-osprim-mingw.adb: Removes workaround for an old GNU/Linker
3675         limitation on Windows.
3676         (DA): Removed.
3677         (LIA): Removed.
3678         (LLIA): Removed.
3679         (TFA): Removed.
3680         (BTA): Removed.
3681         (BMTA): Removed.
3682         (BCA): Removed.
3683         (BMCA): Removed.
3684         (BTiA): Removed.
3685         (Clock): Use variable corresponding to access.
3686         (Get_Base_Time): Likewise.
3687         (Monotonic_Clock): Likewise.
3688
3689 2013-02-06  Vincent Celier  <celier@adacore.com>
3690
3691         * make.adb (Gnatmake): When gnatmake is called with a project
3692         file, do not invoke gnatbind with -I-.
3693         * makeutl.adb (Create_Binder_Mapping_File): Rewrite function. Get
3694         the infos from all the sources.
3695
3696 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
3697
3698         * snames.ads-tmpl: Add Name_Overriding_Renamings and pragma
3699         Overriding_Renamings.
3700         * par-prag.adb: Recognize pragma Overriding_Renamings.
3701         * opt.ads (Overriding_Renamings): flag to control compatibility
3702         mode with Rational compiler, replaces Rational_Profile flag.
3703         * sem_ch8.adb (Analyze_Subprogram_Renaming): When
3704         Overriding_Renamings is enabled, accept renaming declarations
3705         where the new subprogram renames and overrides a locally inherited
3706         operation. Improve error message for some illegal renamings.
3707         * sem_prag.adb (Analyze_Pragma): Add case for Overriding_Renamings.
3708         (Set_Rational_Profile): The Rational_Profile enables
3709         Overriding_Renamings, Implicit_Packing, and Use_Vads_Size.
3710
3711 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
3712
3713         * sem_util.adb: Set parent of copied aggregate component, to
3714         prevent infinite loop.
3715
3716 2013-02-06  Robert Dewar  <dewar@adacore.com>
3717
3718         * sem_ch3.adb, sem_ch10.adb: Minor reformatting.
3719         * exp_disp.adb: Minor comment update.
3720         * comperr.ads, osint.ads, rtsfind.adb, sem_prag.adb: Minor addition of
3721         No_Return pragmas.
3722
3723 2013-02-06  Thomas Quinot  <quinot@adacore.com>
3724
3725         * targparm.ads, sem_ch13.adb (Support_Nondefault_SSO): New target
3726         parameter, defaulted to False for now, indicates targets where
3727         non-default scalar storage order may be specified.
3728
3729 2013-02-06  Thomas Quinot  <quinot@adacore.com>
3730
3731         * sprint.adb (Write_Itype): Treat E_Record_Subtype_With_Private
3732         same as E_Record_Subtype.  Display E_Class_Wide_Subtype as
3733         subtype, not type.
3734
3735 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
3736
3737         * sem_ch3.adb (Complete_Private_Subtype): Inherit the
3738         Has_Unknown_Discriminants from the full view of the base type.
3739
3740 2013-02-06  Tristan Gingold  <gingold@adacore.com>
3741
3742         * raise-gcc.c: Remove useless includes (sys/stat.h, adaint.h)
3743         Enclosing debugging functions within #ifndef inhibit_libc to
3744         support builds without full C headers.
3745
3746 2013-02-06  Thomas Quinot  <quinot@adacore.com>
3747
3748         * gnat_rm.texi: Add a minimal example of Scalar_Storage_Order.
3749
3750 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
3751
3752         * sem_ch10.adb (Install_Limited_Withed_Unit): Add a missing
3753         check to detect a parent-child relationship between two units in
3754         order to correctly bypass the installation of a limited view. In
3755         other words, the comment on the intended usage of the check was
3756         correct, but the code itself did not reflect the behavior.
3757
3758 2013-02-06  Javier Miranda  <miranda@adacore.com>
3759
3760         * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate the
3761         runtime check on assignment to tagged types if compiling with checks
3762         suppressed.
3763
3764 2013-02-06  Robert Dewar  <dewar@adacore.com>
3765
3766         * exp_util.adb, checks.adb, sem_ch12.adb, sem_res.adb, prj-conf.adb,
3767         s-os_lib.adb: Minor reformatting
3768
3769 2013-02-06  Vincent Celier  <celier@adacore.com>
3770
3771         * ug_words: Add -gnateY = /IGNORE_STYLE_CHECKS_PRAGMAS.
3772
3773 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
3774
3775         * snames.ads-tmpl: Add Name_Rational and pragma Rational.
3776         * par-prag.adb: Recognize pragma Rational.
3777         * opt.ads (Rational_Profile): flag to control compatibility mode
3778         with Rational compiler.
3779         * sem_ch8.adb (Analyze_Subprogram_Renaming): When Rational profile
3780         is enable, accept renaming declarations where the new subprogram
3781         and the renamed entity have the same name.
3782         * sem_prag.adb (analyze_pragma): Add pragma Rational, and recognize
3783         Rational as a profile.
3784
3785 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
3786
3787         * exp_ch5.adb (Expand_Loop_Entry_Attributes): When
3788         dealing with a for loop that iterates over a subtype indication
3789         with a range, use the low and high bounds of the subtype.
3790
3791 2013-02-06  Nicolas Roche  <roche@adacore.com>
3792
3793         * s-os_lib.adb (Normalize_Arguments): Arguments containing tabs should
3794         be quoted
3795
3796 2013-02-06  Vincent Celier  <celier@adacore.com>
3797
3798         * prj-conf.adb (Process_Project_And_Apply_Config): New variable
3799         Conf_Project.  New recursive procedure Check_Project to find a non
3800         aggregate project and put its Project_Id in Conf_Project. Fails if
3801         no such project can be found.
3802         (Get_Or_Create_Configuration_File): New parameter Conf_Project.
3803          (Do_Autoconf): Use project directory of project Conf_Project to store
3804         the generated configuration project file.
3805         * prj-conf.ads (Get_Or_Create_Configuration_File): New parameter
3806         Conf_Project.
3807
3808 2013-02-06  Javier Miranda  <miranda@adacore.com>
3809
3810         * sem_res.adb (Resolve_Actuals): Generate a read
3811         reference for out-mode parameters in the cases specified by
3812         RM 6.4.1(12).
3813
3814 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
3815
3816         * sem_attr.adb (Resolve_Attribute): Do not resolve the prefix of
3817         Loop_Entry, instead wait until the attribute has been expanded. The
3818         delay ensures that any generated checks or temporaries are inserted
3819         before the relocated prefix.
3820
3821 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
3822
3823         * sem_ch12.adb: Code clean up.
3824
3825 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
3826
3827         * checks.adb (Apply_Discriminant_Check): Look for discriminant
3828         constraint in full view of private type when needed.
3829         * sem_ch12.adb (Validate_Array_Type_Instance): Specialize
3830         previous patch to components types that are private and without
3831         discriminants.
3832
3833 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
3834
3835         * exp_ch4.adb (Find_Enclosing_Context): Recognize
3836         a simple return statement as one of the cases that require special
3837         processing with respect to temporary controlled function results.
3838         (Process_Transient_Object): Do attempt to finalize a temporary
3839         controlled function result when the associated context is
3840         a simple return statement.  Instead, leave this task to the
3841         general finalization mechanism.
3842
3843 2013-02-06  Thomas Quinot  <quinot@adacore.com>
3844
3845         * einfo.ads: Minor reformatting.
3846         (Status_Flag_Or_Transient_Decl): Add ??? comment.
3847
3848 2013-02-06  Hristian Kirtchev  <kirtchev@adacore.com>
3849
3850         * exp_ch4.adb (Expand_N_Expression_With_Actions): Rewritten. This
3851         routine should be able to properly detect controlled transient
3852         objects in its actions and generate the appropriate finalization
3853         actions.
3854         * exp_ch6.adb (Enclosing_Context): Removed.
3855         (Expand_Ctrl_Function_Call): Remove local subprogram and
3856         constant. Use routine Within_Case_Or_If_Expression to determine
3857         whether the lifetime of the function result must be extended to
3858         match that of the context.
3859         * exp_util.ads, exp_util.adb (Within_Case_Or_If_Expression): New
3860         routine.
3861
3862 2013-02-06  Ed Schonberg  <schonberg@adacore.com>
3863
3864         * sem_ch12.adb (Validate_Array_Type_Instance): Extend check
3865         for subtype matching of component type of formal array type,
3866         to avoid spurious error when component type is a separate actual
3867         in the instance, and there may be a discrepancy between private
3868         and full view of component type.
3869
3870 2013-02-06  Robert Dewar  <dewar@adacore.com>
3871
3872         * s-dim.ads, clean.adb: Minor reformatting.
3873
3874 2013-02-06  Javier Miranda  <miranda@adacore.com>
3875
3876         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Undo previous patch.
3877         (Can_Split_Unconstrained_Function): Only split the inlined function if
3878         the compiler generates the code of its body.
3879
3880 2013-02-06  Robert Dewar  <dewar@adacore.com>
3881
3882         * exp_prag.adb, sem_ch3.adb, exp_attr.adb, sem_prag.adb, sem_ch6.adb,
3883         exp_intr.adb, exp_dist.adb, sem_ch13.adb: Internal clean up for
3884         N_Pragma nodes.
3885
3886 2013-02-06  Robert Dewar  <dewar@adacore.com>
3887
3888         * gnat_rm.texi: Minor text updates for pragma Warning.
3889
3890 2013-02-06  Geert Bosch  <bosch@adacore.com>
3891
3892         * s-multip.adb (Number_Of_CPUs): Short-circuit in case of
3893         CPU'Last = 1.
3894
3895 2013-02-06  Vincent Celier  <celier@adacore.com>
3896
3897         * clean.adb (Delete): On VMS use host notation to delete all files.
3898
3899 2013-02-06  Robert Dewar  <dewar@adacore.com>
3900
3901         * sem_prag.adb, sem_ch6.adb, prj-conf.adb, erroutc.adb: Minor
3902         reformatting.
3903
3904 2013-02-06  Gary Dismukes  <dismukes@adacore.com>
3905
3906         * sem_ch6.adb (Check_For_Primitive_Subprogram): Test for
3907         the special case of a user-defined equality that overrides
3908         the predefined equality of a nonderived type declared in a
3909         declarative part.
3910         * sem_util.adb (Collect_Primitive_Operations): Add test for
3911         Is_Primitive when looping over the subprograms following a type,
3912         to catch the case of primitives such as a user-defined equality,
3913         which otherwise won't be found when the type is not a derived
3914         type and is declared in a declarative part.
3915
3916 2013-02-06  Vincent Celier  <celier@adacore.com>
3917
3918         * prj-conf.adb (Check_Target): Always return True when Target
3919         is empty (Get_Or_Create_Configuration_File.Get_Project_Target):
3920         New procedure to get the value of attribute Target in the main
3921         project.
3922         (Get_Or_Create_Configuration_File.Do_Autoconf): No
3923         need to get the value of attribute Target in the main project.
3924         (Get_Or_Create_Configuration_File): Call Get_Project_Target and
3925         use the target fom this call.
3926
3927 2013-02-06  Eric Botcazou  <ebotcazou@adacore.com>
3928
3929         * erroutc.adb (Validate_Specific_Warning): Do not issue the
3930         warning about an ineffective Pragma Warnings for -Wxxx warnings.
3931         * sem_prag.adb (Analyze_Pragma) <Warnings>: Accept -Wxxx warnings.
3932         * gnat_rm.texi (Pragma Warnings): Document coordination with
3933         warnings of the GCC back-end.
3934
3935 2013-02-06  Javier Miranda  <miranda@adacore.com>
3936
3937         * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build the body
3938         of an inlined function if we do not generate code for the function.
3939
3940 2013-02-06  Pascal Obry  <obry@adacore.com>
3941
3942         * s-os_lib.adb (Locate_Exec_On_Path): Call Normalize_Pathname
3943         with Resolve_Links set to False.
3944
3945 2013-02-03  Eric Botcazou  <ebotcazou@adacore.com>
3946
3947         * gcc-interface/decl.c: Include diagnostic-core.h.
3948         (gnat_to_gnu_entity) <E_Array_Type>: Sorry if Reverse_Storage_Order
3949         is set on the entity.
3950         <E_Record_Type>: Likewise.
3951         * gcc-interface/Make-lang.in (ada/decl.o): Add $(DIAGNOSTIC_CORE_H).
3952
3953 2013-01-29  Ben Brosgol  <brosgol@adacore.com>
3954
3955         * gnat_rm.texi: Fixed typos. Minor edits.
3956
3957 2013-01-29  Bob Duff  <duff@adacore.com>
3958
3959         * a-convec.adb: Minor reformatting.
3960
3961 2013-01-29  Pascal Obry  <obry@adacore.com>
3962
3963         * tempdir.adb, tempdir.ads (Use_Temp_Dir): Set wether to use the temp
3964         directory.
3965
3966 2013-01-29  Ed Schonberg  <schonberg@adacore.com>
3967
3968         * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Preserve loop
3969         identifier only if it comes from source.
3970         (Expand_N_Loop_Statement): If the domain of iteration is an
3971         enumeration type with a representation clause, remove from
3972         visibility the loop identifier before rewriting the loop as a
3973         block with a declaration for said identifier.
3974         * sem_util.adb (Remove_Homonym): Handle properly the default case.
3975
3976 2013-01-29  Vincent Celier  <celier@adacore.com>
3977
3978         * prj-proc.adb: Minor comment spelling fix.
3979
3980 2013-01-29  Pascal Obry  <obry@adacore.com>
3981
3982         * prj-proc.adb (Process_Expression_Variable_Decl): Prepend
3983         Project_Path to current environment.
3984
3985 2013-01-29  Thomas Quinot  <quinot@adacore.com>
3986
3987         * sprint.adb (Sprint_Node_Actual): Output freeze nodes for
3988         itypes even if Dump_Freeze_Null is not set.
3989
3990 2013-01-29  Robert Dewar  <dewar@adacore.com>
3991
3992         * sem_util.adb: Minor reformatting.
3993         * s-rident.ads: Minor comment fixes.
3994
3995 2013-01-29  Pascal Obry  <obry@adacore.com>
3996
3997         * prj-env.ads, prj-env.adb (Add_Directories): Add parameter to
3998         control if the path is prepended or appended.
3999
4000 2013-01-29  Ed Schonberg  <schonberg@adacore.com>
4001
4002         * sem_ch6.adb (Analyze_Expression_Function): An expression
4003         function declaration is not a subprogram declaration, and thus
4004         cannot appear in a protected definition.
4005
4006 2013-01-29  Hristian Kirtchev  <kirtchev@adacore.com>
4007
4008         * exp_util.adb (Insert_Actions): When new
4009         actions come from the expression of the expression with actions,
4010         then they must be added to the list of existing actions.
4011
4012 2013-01-29  Eric Botcazou  <ebotcazou@adacore.com>
4013
4014         * sem_ch3.adb (Analyze_Subtype_Declaration) <Private_Kind>: For
4015         the subtype of a constrained private type with discriminants
4016         that has got a full view, show that the completion is a clone
4017         of the full view.
4018
4019 2013-01-29  Javier Miranda  <miranda@adacore.com>
4020
4021         * errout.ads, errout.adb (Get_Ignore_Errors): New subprogram.
4022         * opt.ads (Warn_On_Overlap): Update documentation.
4023         * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
4024         Check function writable actuals.
4025         * sem_ch3.adb (Build_Derived_Record_Type,
4026         Record_Type_Declaration): Check function writable actuals.
4027         * sem_ch4.adb (Analyze_Range): Check function writable actuals.
4028         * sem_ch5.adb (Analyze_Assignment): Remove code of the initial
4029         implementation of AI05-0144.
4030         * sem_ch6.adb (Analyze_Function_Return,
4031         (Analyze_Procedure_Call.Analyze_Call_And_Resolve): Remove code
4032         of the initial implementation of AI05-0144.
4033         * sem_res.adb (Resolve): Remove code of the initial implementation.
4034         (Resolve_Actuals): Call Check_Function_Writable_Actuals and remove call
4035         of the initial implementation.
4036         (Resolve_Arithmetic_Op, Resolve_Logical_Op,
4037         Resolve_Membership_Op): Check function writable actuals.
4038         * sem_util.ad[sb] (Actuals_In_Call): Removed
4039         (Check_Order_Dependence): Removed (Save_Actual): Removed
4040         (Check_Function_Writable_Actuals): New subprogram.
4041         * usage.adb (Usage): Update documentation.
4042         * warnsw.adb (Set_Warning_Switch): Enable warn_on_overlap when
4043         setting all warnings.
4044
4045 2013-01-29  Robert Dewar  <dewar@adacore.com>
4046
4047         * a-calend-vms.adb: Minor comment fix.
4048
4049 2013-01-29  Robert Dewar  <dewar@adacore.com>
4050
4051         * mlib-utl.adb, gnatlink.adb: Avoid reference to ASCII.Back_Slash
4052         because of casing issues.
4053         * sem_util.ads: Minor comment fix.
4054         * style.adb (Check_Identifier): Set proper casing for entities
4055         in ASCII.
4056         * styleg.adb: Minor comment improvement.
4057         * stylesw.ads (Style_Check_Standard): Fix bad comments.
4058
4059 2013-01-29  Hristian Kirtchev  <kirtchev@adacore.com>
4060
4061         * sem_prag.adb: Add the grammar for pragmas Abstract_State and Global.
4062         (Analyze_Pragma): Push the scope of the related subprogram and install
4063         its formals once before starting the analysis of the [moded] global
4064         list.
4065
4066 2013-01-29  Pascal Obry  <obry@adacore.com>
4067
4068         * prj-proc.adb (Process_Expression_Variable_Decl): Always handle
4069         relative paths in Project_Path as relative to the aggregate
4070         project location. Note that this was what was documented.
4071
4072 2013-01-29  Vincent Celier  <celier@adacore.com>
4073
4074         * gnatcmd.adb: For "gnat stub -P ...", do not check the naming
4075         scheme for Ada, when Ada is not a language for the project.
4076
4077 2013-01-29  Ed Schonberg  <schonberg@adacore.com>
4078
4079         * sem_ch3.adb (Analyze_Subtype_Declaration): Inherit
4080         Is_Generic_Actual_Type flag in a nested instance.
4081         * sem_ch12.adb (Restore_Private_Views): Preserve
4082         Is_Generic_Actual_Type flag if actual is a Generic_Actual_Type
4083         of an enclosing instance.
4084         * sem_util.adb (Corresponding_Generic_Type): Handle generic actual
4085         which is an actual of an enclosing instance.
4086         * sem_type.adb (Real_Actual): If a generic_actual_type is the
4087         formal of an enclosing generic and thus renames the corresponding
4088         actual, use the actual of the enclosing instance to resolve
4089         spurious ambiguities in instantiations when two formals are
4090         instantiated with the same actual.
4091
4092 2013-01-29  Robert Dewar  <dewar@adacore.com>
4093
4094         * gnat_rm.texi: Document all Ada 2005 and Ada 2012 pragmas as
4095         being available as implementation-defined pragmas in earlier
4096         versions of Ada.
4097
4098 2013-01-29  Vincent Celier  <celier@adacore.com>
4099
4100         * clean.adb (Delete): On VMS, delete all versions of the file.
4101
4102 2013-01-29  Robert Dewar  <dewar@adacore.com>
4103
4104         * par-ch6.adb (No_Constraint_Maybe_Expr_Func): New procedure.
4105         * par-util.adb (No_Constraint): Undo special handling, moved
4106         to par-ch6.adb.
4107
4108 2013-01-29  Robert Dewar  <dewar@adacore.com>
4109
4110         * aspects.ads: Aspect Warnings is implementation defined Add
4111         some other missing entries to impl-defined list Mark Warnings
4112         as GNAT pragma in main list.
4113         * sem_ch8.adb: Process aspects for all cases of renaming
4114         declarations.
4115
4116 2013-01-29  Robert Dewar  <dewar@adacore.com>
4117
4118         * sem_ch6.adb (Analyze_Function_Call): Set In_Assertion flag.
4119         * sem_elab.adb (Check_Internal_Call_Continue): Do not issue
4120         warnings about possible elaboration error if call is within
4121         an assertion.
4122         * sinfo.ads, sinfo.adb (In_Assertion): New flag in N_Function_Call node.
4123
4124 2013-01-29  Robert Dewar  <dewar@adacore.com>
4125
4126         * a-calend-vms.adb, g-eacodu-vms.adb, g-trasym-vms-alpha.adb,
4127         * s-auxdec-vms-ia64.adb, s-mastop-vms.adb, s-osprim-vms.adb,
4128         s-tasdeb-vms.adb: Replace pragma Interface by pragma Import.
4129
4130 2013-01-29  Robert Dewar  <dewar@adacore.com>
4131
4132         * opt.ads (Ignore_Style_Checks_Pragmas): New flag.
4133         * par-prag.adb (Par, case Style_Checks): Recognize
4134         Ignore_Style_Checks_Pragmas.
4135         * sem_prag.adb (Analyze_Pragma, case Style_Checks): Recognize
4136         Ignore_Style_Checks_Pragmas.
4137         * switch-c.adb: Recognize -gnateY switch.
4138         * usage.adb: Add documentation for "-gnateY".
4139         * vms_data.ads: Add IGNORE_STYLE_CHECKS_PRAGMAS (-gnateY).
4140
4141 2013-01-29  Vincent Celier  <celier@adacore.com>
4142
4143         * clean.adb (Clean_Executables): Add Sid component when calling
4144         Queue.Insert.
4145         * make.adb: When inserting in the Queue, add the Source_Id
4146         (Sid) when it is known (Start_Compile_If_Possible): When the
4147         Source_Id is known (Sid), get the path name of the ALI file
4148         (Full_Lib_File) from it, to avoid finding old ALI files in other
4149         object directories.
4150         * makeutl.ads (Source_Info): New Source_Id component Sid in
4151         Format_Gnatmake variant.
4152
4153 2013-01-29  Robert Dewar  <dewar@adacore.com>
4154
4155         * gnat_ugn.texi: Document -gnateY.
4156
4157 2013-01-29  Doug Rupp  <rupp@adacore.com>
4158
4159         * s-osinte-vms.ads, s-taprop-vms.adb, system-vms_64.ads,
4160         system-vms-ia64.ads: Replace pragma Interface by pragma Import.
4161
4162 2013-01-29  Robert Dewar  <dewar@adacore.com>
4163
4164         * atree.ads, atree.adb (Node30): New function.
4165         (Set_Node30): New procedure.
4166         (Num_Extension_Nodes): Change to 5 (activate new fields/flags).
4167         * atree.h: Add macros for Field30 and Node30.
4168         * einfo.ads, einfo.adb: Move some fields to avoid duplexing.
4169         * treepr.adb (Print_Entity_Information): Print fields 30-35.
4170
4171 2013-01-29  Robert Dewar  <dewar@adacore.com>
4172
4173         * sem_prag.adb (Analyze_Pragma, case Interface): Consider to
4174         be a violation of No_Obsolescent_Features even in Ada 95. Also
4175         generates a warning in -gnatwj mode.
4176         (Analyze_Pragma, case Interface_Name): Generates a warning in -gnatwj
4177         mode.
4178         * gnat_ugn.texi: Additional documentation on -gnatwj and pragma
4179         Interface[_Name].
4180
4181 2013-01-29  Vincent Celier  <celier@adacore.com>
4182
4183         * snames.ads-tmpl: Add new standard name Trailing_Switches.
4184
4185 2013-01-29  Ed Schonberg  <schonberg@adacore.com>
4186
4187         * sem_disp.adb (Check_Controlling_Type): If a designated type T
4188         of an anonymous access type is a limited view of a tagged type,
4189         it can be a controlling type only if the subprogram is in the
4190         same scope as T.
4191
4192 2013-01-29  Vincent Celier  <celier@adacore.com>
4193
4194         * gnatcmd.adb: Use the project where the config pragmas file is
4195         declared to get its path.
4196
4197 2013-01-29  Vincent Celier  <celier@adacore.com>
4198
4199         * prj-attr.adb: New attribute Linker'Trailing_Switches.
4200
4201 2013-01-22  Eric Botcazou  <ebotcazou@adacore.com>
4202
4203         * gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do
4204         not translate the Etype of the node before translating the Actions.
4205
4206 2013-01-22  Eric Botcazou  <ebotcazou@adacore.com>
4207
4208         * gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size
4209         instead of optimize and adjust warning message.
4210         (Compilation_Unit_to_gnu): Process pragmas preceding the unit.
4211
4212 2013-01-22  Tristan Gingold  <gingold@adacore.com>
4213
4214         * gcc-interface/gigi.h (ADT_unhandled_except_decl,
4215         ADT_unhandled_others_decl): New.
4216         (unhandled_others_decl, unhandled_except_decl): Define.
4217         * gcc-interface/trans.c: Include common/common-target.h.
4218         (gigi): Initialize them.
4219         (Subprogram_Body_to_gnu): On SEH targets, wrap the body of the main
4220         function in a try/catch clause.
4221
4222 2013-01-11  Eric Botcazou  <ebotcazou@adacore.com>
4223
4224         * gcc-interface/Make-lang.in (COMMON_ADAFLAGS): Remove -gnata.
4225         (CHECKING_ADAFLAGS): New.
4226         (ALL_ADAFLAGS): Include CHECKING_ADAFLAGS.
4227
4228 2013-01-10  Eric Botcazou  <ebotcazou@adacore.com>
4229
4230         * gcc-interface/config-lang.in (boot_language_boot_flags): Delete.
4231         * gcc-interface/Make-lang.in (BOOT_ADAFLAGS): Likewise.
4232
4233 2013-01-07  Eric Botcazou  <ebotcazou@adacore.com>
4234
4235         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
4236         comment about type extension with discriminants.
4237         <E_Record_Subtype>: Remove useless test and reorder conditions.
4238         (elaborate_entity) <E_Record_Subtype>: Likewise.
4239
4240 2013-01-07  Richard Biener  <rguenther@suse.de>
4241
4242         PR ada/864
4243         * gcc-interface/Make-lang.in (ada.install-common): Always apply
4244         program_transform_name.
4245
4246 2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
4247
4248         * gnatvsn.ads (Current_Year): Bump to 2013.
4249
4250 2013-01-06  Olivier Hainque  <hainque@adacore.com>
4251
4252         * gcc-interface/decl.c (gnat_to_gnu_field): Emit a specialized
4253         diagnostic for component size mismatch wrt volatile requirements.
4254         Add a gcc_unreachable() at the end of the checks for size.  Split
4255         the check on volatile for positions into one check on atomic and
4256         a subsequent one on volatile.
4257
4258 2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
4259
4260         * gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete.
4261
4262 2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
4263
4264         * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
4265         pack the field of the record type made for a misaligned type.
4266
4267 2013-01-06  Eric Botcazou  <ebotcazou@adacore.com>
4268
4269         * gcc-interface/decl.c (annotate_value) <COMPONENT_REF>: Be prepared
4270         for discriminants inherited from parent record types.
4271
4272 2013-01-04  Robert Dewar  <dewar@adacore.com>
4273
4274         * warnsw.adb: Minor fixes to -gnatw.d handling.
4275
4276 2013-01-04  Robert Dewar  <dewar@adacore.com>
4277
4278         * einfo.adb, atree.adb: Enlarge entities to make 63 more flags, 6 more
4279         fields.
4280
4281 2013-01-04  Joel Brobecker  <brobecker@adacore.com>
4282
4283         * gnat_ugn.texi: Fix typo.
4284
4285 2013-01-04  Robert Dewar  <dewar@adacore.com>
4286
4287         * gnat_rm.texi: Document alignment choice for subtypes.
4288
4289 2013-01-04  Robert Dewar  <dewar@adacore.com>
4290
4291         * validsw.ads: Minor fix to comment.
4292
4293 2013-01-04  Doug Rupp  <rupp@adacore.com>
4294
4295         * Makefile.rtl (GNATRTL_NONTASKING_OBJS,
4296         GNATRTL_ALTIVEC_OBJS): Factor g-al* objects.
4297         * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Add g-al* sources.
4298         (GNATRTL_ALTIVEC_OBJS): Override to null for VMS.
4299         Rename leon vxworks toolchain as leon-wrs-vxworks.
4300         * gcc-interface/Make-lang.in: Update dependencies
4301
4302 2013-01-04  Pascal Obry  <obry@adacore.com>
4303
4304         * prj.ads (For_Each_Source): Add Locally_Removed parameter.
4305         (Source_Iterator): Add Locally_Removed field.
4306         * prj.adb (For_Each_Source): Ignore Locally_Removed files if needed.
4307         (Next): Likewise.
4308
4309 2013-01-04  Robert Dewar  <dewar@adacore.com>
4310
4311         * exp_attr.adb: Minor reformatting.
4312
4313 2013-01-04  Robert Dewar  <dewar@adacore.com>
4314
4315         * checks.adb (Insert_Valid_Check): Fix handling of renamed
4316         packed array element.
4317         * exp_ch4.adb (Expand_Concatenate): Fix some missing parent
4318         fields in generated code.
4319         * exp_util.adb (Side_Effect_Free): Improve detection of cases
4320         needing renaming.
4321
4322 2013-01-04  Robert Dewar  <dewar@adacore.com>
4323
4324         * sinfo.ads: Clean up order of N_xxx subtypes
4325
4326 2013-01-04  Vincent Celier  <celier@adacore.com>
4327
4328         * prj-conf.adb (Check_Target): Allow --autoconf= with no target.
4329
4330 2013-01-04  Robert Dewar  <dewar@adacore.com>
4331
4332         * types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting.
4333
4334 2013-01-04  Robert Dewar  <dewar@adacore.com>
4335
4336         * par-ch6.adb (P_Subprogram): Better handling of missing IS
4337         after expression function.
4338         * par-util.adb (No_Constraint): Improve handling to avoid bad warnings.
4339
4340 2013-01-04  Robert Dewar  <dewar@adacore.com>
4341
4342         * exp_util.ads, exp_util.adb (Insert_Actions): In expression with
4343         actions case, new actions are appended to the sequence rather than
4344         prepended.
4345
4346 2013-01-04  Robert Dewar  <dewar@adacore.com>
4347
4348         * gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode).
4349         * usage.adb: Add lines for -gnatw.d/w.D switches.
4350         * warnsw.adb: Minor fixes (some missing cases of setting
4351         Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode.
4352
4353 2013-01-04  Robert Dewar  <dewar@adacore.com>
4354
4355         * exp_util.adb (Remove_Side_Effects): Make sure scope suppress
4356         is restored on exit.
4357
4358 2013-01-04  Robert Dewar  <dewar@adacore.com>
4359
4360         * usage.adb: Document -gnateF (check overflow for predefined Float).
4361
4362 2013-01-04  Robert Dewar  <dewar@adacore.com>
4363
4364         * sem_res.adb (Resolve_Type_Conversion): Remove incorrect
4365         prevention of call to Apply_Type_Conversion_Checks, which resulted
4366         in missing check flags in formal mode.
4367
4368 2013-01-04  Vincent Celier  <celier@adacore.com>
4369
4370         * makeutl.ads (Db_Switch_Args): New table used by gprbuild.
4371         * prj-conf.adb (Check_Builder_Switches): Check for switches
4372         --config= (Get_Db_Switches): New procedure to get the --db
4373         switches so that they are used when invoking gprconfig in
4374         auto-configuration.
4375         (Do_Autoconf): When invoking gprconfig, use the --db switches, if any.
4376
4377 2013-01-04  Pascal Obry  <obry@adacore.com>
4378
4379         * prj-nmsc.adb: Minor reformatting.
4380
4381 2013-01-04  Vincent Celier  <celier@adacore.com>
4382
4383         * makeutl.ads (Root_Environment): New variable, moved rom
4384         gprbuild (Load_Standard_Base): New Boolean variable, moved
4385         from gprbuild.
4386         * prj-conf.adb (Check_Builder_Switches): New procedure to check
4387         for switch --RTS in package Builder. If a runtime specified
4388         by --RTS is a relative path name, but not a base name, then
4389         find the path on the Project Search Path.
4390         (Do_Autoconf): Call Check_Builder_Switches.
4391         (Locate_Runtime): New procedure, moved from gprbuild, to get the
4392         absolute paths of runtimes when they are not specified as a base name.
4393         * prj-conf.ads (Locate_Runtime): New procedure, moved from gprbuild.
4394
4395 2013-01-04  Ed Schonberg  <schonberg@adacore.com>
4396
4397         * sem_ch3.adb (Build_Private_Derived_Type): Set
4398         Has_Private_Ancestor on type derived from an untagged private
4399         type whose full view has discriminants
4400         * sem_aggr.adb (Resolve_Record_Aggregate): Reject non-extension
4401         aggregate for untagged record type with private ancestor.
4402
4403 2013-01-04  Thomas Quinot  <quinot@adacore.com>
4404
4405         * sem_elab.adb, sem_ch3.adb: Minor reformatting.
4406
4407 2013-01-04  Robert Dewar  <dewar@adacore.com>
4408
4409         * table.adb: Minor reformatting.
4410
4411 2013-01-04  Ed Schonberg  <schonberg@adacore.com>
4412
4413         * sem_ch10.adb (Check_Redundant_Withs): A with_clause that does
4414         not come from source does not generate a warning for redundant
4415         with_clauses.
4416
4417 2013-01-04  Hristian Kirtchev  <kirtchev@adacore.com>
4418
4419         * aspects.adb, aspects.ads: Add Aspect_Global to all relevant tables.
4420         * par-prag.adb: Add pragma Global to the list of pragmas that
4421         do not need special processing by the parser.
4422         * sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect
4423         Global into a pragma without any form of legality checks. The
4424         work is done by Analyze_Pragma. The aspect and pragma are both
4425         marked as needing delayed processing.  Insert the corresponding
4426         pragma of aspect Abstract_State in the visible declarations of the
4427         related package.
4428         (Check_Aspect_At_Freeze_Point): Aspect Global
4429         does not need processing even though it is marked as delayed.
4430         Alphabetize the list on aspect names.
4431         * sem_prag.adb: Add a value for pragma Global in table Sig_Flags.
4432         (Analyze_Pragma): Add ??? comment about the grammar of pragma
4433         Abstract_State.  Move the error location from the pragma to the
4434         state to improve the quality of error placement.  Add legality
4435         checks for pragma Global.
4436         * snames.ads-tmpl Add the following specially recognized names
4437
4438 2013-01-04  Eric Botcazou  <ebotcazou@adacore.com>
4439
4440         * sem_ch3.adb: Fix minor typo.
4441
4442 2013-01-04  Ed Schonberg  <schonberg@adacore.com>
4443
4444         * par-ch13.adb (Aspect_Specifications_Present): In Strict mode,
4445         accept an aspect name followed by a comma, indicating a defaulted
4446         boolean aspect.
4447
4448 2013-01-04  Joel Brobecker  <brobecker@adacore.com brobecker>
4449
4450         * gnat_ugn.texi: Document procedure to codesign GDB on Darwin.
4451         Update doc on gnattest --separates switch.
4452
4453 2013-01-04  Thomas Quinot  <quinot@adacore.com>
4454
4455         * s-chepoo.ads: Minor reformatting.
4456
4457 2013-01-04  Arnaud Charlet  <charlet@adacore.com>
4458
4459         * usage.adb: Remove mention of -gnatN in usage.
4460
4461 2013-01-04  Robert Dewar  <dewar@adacore.com>
4462
4463         * exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb,
4464         freeze.adb, sem_ch4.adb, sem_warn.adb, opt.ads, exp_aggr.adb,
4465         prj-conf.adb, sem_ch13.adb: Minor reformatting.
4466
4467 2013-01-04  Thomas Quinot  <quinot@adacore.com>
4468
4469         * sinfo.ads: Minor documentation update.
4470
4471 2013-01-04  Thomas Quinot  <quinot@adacore.com>
4472
4473         * sem_ch3.adb, einfo.adb (Analyze_Object_Declaration): Do not set Ekind
4474         before resolving initialization expression.
4475
4476 2013-01-04  Hristian Kirtchev  <kirtchev@adacore.com>
4477
4478         * checks.adb (Generate_Index_Checks): Delay the generation of
4479         the check for an indexed component where the prefix mentions
4480         Loop_Entry until the attribute has been properly expanded.
4481         * exp_ch5.adb (Expand_Loop_Entry_Attributes): Perform minor
4482         decoration of the constant that captures the value of Loop_Entry's
4483         prefix at the entry point into a loop.  Generate index checks
4484         for an attribute reference that has been transformed into an
4485         indexed component.
4486
4487 2013-01-04  Thomas Quinot  <quinot@adacore.com>
4488
4489         * exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, exp_aggr.adb,
4490         sem_ch13.adb (Exp_Aggr.Collect_Initialization_Statements): Nothing to
4491         do if Obj is already frozen.
4492         (Exp_Util.Find_Init_Call): Rename to...
4493         (Exp_Util.Remove_Init_Call): New subprogram, renamed from
4494         Find_Init_Call.  Remove the initialization call from the enclosing
4495         list if found, and if it is from an Initialization_Statements
4496         attribute, reset it.
4497         (Exp_Util.Append_Freeze_Action): Minor code reorganization.
4498         (Exp_Util.Append_Freeze_Actions): Ensure a freeze node has been
4499         allocated (as is already done in Append_Freeze_Action).
4500         (Freeze.Freeze_Entity): For an object with captured
4501         Initialization_Statements and non-delayed freezeing, unwrap the
4502         initialization statements and insert and them directly in the
4503         enclosing list.
4504         (Sem_Ch13.Check_Address_Clause): For an object
4505         with Initialization_Statements and an address clause, unwrap the
4506         initialization statements when moving them to the freeze actions.
4507
4508 2013-01-03  Pascal Obry  <obry@adacore.com>
4509
4510         * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package remote and
4511         corresponding attibutes.
4512
4513 2013-01-03  Thomas Quinot  <quinot@adacore.com>
4514
4515         * exp_aggr.adb: Minor comment improvement.
4516
4517 2013-01-03  Hristian Kirtchev  <kirtchev@adacore.com>
4518
4519         * aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the
4520         relevant tables.
4521         * einfo.ads, einfo.adb: Add Integrity_Level and Refined_State to
4522         the description of fields (Abstract_States): New routine.
4523         (Integrity_Level): New routine.
4524         (Has_Property): New routine.
4525         (Is_Input_State): New routine.
4526         (Is_Null_State): New routine.
4527         (Is_Output_State): New routine.
4528         (Is_Volatile_State): New routine.
4529         (Refined_State): New routine.
4530         (Set_Abstract_States): New routine.
4531         (Set_Integrity_Level): New routine.
4532         (Set_Refined_State): New routine.
4533         (Write_Field8_Name): Add proper output for E_Abstract_State.
4534         (Write_Field9_Name): Add proper output for E_Abstract_State.
4535         (Write_Field25_Name): Add proper output for E_Package.
4536         * lib-xref.ads: Add new letter for an abstract state.
4537         * par-prag.adb: Add pragma Abstract_State to the list of pragma
4538         that do not need special processing by the parser.
4539         * sem_ch13.adb (Analyze_Aspect_Specifications): Convert
4540         aspect Abstract_State into a pragma without any form
4541         of legality checks. The work is done by Analyze_Pragma.
4542         (Check_Aspect_At_Freeze_Point): Aspect Abstract_State does not
4543         require delayed analysis.
4544         * sem_prag.adb: Add a value for pragma Abstract_State in table
4545         Sig_Flags.
4546         (Analyze_Pragma): Add legality checks for pragma
4547         Abstract_State. Analysis of individual states introduces a state
4548         abstraction entity into the visibility chain.
4549         * snames.ads-tmpl: Add new names for abstract state and
4550         integrity. Add new pragma id for abstract state.
4551
4552 2013-01-03  Bob Duff  <duff@adacore.com>
4553
4554         * table.adb (Reallocate): Calculate new Length in
4555         Long_Integer to avoid overflow.
4556
4557 2013-01-03  Thomas Quinot  <quinot@adacore.com>
4558
4559         * sem_ch3.adb, sinfo.ads, freeze.adb, sem_ch4.adb, exp_aggr.adb
4560         (Sem_Ch3.Analyze_Object_Declaration): Set Ekind early so that
4561         it is set properly when expanding the initialization expression.
4562         (Freeze.Check_Address_Clause): Transfer initialization expression
4563         to an assignment in the freeze actions, so that the object is
4564         initialized only after being elaborated by GIGI.
4565         (Sinfo (comments), Sem_Ch4.Analyze_Expression_With_Actions): Allow
4566         a Null_Statement as the expression in an Expression_With_Actions.
4567         (Exp_Aggr.Collect_Initialization_Statements): New subprogram
4568         shared by expansion of record and array aggregates, used to
4569         capture statements for an aggregate used to initalize an object
4570         into an Expression_With_Actions (which acts as a container for
4571         a list of actions).
4572         (Exp_Aggr.Convert_Aggr_In_Obj_Decl): Use the above to
4573         capture initialization statements, instead of the previously
4574         existing loop which left freeze nodes out of the capturing
4575         construct (causing out of order elaboration crashes in GIGI).
4576         (Exp_Aggr.Expand_Array_Aggregate):  Use the above to capture
4577         initialization statements (this was previously not done for
4578         arrays).  Also do not unconditionally prevent in place expansion
4579         for an object with address clause.
4580
4581 2013-01-03  Thomas Quinot  <quinot@adacore.com>
4582
4583         * gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Check that
4584         a record extension has the same scalar storage order as the parent type.
4585
4586 2013-01-03  Thomas Quinot  <quinot@adacore.com>
4587
4588         * exp_ch4.adb: Add comment.
4589
4590 2013-01-03  Vincent Celier  <celier@adacore.com>
4591
4592         * prj.adb: Minor spelling error correction in comment.
4593
4594 2013-01-03  Vincent Celier  <celier@adacore.com>
4595
4596         * gnatcmd.adb (GNATCmd): If a single main has been specified
4597         as an absolute path, use its simple file name to find specific
4598         switches, instead of the absolute path.
4599
4600 2013-01-03  Javier Miranda  <miranda@adacore.com>
4601
4602         * sem_warn.adb (Warn_On_Overlapping_Actuals): For overlapping
4603         parameters that are record types or array types generate warnings
4604         only compiling under -gnatw.i
4605         * opt.ads (Extensions_Allowed): Restore previous documentation.
4606
4607 2013-01-03  Vincent Celier  <celier@adacore.com>
4608
4609         * prj-conf.adb (Do_Autoconf): If Target is specified in the
4610         main project, but not on the command line, use the Target in
4611         the project to invoke gprconfig in auto-configuration.
4612         * makeutl.ads (Default_Config_Name): New constant String.
4613
4614 2013-01-03  Arnaud Charlet  <charlet@adacore.com>
4615
4616         * usage.adb: Minor: fix typo in usage.
4617
4618 2013-01-03  Thomas Quinot  <quinot@adacore.com>
4619
4620         * sem_ch13.adb (Analyze_Record_Representation_Clause): Reject
4621         an illegal component clause for an inherited component in a
4622         record extension.
4623
4624 2013-01-03  Emmanuel Briot  <briot@adacore.com>
4625
4626         * xref_lib.adb (Parse_Identifier_Info): Fix handling of arrays, which
4627         have information in the ALI file for both the index and the component
4628         types.
4629
4630 2013-01-03  Emmanuel Briot  <briot@adacore.com>
4631
4632         * projects.texi: Fix error in documenting the project path
4633         computed for an aggregate project.
4634
4635 2013-01-03  Javier Miranda  <miranda@adacore.com>
4636
4637         * sem_warn.adb (Warn_On_Overlapping_Actuals): Adding documentation
4638         plus restricting the functionality of this routine to cover the
4639         cases described in the Ada 2012 reference manual. The previous
4640         extended support is now available under -gnatX.
4641         * s-tassta.adb (Finalize_Global_Tasks): Addition of a dummy
4642         variable to call Timed_Sleep.  Required to avoid warning on
4643         overlapping out-mode actuals.
4644         * opt.ads (Extensions_Allowed): Update documentation.
4645
4646 2013-01-03  Tristan Gingold  <gingold@adacore.com>
4647
4648         * s-arit64.ads: Use Multiply_With_Ovflo_Check as __gnat_mulv64.
4649         * arit64.c: Removed
4650         * gcc-interface/Makefile.in: Remove reference to arit64.c.
4651
4652 2013-01-03  Thomas Quinot  <quinot@adacore.com>
4653
4654         * checks.adb, checks.ads (Apply_Address_Clause_Check): The check must
4655         be generated at the start of the freeze actions for the entity, not
4656         before (or after) the freeze node.
4657
4658 2013-01-03  Thomas Quinot  <quinot@adacore.com>
4659
4660         * exp_aggr.adb (Exp_Aggr.Convert_Aggregate_In_Obj_Decl):
4661         Reorganize code to capture initialization statements in a block,
4662         so that freeze nodes are excluded from the captured block.
4663
4664 2013-01-03  Thomas Quinot  <quinot@adacore.com>
4665
4666         * exp_ch11.adb: Minor reformatting.
4667
4668 2013-01-03  Thomas Quinot  <quinot@adacore.com>
4669
4670         * exp_util.adb, einfo.adb, einfo.ads, freeze.adb, exp_aggr.adb,
4671         sem_ch13.adb (Einfo.Initialization_Statements,
4672         Einfo.Set_Initialization_Statements): New entity attribute
4673         for objects.
4674         (Exp_Util.Find_Init_Call): Handle case of an object initialized
4675         by an aggregate converted to a block of assignment statements.
4676         (Freeze.Check_Address_Clause): Do not clear Has_Delayed_Freeze
4677         even for objects that require a constant address, because the
4678         address expression might involve entities that have yet to be
4679         elaborated at the point of the object declaration.
4680         (Exp_Aggr.Convert_Aggregate_In_Obj_Decl): For a type that does
4681         not require a transient scope, capture the assignment statements
4682         in a block so that they can be moved down after elaboration of
4683         an address clause if needed.
4684         (Sem_Ch13.Check_Constant_Address_Clause.Check_Expr_Constants,
4685         case N_Unchecked_Conversion): Do not replace operand subtype with
4686         its base type as this violates a GIGI invariant if the operand
4687         is an identifier (in which case the etype of the identifier
4688         is expected to be equal to that of the denoted entity).
4689
4690 2013-01-03  Javier Miranda  <miranda@adacore.com>
4691
4692         * sem_util.ads, sem_util.adb (Denotes_Same_Object): Extend the
4693         functionality of this routine to cover cases described in the Ada 2012
4694         reference manual.
4695
4696 2013-01-03  Ed Schonberg  <schonberg@adacore.com>
4697
4698         * sem_elab.adb (Set_Elaboration_Constraint): Handle properly
4699         a 'Access attribute reference when the subprogram is called
4700         Initialize.
4701
4702 2013-01-03  Arnaud Charlet  <charlet@adacore.com>
4703
4704         * s-tpobop.adb (PO_Do_Or_Queue): Refine assertion, since a
4705         select statement may be called from a controlled (e.g. Initialize)
4706         operation and have abort always deferred.
4707
4708 2013-01-03  Robert Dewar  <dewar@adacore.com>
4709
4710         * sem_ch8.adb, einfo.ads, einfo.adb: Minor code reorganization.
4711
4712 2013-01-03  Javier Miranda  <miranda@adacore.com>
4713
4714         * exp_ch3.adb (Make_Controlling_Function_Wrappers): Exclude
4715         internal entities associated with interfaces and add minimum
4716         decoration to the defining entity of the generated wrapper to
4717         allow overriding interface primitives.
4718         * sem_disp.ads (Override_Dispatching_Operation): Addition of a
4719         new formal (Is_Wrapper).
4720         * sem_disp.adb (Override_Dispatching_Operation): When overriding
4721         interface primitives the new formal helps identifying that the
4722         new operation is not fully decorated.
4723
4724 2013-01-03  Thomas Quinot  <quinot@adacore.com>
4725
4726         * sem_ch7.adb, sem_ch10.adb, einfo.adb, einfo.ads, sem_ch12.adb,
4727         rtsfind.adb, sem_elab.adb, sem_ch4.adb, sem_ch8.adb
4728         (Einfo.Is_Visible_Child_Unit, Einfo.Set_Is_Visible_Child_Unit):
4729         Rename to Is_Visible_Lib_Unit, Set_Is_Visible_Lib_Unit, and
4730         update spec accordingly (now also applies to root library units).
4731         (Sem_Ch10.Analyze_Subunit.Analyze_Subunit_Context): Toggle above flag
4732         on root library units, not only child units.
4733         (Sem_Ch10.Install[_Limited]_Withed_Unit): Same.
4734         (Sem_Ch10.Remove_Unit_From_Visibility): Reset Is_Visible_Lib_Unit
4735         even for root library units.
4736         (Sem_Ch8.Find_Expanded_Name): A selected component form whose prefix is
4737         Standard is an expanded name for a root library unit.
4738
4739 2013-01-03  Thomas Quinot  <quinot@adacore.com>
4740
4741         * exp_ch3.adb: Minor reformatting.
4742
4743 2013-01-03  Olivier Hainque  <hainque@adacore.com>
4744
4745         * tracebak.c: Reinstate changes to support ppc-lynx178.
4746
4747 2013-01-03  Ed Schonberg  <schonberg@adacore.com>
4748
4749         * atree.ads: Minor reformatting and documentation enhancement.
4750
4751 2013-01-03  Ed Schonberg  <schonberg@adacore.com>
4752
4753         * exp_ch3.adb (Expand_N_Object_Declaration): If the object has
4754         a class-wide type and a renaming declaration is created for it,
4755         preserve entity chain, which already contains generated internal
4756         types. This ensures that freezing actions are properly generated
4757         for all objects declared subsequently in the same scope, and
4758         that debugging information is generated for them.
4759         * sem_util.adb, sem_util.ads (we): New debugging routine, to
4760         display entity chain of a given scope.
4761
4762 2013-01-03  Robert Dewar  <dewar@adacore.com>
4763
4764         * exp_intr.adb: Minor reformatting.
4765
4766 2013-01-03  Robert Dewar  <dewar@adacore.com>
4767
4768         * einfo.adb: Minor reformatting.
4769
4770 2013-01-03  Pascal Obry  <obry@adacore.com>
4771
4772         * adaint.c, adaint.h (__gnat_get_module_name): Removed.
4773         (__gnat_is_module_name_supported): Removed.
4774         * s-win32.ads: Add some needed definitions.
4775         * g-trasym.ads: Update comments.
4776
4777 2013-01-03  Robert Dewar  <dewar@adacore.com>
4778
4779         * layout.adb (Set_Composite_Alignment): Fix problems of
4780         interactions with Optimize_Alignment set to Space.
4781
4782 2013-01-03  Thomas Quinot  <quinot@adacore.com>
4783
4784         * exp_disp.adb: Minor reformatting.
4785
4786 2013-01-02  Richard Biener  <rguenther@suse.de>
4787
4788         PR bootstrap/55784
4789         * gcc-interface/Makefile.in: Add $(GMPINC) to includes.
4790
4791 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4792
4793         * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove
4794         side effects from Tag_Arg early, doing it too late may cause a
4795         crash due to inconsistent Parent link.
4796         * sem_ch8.adb, einfo.ads: Minor reformatting.
4797
4798 2013-01-02  Robert Dewar  <dewar@adacore.com>
4799
4800         * einfo.ads, einfo.adb (Has_Independent_Components): New flag.
4801         * freeze.adb (Size_Known): We do not know the size of a packed
4802         record if it has atomic components, by reference type components,
4803         or independent components.
4804         * sem_prag.adb (Analyze_Pragma, case Independent_Components): Set new
4805         flag Has_Independent_Components.
4806
4807 2013-01-02  Yannick Moy  <moy@adacore.com>
4808
4809         * opt.ads (Warn_On_Suspicious_Contract): Set to True by default.
4810         * usage.adb (Usage): Update usage message.
4811
4812 2013-01-02  Pascal Obry  <obry@adacore.com>
4813
4814         * adaint.c (__gnat_is_module_name_supported): New constant.
4815
4816 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
4817
4818         * sem_attr.adb (Check_Array_Type): Reject an attribute reference on an
4819         array whose component type does not have a completion.
4820
4821 2013-01-02  Geert Bosch  <bosch@adacore.com>
4822
4823         * a-nllcef.ads, a-nlcefu.ads, a-nscefu.ads: Make Pure.
4824
4825 2013-01-02  Robert Dewar  <dewar@adacore.com>
4826
4827         * par_sco.adb: Minor reformatting.
4828
4829 2013-01-02  Javier Miranda  <miranda@adacore.com>
4830
4831         * sem_aggr.adb (Resolve_Array_Aggregate): Remove dead code.
4832
4833 2013-01-02  Olivier Hainque  <hainque@adacore.com>
4834
4835         * a-exctra.ads (Get_PC): New function.
4836
4837 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4838
4839         * sem_ch8.adb: Minor reformatting.
4840
4841 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4842
4843         * sem_ch7.adb: Minor reformatting.
4844
4845 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4846
4847         * freeze.adb (Check_Component_Storage_Order): Do not crash on
4848         _Tag component.
4849
4850 2013-01-02  Robert Dewar  <dewar@adacore.com>
4851
4852         * gnat1drv.adb, targparm.adb, targparm.ads: Minor name change: add
4853         On_Target to Atomic_Sync_Default.
4854
4855 2013-01-02  Robert Dewar  <dewar@adacore.com>
4856
4857         * sem_warn.adb (Warn_On_Known_Condition): Suppress warning for
4858         comparison of attribute result with constant
4859         * a-ststio.adb, s-direio.adb, s-rannum.adb: Remove unnecessary pragma
4860         Warnings (Off, "..");
4861
4862 2013-01-02  Yannick Moy  <moy@adacore.com>
4863
4864         * sem_prag.ads: Minor correction of comment.
4865
4866 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4867
4868         * par_sco.adb (Traverse_Package_Declaration): The first
4869         declaration in a nested package is dominated by the preceding
4870         declaration in the enclosing scope.
4871
4872 2013-01-02  Pascal Obry  <obry@adacore.com>
4873
4874         * adaint.c, adaint.h (__gnat_get_module_name): Return the actual
4875         module containing a given address.
4876
4877 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4878
4879         * sem_ch3.adb: Minor reformatting.
4880
4881 2013-01-02  Pascal Obry  <obry@adacore.com>
4882
4883         * cstreams.c (__gnat_ftell64): New routine. Use _ftelli64 on
4884         Win64 and default to ftell on other platforms.
4885         (__gnat_fsek64): Likewise.
4886         * i-cstrea.ads: Add fssek64 and ftell64 specs.
4887         * s-crtl.ads: Likewise.
4888         * a-ststio.adb, s-direio.adb (Size): Use 64 bits version when required.
4889         (Set_Position): Likewise.
4890
4891 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4892
4893         * par_sco.adb: Generate X SCOs for default expressions in
4894         subprogram body stubs.  Do not generate any SCO for package,
4895         task, or protected body stubs.
4896
4897 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
4898
4899         * sem_ch3.adb: Further improvement to ASIS mode for anonymous
4900         access to protected subprograms.
4901
4902 2013-01-02  Robert Dewar  <dewar@adacore.com>
4903
4904         * par_sco.adb, vms_data.ads: Minor reformatting.
4905
4906 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4907
4908         * par_sco.adb (Traverse_Declarations_Or_Statement): Function
4909         form, returning value of Current_Dominant upon exit, for chaining
4910         purposes.
4911         (Traverse_Declarations_Or_Statement.Traverse_One, case
4912         N_Block_Statement): First statement is dominated by last declaration.
4913         (Traverse_Subprogram_Or_Task_Body): Ditto.
4914         (Traverse_Package_Declaration): First private
4915         declaration is dominated by last visible declaration.
4916         (Traverse_Sync_Definition): Ditto.
4917
4918 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4919
4920         * gnat_rm.texi: Restrict the requirement for Scalar_Storage_Order
4921         matching Bit_Order to record types only, since array types do not
4922         have a Bit_Order.
4923
4924 2013-01-02  Vincent Celier  <celier@adacore.com>
4925
4926         * gnat_ugn.texi: Remove documentation of -gnateO, which is an
4927         internal switch.
4928         * usage.adb: Indicate that -gnateO is an internal switch.
4929
4930 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4931
4932         * par_sco.adb: Add SCO generation for task types and single
4933         task declarations.
4934         * get_scos.adb: When adding an instance table entry for a
4935         non-nested instantiation, make sure the Enclosing_Instance is
4936         correctly set to 0.
4937
4938 2013-01-02  Hristian Kirtchev  <kirtchev@adacore.com>
4939
4940         * sem_attr.adb (Analyze_Attribute): Skip the special _Parent
4941         scope generated for subprogram inlining purposes while trying
4942         to locate the enclosing function.
4943         * sem_prag.adb (Analyze_Pragma): Preanalyze the boolean
4944         expression of pragma Postcondition when the pragma comes from
4945         source and appears inside a subprogram body.
4946
4947 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4948
4949         * switch-c.adb, fe.h, back_end.adb: Enable generation of instantiation
4950         information in debug info unconditionally when using -fdump-scos,
4951         instead of relying on a separate command line switch -fdebug-instances.
4952         * gcc-interface/Make-lang.in: Update dependencies.
4953
4954 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
4955
4956         * sem_ch12.adb: Additional refinement of predicate.
4957
4958 2013-01-02  Vincent Celier  <celier@adacore.com>
4959
4960         * vms_data.ads: Remove incorrect spaces at end of descriptions
4961         of qualifiers for single switch.
4962
4963 2013-01-02  Ben Brosgol  <brosgol@adacore.com>
4964
4965         * gnat_rm.texi: Minor edits / wordsmithing in section on pragma
4966         Check_Float_Overflow.
4967
4968 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4969
4970         * sprint.adb (Sprint_Node_Actual): Do not add extra parens for
4971         a conditional expression (CASE or IF expression) that already
4972         has parens. Also omit ELSE keyword for an IF expression without
4973         an ELSE part.
4974
4975 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4976
4977         * gnat1drv.adb (Adjust_Global_Switches): Adjust back-end
4978         flag_debug_instances here, after front-end switches have been
4979         processed.
4980
4981 2013-01-02  Vincent Celier  <celier@adacore.com>
4982
4983         * usage.adb: Minor reformatting.
4984
4985 2013-01-02  Arnaud Charlet  <charlet@adacore.com>
4986
4987         * opt.ads: Fix typo.
4988
4989 2013-01-02  Thomas Quinot  <quinot@adacore.com>
4990
4991         * par_sco.adb: Generate P decision SCOs for SPARK pragmas
4992         Assume and Loop_Invariant.
4993
4994 2013-01-02  Robert Dewar  <dewar@adacore.com>
4995
4996         * vms_data.ads: Add entry for Float_Check_Valid (-gnateF).
4997         * ug_words: Add entry for Float_Check_Overflow.
4998         * usage.adb: Minor reformatting.
4999         * gnat_ugn.texi: Add documentation for -gnateF (Check_Float_Overflow).
5000
5001 2013-01-02  Vincent Celier  <celier@adacore.com>
5002
5003         * gnat_ugn.texi: Add documentation for switches -gnateA, -gnated,
5004         -gnateO=, -gnatet and -gnateV.
5005         * ug_words: Add qualifiers equivalent to -gnateA, -gnated,
5006         -gnatet and -gnateV.
5007         * usage.adb: Add lines for -gnatea, -gnateO and -gnatez.
5008         * vms_data.ads: Add new compiler qualifiers /ALIASING_CHECK
5009         (-gnateA), /DISABLE_ATOMIC_SYNCHRONIZATION (-gnated),
5010         /PARAMETER_VALIDITY_CHECK (-gnateV) and /TARGET_DEPENDENT_INFO
5011         (-gnatet).
5012
5013 2013-01-02  Robert Dewar  <dewar@adacore.com>
5014
5015         * checks.adb (Apply_Scalar_Range_Check): Implement Check_Float_Overflow.
5016         * opt.ads, opt.adb: Handle flags Check_Float_Overflow[_Config].
5017         * par-prag.adb: Add dummy entry for pragma Check_Float_Overflow.
5018         * sem_prag.adb: Implement pragma Check_Float_Overflow.
5019         * snames.ads-tmpl: Add entries for pragma Check_Float_Overflow.
5020         * switch-c.adb: Recognize -gnateF switch.
5021         * tree_io.ads: Update ASIS version number.
5022         * gnat_rm.texi: Add documentation of pragma Check_Float_Overflow.
5023
5024 2013-01-02  Robert Dewar  <dewar@adacore.com>
5025
5026         * checks.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
5027         exp_disp.adb, exp_dist.adb, exp_intr.adb, exp_prag.adb, exp_util.adb,
5028         freeze.adb, gnat1drv.adb, inline.adb, layout.adb, lib-xref.adb,
5029         par-ch10.adb, par-labl.adb, par-load.adb, par-util.adb, restrict.adb,
5030         sem_ch13.adb, sem_ch4.adb, sem_ch6.adb, sem_dim.adb, sem_elab.adb,
5031         sem_res.adb, sem_warn.adb, sinput-l.adb: Add tags to warning messages.
5032         * sem_ch6.ads, warnsw.ads, opt.ads: Minor comment updates.
5033
5034 2013-01-02  Robert Dewar  <dewar@adacore.com>
5035
5036         * err_vars.ads: Minor comment fix.
5037
5038 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
5039
5040         * sem_ch12.adb: Refine predicate.
5041
5042 2013-01-02  Robert Dewar  <dewar@adacore.com>
5043
5044         * errout.ads: Minor comment fixes.
5045         * opt.ads: Minor comment additions.
5046         * exp_aggr.adb: Add tags to warning messages
5047         * exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_aggr.adb,
5048         sem_attr.adb, sem_case.adb, sem_cat.adb, sem_ch3.adb, sem_ch4.adb,
5049         sem_ch5.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_eval.adb,
5050         sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
5051         sem_warn.adb: Add tags to warning messages
5052
5053 2013-01-02  Doug Rupp  <rupp@adacore.com>
5054
5055         * init.c [VMS] Remove subtest on reason mask for ACCVIO that is a C_E.
5056
5057 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
5058
5059         * sem_ch12.adb: Recover source name for renamed packagea.
5060
5061 2013-01-02  Robert Dewar  <dewar@adacore.com>
5062
5063         * errout.adb (Set_Msg_Insertion_Warning): Correct typo causing
5064         tests to fail if insertion sequence is at end of message string.
5065         * opt.ads: Minor comment fixes and additions.
5066         * sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_ch10.adb, sem_ch11.adb,
5067         sem_ch12.adb, sem_ch13.adb: Add tags to warning messages.
5068         * sem_ch6.ads, sem_ch6.adb (Cannot_Inline): Deal with warning message
5069         tags. Add tags to warning messages.
5070
5071 2013-01-02  Robert Dewar  <dewar@adacore.com>
5072
5073         * err_vars.ads (Warning_Doc_Switch): New flag.
5074         * errout.adb (Error_Msg_Internal): Implement new warning flag
5075         doc tag stuff (Set_Msg_Insertion_Warning): New procedure.
5076         * errout.ads: Document new insertion sequences ?? ?x? ?.x?
5077         * erroutc.adb (Output_Msg_Text): Handle ?? and ?x? warning doc
5078         tag stuff.
5079         * erroutc.ads (Warning_Msg_Char): New variable.
5080         (Warn_Chr): New field in error message object.
5081         * errutil.adb (Error_Msg): Set Warn_Chr in error message object.
5082         * sem_ch13.adb: Minor reformatting.
5083         * warnsw.adb: Add handling for -gnatw.d and -gnatw.D
5084         (Warning_Doc_Switch).
5085         * warnsw.ads: Add handling of -gnatw.d/.D switches (warning
5086         doc tag).
5087
5088 2013-01-02  Robert Dewar  <dewar@adacore.com>
5089
5090         * opt.ads: Minor reformatting.
5091
5092 2013-01-02  Doug Rupp  <rupp@adacore.com>
5093
5094         * init.c: Reorganize VMS section.
5095         (scan_condtions): New function for scanning condition tables.
5096         (__gnat_handle_vms_condtion): Use actual exception name for imported
5097         exceptions vice IMPORTED_EXCEPTION.
5098         Move condition table scanning into separate function. Move formerly
5099         special handled conditions to system condition table. Use SYS$PUTMSG
5100         output to fill exception message field for formally special handled
5101         condtions, in particular HPARITH to provide more clues about cause and
5102         location then raised from the translated image.
5103
5104 2013-01-02  Thomas Quinot  <quinot@adacore.com>
5105
5106         * sem_ch13.adb (Analyze_Aspect_Specifications): For a Pre/Post
5107         aspect that applies to a library subprogram, prepend corresponding
5108         pragma to the Pragmas_After list, in order for split AND THEN
5109         sections to be processed in the expected order.
5110
5111 2013-01-02  Thomas Quinot  <quinot@adacore.com>
5112
5113         * exp_prag.adb (Expand_Pragma_Check): The statements generated
5114         for the pragma must have the sloc of the pragma, not the
5115         sloc of the condition, otherwise this creates anomalies in the
5116         generated debug information that confuse coverage analysis tools.
5117
5118 2013-01-02  Thomas Quinot  <quinot@adacore.com>
5119
5120         * sem_ch13.adb: Minor reformatting.
5121
5122 2013-01-02  Arnaud Charlet  <charlet@adacore.com>
5123
5124         * g-excact.ads (Core_Dump): Clarify that this subprogram does
5125         not dump cores under Windows.
5126
5127 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
5128
5129         * sem_ch8.adb (Analyze_Primitive_Renamed_Operation): The prefixed
5130         view of a subprogram has convention Intrnnsic, and a renaming
5131         of a prefixed view cannot be the prefix of an Access attribute.
5132
5133 2013-01-02  Robert Dewar  <dewar@adacore.com>
5134
5135         * restrict.adb: Minor reformatting.
5136
5137 2013-01-02  Thomas Quinot  <quinot@adacore.com>
5138
5139         * exp_prag.adb: Minor reformatting.
5140
5141 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
5142
5143         * sem_ch12.adb (Get_Associated_Node): If the node is an
5144         identifier that denotes an unconstrained array in an object
5145         declaration, it is rewritten as the name of an anonymous
5146         subtype whose bounds are given by the initial expression in the
5147         declaration. When checking whether that identifier is global
5148         reference, use the original node, not the local generated subtype.
5149
5150 2013-01-02  Olivier Hainque  <hainque@adacore.com>
5151
5152         * tracebak.c: Revert previous change, incomplete.
5153
5154 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
5155
5156         * sem_ch13.adb (Analyze_Aspect_Specifications): If the aspect
5157         appears on a subprogram body that acts as a spec, place the
5158         corresponding pragma in the declarations of the body, so that
5159         e.g. pre/postcondition checks can be generated appropriately.
5160
5161 2013-01-02  Robert Dewar  <dewar@adacore.com>
5162
5163         * sem_ch3.adb: Minor reformatting and code reorganization.
5164
5165 2013-01-02  Vincent Celier  <celier@adacore.com>
5166
5167         * switch-m.adb (Normalize_Compiler_Switches): Record the
5168         complete switch -fstack-check=specific instead of its shorter
5169         alias -fstack-check.
5170
5171 2013-01-02  Ed Schonberg  <schonberg@adacore.com>
5172
5173         * sem_ch3.adb (Derive_Subprogram): Enforce RM 6.3.1 (8):
5174         if the derived type is a tagged generic formal type with
5175         unknown discriminants, the inherited operation has convention
5176         Intrinsic. As such, the 'Access attribute cannot be applied to it.
5177
5178 2013-01-02  Thomas Quinot  <quinot@adacore.com>
5179
5180         * sem_attr.adb: Minor reformatting.
5181
5182 2013-01-02  Thomas Quinot  <quinot@adacore.com>
5183
5184         * par_sco.adb: Add SCO generation for S of protected types and
5185         single protected object declarations.
5186
5187 2013-01-02  Robert Dewar  <dewar@adacore.com>
5188
5189         * sem_eval.adb, osint.ads: Minor reformatting.
5190
5191 2013-01-02  Hristian Kirtchev  <kirtchev@adacore.com>
5192
5193         * sem_prag.adb (Analyze_Pragma): Check the legality of pragma Assume.
5194
5195 2013-01-02  Thomas Quinot  <quinot@adacore.com>
5196
5197         * sem_eval.adb (Compile_Time_Compare): For static operands, we
5198         can perform a compile time comparison even if in preanalysis mode.
5199
5200 2013-01-02  Thomas Quinot  <quinot@adacore.com>
5201
5202         * par_sco.adb (SCO_Record): Always use
5203         Traverse_Declarations_Or_Statements to process the library level
5204         declaration, so that SCOs are properly generated for its aspects.
5205
5206 2013-01-02  Thomas Quinot  <quinot@adacore.com>
5207
5208         * scos.ads (In_Decision): Add missing entry for 'a'.
5209         * sem_prag.adb (Analyze_Pragma, case pragma Check): Omit
5210         call to Set_SCO_Pragma_Enabled for Invariant and Predicate.
5211         * sem_ch13.adb: Minor comment update.
5212 \f
5213 Copyright (C) 2013 Free Software Foundation, Inc.
5214
5215 Copying and distribution of this file, with or without modification,
5216 are permitted in any medium without royalty provided the copyright
5217 notice and this notice are preserved.