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