1 2013-04-11 Vincent Celier <celier@adacore.com>
3 * switch-c.adb: Document internal switches.
4 * usage.adb: Remove lines for internal switches: -gnatea, -gnateO,
7 2013-04-11 Ed Schonberg <schonberg@adacore.com>
9 * par-ch6.adb (P_Subprogram): Attach aspects to subprogram stub.
10 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Allow aspects on
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
19 2013-04-11 Vincent Celier <celier@adacore.com>
21 * gnatname.adb: Minor comment fix.
23 2013-04-11 Vincent Celier <celier@adacore.com>
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.
29 2013-04-11 Arnaud Charlet <charlet@adacore.com>
31 * gnat_ugn.texi: Minor editing/clean ups.
33 2013-04-11 Ed Schonberg <schonberg@adacore.com>
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.
40 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
42 * sem_prag.adb (Entity_Of): Moved to Exp_Util.
43 * exp_util.ads, exp_util.adb (Entity_Of): New routine.
45 2013-04-11 Robert Dewar <dewar@adacore.com>
47 * g-spipat.ads: Minor comment fix.
49 2013-04-11 Robert Dewar <dewar@adacore.com>
51 * sem_prag.adb, sem_util.adb, sem_res.adb, exp_ch4.adb: Minor
54 2013-04-11 Thomas Quinot <quinot@adacore.com>
56 * exp_util.ads (Fully_Qualified_Name_String): Document that the
57 constructed literal is the entity name in all upper case.
59 2013-04-11 Thomas Quinot <quinot@adacore.com>
61 * sem_util.adb (Set_Entity_With_Style_Check): Fix logic of
62 check for implementation defined identifiers.
64 2013-04-11 Yannick Moy <moy@adacore.com>
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.
71 2013-04-11 Ed Schonberg <schonberg@adacore.com>
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
79 * sem_res.adb (Valid_Conversion): if all else fails, examine if an
80 incomplete view of an ancestor makes a numeric conversion legal.
82 2013-04-11 Ed Schonberg <schonberg@adacore.com>
84 * sem_ch6.adb: in Ada2012 operators can only have in
87 2013-04-11 Vincent Celier <celier@adacore.com>
89 * makeutl.adb (Create_Binder_Mapping_File): Do not put into
90 the mapping file ALI files of sources that have been replaced.
92 2013-04-11 Vincent Celier <celier@adacore.com>
94 * projects.texi: Add subsection Duplicate Sources in Projects.
96 2013-04-11 Vincent Celier <celier@adacore.com>
98 * gnat_ugn.texi: Add documentation for gnatmake switch -droot_dir/**
100 2013-04-11 Arnaud Charlet <charlet@adacore.com>
102 * init.c (__gnat_install_handler): Only set up an alternate
103 stack when installing a signal handler for SIGSEGV.
105 2013-04-11 Thomas Quinot <quinot@adacore.com>
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.
112 2013-04-11 Robert Dewar <dewar@adacore.com>
114 * a-cdlili.adb: Minor addition of pragma Warnings (Off).
116 2013-04-11 Robert Dewar <dewar@adacore.com>
118 * hostparm.ads: Minor reformatting.
120 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
122 * aspects.ads, aspects.adb: Add Aspect_Depends to all the relevant
124 * elists.ads, elists.adb (Contains): New routine.
125 * par-prag.adb: Pragma Depends does not need any special treatment
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
136 (Is_Duplicate_Item): Removed.
137 * snames.ads-tmpl: Add predefined name for Depends as well as
140 2013-04-11 Arnaud Charlet <charlet@adacore.com>
142 * gnat1drv.adb: Minor code clean up.
144 2013-04-11 Arnaud Charlet <charlet@adacore.com>
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.
150 2013-04-11 Ed Schonberg <schonberg@adacore.com>
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.
156 2013-04-11 Yannick Moy <moy@adacore.com>
158 * checks.adb (Apply_Type_Conversion_Checks): Put check mark on type
159 conversion for arrays.
161 2013-04-11 Robert Dewar <dewar@adacore.com>
163 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
165 2013-04-11 Johannes Kanig <kanig@adacore.com>
167 * adabkend.adb: Minor comment addition.
169 2013-04-11 Matthew Heaney <heaney@adacore.com>
171 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb ("="): Increment
172 lock counts before entering loop.
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.
179 2013-04-11 Johannes Kanig <kanig@adacore.com>
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.
186 2013-04-11 Robert Dewar <dewar@adacore.com>
188 * sem_res.adb: Minor code reorganization and comment fixes.
189 * sem_type.adb: Minor reformatting.
191 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
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.
198 2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
200 * gnat_rm.texi: Fix typo.
202 2013-04-11 Ed Schonberg <schonberg@adacore.com>
204 * sem_res.adb: Minor reformatting.
206 2013-04-11 Robert Dewar <dewar@adacore.com>
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
212 * einfo.ads, einfo.adb (Has_Invariants): No longer applies to
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
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.
235 2013-04-11 Robert Dewar <dewar@adacore.com>
237 * sem_prag.adb: Minor reformatting.
239 2013-04-11 Ed Schonberg <schonberg@adacore.com>
241 * lib-xref.adb: Generate reference for component of anonymous
244 2013-04-11 Robert Dewar <dewar@adacore.com>
246 * stand.ads: Minor reformatting.
248 2013-04-11 Matthew Heaney <heaney@adacore.com>
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.
256 2013-04-11 Robert Dewar <dewar@adacore.com>
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.
271 2013-04-11 Vincent Celier <celier@adacore.com>
273 * gnat_ugn.texi: Remove section "The Development Environments"
274 now that all predefined attributes are documented, including
275 those in package IDE.
277 2013-04-11 Ed Schonberg <schonberg@adacore.com>
279 * sem_ch6.adb: Preserve parent link in copy of expression.
281 2013-04-11 Vincent Celier <celier@adacore.com>
283 * projects.texi: Complete rewrite of the subsection Attributes
284 in section "Project file Reference".
286 2013-04-11 Robert Dewar <dewar@adacore.com>
288 * exp_ch4.adb: Minor reformatting.
290 2013-04-11 Robert Dewar <dewar@adacore.com>
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
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
303 * sem_prag.ads (Check_Disabled): Removed, to be replaced by not
304 Check_Enabled. These two routines were curiously incompatible
307 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
309 * exp_ch4.adb (Process_Transient_Object): Use
310 an unchecked conversion when associating a transient controlled
311 object with its "hook".
313 2013-04-11 Ed Schonberg <schonberg@adacore.com>
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.
320 2013-04-11 Robert Dewar <dewar@adacore.com>
322 * sem_ch6.adb: Minor reformatting.
324 2013-04-11 Yannick Moy <moy@adacore.com>
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.
331 2013-04-11 Robert Dewar <dewar@adacore.com>
333 * exp_ch4.adb: Minor code reorganization
334 * types.ads: Minor reformatting.
336 2013-04-11 Johannes Kanig <kanig@adacore.com>
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.
344 2013-04-11 Ed Schonberg <schonberg@adacore.com>
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.
350 2013-04-11 Johannes Kanig <kanig@adacore.com>
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.
356 2013-04-11 Robert Dewar <dewar@adacore.com>
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.
362 2013-04-11 Vincent Celier <celier@adacore.com>
364 * gnat_ugn.texi, projects.texi: Move chapter "Tools Supporting Project
365 Files" from projects.texi to gnat_ugn.texi.
367 2013-04-11 Arnaud Charlet <charlet@adacore.com>
369 * gcc-interface/Make-lang.in: Update dependencies.
371 2013-04-11 Yannick Moy <moy@adacore.com>
373 * gnat1drv.adb (Adjust_Global_Switches): Allow missing body in Alfa
376 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
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.
383 2013-04-11 Vincent Celier <celier@adacore.com>
385 * gnat_ugn.texi: Remove most mentions of gprbuild.
386 * projects.texi: Remove all mentions of asociative array
389 2013-04-11 Robert Dewar <dewar@adacore.com>
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).
395 2013-04-11 Thomas Quinot <quinot@adacore.com>
397 * rtsfind.ads, exp_dist.adb, exp_dist.ads (Rtsfind.PCS_Version, case
399 (Exp_Dist.PolyORB_Support): Replace TC_Build with
402 2013-04-11 Arnaud Charlet <charlet@adacore.com>
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.
409 2013-04-11 Ed Schonberg <schonberg@adacore.com>
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.
416 2013-04-11 Arnaud Charlet <charlet@adacore.com>
418 * exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size
419 in particular in CodePeer mode.
421 2013-04-11 Vincent Celier <celier@adacore.com>
423 * gnat_ugn.texi: Add documentation for backup copies of project
426 2013-04-11 Tristan Gingold <gingold@adacore.com>
428 * gnat_rm.texi: Add Detect_BLocking in the ravenscar profile
431 2013-04-11 Vincent Celier <celier@adacore.com>
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.
440 2013-04-11 Thomas Quinot <quinot@adacore.com>
442 * exp_ch4.adb: Minor code improvement: replace various calls to
443 Make_If_Statement in expansion with Make_Implicit_If_Statement.
445 2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
447 * ali.adb: Fix minor typo.
449 2013-04-11 Thomas Quinot <quinot@adacore.com>
451 * exp_ch4.adb (Find_Enclosing_Context): Add missing case of
452 N_Procedure_Call_Statement.
454 2013-04-11 Robert Dewar <dewar@adacore.com>
456 * debug.adb: Minor comment fix.
458 2013-04-11 Johannes Kanig <kanig@adacore.com>
460 * debug.adb: Remove comment for -gnatd.G.
462 2013-04-11 Thomas Quinot <quinot@adacore.com>
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.
470 2013-04-11 Ed Schonberg <schonberg@adacore.com>
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.
477 2013-04-11 Robert Dewar <dewar@adacore.com>
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.
484 2013-04-11 Robert Dewar <dewar@adacore.com>
486 * exp_ch4.adb (Expand_Concatenation): Wrap expansion in
487 Expressions_With_Actions.
489 2013-04-11 Ed Schonberg <schonberg@adacore.com>
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.
495 2013-04-11 Robert Dewar <dewar@adacore.com>
497 * s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb.
498 makeutl.adb, sem_ch8.adb: Minor reformatting.
500 2013-04-11 Vincent Celier <celier@adacore.com>
502 * gnat_ugn.texi: Minor fixes for VMS.
503 * ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?.
505 2013-04-11 Robert Dewar <dewar@adacore.com>
507 * usage.adb (Usage): Minor edit to -gnatW message
509 2013-04-11 Robert Dewar <dewar@adacore.com>
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
517 2013-03-20 Tobias Burnus <burnus@net-b.de>
519 * i-fortra.ads: Update comment, add Ada 2012's optional
520 Star and Kind data types for enhanced interoperability.
522 2013-03-16 Eric Botcazou <ebotcazou@adacore.com>
524 * gnatvsn.ads (Library_Version): Bump to 4.9.
526 2013-03-08 Cesar Strauss <cestrauss@gmail.com>
529 * seh_init.c (Raise_From_Signal_Handler): Declare as no-return.
530 (__gnat_SEH_error_handler): Likewise. Remove final return.
532 2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
534 * gcc-interface/trans.c (Attribute_to_gnu): Abort instead of erroring
535 out for an unimplemented attribute.
537 2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
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.
542 2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
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.
547 2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
549 * gcc-interface/trans.c (emit_range_check): Assert that the range type
550 is a numerical type and remove useless local variables.
552 2013-02-25 Eric Botcazou <ebotcazou@adacore.com>
554 * gcc-interface/ada-tree.h: Back out change accidentally committed.
556 2013-02-21 Jakub Jelinek <jakub@redhat.com>
559 * gnat-style.texi (@title): Remove @hfill.
560 * projects.texi: Avoid line wrapping inside of @pxref or @xref.
562 2013-02-14 Rainer Emrich <rainer@emrich-ebersheim.de>
565 * tracebak.c: Cast from pointer via FARPROC.
567 2013-02-07 Simon Wright <simon@pushface.org>
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.
574 2013-02-06 Rainer Emrich <rainer@emrich-ebersheim.de>
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
589 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
591 * gcc-interface/Make-lang.in: Enable System.Stack_Checking.Operations
592 target pairs on VxWorks 5 only.
594 2013-02-06 Arnaud Charlet <charlet@adacore.com>
596 * gcc-interface/Make-lang.in: Update dependencies.
598 2013-02-06 Vincent Celier <celier@adacore.com>
600 * prj-proc.adb (Process_Aggregated_Projects): Use a new project
601 node tree for each project tree rooted at an aggregated project.
603 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
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
611 2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
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.
632 2013-02-06 Pascal Obry <obry@adacore.com>
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.
640 2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
642 * sem_prag.adb: Minor reformatting.
644 2013-02-06 Pascal Obry <obry@adacore.com>
646 * s-tasloc.ads: Set System.Task_Lock to preelaborate.
648 2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
650 * snames.ads-tmpl (Name_Loop_Optimize, Name_No_Unroll,
651 Name_Unroll, Name_No_Vector, Name_Vector): New pragma-related
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.
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.
665 2013-02-06 Robert Dewar <dewar@adacore.com>
667 * osint.ads: Minor fix of typo.
669 2013-02-06 Sergey Rybin <rybin@adacore.com frybin>
671 * gnat_ugn.texi: gnatmetric: update the documentation of
672 complexity metrics for Ada 2012.
674 2013-02-06 Javier Miranda <miranda@adacore.com>
676 * exp_disp.adb (Make_Secondary_DT): Code cleanup:
677 remove useless initialization.
679 2013-02-06 Ed Schonberg <schonberg@adacore.com>
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.
690 2013-02-06 Pascal Obry <obry@adacore.com>
692 * s-osprim-mingw.adb: Removes workaround for an old GNU/Linker
693 limitation on Windows.
703 (Clock): Use variable corresponding to access.
704 (Get_Base_Time): Likewise.
705 (Monotonic_Clock): Likewise.
707 2013-02-06 Vincent Celier <celier@adacore.com>
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.
714 2013-02-06 Ed Schonberg <schonberg@adacore.com>
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.
729 2013-02-06 Ed Schonberg <schonberg@adacore.com>
731 * sem_util.adb: Set parent of copied aggregate component, to
732 prevent infinite loop.
734 2013-02-06 Robert Dewar <dewar@adacore.com>
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
741 2013-02-06 Thomas Quinot <quinot@adacore.com>
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.
747 2013-02-06 Thomas Quinot <quinot@adacore.com>
749 * sprint.adb (Write_Itype): Treat E_Record_Subtype_With_Private
750 same as E_Record_Subtype. Display E_Class_Wide_Subtype as
753 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
755 * sem_ch3.adb (Complete_Private_Subtype): Inherit the
756 Has_Unknown_Discriminants from the full view of the base type.
758 2013-02-06 Tristan Gingold <gingold@adacore.com>
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.
764 2013-02-06 Thomas Quinot <quinot@adacore.com>
766 * gnat_rm.texi: Add a minimal example of Scalar_Storage_Order.
768 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
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.
776 2013-02-06 Javier Miranda <miranda@adacore.com>
778 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate the
779 runtime check on assignment to tagged types if compiling with checks
782 2013-02-06 Robert Dewar <dewar@adacore.com>
784 * exp_util.adb, checks.adb, sem_ch12.adb, sem_res.adb, prj-conf.adb,
785 s-os_lib.adb: Minor reformatting
787 2013-02-06 Vincent Celier <celier@adacore.com>
789 * ug_words: Add -gnateY = /IGNORE_STYLE_CHECKS_PRAGMAS.
791 2013-02-06 Ed Schonberg <schonberg@adacore.com>
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.
803 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
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.
809 2013-02-06 Nicolas Roche <roche@adacore.com>
811 * s-os_lib.adb (Normalize_Arguments): Arguments containing tabs should
814 2013-02-06 Vincent Celier <celier@adacore.com>
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
826 2013-02-06 Javier Miranda <miranda@adacore.com>
828 * sem_res.adb (Resolve_Actuals): Generate a read
829 reference for out-mode parameters in the cases specified by
832 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
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.
839 2013-02-06 Ed Schonberg <schonberg@adacore.com>
841 * sem_ch12.adb: Code clean up.
843 2013-02-06 Ed Schonberg <schonberg@adacore.com>
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
851 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
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.
861 2013-02-06 Thomas Quinot <quinot@adacore.com>
863 * einfo.ads: Minor reformatting.
864 (Status_Flag_Or_Transient_Decl): Add ??? comment.
866 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
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
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
880 2013-02-06 Ed Schonberg <schonberg@adacore.com>
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.
888 2013-02-06 Robert Dewar <dewar@adacore.com>
890 * s-dim.ads, clean.adb: Minor reformatting.
892 2013-02-06 Javier Miranda <miranda@adacore.com>
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.
898 2013-02-06 Robert Dewar <dewar@adacore.com>
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
904 2013-02-06 Robert Dewar <dewar@adacore.com>
906 * gnat_rm.texi: Minor text updates for pragma Warning.
908 2013-02-06 Geert Bosch <bosch@adacore.com>
910 * s-multip.adb (Number_Of_CPUs): Short-circuit in case of
913 2013-02-06 Vincent Celier <celier@adacore.com>
915 * clean.adb (Delete): On VMS use host notation to delete all files.
917 2013-02-06 Robert Dewar <dewar@adacore.com>
919 * sem_prag.adb, sem_ch6.adb, prj-conf.adb, erroutc.adb: Minor
922 2013-02-06 Gary Dismukes <dismukes@adacore.com>
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
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.
934 2013-02-06 Vincent Celier <celier@adacore.com>
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
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.
945 2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
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.
953 2013-02-06 Javier Miranda <miranda@adacore.com>
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.
958 2013-02-06 Pascal Obry <obry@adacore.com>
960 * s-os_lib.adb (Locate_Exec_On_Path): Call Normalize_Pathname
961 with Resolve_Links set to False.
963 2013-02-03 Eric Botcazou <ebotcazou@adacore.com>
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).
971 2013-01-29 Ben Brosgol <brosgol@adacore.com>
973 * gnat_rm.texi: Fixed typos. Minor edits.
975 2013-01-29 Bob Duff <duff@adacore.com>
977 * a-convec.adb: Minor reformatting.
979 2013-01-29 Pascal Obry <obry@adacore.com>
981 * tempdir.adb, tempdir.ads (Use_Temp_Dir): Set wether to use the temp
984 2013-01-29 Ed Schonberg <schonberg@adacore.com>
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.
994 2013-01-29 Vincent Celier <celier@adacore.com>
996 * prj-proc.adb: Minor comment spelling fix.
998 2013-01-29 Pascal Obry <obry@adacore.com>
1000 * prj-proc.adb (Process_Expression_Variable_Decl): Prepend
1001 Project_Path to current environment.
1003 2013-01-29 Thomas Quinot <quinot@adacore.com>
1005 * sprint.adb (Sprint_Node_Actual): Output freeze nodes for
1006 itypes even if Dump_Freeze_Null is not set.
1008 2013-01-29 Robert Dewar <dewar@adacore.com>
1010 * sem_util.adb: Minor reformatting.
1011 * s-rident.ads: Minor comment fixes.
1013 2013-01-29 Pascal Obry <obry@adacore.com>
1015 * prj-env.ads, prj-env.adb (Add_Directories): Add parameter to
1016 control if the path is prepended or appended.
1018 2013-01-29 Ed Schonberg <schonberg@adacore.com>
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.
1024 2013-01-29 Hristian Kirtchev <kirtchev@adacore.com>
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.
1030 2013-01-29 Eric Botcazou <ebotcazou@adacore.com>
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
1037 2013-01-29 Javier Miranda <miranda@adacore.com>
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.
1063 2013-01-29 Robert Dewar <dewar@adacore.com>
1065 * a-calend-vms.adb: Minor comment fix.
1067 2013-01-29 Robert Dewar <dewar@adacore.com>
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
1074 * styleg.adb: Minor comment improvement.
1075 * stylesw.ads (Style_Check_Standard): Fix bad comments.
1077 2013-01-29 Hristian Kirtchev <kirtchev@adacore.com>
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
1084 2013-01-29 Pascal Obry <obry@adacore.com>
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.
1090 2013-01-29 Vincent Celier <celier@adacore.com>
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.
1095 2013-01-29 Ed Schonberg <schonberg@adacore.com>
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.
1110 2013-01-29 Robert Dewar <dewar@adacore.com>
1112 * gnat_rm.texi: Document all Ada 2005 and Ada 2012 pragmas as
1113 being available as implementation-defined pragmas in earlier
1116 2013-01-29 Vincent Celier <celier@adacore.com>
1118 * clean.adb (Delete): On VMS, delete all versions of the file.
1120 2013-01-29 Robert Dewar <dewar@adacore.com>
1122 * par-ch6.adb (No_Constraint_Maybe_Expr_Func): New procedure.
1123 * par-util.adb (No_Constraint): Undo special handling, moved
1126 2013-01-29 Robert Dewar <dewar@adacore.com>
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
1134 2013-01-29 Robert Dewar <dewar@adacore.com>
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
1140 * sinfo.ads, sinfo.adb (In_Assertion): New flag in N_Function_Call node.
1142 2013-01-29 Robert Dewar <dewar@adacore.com>
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.
1148 2013-01-29 Robert Dewar <dewar@adacore.com>
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).
1159 2013-01-29 Vincent Celier <celier@adacore.com>
1161 * clean.adb (Clean_Executables): Add Sid component when calling
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
1168 * makeutl.ads (Source_Info): New Source_Id component Sid in
1169 Format_Gnatmake variant.
1171 2013-01-29 Robert Dewar <dewar@adacore.com>
1173 * gnat_ugn.texi: Document -gnateY.
1175 2013-01-29 Doug Rupp <rupp@adacore.com>
1177 * s-osinte-vms.ads, s-taprop-vms.adb, system-vms_64.ads,
1178 system-vms-ia64.ads: Replace pragma Interface by pragma Import.
1180 2013-01-29 Robert Dewar <dewar@adacore.com>
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.
1189 2013-01-29 Robert Dewar <dewar@adacore.com>
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
1196 * gnat_ugn.texi: Additional documentation on -gnatwj and pragma
1199 2013-01-29 Vincent Celier <celier@adacore.com>
1201 * snames.ads-tmpl: Add new standard name Trailing_Switches.
1203 2013-01-29 Ed Schonberg <schonberg@adacore.com>
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
1210 2013-01-29 Vincent Celier <celier@adacore.com>
1212 * gnatcmd.adb: Use the project where the config pragmas file is
1213 declared to get its path.
1215 2013-01-29 Vincent Celier <celier@adacore.com>
1217 * prj-attr.adb: New attribute Linker'Trailing_Switches.
1219 2013-01-22 Eric Botcazou <ebotcazou@adacore.com>
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.
1224 2013-01-22 Eric Botcazou <ebotcazou@adacore.com>
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.
1230 2013-01-22 Tristan Gingold <gingold@adacore.com>
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.
1240 2013-01-11 Eric Botcazou <ebotcazou@adacore.com>
1242 * gcc-interface/Make-lang.in (COMMON_ADAFLAGS): Remove -gnata.
1243 (CHECKING_ADAFLAGS): New.
1244 (ALL_ADAFLAGS): Include CHECKING_ADAFLAGS.
1246 2013-01-10 Eric Botcazou <ebotcazou@adacore.com>
1248 * gcc-interface/config-lang.in (boot_language_boot_flags): Delete.
1249 * gcc-interface/Make-lang.in (BOOT_ADAFLAGS): Likewise.
1251 2013-01-07 Eric Botcazou <ebotcazou@adacore.com>
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.
1258 2013-01-07 Richard Biener <rguenther@suse.de>
1261 * gcc-interface/Make-lang.in (ada.install-common): Always apply
1262 program_transform_name.
1264 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
1266 * gnatvsn.ads (Current_Year): Bump to 2013.
1268 2013-01-06 Olivier Hainque <hainque@adacore.com>
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.
1276 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
1278 * gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete.
1280 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
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.
1285 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
1287 * gcc-interface/decl.c (annotate_value) <COMPONENT_REF>: Be prepared
1288 for discriminants inherited from parent record types.
1290 2013-01-04 Robert Dewar <dewar@adacore.com>
1292 * warnsw.adb: Minor fixes to -gnatw.d handling.
1294 2013-01-04 Robert Dewar <dewar@adacore.com>
1296 * einfo.adb, atree.adb: Enlarge entities to make 63 more flags, 6 more
1299 2013-01-04 Joel Brobecker <brobecker@adacore.com>
1301 * gnat_ugn.texi: Fix typo.
1303 2013-01-04 Robert Dewar <dewar@adacore.com>
1305 * gnat_rm.texi: Document alignment choice for subtypes.
1307 2013-01-04 Robert Dewar <dewar@adacore.com>
1309 * validsw.ads: Minor fix to comment.
1311 2013-01-04 Doug Rupp <rupp@adacore.com>
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
1320 2013-01-04 Pascal Obry <obry@adacore.com>
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.
1327 2013-01-04 Robert Dewar <dewar@adacore.com>
1329 * exp_attr.adb: Minor reformatting.
1331 2013-01-04 Robert Dewar <dewar@adacore.com>
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
1340 2013-01-04 Robert Dewar <dewar@adacore.com>
1342 * sinfo.ads: Clean up order of N_xxx subtypes
1344 2013-01-04 Vincent Celier <celier@adacore.com>
1346 * prj-conf.adb (Check_Target): Allow --autoconf= with no target.
1348 2013-01-04 Robert Dewar <dewar@adacore.com>
1350 * types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting.
1352 2013-01-04 Robert Dewar <dewar@adacore.com>
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.
1358 2013-01-04 Robert Dewar <dewar@adacore.com>
1360 * exp_util.ads, exp_util.adb (Insert_Actions): In expression with
1361 actions case, new actions are appended to the sequence rather than
1364 2013-01-04 Robert Dewar <dewar@adacore.com>
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.
1371 2013-01-04 Robert Dewar <dewar@adacore.com>
1373 * exp_util.adb (Remove_Side_Effects): Make sure scope suppress
1374 is restored on exit.
1376 2013-01-04 Robert Dewar <dewar@adacore.com>
1378 * usage.adb: Document -gnateF (check overflow for predefined Float).
1380 2013-01-04 Robert Dewar <dewar@adacore.com>
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.
1386 2013-01-04 Vincent Celier <celier@adacore.com>
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
1393 (Do_Autoconf): When invoking gprconfig, use the --db switches, if any.
1395 2013-01-04 Pascal Obry <obry@adacore.com>
1397 * prj-nmsc.adb: Minor reformatting.
1399 2013-01-04 Vincent Celier <celier@adacore.com>
1401 * makeutl.ads (Root_Environment): New variable, moved rom
1402 gprbuild (Load_Standard_Base): New Boolean variable, moved
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.
1413 2013-01-04 Ed Schonberg <schonberg@adacore.com>
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.
1421 2013-01-04 Thomas Quinot <quinot@adacore.com>
1423 * sem_elab.adb, sem_ch3.adb: Minor reformatting.
1425 2013-01-04 Robert Dewar <dewar@adacore.com>
1427 * table.adb: Minor reformatting.
1429 2013-01-04 Ed Schonberg <schonberg@adacore.com>
1431 * sem_ch10.adb (Check_Redundant_Withs): A with_clause that does
1432 not come from source does not generate a warning for redundant
1435 2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
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
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
1456 2013-01-04 Eric Botcazou <ebotcazou@adacore.com>
1458 * sem_ch3.adb: Fix minor typo.
1460 2013-01-04 Ed Schonberg <schonberg@adacore.com>
1462 * par-ch13.adb (Aspect_Specifications_Present): In Strict mode,
1463 accept an aspect name followed by a comma, indicating a defaulted
1466 2013-01-04 Joel Brobecker <brobecker@adacore.com brobecker>
1468 * gnat_ugn.texi: Document procedure to codesign GDB on Darwin.
1469 Update doc on gnattest --separates switch.
1471 2013-01-04 Thomas Quinot <quinot@adacore.com>
1473 * s-chepoo.ads: Minor reformatting.
1475 2013-01-04 Arnaud Charlet <charlet@adacore.com>
1477 * usage.adb: Remove mention of -gnatN in usage.
1479 2013-01-04 Robert Dewar <dewar@adacore.com>
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.
1485 2013-01-04 Thomas Quinot <quinot@adacore.com>
1487 * sinfo.ads: Minor documentation update.
1489 2013-01-04 Thomas Quinot <quinot@adacore.com>
1491 * sem_ch3.adb, einfo.adb (Analyze_Object_Declaration): Do not set Ekind
1492 before resolving initialization expression.
1494 2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
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
1505 2013-01-04 Thomas Quinot <quinot@adacore.com>
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
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.
1526 2013-01-03 Pascal Obry <obry@adacore.com>
1528 * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package remote and
1529 corresponding attibutes.
1531 2013-01-03 Thomas Quinot <quinot@adacore.com>
1533 * exp_aggr.adb: Minor comment improvement.
1535 2013-01-03 Hristian Kirtchev <kirtchev@adacore.com>
1537 * aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the
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
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.
1570 2013-01-03 Bob Duff <duff@adacore.com>
1572 * table.adb (Reallocate): Calculate new Length in
1573 Long_Integer to avoid overflow.
1575 2013-01-03 Thomas Quinot <quinot@adacore.com>
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
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.
1599 2013-01-03 Thomas Quinot <quinot@adacore.com>
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.
1604 2013-01-03 Thomas Quinot <quinot@adacore.com>
1606 * exp_ch4.adb: Add comment.
1608 2013-01-03 Vincent Celier <celier@adacore.com>
1610 * prj.adb: Minor spelling error correction in comment.
1612 2013-01-03 Vincent Celier <celier@adacore.com>
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.
1618 2013-01-03 Javier Miranda <miranda@adacore.com>
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.
1625 2013-01-03 Vincent Celier <celier@adacore.com>
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.
1632 2013-01-03 Arnaud Charlet <charlet@adacore.com>
1634 * usage.adb: Minor: fix typo in usage.
1636 2013-01-03 Thomas Quinot <quinot@adacore.com>
1638 * sem_ch13.adb (Analyze_Record_Representation_Clause): Reject
1639 an illegal component clause for an inherited component in a
1642 2013-01-03 Emmanuel Briot <briot@adacore.com>
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
1648 2013-01-03 Emmanuel Briot <briot@adacore.com>
1650 * projects.texi: Fix error in documenting the project path
1651 computed for an aggregate project.
1653 2013-01-03 Javier Miranda <miranda@adacore.com>
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.
1664 2013-01-03 Tristan Gingold <gingold@adacore.com>
1666 * s-arit64.ads: Use Multiply_With_Ovflo_Check as __gnat_mulv64.
1668 * gcc-interface/Makefile.in: Remove reference to arit64.c.
1670 2013-01-03 Thomas Quinot <quinot@adacore.com>
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.
1676 2013-01-03 Thomas Quinot <quinot@adacore.com>
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.
1682 2013-01-03 Thomas Quinot <quinot@adacore.com>
1684 * exp_ch11.adb: Minor reformatting.
1686 2013-01-03 Thomas Quinot <quinot@adacore.com>
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
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).
1708 2013-01-03 Javier Miranda <miranda@adacore.com>
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
1714 2013-01-03 Ed Schonberg <schonberg@adacore.com>
1716 * sem_elab.adb (Set_Elaboration_Constraint): Handle properly
1717 a 'Access attribute reference when the subprogram is called
1720 2013-01-03 Arnaud Charlet <charlet@adacore.com>
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.
1726 2013-01-03 Robert Dewar <dewar@adacore.com>
1728 * sem_ch8.adb, einfo.ads, einfo.adb: Minor code reorganization.
1730 2013-01-03 Javier Miranda <miranda@adacore.com>
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.
1742 2013-01-03 Thomas Quinot <quinot@adacore.com>
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.
1757 2013-01-03 Thomas Quinot <quinot@adacore.com>
1759 * exp_ch3.adb: Minor reformatting.
1761 2013-01-03 Olivier Hainque <hainque@adacore.com>
1763 * tracebak.c: Reinstate changes to support ppc-lynx178.
1765 2013-01-03 Ed Schonberg <schonberg@adacore.com>
1767 * atree.ads: Minor reformatting and documentation enhancement.
1769 2013-01-03 Ed Schonberg <schonberg@adacore.com>
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.
1780 2013-01-03 Robert Dewar <dewar@adacore.com>
1782 * exp_intr.adb: Minor reformatting.
1784 2013-01-03 Robert Dewar <dewar@adacore.com>
1786 * einfo.adb: Minor reformatting.
1788 2013-01-03 Pascal Obry <obry@adacore.com>
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.
1795 2013-01-03 Robert Dewar <dewar@adacore.com>
1797 * layout.adb (Set_Composite_Alignment): Fix problems of
1798 interactions with Optimize_Alignment set to Space.
1800 2013-01-03 Thomas Quinot <quinot@adacore.com>
1802 * exp_disp.adb: Minor reformatting.
1804 2013-01-02 Richard Biener <rguenther@suse.de>
1807 * gcc-interface/Makefile.in: Add $(GMPINC) to includes.
1809 2013-01-02 Thomas Quinot <quinot@adacore.com>
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.
1816 2013-01-02 Robert Dewar <dewar@adacore.com>
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.
1825 2013-01-02 Yannick Moy <moy@adacore.com>
1827 * opt.ads (Warn_On_Suspicious_Contract): Set to True by default.
1828 * usage.adb (Usage): Update usage message.
1830 2013-01-02 Pascal Obry <obry@adacore.com>
1832 * adaint.c (__gnat_is_module_name_supported): New constant.
1834 2013-01-02 Ed Schonberg <schonberg@adacore.com>
1836 * sem_attr.adb (Check_Array_Type): Reject an attribute reference on an
1837 array whose component type does not have a completion.
1839 2013-01-02 Geert Bosch <bosch@adacore.com>
1841 * a-nllcef.ads, a-nlcefu.ads, a-nscefu.ads: Make Pure.
1843 2013-01-02 Robert Dewar <dewar@adacore.com>
1845 * par_sco.adb: Minor reformatting.
1847 2013-01-02 Javier Miranda <miranda@adacore.com>
1849 * sem_aggr.adb (Resolve_Array_Aggregate): Remove dead code.
1851 2013-01-02 Olivier Hainque <hainque@adacore.com>
1853 * a-exctra.ads (Get_PC): New function.
1855 2013-01-02 Thomas Quinot <quinot@adacore.com>
1857 * sem_ch8.adb: Minor reformatting.
1859 2013-01-02 Thomas Quinot <quinot@adacore.com>
1861 * sem_ch7.adb: Minor reformatting.
1863 2013-01-02 Thomas Quinot <quinot@adacore.com>
1865 * freeze.adb (Check_Component_Storage_Order): Do not crash on
1868 2013-01-02 Robert Dewar <dewar@adacore.com>
1870 * gnat1drv.adb, targparm.adb, targparm.ads: Minor name change: add
1871 On_Target to Atomic_Sync_Default.
1873 2013-01-02 Robert Dewar <dewar@adacore.com>
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, "..");
1880 2013-01-02 Yannick Moy <moy@adacore.com>
1882 * sem_prag.ads: Minor correction of comment.
1884 2013-01-02 Thomas Quinot <quinot@adacore.com>
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.
1890 2013-01-02 Pascal Obry <obry@adacore.com>
1892 * adaint.c, adaint.h (__gnat_get_module_name): Return the actual
1893 module containing a given address.
1895 2013-01-02 Thomas Quinot <quinot@adacore.com>
1897 * sem_ch3.adb: Minor reformatting.
1899 2013-01-02 Pascal Obry <obry@adacore.com>
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.
1909 2013-01-02 Thomas Quinot <quinot@adacore.com>
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.
1915 2013-01-02 Ed Schonberg <schonberg@adacore.com>
1917 * sem_ch3.adb: Further improvement to ASIS mode for anonymous
1918 access to protected subprograms.
1920 2013-01-02 Robert Dewar <dewar@adacore.com>
1922 * par_sco.adb, vms_data.ads: Minor reformatting.
1924 2013-01-02 Thomas Quinot <quinot@adacore.com>
1926 * par_sco.adb (Traverse_Declarations_Or_Statement): Function
1927 form, returning value of Current_Dominant upon exit, for chaining
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.
1936 2013-01-02 Thomas Quinot <quinot@adacore.com>
1938 * gnat_rm.texi: Restrict the requirement for Scalar_Storage_Order
1939 matching Bit_Order to record types only, since array types do not
1942 2013-01-02 Vincent Celier <celier@adacore.com>
1944 * gnat_ugn.texi: Remove documentation of -gnateO, which is an
1946 * usage.adb: Indicate that -gnateO is an internal switch.
1948 2013-01-02 Thomas Quinot <quinot@adacore.com>
1950 * par_sco.adb: Add SCO generation for task types and single
1952 * get_scos.adb: When adding an instance table entry for a
1953 non-nested instantiation, make sure the Enclosing_Instance is
1956 2013-01-02 Hristian Kirtchev <kirtchev@adacore.com>
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.
1965 2013-01-02 Thomas Quinot <quinot@adacore.com>
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.
1972 2013-01-02 Ed Schonberg <schonberg@adacore.com>
1974 * sem_ch12.adb: Additional refinement of predicate.
1976 2013-01-02 Vincent Celier <celier@adacore.com>
1978 * vms_data.ads: Remove incorrect spaces at end of descriptions
1979 of qualifiers for single switch.
1981 2013-01-02 Ben Brosgol <brosgol@adacore.com>
1983 * gnat_rm.texi: Minor edits / wordsmithing in section on pragma
1984 Check_Float_Overflow.
1986 2013-01-02 Thomas Quinot <quinot@adacore.com>
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
1993 2013-01-02 Thomas Quinot <quinot@adacore.com>
1995 * gnat1drv.adb (Adjust_Global_Switches): Adjust back-end
1996 flag_debug_instances here, after front-end switches have been
1999 2013-01-02 Vincent Celier <celier@adacore.com>
2001 * usage.adb: Minor reformatting.
2003 2013-01-02 Arnaud Charlet <charlet@adacore.com>
2005 * opt.ads: Fix typo.
2007 2013-01-02 Thomas Quinot <quinot@adacore.com>
2009 * par_sco.adb: Generate P decision SCOs for SPARK pragmas
2010 Assume and Loop_Invariant.
2012 2013-01-02 Robert Dewar <dewar@adacore.com>
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).
2019 2013-01-02 Vincent Celier <celier@adacore.com>
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
2031 2013-01-02 Robert Dewar <dewar@adacore.com>
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.
2042 2013-01-02 Robert Dewar <dewar@adacore.com>
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.
2052 2013-01-02 Robert Dewar <dewar@adacore.com>
2054 * err_vars.ads: Minor comment fix.
2056 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2058 * sem_ch12.adb: Refine predicate.
2060 2013-01-02 Robert Dewar <dewar@adacore.com>
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
2071 2013-01-02 Doug Rupp <rupp@adacore.com>
2073 * init.c [VMS] Remove subtest on reason mask for ACCVIO that is a C_E.
2075 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2077 * sem_ch12.adb: Recover source name for renamed packagea.
2079 2013-01-02 Robert Dewar <dewar@adacore.com>
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.
2089 2013-01-02 Robert Dewar <dewar@adacore.com>
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
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
2106 2013-01-02 Robert Dewar <dewar@adacore.com>
2108 * opt.ads: Minor reformatting.
2110 2013-01-02 Doug Rupp <rupp@adacore.com>
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.
2122 2013-01-02 Thomas Quinot <quinot@adacore.com>
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.
2129 2013-01-02 Thomas Quinot <quinot@adacore.com>
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.
2136 2013-01-02 Thomas Quinot <quinot@adacore.com>
2138 * sem_ch13.adb: Minor reformatting.
2140 2013-01-02 Arnaud Charlet <charlet@adacore.com>
2142 * g-excact.ads (Core_Dump): Clarify that this subprogram does
2143 not dump cores under Windows.
2145 2013-01-02 Ed Schonberg <schonberg@adacore.com>
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.
2151 2013-01-02 Robert Dewar <dewar@adacore.com>
2153 * restrict.adb: Minor reformatting.
2155 2013-01-02 Thomas Quinot <quinot@adacore.com>
2157 * exp_prag.adb: Minor reformatting.
2159 2013-01-02 Ed Schonberg <schonberg@adacore.com>
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.
2168 2013-01-02 Olivier Hainque <hainque@adacore.com>
2170 * tracebak.c: Revert previous change, incomplete.
2172 2013-01-02 Ed Schonberg <schonberg@adacore.com>
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.
2179 2013-01-02 Robert Dewar <dewar@adacore.com>
2181 * sem_ch3.adb: Minor reformatting and code reorganization.
2183 2013-01-02 Vincent Celier <celier@adacore.com>
2185 * switch-m.adb (Normalize_Compiler_Switches): Record the
2186 complete switch -fstack-check=specific instead of its shorter
2187 alias -fstack-check.
2189 2013-01-02 Ed Schonberg <schonberg@adacore.com>
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.
2196 2013-01-02 Thomas Quinot <quinot@adacore.com>
2198 * sem_attr.adb: Minor reformatting.
2200 2013-01-02 Thomas Quinot <quinot@adacore.com>
2202 * par_sco.adb: Add SCO generation for S of protected types and
2203 single protected object declarations.
2205 2013-01-02 Robert Dewar <dewar@adacore.com>
2207 * sem_eval.adb, osint.ads: Minor reformatting.
2209 2013-01-02 Hristian Kirtchev <kirtchev@adacore.com>
2211 * sem_prag.adb (Analyze_Pragma): Check the legality of pragma Assume.
2213 2013-01-02 Thomas Quinot <quinot@adacore.com>
2215 * sem_eval.adb (Compile_Time_Compare): For static operands, we
2216 can perform a compile time comparison even if in preanalysis mode.
2218 2013-01-02 Thomas Quinot <quinot@adacore.com>
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.
2224 2013-01-02 Thomas Quinot <quinot@adacore.com>
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.
2231 Copyright (C) 2013 Free Software Foundation, Inc.
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.