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