d565142accf0ca9f62e812fd36cbf9fc50b36257
[gcc.git] / gcc / ada / ChangeLog
1 2013-04-11 Vincent Celier <celier@adacore.com>
2
3 * switch-c.adb: Document internal switches.
4 * usage.adb: Remove lines for internal switches: -gnatea, -gnateO,
5 -gnatez and -gnateO.
6
7 2013-04-11 Ed Schonberg <schonberg@adacore.com>
8
9 * par-ch6.adb (P_Subprogram): Attach aspects to subprogram stub.
10 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Allow aspects on
11 subprogram stubs.
12 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze generated
13 pre/post pragmas at once before analyzing the proper body.
14 * sem_prag.adb (Chain_PPC): Handle pragma that comes from an
15 aspect on a subprogram stub.
16 * aspects.adb: Aspect specifications can appear on a
17 subprogram_Body_Stub.
18
19 2013-04-11 Vincent Celier <celier@adacore.com>
20
21 * gnatname.adb: Minor comment fix.
22
23 2013-04-11 Vincent Celier <celier@adacore.com>
24
25 * prj-makr.adb (Process_Directory): Create a new temporary
26 file for each invocation of the compiler, in directory pointed
27 by environment variable TMPDIR if it exists.
28
29 2013-04-11 Arnaud Charlet <charlet@adacore.com>
30
31 * gnat_ugn.texi: Minor editing/clean ups.
32
33 2013-04-11 Ed Schonberg <schonberg@adacore.com>
34
35 * sem_ch6.adb (Analyze_Null_Procedure): New subprogram, mostly
36 extracted from Analyze_Subprogram_Declaration, to handle null
37 procedure declarations that in ada 2012 can be completions of
38 previous declarations.
39
40 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
41
42 * sem_prag.adb (Entity_Of): Moved to Exp_Util.
43 * exp_util.ads, exp_util.adb (Entity_Of): New routine.
44
45 2013-04-11 Robert Dewar <dewar@adacore.com>
46
47 * g-spipat.ads: Minor comment fix.
48
49 2013-04-11 Robert Dewar <dewar@adacore.com>
50
51 * sem_prag.adb, sem_util.adb, sem_res.adb, exp_ch4.adb: Minor
52 reformatting.
53
54 2013-04-11 Thomas Quinot <quinot@adacore.com>
55
56 * exp_util.ads (Fully_Qualified_Name_String): Document that the
57 constructed literal is the entity name in all upper case.
58
59 2013-04-11 Thomas Quinot <quinot@adacore.com>
60
61 * sem_util.adb (Set_Entity_With_Style_Check): Fix logic of
62 check for implementation defined identifiers.
63
64 2013-04-11 Yannick Moy <moy@adacore.com>
65
66 * checks.adb (Apply_Type_Conversion_Checks): Add an explanation
67 of why range check and length are put on different nodes.
68 * exp_ch4.adb (Apply_Type_Conversion_Checks): Remove check marks
69 when doing their expansion.
70
71 2013-04-11 Ed Schonberg <schonberg@adacore.com>
72
73 * sem_util.ads, sem_util.adb (Get_Incomplete_View_Of_Ancestor):
74 New function to implement the notion introduced in RM 7.3.1
75 (5.2/3): in a child unit, a derived type is within the derivation
76 class of an ancestor declared in a parent unit, even if there
77 is an intermediate derivation that does not see the full view
78 of that ancestor.
79 * sem_res.adb (Valid_Conversion): if all else fails, examine if an
80 incomplete view of an ancestor makes a numeric conversion legal.
81
82 2013-04-11 Ed Schonberg <schonberg@adacore.com>
83
84 * sem_ch6.adb: in Ada2012 operators can only have in
85 parameters.
86
87 2013-04-11 Vincent Celier <celier@adacore.com>
88
89 * makeutl.adb (Create_Binder_Mapping_File): Do not put into
90 the mapping file ALI files of sources that have been replaced.
91
92 2013-04-11 Vincent Celier <celier@adacore.com>
93
94 * projects.texi: Add subsection Duplicate Sources in Projects.
95
96 2013-04-11 Vincent Celier <celier@adacore.com>
97
98 * gnat_ugn.texi: Add documentation for gnatmake switch -droot_dir/**
99
100 2013-04-11 Arnaud Charlet <charlet@adacore.com>
101
102 * init.c (__gnat_install_handler): Only set up an alternate
103 stack when installing a signal handler for SIGSEGV.
104
105 2013-04-11 Thomas Quinot <quinot@adacore.com>
106
107 * g-socket.adb (Connect_Socket, timeout version): Call
108 underlying connect operation directly, not through the 2-argument
109 Connect_Socket thick binding, in order to avoid raising a junk
110 exception for the EINPROGRESS return.
111
112 2013-04-11 Robert Dewar <dewar@adacore.com>
113
114 * a-cdlili.adb: Minor addition of pragma Warnings (Off).
115
116 2013-04-11 Robert Dewar <dewar@adacore.com>
117
118 * hostparm.ads: Minor reformatting.
119
120 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
121
122 * aspects.ads, aspects.adb: Add Aspect_Depends to all the relevant
123 tables.
124 * elists.ads, elists.adb (Contains): New routine.
125 * par-prag.adb: Pragma Depends does not need any special treatment
126 by the parser.
127 * sem_ch13.adb (Analyze_Aspect_Specifications):
128 Transform aspect Depends into a corresponding pragma.
129 (Check_Aspect_At_Freeze_Point): Aspect Depends does not need
130 inspection at its freeze point.
131 * sem_prag.adb (Analyze_Pragma): Perform analysis and
132 normalization of pragma Depends. Remove the use of function
133 Is_Duplicate_Item. Use End_Scope to uninstalle the formal
134 parameters of a subprogram. Add a value for pragma Depends in
135 table Sig_Flags.
136 (Is_Duplicate_Item): Removed.
137 * snames.ads-tmpl: Add predefined name for Depends as well as
138 a pragma identifier.
139
140 2013-04-11 Arnaud Charlet <charlet@adacore.com>
141
142 * gnat1drv.adb: Minor code clean up.
143
144 2013-04-11 Arnaud Charlet <charlet@adacore.com>
145
146 * debug.adb, sem_ch13.adb (Analyze_Enumeration_Representation_Clause):
147 Ignore enumeration rep clauses by default in CodePeer mode, unless
148 -gnatd.I is specified.
149
150 2013-04-11 Ed Schonberg <schonberg@adacore.com>
151
152 * sem_util.adb (Safe_To_Capture_Value): If the node belongs to
153 an expression that has been attached to the else_actions of an
154 if-expression, the capture is not safe.
155
156 2013-04-11 Yannick Moy <moy@adacore.com>
157
158 * checks.adb (Apply_Type_Conversion_Checks): Put check mark on type
159 conversion for arrays.
160
161 2013-04-11 Robert Dewar <dewar@adacore.com>
162
163 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
164
165 2013-04-11 Johannes Kanig <kanig@adacore.com>
166
167 * adabkend.adb: Minor comment addition.
168
169 2013-04-11 Matthew Heaney <heaney@adacore.com>
170
171 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb ("="): Increment
172 lock counts before entering loop.
173 (Find): Ditto.
174 (Is_Sorted, Merge, Sort): Ditto.
175 (Reverse_Find): Ditto.
176 (Splice_Internal): Internal operation to refactor splicing logic.
177 (Splice): Some logic moved into Splice_Internal.
178
179 2013-04-11 Johannes Kanig <kanig@adacore.com>
180
181 * adabkend.adb (Scan_Compiler_Arguments): Do not call
182 Set_Output_Object_File_Name in Alfa_Mode
183 * gnat1drv.adb (Adjust_Global_Switches): Take Alfa_Mode into account.
184 * opt.ads: Fix documentation.
185
186 2013-04-11 Robert Dewar <dewar@adacore.com>
187
188 * sem_res.adb: Minor code reorganization and comment fixes.
189 * sem_type.adb: Minor reformatting.
190
191 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
192
193 * exp_ch4.adb (Process_Transient_Object): Add new
194 local variable Fin_Call. Remove and explain ??? comment. Use the
195 Actions of logical operators "and then" and "or else" to insert
196 the generated finalization call.
197
198 2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
199
200 * gnat_rm.texi: Fix typo.
201
202 2013-04-11 Ed Schonberg <schonberg@adacore.com>
203
204 * sem_res.adb: Minor reformatting.
205
206 2013-04-11 Robert Dewar <dewar@adacore.com>
207
208 * atree.h: Add declarations for Flag255-Flag289 Fix declaration
209 of Field30 (was wrong, but no effect, since not yet referenced by
210 back end) Add declarations for Field31-Field35 Add declarations
211 for Node31-Node35.
212 * einfo.ads, einfo.adb (Has_Invariants): No longer applies to
213 procedures.
214 (Has_Predicates): No longer applies to functions.
215 (Is_Predicate_Function): New flag.
216 (Is_Predicate_Function_M): New flag.
217 (Is_Invariant_Procedure): New flag.
218 (Predicate_Function_M): New function.
219 (Set_Predicate_Function_M): New procedure.
220 * exp_ch11.adb (Expand_N_Raise_Expression): Take care of special
221 case of appearing in predicate used for membership test.
222 * exp_ch3.adb (Insert_Component_Invariant_Checks): Set
223 Is_Invariant_Procedure flag.
224 * exp_ch4.adb (Expand_Op_In): Call special predicate function
225 that takes care of raise_expression nodes in the predicate.
226 * exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for
227 membership case.
228 * sem_ch13.adb (Build_Predicate_Functions): New name for
229 Build_Predicate_Function. Major rewrite to take care of raise
230 expression in predicate for membership tests.
231 * sem_res.adb (Resolve_Actuals): Include both predicate functions
232 in defense against infinite predicate function loops.
233 * sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag.
234
235 2013-04-11 Robert Dewar <dewar@adacore.com>
236
237 * sem_prag.adb: Minor reformatting.
238
239 2013-04-11 Ed Schonberg <schonberg@adacore.com>
240
241 * lib-xref.adb: Generate reference for component of anonymous
242 access type.
243
244 2013-04-11 Robert Dewar <dewar@adacore.com>
245
246 * stand.ads: Minor reformatting.
247
248 2013-04-11 Matthew Heaney <heaney@adacore.com>
249
250 * a-convec.adb, a-coinve.adb, a-cobove.adb ("="): Increment lock
251 counts before entering loop.
252 (Find, Find_Index): Ditto.
253 (Is_Sorted, Merge, Sort): Ditto.
254 (Reverse_Find, Reverse_Find_Index): Ditto.
255
256 2013-04-11 Robert Dewar <dewar@adacore.com>
257
258 * exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure.
259 * exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression.
260 * expander.adb: Add call to Expand_N_Raise_Expression.
261 * par-ch11.adb (P_Raise_Expression): New procedure.
262 * par-ch4.adb (P_Relation): Handle Raise_Expression.
263 * par.adb (P_Raise_Expression): New procedure.
264 * sem.adb: Add handling for N_Raise_Expression.
265 * sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure.
266 * sem_res.adb (Resolve): Add handling for N_Raise_Expression.
267 * sinfo.ads, sinfo.adb (N_Raise_Expression): New node.
268 * sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression.
269 * stand.ads (Any_Type): Document use with N_Raise_Expression.
270
271 2013-04-11 Vincent Celier <celier@adacore.com>
272
273 * gnat_ugn.texi: Remove section "The Development Environments"
274 now that all predefined attributes are documented, including
275 those in package IDE.
276
277 2013-04-11 Ed Schonberg <schonberg@adacore.com>
278
279 * sem_ch6.adb: Preserve parent link in copy of expression.
280
281 2013-04-11 Vincent Celier <celier@adacore.com>
282
283 * projects.texi: Complete rewrite of the subsection Attributes
284 in section "Project file Reference".
285
286 2013-04-11 Robert Dewar <dewar@adacore.com>
287
288 * exp_ch4.adb: Minor reformatting.
289
290 2013-04-11 Robert Dewar <dewar@adacore.com>
291
292 * exp_ch4.adb (Expand_Concatenate): Remove wrapping in
293 expression-with-actions node. No longer needed given fix to
294 sem_prag and caused loss of some useful warnings.
295 * sem.ads: Minor reformatting.
296 * sem_prag.adb (Check_Disabled): Removed, to be replaced by not
297 Check_Enabled. These two routines were curiously incompatible
298 causing confusion.
299 (Analyze_Pragma, case Check): Make sure we do
300 not expand the string argument if the check is disabled. Avoid
301 use of Check_Disabled, which resulted in missing analysis in
302 some cases.
303 * sem_prag.ads (Check_Disabled): Removed, to be replaced by not
304 Check_Enabled. These two routines were curiously incompatible
305 causing confusion.
306
307 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
308
309 * exp_ch4.adb (Process_Transient_Object): Use
310 an unchecked conversion when associating a transient controlled
311 object with its "hook".
312
313 2013-04-11 Ed Schonberg <schonberg@adacore.com>
314
315 * sem_prag.adb (Analyze_Pragma, case
316 Preelaborable_Initialization): The pragma is legal if it comes
317 from an aspect on the private view of the type, even though its
318 analysis point takes place later at the freeze point.
319
320 2013-04-11 Robert Dewar <dewar@adacore.com>
321
322 * sem_ch6.adb: Minor reformatting.
323
324 2013-04-11 Yannick Moy <moy@adacore.com>
325
326 * ali-util.adb (Read_Withed_ALIs): Do not consider it an error to
327 read ALI files with No_Object=True in Alfa mode.
328 * gnat1drv.adb: Set appropriately Back_End_Mode in Alfa mode, whether
329 this is during frame condition generation of translation to Why.
330
331 2013-04-11 Robert Dewar <dewar@adacore.com>
332
333 * exp_ch4.adb: Minor code reorganization
334 * types.ads: Minor reformatting.
335
336 2013-04-11 Johannes Kanig <kanig@adacore.com>
337
338 * opt.ads New global boolean Frame_Condition_Mode to avoid
339 referring to command line switch.
340 * gnat1drv.adb (Gnat1drv) set frame condition mode when -gnatd.G
341 is present, and disable Code generation in that case. Disable
342 ALI file generation when switch is *not* present.
343
344 2013-04-11 Ed Schonberg <schonberg@adacore.com>
345
346 * sem_ch6.adb (Analyze_Expression_Function): Perform the
347 pre-analysis on a copy of the expression, to prevent downstream
348 visbility issues involving operators and instantiations.
349
350 2013-04-11 Johannes Kanig <kanig@adacore.com>
351
352 * debug.adb: Reservation and documentation for -gnatd.G switch.
353 * gnat1drv.adb (Adjust_Global_Switches) Take into account -gnatd.G
354 switch, and set ALI file generation accordingly.
355
356 2013-04-11 Robert Dewar <dewar@adacore.com>
357
358 * exp_ch4.adb, exp_dist.adb: Minor reformatting.
359 * gnat_rm.texi, gnat_ugn.texi: -020 Add documentation clarifying that
360 check names introduced with pragma Check_Name are suppressed by -gnatp.
361
362 2013-04-11 Vincent Celier <celier@adacore.com>
363
364 * gnat_ugn.texi, projects.texi: Move chapter "Tools Supporting Project
365 Files" from projects.texi to gnat_ugn.texi.
366
367 2013-04-11 Arnaud Charlet <charlet@adacore.com>
368
369 * gcc-interface/Make-lang.in: Update dependencies.
370
371 2013-04-11 Yannick Moy <moy@adacore.com>
372
373 * gnat1drv.adb (Adjust_Global_Switches): Allow missing body in Alfa
374 mode.
375
376 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
377
378 * exp_ch4.adb (Expand_N_Allocator): Detect the
379 allocation of an anonymous controlled object where the type of
380 the context is named. Use the pool and finalization master of
381 the named access type to allocate the object.
382
383 2013-04-11 Vincent Celier <celier@adacore.com>
384
385 * gnat_ugn.texi: Remove most mentions of gprbuild.
386 * projects.texi: Remove all mentions of asociative array
387 attributes.
388
389 2013-04-11 Robert Dewar <dewar@adacore.com>
390
391 * sem_prag.adb, sem_attr.adb, gnat1drv.adb, prj-makr.adb,
392 opt.ads, sem_ch13.adb: Minor reformatting.
393 * debug.adb: Minor comment fix (remove junk .I doc).
394
395 2013-04-11 Thomas Quinot <quinot@adacore.com>
396
397 * rtsfind.ads, exp_dist.adb, exp_dist.ads (Rtsfind.PCS_Version, case
398 PolyORB): Bump to 6.
399 (Exp_Dist.PolyORB_Support): Replace TC_Build with
400 Build_Complex_TC.
401
402 2013-04-11 Arnaud Charlet <charlet@adacore.com>
403
404 * debug.adb, sem_prag.adb, par-ch2.adb, sem_attr.adb, gnat1drv.adb,
405 exp_disp.adb, opt.ads, sem_ch13.adb (Relaxed_RM_Semantics): New flag.
406 Enable this flag in CodePeer mode, and also via -gnatd.M.
407 Replace some uses of CodePeer_Mode by Relaxed_RM_Semantics.
408
409 2013-04-11 Ed Schonberg <schonberg@adacore.com>
410
411 * sem_ch8.adb (Check_Constrained_Object): If a subtype is created
412 from the renamed object in an object renaming declaration with
413 an unconstrained nominal subtype, freeze the created subtype at
414 once, to prevent order of elaboration issues in the backend.
415
416 2013-04-11 Arnaud Charlet <charlet@adacore.com>
417
418 * exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size
419 in particular in CodePeer mode.
420
421 2013-04-11 Vincent Celier <celier@adacore.com>
422
423 * gnat_ugn.texi: Add documentation for backup copies of project
424 files for gnatname.
425
426 2013-04-11 Tristan Gingold <gingold@adacore.com>
427
428 * gnat_rm.texi: Add Detect_BLocking in the ravenscar profile
429 pragma list.
430
431 2013-04-11 Vincent Celier <celier@adacore.com>
432
433 * gnatname.adb (Scan_Args): Recognize new switch --no-backup
434 (Usage): Add line for --no-backup.
435 * opt.ads (No_Backup): New Boolean variable, initialized to False.
436 (Ada_Version_Default): Switch to Ada 2012 by default.
437 * prj-makr.adb (Initialize): Create a backup for an existing
438 project file if gnatname is not invoked with --no-backup.
439
440 2013-04-11 Thomas Quinot <quinot@adacore.com>
441
442 * exp_ch4.adb: Minor code improvement: replace various calls to
443 Make_If_Statement in expansion with Make_Implicit_If_Statement.
444
445 2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
446
447 * ali.adb: Fix minor typo.
448
449 2013-04-11 Thomas Quinot <quinot@adacore.com>
450
451 * exp_ch4.adb (Find_Enclosing_Context): Add missing case of
452 N_Procedure_Call_Statement.
453
454 2013-04-11 Robert Dewar <dewar@adacore.com>
455
456 * debug.adb: Minor comment fix.
457
458 2013-04-11 Johannes Kanig <kanig@adacore.com>
459
460 * debug.adb: Remove comment for -gnatd.G.
461
462 2013-04-11 Thomas Quinot <quinot@adacore.com>
463
464 * exp_ch4.adb (Expand_Record_Equality.Suitable_Element):
465 Remove recursive routine, replace with...
466 (Expand_Record_Equality.Element_To_Compare): New subroutine,
467 implement iterative search for next element to compare.
468 Add explanatory comment in the tagged case.
469
470 2013-04-11 Ed Schonberg <schonberg@adacore.com>
471
472 * sem_ch5.adb: remove spurious warning from non-empty loop.
473 * sem_ch8.adb (Enclosing_Instance): Make public to other routines
474 in the package, in order to suppress redundant semantic checks
475 on subprogram renamings in nested instantiations.
476
477 2013-04-11 Robert Dewar <dewar@adacore.com>
478
479 * errout.ads: Minor reformatting.
480 * sem_eval.adb (Why_Not_Static): Now issues continuation messages
481 (Why_Not_Static): Test for aggregates behind string literals.
482 * sem_eval.ads (Why_Not_Static): Now issues continuation messages.
483
484 2013-04-11 Robert Dewar <dewar@adacore.com>
485
486 * exp_ch4.adb (Expand_Concatenation): Wrap expansion in
487 Expressions_With_Actions.
488
489 2013-04-11 Ed Schonberg <schonberg@adacore.com>
490
491 * sem_ch6.adb (Base_Types_Match): For an actual type in an
492 instance, the base type may itself be a subtype, so find true
493 base type to determine compatibility.
494
495 2013-04-11 Robert Dewar <dewar@adacore.com>
496
497 * s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb.
498 makeutl.adb, sem_ch8.adb: Minor reformatting.
499
500 2013-04-11 Vincent Celier <celier@adacore.com>
501
502 * gnat_ugn.texi: Minor fixes for VMS.
503 * ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?.
504
505 2013-04-11 Robert Dewar <dewar@adacore.com>
506
507 * usage.adb (Usage): Minor edit to -gnatW message
508
509 2013-04-11 Robert Dewar <dewar@adacore.com>
510
511 * exp_aggr.adb (Expand_N_Aggregate): Add circuit for handling
512 others for string literal case. Also add big ??? comment about
513 this new code, which should be redundant, but is not.
514 * sem_eval.adb (Eval_Concatenation): Handle non-static case
515 properly (Eval_String_Literal): Handle non-static literal properly
516
517 2013-03-20 Tobias Burnus <burnus@net-b.de>
518
519 * i-fortra.ads: Update comment, add Ada 2012's optional
520 Star and Kind data types for enhanced interoperability.
521
522 2013-03-16 Eric Botcazou <ebotcazou@adacore.com>
523
524 * gnatvsn.ads (Library_Version): Bump to 4.9.
525
526 2013-03-08 Cesar Strauss <cestrauss@gmail.com>
527
528 PR ada/52123
529 * seh_init.c (Raise_From_Signal_Handler): Declare as no-return.
530 (__gnat_SEH_error_handler): Likewise. Remove final return.
531
532 2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
533
534 * gcc-interface/trans.c (Attribute_to_gnu): Abort instead of erroring
535 out for an unimplemented attribute.
536
537 2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
538
539 * gcc-interface/decl.c (gnat_to_gnu_field): Remove the wrapper around
540 a misaligned integral type if a size is specified for the field.
541
542 2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
543
544 * gcc-interface/trans.c (Raise_Error_to_gnu) <CE_Index_Check_Failed>:
545 Record the unpadded type of the index type on the RCI stack.
546
547 2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
548
549 * gcc-interface/trans.c (emit_range_check): Assert that the range type
550 is a numerical type and remove useless local variables.
551
552 2013-02-25 Eric Botcazou <ebotcazou@adacore.com>
553
554 * gcc-interface/ada-tree.h: Back out change accidentally committed.
555
556 2013-02-21 Jakub Jelinek <jakub@redhat.com>
557
558 PR bootstrap/56258
559 * gnat-style.texi (@title): Remove @hfill.
560 * projects.texi: Avoid line wrapping inside of @pxref or @xref.
561
562 2013-02-14 Rainer Emrich <rainer@emrich-ebersheim.de>
563
564 PR target/52123
565 * tracebak.c: Cast from pointer via FARPROC.
566
567 2013-02-07 Simon Wright <simon@pushface.org>
568
569 PR target/50678
570 * init.c (__darwin_major_version): New function for x86-64/Darwin.
571 (__gnat_adjust_context_for_raise) [Darwin]: Disable the workaround
572 on Darwin 12 and above.
573
574 2013-02-06 Rainer Emrich <rainer@emrich-ebersheim.de>
575
576 PR target/52123
577 * adaint.c (__gnat_check_OWNER_ACL): Cast from pointer via
578 SECURITY_DESCRIPTOR *
579 (__gnat_set_OWNER_ACL): Cast from DWORD to ACCESS_MODE
580 (__gnat_portable_spawn): Fix cast to char* const*
581 (add_handle): Cast from pointer via void **
582 (add_handle): Cast from pointer via int *
583 (__gnat_locate_exec_on_path): Cast from pointer via TCHAR *
584 (__gnat_locate_exec_on_path): Cast from pointer via char *
585 * initialize.c (append_arg): Cast from pointer via LPWSTR
586 (__gnat_initialize): Cast from pointer via LPWSTR
587 * seh_init.c (__gnat_map_SEH): Cast from pointer via FARPROC
588
589 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
590
591 * gcc-interface/Make-lang.in: Enable System.Stack_Checking.Operations
592 target pairs on VxWorks 5 only.
593
594 2013-02-06 Arnaud Charlet <charlet@adacore.com>
595
596 * gcc-interface/Make-lang.in: Update dependencies.
597
598 2013-02-06 Vincent Celier <celier@adacore.com>
599
600 * prj-proc.adb (Process_Aggregated_Projects): Use a new project
601 node tree for each project tree rooted at an aggregated project.
602
603 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
604
605 * sem_util.adb (Is_Interface_Conversion): New routine.
606 (Object_Access_Level): Detect an interface conversion
607 that has been rewritten into a different construct. Use the
608 original form of the conversion to find the access level of
609 the operand.
610
611 2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
612
613 * einfo.ads (Has_Pragma_No_Inline): New flag using Flag201.
614 (Has_Pragma_No_Inline): Declare and mark as inline.
615 (Set_Has_Pragma_No_Inline): Likewise.
616 * einfo.adb (Has_Pragma_No_Inline): New function.
617 (Set_Has_Pragma_No_Inline): New procedure.
618 (Write_Entity_Flags): Handle Has_Pragma_No_Inline.
619 * snames.ads-tmpl (Name_No_Inline): New pragma-related name.
620 (Pragma_Id): Add Pragma_No_Inline value.
621 * par-prag.adb (Prag): Handle Pragma_Inline.
622 * sem_prag.adb (Inline_Status): New enumeration type.
623 (Process_Inline): Change Active parameter
624 to Inline_Status and add support for suppressed inlining.
625 (Analyze_Pragma) <Pragma_Inline>: Adjust to above change.
626 <Pragma_Inline_Always>: Likewise.
627 <Pragma_No_Inline>: Implement new pragma No_Inline.
628 (Sig_Flags): Add Pragma_No_Inline.
629 * gnat_rm.texi (Implementation Defined Pragmas): Add No_Inline.
630 * gnat_ugn.texi (Switches for gcc): Mention Pragma No_Inline.
631
632 2013-02-06 Pascal Obry <obry@adacore.com>
633
634 * s-osprim-mingw.adb (Clock): Make sure we copy all data locally
635 to avoid interleaved modifications that could happen from another
636 task calling Get_Base_Data.
637 (Get_Base_Data): Make it a critical section. Avoid updating if another
638 task has already done it.
639
640 2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
641
642 * sem_prag.adb: Minor reformatting.
643
644 2013-02-06 Pascal Obry <obry@adacore.com>
645
646 * s-tasloc.ads: Set System.Task_Lock to preelaborate.
647
648 2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
649
650 * snames.ads-tmpl (Name_Loop_Optimize, Name_No_Unroll,
651 Name_Unroll, Name_No_Vector, Name_Vector): New pragma-related
652 names.
653 (Pragma_Id): Add Pragma_Loop_Optimize value.
654 * par-prag.adb (Prag): Handle Pragma_Loop_Optimize.
655 * sem_prag.adb (Check_Loop_Invariant_Variant_Placement): Rename to...
656 (Check_Loop_Pragma_Placement): ...this.
657 (Analyze_Pragma)
658 <Pragma_Loop_Invariant>: Adjust to above renaming.
659 <Loop_Variant>: Likewise.
660 <Pragma_Loop_Optimize>: Implement new pragma Loop_Optimize.
661 (Sig_Flags): Add Pragma_Loop_Optimize.
662 * gnat_rm.texi (Implementation Defined Pragmas): Add Loop_Optimize.
663 * gnat_ugn.texi (Vectorization of loops): Mention Loop_Optimize.
664
665 2013-02-06 Robert Dewar <dewar@adacore.com>
666
667 * osint.ads: Minor fix of typo.
668
669 2013-02-06 Sergey Rybin <rybin@adacore.com frybin>
670
671 * gnat_ugn.texi: gnatmetric: update the documentation of
672 complexity metrics for Ada 2012.
673
674 2013-02-06 Javier Miranda <miranda@adacore.com>
675
676 * exp_disp.adb (Make_Secondary_DT): Code cleanup:
677 remove useless initialization.
678
679 2013-02-06 Ed Schonberg <schonberg@adacore.com>
680
681 * sem_ch3.adb (Build_Discriminant_Constraints): Do not
682 generate overflow checks on a discriminant expression if the
683 discriminant constraint is applied to a private type that has
684 a full view, because the check will be applied when the full
685 view is elaborated. Removing the redundant check is not just
686 an optimization, but it prevents spurious assembler errors,
687 because of the way the backend generates names for expressions
688 that require overflow checking.
689
690 2013-02-06 Pascal Obry <obry@adacore.com>
691
692 * s-osprim-mingw.adb: Removes workaround for an old GNU/Linker
693 limitation on Windows.
694 (DA): Removed.
695 (LIA): Removed.
696 (LLIA): Removed.
697 (TFA): Removed.
698 (BTA): Removed.
699 (BMTA): Removed.
700 (BCA): Removed.
701 (BMCA): Removed.
702 (BTiA): Removed.
703 (Clock): Use variable corresponding to access.
704 (Get_Base_Time): Likewise.
705 (Monotonic_Clock): Likewise.
706
707 2013-02-06 Vincent Celier <celier@adacore.com>
708
709 * make.adb (Gnatmake): When gnatmake is called with a project
710 file, do not invoke gnatbind with -I-.
711 * makeutl.adb (Create_Binder_Mapping_File): Rewrite function. Get
712 the infos from all the sources.
713
714 2013-02-06 Ed Schonberg <schonberg@adacore.com>
715
716 * snames.ads-tmpl: Add Name_Overriding_Renamings and pragma
717 Overriding_Renamings.
718 * par-prag.adb: Recognize pragma Overriding_Renamings.
719 * opt.ads (Overriding_Renamings): flag to control compatibility
720 mode with Rational compiler, replaces Rational_Profile flag.
721 * sem_ch8.adb (Analyze_Subprogram_Renaming): When
722 Overriding_Renamings is enabled, accept renaming declarations
723 where the new subprogram renames and overrides a locally inherited
724 operation. Improve error message for some illegal renamings.
725 * sem_prag.adb (Analyze_Pragma): Add case for Overriding_Renamings.
726 (Set_Rational_Profile): The Rational_Profile enables
727 Overriding_Renamings, Implicit_Packing, and Use_Vads_Size.
728
729 2013-02-06 Ed Schonberg <schonberg@adacore.com>
730
731 * sem_util.adb: Set parent of copied aggregate component, to
732 prevent infinite loop.
733
734 2013-02-06 Robert Dewar <dewar@adacore.com>
735
736 * sem_ch3.adb, sem_ch10.adb: Minor reformatting.
737 * exp_disp.adb: Minor comment update.
738 * comperr.ads, osint.ads, rtsfind.adb, sem_prag.adb: Minor addition of
739 No_Return pragmas.
740
741 2013-02-06 Thomas Quinot <quinot@adacore.com>
742
743 * targparm.ads, sem_ch13.adb (Support_Nondefault_SSO): New target
744 parameter, defaulted to False for now, indicates targets where
745 non-default scalar storage order may be specified.
746
747 2013-02-06 Thomas Quinot <quinot@adacore.com>
748
749 * sprint.adb (Write_Itype): Treat E_Record_Subtype_With_Private
750 same as E_Record_Subtype. Display E_Class_Wide_Subtype as
751 subtype, not type.
752
753 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
754
755 * sem_ch3.adb (Complete_Private_Subtype): Inherit the
756 Has_Unknown_Discriminants from the full view of the base type.
757
758 2013-02-06 Tristan Gingold <gingold@adacore.com>
759
760 * raise-gcc.c: Remove useless includes (sys/stat.h, adaint.h)
761 Enclosing debugging functions within #ifndef inhibit_libc to
762 support builds without full C headers.
763
764 2013-02-06 Thomas Quinot <quinot@adacore.com>
765
766 * gnat_rm.texi: Add a minimal example of Scalar_Storage_Order.
767
768 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
769
770 * sem_ch10.adb (Install_Limited_Withed_Unit): Add a missing
771 check to detect a parent-child relationship between two units in
772 order to correctly bypass the installation of a limited view. In
773 other words, the comment on the intended usage of the check was
774 correct, but the code itself did not reflect the behavior.
775
776 2013-02-06 Javier Miranda <miranda@adacore.com>
777
778 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate the
779 runtime check on assignment to tagged types if compiling with checks
780 suppressed.
781
782 2013-02-06 Robert Dewar <dewar@adacore.com>
783
784 * exp_util.adb, checks.adb, sem_ch12.adb, sem_res.adb, prj-conf.adb,
785 s-os_lib.adb: Minor reformatting
786
787 2013-02-06 Vincent Celier <celier@adacore.com>
788
789 * ug_words: Add -gnateY = /IGNORE_STYLE_CHECKS_PRAGMAS.
790
791 2013-02-06 Ed Schonberg <schonberg@adacore.com>
792
793 * snames.ads-tmpl: Add Name_Rational and pragma Rational.
794 * par-prag.adb: Recognize pragma Rational.
795 * opt.ads (Rational_Profile): flag to control compatibility mode
796 with Rational compiler.
797 * sem_ch8.adb (Analyze_Subprogram_Renaming): When Rational profile
798 is enable, accept renaming declarations where the new subprogram
799 and the renamed entity have the same name.
800 * sem_prag.adb (analyze_pragma): Add pragma Rational, and recognize
801 Rational as a profile.
802
803 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
804
805 * exp_ch5.adb (Expand_Loop_Entry_Attributes): When
806 dealing with a for loop that iterates over a subtype indication
807 with a range, use the low and high bounds of the subtype.
808
809 2013-02-06 Nicolas Roche <roche@adacore.com>
810
811 * s-os_lib.adb (Normalize_Arguments): Arguments containing tabs should
812 be quoted
813
814 2013-02-06 Vincent Celier <celier@adacore.com>
815
816 * prj-conf.adb (Process_Project_And_Apply_Config): New variable
817 Conf_Project. New recursive procedure Check_Project to find a non
818 aggregate project and put its Project_Id in Conf_Project. Fails if
819 no such project can be found.
820 (Get_Or_Create_Configuration_File): New parameter Conf_Project.
821 (Do_Autoconf): Use project directory of project Conf_Project to store
822 the generated configuration project file.
823 * prj-conf.ads (Get_Or_Create_Configuration_File): New parameter
824 Conf_Project.
825
826 2013-02-06 Javier Miranda <miranda@adacore.com>
827
828 * sem_res.adb (Resolve_Actuals): Generate a read
829 reference for out-mode parameters in the cases specified by
830 RM 6.4.1(12).
831
832 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
833
834 * sem_attr.adb (Resolve_Attribute): Do not resolve the prefix of
835 Loop_Entry, instead wait until the attribute has been expanded. The
836 delay ensures that any generated checks or temporaries are inserted
837 before the relocated prefix.
838
839 2013-02-06 Ed Schonberg <schonberg@adacore.com>
840
841 * sem_ch12.adb: Code clean up.
842
843 2013-02-06 Ed Schonberg <schonberg@adacore.com>
844
845 * checks.adb (Apply_Discriminant_Check): Look for discriminant
846 constraint in full view of private type when needed.
847 * sem_ch12.adb (Validate_Array_Type_Instance): Specialize
848 previous patch to components types that are private and without
849 discriminants.
850
851 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
852
853 * exp_ch4.adb (Find_Enclosing_Context): Recognize
854 a simple return statement as one of the cases that require special
855 processing with respect to temporary controlled function results.
856 (Process_Transient_Object): Do attempt to finalize a temporary
857 controlled function result when the associated context is
858 a simple return statement. Instead, leave this task to the
859 general finalization mechanism.
860
861 2013-02-06 Thomas Quinot <quinot@adacore.com>
862
863 * einfo.ads: Minor reformatting.
864 (Status_Flag_Or_Transient_Decl): Add ??? comment.
865
866 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
867
868 * exp_ch4.adb (Expand_N_Expression_With_Actions): Rewritten. This
869 routine should be able to properly detect controlled transient
870 objects in its actions and generate the appropriate finalization
871 actions.
872 * exp_ch6.adb (Enclosing_Context): Removed.
873 (Expand_Ctrl_Function_Call): Remove local subprogram and
874 constant. Use routine Within_Case_Or_If_Expression to determine
875 whether the lifetime of the function result must be extended to
876 match that of the context.
877 * exp_util.ads, exp_util.adb (Within_Case_Or_If_Expression): New
878 routine.
879
880 2013-02-06 Ed Schonberg <schonberg@adacore.com>
881
882 * sem_ch12.adb (Validate_Array_Type_Instance): Extend check
883 for subtype matching of component type of formal array type,
884 to avoid spurious error when component type is a separate actual
885 in the instance, and there may be a discrepancy between private
886 and full view of component type.
887
888 2013-02-06 Robert Dewar <dewar@adacore.com>
889
890 * s-dim.ads, clean.adb: Minor reformatting.
891
892 2013-02-06 Javier Miranda <miranda@adacore.com>
893
894 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Undo previous patch.
895 (Can_Split_Unconstrained_Function): Only split the inlined function if
896 the compiler generates the code of its body.
897
898 2013-02-06 Robert Dewar <dewar@adacore.com>
899
900 * exp_prag.adb, sem_ch3.adb, exp_attr.adb, sem_prag.adb, sem_ch6.adb,
901 exp_intr.adb, exp_dist.adb, sem_ch13.adb: Internal clean up for
902 N_Pragma nodes.
903
904 2013-02-06 Robert Dewar <dewar@adacore.com>
905
906 * gnat_rm.texi: Minor text updates for pragma Warning.
907
908 2013-02-06 Geert Bosch <bosch@adacore.com>
909
910 * s-multip.adb (Number_Of_CPUs): Short-circuit in case of
911 CPU'Last = 1.
912
913 2013-02-06 Vincent Celier <celier@adacore.com>
914
915 * clean.adb (Delete): On VMS use host notation to delete all files.
916
917 2013-02-06 Robert Dewar <dewar@adacore.com>
918
919 * sem_prag.adb, sem_ch6.adb, prj-conf.adb, erroutc.adb: Minor
920 reformatting.
921
922 2013-02-06 Gary Dismukes <dismukes@adacore.com>
923
924 * sem_ch6.adb (Check_For_Primitive_Subprogram): Test for
925 the special case of a user-defined equality that overrides
926 the predefined equality of a nonderived type declared in a
927 declarative part.
928 * sem_util.adb (Collect_Primitive_Operations): Add test for
929 Is_Primitive when looping over the subprograms following a type,
930 to catch the case of primitives such as a user-defined equality,
931 which otherwise won't be found when the type is not a derived
932 type and is declared in a declarative part.
933
934 2013-02-06 Vincent Celier <celier@adacore.com>
935
936 * prj-conf.adb (Check_Target): Always return True when Target
937 is empty (Get_Or_Create_Configuration_File.Get_Project_Target):
938 New procedure to get the value of attribute Target in the main
939 project.
940 (Get_Or_Create_Configuration_File.Do_Autoconf): No
941 need to get the value of attribute Target in the main project.
942 (Get_Or_Create_Configuration_File): Call Get_Project_Target and
943 use the target fom this call.
944
945 2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
946
947 * erroutc.adb (Validate_Specific_Warning): Do not issue the
948 warning about an ineffective Pragma Warnings for -Wxxx warnings.
949 * sem_prag.adb (Analyze_Pragma) <Warnings>: Accept -Wxxx warnings.
950 * gnat_rm.texi (Pragma Warnings): Document coordination with
951 warnings of the GCC back-end.
952
953 2013-02-06 Javier Miranda <miranda@adacore.com>
954
955 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build the body
956 of an inlined function if we do not generate code for the function.
957
958 2013-02-06 Pascal Obry <obry@adacore.com>
959
960 * s-os_lib.adb (Locate_Exec_On_Path): Call Normalize_Pathname
961 with Resolve_Links set to False.
962
963 2013-02-03 Eric Botcazou <ebotcazou@adacore.com>
964
965 * gcc-interface/decl.c: Include diagnostic-core.h.
966 (gnat_to_gnu_entity) <E_Array_Type>: Sorry if Reverse_Storage_Order
967 is set on the entity.
968 <E_Record_Type>: Likewise.
969 * gcc-interface/Make-lang.in (ada/decl.o): Add $(DIAGNOSTIC_CORE_H).
970
971 2013-01-29 Ben Brosgol <brosgol@adacore.com>
972
973 * gnat_rm.texi: Fixed typos. Minor edits.
974
975 2013-01-29 Bob Duff <duff@adacore.com>
976
977 * a-convec.adb: Minor reformatting.
978
979 2013-01-29 Pascal Obry <obry@adacore.com>
980
981 * tempdir.adb, tempdir.ads (Use_Temp_Dir): Set wether to use the temp
982 directory.
983
984 2013-01-29 Ed Schonberg <schonberg@adacore.com>
985
986 * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Preserve loop
987 identifier only if it comes from source.
988 (Expand_N_Loop_Statement): If the domain of iteration is an
989 enumeration type with a representation clause, remove from
990 visibility the loop identifier before rewriting the loop as a
991 block with a declaration for said identifier.
992 * sem_util.adb (Remove_Homonym): Handle properly the default case.
993
994 2013-01-29 Vincent Celier <celier@adacore.com>
995
996 * prj-proc.adb: Minor comment spelling fix.
997
998 2013-01-29 Pascal Obry <obry@adacore.com>
999
1000 * prj-proc.adb (Process_Expression_Variable_Decl): Prepend
1001 Project_Path to current environment.
1002
1003 2013-01-29 Thomas Quinot <quinot@adacore.com>
1004
1005 * sprint.adb (Sprint_Node_Actual): Output freeze nodes for
1006 itypes even if Dump_Freeze_Null is not set.
1007
1008 2013-01-29 Robert Dewar <dewar@adacore.com>
1009
1010 * sem_util.adb: Minor reformatting.
1011 * s-rident.ads: Minor comment fixes.
1012
1013 2013-01-29 Pascal Obry <obry@adacore.com>
1014
1015 * prj-env.ads, prj-env.adb (Add_Directories): Add parameter to
1016 control if the path is prepended or appended.
1017
1018 2013-01-29 Ed Schonberg <schonberg@adacore.com>
1019
1020 * sem_ch6.adb (Analyze_Expression_Function): An expression
1021 function declaration is not a subprogram declaration, and thus
1022 cannot appear in a protected definition.
1023
1024 2013-01-29 Hristian Kirtchev <kirtchev@adacore.com>
1025
1026 * exp_util.adb (Insert_Actions): When new
1027 actions come from the expression of the expression with actions,
1028 then they must be added to the list of existing actions.
1029
1030 2013-01-29 Eric Botcazou <ebotcazou@adacore.com>
1031
1032 * sem_ch3.adb (Analyze_Subtype_Declaration) <Private_Kind>: For
1033 the subtype of a constrained private type with discriminants
1034 that has got a full view, show that the completion is a clone
1035 of the full view.
1036
1037 2013-01-29 Javier Miranda <miranda@adacore.com>
1038
1039 * errout.ads, errout.adb (Get_Ignore_Errors): New subprogram.
1040 * opt.ads (Warn_On_Overlap): Update documentation.
1041 * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
1042 Check function writable actuals.
1043 * sem_ch3.adb (Build_Derived_Record_Type,
1044 Record_Type_Declaration): Check function writable actuals.
1045 * sem_ch4.adb (Analyze_Range): Check function writable actuals.
1046 * sem_ch5.adb (Analyze_Assignment): Remove code of the initial
1047 implementation of AI05-0144.
1048 * sem_ch6.adb (Analyze_Function_Return,
1049 (Analyze_Procedure_Call.Analyze_Call_And_Resolve): Remove code
1050 of the initial implementation of AI05-0144.
1051 * sem_res.adb (Resolve): Remove code of the initial implementation.
1052 (Resolve_Actuals): Call Check_Function_Writable_Actuals and remove call
1053 of the initial implementation.
1054 (Resolve_Arithmetic_Op, Resolve_Logical_Op,
1055 Resolve_Membership_Op): Check function writable actuals.
1056 * sem_util.ad[sb] (Actuals_In_Call): Removed
1057 (Check_Order_Dependence): Removed (Save_Actual): Removed
1058 (Check_Function_Writable_Actuals): New subprogram.
1059 * usage.adb (Usage): Update documentation.
1060 * warnsw.adb (Set_Warning_Switch): Enable warn_on_overlap when
1061 setting all warnings.
1062
1063 2013-01-29 Robert Dewar <dewar@adacore.com>
1064
1065 * a-calend-vms.adb: Minor comment fix.
1066
1067 2013-01-29 Robert Dewar <dewar@adacore.com>
1068
1069 * mlib-utl.adb, gnatlink.adb: Avoid reference to ASCII.Back_Slash
1070 because of casing issues.
1071 * sem_util.ads: Minor comment fix.
1072 * style.adb (Check_Identifier): Set proper casing for entities
1073 in ASCII.
1074 * styleg.adb: Minor comment improvement.
1075 * stylesw.ads (Style_Check_Standard): Fix bad comments.
1076
1077 2013-01-29 Hristian Kirtchev <kirtchev@adacore.com>
1078
1079 * sem_prag.adb: Add the grammar for pragmas Abstract_State and Global.
1080 (Analyze_Pragma): Push the scope of the related subprogram and install
1081 its formals once before starting the analysis of the [moded] global
1082 list.
1083
1084 2013-01-29 Pascal Obry <obry@adacore.com>
1085
1086 * prj-proc.adb (Process_Expression_Variable_Decl): Always handle
1087 relative paths in Project_Path as relative to the aggregate
1088 project location. Note that this was what was documented.
1089
1090 2013-01-29 Vincent Celier <celier@adacore.com>
1091
1092 * gnatcmd.adb: For "gnat stub -P ...", do not check the naming
1093 scheme for Ada, when Ada is not a language for the project.
1094
1095 2013-01-29 Ed Schonberg <schonberg@adacore.com>
1096
1097 * sem_ch3.adb (Analyze_Subtype_Declaration): Inherit
1098 Is_Generic_Actual_Type flag in a nested instance.
1099 * sem_ch12.adb (Restore_Private_Views): Preserve
1100 Is_Generic_Actual_Type flag if actual is a Generic_Actual_Type
1101 of an enclosing instance.
1102 * sem_util.adb (Corresponding_Generic_Type): Handle generic actual
1103 which is an actual of an enclosing instance.
1104 * sem_type.adb (Real_Actual): If a generic_actual_type is the
1105 formal of an enclosing generic and thus renames the corresponding
1106 actual, use the actual of the enclosing instance to resolve
1107 spurious ambiguities in instantiations when two formals are
1108 instantiated with the same actual.
1109
1110 2013-01-29 Robert Dewar <dewar@adacore.com>
1111
1112 * gnat_rm.texi: Document all Ada 2005 and Ada 2012 pragmas as
1113 being available as implementation-defined pragmas in earlier
1114 versions of Ada.
1115
1116 2013-01-29 Vincent Celier <celier@adacore.com>
1117
1118 * clean.adb (Delete): On VMS, delete all versions of the file.
1119
1120 2013-01-29 Robert Dewar <dewar@adacore.com>
1121
1122 * par-ch6.adb (No_Constraint_Maybe_Expr_Func): New procedure.
1123 * par-util.adb (No_Constraint): Undo special handling, moved
1124 to par-ch6.adb.
1125
1126 2013-01-29 Robert Dewar <dewar@adacore.com>
1127
1128 * aspects.ads: Aspect Warnings is implementation defined Add
1129 some other missing entries to impl-defined list Mark Warnings
1130 as GNAT pragma in main list.
1131 * sem_ch8.adb: Process aspects for all cases of renaming
1132 declarations.
1133
1134 2013-01-29 Robert Dewar <dewar@adacore.com>
1135
1136 * sem_ch6.adb (Analyze_Function_Call): Set In_Assertion flag.
1137 * sem_elab.adb (Check_Internal_Call_Continue): Do not issue
1138 warnings about possible elaboration error if call is within
1139 an assertion.
1140 * sinfo.ads, sinfo.adb (In_Assertion): New flag in N_Function_Call node.
1141
1142 2013-01-29 Robert Dewar <dewar@adacore.com>
1143
1144 * a-calend-vms.adb, g-eacodu-vms.adb, g-trasym-vms-alpha.adb,
1145 * s-auxdec-vms-ia64.adb, s-mastop-vms.adb, s-osprim-vms.adb,
1146 s-tasdeb-vms.adb: Replace pragma Interface by pragma Import.
1147
1148 2013-01-29 Robert Dewar <dewar@adacore.com>
1149
1150 * opt.ads (Ignore_Style_Checks_Pragmas): New flag.
1151 * par-prag.adb (Par, case Style_Checks): Recognize
1152 Ignore_Style_Checks_Pragmas.
1153 * sem_prag.adb (Analyze_Pragma, case Style_Checks): Recognize
1154 Ignore_Style_Checks_Pragmas.
1155 * switch-c.adb: Recognize -gnateY switch.
1156 * usage.adb: Add documentation for "-gnateY".
1157 * vms_data.ads: Add IGNORE_STYLE_CHECKS_PRAGMAS (-gnateY).
1158
1159 2013-01-29 Vincent Celier <celier@adacore.com>
1160
1161 * clean.adb (Clean_Executables): Add Sid component when calling
1162 Queue.Insert.
1163 * make.adb: When inserting in the Queue, add the Source_Id
1164 (Sid) when it is known (Start_Compile_If_Possible): When the
1165 Source_Id is known (Sid), get the path name of the ALI file
1166 (Full_Lib_File) from it, to avoid finding old ALI files in other
1167 object directories.
1168 * makeutl.ads (Source_Info): New Source_Id component Sid in
1169 Format_Gnatmake variant.
1170
1171 2013-01-29 Robert Dewar <dewar@adacore.com>
1172
1173 * gnat_ugn.texi: Document -gnateY.
1174
1175 2013-01-29 Doug Rupp <rupp@adacore.com>
1176
1177 * s-osinte-vms.ads, s-taprop-vms.adb, system-vms_64.ads,
1178 system-vms-ia64.ads: Replace pragma Interface by pragma Import.
1179
1180 2013-01-29 Robert Dewar <dewar@adacore.com>
1181
1182 * atree.ads, atree.adb (Node30): New function.
1183 (Set_Node30): New procedure.
1184 (Num_Extension_Nodes): Change to 5 (activate new fields/flags).
1185 * atree.h: Add macros for Field30 and Node30.
1186 * einfo.ads, einfo.adb: Move some fields to avoid duplexing.
1187 * treepr.adb (Print_Entity_Information): Print fields 30-35.
1188
1189 2013-01-29 Robert Dewar <dewar@adacore.com>
1190
1191 * sem_prag.adb (Analyze_Pragma, case Interface): Consider to
1192 be a violation of No_Obsolescent_Features even in Ada 95. Also
1193 generates a warning in -gnatwj mode.
1194 (Analyze_Pragma, case Interface_Name): Generates a warning in -gnatwj
1195 mode.
1196 * gnat_ugn.texi: Additional documentation on -gnatwj and pragma
1197 Interface[_Name].
1198
1199 2013-01-29 Vincent Celier <celier@adacore.com>
1200
1201 * snames.ads-tmpl: Add new standard name Trailing_Switches.
1202
1203 2013-01-29 Ed Schonberg <schonberg@adacore.com>
1204
1205 * sem_disp.adb (Check_Controlling_Type): If a designated type T
1206 of an anonymous access type is a limited view of a tagged type,
1207 it can be a controlling type only if the subprogram is in the
1208 same scope as T.
1209
1210 2013-01-29 Vincent Celier <celier@adacore.com>
1211
1212 * gnatcmd.adb: Use the project where the config pragmas file is
1213 declared to get its path.
1214
1215 2013-01-29 Vincent Celier <celier@adacore.com>
1216
1217 * prj-attr.adb: New attribute Linker'Trailing_Switches.
1218
1219 2013-01-22 Eric Botcazou <ebotcazou@adacore.com>
1220
1221 * gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do
1222 not translate the Etype of the node before translating the Actions.
1223
1224 2013-01-22 Eric Botcazou <ebotcazou@adacore.com>
1225
1226 * gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size
1227 instead of optimize and adjust warning message.
1228 (Compilation_Unit_to_gnu): Process pragmas preceding the unit.
1229
1230 2013-01-22 Tristan Gingold <gingold@adacore.com>
1231
1232 * gcc-interface/gigi.h (ADT_unhandled_except_decl,
1233 ADT_unhandled_others_decl): New.
1234 (unhandled_others_decl, unhandled_except_decl): Define.
1235 * gcc-interface/trans.c: Include common/common-target.h.
1236 (gigi): Initialize them.
1237 (Subprogram_Body_to_gnu): On SEH targets, wrap the body of the main
1238 function in a try/catch clause.
1239
1240 2013-01-11 Eric Botcazou <ebotcazou@adacore.com>
1241
1242 * gcc-interface/Make-lang.in (COMMON_ADAFLAGS): Remove -gnata.
1243 (CHECKING_ADAFLAGS): New.
1244 (ALL_ADAFLAGS): Include CHECKING_ADAFLAGS.
1245
1246 2013-01-10 Eric Botcazou <ebotcazou@adacore.com>
1247
1248 * gcc-interface/config-lang.in (boot_language_boot_flags): Delete.
1249 * gcc-interface/Make-lang.in (BOOT_ADAFLAGS): Likewise.
1250
1251 2013-01-07 Eric Botcazou <ebotcazou@adacore.com>
1252
1253 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
1254 comment about type extension with discriminants.
1255 <E_Record_Subtype>: Remove useless test and reorder conditions.
1256 (elaborate_entity) <E_Record_Subtype>: Likewise.
1257
1258 2013-01-07 Richard Biener <rguenther@suse.de>
1259
1260 PR ada/864
1261 * gcc-interface/Make-lang.in (ada.install-common): Always apply
1262 program_transform_name.
1263
1264 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
1265
1266 * gnatvsn.ads (Current_Year): Bump to 2013.
1267
1268 2013-01-06 Olivier Hainque <hainque@adacore.com>
1269
1270 * gcc-interface/decl.c (gnat_to_gnu_field): Emit a specialized
1271 diagnostic for component size mismatch wrt volatile requirements.
1272 Add a gcc_unreachable() at the end of the checks for size. Split
1273 the check on volatile for positions into one check on atomic and
1274 a subsequent one on volatile.
1275
1276 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
1277
1278 * gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete.
1279
1280 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
1281
1282 * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
1283 pack the field of the record type made for a misaligned type.
1284
1285 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
1286
1287 * gcc-interface/decl.c (annotate_value) <COMPONENT_REF>: Be prepared
1288 for discriminants inherited from parent record types.
1289
1290 2013-01-04 Robert Dewar <dewar@adacore.com>
1291
1292 * warnsw.adb: Minor fixes to -gnatw.d handling.
1293
1294 2013-01-04 Robert Dewar <dewar@adacore.com>
1295
1296 * einfo.adb, atree.adb: Enlarge entities to make 63 more flags, 6 more
1297 fields.
1298
1299 2013-01-04 Joel Brobecker <brobecker@adacore.com>
1300
1301 * gnat_ugn.texi: Fix typo.
1302
1303 2013-01-04 Robert Dewar <dewar@adacore.com>
1304
1305 * gnat_rm.texi: Document alignment choice for subtypes.
1306
1307 2013-01-04 Robert Dewar <dewar@adacore.com>
1308
1309 * validsw.ads: Minor fix to comment.
1310
1311 2013-01-04 Doug Rupp <rupp@adacore.com>
1312
1313 * Makefile.rtl (GNATRTL_NONTASKING_OBJS,
1314 GNATRTL_ALTIVEC_OBJS): Factor g-al* objects.
1315 * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Add g-al* sources.
1316 (GNATRTL_ALTIVEC_OBJS): Override to null for VMS.
1317 Rename leon vxworks toolchain as leon-wrs-vxworks.
1318 * gcc-interface/Make-lang.in: Update dependencies
1319
1320 2013-01-04 Pascal Obry <obry@adacore.com>
1321
1322 * prj.ads (For_Each_Source): Add Locally_Removed parameter.
1323 (Source_Iterator): Add Locally_Removed field.
1324 * prj.adb (For_Each_Source): Ignore Locally_Removed files if needed.
1325 (Next): Likewise.
1326
1327 2013-01-04 Robert Dewar <dewar@adacore.com>
1328
1329 * exp_attr.adb: Minor reformatting.
1330
1331 2013-01-04 Robert Dewar <dewar@adacore.com>
1332
1333 * checks.adb (Insert_Valid_Check): Fix handling of renamed
1334 packed array element.
1335 * exp_ch4.adb (Expand_Concatenate): Fix some missing parent
1336 fields in generated code.
1337 * exp_util.adb (Side_Effect_Free): Improve detection of cases
1338 needing renaming.
1339
1340 2013-01-04 Robert Dewar <dewar@adacore.com>
1341
1342 * sinfo.ads: Clean up order of N_xxx subtypes
1343
1344 2013-01-04 Vincent Celier <celier@adacore.com>
1345
1346 * prj-conf.adb (Check_Target): Allow --autoconf= with no target.
1347
1348 2013-01-04 Robert Dewar <dewar@adacore.com>
1349
1350 * types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting.
1351
1352 2013-01-04 Robert Dewar <dewar@adacore.com>
1353
1354 * par-ch6.adb (P_Subprogram): Better handling of missing IS
1355 after expression function.
1356 * par-util.adb (No_Constraint): Improve handling to avoid bad warnings.
1357
1358 2013-01-04 Robert Dewar <dewar@adacore.com>
1359
1360 * exp_util.ads, exp_util.adb (Insert_Actions): In expression with
1361 actions case, new actions are appended to the sequence rather than
1362 prepended.
1363
1364 2013-01-04 Robert Dewar <dewar@adacore.com>
1365
1366 * gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode).
1367 * usage.adb: Add lines for -gnatw.d/w.D switches.
1368 * warnsw.adb: Minor fixes (some missing cases of setting
1369 Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode.
1370
1371 2013-01-04 Robert Dewar <dewar@adacore.com>
1372
1373 * exp_util.adb (Remove_Side_Effects): Make sure scope suppress
1374 is restored on exit.
1375
1376 2013-01-04 Robert Dewar <dewar@adacore.com>
1377
1378 * usage.adb: Document -gnateF (check overflow for predefined Float).
1379
1380 2013-01-04 Robert Dewar <dewar@adacore.com>
1381
1382 * sem_res.adb (Resolve_Type_Conversion): Remove incorrect
1383 prevention of call to Apply_Type_Conversion_Checks, which resulted
1384 in missing check flags in formal mode.
1385
1386 2013-01-04 Vincent Celier <celier@adacore.com>
1387
1388 * makeutl.ads (Db_Switch_Args): New table used by gprbuild.
1389 * prj-conf.adb (Check_Builder_Switches): Check for switches
1390 --config= (Get_Db_Switches): New procedure to get the --db
1391 switches so that they are used when invoking gprconfig in
1392 auto-configuration.
1393 (Do_Autoconf): When invoking gprconfig, use the --db switches, if any.
1394
1395 2013-01-04 Pascal Obry <obry@adacore.com>
1396
1397 * prj-nmsc.adb: Minor reformatting.
1398
1399 2013-01-04 Vincent Celier <celier@adacore.com>
1400
1401 * makeutl.ads (Root_Environment): New variable, moved rom
1402 gprbuild (Load_Standard_Base): New Boolean variable, moved
1403 from gprbuild.
1404 * prj-conf.adb (Check_Builder_Switches): New procedure to check
1405 for switch --RTS in package Builder. If a runtime specified
1406 by --RTS is a relative path name, but not a base name, then
1407 find the path on the Project Search Path.
1408 (Do_Autoconf): Call Check_Builder_Switches.
1409 (Locate_Runtime): New procedure, moved from gprbuild, to get the
1410 absolute paths of runtimes when they are not specified as a base name.
1411 * prj-conf.ads (Locate_Runtime): New procedure, moved from gprbuild.
1412
1413 2013-01-04 Ed Schonberg <schonberg@adacore.com>
1414
1415 * sem_ch3.adb (Build_Private_Derived_Type): Set
1416 Has_Private_Ancestor on type derived from an untagged private
1417 type whose full view has discriminants
1418 * sem_aggr.adb (Resolve_Record_Aggregate): Reject non-extension
1419 aggregate for untagged record type with private ancestor.
1420
1421 2013-01-04 Thomas Quinot <quinot@adacore.com>
1422
1423 * sem_elab.adb, sem_ch3.adb: Minor reformatting.
1424
1425 2013-01-04 Robert Dewar <dewar@adacore.com>
1426
1427 * table.adb: Minor reformatting.
1428
1429 2013-01-04 Ed Schonberg <schonberg@adacore.com>
1430
1431 * sem_ch10.adb (Check_Redundant_Withs): A with_clause that does
1432 not come from source does not generate a warning for redundant
1433 with_clauses.
1434
1435 2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
1436
1437 * aspects.adb, aspects.ads: Add Aspect_Global to all relevant tables.
1438 * par-prag.adb: Add pragma Global to the list of pragmas that
1439 do not need special processing by the parser.
1440 * sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect
1441 Global into a pragma without any form of legality checks. The
1442 work is done by Analyze_Pragma. The aspect and pragma are both
1443 marked as needing delayed processing. Insert the corresponding
1444 pragma of aspect Abstract_State in the visible declarations of the
1445 related package.
1446 (Check_Aspect_At_Freeze_Point): Aspect Global
1447 does not need processing even though it is marked as delayed.
1448 Alphabetize the list on aspect names.
1449 * sem_prag.adb: Add a value for pragma Global in table Sig_Flags.
1450 (Analyze_Pragma): Add ??? comment about the grammar of pragma
1451 Abstract_State. Move the error location from the pragma to the
1452 state to improve the quality of error placement. Add legality
1453 checks for pragma Global.
1454 * snames.ads-tmpl Add the following specially recognized names
1455
1456 2013-01-04 Eric Botcazou <ebotcazou@adacore.com>
1457
1458 * sem_ch3.adb: Fix minor typo.
1459
1460 2013-01-04 Ed Schonberg <schonberg@adacore.com>
1461
1462 * par-ch13.adb (Aspect_Specifications_Present): In Strict mode,
1463 accept an aspect name followed by a comma, indicating a defaulted
1464 boolean aspect.
1465
1466 2013-01-04 Joel Brobecker <brobecker@adacore.com brobecker>
1467
1468 * gnat_ugn.texi: Document procedure to codesign GDB on Darwin.
1469 Update doc on gnattest --separates switch.
1470
1471 2013-01-04 Thomas Quinot <quinot@adacore.com>
1472
1473 * s-chepoo.ads: Minor reformatting.
1474
1475 2013-01-04 Arnaud Charlet <charlet@adacore.com>
1476
1477 * usage.adb: Remove mention of -gnatN in usage.
1478
1479 2013-01-04 Robert Dewar <dewar@adacore.com>
1480
1481 * exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb,
1482 freeze.adb, sem_ch4.adb, sem_warn.adb, opt.ads, exp_aggr.adb,
1483 prj-conf.adb, sem_ch13.adb: Minor reformatting.
1484
1485 2013-01-04 Thomas Quinot <quinot@adacore.com>
1486
1487 * sinfo.ads: Minor documentation update.
1488
1489 2013-01-04 Thomas Quinot <quinot@adacore.com>
1490
1491 * sem_ch3.adb, einfo.adb (Analyze_Object_Declaration): Do not set Ekind
1492 before resolving initialization expression.
1493
1494 2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
1495
1496 * checks.adb (Generate_Index_Checks): Delay the generation of
1497 the check for an indexed component where the prefix mentions
1498 Loop_Entry until the attribute has been properly expanded.
1499 * exp_ch5.adb (Expand_Loop_Entry_Attributes): Perform minor
1500 decoration of the constant that captures the value of Loop_Entry's
1501 prefix at the entry point into a loop. Generate index checks
1502 for an attribute reference that has been transformed into an
1503 indexed component.
1504
1505 2013-01-04 Thomas Quinot <quinot@adacore.com>
1506
1507 * exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, exp_aggr.adb,
1508 sem_ch13.adb (Exp_Aggr.Collect_Initialization_Statements): Nothing to
1509 do if Obj is already frozen.
1510 (Exp_Util.Find_Init_Call): Rename to...
1511 (Exp_Util.Remove_Init_Call): New subprogram, renamed from
1512 Find_Init_Call. Remove the initialization call from the enclosing
1513 list if found, and if it is from an Initialization_Statements
1514 attribute, reset it.
1515 (Exp_Util.Append_Freeze_Action): Minor code reorganization.
1516 (Exp_Util.Append_Freeze_Actions): Ensure a freeze node has been
1517 allocated (as is already done in Append_Freeze_Action).
1518 (Freeze.Freeze_Entity): For an object with captured
1519 Initialization_Statements and non-delayed freezeing, unwrap the
1520 initialization statements and insert and them directly in the
1521 enclosing list.
1522 (Sem_Ch13.Check_Address_Clause): For an object
1523 with Initialization_Statements and an address clause, unwrap the
1524 initialization statements when moving them to the freeze actions.
1525
1526 2013-01-03 Pascal Obry <obry@adacore.com>
1527
1528 * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package remote and
1529 corresponding attibutes.
1530
1531 2013-01-03 Thomas Quinot <quinot@adacore.com>
1532
1533 * exp_aggr.adb: Minor comment improvement.
1534
1535 2013-01-03 Hristian Kirtchev <kirtchev@adacore.com>
1536
1537 * aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the
1538 relevant tables.
1539 * einfo.ads, einfo.adb: Add Integrity_Level and Refined_State to
1540 the description of fields (Abstract_States): New routine.
1541 (Integrity_Level): New routine.
1542 (Has_Property): New routine.
1543 (Is_Input_State): New routine.
1544 (Is_Null_State): New routine.
1545 (Is_Output_State): New routine.
1546 (Is_Volatile_State): New routine.
1547 (Refined_State): New routine.
1548 (Set_Abstract_States): New routine.
1549 (Set_Integrity_Level): New routine.
1550 (Set_Refined_State): New routine.
1551 (Write_Field8_Name): Add proper output for E_Abstract_State.
1552 (Write_Field9_Name): Add proper output for E_Abstract_State.
1553 (Write_Field25_Name): Add proper output for E_Package.
1554 * lib-xref.ads: Add new letter for an abstract state.
1555 * par-prag.adb: Add pragma Abstract_State to the list of pragma
1556 that do not need special processing by the parser.
1557 * sem_ch13.adb (Analyze_Aspect_Specifications): Convert
1558 aspect Abstract_State into a pragma without any form
1559 of legality checks. The work is done by Analyze_Pragma.
1560 (Check_Aspect_At_Freeze_Point): Aspect Abstract_State does not
1561 require delayed analysis.
1562 * sem_prag.adb: Add a value for pragma Abstract_State in table
1563 Sig_Flags.
1564 (Analyze_Pragma): Add legality checks for pragma
1565 Abstract_State. Analysis of individual states introduces a state
1566 abstraction entity into the visibility chain.
1567 * snames.ads-tmpl: Add new names for abstract state and
1568 integrity. Add new pragma id for abstract state.
1569
1570 2013-01-03 Bob Duff <duff@adacore.com>
1571
1572 * table.adb (Reallocate): Calculate new Length in
1573 Long_Integer to avoid overflow.
1574
1575 2013-01-03 Thomas Quinot <quinot@adacore.com>
1576
1577 * sem_ch3.adb, sinfo.ads, freeze.adb, sem_ch4.adb, exp_aggr.adb
1578 (Sem_Ch3.Analyze_Object_Declaration): Set Ekind early so that
1579 it is set properly when expanding the initialization expression.
1580 (Freeze.Check_Address_Clause): Transfer initialization expression
1581 to an assignment in the freeze actions, so that the object is
1582 initialized only after being elaborated by GIGI.
1583 (Sinfo (comments), Sem_Ch4.Analyze_Expression_With_Actions): Allow
1584 a Null_Statement as the expression in an Expression_With_Actions.
1585 (Exp_Aggr.Collect_Initialization_Statements): New subprogram
1586 shared by expansion of record and array aggregates, used to
1587 capture statements for an aggregate used to initalize an object
1588 into an Expression_With_Actions (which acts as a container for
1589 a list of actions).
1590 (Exp_Aggr.Convert_Aggr_In_Obj_Decl): Use the above to
1591 capture initialization statements, instead of the previously
1592 existing loop which left freeze nodes out of the capturing
1593 construct (causing out of order elaboration crashes in GIGI).
1594 (Exp_Aggr.Expand_Array_Aggregate): Use the above to capture
1595 initialization statements (this was previously not done for
1596 arrays). Also do not unconditionally prevent in place expansion
1597 for an object with address clause.
1598
1599 2013-01-03 Thomas Quinot <quinot@adacore.com>
1600
1601 * gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Check that
1602 a record extension has the same scalar storage order as the parent type.
1603
1604 2013-01-03 Thomas Quinot <quinot@adacore.com>
1605
1606 * exp_ch4.adb: Add comment.
1607
1608 2013-01-03 Vincent Celier <celier@adacore.com>
1609
1610 * prj.adb: Minor spelling error correction in comment.
1611
1612 2013-01-03 Vincent Celier <celier@adacore.com>
1613
1614 * gnatcmd.adb (GNATCmd): If a single main has been specified
1615 as an absolute path, use its simple file name to find specific
1616 switches, instead of the absolute path.
1617
1618 2013-01-03 Javier Miranda <miranda@adacore.com>
1619
1620 * sem_warn.adb (Warn_On_Overlapping_Actuals): For overlapping
1621 parameters that are record types or array types generate warnings
1622 only compiling under -gnatw.i
1623 * opt.ads (Extensions_Allowed): Restore previous documentation.
1624
1625 2013-01-03 Vincent Celier <celier@adacore.com>
1626
1627 * prj-conf.adb (Do_Autoconf): If Target is specified in the
1628 main project, but not on the command line, use the Target in
1629 the project to invoke gprconfig in auto-configuration.
1630 * makeutl.ads (Default_Config_Name): New constant String.
1631
1632 2013-01-03 Arnaud Charlet <charlet@adacore.com>
1633
1634 * usage.adb: Minor: fix typo in usage.
1635
1636 2013-01-03 Thomas Quinot <quinot@adacore.com>
1637
1638 * sem_ch13.adb (Analyze_Record_Representation_Clause): Reject
1639 an illegal component clause for an inherited component in a
1640 record extension.
1641
1642 2013-01-03 Emmanuel Briot <briot@adacore.com>
1643
1644 * xref_lib.adb (Parse_Identifier_Info): Fix handling of arrays, which
1645 have information in the ALI file for both the index and the component
1646 types.
1647
1648 2013-01-03 Emmanuel Briot <briot@adacore.com>
1649
1650 * projects.texi: Fix error in documenting the project path
1651 computed for an aggregate project.
1652
1653 2013-01-03 Javier Miranda <miranda@adacore.com>
1654
1655 * sem_warn.adb (Warn_On_Overlapping_Actuals): Adding documentation
1656 plus restricting the functionality of this routine to cover the
1657 cases described in the Ada 2012 reference manual. The previous
1658 extended support is now available under -gnatX.
1659 * s-tassta.adb (Finalize_Global_Tasks): Addition of a dummy
1660 variable to call Timed_Sleep. Required to avoid warning on
1661 overlapping out-mode actuals.
1662 * opt.ads (Extensions_Allowed): Update documentation.
1663
1664 2013-01-03 Tristan Gingold <gingold@adacore.com>
1665
1666 * s-arit64.ads: Use Multiply_With_Ovflo_Check as __gnat_mulv64.
1667 * arit64.c: Removed
1668 * gcc-interface/Makefile.in: Remove reference to arit64.c.
1669
1670 2013-01-03 Thomas Quinot <quinot@adacore.com>
1671
1672 * checks.adb, checks.ads (Apply_Address_Clause_Check): The check must
1673 be generated at the start of the freeze actions for the entity, not
1674 before (or after) the freeze node.
1675
1676 2013-01-03 Thomas Quinot <quinot@adacore.com>
1677
1678 * exp_aggr.adb (Exp_Aggr.Convert_Aggregate_In_Obj_Decl):
1679 Reorganize code to capture initialization statements in a block,
1680 so that freeze nodes are excluded from the captured block.
1681
1682 2013-01-03 Thomas Quinot <quinot@adacore.com>
1683
1684 * exp_ch11.adb: Minor reformatting.
1685
1686 2013-01-03 Thomas Quinot <quinot@adacore.com>
1687
1688 * exp_util.adb, einfo.adb, einfo.ads, freeze.adb, exp_aggr.adb,
1689 sem_ch13.adb (Einfo.Initialization_Statements,
1690 Einfo.Set_Initialization_Statements): New entity attribute
1691 for objects.
1692 (Exp_Util.Find_Init_Call): Handle case of an object initialized
1693 by an aggregate converted to a block of assignment statements.
1694 (Freeze.Check_Address_Clause): Do not clear Has_Delayed_Freeze
1695 even for objects that require a constant address, because the
1696 address expression might involve entities that have yet to be
1697 elaborated at the point of the object declaration.
1698 (Exp_Aggr.Convert_Aggregate_In_Obj_Decl): For a type that does
1699 not require a transient scope, capture the assignment statements
1700 in a block so that they can be moved down after elaboration of
1701 an address clause if needed.
1702 (Sem_Ch13.Check_Constant_Address_Clause.Check_Expr_Constants,
1703 case N_Unchecked_Conversion): Do not replace operand subtype with
1704 its base type as this violates a GIGI invariant if the operand
1705 is an identifier (in which case the etype of the identifier
1706 is expected to be equal to that of the denoted entity).
1707
1708 2013-01-03 Javier Miranda <miranda@adacore.com>
1709
1710 * sem_util.ads, sem_util.adb (Denotes_Same_Object): Extend the
1711 functionality of this routine to cover cases described in the Ada 2012
1712 reference manual.
1713
1714 2013-01-03 Ed Schonberg <schonberg@adacore.com>
1715
1716 * sem_elab.adb (Set_Elaboration_Constraint): Handle properly
1717 a 'Access attribute reference when the subprogram is called
1718 Initialize.
1719
1720 2013-01-03 Arnaud Charlet <charlet@adacore.com>
1721
1722 * s-tpobop.adb (PO_Do_Or_Queue): Refine assertion, since a
1723 select statement may be called from a controlled (e.g. Initialize)
1724 operation and have abort always deferred.
1725
1726 2013-01-03 Robert Dewar <dewar@adacore.com>
1727
1728 * sem_ch8.adb, einfo.ads, einfo.adb: Minor code reorganization.
1729
1730 2013-01-03 Javier Miranda <miranda@adacore.com>
1731
1732 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Exclude
1733 internal entities associated with interfaces and add minimum
1734 decoration to the defining entity of the generated wrapper to
1735 allow overriding interface primitives.
1736 * sem_disp.ads (Override_Dispatching_Operation): Addition of a
1737 new formal (Is_Wrapper).
1738 * sem_disp.adb (Override_Dispatching_Operation): When overriding
1739 interface primitives the new formal helps identifying that the
1740 new operation is not fully decorated.
1741
1742 2013-01-03 Thomas Quinot <quinot@adacore.com>
1743
1744 * sem_ch7.adb, sem_ch10.adb, einfo.adb, einfo.ads, sem_ch12.adb,
1745 rtsfind.adb, sem_elab.adb, sem_ch4.adb, sem_ch8.adb
1746 (Einfo.Is_Visible_Child_Unit, Einfo.Set_Is_Visible_Child_Unit):
1747 Rename to Is_Visible_Lib_Unit, Set_Is_Visible_Lib_Unit, and
1748 update spec accordingly (now also applies to root library units).
1749 (Sem_Ch10.Analyze_Subunit.Analyze_Subunit_Context): Toggle above flag
1750 on root library units, not only child units.
1751 (Sem_Ch10.Install[_Limited]_Withed_Unit): Same.
1752 (Sem_Ch10.Remove_Unit_From_Visibility): Reset Is_Visible_Lib_Unit
1753 even for root library units.
1754 (Sem_Ch8.Find_Expanded_Name): A selected component form whose prefix is
1755 Standard is an expanded name for a root library unit.
1756
1757 2013-01-03 Thomas Quinot <quinot@adacore.com>
1758
1759 * exp_ch3.adb: Minor reformatting.
1760
1761 2013-01-03 Olivier Hainque <hainque@adacore.com>
1762
1763 * tracebak.c: Reinstate changes to support ppc-lynx178.
1764
1765 2013-01-03 Ed Schonberg <schonberg@adacore.com>
1766
1767 * atree.ads: Minor reformatting and documentation enhancement.
1768
1769 2013-01-03 Ed Schonberg <schonberg@adacore.com>
1770
1771 * exp_ch3.adb (Expand_N_Object_Declaration): If the object has
1772 a class-wide type and a renaming declaration is created for it,
1773 preserve entity chain, which already contains generated internal
1774 types. This ensures that freezing actions are properly generated
1775 for all objects declared subsequently in the same scope, and
1776 that debugging information is generated for them.
1777 * sem_util.adb, sem_util.ads (we): New debugging routine, to
1778 display entity chain of a given scope.
1779
1780 2013-01-03 Robert Dewar <dewar@adacore.com>
1781
1782 * exp_intr.adb: Minor reformatting.
1783
1784 2013-01-03 Robert Dewar <dewar@adacore.com>
1785
1786 * einfo.adb: Minor reformatting.
1787
1788 2013-01-03 Pascal Obry <obry@adacore.com>
1789
1790 * adaint.c, adaint.h (__gnat_get_module_name): Removed.
1791 (__gnat_is_module_name_supported): Removed.
1792 * s-win32.ads: Add some needed definitions.
1793 * g-trasym.ads: Update comments.
1794
1795 2013-01-03 Robert Dewar <dewar@adacore.com>
1796
1797 * layout.adb (Set_Composite_Alignment): Fix problems of
1798 interactions with Optimize_Alignment set to Space.
1799
1800 2013-01-03 Thomas Quinot <quinot@adacore.com>
1801
1802 * exp_disp.adb: Minor reformatting.
1803
1804 2013-01-02 Richard Biener <rguenther@suse.de>
1805
1806 PR bootstrap/55784
1807 * gcc-interface/Makefile.in: Add $(GMPINC) to includes.
1808
1809 2013-01-02 Thomas Quinot <quinot@adacore.com>
1810
1811 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove
1812 side effects from Tag_Arg early, doing it too late may cause a
1813 crash due to inconsistent Parent link.
1814 * sem_ch8.adb, einfo.ads: Minor reformatting.
1815
1816 2013-01-02 Robert Dewar <dewar@adacore.com>
1817
1818 * einfo.ads, einfo.adb (Has_Independent_Components): New flag.
1819 * freeze.adb (Size_Known): We do not know the size of a packed
1820 record if it has atomic components, by reference type components,
1821 or independent components.
1822 * sem_prag.adb (Analyze_Pragma, case Independent_Components): Set new
1823 flag Has_Independent_Components.
1824
1825 2013-01-02 Yannick Moy <moy@adacore.com>
1826
1827 * opt.ads (Warn_On_Suspicious_Contract): Set to True by default.
1828 * usage.adb (Usage): Update usage message.
1829
1830 2013-01-02 Pascal Obry <obry@adacore.com>
1831
1832 * adaint.c (__gnat_is_module_name_supported): New constant.
1833
1834 2013-01-02 Ed Schonberg <schonberg@adacore.com>
1835
1836 * sem_attr.adb (Check_Array_Type): Reject an attribute reference on an
1837 array whose component type does not have a completion.
1838
1839 2013-01-02 Geert Bosch <bosch@adacore.com>
1840
1841 * a-nllcef.ads, a-nlcefu.ads, a-nscefu.ads: Make Pure.
1842
1843 2013-01-02 Robert Dewar <dewar@adacore.com>
1844
1845 * par_sco.adb: Minor reformatting.
1846
1847 2013-01-02 Javier Miranda <miranda@adacore.com>
1848
1849 * sem_aggr.adb (Resolve_Array_Aggregate): Remove dead code.
1850
1851 2013-01-02 Olivier Hainque <hainque@adacore.com>
1852
1853 * a-exctra.ads (Get_PC): New function.
1854
1855 2013-01-02 Thomas Quinot <quinot@adacore.com>
1856
1857 * sem_ch8.adb: Minor reformatting.
1858
1859 2013-01-02 Thomas Quinot <quinot@adacore.com>
1860
1861 * sem_ch7.adb: Minor reformatting.
1862
1863 2013-01-02 Thomas Quinot <quinot@adacore.com>
1864
1865 * freeze.adb (Check_Component_Storage_Order): Do not crash on
1866 _Tag component.
1867
1868 2013-01-02 Robert Dewar <dewar@adacore.com>
1869
1870 * gnat1drv.adb, targparm.adb, targparm.ads: Minor name change: add
1871 On_Target to Atomic_Sync_Default.
1872
1873 2013-01-02 Robert Dewar <dewar@adacore.com>
1874
1875 * sem_warn.adb (Warn_On_Known_Condition): Suppress warning for
1876 comparison of attribute result with constant
1877 * a-ststio.adb, s-direio.adb, s-rannum.adb: Remove unnecessary pragma
1878 Warnings (Off, "..");
1879
1880 2013-01-02 Yannick Moy <moy@adacore.com>
1881
1882 * sem_prag.ads: Minor correction of comment.
1883
1884 2013-01-02 Thomas Quinot <quinot@adacore.com>
1885
1886 * par_sco.adb (Traverse_Package_Declaration): The first
1887 declaration in a nested package is dominated by the preceding
1888 declaration in the enclosing scope.
1889
1890 2013-01-02 Pascal Obry <obry@adacore.com>
1891
1892 * adaint.c, adaint.h (__gnat_get_module_name): Return the actual
1893 module containing a given address.
1894
1895 2013-01-02 Thomas Quinot <quinot@adacore.com>
1896
1897 * sem_ch3.adb: Minor reformatting.
1898
1899 2013-01-02 Pascal Obry <obry@adacore.com>
1900
1901 * cstreams.c (__gnat_ftell64): New routine. Use _ftelli64 on
1902 Win64 and default to ftell on other platforms.
1903 (__gnat_fsek64): Likewise.
1904 * i-cstrea.ads: Add fssek64 and ftell64 specs.
1905 * s-crtl.ads: Likewise.
1906 * a-ststio.adb, s-direio.adb (Size): Use 64 bits version when required.
1907 (Set_Position): Likewise.
1908
1909 2013-01-02 Thomas Quinot <quinot@adacore.com>
1910
1911 * par_sco.adb: Generate X SCOs for default expressions in
1912 subprogram body stubs. Do not generate any SCO for package,
1913 task, or protected body stubs.
1914
1915 2013-01-02 Ed Schonberg <schonberg@adacore.com>
1916
1917 * sem_ch3.adb: Further improvement to ASIS mode for anonymous
1918 access to protected subprograms.
1919
1920 2013-01-02 Robert Dewar <dewar@adacore.com>
1921
1922 * par_sco.adb, vms_data.ads: Minor reformatting.
1923
1924 2013-01-02 Thomas Quinot <quinot@adacore.com>
1925
1926 * par_sco.adb (Traverse_Declarations_Or_Statement): Function
1927 form, returning value of Current_Dominant upon exit, for chaining
1928 purposes.
1929 (Traverse_Declarations_Or_Statement.Traverse_One, case
1930 N_Block_Statement): First statement is dominated by last declaration.
1931 (Traverse_Subprogram_Or_Task_Body): Ditto.
1932 (Traverse_Package_Declaration): First private
1933 declaration is dominated by last visible declaration.
1934 (Traverse_Sync_Definition): Ditto.
1935
1936 2013-01-02 Thomas Quinot <quinot@adacore.com>
1937
1938 * gnat_rm.texi: Restrict the requirement for Scalar_Storage_Order
1939 matching Bit_Order to record types only, since array types do not
1940 have a Bit_Order.
1941
1942 2013-01-02 Vincent Celier <celier@adacore.com>
1943
1944 * gnat_ugn.texi: Remove documentation of -gnateO, which is an
1945 internal switch.
1946 * usage.adb: Indicate that -gnateO is an internal switch.
1947
1948 2013-01-02 Thomas Quinot <quinot@adacore.com>
1949
1950 * par_sco.adb: Add SCO generation for task types and single
1951 task declarations.
1952 * get_scos.adb: When adding an instance table entry for a
1953 non-nested instantiation, make sure the Enclosing_Instance is
1954 correctly set to 0.
1955
1956 2013-01-02 Hristian Kirtchev <kirtchev@adacore.com>
1957
1958 * sem_attr.adb (Analyze_Attribute): Skip the special _Parent
1959 scope generated for subprogram inlining purposes while trying
1960 to locate the enclosing function.
1961 * sem_prag.adb (Analyze_Pragma): Preanalyze the boolean
1962 expression of pragma Postcondition when the pragma comes from
1963 source and appears inside a subprogram body.
1964
1965 2013-01-02 Thomas Quinot <quinot@adacore.com>
1966
1967 * switch-c.adb, fe.h, back_end.adb: Enable generation of instantiation
1968 information in debug info unconditionally when using -fdump-scos,
1969 instead of relying on a separate command line switch -fdebug-instances.
1970 * gcc-interface/Make-lang.in: Update dependencies.
1971
1972 2013-01-02 Ed Schonberg <schonberg@adacore.com>
1973
1974 * sem_ch12.adb: Additional refinement of predicate.
1975
1976 2013-01-02 Vincent Celier <celier@adacore.com>
1977
1978 * vms_data.ads: Remove incorrect spaces at end of descriptions
1979 of qualifiers for single switch.
1980
1981 2013-01-02 Ben Brosgol <brosgol@adacore.com>
1982
1983 * gnat_rm.texi: Minor edits / wordsmithing in section on pragma
1984 Check_Float_Overflow.
1985
1986 2013-01-02 Thomas Quinot <quinot@adacore.com>
1987
1988 * sprint.adb (Sprint_Node_Actual): Do not add extra parens for
1989 a conditional expression (CASE or IF expression) that already
1990 has parens. Also omit ELSE keyword for an IF expression without
1991 an ELSE part.
1992
1993 2013-01-02 Thomas Quinot <quinot@adacore.com>
1994
1995 * gnat1drv.adb (Adjust_Global_Switches): Adjust back-end
1996 flag_debug_instances here, after front-end switches have been
1997 processed.
1998
1999 2013-01-02 Vincent Celier <celier@adacore.com>
2000
2001 * usage.adb: Minor reformatting.
2002
2003 2013-01-02 Arnaud Charlet <charlet@adacore.com>
2004
2005 * opt.ads: Fix typo.
2006
2007 2013-01-02 Thomas Quinot <quinot@adacore.com>
2008
2009 * par_sco.adb: Generate P decision SCOs for SPARK pragmas
2010 Assume and Loop_Invariant.
2011
2012 2013-01-02 Robert Dewar <dewar@adacore.com>
2013
2014 * vms_data.ads: Add entry for Float_Check_Valid (-gnateF).
2015 * ug_words: Add entry for Float_Check_Overflow.
2016 * usage.adb: Minor reformatting.
2017 * gnat_ugn.texi: Add documentation for -gnateF (Check_Float_Overflow).
2018
2019 2013-01-02 Vincent Celier <celier@adacore.com>
2020
2021 * gnat_ugn.texi: Add documentation for switches -gnateA, -gnated,
2022 -gnateO=, -gnatet and -gnateV.
2023 * ug_words: Add qualifiers equivalent to -gnateA, -gnated,
2024 -gnatet and -gnateV.
2025 * usage.adb: Add lines for -gnatea, -gnateO and -gnatez.
2026 * vms_data.ads: Add new compiler qualifiers /ALIASING_CHECK
2027 (-gnateA), /DISABLE_ATOMIC_SYNCHRONIZATION (-gnated),
2028 /PARAMETER_VALIDITY_CHECK (-gnateV) and /TARGET_DEPENDENT_INFO
2029 (-gnatet).
2030
2031 2013-01-02 Robert Dewar <dewar@adacore.com>
2032
2033 * checks.adb (Apply_Scalar_Range_Check): Implement Check_Float_Overflow.
2034 * opt.ads, opt.adb: Handle flags Check_Float_Overflow[_Config].
2035 * par-prag.adb: Add dummy entry for pragma Check_Float_Overflow.
2036 * sem_prag.adb: Implement pragma Check_Float_Overflow.
2037 * snames.ads-tmpl: Add entries for pragma Check_Float_Overflow.
2038 * switch-c.adb: Recognize -gnateF switch.
2039 * tree_io.ads: Update ASIS version number.
2040 * gnat_rm.texi: Add documentation of pragma Check_Float_Overflow.
2041
2042 2013-01-02 Robert Dewar <dewar@adacore.com>
2043
2044 * checks.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
2045 exp_disp.adb, exp_dist.adb, exp_intr.adb, exp_prag.adb, exp_util.adb,
2046 freeze.adb, gnat1drv.adb, inline.adb, layout.adb, lib-xref.adb,
2047 par-ch10.adb, par-labl.adb, par-load.adb, par-util.adb, restrict.adb,
2048 sem_ch13.adb, sem_ch4.adb, sem_ch6.adb, sem_dim.adb, sem_elab.adb,
2049 sem_res.adb, sem_warn.adb, sinput-l.adb: Add tags to warning messages.
2050 * sem_ch6.ads, warnsw.ads, opt.ads: Minor comment updates.
2051
2052 2013-01-02 Robert Dewar <dewar@adacore.com>
2053
2054 * err_vars.ads: Minor comment fix.
2055
2056 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2057
2058 * sem_ch12.adb: Refine predicate.
2059
2060 2013-01-02 Robert Dewar <dewar@adacore.com>
2061
2062 * errout.ads: Minor comment fixes.
2063 * opt.ads: Minor comment additions.
2064 * exp_aggr.adb: Add tags to warning messages
2065 * exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_aggr.adb,
2066 sem_attr.adb, sem_case.adb, sem_cat.adb, sem_ch3.adb, sem_ch4.adb,
2067 sem_ch5.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_eval.adb,
2068 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
2069 sem_warn.adb: Add tags to warning messages
2070
2071 2013-01-02 Doug Rupp <rupp@adacore.com>
2072
2073 * init.c [VMS] Remove subtest on reason mask for ACCVIO that is a C_E.
2074
2075 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2076
2077 * sem_ch12.adb: Recover source name for renamed packagea.
2078
2079 2013-01-02 Robert Dewar <dewar@adacore.com>
2080
2081 * errout.adb (Set_Msg_Insertion_Warning): Correct typo causing
2082 tests to fail if insertion sequence is at end of message string.
2083 * opt.ads: Minor comment fixes and additions.
2084 * sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_ch10.adb, sem_ch11.adb,
2085 sem_ch12.adb, sem_ch13.adb: Add tags to warning messages.
2086 * sem_ch6.ads, sem_ch6.adb (Cannot_Inline): Deal with warning message
2087 tags. Add tags to warning messages.
2088
2089 2013-01-02 Robert Dewar <dewar@adacore.com>
2090
2091 * err_vars.ads (Warning_Doc_Switch): New flag.
2092 * errout.adb (Error_Msg_Internal): Implement new warning flag
2093 doc tag stuff (Set_Msg_Insertion_Warning): New procedure.
2094 * errout.ads: Document new insertion sequences ?? ?x? ?.x?
2095 * erroutc.adb (Output_Msg_Text): Handle ?? and ?x? warning doc
2096 tag stuff.
2097 * erroutc.ads (Warning_Msg_Char): New variable.
2098 (Warn_Chr): New field in error message object.
2099 * errutil.adb (Error_Msg): Set Warn_Chr in error message object.
2100 * sem_ch13.adb: Minor reformatting.
2101 * warnsw.adb: Add handling for -gnatw.d and -gnatw.D
2102 (Warning_Doc_Switch).
2103 * warnsw.ads: Add handling of -gnatw.d/.D switches (warning
2104 doc tag).
2105
2106 2013-01-02 Robert Dewar <dewar@adacore.com>
2107
2108 * opt.ads: Minor reformatting.
2109
2110 2013-01-02 Doug Rupp <rupp@adacore.com>
2111
2112 * init.c: Reorganize VMS section.
2113 (scan_condtions): New function for scanning condition tables.
2114 (__gnat_handle_vms_condtion): Use actual exception name for imported
2115 exceptions vice IMPORTED_EXCEPTION.
2116 Move condition table scanning into separate function. Move formerly
2117 special handled conditions to system condition table. Use SYS$PUTMSG
2118 output to fill exception message field for formally special handled
2119 condtions, in particular HPARITH to provide more clues about cause and
2120 location then raised from the translated image.
2121
2122 2013-01-02 Thomas Quinot <quinot@adacore.com>
2123
2124 * sem_ch13.adb (Analyze_Aspect_Specifications): For a Pre/Post
2125 aspect that applies to a library subprogram, prepend corresponding
2126 pragma to the Pragmas_After list, in order for split AND THEN
2127 sections to be processed in the expected order.
2128
2129 2013-01-02 Thomas Quinot <quinot@adacore.com>
2130
2131 * exp_prag.adb (Expand_Pragma_Check): The statements generated
2132 for the pragma must have the sloc of the pragma, not the
2133 sloc of the condition, otherwise this creates anomalies in the
2134 generated debug information that confuse coverage analysis tools.
2135
2136 2013-01-02 Thomas Quinot <quinot@adacore.com>
2137
2138 * sem_ch13.adb: Minor reformatting.
2139
2140 2013-01-02 Arnaud Charlet <charlet@adacore.com>
2141
2142 * g-excact.ads (Core_Dump): Clarify that this subprogram does
2143 not dump cores under Windows.
2144
2145 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2146
2147 * sem_ch8.adb (Analyze_Primitive_Renamed_Operation): The prefixed
2148 view of a subprogram has convention Intrnnsic, and a renaming
2149 of a prefixed view cannot be the prefix of an Access attribute.
2150
2151 2013-01-02 Robert Dewar <dewar@adacore.com>
2152
2153 * restrict.adb: Minor reformatting.
2154
2155 2013-01-02 Thomas Quinot <quinot@adacore.com>
2156
2157 * exp_prag.adb: Minor reformatting.
2158
2159 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2160
2161 * sem_ch12.adb (Get_Associated_Node): If the node is an
2162 identifier that denotes an unconstrained array in an object
2163 declaration, it is rewritten as the name of an anonymous
2164 subtype whose bounds are given by the initial expression in the
2165 declaration. When checking whether that identifier is global
2166 reference, use the original node, not the local generated subtype.
2167
2168 2013-01-02 Olivier Hainque <hainque@adacore.com>
2169
2170 * tracebak.c: Revert previous change, incomplete.
2171
2172 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2173
2174 * sem_ch13.adb (Analyze_Aspect_Specifications): If the aspect
2175 appears on a subprogram body that acts as a spec, place the
2176 corresponding pragma in the declarations of the body, so that
2177 e.g. pre/postcondition checks can be generated appropriately.
2178
2179 2013-01-02 Robert Dewar <dewar@adacore.com>
2180
2181 * sem_ch3.adb: Minor reformatting and code reorganization.
2182
2183 2013-01-02 Vincent Celier <celier@adacore.com>
2184
2185 * switch-m.adb (Normalize_Compiler_Switches): Record the
2186 complete switch -fstack-check=specific instead of its shorter
2187 alias -fstack-check.
2188
2189 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2190
2191 * sem_ch3.adb (Derive_Subprogram): Enforce RM 6.3.1 (8):
2192 if the derived type is a tagged generic formal type with
2193 unknown discriminants, the inherited operation has convention
2194 Intrinsic. As such, the 'Access attribute cannot be applied to it.
2195
2196 2013-01-02 Thomas Quinot <quinot@adacore.com>
2197
2198 * sem_attr.adb: Minor reformatting.
2199
2200 2013-01-02 Thomas Quinot <quinot@adacore.com>
2201
2202 * par_sco.adb: Add SCO generation for S of protected types and
2203 single protected object declarations.
2204
2205 2013-01-02 Robert Dewar <dewar@adacore.com>
2206
2207 * sem_eval.adb, osint.ads: Minor reformatting.
2208
2209 2013-01-02 Hristian Kirtchev <kirtchev@adacore.com>
2210
2211 * sem_prag.adb (Analyze_Pragma): Check the legality of pragma Assume.
2212
2213 2013-01-02 Thomas Quinot <quinot@adacore.com>
2214
2215 * sem_eval.adb (Compile_Time_Compare): For static operands, we
2216 can perform a compile time comparison even if in preanalysis mode.
2217
2218 2013-01-02 Thomas Quinot <quinot@adacore.com>
2219
2220 * par_sco.adb (SCO_Record): Always use
2221 Traverse_Declarations_Or_Statements to process the library level
2222 declaration, so that SCOs are properly generated for its aspects.
2223
2224 2013-01-02 Thomas Quinot <quinot@adacore.com>
2225
2226 * scos.ads (In_Decision): Add missing entry for 'a'.
2227 * sem_prag.adb (Analyze_Pragma, case pragma Check): Omit
2228 call to Set_SCO_Pragma_Enabled for Invariant and Predicate.
2229 * sem_ch13.adb: Minor comment update.
2230 \f
2231 Copyright (C) 2013 Free Software Foundation, Inc.
2232
2233 Copying and distribution of this file, with or without modification,
2234 are permitted in any medium without royalty provided the copyright
2235 notice and this notice are preserved.