]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
41781043
AC
12011-09-15 Arnaud Charlet <charlet@adacore.com>
2
3 * gcc-interface/Make-lang.in: Update dependencies.
4
804ff4c3
AC
52011-09-15 Robert Dewar <dewar@adacore.com>
6
7 * tree_io.ads: Minor reformatting.
8 * a-intnam.ads: Fix bad header.
9
102011-09-15 Thomas Quinot <quinot@adacore.com>
11
12 * a-exexpr-gcc.adb: Minor reformatting.
13
142011-09-15 Yannick Moy <moy@adacore.com>
15
16 * sem_ch6.adb: Propagate information that an expression function comes
17 from source (otherwise references to this entity are not stored).
18
0b5b2bbc
AC
192011-09-15 Robert Dewar <dewar@adacore.com>
20
21 * a-cdlili.adb, a-coinve.adb, a-stzunb-shared.ads, a-suezst.adb,
22 a-suenco.adb, a-stwiun-shared.ads, a-cobove.adb, a-convec.adb,
23 a-btgbso.adb, a-cbdlli.adb, a-suewst.adb: Minor reformatting.
24
252011-09-15 Ed Schonberg <schonberg@adacore.com>
26
27 * sem_ch6.adb (Analyze_Expression_Function): Code cleanup:
28 if the expression function is not a completion, create a
29 new specification for the generated declaration, and keep the
30 original specification in the generated body. Shorter code also
31 ensures that proper warnings are generated for unused formals
32 in all cases.
33
342011-09-15 Sergey Rybin <rybin@adacore.com>
35
36 * tree_io.ads: Update ASIS_Version_Number because of the changes
37 in the tree structures for expression functions.
38
392011-09-15 Arnaud Charlet <charlet@adacore.com>
40
41 * s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
42 s-osinte-hpux.ads, s-osinte-lynxos.ads, s-osinte-solaris-posix.ads,
43 s-taprop-posix.adb (CLOCK_MONOTONIC): New constant.
44 (CLOCK_REALTIME): Fix wrong value on some OSes.
45 * s-taprop-posix.adb (Monotonic_Clock): Use CLOCK_MONOTONIC.
46
7e169899
EB
472011-09-11 Eric Botcazou <ebotcazou@adacore.com>
48
49 * gcc-interface/utils.c (maybe_unconstrained_array): In the reference
50 to unconstrained array case, deal with each branch of a COND_EXPR.
51 * gcc-interface/utils2.c (build_allocator): Deal with each branch of
52 a COND_EXPR in the initializer, if present.
53
819a653e
EB
542011-09-11 Eric Botcazou <ebotcazou@adacore.com>
55
56 * gcc-interface/decl.c (maybe_pad_type): Do not try to change the form
57 of an addressable type.
58 * gcc-interface/trans.c (gnat_gimplify_expr) <VIEW_CONVERT_EXPR>: New.
59 Deal with those cases for which creating a temporary is mandatory.
60
c946adde
EB
612011-09-11 Eric Botcazou <ebotcazou@adacore.com>
62
63 * gcc-interface/trans.c (call_to_gnu): Use local variable. Make sure
64 this is a real formal parameter before testing whether it is by ref.
65
dddf8120
EB
662011-09-11 Eric Botcazou <ebotcazou@adacore.com>
67
68 * gcc-interface/gigi.h (build_call_0_expr): Delete.
69 (build_call_1_expr): Likewise.
70 (build_call_2_expr): Likewise.
71 (build_call_n_expr): New prototype.
72 * gcc-interface/decl.c (gnat_to_gnu_entity): Use build_call_n_expr.
73 * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Ditto.
74 (Handled_Sequence_Of_Statements_to_gnu): Likewise.
75 (Exception_Handler_to_gnu_zcx): Likewise.
76 (gnat_to_gnu): Likewise.
77 (build_binary_op_trapv): Likewise.
78 * gcc-interface/utils2.c (build_call_0_expr): Delete.
79 (build_call_1_expr): Likewise.
80 (build_call_2_expr): Likewise.
81 (build_call_n_expr): New function.
82 (build_call_raise): Use build_call_n_expr.
83 (build_call_raise_range): Likewise.
84 (build_call_raise_column): Likewise.
85 (build_call_alloc_dealloc_proc): Likewise.
86 (maybe_wrap_malloc): Likewise.
87 (maybe_wrap_free): Likewise.
88
d8e38554
EB
892011-09-11 Eric Botcazou <ebotcazou@adacore.com>
90
91 * gcc-interface/trans.c (build_return_expr): Use void_type_node for
92 MODIFY_EXPR.
93 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Assert that
94 the result type is null if ENABLE_CHECKING. Set operation_type at the
95 end unconditionally if not set in the previous cases.
96 Use build2 and void_type_node for MODIFY_EXPR.
97 (build_allocator): Use NULL_TREE for MODIFY_EXPR.
98
416de7d5
EB
992011-09-08 Eric Botcazou <ebotcazou@adacore.com>
100
101 * gcc-interface/utils.c (unchecked_convert): Use a field of the right
102 precision when converting to or from an integral type whose precision
103 is not equal to its size.
104
88b76013
IS
1052011-09-08 Iain Sandoe <iains@gcc.gnu.org>
106
416de7d5 107 * traceback.c (Darwin) USE_GCC_UNWINDER for Darwin versions >= 8.
88b76013 108
1aeee5ad
IS
1092011-09-07 Iain Sandoe <iains@gcc.gnu.org>
110
416de7d5 111 * gcc-interface/Makefile.in (darwin): Provide powerpc64 system
1aeee5ad
IS
112 implementation.
113 * system-darwin-ppc64.ads: New file.
114
f61fc398
IS
1152011-09-06 Iain Sandoe <iains@gcc.gnu.org>
116
117 * gcc-interface/Makefile.in (gnatlib-shared-darwin): Remove
118 reference to "-lm".
119
84ef27d3
IS
1202011-09-06 Iain Sandoe <iains@gcc.gnu.org>
121
122 * gcc-interface/Makefile.in (darwin, SO_OPTS): Provide architecture
123 size switches to the link phase for shared libs.
124
a1bf1ec7
IS
1252011-09-06 Iain Sandoe <iains@gcc.gnu.org>
126
416de7d5 127 * gcc-interface/Makefile.in (x86_64 darwin arch): Adjust
a1bf1ec7
IS
128 LIBGNAT_TARGET_PAIRS for x86 and x86_64 variants.
129
e972fd52
AC
1302011-09-06 Arnaud Charlet <charlet@adacore.com>
131
132 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in
133 (gnattools, regnattools, cross-gnattools, canadian-gnattools,
134 gnatlib, gnatlib-sjlj, gnatlib-zcx, gnatlib-shared, gnatlib_and_tools):
135 New targets.
136 (TOOLS_FLAGS_TO_PASS): New.
137 (../stamp-tools): Reintroduce, to avoid merge conflicts.
138
ef417be1
RD
1392011-09-06 Robert Dewar <dewar@adacore.com>
140
141 * sem_ch10.adb, impunit.ads, impunit.adb (Not_Impl_Defined_Unit): New
142 name for Is_RM_Defined_Unit. Also several fixes to this unit.
143
0a034606
RD
1442011-09-06 Robert Dewar <dewar@adacore.com>
145
146 * impunit.ads, impunit.adb (Is_RM_Defined_Unit): New function.
147 * s-rident.ads: New restriction No_Implementation_Units
148 (this restriction is also part of the profile
149 No_Implementation_Extensions)
150 * sem_ch10.adb (Analyze_With_Clause): Add check for
151 No_Implementation_Units restriction.
152
ebb6faaa
AC
1532011-09-06 Jerome Guitton <guitton@adacore.com>
154
155 * sysdep.c (__gnat_get_task_options): Disable VX_SPE_TASK
156 on vThreads.
157
1582011-09-06 Thomas Quinot <quinot@adacore.com>
159
160 * s-solita.adb: Minor reformatting.
161
1622011-09-06 Ed Schonberg <schonberg@adacore.com>
163
164 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): The body that
165 is a rewriting of an expression function does not freeze previous
166 entities.
167
1682011-09-06 Robert Dewar <dewar@adacore.com>
169
170 * impunit.adb (Is_Known_Unit): Fix bad handling of Ada 2012 case
171
60435286
TG
1722011-09-06 Tristan Gingold <gingold@adacore.com>
173
174 * gcc-interface/Makefile.in: Handle e500v2-wrs-vxworksae like
175 powerpc-wrs-vxworksae.
176
08f8a983
AC
1772011-09-06 Thomas Quinot <quinot@adacore.com>
178
179 * s-os_lib.ads (Spawn): Minor documentation clarification,
180 Success is True for a zero exit status.
181
1822011-09-06 Ed Schonberg <schonberg@adacore.com>
183
184 * sem_ch5.adb: Add message for common iterator error.
185
1862011-09-06 Ed Schonberg <schonberg@adacore.com>
187
188 * exp_ch3.adb (Build_Initialization_Call): If the target is a
189 selected component discriminated by a current instance, replace
190 the constraint with a reference to the target object, regardless
191 of whether the context is an init_proc.
192
1932011-09-06 Robert Dewar <dewar@adacore.com>
194
195 * exp_attr.adb: Descriptor_Size is never static.
196
1972011-09-06 Robert Dewar <dewar@adacore.com>
198
199 * gnat_ugn.texi: Add documentation for LSLOC metric in gnatmetric
200
2012011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
202
203 * gnat_rm.texi: Clarify that attribute Descriptor_Size is
204 non-static.
205
2062011-09-06 Ed Schonberg <schonberg@adacore.com>
207
208 * sem_res.adb (Resolve): An expression that is the body of an
209 expression function does not freeze.
210
2112011-09-06 Matthew Heaney <heaney@adacore.com>
212
213 * a-csquin.ads, a-cusyqu.adb, a-cbprqu.adb, a-cbsyqu.adb,
214 a-cuprqu.adb: Changed copyright notice to indicate current
215 year only.
216
2172011-09-06 Vincent Celier <celier@adacore.com>
218
219 * prj.adb: Minor spelling error fix in comment
220 * sem_res.adb: Minor reformatting
221
2222011-09-06 Pascal Obry <obry@adacore.com>
223
224 * sysdep.c (winflush_nt): Removed as not needed anymore.
225 (winflush_95): Likewise.
226 (winflush_init): Likewise.
227 (winflush_function): Likewise.
228 (getc_immediate_common): Remove call to winflush_function.
229
cb3d8731
HK
2302011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
231
232 * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite the
233 processing for Descriptor_Size.
234 * gnat_rm.texi: Rephrase the wording for attribute Descriptor_Size
235 to account for its broader usage.
236 * sem_attr.adb (Analyze_Attribute): Change the error detection
237 circuitry for Descriptor_Size as the attribute is now applicable
238 to all types.
239
f7e6fc47
RD
2402011-09-06 Robert Dewar <dewar@adacore.com>
241
242 * sem_attr.adb, prj-nmsc.adb, exp_aggr.adb: Minor reformatting.
243
f8e9fc30
AC
2442011-09-06 Ed Schonberg <schonberg@adacore.com>
245
246 * lib-xref.adb (OK_To_Set_Referenced): A reference to a formal
247 in a parameter association must not set the Referenced flag on
248 the formal.
249 * prj-nmsc.adb (Check_File_Naming_Schemes): Remove useless formal
250
2512011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
252
253 * gnat_rm.texi: Add a section on attribute Descriptor_Size
254
e8e38f35
AC
2552011-09-06 Arnaud Charlet <charlet@adacore.com>
256
257 * gcc-interface/Makefile.in (common-tools, gnatmake-re,
258 gnatlink-re): Speed up by using -j0.
259
ba759acd
AC
2602011-09-06 Yannick Moy <moy@adacore.com>
261
262 * sem_ch13.adb (Analyze_Aspect_Specifications): Call
263 Set_Corresponding_Aspect when creating pragma from aspect.
264 (Add_Predicates): Use new field Corresponding_Aspect.
265 * sem_prag.adb (Analyze_Pragma): Make Pname hold source aspect
266 name when present, for the purpose of issuing error messages;
267 remove local procedure Error_Pragma_Arg_Alternate_Name.
268 * sinfo.adb, sinfo.ads (Corresponding_Aspect): New field in
269 N_Pragma node.
270 (From_Dynamic_Predicate, From_Static_Predicate): Remove fields from
271 N_Pragma node.
272
2732011-09-06 Robert Dewar <dewar@adacore.com>
274
275 * checks.adb, s-except.ads, g-socket.adb: Minor reformatting.
276
2772011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
278
279 * exp_ch6.adb (Build_Heap_Allocator): Add new
280 local variable Desig_Typ. Code and comment reformatting. Add
281 machinery to ensure that the allocation uses a fat pointer when
282 the type of the return object is a constrained array and the
283 function return type is an unconstrained array.
284
2852011-09-06 Vincent Celier <celier@adacore.com>
286
287 * make.adb, prj-part.adb, prj-nmsc.adb: Remove unused formal
288 parameters in subprograms.
289
2902011-09-06 Arnaud Charlet <charlet@adacore.com>
291
292 * s-taprop-mingw.adb (Finalize_TCB): Fix typo.
293
2942011-09-06 Thomas Quinot <quinot@adacore.com>
295
296 * s-taprop-vxworks.adb, s-tpoaal.adb, s-tpopsp-vxworks.adb
297 (System.Tasking.Primitive_Operations.Specific.Delete): Remove
298 subprogram.
299 (System.Tasking.Primitive_Operations.Specific.Set): If argument
300 is null, destroy task specific data, to make API consistent with
301 other platforms, and thus compatible with the shared version
302 of s-tpoaal.adb.
303 (System.Tasking.Primitive_Operations.ATCB_Allocation.Free_ATCB):
304 Document the above assumption.
305
f4f92d9d
AC
3062011-09-06 Ed Schonberg <schonberg@adacore.com>
307
308 * exp_ch6.adb (Expand_Inlined_Call): Fix use of uninitialized
309 variable for type of return value when return type is
310 unconstrained and context is an assignment.
311
3122011-09-06 Ed Schonberg <schonberg@adacore.com>
313
314 * sem_ch8.adb (Check_Class_Wide_Actual): Do not generate body of
315 class-wide operation if expansion is not enabled.
316
3172011-09-06 Eric Botcazou <ebotcazou@adacore.com>
318
319 * checks.adb (Apply_Scalar_Range_Check): Deal with access
320 type prefix.
321
3222011-09-06 Yannick Moy <moy@adacore.com>
323
324 * sem_ch13.adb (Analyze_Aspect_Specifications, case
325 Aspect_Invariant): Do not issue error at this point on illegal
326 pragma placement, as this is checked later on when analyzing
327 the corresponding pragma.
328 * sem_prag.adb (Error_Pragma_Arg_Alternate_Name): New procedure
329 similar to Error_Pragma_Arg, except the source name of the
330 aspect/pragma to use in warnings may be equal to parameter
331 Alt_Name (Analyze_Pragma, case Pragma_Invariant): refine error
332 message to distinguish source name of pragma/aspect, and whether
333 the illegality resides in the type being public, or being private
334 without a public declaration
335
3362011-09-06 Thomas Quinot <quinot@adacore.com>
337
338 * g-socket.adb (Check_For_Fd_Set): On Windows, no need for bitmap
339 size check (fd_set is implemented differently on that platform).
340
3412011-09-06 Thomas Quinot <quinot@adacore.com>
342
343 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
344 s-tpoaal.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
345 s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop.ads,
346 s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
347 (ATCB_Allocation): New subpackage of
348 System.Tasking.Primitive_Operations, shared across all targets
349 with full tasking runtime.
350 (ATCB_Allocation.New_ATCB): Moved there (from target specific
351 s-taprop bodies).
352 (ATCB_Allocation.Free_ATCB): New subprogram. Deallocate an ATCB,
353 taking care of establishing a local temporary ATCB if the one
354 being deallocated is Self, to avoid a reference to the freed
355 ATCB in Abort_Undefer.
356
3572011-09-06 Thomas Quinot <quinot@adacore.com>
358
359 * s-tassta.adb, s-taskin.ads (Free_Task): If the task is not
360 terminated, mark it for deallocation upon termination.
361 (Terminate_Task): Call Free_Task again if the task is marked
362 for automatic deallocation upon termination.
363
df177175
RD
3642011-09-06 Robert Dewar <dewar@adacore.com>
365
366 * a-cbprqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cusyqu.ads,
367 a-intnam-aix.ads, a-intnam-darwin.ads, a-intnam-dummy.ads,
368 a-intnam-freebsd.ads, a-intnam-hpux.ads, a-intnam-irix.ads,
369 a-intnam-linux.ads, a-intnam-lynxos.ads, a-intnam-mingw.ads,
370 a-intnam-solaris.ads, a-intnam-tru64.ads,
371 a-intnam-vms.ads, a-intnam-vxworks.ads, a-intnam.ads, interfac.ads,
372 cstand.adb, s-maccod.ads: Mark all entities as Implementation_Defined
373 * einfo.ads, einfo.adb (Is_Implementation_Defined): New flag
374 * par-prag.adb: Add dummy entry for pragma Implementation_Defined
375 * s-rident.ads: Add new restriction No_Implementation_Identifiers
376 Add new profile No_Implementation_Extensions
377 * sem_prag.adb: Implement pragma Implementation_Defined Implement
378 profile No_Implementation_Extensions
379 * sem_util.adb: Minor reformatting (Set_Entity_With_Style_Check):
380 Check violation of restriction No_Implementation_Identifiers
381 * snames.ads-tmpl: Add entries for pragma Implementation_Defined
382 Add entry for Name_No_Implementation_Extensions
383
3842011-09-06 Robert Dewar <dewar@adacore.com>
385
386 * impunit.ads: Minor reformatting.
387
b991dd43
AC
3882011-09-06 Robert Dewar <dewar@adacore.com>
389
390 * ali.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
391
3922011-09-06 Pascal Obry <obry@adacore.com>
393
394 * s-osinte-linux.ads, s-oscons-tmplt.c: Use oscons to define sigset_t
395 types.
396
516785cc
AC
3972011-09-06 Robert Dewar <dewar@adacore.com>
398
399 * g-socket.adb: Minor reformatting
400
4012011-09-06 Javier Miranda <miranda@adacore.com>
402
403 * ali.adb (Scan_ALI): Add missing support to load references of
404 entities imported from other languages.
405 * ali.ads (Xref_Record): Adding new fields to store the language and
406 name of an imported entity.
407 * lib-xref.adb (Output_Import_Export_Info): Fix typo
408 in comment.
409
4102011-09-06 Ed Schonberg <schonberg@adacore.com>
411
412 * sem_prag.adb (Analyze_Pragma, case Type_Invariant): A type invariant
413 is allowed on a full type declaration if it is the completion of
414 a private declarations.
415 * sem_ch13.adb (Analyze_Aspect_Specifications): An invariant
416 aspect is allowed on a full type declaration in the private part
417 of a package.
418
96691943
AC
4192011-09-06 Robert Dewar <dewar@adacore.com>
420
421 * sem_ch8.ads: Minor reformatting
422
4232011-09-06 Thomas Quinot <quinot@adacore.com>
424
425 * s-oscons-tmplt.c, g-socket.adb (GNAT.Sockets.Clear,Set,Is_Set):
426 Guard against socket values that are not in [0;FD_SETSIZE[
427
54bf19e4
AC
4282011-09-06 Robert Dewar <dewar@adacore.com>
429
430 * s-osinte-linux.ads, a-iteint.ads, exp_ch6.adb, s-solita.adb: Minor
431 reformatting.
432
4332011-09-06 Arnaud Charlet <charlet@adacore.com>
434
435 * s-linux-alpha.ads: Minor reformatting
436 * s-oscons-tmplt.c: Fix generated comments in s-oscons template.
437 Use sizeof instead of corresponding C defines in s-oscons template.
438
5d42cba1
VG
4392011-09-06 Vadim Godunko <godunko@adacore.com>
440
441 * a-convec.ads, a-iteint.ads: Minor reformatting.
442
77aa62e7
AC
4432011-09-06 Vincent Celier <celier@adacore.com>
444
445 * projects.texi: Add menus and @node lines.
446
4472011-09-06 Ed Schonberg <schonberg@adacore.com>
448
449 * exp_ch6.adb (Expand_Inlined_Call): Handle properly the case
450 where the return type is an unconstrained array and the context
451 is an assignment. Optimize the case when the target of the
452 assignment is a selected component.
453
4542011-09-06 Arnaud Charlet <charlet@adacore.com>
455
456 * s-solita.adb: Update comments.
457
4582011-09-06 Pascal Obry <obry@adacore.com>
459
460 * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, s-linux-mipsel.ads,
461 s-linux-sparc.ads: Remove hard coded and now wrong definitions.
462 * s-oscons-tmplt.c: Add support for generating pthread related
463 types size on GNU/Linux as done for Darwin.
464 * s-osinte-linux.ads: Use s-oscons to define the pthread types.
465
886b5a18
AC
4662011-09-06 Robert Dewar <dewar@adacore.com>
467
468 * exp_ch6.adb: Fix minor typo.
469
4702011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
471
472 * exp_ch7.adb: Remove with and use clauses for Get_Targ.
473 (Alignment_Of): Moved to the body of Nearest_Multiple_Rounded_Up.
474 (Double_Size_Of): Alphabetized. Update the comment on usage.
475 (Make_Finalize_Address_Stmts): Update comments and reformat code.
476 (Nearest_Multiple_Rounded_Up): New routine.
477 (Size_Of): Update comment on usage. The generated expression now
478 accounts for alignment gaps by rounding the size of the type to the
479 nearest multiple rounded up of the type's alignment.
480
57a3fca9
AC
4812011-09-06 Robert Dewar <dewar@adacore.com>
482
483 * exp_ch7.adb, g-comlin.adb: Minor reformatting.
484
4852011-09-06 Steve Baird <baird@adacore.com>
486
487 * exp_ch4.adb (Expand_Allocator_Expression): Look through
488 derived subprograms in checking for presence of an
489 Extra_Accessibility_Of_Result formal parameter.
490 * exp_ch6.adb (Expand_Call): Look through derived subprograms in
491 checking for presence of an Extra_Accessibility_Of_Result formal
492 parameter.
493 (Expand_Call.Add_Actual_Parameter): Fix a bug in the
494 case where the Parameter_Associatiations attribute is already set,
495 but set to an empty list.
496 (Needs_Result_Accessibility_Level):
497 Unconditionally return False. This is a temporary
498 change, disabling the Extra_Accessibility_Of_Result
499 mechanism.
500 (Expand_Simple_Function_Return): Check for
501 Extra_Accessibility_Of_Result parameter's presence instead of
502 testing Ada_Version when generating a runtime accessibility
503 check which makes use of the parameter.
504
eaed0c37
AC
5052011-09-06 Ed Schonberg <schonberg@adacore.com>
506
507 * exp_ch4.adb (Expand_N_Case_Expression): Actions created for the
508 expression in a given case alternative must be attached to the
509 statement list of the ccrresponding case statement alternative
510 They cannot be propagated ahead of the case statement, because
511 the validity of the expression that generated the action may
512 hold only for that alternative.
513
5142011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
515
516 * exp_ch7.adb: Remove with and use clauses for Get_Targ.
517 (Alignment_Of): Remove the code for strict alignment targets.
518 (Double_Alignment_Of): Removed.
519 (Double_Size_Of): New routine.
520 (Make_Finalize_Address_Stmts): Change the
521 calculation of the dope's size. Update relevant comments.
522 (Size_Of): New routine.
523
b8a93198
AC
5242011-09-06 Steve Baird <baird@adacore.com>
525
526 * einfo.ads (Extra_Accessibility): Update associated comment to use
527 the term "present" correctly ("present" just means that it is not
528 an error to query the value of the attribute - it does not imply
529 that the value must be non-null).
530 (Extra_Constrained): Ditto.
531 (Is_Visible_Formal): Ditto.
532 (Extra_Accessibility_Of_Result) Ditto; also add Inline pragma.
533 (Set_Extra_Accessibility_Of_Result): Add Inline pragma.
534 * exp_ch4.adb (Expand_Allocator_Expression): Improve a comment.
535 * exp_ch6.adb (Expand_Call): The callee may require an
536 Extra_Accessibility_Of_Result actual parameter even if Ada_Version
537 < Ada_2012. This can occur if the callee is exported from a Gnat
538 runtimes unit. Also improve a comment.
539
5402011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
541
542 * exp_ch7.adb: Add with and use clauses for Get_Targ.
543 (Alignment_Of): Rename formal parameter Some_Typ
544 to Typ, update related comment. Use the allocator alignment on
545 strict alignment targets such as SPARC.
546 (Double_Alignment_Of): Rename formal parameter Some_Typ to Typ, update
547 related comment.
548
5492011-09-06 Gary Dismukes <dismukes@adacore.com>
550
551 * sem_ch9.adb (Check_Interfaces): Test
552 Is_Limited_Type rather than Is_Limited_Record when checking that
553 the partial view of a synchronized full view must be limited.
554
5552011-09-06 Emmanuel Briot <briot@adacore.com>
556
557 * g-comlin.adb (Free): Fix memory leak.
558
ebf494ec
RD
5592011-09-06 Robert Dewar <dewar@adacore.com>
560
561 * sem_util.adb, exp_ch6.adb: Minor reformatting and code reorganization.
562
63585f75
SB
5632011-09-06 Steve Baird <baird@adacore.com>
564
565 * einfo.ads (Extra_Accessibility_Of_Result): New function; in the
566 (Ada2012) cases described in AI05-0234 where the accessibility
567 level of a function result is "determined by the point of
568 call", an implicit parameter representing that accessibility
569 level is passed in. Extra_Accessibilty_Of_Result yields this
570 additional formal parameter. Extra_Accessibility_Of_Result
571 is analogous to the existing Extra_Accessibility
572 function used in the implementation of access parameters.
573 (Set_Extra_Accessibility_Of_Result): New procedure; sets
574 Extra_Accessibility_Of_Result attribute.
575 * einfo.adb (Extra_Accessibility_Of_Result): New function.
576 (Set_Extra_Accessibility_Of_Result): New procedure.
577 (Write_Field19_Name): Display Extra_Accessibilty_Of_Result attribute.
578 * sem_util.adb (Dynamic_Accessibility_Level): Set Etype of
579 an accessibility level literal to Natural; introduce a nested
580 function, Make_Level_Literal, to do this.
581 * exp_ch6.ads (Needs_Result_Accessibility_Level): New function;
582 determines whether a given function (or access-to-function
583 type) needs to have an implicitly-declared accessibility-level
584 parameter added to its profile.
585 (Add_Extra_Actual_To_Call): Export an existing procedure which was
586 previously declared in the body of Exp_Ch6.
587 * exp_ch6.adb (Add_Extra_Actual_To_Call): Export declaration by moving
588 it to exp_ch6.ads.
589 (Has_Unconstrained_Access_Discriminants): New Function; a
590 predicate on subtype entities which returns True if the given
591 subtype is unconstrained and has one or more access discriminants.
592 (Expand_Call): When expanding a call to a function which takes an
593 Extra_Accessibility_Of_Result parameter, pass in the appropriate
594 actual parameter value. In the case of a function call which is
595 used to initialize an allocator, this may not be possible because
596 the Etype of the allocator may not have been set yet. In this
597 case, we defer passing in the parameter and handle it later in
598 Expand_Allocator_Expression.
599 (Expand_Simple_Function_Return): When returning from a function which
600 returns an unconstrained subtype having at least one access
601 discriminant, generate the accessibility check needed to ensure that
602 the function result will not outlive any objects designated by its
603 discriminants.
604 (Needs_Result_Accessibility_Level): New function; see exp_ch6.ads
605 description.
606 * exp_ch4.adb (Expand_Allocator_Expression): When a function call
607 is used to initialize an allocator, we may need to pass in "the
608 accessibility level determined by the point of call" (AI05-0234)
609 to the function. Expand_Call, where such actual parameters are
610 usually generated, is too early in this case because the Etype of
611 the allocator (which is used in determining the level to be passed
612 in) may not have been set yet when Expand_Call executes. Instead,
613 we generate code to pass in the appropriate actual parameter
614 in Expand_Allocator_Expression.
615 * sem_ch6.adb (Create_Extra_Formals): Create
616 the new Extra_Accessibility_Of_Result formal if
617 Needs_Result_Accessibility_Level returns True. This includes the
618 introduction of a nested procedure, Check_Against_Result_Level.
619
1a982c6e
AC
6202011-09-06 Arnaud Charlet <charlet@adacore.com>
621
622 * gcc-interface/Makefile.in (X86_TARGET_PAIRS): Remove duplicate
623 declaration.
624
e42bcfa3
AC
6252011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
626
627 * s-finmas.adb (Set_Finalize_Address): Explain the reason
628 for the synchronization. Move the test for null from
629 s-stposu.Allocate_Any_Controlled to this routine since the check
630 needs to be protected too.
631 (Set_Heterogeneous_Finalize_Address): Explain the reason for the
632 synchronization code.
633 * s-finmas.ads (Set_Heterogeneous_Finalize_Address): Add comment
634 explaining the context in which this routine is used.
635 * s-stposu.adb (Allocate_Any_Controlled): Move the test for null
636 to s-finmas.Set_Finalize_Address.
637
6382011-09-05 Ed Schonberg <schonberg@adacore.com>
639
640 * einfo.ads: Document that itypes have no parent field.
641
6422011-09-05 Robert Dewar <dewar@adacore.com>
643
644 * rtsfind.adb (Check_CRT): Check for overloaded entity
645 * rtsfind.ads: Document that entities to be found by rtsfind
646 cannot be overloaded
647 * s-taenca.adb, s-tasren.adb, s-tpobop.adb, s-tpoben.ads, s-tpoben.adb
648 (Lock_Entries_With_Status): New name for Lock_Entries with two
649 arguments (changed to meet rtsfind no overloading rule).
650
544e7c17
AC
6512011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
652
653 * s-finmas.adb (Set_Finalize_Address (Address,
654 Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
655 (Set_Finalize_Address (in out Finalization_Master,
656 Finalize_Address_Ptr): Add synchronization code.
657 * s-finmas.ads (Set_Finalize_Address (Address,
658 Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
659 * s-stposu.adb (Allocate_Any_Controlled): Update the call to
660 Set_Finalize_Address for the heterogeneous case.
661
6622011-09-05 Ed Schonberg <schonberg@adacore.com>
663
664 * sem_ch3.adb: Undo previous change, not suitable after all.
665
6662011-09-05 Robert Dewar <dewar@adacore.com>
667
668 * einfo.ads: Minor comment clarification.
669
0613fb33
AC
6702011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
671
672 * exp_ch6.adb (Move_Activation_Chain): Rewritten. The routine
673 no longer needs to search through the entities of the return
674 statement scope to find the _chain.
675 * sem_ch5.adb: Add with and use clauses for Exp_Ch6 and Sem_Ch6.
676 (Analyze_Block_Statement): Add local variable
677 Is_BIP_Return_Statement. Add machinery to install all entities
678 produced by the expansion of the return object declaration.
679 (Install_Return_Entities): New routine.
680 * sem_ch6.ads, sem_ch6.adb (Install_Entity): Moved from body to spec.
681
6822011-09-05 Ed Schonberg <schonberg@adacore.com>
683
684 * sem_ch10.adb (Analyze_Context): Apply simple fixup if context
685 of subunit is incomplete.
686 (Analyze_Proper_Body): If parent spec is not available, do not
687 attempt analysis.
688
5dcab3ca
AC
6892011-09-05 Ed Schonberg <schonberg@adacore.com>
690
691 * sem_disp.adb (Find_Controlling_Arg): Add checks for
692 interface type conversions, that are expanded into dereferences.
693
6942011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
695
696 * sem_ch6.adb (Analyze_Subprogram_Body_Helper):
697 Examine the parameter and return profile of a subprogram and swap
698 any incomplete types coming from a limited context with their
699 corresponding non-limited views.
700 (Exchange_Limited_Views): New routine.
701
7022011-09-05 Ed Schonberg <schonberg@adacore.com>
703
704 * sem_ch3.adb (Prepare_Private_Subtype_Completion): Set parent
705 of internal entity to the subtype declaration, so that when
706 entities are subsequently exchanged in a package body, the tree
707 remains properly formatted for ASIS.
708
8da1a312
AC
7092011-09-05 Johannes Kanig <kanig@adacore.com>
710
711 * g-comlin.adb (Set_Usage): Additional optional argument to set help
712 message.
713 (Display_Help): display the user given help message, if available.
714
7152011-09-05 Ed Schonberg <schonberg@adacore.com>
716
717 * sem_ch3.adb (OK_For_Limited_Init_In_05): The expression
718 is legal if the original node is an identifier that is a
719 parameterless function call.
720
69b73847
PO
7212011-09-05 Pascal Obry <obry@adacore.com>
722
723 * prj-nmsc.adb: Minor reformatting.
724 Add support for standalone aggregate library.
725 (Check_Stand_Alone_Library): Handle standalone aggregate library.
726 * projects.texi: Fix documentation for aggregate library projects.
727
81bf2382
AC
7282011-09-05 Robert Dewar <dewar@adacore.com>
729
730 * sem_ch6.adb: Minor reformatting.
731
7322011-09-05 Matthew Gingell <gingell@adacore.com>
733
734 * s-tassta.adb (Task_Wrapper): Ensure that we don't try to write the
735 stack guard page on PPC Linux. This patch ensures the 64K guard page at
736 the bottom of the stack is not overwritten.
737
13a0b1e8
AC
7382011-09-05 Thomas Quinot <quinot@adacore.com>
739
740 * exp_intr.adb, s-tasini.adb: Minor reformatting.
741
7422011-09-05 Ed Schonberg <schonberg@adacore.com>
743
744 * sem_ch3.adb (Access_Definition): If an access type declaration
745 appears in a child unit, the scope of whatever anonymous type
746 may be generated is the child unit itself.
747
7482011-09-05 Ed Schonberg <schonberg@adacore.com>
749
750 * sem_ch6.adb (Analyze_Expression_Function): Do not set
751 Comes_From_Source on rewritten body.
752 (Analyze_Subprogram_Body_Helper): Check that the original node for
753 the body comes from source, when determining whether expansion
754 of a protected operation is needed.
755
20428725
AC
7562011-09-05 Ed Schonberg <schonberg@adacore.com>
757
758 * exp_aggr.adb (Replace_Type): If the target of the assignment is
759 a selected component and the right-hand side is a self-referential
760 access, the proper prefix of the rewritten attribute is a copy
761 of the left-hand side, not of its prefix.
762
7632011-09-05 Robert Dewar <dewar@adacore.com>
764
765 * sem_ch5.adb: Minor reformatting.
766 * sem_ch3.adb: Minor code clean up.
767
7682011-09-05 Jose Ruiz <ruiz@adacore.com>
769
770 * exp_ch9.adb (Make_Initialize_Protection): The fact that
771 restriction No_Dynamic_Attachment is in effect or not should
772 not influence the default priority associated to a protected
773 object. With this change, when the restriction is in effect (as
774 is the case for the Ravenscar profile) the default priority of
775 a protected object with an interrupt handler is in the range of
776 interrupt priorities (Default_Interrupt_Priority) as required
777 by D.3(10).
778
7792011-09-05 Arnaud Charlet <charlet@adacore.com>
780
781 * a-iteint.ads: Fix header.
782
7832011-09-05 Vincent Celier <celier@adacore.com>
784
785 * prj-conf.adb (Do_Autoconf): Make sure Obj_Dir always ends
786 with a directory separator to avoid output such as:
787 "/path/to/objauto.cgpr" has been deleted.
788
4a1bfefb
AC
7892011-09-05 Robert Dewar <dewar@adacore.com>
790
791 * sem_ch3.adb: Minor reformatting.
792
7932011-09-05 Ed Schonberg <schonberg@adacore.com>
794
795 * sem_ch5.adb: Better error message.
796
7972011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
798
799 * exp_aggr.adb: Add with and use clause for Exp_Ch6.
800 (Expand_Array_Aggregate): Detect a special case of an aggregate
801 which contains tasks in the context of an unexpanded return
802 statement of a build-in-place function.
803 * exp_ch6.adb: Add with and use clause for Exp_Aggr.
804 (Expand_N_Extended_Return_Statement): Detect a delayed aggregate
805 which contains tasks and expand it now that the original simple
806 return statement has been rewritten.
807 * exp_ch9.adb (Build_Activation_Chain_Entity): Code
808 reformatting. Do not create a chain for an extended return
809 statement if one is already available.
810 (Has_Activation_Chain): New routine.
811
9ec080cb
AC
8122011-09-05 Marc Sango <sango@adacore.com>
813
814 * sem_ch3.adb (Analyze_Object_Declaration): Remove
815 the wrong test and add the correct test to detect the violation
816 of illegal use of unconstrained string type in SPARK mode.
817
8182011-09-05 Ed Schonberg <schonberg@adacore.com>
819
820 * sem_ch5.adb (Analyze_Iteration_Specification): Improve error
821 message on an iterator over an array.
822
8232011-09-05 Robert Dewar <dewar@adacore.com>
824
825 * lib-xref-alfa.adb: Minor reformatting.
826
aeae67ed
RD
8272011-09-05 Robert Dewar <dewar@adacore.com>
828
829 * sem_ch3.adb, sem_res.adb, par.adb, par-ch6.adb, g-comlin.adb,
830 exp_ch6.adb, lib-xref-alfa.adb: Minor reformatting.
831
d72e7628
AC
8322011-09-05 Gary Dismukes <dismukes@adacore.com>
833
834 * exp_ch7.adb, exp_ch6.adb: Minor reformatting.
835
8362011-09-05 Johannes Kanig <kanig@adacore.com>
837
838 * lib-xref-alfa.adb: Update comments.
839
8402011-09-05 Thomas Quinot <quinot@adacore.com>
841
842 * sem_res.adb: Minor reformatting
843
0d566e01
ES
8442011-09-05 Ed Schonberg <schonberg@adacore.com>
845
846 * exp_ch6.adb (Build_In_Place_Formal): If extra formals are not
847 present, create them now. Needed in case the return type was
848 a limited view in the function declaration.
849 (Make_Build_In_Place_Call_In_Allocator): If return type contains
850 tasks, build the activation chain for it. Pass a reference to
851 the Master_Id in call to Add_Task_Actuals_To_Build_In_Place call.
852 * exp_ch7.adb (Make_Set_Finalize_Address_Call): Clean up interface
853 with build_in_place calls.
854 * sem_ch9.adb (Analyze_Task_Type_Declaration): If partial view was
855 incomplete, inatialize its Corresponding_Record_Type component.
856 * sem_ch10.adb (Build_Chain): Initialize Private_Dependents field
857 of limited views.
858
ec09f261
AC
8592011-09-05 Johannes Kanig <kanig@adacore.com>
860
861 * lib-xref-alfa.adb (Is_Alfa_Reference): Filter constants from effect
862 information.
863
8642011-09-05 Ed Schonberg <schonberg@adacore.com>
865
866 * par-ch6.adb (P_Subprogram): In Ada2012 mode, if the subprogram
867 appears within a package specification and the token after "IS"
868 is not a parenthesis, assume that this is an unparenthesized
869 expression function, even if the token appears in a line by
870 itself.
871 * par.adb: Clarify use of Labl field of scope stack in error
872 recovery.
873
7109f4f5
AC
8742011-09-05 Bob Duff <duff@adacore.com>
875
876 * sem_res.adb (Resolve_Intrinsic_Operator): Use unchecked
877 conversions instead of normal type conversions in all cases where a
878 type conversion would be illegal. In particular, use unchecked
879 conversions when the operand types are private.
880
8812011-09-05 Johannes Kanig <kanig@adacore.com>
882
883 * lib-xref-alfa.adb (Is_Alfa_Reference): Never declare effects on
884 objects of task type or protected type.
885
66dc8075
AC
8862011-09-05 Ed Schonberg <schonberg@adacore.com>
887
888 * sem_ch6.adb (Analyze_Expression_Function): If the expression
889 function comes from source, indicate that so does its rewriting,
890 so it is compatible with any subsequent expansion of the
891 subprogram body (e.g. when it is a protected operation).
892 * sem_ch4.adb: minor reformatting
893
8942011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
895
896 * lib.adb (Check_Same_Extended_Unit): Comment rewriting. Use
897 Get_Source_Unit rather than Get_Code_Unit as instantiation unfolding
898 may lead to wrong ancestor package in the case of instantiated subunit
899 bodies. If a subunit is instantiated, follow the chain of instantiations
900 rather than the stub structure.
901
bd38b431
AC
9022011-09-02 Robert Dewar <dewar@adacore.com>
903
904 * sem_ch4.adb, sem_ch6.adb: Minor reformatting.
905 * gcc-interface/Make-lang.in: Update dependencies.
906
9072011-09-02 Marc Sango <sango@adacore.com>
908
909 * sem_ch3.adb (Analyze_Object_Declaration): Change
910 comment and add additional check to differentiate constant of
911 type string from others unconstrained type.
912
99d520ad
ES
9132011-09-02 Ed Schonberg <schonberg@adacore.com>
914
915 * sinfo.ads, sinfo.adb: New semantic attribute Premature_Use,
916 present in incomplete type declarations to refine the error
917 message the full declaration is in the same unit.
918 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of
919 an incomplete type, set the Premature_Use for additional message.
920 * sem_ch3.adb (Find_Type_Name): If partial view is incomplete
921 and Premature_Use is set, place additional information at the
922 point of premature use.
923
5b5588dd
AC
9242011-09-02 Bob Duff <duff@adacore.com>
925
926 * sem_ch6.adb: (Check_Post_State): Suppress warning
927 "postcondition refers only to pre-state" when the expression has not
928 yet been analyzed, because it causes false alarms. This can happen when
929 the postcondition contains a quantified expression, because those are
930 analyzed later. This is a temporary/partial fix.
931 (Process_Post_Conditions): Minor: change wording of warning.
932
9332011-09-02 Marc Sango <sango@adacore.com>
934
935 * sem_ch3.adb (Analyze_Object_Declaration): Detect the violation of
936 illegal use of unconstrained string type in SPARK mode.
937 * sem_res.adb (Analyze_Operator_Symbol): Set the
938 right place where the string operand of concatenation should be
939 violate in SPARK mode.
940
bd603506
RD
9412011-09-02 Robert Dewar <dewar@adacore.com>
942
943 * sem_prag.adb, sem_util.adb, sem_ch6.adb, prj-nmsc.adb,
944 exp_ch3.adb: Minor reformatting.
945
24a120ac
AC
9462011-09-02 Vincent Celier <celier@adacore.com>
947
948 * prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Declare "gcc"
949 as the compiler driver so Is_Compilable returns True for sources.
950 * prj-nmsc.adb (Override_Kind): When Kind is Sep, set the source
951 for the body.
952
9532011-09-02 Ed Schonberg <schonberg@adacore.com>
954
955 * sem_prag.adb (Analyze_PPC_In_Decl_Part): for a class-wide
956 condition, a reference to a controlling formal must be interpreted
957 as having the class-wide type (or an access to such) so that the
958 inherited condition can be properly applied to any overriding
959 operation (see ARM12 6.6.1 (7)).
960
9612011-09-02 Tristan Gingold <gingold@adacore.com>
962
963 * init.c (__gnat_is_vms_v7): Fix case and add prototype
964 for LIB$GETSYI.
965
9662011-09-02 Javier Miranda <miranda@adacore.com>
967
968 * exp_ch3.adb (Expand_N_Object_Declaration): Do not copy the
969 initializing expression of a class-wide interface object declaration
970 if its type is limited.
971
9722011-09-02 Johannes Kanig <kanig@adacore.com>
973
974 * sem_util.adb (Unique_Name): To obtain a unique name for enumeration
975 literals, take into account the type name; the type is *not*
976 the scope for an enumeration literal.
977
9782011-09-02 Ed Schonberg <schonberg@adacore.com>
979
980 * sem_ch6.adb (Check_Overriding_Indicator): add special check
981 to reject an overriding indicator on a user-defined Adjust
982 subprogram for a limited controlled type.
983
9842011-09-02 Ed Schonberg <schonberg@adacore.com>
985
986 * sem_res.adb (Resolve_Actuals): add missing call to Resolve
987 for an actual that is a function call returning an unconstrained
988 limited controlled type.
989
9902011-09-02 Tristan Gingold <gingold@adacore.com>
991
992 * g-socthi-vms.adb (c_sendmsg, c_recvmsg): Use unpacked msg if on vms 7
993
9942011-09-02 Johannes Kanig <kanig@adacore.com>
995
996 * alfa.ads (Name_Of_Heap_Variable): Change value of the HEAP variable
997 from "HEAP" to __HEAP Change comment that refers to that variable
998 * put_alfa.adb: Change comment that refers to that variable
999
c5f5123f
AC
10002011-09-02 Robert Dewar <dewar@adacore.com>
1001
1002 * exp_ch4.adb, exp_ch6.adb, prj-nmsc.adb: Minor reformatting.
1003
10042011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
1005
1006 * exp_util.adb (Extract_Renamed_Object): Renamed to
1007 Find_Renamed_Object. This routine has been reimplemented and now uses
1008 tree traversal to locate a renamed object.
1009 (Is_Aliased): Replace call to Extract_Renamed_Object with
1010 Find_Renamed_Object.
1011
10122011-09-02 Tristan Gingold <gingold@adacore.com>
1013
1014 * init.c: (__gnat_is_vms_v7): New function.
1015
10162011-09-02 Olivier Hainque <hainque@adacore.com>
1017
1018 * tracebak.c (STOP_FRAME, ppc elf/vxworks case): Stop on frames
1019 that have a misaligned backchain, necessarily bogus.
1020
2bfa5484
HK
10212011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
1022
1023 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not create
1024 TSS routine Finalize_Address when compiling in Alfa mode.
1025 (Expand_Freeze_Record_Type): Do not create TSS routine
1026 Finalize_Address when compiling in Alfa mode.
1027 * exp_ch4.adb (Expand_Allocator_Expression): Do not produce a
1028 call to Set_Finalize_Address in Alfa mode because Finalize_Address is
1029 not built.
1030 (Expand_N_Allocator): Do not produce a call to
1031 Set_Finalize_Address in Alfa mode because Finalize_Address is not built.
1032 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not
1033 produce a call to primitive Set_Finalize_Address in Alfa mode because
1034 Finalize_Address is not built.
1035 * exp_ch7.adb (Build_Finalization_Master): Do not create
1036 finalization masters in Afa mode since they are not needed.
1037 (Build_Finalizer): Do not create scope and library-level
1038 finalizers in Alfa mode since they are not needed.
1039 * exp_util.adb (Build_Allocate_Deallocate_Proc): Do not expand
1040 "new" and "free" when applied to controlled objects in Alfa mode since
1041 this is not needed.
1042
7a0ddd20
AC
10432011-09-02 Vincent Celier <celier@adacore.com>
1044
1045 * prj-nmsc.db: (Check_Stand_Alone_Library): For SALs, allow
1046 only library names with the syntax of Ada identifiers, to avoid errors
1047 when compiling the binder generated files.
1048 * projects.texi: Document restriction on SAL library names
1049
10502011-09-02 Thomas Quinot <quinot@adacore.com>
1051
1052 * a-chtgbo.adb: Minor comment fix.
1053
439b6dfa
AC
10542011-09-02 Robert Dewar <dewar@adacore.com>
1055
1056 * lib-xref.adb: Minor reformatting
1057
10582011-09-02 Vincent Celier <celier@adacore.com>
1059
1060 * bindusg.adb, clean.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
1061 gnatls.adb, gnatname.adb, gnatxref.adb, gprep.adb, makeusg.adb: Add
1062 --version and --help in usage.
1063 * switch.ads, switch.adb (Display_Usage_Version_And_Help): New procedure
1064
f2404867
AC
10652011-09-02 Bob Duff <duff@adacore.com>
1066
1067 * lib-xref.adb: (Hash): Avoid use of 'Mod attribute, because old
1068 compilers don't understand it.
1069
10702011-09-02 Gary Dismukes <dismukes@adacore.com>
1071
1072 * exp_attr.adb (Expand_N_Attribute_Reference): Pass the
1073 underlying subtype rather than its base type on the call to
1074 Build_Record_Or_Elementary_Input_Function, so that any
1075 constraints on a discriminated subtype will be available for
1076 doing the check required by AI05-0192.
1077 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
1078 If the prefix subtype of the 'Input attribute is a constrained
1079 discriminated subtype, then check each constrained discriminant value
1080 against the corresponding value read from the stream.
1081
029b67ba
YM
10822011-09-02 Yannick Moy <moy@adacore.com>
1083
1084 * usage.adb, warnsw.adb, sem_ch6.adb, opt.ads: Disable by default
1085 warnings on suspicious contracts, and enable them with -gnatwa.
1086
dc36a7e3
RD
10872011-09-02 Robert Dewar <dewar@adacore.com>
1088
1089 * exp_util.adb, exp_ch9.adb, sem_attr.adb, sem_ch6.adb: Minor
1090 reformatting.
1091
d5aa443c
AC
10922011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
1093
1094 * exp_ch9.adb (Install_Private_Data_Declarations): Add guards
1095 which ensure that restriction No_Dynamic_Attachment has not been
1096 violated.
1097 (Make_Initialize_Protection): Protected types with attach or
1098 interrupt handlers must not violate restriction No_Dynamic_Attachment.
1099 * exp_util.adb (Corresponding_Runtime_Package): Add a guard
1100 which ensures that restriction No_Dynamic_Attachment has not been
1101 violated.
1102 * sem_attr.adb: (Eval_Attribute): Transform
1103 VAX_Float_Type'First and 'Last into references to
1104 the temporaries which store the corresponding bounds. The
1105 transformation is needed since the back end cannot evaluate
1106 'First and 'Last on VAX.
1107 (Is_VAX_Float): New routine.
1108
11092011-09-02 Ed Schonberg <schonberg@adacore.com>
1110
1111 * sem_ch12.adb (Analyze_Subprogram_Instantiation): If the
1112 generic unit is not intrinsic and has an explicit convention,
1113 the instance inherits it.
1114
67c86178
AC
11152011-09-02 Robert Dewar <dewar@adacore.com>
1116
1117 * prj-dect.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, prj-tree.adb,
1118 prj.adb, prj.ads, sem_ch5.adb: Minor reformatting.
1119
11202011-09-02 Thomas Quinot <quinot@adacore.com>
1121
1122 * sem_attr.adb (Analyze_Attribute, case Unrestriced_Access):
1123 Guard against a prefix that is an N_Has_Entity but has no
1124 associated entity.
1125
11262011-09-02 Yannick Moy <moy@adacore.com>
1127
1128 * lib-xref-alfa.adb (Is_Alfa_Reference): Ignore IN parameters in Alfa
1129 references.
1130
11312011-09-02 Yannick Moy <moy@adacore.com>
1132
1133 * opt.ads (Warn_On_Suspicious_Contract): New warning flag.
1134 * sem_ch3.adb (Analyze_Declarations): Call checker for suspicious
1135 contracts.
1136 * sem_ch6.adb, sem_ch6.ads (Check_Subprogram_Contract): New
1137 procedure looking for suspicious postconditions.
1138 * usage.adb (Usage): New options -gnatw.t and -gnatw.T.
1139 * warnsw.adb (Set_Dot_Warning_Switch): Take into account new
1140 options -gnatw.t and -gnatw.T.
1141
735ca1b9
PO
11422011-09-02 Pascal Obry <obry@adacore.com>
1143
1144 * prj.adb: Minor code refactoring. Move check for null project in
1145 Project_Changed.
1146 * projects.texi: Fix minor typos.
1147
86828d40
AC
11482011-09-02 Ed Schonberg <schonberg@adacore.com>
1149
1150 * sem_ch5.adb (Analyze_Iterator_Specification): If the domain
1151 of iteration is an expression, its value must be captured in a
1152 renaming declaration, so that modification of the elements is
1153 propagated to the original container.
1154
11552011-09-02 Pascal Obry <obry@adacore.com>
1156
1157 * prj-proc.adb, prj.adb, makeutl.adb, makeutl.ads, prj-dect.adb,
1158 prj-nmsc.adb, prj-util.adb, prj-conf.adb, prj-env.adb,
1159 prj-tree.adb: Minor reformatting and style fixes.
1160
83de674b
AC
11612011-09-02 Robert Dewar <dewar@adacore.com>
1162
1163 * s-rident.ads: Add new restriction No_Implicit_Aliasing
1164 * sem_attr.adb: (Analyze_Access_Attribute): Deal with
1165 No_Implicit_Aliasing
1166 (Analyze_Attribute, case Address): ditto
1167 (Analyze_Attribute, case Unrestricted_Access): ditto
1168 * sem_util.ads, sem_util.adb: (Is_Aliased_View): Handle
1169 No_Implicit_Aliasing restriction.
1170 * gnat_rm.texi: Add documentation for No_Implicit_Aliasing
1171
11722011-09-02 Ed Schonberg <schonberg@adacore.com>
1173
1174 * exp_util.adb: (Possible_Bit_Aligned_Object): If the object
1175 is an unchecked conversion, apply test to its expression.
1176
11772011-09-02 Javier Miranda <miranda@adacore.com>
1178
1179 * sem_ch3.adb (Check_Abstract_Overriding): When
1180 traversing the chain of aliased subprograms avoid reporting a
1181 redundant error on the current entity.
1182
11832011-09-02 Sergey Rybin <rybin@adacore.com>
1184
1185 * gnat_ugn.texi: Minor clean up.
1186
11872011-09-02 Bob Duff <duff@adacore.com>
1188
1189 * s-htable.adb (Set_If_Not_Present): Use renaming
1190 instead of ":=", because the type Key is limited in the generic (even
1191 if not in the instances).
1192
2c17ca0a
AC
11932011-09-02 Robert Dewar <dewar@adacore.com>
1194
1195 * exp_util.adb, sem_ch10.adb, sem_attr.adb, s-htable.adb,
1196 g-comlin.adb, g-comlin.ads, lib-xref-alfa.adb, lib-xref.adb: Minor
1197 reformatting.
1198
11992011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
1200
1201 * sem_ch3.adb: (Set_Anonymous_Type): Associate the itype of an
1202 inherited component with the enclosing derived type. Code reformatting.
1203
12042011-09-02 Gary Dismukes <dismukes@adacore.com>
1205
1206 * checks.adb: (Determine_Range): Add test of OK1 to prevent the early
1207 return done when overflow checks are enabled, since comparisons against
1208 Lor and Hir should not be done when OK1 is False.
1209
12102011-09-02 Gary Dismukes <dismukes@adacore.com>
1211
1212 * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
1213 Add new formal Master_Exp. When present, add that expression to the
1214 call as an extra actual.
1215 (Make_Build_In_Place_Call_In_Object_Declaration): Add variable
1216 Fmaster_Actual and in the case of a BIP call initializing a return
1217 object of an enclosing BIP function set it to a
1218 new reference to the implicit finalization master
1219 formal of the enclosing function. Fmaster_Actual is
1220 then passed to the new formal Master_Exp on the call to
1221 Add_Finalization_Master_Actual_To_Build_ In_Place_Call. Move
1222 initializations of Enclosing_Func to its declaration.
1223
12242011-09-02 Thomas Quinot <quinot@adacore.com>
1225
1226 * csets.ads: Minor reformatting
1227
12282011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
1229
1230 * exp_aggr.adb: (Get_Constraint_Association): Add code to retrieve
1231 the full view of a private type coming from an instantiation.
1232 * exp_ch4.adb: (Current_Anonymous_Master): Reimplement the search
1233 loop to iterate over the declarations rather than use the
1234 First_Entity / Next_Entity scheme.
1235
ed32b82e
ES
12362011-09-02 Ed Schonberg <schonberg@adacore.com>
1237
1238 * sem_attr.adb: (Analyze_Attribute, case 'Range): when expanding
1239 X'range (N) into X'First (N) .. X'Last (N), do not share the
1240 dimension indicator N, if present. Even though it is a static
1241 constant, its source location may be modified when printing
1242 expanded code under -gnatDL, and node sharing will lead to chaos
1243 in Sprint on large files, by generating a sloc value that does
1244 not correspond to any source file.
1245
f7bb41af
AC
12462011-09-02 Bob Duff <duff@adacore.com>
1247
1248 * einfo.adb: (Has_Xref_Entry): Do not call
1249 Implementation_Base_Type. Lib.Xref has been
1250 rewritten to avoid the need for it, and it was costly.
1251 * s-htable.ads,s-htable.adb: (Present,Set_If_Not_Present): New
1252 functions in support of efficient xref.
1253 * lib-xref-alfa.adb: Misc changes related to Key component of
1254 type Xref_Entry.
1255 * lib-xref.adb: (Add_Entry,etc): Speed improvement.
1256 (New_Entry): Call Implementation_Base_Type, because Has_Xref_Entry
1257 no longer does. This is the one place where it is needed.
1258
12592011-09-02 Johannes Kanig <kanig@adacore.com>
1260
1261 * g-comlin.adb (Getopt): New optional argument Concatenate to have
1262 similar interface as the other Getopt function.
1263
12642011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
1265
1266 * exp_ch4.adb: (Expand_Allocator_Expression): Do not generate
1267 a call to Set_Finalize_Address if there is no allocator available.
1268 * exp_util.adb: (Build_Allocate_Deallocate_Proc): Account for
1269 a case of allocator expansion where the allocator is not expanded but
1270 needs a custom allocate routine. Code reformatting.
1271 (Is_Finalizable_Transient): Remove local variables Has_Rens and
1272 Ren_Obj. Code reformatting.
1273 (Is_Renamed): Renamed to Is_Aliased. Add code to detect aliasing
1274 through the use of 'reference.
1275 * sem_ch4.adb: (Analyze_Allocator): Detect allocators generated
1276 as part of build-in-place expansion. They are intentionally marked as
1277 coming from source, but their parents are not.
1278
bd0bc43e
AC
12792011-09-02 Ed Schonberg <schonberg@adacore.com>
1280
1281 * sem_ch10.adb (Analyze_With_Clause): If the library unit
1282 is the generated subprogram declaration for a child unit body
1283 that acts as spec, use the original body in the with_clause,
1284 to prevent binding errors.
1285
12862011-09-02 Vincent Celier <celier@adacore.com>
1287
1288 * gnat_ugn.texi: Adapt documentation of -gnateInnn to new VMS
1289 qualifier /MULTI_UNIT_INDEX=
1290
12912011-09-02 Johannes Kanig <kanig@adacore.com>
1292
1293 * g-comlin.adb (Getopt): Return when switch is dealt with automatically,
1294 instead of calling the callback function
1295
9fdb5d21
RD
12962011-09-02 Robert Dewar <dewar@adacore.com>
1297
1298 * prj-proc.adb, prj.ads, sem_util.adb, s-taprop-linux.adb,
1299 prj-nmsc.adb, prj-util.ads, prj-env.adb: Minor reformatting.
1300
c6d5d1ac
AC
13012011-09-02 Vincent Celier <celier@adacore.com>
1302
1303 * prj-nmsc.adb: (Find_Sources): When the list of sources is
1304 explicitly declared in an extending project, do not warn if a source
1305 for an inherited naming exception is not found.
1306
13072011-09-02 Gary Dismukes <dismukes@adacore.com>
1308
1309 * exp_ch6.adb: (Is_Build_In_Place_Function_Call): Return False if
1310 expansion is inactive.
1311
13122011-09-02 Ed Schonberg <schonberg@adacore.com>
1313
1314 * sem_util.adb (Note_Possible_Modification): If the entity
1315 being modified is the renaming generated for an Ada2012 iterator
1316 element, the enclosing container or array is modified as well.
1317
2ba1a7c7
AC
13182011-09-02 Jose Ruiz <ruiz@adacore.com>
1319
1320 * s-taprop-linux.adb (Initialize_Lock, Initialize_TCB,
1321 Initialize): Define and initialize the
1322 mutex attributes and condition variable attributes locally.
1323
13242011-09-02 Vincent Celier <celier@adacore.com>
1325
1326 * prj-nmsc.adb (Check_File): Mark as Locally_Removed a naming
1327 exception replaced in an extending project.
1328 (Check_Object): No error when the other source is locally removed.
1329
13302011-09-02 Yannick Moy <moy@adacore.com>
1331
1332 * exp_ch6.adb (Is_Build_In_Place_Function_Call): in Alfa mode, allow
1333 unresolved calls.
1334
d51813db
AC
13352011-08-31 Arnaud Charlet <charlet@adacore.com>
1336
1337 * gcc-interface/Makefile.in: Clean up handling of x86 and x86-64
1338 run-time files.
1339 * gcc-interface/Make-lang.in: Update dependencies.
1340
9f55bc62
AC
13412011-09-01 Robert Dewar <dewar@adacore.com>
1342
1343 * sem_ch3.adb, s-taprop-linux.adb, gnatls.adb: Minor reformatting.
1344
13452011-09-01 Jose Ruiz <ruiz@adacore.com>
1346
1347 * adaint.h (__gnat_cpu_free): Fix the name of this profile.
1348 * adaint.c (__gnat_cpu_alloc, __gnat_cpu_alloc_size, __gnat_cpu_free,
1349 __gnat_cpu_zero, __gnat_cpu_set): Create version of these subprograms
1350 specific for systems where their glibc version does not define the
1351 routines to handle dynamically allocated CPU sets.
1352
13532011-09-01 Vincent Celier <celier@adacore.com>
1354
1355 * prj-proc.adb, prj.ads, prj-nmsc.adb, prj-util.adb, prj-util.ads,
1356 prj-env.adb: Implement inheritance of naming exceptions in extending
1357 projects.
1358
d7386a7a
AC
13592011-09-01 Romain Berrendonner <berrendo@adacore.com>
1360
1361 * gnatls.adb: Display simple message instead of content of
1362 gnatlic.adl.
1363
13642011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
1365
1366 * sem_ch3.adb: (Build_Derived_Record_Type) Remove the kludgy update of
1367 access discriminant and anonymous access component scopes.
1368 (Inherit_Component): Reuse the itype of an access discriminant
1369 or anonymous access component by copying it in order to set the proper
1370 scope. This is done only when the parent and the derived type
1371 are in different scopes.
1372 (Set_Anonymous_Etype): New routine.
1373
13742011-09-01 Robert Dewar <dewar@adacore.com>
1375
1376 * a-convec.adb: Minor reformatting throughout.
1377
9d1e0e72
JR
13782011-09-01 Jose Ruiz <ruiz@adacore.com>
1379
1380 * adaint.c, adaint.h (__gnat_cpu_alloc, __gnat_cpu_alloc_size,
1381 __gnat_cpu_set_free): Create these wrappers around the CPU_ALLOC,
1382 CPU_ALLOC_SIZE and CPU_FREE linux macros.
1383 (__gnat_cpu_zero, __gnat_cpu_set): Use the CPU_ZERO_S and
1384 CPU_SET_S respectively because we are now using dynamically allocated
1385 CPU sets which are more portable across different glibc versions.
1386 * s-osinte-linux.ads (cpu_set_t_ptr, CPU_ALLOC, CPU_ALLOC_SIZE,
1387 CPU_FREE): Add this type and subprograms to be able to create cpu_set_t
1388 masks dynamically according to the number of processors in the target
1389 platform.
1390 (CPU_ZERO, CPU_SET): They are now mapped to the CPU_ZERO_S and CPU_SET_S
1391 respectively, so we need to pass the size of the masks as
1392 parameters.
1393 * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use dynamically
1394 created cpu_set_t masks
1395 with the number of processors available in the target platform,
1396 instead of static bit arrays. It enhances portability because
1397 it uses the information from the target platform.
1398 * sem_ch8.adb: (Attribute_Renaming): When checking whether we
1399 are using a restricted run-time library, use the flag
1400 Configurable_Run_Time_Mode instead of Restricted_Profile.
1401
a95be2d4
AC
14022011-09-01 Vincent Celier <celier@adacore.com>
1403
1404 * ug_words: Add /MULTI_UNIT_INDEX= -> -gnateI
1405 * vms_data.ads: Add new VMS qualifier equivalent for -gnateInnn
1406
14072011-09-01 Nicolas Roche <roche@adacore.com>
1408
1409 * adaint.c (__gnat_tmp_name): Don't use tmpnam function from the system
1410 on VxWorks in kernel mode.
1411
6b81741c
AC
14122011-09-01 Jose Ruiz <ruiz@adacore.com>
1413
1414 * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use the linux
1415 macros for handling CPU sets (CPU_ZERO, CPU_SET) instead of modifying
1416 directly the bit array.
1417 * s-osinte-linux.ads (CPU_ZERO, CPU_SET): Import these wrappers around
1418 the linux macros with the same name.
1419 * adaint.h, adaint.c (__gnat_cpu_zero, __gnat_cpu_set): Create these
1420 wrappers around the CPU_ZERO and CPU_SET linux macros.
1421
14222011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
1423
1424 * exp_ch7.adb (Find_Insertion_List): Removed.
1425 (Process_Transient_Objects): Insert the declarations of the hook
1426 access type and the hook object before the associated transient object.
1427
14282011-09-01 Jose Ruiz <ruiz@adacore.com>
1429
1430 * sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading
1431 package System.Aux_Dec when using restricted run-time libraries which
1432 do not have this package.
1433
14342011-09-01 Tristan Gingold <gingold@adacore.com>
1435
1436 * s-vaflop-vms-alpha.adb: Remove pragma optimize, useless.
1437
14382011-09-01 Bob Duff <duff@adacore.com>
1439
1440 * sem_attr.adb (Analyze_Access_Attribute): Do not call
1441 Kill_Current_Values for P'Unrestricted_Access, where P is library level
1442
14432011-09-01 Thomas Quinot <quinot@adacore.com>
1444
1445 * exp_ch5.adb: Minor reformatting
1446 * gnat_ugn.texi: Fix minor typos.
1447 * gcc-interface/Make-lang.in: Update dependencies.
1448
8256c1bf
AC
14492011-09-01 Robert Dewar <dewar@adacore.com>
1450
1451 * inline.adb, sem_aggr.adb: Minor reformatting.
1452
14532011-09-01 Ed Schonberg <schonberg@adacore.com>
1454
1455 * a-convec.adb: Proper handling of cursors for Ada2012 iterators.
1456
d1c5f424
AC
14572011-09-01 Robert Dewar <dewar@adacore.com>
1458
1459 * prj-proc.adb, exp_ch6.adb, prj-env.adb: Minor reformatting.
1460
14612011-09-01 Bob Duff <duff@adacore.com>
1462
1463 * sem_aggr.adb (Resolve_Aggregate): Need to treat "in instance
1464 body" the same as "in inlined body", because visibility shouldn't
1465 apply there.
1466
14672011-09-01 Eric Botcazou <ebotcazou@adacore.com>
1468
1469 * inline.adb (Add_Inlined_Body): Refine previous change.
1470
1bb6e262
AC
14712011-09-01 Gary Dismukes <dismukes@adacore.com>
1472
1473 * exp_ch6.ads (Needs_BIP_Alloc_Form): New utility function.
1474 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
1475 Test for case where call
1476 initializes an object of a return statement before testing for
1477 a constrained call, to ensure that all such cases get handled
1478 by simply passing on the caller's parameters. Also, in that
1479 case call Needs_BIP_Alloc_Form to determine whether to pass on
1480 the BIP_Alloc_Form parameter of the enclosing function rather
1481 than testing Is_Constrained. Add similar tests for the return
1482 of a BIP call to later processing to ensure consistent handling.
1483 (Needs_BIP_Alloc_Form): New utility function.
1484 * sem_ch6.adb: (Create_Extra_Formals): Replace test for adding
1485 a BIP_Alloc_Form formal with call to new utility function
1486 Needs_BIP_Alloc_Form.
1487
14882011-09-01 Pascal Obry <obry@adacore.com>
1489
1490 * prj-part.adb: Minor reformatting.
1491
14922011-09-01 Vincent Celier <celier@adacore.com>
1493
1494 * prj-env.adb (Create_Mapping_File.Process): Encode the upper
1495 half character in the unit name.
1496
db15225a
AC
14972011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
1498
1499 * exp_ch4.adb: Minor code and comment reformatting.
1500
15012011-09-01 Thomas Quinot <quinot@adacore.com>
1502
1503 * exp_ch6.adb (Expand_Inlined_Call): Remove redundant tests
1504 for Is_Limited_Type and Is_Tagged_Type in condition checking
1505 for by-reference type.
1506 * inline.adb (Add_Inlined_Body): Only exclude init_procs. Other
1507 subprograms may have a completion because of a previous
1508 Inline_Always clause, but the enclosing package must be marked
1509 inlined for the subprogram body to become visible to the backend.
1510
9d641fc0
TQ
15112011-09-01 Thomas Quinot <quinot@adacore.com>
1512
1513 * sem_aux.adb, exp_ch4.adb: Minor reformatting
1514
dbe36d67
AC
15152011-09-01 Pascal Obry <obry@adacore.com>
1516
1517 * prj-proc.adb, prj.ads, sinput-p.adb: Minor reformatting.
1518
15192011-09-01 Ed Schonberg <schonberg@adacore.com>
1520
1521 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate references to
1522 the formals of a subprogram stub that acts as a spec.
1523
15242011-09-01 Ed Schonberg <schonberg@adacore.com>
1525
1526 * exp_ch6.adb (Expand_Inlined_Call): If an actual is a by_reference
1527 type, declare a renaming for it, not an object declaration.
1528
f5037886
AC
15292011-09-01 Yannick Moy <moy@adacore.com>
1530
1531 * ali-util.adb, ali-util.ads (Read_Withed_ALIs): Add parameter
1532 Ignore_Errors to ignore failures to read ALI files when True.
1533
15342011-09-01 Javier Miranda <miranda@adacore.com>
1535
1536 * exp_ch3.adb (Expand_N_Object_Declaration): Handle non-default
1537 constructor calls associated with non-tagged record types.
1538
15392011-09-01 Robert Dewar <dewar@adacore.com>
1540
1541 * g-socthi-vms.adb: Minor reformatting.
1542
15432011-09-01 Nicolas Roche <roche@adacore.com>
1544
1545 * sysdep.c: Don't use macro functions for stdio functions on VxWorks
1546 in order to avoid impact of imcompatible changes.
1547 * cstreams.c: Likewise
1548 * cio.c: Likewise
1549 * aux-io.c: Likewise
1550
15512011-09-01 Yannick Moy <moy@adacore.com>
1552
1553 * lib-writ.adb (Write_With_Lines): Always output complete information
1554 on "with" line in Alfa mode, as this is required by formal verification
1555 back-end.
1556
549e4558
AC
15572011-09-01 Tristan Gingold <gingold@adacore.com>
1558
1559 * g-socthi-vms.adb: Add comments.
1560
15612011-09-01 Pascal Obry <obry@adacore.com>
1562
1563 * prj.ads: Minor reformatting.
1564
70c0422d
AC
15652011-09-01 Vincent Celier <celier@adacore.com>
1566
1567 * prj-env.adb (Create_Config_Pragmas_File.Check): Put all naming
1568 exceptions in the config pragmas file.
1569
15702011-09-01 Tristan Gingold <gingold@adacore.com>
1571
1572 * gnat_ugn.texi: Document GNAT_STACK_SIZE on IVMS.
1573
8c5b03a0
AC
15742011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
1575
1576 * exp_ch7.adb (Find_Insertion_List): New routine.
1577 (Process_Transient_Objects): Add code to handle the abnormal
1578 finalization of a controlled transient associated with a subprogram
1579 call. Since transients are cleaned up right after the associated
1580 context, an exception raised during a subprogram call may bypass the
1581 finalization code.
1582
15832011-09-01 Robert Dewar <dewar@adacore.com>
1584
1585 * exp_ch6.adb (Expand_Call): Check actual for aliased parameter is
1586 aliased.
1587
3040dbd4
RD
15882011-09-01 Robert Dewar <dewar@adacore.com>
1589
1590 * exp_ch4.adb, a-exexda.adb: Minor reformatting.
1591
fecbd779
AC
15922011-09-01 Robert Dewar <dewar@adacore.com>
1593
1594 * s-taskin.ads, s-tassta.adb, sem_ch13.adb: Minor reformatting.
1595
15962011-09-01 Thomas Quinot <quinot@adacore.com>
1597
1598 * Makefile.rtl: Move s-oscons.o from GNATRTL_TASKING_OBJS to
1599 GNATRTL_NONTASKING_OBJS.
1600
16012011-09-01 Robert Dewar <dewar@adacore.com>
1602
1603 * einfo.ads (Is_Aliased): Fix existing documentation and add note on
1604 possibility of this flag being set for formals in Ada 2012 mode.
1605 * par-ch6.adb (P_Formal_Part): Handle aliased for parameters for Ada
1606 2012.
1607 * sem_ch6.adb (Process_Formals): Handle aliased parameters in Ada 2012
1608 mode.
1609 * sinfo.adb (Aliased_Present): Allowed in N_Parameter_Specification for
1610 Ada 2012.
1611 * sinfo.ads (Aliased_Present): Allowed in N_Parameter_Specification for
1612 Ada 2012.
1613
16142011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
1615
1616 * exp_ch4.adb (Find_Insertion_Node): New routine. Determines the proper
1617 insertion node in a tree of nested Expression_With_Actions nodes.
1618 (Process_Transient_Object): In the case where a complex if statement
1619 has been converted into nested Expression_With_Actions nodes, the
1620 "hook" object and the associated access type must be inserted before
1621 the top most Expression_With_Actions.
1622
516f608f
AC
16232011-09-01 Robert Dewar <dewar@adacore.com>
1624
1625 * a-cbprqu.adb, a-cbprqu.ads, a-cuprqu.adb, a-cuprqu.ads,
1626 a-cbsyqu.adb, a-cbsyqu.ads: Minor reformatting.
1627
16282011-09-01 Ed Schonberg <schonberg@adacore.com>
1629
1630 * sem_attr.adb: Conditionalize aliasing predicates to Ada2012.
1631
16322011-09-01 Jose Ruiz <ruiz@adacore.com>
1633
1634 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the CPU
1635 aspect.
1636 * aspects.adb (Canonical_Aspect): Add entry for the CPU aspect.
1637 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the CPU aspect
1638 in a similar way as we do for the Priority or Dispatching_Domain aspect.
1639 * s-mudido-affinity.adb (Dispatching_Domain_Tasks,
1640 Dispatching_Domains_Frozen): Move this local data to package
1641 System.Tasking because with the CPU aspect we need to have access
1642 to this data when creating the task in System.Tasking.Stages.Create_Task
1643 * s-taskin.ads (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen):
1644 Move these variables from the body of
1645 System.Multiprocessors.Dispatching_Domains because with the CPU aspect
1646 we need to have access to this data when creating the task in
1647 System.Tasking.Stages.Create_Task.
1648 * s-taskin.adb (Initialize): Signal the allocation of the environment
1649 task to a CPU, if any, so that we know whether the CPU can be
1650 transferred to a different dispatching domain.
1651 * s-tassta.adb (Create_Task): Check whether the CPU to which this task
1652 is being allocated belongs to the dispatching domain where the task
1653 lives. Signal the allocation of the task to a CPU, if any, so that we
1654 know whether the CPU can be transferred to a different dispatching
1655 domain.
1656
2d42e881
ES
16572011-09-01 Ed Schonberg <schonberg@adacore.com>
1658
1659 * exp_attr.adb, sem_attr.adb, snames.ads-tmpl: Implementation of
1660 attributes Same_Storage and Overlaps_Storage.
1661
579fda56
AC
16622011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
1663
1664 * exp_strm.adb: Remove with and use clause for Opt.
1665 (Build_Array_Input_Function): Remove the version-dependent generation
1666 of the return statement. The Ada 2005 tree is now the default.
1667
16682011-09-01 Yannick Moy <moy@adacore.com>
1669
1670 * put_alfa.adb: Unconditionnally write files in Alfa section, so that
1671 it is never empty when compiling in Alfa mode.
1672
16732011-09-01 Robert Dewar <dewar@adacore.com>
1674
1675 * sem_aggr.adb, sem_ch3.adb, a-direct.adb, s-taprop-vxworks.adb,
1676 comperr.adb, exp_ch9.adb, exp_pakd.adb, sem_ch12.adb, freeze.adb,
1677 s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
1678 gnat1drv.adb, a-rbtgbo.adb, exp_dist.adb: Minor reformatting
1679
16802011-09-01 Matthew Heaney <heaney@adacore.com>
1681
1682 * Makefile.rtl, impunit.adb: Add a-csquin.ads, a-cusyqu.ad[sb],
1683 a-cuprqu.ad[sb], a-cbsyqu.ad[sb], a-cbprqu.ad[sb]
1684 * a-csquin.ads: New Ada 2012 unit that specifies the queue interface
1685 * a-cusyqu.ads, a-cusyqu.adb: New Ada 2012 unit that specifies the
1686 unbounded queue container.
1687 * a-cbsyqu.ads, a-cbsyqu.adb: New Ada 2012 unit that specifies the
1688 bounded queue container.
1689 * a-cuprqu.ads, a-cuprqu.adb: New Ada 2012 unit that specifies the
1690 unbounded priority queue container.
1691 * a-cbprqu.ads, a-cbprqu.adb: New Ada 2012 unit that specifies the
1692 bounded priority queue container.
1693
24c34107
AC
16942011-08-31 Pascal Obry <obry@adacore.com>
1695
1696 * a-direct.adb: Do not try to create an UNC path on Windows.
1697 (Create_Path): Skip leading computer name in UNC path if any.
1698
16992011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
1700
1701 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Remove the
1702 version-dependent generation of the return statement. The Ada 2005 tree
1703 is now the default.
1704
17052011-08-31 Thomas Quinot <quinot@adacore.com>
1706
1707 * rtsfind.ads, exp_dist.adb (Find_Numeric_Representation): Predefined
1708 types Stream_Element_Offset and Storage_Offset have a different native
1709 type depending on whether the platform is 32 or 64 bits. When
1710 exchanging them, always convert to 64 bits.
1711
17122011-08-31 Yannick Moy <moy@adacore.com>
1713
1714 * debug.adb: Reserve debug option -gnatd.E for passing gnatprove option
1715 --force-alfa to gnat2why.
1716
17172011-08-31 Ed Schonberg <schonberg@adacore.com>
1718
1719 * sem_ch12.adb (Save_References): If the node has aspects, save
1720 references within the corresponding expressions in a separate step,
1721 because the aspects are not directly in the tree for the declaration
1722 to which they belong.
1723
17242011-08-31 Arnaud Charlet <charlet@adacore.com>
1725
1726 * freeze.adb (Freeze_Record_Type): Omit test on variable size component
1727 in CodePeer mode, since representation clauses are partially ignored.
1728 * gcc-interface/Make-lang.in: Update dependencies.
1729
702d2020
AC
17302011-08-31 Jose Ruiz <ruiz@adacore.com>
1731
1732 * s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
1733 s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned
1734 to any dispatching domain.
1735
17362011-08-31 Thomas Quinot <quinot@adacore.com>
1737
1738 * exp_ch4.adb: Minor reformatting.
1739
17402011-08-31 Bob Duff <duff@adacore.com>
1741
1742 * sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication
1743 on nodes for which it is not defined.
1744 (Is_Non_Overriding_Operation): Exit the loop when we find a generic
1745 parent type.
1746
17472011-08-31 Bob Duff <duff@adacore.com>
1748
1749 * sem_ch3.adb (Process_Full_View): Disable legality check if
1750 In_Instance, to avoid spurious errors.
1751 * sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check
1752 if In_Instance, to avoid spurious errors.
1753
17542011-08-31 Pascal Obry <obry@adacore.com>
1755
1756 * a-direct.adb: Use Dir_Seps everywhere to properly handle all
1757 directory speparators.
1758 (Compose): Use Dir_Seps to handle both forms.
1759 (Create_Path): Use Dir_Seps instead of explicit check, no semantic
1760 changes.
1761 (Extension): Use Dir_Seps to handle both forms.
1762
17632011-08-31 Pascal Obry <obry@adacore.com>
1764
1765 * prj-conf.adb: Minor reformatting.
1766
67645bde
AC
17672011-08-31 Jose Ruiz <ruiz@adacore.com>
1768
1769 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the
1770 dispatching domain aspect.
1771 * aspects.adb (Canonical_Aspect): Add entry for the dispatching domain
1772 aspect.
1773 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the
1774 Dispatching_Domain aspect in a similar way as we do for the Priority
1775 aspect.
1776 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the
1777 Dispatching_Domain component if a Dispatching_Domain pragma or aspect
1778 is present.
1779 (Make_Task_Create_Call): Add the Dispatching_Domain when creating a task
1780 * par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma.
1781 * sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma
1782 Dispatching_Domain and add it to the task definition.
1783 (Sig_Flags): Add Pragma_Dispatching_Domain.
1784 * rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the
1785 support to find the types Dispatching_Domain and
1786 Dispatching_Domain_Access.
1787 * sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain,
1788 Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and
1789 query the availability of a pragma Dispatching_Domain.
1790 * snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by
1791 the expander to pass the Dispatching_Domain when creating a task.
1792 (Name_Dispatching_Domain): Add this new name for a pragma.
1793 (Pragma_Id): Add the new Pragma_Dispatching_Domain.
1794 * s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the
1795 task has been allocated at creation time.
1796 * s-tarest.adb (Create_Restricted_Task): The dispatching domain using
1797 Ravenscar is always null.
1798 * s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which
1799 the task has been allocated at creation time.
1800 * s-tporft.adb (Register_Foreign_Thread): A foreign task will not have
1801 a specific dispatching domain.
1802 * s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb,
1803 s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain
1804 and CPU are specified for the task, and the CPU value is not contained
1805 within the range of processors for the domain.
1806
18072011-08-31 Vincent Celier <celier@adacore.com>
1808
1809 * make.adb (Original_Gcc) : New constant String_Access.
1810 (Gnatmake): For VM targets, do not use VM version of the compiler if
1811 --GCC= has been specified.
1812
18132011-08-31 Thomas Quinot <quinot@adacore.com>
1814
1815 * sem_ch5.adb: Minor reformatting.
1816
18172011-08-31 Ed Schonberg <schonberg@adacore.com>
1818
1819 * exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do
1820 not reanalyze it.
1821
18222011-08-31 Bob Duff <duff@adacore.com>
1823
1824 * exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case
1825 the access type is private; we don't care about privacy in expansion.
1826
18272011-08-31 Ed Schonberg <schonberg@adacore.com>
1828
1829 * sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate
1830 subcomponents tnat may be limited, because they originate in view
1831 conflicts. If the original aggregate is legal and the actuals are
1832 legal, the aggregate itself is legal.
1833
b8789727
AC
18342011-08-31 Matthew Heaney <heaney@adacore.com>
1835
1836 * a-rbtgbo.adb (Clear_Tree): Assert representation invariant for lock
1837 status.
1838
18392011-08-31 Ed Schonberg <schonberg@adacore.com>
1840
1841 * sem_ch5.adb: Set kind of loop parameter properly, to preserve all
1842 errors in B tests.
1843
18442011-08-31 Jose Ruiz <ruiz@adacore.com>
1845
1846 * sem_ch13.adb (Analyze_Aspect_Specifications): For the Priority and
1847 Interrupt_Priority aspects, force the analysis of the aspect expression
1848 (when building the equivalent pragma). Otherwise, its analysis is done
1849 too late, after the task or protected object has been created.
1850 * sem_ch9.adb (Analyze_Single_Protected_Declaration,
1851 Analyze_Single_Task_Declaration): Remove the code to move the aspects
1852 to the object declaration because they are needed in the type
1853 declaration.
1854
e0c32166
AC
18552011-08-31 Robert Dewar <dewar@adacore.com>
1856
1857 * exp_ch5.adb, exp_ch7.ads, sem_ch5.adb, put_scos.adb, s-rannum.adb,
1858 a-rbtgbo.adb, exp_intr.adb, a-cbdlli.adb, a-cbdlli.ads: Minor
1859 reformatting.
1860
18612011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
1862
1863 * exp_util.adb (Find_Protection_Type): Do not look for fields _object
1864 if the corresponding type is malformed due to restriction violations.
1865
18662011-08-31 Robert Dewar <dewar@adacore.com>
1867
1868 * s-ransee.ads, s-ransee.adb: Minor reformatting.
1869
18702011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
1871
1872 * exp_ch4.adb (Expand_N_Allocator): Correct faulty condition which
1873 would cause the generation of Set_Finalize_Address if the target is a
1874 VM and the designated type is not derived from [Limited_]Controlled.
1875
18762011-08-31 Arnaud Charlet <charlet@adacore.com>
1877
1878 * comperr.adb, comperr.ads, gnat1drv.adb (Delete_SCIL_Files): New
1879 subprogram.
1880 (Compiler_Abort, Gnat1drv): Call Delete_SCIL_Files in codepeer mode in
1881 case of a compilation error.
1882
18832011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
1884
1885 * init.c (__gnat_error_handler): Standardize the stack overflow or
1886 erroneous memory access message.
1887 * seh_init.c (__gnat_SEH_error_handler): Standardize the stack overflow
1888 or erroneous memory access message.
1889
11bc76df
AC
18902011-08-31 Robert Dewar <dewar@adacore.com>
1891
1892 * sem_ch4.adb: Minor reformatting.
1893 * sem_ch6.adb: Minor code reorganization (use Ekind_In).
1894
18952011-08-31 Thomas Quinot <quinot@adacore.com>
1896
1897 * scos.ads: Minor documentation clarification.
1898 * put_scos.adb: Do not generate SCO unit header line for a unit that
1899 has no SCO lines.
1900
876d4394
RD
19012011-08-31 Robert Dewar <dewar@adacore.com>
1902
1903 * a-rbtgbo.adb, alfa_test.adb: Minor reformatting.
1904
36b8f95f
AC
19052011-08-31 Tristan Gingold <gingold@adacore.com>
1906
1907 * exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to
1908 hold variables between these following subprograms.
1909 (Build_Exception_Handler, Build_Object_Declarations,
1910 Build_Raise_Statement): Use the above type as parameter.
1911 Make the above adjustments.
1912 * exp_intr.adb (Expand_Unc_Deallocation): Adjust.
1913
19142011-08-31 Pascal Obry <obry@adacore.com>
1915
1916 * projects.texi: Minor reformatting.
1917
19182011-08-31 Tristan Gingold <gingold@adacore.com>
1919
1920 * s-ransee.ads, s-ransee.adb: Add system.random_seed unit.
1921 * s-rannum.adb (Reset): Use Get_Seed from s-ransee.
1922
19232011-08-31 Ed Schonberg <schonberg@adacore.com>
1924
1925 * exp_ch5.adb: Minor code cleanup.
1926 * sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to
1927 prevent cascaded errors.
1928 (Analyze_Loop_Statement): In semantics-only mode, introduce loop
1929 variable of an iterator specification in current scope.
1930 * sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip
1931 postconditions on the stack, as they contain no return statements.
1932
19332011-08-31 Yannick Moy <moy@adacore.com>
1934
1935 * exp_alfa.adb (Expand_Alfa_N_Package_Declaration,
1936 Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply
1937 call Qualify_Entity_Names.
1938 (Expand_Alfa): call Qualify_Entity_Names in more cases
1939 * lib-xref-alfa.adb: Take into account system package.
1940 * sem_prag.adb Take into account restrictions in Alfa mode, contrary to
1941 CodePeer mode in which we are interested in finding bugs even if
1942 compiler cannot compile source.
1943 * sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of
1944 deferred constant.
1945
19462011-08-31 Gary Dismukes <dismukes@adacore.com>
1947
1948 * sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype
1949 denoted by the subtype mark to ensure getting the concurrent type in
1950 the case where the subtype mark denotes a private subtype of a
1951 concurrent type (needed when using -gnatc).
1952 (Process_Subtype): For the processing specific to type kinds, case on
1953 the Base_Type kind of the Subtype_Mark_Id, to handle cases where the
1954 subtype denotes a private subtype whose base type is nonprivate (needed
1955 for subtypes of private fulfilled by task types when compiling with
1956 -gnatc).
1957
19582011-08-31 Gary Dismukes <dismukes@adacore.com>
1959
1960 * sem_disp.adb (Check_Dispatching_Operation): Bypass registration of
1961 late primitives that override interface operations when the full
1962 expander is not active, to avoid blowups in Register_Primitive when
1963 types don't have associated secondary dispatch tables.
1964
19652011-08-31 Yannick Moy <moy@adacore.com>
1966
1967 * alfa_test.adb: Code clean up.
1968
19692011-08-31 Marc Sango <sango@adacore.com>
1970
1971 * restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N)
1972 by Comes_From_Source (Original_Node (N)) in order to treat also the
1973 nodes which have been rewritten.
1974 * sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the
1975 explicit dereference and slice violation in spark mode on the nodes
1976 coming only from the source code.
1977
8cf23b91
AC
19782011-08-31 Robert Dewar <dewar@adacore.com>
1979
1980 * exp_ch5.adb, exp_alfa.ads, prj.ads, sem_attr.adb,
1981 lib-xref-alfa.adb: Minor reformatting.
1982
19832011-08-31 Matthew Heaney <heaney@adacore.com>
1984
1985 * a-crbltr.ads (Tree_Type): Default-initialize the Nodes component.
1986
19872011-08-31 Javier Miranda <miranda@adacore.com>
1988
1989 * sem_ch4.adb (Try_Object_Operation): Addition of one formal to search
1990 only for class-wide subprograms conflicting with entities of concurrent
1991 tagged types.
1992
19932011-08-31 Matthew Heaney <heaney@adacore.com>
1994
1995 * a-rbtgbo.adb (Generic_Allocate): Initialize pointer components of
1996 node to null value.
1997
19982011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
1999
2000 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Provide a more
2001 general description of the routine.
2002
20032011-08-31 Ed Schonberg <schonberg@adacore.com>
2004
2005 * a-cbdlli.adb, a-cbdlli.ads: Add iterator machinery to bounded
2006 doubly-linked lists.
2007
0bb3bfb8
GD
20082011-08-31 Gary Dismukes <dismukes@adacore.com>
2009
2010 * exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant
2011 check is needed for a left-hand side that is a dereference, and the
2012 base type is private without discriminants (whereas the full type does
2013 have discriminants), an extra retrieval of the underlying type may be
2014 needed in the case where the subtype is a record subtype whose base
2015 type is private. Update comments.
2016
11fa950b
AC
20172011-08-31 Javier Miranda <miranda@adacore.com>
2018
2019 * sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is
2020 found check if there is a class-wide subprogram covering the primitive.
2021
20222011-08-31 Yannick Moy <moy@adacore.com>
2023
2024 * sem_res.adb: Further cases where full expansion test is needed,
2025 rather than expansion test.
2026
20272011-08-31 Pascal Obry <obry@adacore.com>
2028
2029 * prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list)
2030
20312011-08-31 Ed Schonberg <schonberg@adacore.com>
2032
2033 * exp_ch5.adb: Handle iterators over derived container types.
2034
20352011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
2036
2037 * einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master.
2038 (Has_Anonymous_Master): New routine.
2039 (Set_Has_Anonymous_Master): New routine.
2040 (Write_Entity_Flags): Add an entry for Has_Anonymous_Master.
2041 * exp_ch4.adb: Add with and use clause for Sem_Ch8.
2042 (Current_Anonymous_Master): New routine.
2043 (Current_Unit_First_Declaration): Removed.
2044 (Current_Unit_Scope): Removed.
2045 (Expand_N_Allocator): Anonymous access-to-controlled types now chain
2046 their objects on a per-unit heterogeneous finalization master.
2047
20482011-08-31 Matthew Heaney <heaney@adacore.com>
2049
2050 * a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets
2051 array.
2052
20532011-08-31 Jose Ruiz <ruiz@adacore.com>
2054
2055 * s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask
2056 when not needed.
2057
20582011-08-31 Gary Dismukes <dismukes@adacore.com>
2059
2060 * sem_disp.adb (Propagate_Tag): Return without propagating in the case
2061 where the actual is an unexpanded call to 'Input.
2062
d2b4b3da
AC
20632011-08-31 Yannick Moy <moy@adacore.com>
2064
2065 * sem_ch4.adb: Code clean up.
2066
20672011-08-31 Yannick Moy <moy@adacore.com>
2068
2069 * exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice.
2070
20712011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
2072
2073 * exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize
2074 and TSS primitive Finalize_Address if finalization is suppressed.
2075 (Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS
2076 primitive Finalize_Address if finalization is suppressed.
2077
20782011-08-31 Jose Ruiz <ruiz@adacore.com>
2079
2080 * s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb,
2081 s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make
2082 sure that the underlying task has already been created before trying
2083 to change its affinity.
2084 (Set_CPU): Use the term processor instead of CPU, as we do in
2085 Assign_Task.
2086
20872011-08-31 Vincent Celier <celier@adacore.com>
2088
2089 * prj-attr.adb: New Compiler attribute Source_File_Switches.
2090 * prj-nmsc.adb (Process_Compiler): Process attribute
2091 Source_File_Switches.
2092 * prj.ads (Language_Config): New name list component
2093 Name_Source_File_Switches.
2094 * snames.ads-tmpl (Name_Source_File_Switches): New standard name.
2095
20962011-08-31 Ed Schonberg <schonberg@adacore.com>
2097
2098 * sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a
2099 discriminated component of an actual, expand at once to prevent
2100 ouf-of-order references with generated subtypes.
2101
21022011-08-31 Yannick Moy <moy@adacore.com>
2103
2104 * lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read
2105 reference to operator in Alfa xrefs.
2106
21072011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
2108
2109 * sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case
2110 where the parent instance was frozen before the current instance due to
2111 the presence of a source body. Update calls to Insert_After_Last_Decl.
2112 (Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance.
2113 Update the comment which illustrates the purpose of the routine.
2114 Package instances are now frozen by source bodies which appear after
2115 the instance. This ensures that entities coming from within the
2116 instance are available for use in the said bodies.
2117 (Install_Body): Add code to handle the case where the parent instance
2118 was frozen before the current instance due to the presence of a source
2119 body. Update calls to Insert_After_Last_Decl.
2120
56812278
AC
21212011-08-31 Jose Ruiz <ruiz@adacore.com>
2122
2123 * s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
2124 access types.
2125 * affinity.c (__gnat_set_affinity_mask): Declare index variable.
2126
21272011-08-31 Yannick Moy <moy@adacore.com>
2128
2129 * sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
2130 full-expander test.
16c3301a
AC
2131 * alfa.adb, alfa.ads, alfa_test.adb, ali.adb, debug.adb, errout.adb,
2132 errout.ads, erroutc.adb, expander.adb, exp_ch4.adb, exp_ch7.adb,
2133 freeze.adb, get_alfa.adb, get_alfa.ads, gnat1drv.adb, lib-writ.adb,
2134 lib-writ.ads, lib-xref.adb, lib-xref.ads, lib-xref-alfa.adb, opt.adb,
2135 opt.ads, put_alfa.adb, put_alfa.ads, restrict.adb, sem_ch12.adb,
2136 sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
2137 sem_prag.adb, sem_res.adb, sem_util.adb: Minor reformatting, renaming
2138 ALFA in Alfa (we dropped acronym).
56812278
AC
2139 * einfo.adb (Primitive_Operations): Correctly return list of primitive
2140 operations in a case where it returned previously No_Elist.
2141
7cda9727
RD
21422011-08-31 Robert Dewar <dewar@adacore.com>
2143
2144 * s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb,
2145 s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads,
2146 sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
2147 s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb,
2148 s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads,
2149 s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor
2150 reformatting.
2151
0a190dfd
AC
21522011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
2153
2154 * sem_ch12 (Check_Private_View): Revert previous change.
2155 * sem_res.adb (Conversion_Check): Do not emit the error message if the
2156 conversion is in a generic instance.
2157
21582011-08-31 Matthew Heaney <heaney@adacore.com>
2159
2160 * a-cbhase.adb (Symmetric_Difference): Dereference correct node array.
2161 * a-chtgbo.adb (Free): Allow 0 as index value.
2162
21632011-08-31 Matthew Heaney <heaney@adacore.com>
2164
2165 * a-cborma.adb (Insert): Add comment to explain why no element
2166 assignment.
2167
21682011-08-31 Gary Dismukes <dismukes@adacore.com>
2169
2170 * sem_util.adb (Find_Body_Discriminal): Test whether the scope of the
2171 spec discriminant is already a concurrent type, in which case just use
2172 it, otherwise fetch the Corresponding_Concurrent_Type as before.
2173
7d266442
EB
21742011-08-30 Eric Botcazou <ebotcazou@adacore.com>
2175
2176 * system-irix-n64.ads, system-linux-armeb.ads, system-linux-armel.ads,
2177 system-linux-mips.ads, system-linux-mipsel.ads,
2178 system-linux-mips64el.ads, system-linux-ppc64.ads,
2179 system-linux-sparcv9.ads, system-rtems.ads: Remove GCC_ZCX_Support.
2180
4f1a975c
EB
21812011-08-30 Eric Botcazou <ebotcazou@adacore.com>
2182
2183 * gcc-interface/ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.
2184 * gcc-interface/utils2.c (build_binary_op): Tighten condition.
2185 (build_unary_op): Likewise.
2186
f2991b48
EB
21872011-08-30 Eric Botcazou <ebotcazou@adacore.com>
2188
2189 * raise-gcc.c: Do not include coretypes.h and tm.h.
2190 (setup_to_install): Remove test for compiler macro.
2191 * targext.c: Document use for the library.
2192 * gcc-interface/Makefile.in: Fix comment on the use of IN_GCC.
2193
10a22f43
EB
21942011-08-30 Eric Botcazou <ebotcazou@adacore.com>
2195
2196 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not convert
2197 the expression to the nominal type if the latter is a record type with
2198 a variant part and the type of the former is a record type without one.
2199
bfa2e39d
AC
22002011-08-30 Yannick Moy <moy@adacore.com>
2201
2202 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
2203 expansion in Alfa mode.
2204 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public
2205 * exp_alfa.adb, exp_alfa.ads: New package defining light expansion for
2206 Alfa mode.
2207 * gnat1drv.adb (Adjust_Global_Switches): Update Comment.
2208 * sem_res.adb: Ditto.
bd34109a 2209 * gcc-interface/Make-lang.in: Update dependencies.
bfa2e39d
AC
2210
22112011-08-30 Thomas Quinot <quinot@adacore.com>
2212
2213 * g-socket.ads: Minor documentation adjustment.
2214
a0347839
AC
22152011-08-30 Robert Dewar <dewar@adacore.com>
2216
2217 * exp_ch9.adb, s-tassta.adb, s-secsta.adb: Minor reformatting.
2218
22192011-08-30 Yannick Moy <moy@adacore.com>
2220
2221 * exp_ch6_light.adb, exp_ch6_light.ads, exp_attr_light.adb,
2222 exp_attr_light.ads, exp_ch7_light.adb, exp_ch7_light.ads,
2223 exp_light.adb, exp_light.ads, exp_prag.adb, expander.adb,
2224 gnat1drv.adb, exp_ch11.adb, exp_ch6.adb, exp_ch6.ads, exp_aggr.adb:
2225 Revert change which introduced files for "light"
2226 expansion, to be replaced by a single file for Alfa expansion.
2227
3597c0e9
RD
22282011-08-30 Robert Dewar <dewar@adacore.com>
2229
2230 * opt.ads, s-soflin.adb, exp_ch9.adb, sem_res.adb: Update comment.
2231 Minor code reorg/reformatting.
2232
da94696d
AC
22332011-08-30 Yannick Moy <moy@adacore.com>
2234
2235 * opt.adb, opt.ads (Full_Expander_Active): New function defines a
2236 common shorthand for (Expander_Active and not ALFA_Mode) that can be
2237 used for testing full expansion, that is active expansion not in the
2238 reduced mode for Alfa
2239 * exp_ch4.adb, exp_ch9.adb, exp_disp.adb, sem_ch10.adb, sem_ch12.adb,
2240 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Use newly defined "flag" instead
2241 of the verbose (Expander_Active and not ALFA_Mode)
2242
22432011-08-30 Tristan Gingold <gingold@adacore.com>
2244
2245 * s-parame-vms-alpha.ads, s-parame-hpux.ads, s-tassta.adb,
2246 s-tarest.adb, s-parame-vms-ia64.ads, s-soflin.adb, s-secsta.adb,
5b8ca141
TG
2247 s-secsta.ads, s-parame.ads, s-parame-vxworks.ads, s-parame-ae653.ads:
2248 Renames Ratio to Percentage, and Sec_Stack_Ratio to Sec_Stack_Percentage
da94696d 2249
c199ccf7
AC
22502011-08-30 Gary Dismukes <dismukes@adacore.com>
2251
2252 * sem_res.adb (Valid_Conversion): Revise test for implicit anonymous
2253 access conversions to check that the conversion is a rewritten node,
2254 rather than just having Comes_From_Source set to False, which wasn't
2255 sufficient.
2256
22572011-08-30 Robert Dewar <dewar@adacore.com>
2258
2259 * exp_ch9.adb, sem_ch9.adb, sem_ch6.adb, exp_disp.adb,
2260 g-socket.ads: Minor reformatting.
2261
22622011-08-30 Thomas Quinot <quinot@adacore.com>
2263
2264 * sem_util.adb: Minor reformatting.
2265
22662011-08-30 Tristan Gingold <gingold@adacore.com>
2267
2268 * raise-gcc.c: Never catch exception if _UA_FORCE_UNWIND flag is set,
2269 to be compliant with the ABI.
2270
dff99e1a
AC
22712011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
2272
2273 * sem_ch12.adb (Check_Private_View): Exchange the private and full view
2274 of a designated type when the related access type is an actual in an
2275 instance. This ensures that the full view of designated type is
2276 available when inside the body of the instance.
2277
22782011-08-30 Ed Schonberg <schonberg@adacore.com>
2279
2280 * sem_util.adb (May_Be_Lvalue): To determine whether a reference may be
2281 in a position to be modified, a slice is treated like an indexed
2282 component.
2283
63be2a5a
AC
22842011-08-30 Thomas Quinot <quinot@adacore.com>
2285
2286 * s-oscons-tmplt.c, g-socket.ads: Adjust maximum allowed value for
2287 field tv_sec in struct timeval.
2288
22892011-08-30 Yannick Moy <moy@adacore.com>
2290
2291 * exp_ch9.adb, exp_disp.adb, sem_ch9.adb, sem_res.adb: Protect several
2292 blocks of code doing full expansion, previously only guarded by
2293 Expander_Active, by anding the test that ALFA_Mode is not set
2294
22952011-08-30 Ed Schonberg <schonberg@adacore.com>
2296
2297 * sem_ch6.adb (Analyze_Return_Type): If the return type is incomplete,
2298 add the function to the list of private dependents, for subsequent
2299 legality check on Taft amendment types.
2300 * sem_ch12.adb (Analyze_Formal_Incomplete_Type): Initialize
2301 Private_Dependents, as for other incomplete types.
2302 * sem_util.adb (Wrong_Type): Avoid cascaded errors when a
2303 Taft-amendment type is used as the return type of a function.
2304
dd54644b
JM
23052011-08-30 Javier Miranda <miranda@adacore.com>
2306
2307 * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup: replace code
2308 which emits an error by a call to a new routine which report the error.
2309 * exp_ch9.adb (Build_Wrapper_Spec): Build the wrapper even if the
2310 entity does not cover an existing interface.
2311 * errout.ads, errout.adb (Error_Msg_PT): New routine. Used to factorize
2312 code.
2313 * sem_ch6.adb (Check_Conformance): Add specific error for wrappers of
2314 protected procedures or entries whose mode is not conformant.
2315 (Check_Synchronized_Overriding): Code cleanup: replace code which emits
2316 an error by a call to a new routine which report the error.
2317
d3ba478e
AC
23182011-08-30 Robert Dewar <dewar@adacore.com>
2319
2320 * gnat_rm.texi: Minor change.
2321 * exp_attr_light.adb: Minor reformatting.
2322
23232011-08-30 Ed Schonberg <schonberg@adacore.com>
2324
2325 * sem_ch3.adb: Patch inheritance of aspects in
2326 Complete_Private_Subtype, to avoid infinite loop.
2327
c01817d2
AC
23282011-08-30 Javier Miranda <miranda@adacore.com>
2329
2330 * sem_ch3.adb (Add_Internal_Interface_Entities): If serious errors have
2331 been reported and a subprogram covering an interface primitive is not
2332 found then skip generating the internal entity. Done to avoid crashing
2333 the frontend.
2334 (Check_Abstract_Overriding): Change text of error of wrong formal of
2335 protected subprogram or entry. Done for consistency to emit exactly the
2336 same error reported by Check_Synchronized_Overriding. In addition, the
2337 error is restricted to protected types (bug found working on AI05-0090)
2338
23392011-08-30 Yannick Moy <moy@adacore.com>
2340
2341 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
2342 expansion in Alfa mode.
2343 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public.
2344 * exp_light.adb, exp_light.ads: New package defining light expansion.
2345 * expander.adb (Expand): Call light expansion in Alfa mode
2346 * exp_ch6_light.adb, exp_ch6_light.ads: Light expansion of chapter 6
2347 constructs.
2348 * exp_ch7_light.adb, exp_ch7_light.ads: Light expansion of chapter 7
2349 constructs.
2350 * exp_attr_light.adb, exp_attr_light.ads: Light expansion of attributes
2351 * gnat1drv.adb (Adjust_Global_Switches): Comment
2352
23532011-08-30 Yannick Moy <moy@adacore.com>
2354
2355 * lib-xref-alfa.adb: Minor refactoring.
2356
23572011-08-30 Yannick Moy <moy@adacore.com>
2358
2359 * exp_ch9.adb (Expand_Entry_Barrier): Do not perform expansion in Alfa
2360 mode.
2361 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
2362 expansion in Alfa mode.
2363 * sem_ch9.adb (Analyze_Entry_Body): Do not perform expansion in Alfa
2364 mode.
2365
23662011-08-30 Robert Dewar <dewar@adacore.com>
2367
2368 * debug_a.adb: Update comment.
2369
996c8821
RD
23702011-08-30 Robert Dewar <dewar@adacore.com>
2371
2372 * exp_ch5.adb, sem_ch3.adb, sem_ch5.adb, einfo.adb, checks.adb,
2373 sem_util.adb, sem_util.ads, sem_res.adb, s-stposu.adb, sem_attr.adb,
2374 exp_ch4.adb, exp_ch6.adb, lib-xref-alfa.adb,
2375 sem_ch8.adb, sem_disp.adb, exp_ch3.adb: Minor reformatting
2376
23772011-08-30 Robert Dewar <dewar@adacore.com>
2378
2379 * gnat_rm.texi: Add section on C.6(16) implementation advice for pragma
2380 volatile.
2381
3647ca26
HK
23822011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
2383
2384 * exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to
2385 Build_Finalization_Master by supplying an insertion node and enclosing
2386 scope. In its old version, the call did not generate a finalization
2387 master.
2388 (Expand_Freeze_Record_Type): Add local variable Has_AACC. Add code to
2389 recognize anonymous access-to-controlled components. Rewrite the
2390 machinery which creates finalization masters to service anonymous
2391 access-to-controlled components of a record type. In its current state,
2392 only one heterogeneous master is necessary to handle multiple anonymous
2393 components.
2394 (Freeze_Type): Comment reformatting.
2395 * rtsfind.ads: Add RE_Set_Is_Heterogeneous to tables RE_Id and
2396 RE_Unit_Table.
2397 * s-stposu.adb (Allocate_Any_Controlled): Rewrite the machinery which
2398 associates TSS primitive Finalize_Address with either the master itself
2399 or with the internal hash table depending on the mode of operation of
2400 the master.
2401
6d4e4fbc
JM
24022011-08-30 Javier Miranda <miranda@adacore.com>
2403
2404 * exp_ch3.adb (Make_Eq_If): If the etype of the _parent component is an
2405 interface type then do not generate code to compare this component.
2406 Required since they have no components and their equality operator is
2407 abstract.
2408
d15f9422
AC
24092011-08-30 Steve Baird <baird@adacore.com>
2410
2411 * sem_util.ads (Deepest_Type_Access_Level): New function; for the type
2412 of a saooaaat (i.e, a stand-alone object of an anonymous access type),
2413 returns the (static) accessibility level of the object. Otherwise, the
2414 same as Type_Access_Level.
2415 (Dynamic_Accessibility_Level): New function; given an expression which
2416 could occur as the rhs of an assignment to a saooaaat (i.e., an
2417 expression of an access-to-object type), return the new value for the
2418 saooaaat's associated Extra_Accessibility object.
2419 (Effective_Extra_Accessibility): New function; same as
2420 Einfo.Extra_Accessibility except that object renames are looked through.
2421 * sem_util.adb
2422 (Deepest_Type_Access_Level): New function; see sem_util.ads description.
2423 (Dynamic_Accessibility_Level): New function; see sem_util.ads
2424 description.
2425 (Effective_Extra_Accessibility): New function; see sem_util.ads
2426 description.
2427 * einfo.ads (Is_Local_Anonymous_Access): Update comments.
2428 (Extra_Accessibility): Update comments.
2429 (Init_Object_Size_Align): New procedure; same as Init_Size_Align
2430 except RM_Size field (which is only for types) is unaffected.
2431 * einfo.adb
2432 (Extra_Accessibility): Expand domain to allow objects, not just formals.
2433 (Set_Extra_Accessibility): Expand domain to allow objects, not just
2434 formals.
2435 (Init_Size): Add assertion that we are not trashing the
2436 Extra_Accessibility attribute of an object.
2437 (Init_Size_Align): Add assertion that we are not trashing the
2438 Extra_Accessibility attribute of an object.
2439 (Init_Object_Size_Align): New procedure; see einfo.ads description.
2440 * sem_ch3.adb (Find_Type_Of_Object): Set Is_Local_Anonymous_Access
2441 differently for the type of a (non-library-level) saooaaat depending
2442 whether Ada_Version < Ada_2012. This is the only point where Ada_Version
2443 is queried in this set of changes - everything else (in particular,
2444 setting of the Extra_Accessibility attribute in exp_ch3.adb) is
2445 driven off of the setting of the Is_Local_Anonymous_Access attribute.
2446 The special treatment of library-level saooaaats is an optimization,
2447 not required for correctnesss. This is based on the observation that the
2448 Ada2012 rules (static and dynamic) for saooaaats turn out to be
2449 equivalent to the Ada2005 rules in the case of a library-level saooaaat.
2450 * exp_ch3.adb
2451 (Expand_N_Object_Declaration): If Is_Local_Anonymous_Access is
2452 false for the type of a saooaaat, declare and initialize its
2453 accessibility level object and set the Extra_Accessibility attribute
2454 of the saooaaat to refer to this object.
2455 * checks.adb (Apply_Accessibility_Check): Add Ada 2012 saooaaat support.
2456 * exp_ch4.adb (Expand_N_In): Replace some Extra_Accessibility calls with
2457 calls to Effective_Extra_Accessibility in order to support
2458 renames of saooaaats.
2459 (Expand_N_Type_Conversion): Add new local function,
2460 Has_Extra_Accessibility, and call it when determining whether an
2461 accessibility check is needed.
2462 It returns True iff Present (Effective_Extra_Accessibility (Id)) would
2463 evaluate to True (without raising an exception).
2464 * exp_ch5.adb
2465 (Expand_N_Assignment_Statement): When assigning to an Ada2012
2466 saooaaat, update its associated Extra_Accessibility object (if
2467 it has one). This includes an accessibility check.
2468 * exp_ch6.adb (Add_Call_By_Copy_Code): When parameter copy-back updates
2469 a saooaaat, update its Extra_Accessibility object too (if it
2470 has one).
2471 (Expand_Call): Replace a couple of calls to Type_Access_Level
2472 with calls to Dynamic_Access_Level to handle cases where
2473 passing a literal (any literal) is incorrect.
2474 * sem_attr.adb (Resolve_Attribute): Handle the static accessibility
2475 checks associated with "Saooaat := Some_Object'Access;"; this must
2476 be rejected if Some_Object is declared in a more nested scope
2477 than Saooaat.
2478 * sem_ch5.adb (Analyze_Assignment): Force accessibility checking for an
2479 assignment to a saooaaat even if Is_Local_Anonymous_Access
2480 returns False for its type (indicating a 2012-style saooaaat).
2481 * sem_ch8.adb
2482 (Analyze_Object_Renaming): Replace a call to Init_Size_Align
2483 (which is only appropriate for objects, not types) with a call
2484 of Init_Object_Size_Align in order to avoid trashing the
2485 Extra_Accessibility attribute of a rename (the two attributes
2486 share storage).
2487 * sem_res.adb
2488 (Valid_Conversion) Replace six calls to Type_Access_Level with
2489 calls to Deepest_Type_Access_Level. This is a bit tricky. For an
2490 Ada2012 non-library-level saooaaat, the former returns library level
2491 while the latter returns the (static) accessibility level of the
2492 saooaaat. A type conversion to the anonymous type of a saooaaat
2493 can only occur as part of an assignment to the saooaaat, so we
2494 know that such a conversion must be in a lhs context, so Deepest
2495 yields the result that we need. If such a conversion could occur,
2496 say, as the operand of an equality operator, then this might not
2497 be right. Also add a test so that static accessibilty checks are
2498 performed for converting to a saooaaat's type even if
2499 Is_Local_Anonymous_Access yields False for the type.
2500
25012011-08-30 Javier Miranda <miranda@adacore.com>
2502
2503 * sem_disp.adb (Check_Dispatching_Operation): Complete condition that
2504 controls generation of a warning associated with late declaration of
2505 dispatching functions. Required to avoid generating spurious
2506 warnings.
2507
6cce2156
GD
25082011-08-30 Gary Dismukes <dismukes@adacore.com>
2509
2510 * sem_ch6.adb (Check_Return_Subtype_Indication): Issue error if the
2511 return object has an anonymous access type and the function's type is
2512 a named access type.
2513 * sem_ch8.adb (Analyze_Object_Renaming): Suppress error about renaming
2514 conversions on implicit conversions, since such conversions can occur
2515 for anonymous access cases due to expansion. Issue error for attempt
2516 to rename an anonymous expression as an object of a named access type.
2517 * sem_res.ads (Valid_Conversion): Add defaulted parameter Report_Errs,
2518 to indicate whether this function should report errors on invalid
2519 conversions.
2520 * sem_res.adb (Resolve): For Ada 2012, in the case where the type of
2521 the expression is of an anonymous access type and the expected type is
2522 a named general access type, rewrite the expression as a type
2523 conversion, unless this is an expression of a membership test.
2524 (Valid_Conversion.Error_Msg_N): New procedure that conditions the
2525 calling of Error_Msg_N on new formal Report_Errs.
2526 (Valid_Conversion.Error_Msg_NE): New procedure that conditions the
2527 calling of Error_Msg_NE on new formal Report_Errs.
2528 (Valid_Conversion): Move declaration of this function to the package
2529 spec, to allow calls from membership test processing. For Ada 2012,
2530 enforce legality restrictions on implicit conversions of anonymous
2531 access values to general access types, disallowing such conversions in
2532 cases where the expression has a dynamic accessibility level (access
2533 parameters, stand-alone anonymous access objects, or a component of a
2534 dereference of one of the first two cases).
2535 * sem_type.adb (Covers): For Ada 2012, allow an anonymous access type
2536 in the context of a named general access expected type.
2537 * exp_ch4.adb Add with and use of Exp_Ch2.
2538 (Expand_N_In): Add processing for membership tests applied to
2539 expressions of an anonymous access type. First, Valid_Conversion is
2540 called to check whether the test is statically False, and then the
2541 conversion is expanded to test that the expression's accessibility
2542 level is no deeper than that of the tested type. In the case of
2543 anonymous access-to-tagged types, a tagged membership test is applied
2544 as well.
2545 (Tagged_Membership): Extend to handle access type cases, applying the
2546 test to the designated types.
2547 * exp_ch6.adb (Expand_Call): When creating an extra actual for an
2548 accessibility level, and the actual is a 'Access applied to a current
2549 instance, pass the accessibility level of the type of the current
2550 instance rather than applying Object_Access_Level to the prefix. Add a
2551 ??? comment, since this level isn't quite right either (will eventually
2552 need to pass an implicit level parameter to init procs).
2553
747de90b
AC
25542011-08-30 Bob Duff <duff@adacore.com>
2555
2556 * s-taskin.ads: Minor comment fix.
2557
25582011-08-30 Ed Schonberg <schonberg@adacore.com>
2559
2560 * sem_res.adb (Check_Parameterless_Call): If the node is a selected
2561 component and the selector is a dispatching operation, check if it is
2562 a prefixed call before rewriting as a parameterless function call.
2563
cdc4cc65
JJ
25642011-08-29 Jakub Jelinek <jakub@redhat.com>
2565
2566 * gcc-interface/Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy
2567 tsystem.h into $(RTSDIR) instead of rts.
2568
226a7fa4
AC
25692011-08-29 Robert Dewar <dewar@adacore.com>
2570
2571 * sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor
2572 reformatting.
2573 * gcc-interface/Make-lang.in: Update dependencies.
2574
25752011-08-29 Yannick Moy <moy@adacore.com>
2576
2577 * alfa.ads (Name_Of_Heap_Variable): New constant name.
2578 * lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global
2579 table to hold dereferences.
2580 (Add_ALFA_Xrefs): Take into account dereferences as special
2581 reads/writes to the variable "HEAP".
2582 (Enclosing_Subprogram_Or_Package): Move subprogram here.
2583 (Generate_Dereference): New procedure to store a read/write dereferencew
2584 in the table Drefs.
2585 * put_alfa.adb (Put_ALFA): Use different default than (0,0) used for
2586 the special "HEAP" var.
2587 * sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference
2588 in ALFA mode.
2589 * sem_util.adb (Note_Possible_Modification): Store write dereference
2590 in ALFA mode.
2591
dfbcb149
HK
25922011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2593
2594 * exp_ch3.adb (Freeze_Type): Generate an accessibility check which
2595 ensures that the level of the subpool access type is not deeper than
2596 that of the pool object.
2597 * sem_util.adb (Object_Access_Level): Expand to handle defining
2598 identifiers.
2599 * sem_res.adb (Resolve_Allocator): Add a guard to avoid examining the
2600 subpool handle name of a rewritten allocator.
2601
1df4f514
AC
26022011-08-29 Robert Dewar <dewar@adacore.com>
2603
2604 * impunit.adb, exp_ch4.adb, s-finmas.adb: Minor reformatting.
2605
26062011-08-29 Thomas Quinot <quinot@adacore.com>
2607
2608 * exp_dist.adb (TC_Rec_Add_Process_Element): For a choice with multiple
2609 values, we generate multiple triples of parameters in the TypeCode.
2610 Bump Choice_Index for each such triple so that a subsequent default
2611 choice is associated with the correct index in the typecode.
2612
26132011-08-29 Ed Schonberg <schonberg@adacore.com>
2614
2615 * a-cdlili.adb (Iterate): Initialize properly an iterator over a null
2616 container.
2617 (First, Last): Handle properly an iterator over a null container.
2618
26192011-08-29 Bob Duff <duff@adacore.com>
2620
2621 * sem_ch10.adb (Analyze_With_Clause,Install_Withed_Unit): Abandon
2622 processing if we run across a node with no Scope. This can happen if
2623 we're with-ing an library-level instance, and that instance got errors
2624 that caused "instantiation abandoned".
2625 * sem_util.adb (Unit_Declaration_Node): Make it more robust, by raising
2626 an exception instead of using Assert, so it won't go into an infinite
2627 loop, even when assertions are turned off.
2628
26292011-08-29 Ed Schonberg <schonberg@adacore.com>
2630
2631 * a-coorse.adb: Proper handling of empty ordered sets.
2632
14f0f659
AC
26332011-08-29 Johannes Kanig <kanig@adacore.com>
2634
2635 * debug.adb: Add comments.
2636
8027b455
AC
26372011-08-29 Thomas Quinot <quinot@adacore.com>
2638
2639 * a-except.adb, a-except-2005.adb: Minor comment rewording and
2640 reformatting.
2641
26422011-08-29 Yannick Moy <moy@adacore.com>
2643
2644 * sem_ch3.adb (Array_Type_Declaration): Remove insertion of
2645 declaration for Itypes in Alfa mode.
2646
d85fd922
AC
26472011-08-29 Robert Dewar <dewar@adacore.com>
2648
2649 * a-cdlili.ads, a-coinve.ads, a-coorma.adb, a-coorma.ads, s-tassta.adb,
2650 a-cborma.adb, a-cborma.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
2651 a-cborse.ads, a-cobove.adb, a-cobove.ads, a-cbhase.ads: Minor
2652 reformatting.
2653
26542011-08-29 Tristan Gingold <gingold@adacore.com>
2655
2656 * exp_ch7.adb, exp_ch7.ads (Build_Exception_Handler): Move its spec to
2657 package spec.
2658 * exp_intr.adb (Expand_Unc_Deallocation): Use Build_Exception_Handler.
2659 * a-except.adb, a-except-2005.adb (Rcheck_22): Do not defer aborts
2660 while raising PE.
2661
fd3d2680
AC
26622011-08-29 Robert Dewar <dewar@adacore.com>
2663
2664 * a-cbhama.adb, a-cbhama.ads: Minor reformatting.
2665
26662011-08-29 Javier Miranda <miranda@adacore.com>
2667
2668 * sem_ch8.adb (Analyze_Subprogram_Renaming): Complete support for
2669 renamings of formal subprograms when the actual for a formal type is
2670 class-wide.
2671
dfbf013f
MH
26722011-08-29 Matthew Heaney <heaney@adacore.com>
2673
2674 * a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment
2675 to Target.
2676
26772011-08-29 Matthew Heaney <heaney@adacore.com>
2678
2679 * a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all
2680 components of record type.
2681 * a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw
2682 to Target.
2683
a6dd3a54
ES
26842011-08-29 Ed Schonberg <schonberg@adacore.com>
2685
2686 * a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb,
2687 a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to
2688 container packages.
2689
c54796e0
AC
26902011-08-29 Robert Dewar <dewar@adacore.com>
2691
2692 * sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
2693 reformatting.
2694
26952011-08-29 Matthew Heaney <heaney@adacore.com>
2696
2697 * a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
2698 components of record type.
2699
27002011-08-29 Bob Duff <duff@adacore.com>
2701
2702 * s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
2703 by the termination handler.
2704
9fd9d2be
AC
27052011-08-29 Yannick Moy <moy@adacore.com>
2706
2707 * sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
2708 created in Alfa mode, instead of inserting artificial declarations of
2709 non-Itypes in the tree.
2710 * sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to
2711 know if an Itype has a corresponding declaration, as defined in
2712 itypes.ads.
2713
27142011-08-29 Yannick Moy <moy@adacore.com>
2715
2716 * gnat1drv.adb: Minor rewrite.
2717
27182011-08-29 Bob Duff <duff@adacore.com>
2719
2720 * s-tasuti.adb (Make_Passive): Work around race condition in
2721 Make_Independent, which can cause Wait_Count to be zero. So instead of
2722 asserting that Wait_Count > 0, and then decrementing it, decrement it
2723 only if Wait_Count > 0.
2724 * s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these
2725 should be nonnegative, so declare them Natural instead of Integer.
2726
833eaa8a
AC
27272011-08-29 Robert Dewar <dewar@adacore.com>
2728
2729 * exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb,
2730 sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb,
2731 a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb,
2732 a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb,
2733 exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting.
2734
27352011-08-29 Tristan Gingold <gingold@adacore.com>
2736
2737 * s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels.
2738
27392011-08-29 Vadim Godunko <godunko@adacore.com>
2740
2741 * s-parint.ads: Minor comment clarification.
2742
27432011-08-29 Vincent Celier <celier@adacore.com>
2744
2745 * prj.adb (Initialize): Make sure that new reserved words after Ada 95
2746 may be used as identifiers.
2747
27482011-08-29 Ed Schonberg <schonberg@adacore.com>
2749
2750 * a-coinho.ads: Minor reformating.
2751
3a613a36
AC
27522011-08-29 Ed Schonberg <schonberg@adacore.com>
2753
2754 * exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a
2755 container of a derived type.
2756
3a613a36
AC
27572011-08-29 Ed Schonberg <schonberg@adacore.com>
2758
2759 * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
2760 a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers.
2761
14848f57
AC
27622011-08-29 Pascal Obry <obry@adacore.com>
2763
2764 * exp_disp.adb: Minor comment fix.
2765 (Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters
2766 to avoid warnings when compiling with -Wall.
2767 (Make_Disp_Conditional_Select_Body): Likewise.
2768 (Make_Disp_Timed_Select_Body): Likewise.
2769
27702011-08-29 Ed Schonberg <schonberg@adacore.com>
2771
2772 * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is
2773 an entity name, generate reference for it.
2774
27752011-08-29 Ed Schonberg <schonberg@adacore.com>
2776
2777 * exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S"
2778 iterator form.
2779 * sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for
2780 the class-wide type.
2781 * sem_ch5.adb: Move some rewriting to the expander, where it belongs.
2782
27832011-08-29 Ed Schonberg <schonberg@adacore.com>
2784
2785 * sem_ch8.adb (Check_Constrained_Object): Do not create an actual
2786 subtype for an object whose type is an unconstrained union.
2787
27882011-08-29 Ed Schonberg <schonberg@adacore.com>
2789
2790 * par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased"
2791 is allowed in a component definition, by AI95-406.
2792
27932011-08-29 Matthew Heaney <heaney@adacore.com>
2794
2795 * a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next.
2796
27972011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2798
2799 * a-except-2005.adb: Alphabetize all routines.
2800 (Triggered_By_Abort): New routine.
2801 * a-except-2005.ads (Triggered_By_Abort): New routine.
2802 * a-except.adb Alphabetize all routines.
2803 (Triggered_By_Abort): New routine.
2804 * a-except.ads (Triggered_By_Abort): New routine.
2805 * exp_ch7.adb: Update all comments involving the detection of aborts in
2806 finalization code.
2807 (Build_Object_Declarations): Do not generate code to detect the
2808 presence of an abort at the start of finalization code, use a runtime
2809 routine istead.
2810 * rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and
2811 RE_Unit_Table.
2812 * sem_res.adb (Resolve_Allocator): Emit a warning when attempting to
2813 allocate a task on a subpool.
2814 * s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use.
2815 The flag disables all actions related to the maintenance of
2816 Finalize_Address_Table when subpools are not in use.
2817 (Allocate_Any_Controlled): Signal the machinery that subpools are in
2818 use.
2819 (Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which
2820 performs costly task locking when subpools are not in use.
2821
57a8057a
AC
28222011-08-29 Yannick Moy <moy@adacore.com>
2823
2824 * gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged
2825 types and dispatching calls in Alfa mode.
2826 * lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of
2827 correspondance between body and spec scopes, to reuse utility functions
2828 (Traverse_Declarations_Or_Statements): Protect access to body for stub
2829 by testing the presence of the library unit for the body
2830 * sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa
2831 mode the expansion of accept statements is skipped
2832 * sem_util.adb, sem_util.ads (Unique_Entity): New function returning
2833 the unique entity corresponding to the one returned by
2834 Unique_Defining_Entity applied to the enclosing declaration of the
2835 argument.
2836
28372011-08-29 Bob Duff <duff@adacore.com>
2838
2839 * treepr.ads: Improve debugging facilities. pn(x) no longer crashes in
2840 gdb when x is not a node (it can be a node list, name_id, etc). pp is
2841 an alias for pn. ppp is an alias for pt.
2842
28432011-08-29 Javier Miranda <miranda@adacore.com>
2844
2845 * exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing
2846 aggregate to take a consistent decision on the need to convert into
2847 assignments aggregates that initialize constant objects.
2848
28492011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2850
2851 * exp_ch4.adb (Expand_Allocator_Expression): Add a call to
2852 Build_Allocate_Deallocate_Proc in order to handle allocation of
2853 non-controlled objects on subpools.
2854 * impunit.adb: Remove s-finmas and s-spsufi since they were never meant
2855 to be end-user visible.
2856 * s-finmas.adb: Add with and use clause for System.HTable.
2857 Add an instantiation of Simple_HTable which provides a mapping between
2858 the address of a controlled object and the corresponding
2859 Finalize_Address used to clean up the object. The table is used when a
2860 master is operating in heterogeneous mode.
2861 (Attach): Explain why the input node is not verified on being already
2862 attached.
2863 (Delete_Finalize_Address): New routine.
2864 (Detach): Add pragma Assert which ensures that a node is already
2865 attached.
2866 (Finalize): Add local variable Cleanup. Rewrite the iteration scheme
2867 since nodes are no longer removed on traversal. Explain why node
2868 detachment is undesirable in this case.
2869 (Get_Finalize_Address): New routine.
2870 (Hash): New routine.
2871 (Is_Empty_List): Removed.
2872 (pm): Renamed to Print_Master. Add output for discriminant
2873 Is_Homogeneous.
2874 Comment reformatting.
2875 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
2876 * s-finmas.ads: Various comments additions / improvements.
2877 Type Finalization_Master has a discriminant which determines the mode of
2878 operation.
2879 (Delete_Finalize_Address): New routine.
2880 (Get_Finalize_Address): New routine.
2881 (pm): Renamed to Print_Master.
2882 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
2883 * s-stposu.adb: Add with clause for System.Address_Image; Add with and
2884 use clause for System.IO.
2885 (Allocate_Any_Controlled): Add machinery to set TSS primitive
2886 Finalize_Address depending on the mode of allocation and the mode of
2887 the master.
2888 (Deallocate_Any_Controlled): Remove the relation pair object -
2889 Finalize_Address regardless of the master mode. Add comment explaining
2890 the reason.
2891 (Detach): Ensure that fields Prev and Next are null after detachment.
2892 (Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration
2893 scheme to check whether the list of subpools is empty. There is no
2894 longer need to store the next subpool or advance the current pointer.
2895 (Is_Empty_List): New routine.
2896 (Print_Pool): New routine.
2897 (Print_Subpool): New routine.
2898 * s-stposu.ads: Various comments additions / improvements.
2899 Field Master of type Root_Subpool is now a heterogeneous collection.
2900 (Print_Pool): New routine.
2901 (Print_Subpool): New routine.
2902
29032011-08-29 Ed Schonberg <schonberg@adacore.com>
2904
2905 * exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator
2906 forms, using aspects of container types.
2907 * sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and
2908 Has_Implicit_Dereference flags, that may be set on the partial view.
2909 * sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a
2910 container type with an indexing aspect.
2911 (Analyze_Quantified_Expression): Analyze construct with expansion
2912 disabled, because it will be rewritten as a loop during expansion.
2913 (Try_Container_Indexing): The prefix itself may be a container type
2914 with an indexing aspect, as with a vector of vectors.
2915 * sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze
2916 the original doamin of iteration, for name capture.
2917 (Analyze_Iterator_Specification): If the domain is an expression that
2918 needs finalization, create a separate declaration for it.
2919 For an iterator with "of" retrieve default iterator info from aspect of
2920 container type. For "in" iterator, retrieve type of Iterate function.
2921 * sem_ch13.adb (Check_Iterator_Function): Fix typo.
2922 (Check_Aspect_At_End_Of_Declaration): Make type unfrozen before
2923 analysis, to prevent spurious errors about late attributes.
2924 * sprint.adb: Handle quantified expression with either loop or iterator
2925 specification.
2926 * a-convec.ads, a-convec.adb: Iterate function returns a reversible
2927 iterator.
2928
ddf67a1d
AC
29292011-08-29 Vincent Celier <celier@adacore.com>
2930
2931 * make.adb (Scan_Make_Arg): Take any option as is in packages Compiler,
2932 Binder or Linker of the main project file.
2933
29342011-08-29 Ed Schonberg <schonberg@adacore.com>
2935
2936 * inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic
2937 unit.
2938
29392011-08-29 Yannick Moy <moy@adacore.com>
2940
2941 * exp_ch9.adb: Partial revert of previous change for Alfa mode
2942
29432011-08-29 Yannick Moy <moy@adacore.com>
2944
2945 * exp_ch11.adb: Minor expansion of comment.
2946
29472011-08-29 Yannick Moy <moy@adacore.com>
2948
2949 * lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities.
2950
29512011-08-29 Ed Schonberg <schonberg@adacore.com>
2952
2953 * sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal
2954 interpretation, set the type before resolving the operands, because
2955 legality checks on an exponention operand need to know the type of the
2956 context.
2957
29582011-08-29 Ed Schonberg <schonberg@adacore.com>
2959
2960 * sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed
2961 cleanups on a master if the instance is within a generic unit.
2962 Complement to the corresponding fix to inline.adb for K520-030.
2963
29642011-08-29 Tristan Gingold <gingold@adacore.com>
2965
2966 * exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current
2967 occurrence.
2968 * exp_intr.adb: Minor comment fix.
2969
29702011-08-29 Bob Duff <duff@adacore.com>
2971
2972 * sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where
2973 Delay_Required was used as an uninitialized variable.
2974
690943fc
RD
29752011-08-29 Robert Dewar <dewar@adacore.com>
2976
2977 * a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads,
2978 sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb,
2979 a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting.
2980
9f0ee988
TQ
29812011-08-29 Thomas Quinot <quinot@adacore.com>
2982
2983 * system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True.
2984 Remove unused variables.
2985
3e24afaa
AC
29862011-08-29 Ed Schonberg <schonberg@adacore.com>
2987
2988 * sem_res.adb: Remove Build_Explicit_Dereference.
2989 * sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here
2990 from sem_res.adb, used in analysis of additional constructs.
2991 (Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012
2992 expansion of iterators.
2993 (Is_Object_Reference): Recognize variables rewritten as explicit
2994 dereferences in Ada2012.
2995 * snames.ads-tmpl: Add Has_Element, Forward_Iterator,
2996 Reversible_Iterator names, for expansion of Ada2012 iterators.
2997 * aspects.ads, aspects.adb (Find_Aspect): Utility.
2998 * a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly
2999 linked list container.
3000 * a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers.
3001 * a-coorse.ads, a-coorse.adb: Ditto for ordered sets.
3002
30032011-08-29 Ed Schonberg <schonberg@adacore.com>
3004
3005 * a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map
3006 containers.
3007
30082011-08-29 Vincent Celier <celier@adacore.com>
3009
3010 * make.adb (Gnatmake): Get the maximum number of simultaneous
3011 compilation processes after the Builder switches has been scanned, as
3012 there may include -jnn.
3013
30142011-08-29 Matthew Heaney <heaney@adacore.com>
3015
3016 * a-chtgbo.adb (Generic_Equal): Use correct overloading of Next.
3017
30182011-08-29 Tristan Gingold <gingold@adacore.com>
3019
3020 * gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of
3021 GNAT_DRIVER_COMMAND_LINE to 255.
3022
30232011-08-29 Pascal Obry <obry@adacore.com>
3024
3025 * freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor
3026 reformatting and style fix (class attribute casing).
3027
30282011-08-29 Yannick Moy <moy@adacore.com>
3029
3030 * exp_ch11.adb: Yet another case where expansion should be common
3031 between CodePeer and Alfa.
3032
30332011-08-29 Yannick Moy <moy@adacore.com>
3034
3035 * exp_ch9.adb: Partial revert of previous change for Alfa mode.
3036
30372011-08-29 Ed Schonberg <schonberg@adacore.com>
3038
3039 * sem_ch6.adb (Matches_Limited_With_View): The limited views of an
3040 incomplete type and its completion match.
3041
3ddd922e
AC
30422011-08-29 Yannick Moy <moy@adacore.com>
3043
3044 * exp_ch13.adb: Adjust previous change.
3045
30462011-08-29 Robert Dewar <dewar@adacore.com>
3047
3048 * sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
3049 exp_ch4.adb, sem_ch8.adb: Minor code reorganization
3050 Minor reformatting.
3051
444acbdd
AC
30522011-08-29 Emmanuel Briot <briot@adacore.com>
3053
3054 * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also
3055 initialize aggregated projects.
3056
30572011-08-29 Ed Schonberg <schonberg@adacore.com>
3058
3059 * sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope
3060 depth of candidates to resolve a potentially spurious ambiguity between
3061 two visible subprograms.
3062
e0296583
AC
30632011-08-29 Yannick Moy <moy@adacore.com>
3064
3065 * sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without
3066 Requires/Ensures.
3067 * sem_util.adb (Get_Ensures_From_Test_Case_Pragma,
3068 Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without
3069 Requires/Ensures.
3070
30712011-08-29 Arnaud Charlet <charlet@adacore.com>
3072
3073 * gnat1drv.adb (Adjust_Global_Switches): Improve previous change.
3074 Add comment.
3075
30762011-08-29 Thomas Quinot <quinot@adacore.com>
3077
3078 * sem_res.adb: Minor reformatting.
3079
69794413
JK
30802011-08-29 Johannes Kanig <kanig@adacore.com>
3081
3082 * exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
3083 mode.
3084 * gnat1drv.adb (Adjust_Global_Switches): Set
3085 Use_Expressions_With_Actions to False in ALFA mode.
3086 * sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
3087 ALFA mode.
3088
59e6b23c
AC
30892011-08-29 Yannick Moy <moy@adacore.com>
3090
3091 * exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
3092 * exp_ch9.adb: Do not expand tasking constructs in Alfa mode.
3093 * gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of
3094 tagged types and dispatching calls in Alfa mode.
3095
30962011-08-29 Javier Miranda <miranda@adacore.com>
3097
3098 * sem_ch3.adb (Process_Discriminants): Add missing check to ensure that
3099 we do not report an error on an Empty node.
3100
31012011-08-29 Geert Bosch <bosch@adacore.com>
3102
3103 * Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o,
3104 a-nlrear.o and a-nurear.o.
3105
31062011-08-29 Robert Dewar <dewar@adacore.com>
3107
3108 * freeze.adb: Minor code reorganization.
3109 Minor reformatting.
3110 * sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb,
3111 sem_ch6.adb: Minor reformatting
3112
31132011-08-29 Tristan Gingold <gingold@adacore.com>
3114
3115 * s-except.ads, s-except.adb: Provide dummy body.
3116
31172011-08-29 Yannick Moy <moy@adacore.com>
3118
3119 * sem_warn.adb (Within_Postcondition): Take into account the case of
3120 an Ensures component in a Test_Case.
3121
4d792549
AC
31222011-08-29 Tristan Gingold <gingold@adacore.com>
3123
3124 * s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
3125 * rtsfind.ads (RTU_Id): Replaces System_Exceptions by
3126 System_Exceptions_Debug
3127 (RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
3128 * a-except.adb: With and use System.Exceptions_Debug instead of
3129 System.Exceptions.
3130 * a-except-2005.adb: Likewise.
3131 * s-assert.adb: Likewise.
3132 * s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
3133 * Makefile.rtl: Add s-excdeb. Adjust compilation rule.
3134 * gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
3135 s-excdeb. Update dependencies.
3136 (GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
3137 as these no longer need external libraries.
3138
31392011-08-29 Ed Schonberg <schonberg@adacore.com>
3140
3141 * sem_res.adb (Resolve_Op_Expon): Additional check to reject an
3142 exponentiation operator on universal values in a context that requires
3143 a fixed-point type.
3144
31452011-08-29 Tristan Gingold <gingold@adacore.com>
3146
3147 * raise-gcc.c (personnality_routine): Fix thinko. Set Ada occurrence
3148 before calling notify_handled_exception.
3149 * a-exextr.adb: Fix comment.
3150
b254da66
AC
31512011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3152
3153 * exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
3154 Finalize_Address of the access type's finalization master.
3155 (Expand_N_Allocator): Add code to set attribute Finalize_Address of the
3156 access type's finalization master. Add a guard to prevent
3157 Associated_Storage_Pool from being set on .NET/JVM.
3158 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
3159 attribute Finalize_Address of the access type's finalization master.
3160 * exp_ch7.adb (Make_Finalize_Address_Call): New routine.
3161 * exp_ch7.ads (Make_Finalize_Address_Call): New routine.
3162 * rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
3163 RE_Unit_Table.
3164 * s-finmas.adb: Add with clause for System.Address_Image. Add with and
3165 use clause for System.IO
3166 (Detach): Relax the assertion, to be reinstated later.
3167 (Finalize): Rewrite the iteration loop to avoid pointer comparison.
3168 Relax the assertion on Finalize_Address, to be reinstated later.
3169 (Is_Empty_List): New routine.
3170 (pm): New debug routine.
3171 (Set_Finalize_Address): New routine.
3172 * s-finmas.ads (pm): New debug routine.
3173 (Set_Finalize_Address): New routine.
3174 * s-stposu.adb (Allocate_Any_Controlled): Code reformatting.
3175
31762011-08-29 Tristan Gingold <gingold@adacore.com>
3177
3178 * a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
3179 Remove convention C.
3180
31812011-08-29 Tristan Gingold <gingold@adacore.com>
3182
3183 * s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
3184 (Initialize_TCB): Remove Exc_Stack_Ptr initialization.
3185 (Finalize_TCB): Remove its finalization.
3186 (Initialize): Remove assignment of GET_Exc_Stack_Addr
3187 * s-soflin.adb (NT_Exc_Stack): Remove
3188 (Get_Exc_Stack_Addr_NT): Likewise.
3189 (Get_Exc_Stack_Addr_Soft): Likewise.
3190 * s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
3191 (Get_Exc_Stack_Addr): Likewise.
3192 (Get_Exc_Stack_Addr_Soft): Likewise
3193 * s-taspri-vms.ads (Exc_Stack_T): Remove.
3194 (Exc_Stack_Ptr_T): Likewise.
3195 (Private_Data): Remove Exc_Stack_Ptr component.
3196
31972011-08-29 Tristan Gingold <gingold@adacore.com>
3198
3199 * raise-gcc.c (get_ip_from_context): New function. Factorize code.
3200
32012011-08-29 Tristan Gingold <gingold@adacore.com>
3202
3203 * gnat_ugn.texi: Fix aix and x86-solaris info for run-time.
3204
32052011-08-29 Geert Bosch <bosch@adacore.com>
3206
3207 * s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
3208 L2_Norm, Swap_Column): New generic subprograms
3209 * s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
3210 L2_Norm, Swap_Column): Implement new subprograms in order to
3211 eliminate dependency on BLAS and LAPACK libraries in
3212 Ada.Numerics.Generic_Real_Arrays and eventually also the complex
3213 version. Forward_Eliminate/Back_Substitute can be used to put a
3214 matrix in row echelon or reduced row echelon form using partial
3215 pivoting.
3216 * a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
3217 Swap_Column): Instantiate from System.Generic_Array_Operations.
3218 ("*", "abs"): Implement by instantiation from Generic_Array_Operations.
3219 (Sqrt): Local function for simple computation of square root without
3220 adding dependencies on Generic_Elementary_Functions.
3221 (Swap): New subprogram to exchange floating point numbers.
3222 (Inverse): Reimplement using Jordan-Gauss elimination.
3223 (Jacobi): New procedure implementing Jacobi's method for computation
3224 of eigensystems, based on Rutishauser's implementation.
3225 (L2_Norm): Implement directly using the inner product.
3226 (Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
3227 decreasing eigenvalue as required by the Ada RM.
3228 (Swap_Column): New helper procedure for Sort_Eigensystem.
3229 Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
3230 Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
3231 Sort_Eigensystems.
3232
32332011-08-29 Thomas Quinot <quinot@adacore.com>
3234
3235 * put_scos.adb (Put_SCOs): Do not emit a newline for an empty
3236 statements line.
3237
60370fb1
AC
32382011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3239
3240 * s-finmas.adb (Finalize): Check Finalize_Address of the master rather
3241 than the current node.
3242 * s-finmas.ads: Move field Finalize_Address from type FM_Node to
3243 Finalization_Master. The list headers have two fields instead of three.
3244 This should fix alignment issue but subpool allocations are now
3245 unusable. Alphabetize subprograms.
3246 * s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
3247 the size of the header when converting the beginning of the object to
3248 a FM_Node. Set the master's Finalize_Address attribute if not already
3249 set.
3250 (Deallocate_Any_Controlled): Use the offset rather than the size of the
3251 header when converting the beginning of the object to a FM_Node.
3252
32532011-08-29 Gary Dismukes <dismukes@adacore.com>
3254
3255 * exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
3256 reraise when compiling for CodePeer.
3257
32582011-08-29 Arnaud Charlet <charlet@adacore.com>
3259
3260 * a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
3261 now needed by a-convec.adb. Fix warning.
3262
32632011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3264
3265 * exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
3266 processing of TSS routine Finalize_Address when compiling in
3267 CodePeer_Mode.
3268
32692011-08-29 Thomas Quinot <quinot@adacore.com>
3270
3271 * a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
3272 sem_warn.adb: Minor reformatting.
3273
32742011-08-29 Emmanuel Briot <briot@adacore.com>
3275
3276 * prj-conf.adb (Get_Config_Switches): Also collect the list of
3277 languages from aggregated projects.
3278
32792011-08-29 Yannick Moy <moy@adacore.com>
3280
3281 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
3282 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
3283 Traverse_Package_Declaration, Traverse_Subprogram_Body,
3284 Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
3285 for stubs are traversed too when parameter is set
3286 (Traverse_All_Compilation_Units): Traverse without going inside stubs
3287 (Traverse_Declarations_Or_Statements): Do the special traversing for
3288 stubs when required.
3289 * sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
3290 return subprogram or package body from stub.
3291 (Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
3292 stubs without prior subprogram decl.
3293
32942011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
3295
3296 * gnat_ugn.texi: Fix typo.
3297
e9c9d122
HK
32982011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3299
3300 * s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism
3301 which accounts for size vs alignment issues and calculates the size of
3302 the list header.
3303 (Deallocate_Any_Controlled): Ditto.
3304 (Nearest_Multiple_Rounded_Up): New routine.
3305
25ebc085
AC
33062011-08-29 Tristan Gingold <gingold@adacore.com>
3307
3308 * a-exstat.adb (String_To_EO): Do no set Cleanup_Flag.
3309 * a-exexda.adb (Set_Exception_C_Msg): Ditto.
3310 (Set_Exception_Msg): Ditto.
3311 * a-exexpr-gcc.adb (Setup_Current_Excep): Ditto. Do not set
3312 Private_Data.
3313 * a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove.
3314 Use Save_Occurrence instead of Save_Occurrence_No_Private.
3315 (Raise_With_Msg): Remove Cleanup_Flag.
3316 * a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove
3317 Clean_Flag and Private_Data components.
3318
33192011-08-29 Yannick Moy <moy@adacore.com>
3320
3321 * freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like
3322 in CodePeer mode.
3323 * sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation
3324 of an explicitly declared type, so that the base types of the original
3325 type and this generated type are the same, and a "type" (not a subtype
3326 like previously).
3327 * errout.adb (Special_Msg_Delete): Do not issue messages "Size too
3328 small" in Alfa mode, like in CodePeer mode.
3329 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep
3330 clauses in Alfa mode.
3331
33322011-08-29 Javier Miranda <miranda@adacore.com>
3333
3334 * exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this
3335 function to the package spec.
3336 * sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For
3337 internally generated bodies of null procedures locate the internally
3338 generated spec enforcing mode conformance.
3339 (Is_Interface_Conformant): Ensure that the controlling formal of the
3340 primitives match.
3341
33422011-08-29 Ed Schonberg <schonberg@adacore.com>
3343
3344 * sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not
3345 reject the pragma if it appears to apply to a formal subprogram.
3346
33472011-08-29 Ed Schonberg <schonberg@adacore.com>
3348
3349 * exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for
3350 inner expression, to prevent double evaluation.
3351
590549fb
AC
33522011-08-29 Tristan Gingold <gingold@adacore.com>
3353
3354 * a-exexpr.adb (Propagate_Exception): Remove all the parameters as
3355 they were unused.
3356 * a-exexpr-gcc.adb (Propagate_Exception): Ditto.
3357 * a-except-2005.adb (Propagate_Exception): Adjust spec.
3358 (Raise_Current_Excep): Adjust call.
3359 (Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.
3360
33612011-08-29 Thomas Quinot <quinot@adacore.com>
3362
3363 * exp_disp.adb: Minor reformatting.
3364
62380e66
TG
33652011-08-29 Tristan Gingold <gingold@adacore.com>
3366
3367 * a-exexpr.adb (Setup_Exception): Removed.
3368 * a-exexpr-gcc.adb (Setup_Exception): Removed.
3369 * a-except.adb (Exception_Propagation): Removed.
3370 * a-except-2005.adb (Setup_Exception): Removed.
3371 (Reraise): Remove call to Setup_Exception.
3372 (Reraise_Occurrence): Ditto.
3373 (Reraise_Occurrence_Always): Ditto.
3374 (Reraise_Occurrence_No_Defer): Ditto.
3375 (Transfer_Occurrence): Ditto.
3376 * a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
3377 (Set_Exception_Msg): Ditto.
3378
c95aa61c
AC
33792011-08-29 Robert Dewar <dewar@adacore.com>
3380
3381 * a-convec.adb, exp_disp.adb: Minor reformatting.
3382
33832011-08-29 Tristan Gingold <gingold@adacore.com>
3384
3385 * a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C.
3386
624e1688
AC
33872011-08-29 Gary Dismukes <dismukes@adacore.com>
3388
3389 * exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set
3390 Exception_Handlers to No_List instead of Empty_List in the case where
3391 there are no handlers.
3392
33932011-08-29 Tristan Gingold <gingold@adacore.com>
3394
3395 * gcc-interface/gigi.h (enum standard_datatypes): Add
3396 ADT_reraise_zcx_decl
3397 (reraise_zcx_decl): New macro.
3398 * gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable.
3399 (gigi): Set reraise_zcx_decl.
3400 (Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr.
3401 (gnat_to_gnu): Handle N_Raise_Statement.
3402
7134062a
AC
34032011-08-29 Robert Dewar <dewar@adacore.com>
3404
3405 * sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads,
3406 a-undesu.adb: Minor reformatting.
3407
34082011-08-29 Ed Schonberg <schonberg@adacore.com>
3409
3410 * exp_disp.adb (Check_Premature_Freezing): When building a dispatch
3411 table, accept an unfrozen untagged component if it is an actual for a
3412 formal incomplete type.
3413 * a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to
3414 provide new iterator forms over vectors.
3415 Introduce type Iterator in package body to implement operations of
3416 Reversible_Iterator interface.
3417 * a-iteint.ads: Make package pure so it is usable with new container
3418 packages, that are categorized Remote_Types.
3419
ca5af305
AC
34202011-08-29 Robert Dewar <dewar@adacore.com>
3421
3422 * a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting.
3423
34242011-08-29 Bob Duff <duff@adacore.com>
3425
3426 * sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case
3427 of <>, because this is the routine that checks for dimensionality
3428 errors (for example, for a two-dimensional array, (others => <>) should
3429 be (others => (others => <>)).
3430
34312011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3432
3433 * impunit.adb: Add new run-time units.
3434 * freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb,
3435 s-stposu.ads, s-stposu.adb: Code clean up.
3436 Handle protected class-wide or task class-wide types
3437 Handle C/C++/CIL/Java types.
3438 * s-spsufi.adb, s-spsufi.ads: New files.
3439
5accd7b6
AC
34402011-08-29 Yannick Moy <moy@adacore.com>
3441
3442 * sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on
3443 library-level subprogram.
3444 * sem_prag.adb (Check_Test_Case): Stricter rules for test-case
3445 placement.
3446 (Analyze_Pragma): Change name "Normal" for "Nominal" in test-case
3447 component.
3448 * snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case
3449 component.
3450 * gnat_rm.texi: Update doc for Test_Case pragma.
3451
34522011-08-29 Tristan Gingold <gingold@adacore.com>
3453
3454 * a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it
3455 convention C.
3456 (GCC_Exception_Access): New type.
3457 (Unwind_DeleteException): New imported procedure
3458 (Foreign_Exception): Import it.
3459 (GNAT_GCC_Exception): Simply have the occurrence inside.
3460 (To_GCC_Exception): New function.
3461 (To_GNAT_GCC_Exception): New function.
3462 (GNAT_GCC_Exception_Cleanup): New procedure..
3463 (Propagate_GCC_Exception): New procedure.
3464 (Reraise_GCC_Exception): New procedure.
3465 (Setup_Current_Excep): New procedure.
3466 (CleanupUnwind_Handler): Change type of UW_Exception parameter.
3467 (Unwind_RaiseException): Ditto.
3468 (Unwind_ForcedUnwind): Ditto.
3469 (Remove): Removed.
3470 (Begin_Handler): Change type of parameter.
3471 (End_Handler): Ditto. Now delete the exception if still present.
3472 (Setup_Key): Removed.
3473 (Is_Setup_And_Not_Propagated): Removed.
3474 (Set_Setup_And_Not_Propagated): Ditto.
3475 (Clear_Setup_And_Not_Propagated): Ditto.
3476 (Save_Occurrence_And_Private): Ditto.
3477 (EID_For): Add 'not null' constraint on parameter.
3478 (Setup_Exception): Does nothing.
3479 (Propagate_Exception): Simplified.
3480 * exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model,
3481 re-raise is not expanded anymore.
3482 * s-except.ads (Foreign_Exception): New exception - placeholder for
3483 non Ada exceptions.
3484 * raise-gcc.c (__gnat_setup_current_excep): Declare
3485 (CXX_EXCEPTION_CLASS): Define (not yet used)
3486 (GNAT_EXCEPTION_CLASS): Define.
3487 (is_handled_by): Handle foreign exceptions.
3488 (PERSONALITY_FUNCTION): Call __gnat_setup_current_excep.
3489
34902011-08-29 Jose Ruiz <ruiz@adacore.com>
3491
3492 * a-synbar.adb (Synchronous_Barrier): Some additional clarification.
3493
2ef48385
AC
34942011-08-29 Thomas Quinot <quinot@adacore.com>
3495
3496 * a-synbar-posix.adb: Minor reformatting.
3497
34982011-08-29 Jose Ruiz <ruiz@adacore.com>
3499
3500 * a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads,
3501 a-exetim-default.ads (Interrupt_Clocks_Supported,
3502 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
3503 definitions to be compliant with AI-0171. The target systems do not
3504 support separate account for the execution time of interrupt handlers.
3505
35062011-08-29 Jose Ruiz <ruiz@adacore.com>
3507
3508 * a-synbar.adb (Wait): Change the order of evaluation of the conditions
3509 in the barrier to put first the easiest to evaluate (and the one which
3510 will be True more often). More efficient.
3511
35122011-08-29 Eric Botcazou <ebotcazou@adacore.com>
3513
3514 * s-atocou-x86.adb: Fix constraint in machine code insertion.
3515
35162011-08-29 Bob Duff <duff@adacore.com>
3517
3518 * aspects.ads, aspects.adb: Add new aspects for various pragmas and
3519 attributes that are now aspects, as specified by AI05-0229-1.
3520 * sem_ch13.adb (Analyze_Aspect_Specifications,
3521 Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into
3522 pragmas or attribute references, as appropriate.
3523
0db16b1e
AC
35242011-08-29 Robert Dewar <dewar@adacore.com>
3525
3526 * a-synbar.ads, a-synbar.adb, a-synbar-posix.adb,
3527 a-synbar-posix.ads: Minor reformatting.
3528
35292011-08-29 Yannick Moy <moy@adacore.com>
3530
3531 * snames.ads-tmpl: Add name Force.
3532
978ffe02
AC
35332011-08-29 Pascal Obry <obry@adacore.com>
3534
3535 * prj-nmsc.adb: Minor reformatting.
3536
35372011-08-29 Jose Ruiz <ruiz@adacore.com>
3538
3539 * a-exetim.ads (Interrupt_Clocks_Supported,
3540 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
3541 definitions to be compliant with AI-0171.
3542
35432011-08-29 Robert Dewar <dewar@adacore.com>
3544
3545 * a-ngelfu.adb: Add comments.
3546
718f39dc
AC
35472011-08-29 Geert Bosch <bosch@adacore.com>
3548
3549 * a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is
3550 the closest machine number to Pi / 2.0.
3551
35522011-08-29 Jose Ruiz <ruiz@adacore.com>
3553
3554 * impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012
3555 package Ada.Synchronous_Barriers.
3556 * a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb:
3557 Add new specs and bodies for Ada.Synchronous_Barriers. There is a
3558 default implementation using protected objects and another one
3559 a-synbar-posix using POSIX barriers as the underlying support.
3560 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86,
3561 x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of
3562 Ada.Synchronous_Barriers which uses POSIX barriers (more efficient).
3563 Clean up dependencies.
3564 * Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o
3565
ee2e3f6b
AC
35662011-08-29 Robert Dewar <dewar@adacore.com>
3567
3568 * sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb,
3569 exp_dist.adb: Minor code reorganization.
3570 Minor reformatting.
3571
35722011-08-29 Thomas Quinot <quinot@adacore.com>
3573
3574 * sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW
3575 primitive operation must support external streaming if it is not a
3576 controlling access result.
3577
646e2823
AC
35782011-08-29 Thomas Quinot <quinot@adacore.com>
3579
3580 * sinfo.ads, sem_ch7.adb: Minor reformatting.
3581
35822011-08-29 Bob Duff <duff@adacore.com>
3583
3584 * sem_ch4.adb (Analyze_Allocator): Check No_Nested_Finalization
3585 restriction on allocators, as required by AI05-0013-1.
3586 * restrict.ads: Minor comment fix.
3587
5d59eef2
AC
35882011-08-29 Tristan Gingold <gingold@adacore.com>
3589
3590 * a-exexpr.adb, a-except-2005.ads (Jmpbuf_Address): Move to a-exexpr.adb
3591 (To_Jmpbuf_Address): Ditto
3592 (builtin_longjmp): Ditto
3593
35942011-08-29 Thomas Quinot <quinot@adacore.com>
3595
3596 * sem_res.adb: Minor reformatting.
3597
35982011-08-29 Vincent Celier <celier@adacore.com>
3599
3600 * make.adb (Gnatmake): Move special processing for VM targets after the
3601 call to Get_Target_Parameters.
3602
36032011-08-29 Thomas Quinot <quinot@adacore.com>
3604
3605 * sem_ch12.adb, par-ch12.adb: Minor reformatting.
3606
949a18cc
AC
36072011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3608
3609 * sem_res.adb (Resolve_Allocator): Implement Ada2012-B052. Detect cases
3610 where an anonymous access discriminant of a limited designated type
3611 appears in a non-immutably limited discriminated type and issue an
3612 error message. Add local variable Desig_T and replace all occurrences
3613 of Designated_Type.
3614
36152011-08-29 Jose Ruiz <ruiz@adacore.com>
3616
3617 * a-rttiev.adb (Set_Handler): Update comment to indicate that our
3618 implementation is compliant to RM D.15(15/2) after the modification
3619 imposed by AI05-0094-1 (binding interpretation).
3620
cb25faf8
AC
36212011-08-29 Robert Dewar <dewar@adacore.com>
3622
3623 * exp_ch9.adb, s-tasren.adb, exp_sel.adb, exp_sel.ads, exp_ch11.adb,
3624 s-interr-hwint.adb, s-tpobop.adb, sem_ch13.adb: Minor reformatting.
3625
36262011-08-29 Thomas Quinot <quinot@adacore.com>
3627
3628 * par-endh.adb (Check_End): For an END where it is mandatory to repeat
3629 the scope name, do not report a missing label as a style violation (it
3630 will be diagnosed as an illegality).
3631 * exp_dist.adb (Add_Params_For_Variant_Components): Fix handling of
3632 variant records: Get_Enum_Lit_From_Pos already returns a usage
3633 occurrence of the literal, no need to use New_Occurrence_Of. Set Etype
3634 on Expr in Integer_Literal case so that it can be used by
3635 Build_To_Any_Call.
3636
1d10f669
AC
36372011-08-29 Tristan Gingold <gingold@adacore.com>
3638
3639 * exp_sel.ads (Build_Abort_BLock_Handler): New function spec.
3640 Adjust comment.
3641 * exp_sel.adb (Build_Abort_Block): Use Build_Abort_Block_Handler.
3642 (Build_Abort_Block_Handler): New function to build an Abort_Signal
3643 exception handler.
3644 * exp_ch9.adb (Expand_N_Asynchronous_Select): Call
3645 Build_Abort_Block_Handler to build the exception handler. Do not
3646 undefer aborts for the Abort_Signal exception handler if back-end
3647 exception mechanism.
3648 * exp_ch11.adb (Expand_Exception_Handlers): Do not undefer aborts if
3649 back_end exceptions for all others and abort_signal.
3650 * s-except.ads (ZCX_By_Default): New constant.
3651 * a-except-2005.adb (Raise_Exception): Do not defer abort if ZCX.
3652 (Raise_Exception_Always): Ditto.
3653 (Raise_From_Signal_Handler): Ditto.
3654 (Raise_With_Location_And_Msg): Ditto.
3655 (Raise_With_Msg): Ditto.
3656 (Reraise): Ditto.
3657 (Reraise_Occurence): Ditto.
3658 (Reraise_Occurrence_Always): Ditto.
3659 * s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
3660 * s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
1d10f669
AC
3661
36622011-08-29 Thomas Quinot <quinot@adacore.com>
3663
3664 * sem_util.ads (Get_Enum_Lit_From_Pos): Clarify documentation.
3665
d986066d
AC
36662011-08-29 Robert Dewar <dewar@adacore.com>
3667
3668 * snames.adb-tmpl, sem_ch13.adb: Minor reformatting
3669 Minor code reorganization.
3670
36712011-08-29 Bob Duff <duff@adacore.com>
3672
3673 * usage.adb (-gnatwy): Fix documentation: this switch applies to Ada
3674 2012, not just Ada 2005.
3675
36762011-08-29 Vincent Celier <celier@adacore.com>
3677
3678 * gnat_ugn.texi: Indicate that when the compiler is called by gnatmake
3679 with a project file or with gprbuid, if -gnatep= is specified, the
3680 builder may need to be invoked with -x.
3681
36822011-08-29 Tristan Gingold <gingold@adacore.com>
3683
3684 * a-exexpr-gcc.adb: Minor comment fix.
3685
ff4f0ed0
AC
36862011-08-29 Robert Dewar <dewar@adacore.com>
3687
3688 * sem_ch8.adb: Minor reformatting.
3689
36902011-08-29 Bob Duff <duff@adacore.com>
3691
3692 * par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
3693 * par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
3694 treating "some" as unreserved in earlier Ada versions. This is now
3695 handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
3696 rather than Name_Some, since Tok_Some is now recognized as reserved.
3697 * scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
3698 reserved word.
3699 * scans.ads: Minor comment fixes.
3700 * snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
3701 for other language versions.
3702 * scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
3703 treating "some" as unreserved in earlier Ada versions. This is now
3704 handled in Snames.Is_Keyword_Name.
3705 * par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
3706 Ada 2012.
3707 (P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
3708 unreserved in earlier Ada versions. This is now handled in
3709 Snames.Is_Keyword_Name.
3710 * snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
3711 words as for other language versions.
3712 * gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
3713 Ada 2012, not just Ada 2005.
3714
d941cee6
AC
37152011-08-29 Ed Schonberg <schonberg@adacore.com>
3716
3717 * sem_ch13.adb: Additional semantic checks for aspects involved in
3718 iterators.
3719
37202011-08-29 Matthew Heaney <heaney@adacore.com>
3721
3722 * a-comutr.ads, a-comutr.adb, a-cimutr.ads, a-cimutr.adb,
3723 a-cbmutr.ads, a-cbmutr.adb (Find_In_Subtree): Remove superfluous
3724 Container parameter.
3725 (Ancestor_Find): ditto.
3726
b970af39
TQ
37272011-08-29 Thomas Quinot <quinot@adacore.com>
3728
3729 * par-endh.adb: Minor reformatting.
d941cee6 3730
92db5dee
AC
37312011-08-29 Tristan Gingold <gingold@adacore.com>
3732
3733 * a-exexpr-gcc.adb (Unwind_Action) Rewrite as an integer with constants.
3734 (GNAT_GCC_Exception): Remove N_Cleanups_To_Trigger component.
3735 (Adjust_N_CLeanups_For): Remove.
3736 (CleanupUnwind_Handler): Call Unhandled_Exception_Terminate when end of
3737 stack is reached.
3738 (Propgate_Exception): Adjust.
3739 * raise-gcc.c: Add a few static/const.
3740 (Adjust_N_Cleanups_For): Remove declaration.
3741 (PERSONALITY_FUNCTION): Remove code dealing with N_Cleanups_To_Trigger.
3742
37432011-08-29 Ed Schonberg <schonberg@adacore.com>
3744
3745 * sem_ch8.adb: Use type of function return when rewriting as object
3746 declaration.
3747
1378bf10
AC
37482011-08-29 Gary Dismukes <dismukes@adacore.com>
3749
3750 * sem_type.adb: Minor reformatting.
3751
37522011-08-29 Robert Dewar <dewar@adacore.com>
3753
3754 * makeutl.adb: Minor reformatting.
3755
37562011-08-29 Ed Schonberg <schonberg@adacore.com>
3757
3758 * sem_ch8.adb (Analyze_Object_Renaming): If the renamed object is a
3759 function call of a limited type, the expansion of the renaming is
3760 complicated by the presence of various temporaries and subtypes that
3761 capture constraints of the renamed object.
3762 Rewrite node as an object declaration, whose expansion is simpler.
3763 Given that the object is limited there is no copy involved and no
3764 performance hit.
3765
164e06c6
AC
37662011-08-29 Robert Dewar <dewar@adacore.com>
3767
3768 * exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
3769 freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.
3770
37712011-08-29 Tristan Gingold <gingold@adacore.com>
3772
3773 * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
3774 system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
3775 system-linux-hppa.ads, system-linux-s390.ads,
3776 system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
3777 system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
3778 system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads,
3779 system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads,
3780 system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads,
3781 system-solaris-sparc.ads, system-lynxos-x86.ads,
3782 system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
3783 system-solaris-x86_64.ads, system-mingw-x86_64.ads,
3784 system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
3785 system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
7d266442 3786 system-vxworks-x86.ads: Remove GCC_ZCX_Support.
164e06c6
AC
3787 * s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
3788 s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
3789 * opt.ads: Adjust comment.
3790 * targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
3791 * gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
3792 * system.ads: Move GCC_ZCX_Support to obsolete entries.
3793
37942011-08-29 Emmanuel Briot <briot@adacore.com>
3795
3796 * makeutl.adb (Do_Complete): Resolve symbolic links when a relative
3797 file name is specified on the gnatmake or gprbuild command line, and
3798 before we search for that file in the project.
3799
38002011-08-29 Ed Schonberg <schonberg@adacore.com>
3801
3802 * sem_type.adb (Within_Instance): New predicate in Collect_Interps,
3803 used to determine whether a possible interpretation for an overloadable
3804 entity is declared within the current instantiation and should be
3805 included in the candidate set.
3806
38072011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
3808
3809 * gnat_rm.texi, gnat_ugn.texi: Clean ups.
3810
97216ca8
ES
38112011-08-29 Ed Schonberg <schonberg@adacore.com>
3812
3813 * sem_res.adb (Resolve_Actuals): Use base type to determine whether an
3814 access subtype is access_to_subprogram, when applying checks for
3815 RM 3.10.2 (27).
3816
d3cb4cc0
AC
38172011-08-29 Matthew Heaney <heaney@adacore.com>
3818
3819 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Splice_Subtree): Only check
3820 for sibling when common parent.
3821
38222011-08-29 Thomas Quinot <quinot@adacore.com>
3823
3824 * get_scos.adb: Literals of Pragma_Id are pragma names prefixed with
3825 "pragma_".
3826
38272011-08-29 Ed Schonberg <schonberg@adacore.com>
3828
3829 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Enable freeze actions
3830 for the return type when in ASIS mode.
3831
38322011-08-29 Vincent Celier <celier@adacore.com>
3833
3834 * make.adb (Gnatmake): Get the default search dirs, then the target
3835 parameters after getting the Builder switches, as the Builder switches
3836 may include --RTS= and that could change the default search dirs.
3837
38382011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3839
3840 * exp_ch7.adb (Make_Adjust_Call): Rewrite to mimic the structure of
3841 Make_Final_Call. Move the processing for class-wide types before the
3842 processing for derivations from [Limited_]Controlled.
3843 (Make_Final_Call): Move the processing for class-wide types before the
3844 processing for derivations from [Limited_]Controlled.
3845 * s-stposu.adb (Allocate_Any_Controlled): Correct the membership check.
3846 Add code to account for alignments larger than the list header. Add a
3847 comment illustrating the structure of the allocated object + padding +
3848 header.
3849 (Deallocate_Any_Controlled): Add code to account for alignments larger
3850 than the list header.
3851
38522011-08-29 Ed Schonberg <schonberg@adacore.com>
3853
3854 * sinfo.ads, sinfo.adb: New node kind
3855 N_Formal_Incomplete_Type_Definition, related flags.
3856 par-ch12.adb (P_Formal_Type_Declaration, G_Formal_Type_Definition):
3857 Parse formal incomplete types.
3858 * sem.adb (Analyze): Formal_Incomplete_Type_Definitions are handled in
3859 sem_ch12.
3860 * sem_ch7.adb (Analyze_Package_Specification, Unit_Requires_Body):
3861 Formal incomplete types do not need completion.
3862 * sem_ch12.adb (Analyze_Formal_Incomplete_Type,
3863 Validate_Incomplete_Type_Instance): New procedures to handle formal
3864 incomplete types.
3865 * freeze.adb (Freeze_Entity): Do not freeze the subtype of an actual
3866 that corresponds to a formal incomplete type.
3867 * sprint.adb: Handle formal incomplete type declarations.
3868 * exp_util.adb (Insert_Actions): An incomplete_type_definition is not
3869 an insertion point.
3870
d3f70b35
AC
38712011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3872
3873 * a-fihema.ads, a-fihema.adb: Unit removed.
3874 * a-undesu.ads, a-undesu.adb: New unit implementing
3875 Ada.Unchecked_Deallocate_Subpool.
3876 * einfo.adb: Remove Associated_Collection from the node usage.
3877 Add Finalization_Master to the node usage.
3878 (Associated_Collection): Removed.
3879 (Finalization_Master): New routine.
3880 (Set_Associated_Collection): Removed.
3881 (Set_Finalization_Master): New routine.
3882 (Write_Field23_Name): Remove Associated_Collection from the output. Add
3883 Finalization_Master to the output.
3884 * einfo.ads: Remove attribute Associated_Collection and its uses in
3885 entities.
3886 Add new attribute Finalization_Master along with its uses in entitites.
3887 (Associated_Collection): Removed along with its pragma import.
3888 (Finalization_Master): New routine along with a pragma import.
3889 (Set_Associated_Collection): Removed along with its pragma import.
3890 (Set_Finalization_Master): New routine along with a pragma import.
3891 * exp_ch3.adb (Expand_Freeze_Array_Type): Replace call to
3892 Build_Finalization_Collection with Build_Finalization_Master.
3893 (Expand_Freeze_Record_Type): Move the generation of Finalize_Address
3894 before the bodies of the predefined routines. Add comment explaining
3895 this. Replace call to Build_Finalization_Collection with
3896 Build_Finalization_Master.
3897 (Freeze_Type): Replace call to Build_Finalization_Collection with
3898 Build_Finalization_Master.
3899 (Make_Finalize_Address_Body): Comment reformatting.
3900 (Make_Predefined_Primitive_Specs): Code reformatting.
3901 (Stream_Operation_OK): Update comment mentioning finalization
3902 collections. Replace RE_Finalization_Collection with
3903 RE_Finalization_Master.
3904 * exp_ch4.adb (Complete_Controlled_Allocation): Replace call to
3905 Associated_Collection with Finalization_Master. Replace call to
3906 Build_Finalization_Collection with Build_Finalization_Master.
3907 (Expand_Allocator_Expression): Replace call to Associated_Collection
3908 with Finalization_Master. Replace call to Set_Associated_Collection with
3909 Set_Finalization_Master. Remove the generation of
3910 Set_Finalize_Address_Ptr.
3911 (Expand_N_Allocator): Replace call to Associated_Collection with
3912 Finalization_Master. Remove the generation of Set_Finalize_Address_Ptr.
3913 * exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Renamed to
3914 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Update the
3915 comment on usage. Replace call to Needs_BIP_Collection with
3916 Needs_BIP_Finalization_Master Remplace BIP_Collection with
3917 BIP_Finalization_Master. Update all comments which mention finalization
3918 collections. Replace Associated_Collection with
3919 Finalization_Master. Replace Build_Finalization_Collection with
3920 Build_Finalization_Master.
3921 (BIP_Formal_Suffix): Update BIP_Collection's case.
3922 (Build_Heap_Allocator): Update the related comment. Rename local
3923 variable Collect to Fin_Mas_Id and update its occurrences. Update
3924 comments which mention finalization collections. Replace
3925 Set_Associated_Collection with Set_Finalization_Master.
3926 (Expand_Call): Update the code which detects a special piece of library
3927 code for .NET/JVM.
3928 (Make_Build_In_Place_Call_In_Allocator): Replace the call to
3929 Add_Collection_Actual_To_Build_In_Place_Call with
3930 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Remove the code
3931 which generates a call to Make_Set_Finalize_Address_Ptr_Call.
3932 (Make_Build_In_Place_Call_In_Anonymous_Context): Replace call to
3933 Add_Collection_Actual_To_Build_In_Place_Call with
3934 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
3935 (Make_Build_In_Place_Call_In_Assignment): Replace call to
3936 Add_Collection_Actual_To_Build_In_Place_Call with
3937 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
3938 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
3939 * exp_ch6.ads: Rename BIP_Collection to BIP_Finalization_Master.
3940 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
3941 * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Update comment on usage.
3942 Rename local variable Collect to Fin_Mas_Id and update its occurrences.
3943 Replace call to Set_Associated_Collection with Set_Finalization_Master.
3944 (Build_Finalization_Collection): Renamed to Build_Finalization_Master.
3945 Replace the call to Associated_Collection with Finalization_Master.
3946 Rename local variable Coll_Id to Fin_Mas_Id and update its occurrences.
3947 Update the way finalization master names are generated. Update the
3948 retrieval of the correct access type which will carry the pool and
3949 master attributes.
3950 (Make_Final_Call): Reimplement the way [Deep_]Finalize is retrieved.
3951 (Make_Finalize_Address_Body): Abstract types do not need
3952 Finalize_Address. Code reformatting.
3953 (Make_Finalize_Address_Stmts): Update comment on usage.
3954 (Make_Set_Finalize_Address_Ptr_Call): Removed.
3955 (Process_Declarations): Update comments.
3956 * exp_ch7.ads (Build_Finalization_Collection): Renamed to
3957 Build_Finalization_Master. Update associated comment.
3958 (Make_Set_Finalize_Address_Ptr_Call): Removed.
3959 * exp_ch13.adb: Update comments which mention finalization collections.
3960 (Expand_N_Free_Statement): Replace the call to Associated_Collection
3961 with Finalization_Master.
3962 * exp_util.adb (Build_Allocate_Deallocate_Proc): Reimplemented to
3963 create calls to routines Allocate_Any_Controlled and
3964 Deallocate_Any_Controlled.
3965 (Find_Finalize_Address): New routine.
3966 (Is_Allocate_Deallocate_Proc): Update the RTE entities used in the
3967 comparison.
3968 (Requires_Cleanup_Actions): Update the comment on freeze node
3969 inspection.
3970 * exp_util.ads: Remove comment on generated code for
3971 Build_Allocate_Deallocate_Proc. The code is now quite complex and it
3972 is better to simply look in the body.
3973 * freeze.adb (Freeze_All): Update the comment of finalization
3974 collections. Replace the call to Associated_Collection with
3975 Finalization_Master. Replace the call to Build_Finalization_Collection
3976 with Build_Finalization_Master.
3977 * impunit.adb: Add a-undesu and s-stposu to the list of units.
3978 * Makefile.rtl: Add files a-undesu, s-finmas and s-stposu. Remove file
3979 a-fihema.
3980 * rtsfind.adb (Get_Unit_Name): Remove the processing for children of
3981 Ada.Finalization. Add processing for children of System.Storage_Pools.
3982 * rtsfind.ads: Remove the naming of second level children of
3983 Ada.Finalization.
3984 Remove Ada_Finalization_Heap_Management from the list of units.
3985 Remove subtype Ada_Finalization_Child.
3986 Remove the following subprogram entities:
3987
3988 RE_Allocate
3989 RE_Deallocate
3990 RE_Finalization_Collection
3991 RE_Finalization_Collection_Ptr
3992 RE_Set_Finalize_Address_Ptr
3993
3994 Add the naming of second level children of System.Storage_Pools.
3995 Add System_Finalization_Masters and System_Storage_Pools_Subpools to
3996 the list of units.
3997 Add subtype System_Storage_Pools_Child.
3998 Add the following subprogram entities to System.Finalization_Masters:
3999
4000 RE_Finalization_Master
4001 RE_Finalization_Master_Ptr
4002
4003 Add the following subprogram entities to System.Storage_Pools.Subpools:
4004
4005 RE_Allocate_Any_Controlled
4006 RE_Deallocate_Any_Controlled
4007 RE_Root_Storage_Pool_With_Subpools
4008 RE_Root_Subpool
4009 RE_Subpool_Handle
4010
4011 Move the following subprogram entities from
4012 Ada.Finalization.Heap_Management to System.Finalization_Masters:
4013
4014 RE_Add_Offset_To_Address
4015 RE_Attach
4016 RE_Base_Pool
4017 RE_Detach
4018
4019 * sem_ch3.adb (Access_Type_Declaration): Replace the call to
4020 Set_Associated_Collection with Set_Finalization_Master.
4021 * sem_ch6.adb (Create_Extra_Formals): Update the way extra formal
4022 BIP_Finalization_Master is created.
4023 * s-finmas.adb: New unit System.Finalization_Masters.
4024 * s-finmas.ads: New unit System.Finalization_Masters.
4025 * s-stopoo.ads, s-stopoo.adb: Minor code reformatting.
4026 * s-stposu.ads, s-stposu.adb: New unit implementing
4027 System.Storage_Pools.Subpools.
4028
40292011-08-29 Bob Duff <duff@adacore.com>
4030
4031 * tbuild.adb: Add assertion.
4032
8c889ae4
AC
40332011-08-29 Thomas Quinot <quinot@adacore.com>
4034
4035 * s-pooglo.adb: Minor reformatting.
4036
40372011-08-29 Ed Schonberg <schonberg@adacore.com>
4038
4039 * exp_ch5.adb (Expand_N_Assignment_Statement): if the left-hand side is
4040 an indexed component of a packed array whose element type is a record
4041 with a representation clause different from that of the right-hand
4042 side, generate a temporary to minimuze the number of bit-field
4043 operations generated.
4044
40452011-08-29 Ed Schonberg <schonberg@adacore.com>
4046
4047 * exp_util.adb (Insert_Actions): Use clauses can be part of lists of
4048 declarations, and thus are likely insertion points for actions.
4049
40502011-08-29 Bob Duff <duff@adacore.com>
4051
4052 * einfo.ads: Minor comment fix.
4053
1a07a71a
AC
40542011-08-29 Robert Dewar <dewar@adacore.com>
4055
4056 * frontend.adb, gnat1drv.adb: Minor reformatting.
4057
40582011-08-29 Tristan Gingold <gingold@adacore.com>
4059
4060 * s-pooglo.adb (Allocate, Deallocate): Take into account the alignment.
4061 * a-fihema.adb (Allocate, Deallocate): Ditto. Possibly add padding
4062 space in front of the header.
4063
4bcd6411
JK
40642011-08-29 Johannes Kanig <kanig@adacore.com>
4065
4066 * frontend.adb (Frontend): Exit after creating Standard package when
4067 -gnatd.H is present.
4068 * gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
4069 present.
4070
f0f88eb6
RD
40712011-08-29 Robert Dewar <dewar@adacore.com>
4072
4073 * exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb,
4074 makeutl.adb, makeutl.ads, atree.ads, snames.adb-tmpl,
4075 snames.ads-tmpl: Minor reformatting.
4076
3e37be71
PG
40772011-08-29 Philippe Gil <gil@adacore.com>
4078
4079 * prj.adb (Reset_Units_In_Table): New procedure.
4080 Reset units to avoid access to freed memory.
4081
94fb7608
AC
40822011-08-29 Thomas Quinot <quinot@adacore.com>
4083
4084 * get_scos.adb: When reading a P statement SCO without a pragma name
4085 (from an older ALI file), ensure that the Pragma_Name component is set
4086 to Unknown_Pragma (not left uninitialized).
4087
40882011-08-29 Vincent Celier <celier@adacore.com>
4089
4090 * makeutl.adb (Get_Directories): New procedure moved from Buildgpr and
4091 modified to compute correctly the object path of a SAL project that is
4092 extending another library project.
4093 (Write_Path_File): New procedure.
4094 * makeutl.ads (Directories): New table moved from Buildgpr
4095 (Get_Directories): New procedure moved from Buildgpr
4096 (Write_Path_File): New procedure
4097 * mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the
4098 paths before binding SALs, instead of Set_Ada_Paths.
4099 * prj-env.adb (Set_Path_File_Var): Procedure has been moved to package
4100 Prj.
4101 * prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env
4102 (Current_Source_Path_File_Of): New function
4103 (Set_Current_Object_Path_File_Of): New procedure
4104 (Current_Source_Object_File_Of): New function
4105 (Set_Current_Object_Path_File_Of): New procedure
4106 * prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env
4107 (Current_Source_Path_File_Of): New function
4108 (Set_Current_Object_Path_File_Of): New procedure
4109 (Current_Source_Object_File_Of): New function
4110 (Set_Current_Object_Path_File_Of): New procedure
4111
41122011-08-29 Ed Schonberg <schonberg@adacore.com>
4113
4114 * exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a
4115 packed entity, use a bit-field assignment only if there is no change of
4116 representation.
4117
c5ecd6b7
AC
41182011-08-29 Thomas Quinot <quinot@adacore.com>
4119
4120 * rtsfind.ads, exp_ch3.adb (In_Runtime): Minor code improvement, use
4121 Is_RTU instead of using Chars comparisons.
4122
41232011-08-29 Thomas Quinot <quinot@adacore.com>
4124
4125 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do not create a
4126 temporary object if the actual is constrained, and the discriminants
4127 read from the stream don't match.
4128
41292011-08-29 Tristan Gingold <gingold@adacore.com>
4130
4131 * sem_attr.adb, exp_attr.adb: Add handling of
4132 Attribute_System_Allocator_Alignment
4133 * snames.ads-tmpl: Add Name_System_Allocator_Alignment and
4134 Attribute_System_Allocator_Alignment.
4135 * ttypes.ads, get_targ.ads: Add Get_System_Allocator_Alignment.
4136 * gcc-interface/targtyps.c, gcc-interface/utils2.c,
4137 gcc-interface/gigi.h: Renames get_target_default_allocator_alignment to
4138 get_target_system_allocator_alignment.
4139
41402011-08-29 Arnaud Charlet <charlet@adacore.com>
4141
4142 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
4143 dependencies.
4144
8abdac29
AC
41452011-08-29 Arnaud Charlet <charlet@adacore.com>
4146
4147 * exp_ch3.adb (In_Runtime): Fix typo.
4148
df170605
AC
41492011-08-29 Bob Duff <duff@adacore.com>
4150
4151 * sem_ch4.adb (Analyze_Allocator): Analyze the subpool specification.
4152
41532011-08-29 Ed Schonberg <schonberg@adacore.com>
4154
4155 * exp_ch3.adb (Expand_N_Object_Declaration): If the entity is tagged
4156 and a separate tag assignment is generated, ensure that the tag
4157 assignment is analyzed.
4158
864a4236
ES
41592011-08-29 Ed Schonberg <schonberg@adacore.com>
4160
4161 * atree.ads, atree.adb (Copy_Separate_List): New function that applies
4162 Copy_Separate_Tree to a list of nodes. Used to create disjoint copies
4163 of statement lists that may contain local declarations.
df170605
AC
4164 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Use Copy_Separate_List to
4165 duplicate the triggering statements needed for the expansion of this
4166 construct, when the trigger is a dispatching call to a synchronized
4167 primitive.
864a4236 4168
7f394c1d
AC
41692011-08-29 Arnaud Charlet <charlet@adacore.com>
4170
4171 * gnat_rm.texi: Add doc for 'Elab_Subp_Body.
4172 * bindgen.adb: Add comments.
4173 * snames.adb-tmpl (Is_Attribute_Name): Only recognize 'Elab_Subp_Body
4174 in CodePeer mode.
4175
2c1a2cf3
RD
41762011-08-29 Robert Dewar <dewar@adacore.com>
4177
4178 * exp_attr.adb: Minor reformatting.
4179 Minor code reorganization and commenting.
4180 * par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
4181 reformatting.
4182
0bfc9a64
AC
41832011-08-29 Thomas Quinot <quinot@adacore.com>
4184
4185 * get_scos.adb: Ignore chaining indicators not currently supported
4186 by Ada.
4187
41882011-08-29 Arnaud Charlet <charlet@adacore.com>
4189
4190 * system.ads: Minor editing.
4191
41922011-08-29 Arnaud Charlet <charlet@adacore.com>
4193
4194 * bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in
4195 CodePeer mode.
4196 * sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of
4197 Attribute_Elab_Subp_Body.
4198 * snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New.
4199 * sem_util.adb: Update comments.
4200
828d4cf0
TQ
42012011-08-29 Thomas Quinot <quinot@adacore.com>
4202
4203 * par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record
4204 pragma name for each SCO statement corresponding to a pragma.
4205
5cd7bb15
AC
42062011-08-29 Arnaud Charlet <charlet@adacore.com>
4207
4208 * opt.ads: Minor editing.
4209
42102011-08-29 Yannick Moy <moy@adacore.com>
4211
4212 * gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
4213 that only made sense for CodePeer mode.
4214
42152011-08-29 Jose Ruiz <ruiz@adacore.com>
4216
4217 * targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
4218 which is no longer used.
4219 * targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
4220 handling of the 64-bit division check.
4221 * exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
4222 division available.
4223 * system*.ads (Support_64_Bit_Divides): Remove this flag which is no
4224 longer used.
4225
42262011-08-29 Thomas Quinot <quinot@adacore.com>
4227
4228 * get_scos.adb: Minor reformatting.
4229
25b589cb
AC
42302011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
4231
4232 * exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
4233 statement list is wrapped in a block, the block is explicitly analyzed
4234 in order to properly redecorate the entities and create a servicing
4235 finalizer.
4236
42372011-08-29 Tristan Gingold <gingold@adacore.com>
4238
4239 * sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
4240 (Set_Zero_Cost_Handling): Remove.
4241
42422011-08-29 Thomas Quinot <quinot@adacore.com>
4243
4244 * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting
4245
1197ddb1
AC
42462011-08-29 Geert Bosch <bosch@adacore.com>
4247
4248 * s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
4249 instruction, as the latter may produce -0.0, which is not a valid VAX
4250 F float number.
4251 (Neg_G): Likewise for VAX F float.
4252
42532011-08-29 Robert Dewar <dewar@adacore.com>
4254
4255 * exp_util.adb: Minor reformatting.
4256
42572011-08-29 Yannick Moy <moy@adacore.com>
4258
4259 * sem_ch3.adb: Minor comment update.
4260
42612011-08-29 Thomas Quinot <quinot@adacore.com>
4262
4263 * checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
4264 the operand type.
4265
42662011-08-29 Thomas Quinot <quinot@adacore.com>
4267
4268 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
4269 current statement sequence on a generic instantiation or a subprogram
4270 declaration.
4271
8f66cda7
AC
42722011-08-29 Robert Dewar <dewar@adacore.com>
4273
4274 * sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
4275 Minor reformatting.
4276
42772011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
4278
4279 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
4280 Correct the check which involves the freeze node of a controlled or
4281 access-to-controlled type.
4282
42832011-08-29 Geert Bosch <bosch@adacore.com>
4284
4285 * sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
4286 statements.
4287 * s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
4288 Asm statements.
4289
cf161d66
AC
42902011-08-29 Yannick Moy <moy@adacore.com>
4291
4292 * sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
4293 for every index type and component type that is not a subtype_mark.
4294 (Process_Subtype): Set Etype of subtype.
4295
42962011-08-29 Robert Dewar <dewar@adacore.com>
4297
4298 * a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
4299 reorganization. Minor reformatting.
4300
7cc83cd8
AC
43012011-08-29 Steve Baird <baird@adacore.com>
4302
4303 * exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
4304 for CodePeer and ALFA modes.
4305
43062011-08-29 Ed Schonberg <schonberg@adacore.com>
4307
4308 * sem_type.adb (Collect_Interps): Within an instance, collect a homonym
4309 that comes from an enclosing scope if it is not the renaming of an
4310 actual, to handle properly a spurious ambiguity in an instance.
4311
76af4137
AC
43122011-08-29 Eric Botcazou <ebotcazou@adacore.com>
4313
4314 * sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
4315 (Alignment_Check_For_Size_Change): ...this. Add SIZE parameter and
4316 use it instead of the Esize of the first parameter.
4317 (Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
4318 above change.
4319 <Size>: Likewise. Call it for composite types on the RM size.
4320
43212011-08-29 Yannick Moy <moy@adacore.com>
4322
4323 * exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
4324 * sem_util.adb (Unique_Name): Correct behaviour for names of
4325 compilation units.
4326
9b20e59b
AC
43272011-08-29 Yannick Moy <moy@adacore.com>
4328
4329 * sem_prag.adb (Check_Precondition_Postcondition): In formal
4330 verification mode, analyze pragma expression for correctness, for
4331 pre/post on library-level subprogram, as it is not expanded later.
4332
43332011-08-29 Yannick Moy <moy@adacore.com>
4334
4335 * exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
4336 in formal verification.
4337
43382011-08-29 Thomas Quinot <quinot@adacore.com>
4339
4340 * sem_util.adb: Minor reformatting.
4341 * freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
4342 there's no pragma.
4343 * par_sco.ads, par_sco.adb: Update comments.
4344
43452011-08-29 Yannick Moy <moy@adacore.com>
4346
4347 * einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
4348 associated getter/setter.
4349 * sem_ch6.adb: Remove reference to Is_Postcondition_Proc.
4350
43512011-08-29 Vincent Celier <celier@adacore.com>
4352
4353 * prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
4354 * prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
4355 with declarations for Language_Kind and Dependency_Kind for Ada.
4356 * prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
4357 (Process_Compiler): Take into account the new attributes Dependency_Kind
4358 and Language_Kind.
4359 (Check_Configuration): Check if language kind is unit based, not if the
4360 language name is Ada.
4361 (Process_Exceptions_Unit_Based): Ditto
4362 (Add_Language): Remove default additions of language and dependency kind
4363 * prj.ads: Minor comment change
4364 * snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind
4365
43662011-08-29 Johannes Kanig <kanig@adacore.com>
4367
4368 * debug.adb: Update comments.
4369
c5bc3df6
JM
43702011-08-24 Joseph Myers <joseph@codesourcery.com>
4371
4372 * gcc-interface/Make-lang.in (CFLAGS-ada/tracebak.o)
4373 (CFLAGS-ada/targext.o, CFLAGS-ada/cio.o, CFLAGS-ada/init.o)
4374 (CFLAGS-ada/initialize.o, CFLAGS-ada/raise.o): New.
4375 (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o)
4376 (ada/initialize.o, ada/raise.o): Remove explicit compilation rules.
4377
e3aa9eba
RO
43782011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4379
4380 * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): New.
4381 (GNATLIBCFLAGS_FOR_C): Replace
4382 TARGET_LIBGCC2_CFLAGS by PICFLAG_FOR_TARGET.
4383 (gnatlib-shared-default, gnatlib-shared-dual-win32)
4384 (gnatlib-shared-win32, gnatlib-shared-darwin, gnatlib-shared)
4385 (gnatlib-sjlj, gnatlib-zcx): Likewise.
4386
f446d60e
EB
43872011-08-07 Eric Botcazou <ebotcazou@adacore.com>
4388
4389 * gcc-interface/Makefile.in (raise-gcc.o): Fix previous change.
4390
588c8f48
EB
4391 * gcc-interface/gigi.h (enumerate_modes): Fix formatting.
4392
4393 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Revert latest change.
4394
28d711bf
NR
43952011-08-05 Nicolas Roche <roche@adacore.com>
4396
4397 * gcc-interface/Makefile.in: Don't use directly ../xgcc to build shared
4398 libgnat. Use rather the value of GCC_FOR_TARGET. Fix issue with
4399 canadian cross.
4400 * gcc-interface/Make-lang.in: Add support for canadian cross setting.
4401
993f8920
AC
44022011-08-05 Matthew Heaney <heaney@adacore.com>
4403
4404 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Child_Count, Child_Depth):
4405 subprogram bodies declared out-of-order.
4406
44072011-08-05 Yannick Moy <moy@adacore.com>
4408
4409 * sem_util.adb (Unique_Name): only prefix with "standard" the names of
4410 entities directly in package Standard, otherwise skip the standard
4411 prefix.
4412
9b3956dd
RD
44132011-08-05 Robert Dewar <dewar@adacore.com>
4414
4415 * a-cbmutr.adb: Minor reformatting
4416 (Allocate_Node): refactor node allocation algorithm
4417
44182011-08-05 Robert Dewar <dewar@adacore.com>
4419
4420 * opt.ads, opt.adb (Debug_Pragmas_Disabled): New switch.
4421 * sem_prag.adb (Analyze_Pragma, case Debug_Policy): Implement Disable
4422 mode.
4423 (Analyze_Pragma, case Check_Policy): Ditto.
4424 * sem_prag.ads (Check_Disabled): New function
4425 * snames.ads-tmpl: Add Name_Disable.
4426
44272011-08-05 Robert Dewar <dewar@adacore.com>
4428
4429 * gnat_rm.texi: Document implementation-defined policy DISABLE for
4430 pragmas Assertion_Policy, Check_Policy, Debug_Policy.
4431
79e705d6
AC
44322011-08-05 Ed Schonberg <schonberg@adacore.com>
4433
4434 * sem_prag.adb (Analyze_Pragma, case Inline): reject an Inline pragma
4435 that appears in a generic formal part and applies to a formal
4436 subprogram.
4437
44382011-08-05 Robert Dewar <dewar@adacore.com>
4439
4440 * a-cbmutr.ads: Minor reformatting.
4441
23b6deca
AC
44422011-08-05 Matthew Heaney <heaney@adacore.com>
4443
4444 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Read): do not use T'Valid
4445 to check count, check sign of value instead.
4446 * a-comutr.adb, a-cimutr.adb (Write): return immediately if tree empty
4447 (Copy_Subtree): allocate copy of source element
4448 (Equal_Subtree): compare elements, not access objects
4449
44502011-08-05 Vincent Celier <celier@adacore.com>
4451
4452 * gnat_ugn.texi: Fix VMS alternative.
4453
a2773bd3
AC
44542011-08-05 Thomas Quinot <quinot@adacore.com>
4455
4456 * sem_ch11.adb: Add comment.
4457
44582011-08-05 Robert Dewar <dewar@adacore.com>
4459
4460 * exp_util.adb: Minor comment fix.
4461
44622011-08-05 Robert Dewar <dewar@adacore.com>
4463
4464 * scng.adb (Error_Unterminated_String): Improve flag position when
4465 comma present.
4466
44672011-08-05 Matthew Heaney <heaney@adacore.com>
4468
4469 * Makefile.rtl, impunit.adb: Added a-cbmutr.ad[sb] (bounded multiway
4470 tree containers).
4471 * a-cbmutr.ads, a-cbmutr.adb: This is the new Ada 2012 unit for bounded
4472 multiway tree containers.
4473
44742011-08-05 Robert Dewar <dewar@adacore.com>
4475
4476 * styleg.adb (Check_Comment): Implement comment spacing of 1 or 2
4477 * stylesw.adb: Implement -gnatyC to control comment spacing
4478 * stylesw.ads (Style_Check_Comments_Spacing): New switch (set by
4479 -gnatyc/C).
4480 * usage.adb: Add line for -gnatyC.
4481
44822011-08-05 Robert Dewar <dewar@adacore.com>
4483
f446d60e 4484 * gnat_ugn.texi: Document -gnatyC.
a2773bd3
AC
4485 * vms_data.ads: Implement COMMENTS1/COMMENTS2 (retaining COMMENTS as a
4486 synonym for COMMENTS2).
4487
dedac3eb
RD
44882011-08-05 Robert Dewar <dewar@adacore.com>
4489
4490 * par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb,
4491 a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb,
4492 sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb,
4493 a-comutr.ads, lib-xref.adb: Minor reformatting.
4494
44952011-08-05 Robert Dewar <dewar@adacore.com>
4496
4497 * sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal
4498 warning if there is an exception handler present.
4499
7c62a85a
AC
45002011-08-05 Pascal Obry <obry@adacore.com>
4501
4502 * a-iteint.ads: Fix copyright year.
4503
45042011-08-05 Thomas Quinot <quinot@adacore.com>
4505
4506 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not generate a
4507 statement SCO for a USE clause or a representation clause.
4508
45092011-08-05 Yannick Moy <moy@adacore.com>
4510
4511 * lib-xref-alfa.adb (Collect_ALFA): generate the proper relation
4512 between body and spec for stub.
4513 (Detect_And_Add_ALFA_Scope): take into account subprogram stub
4514 * lib-xref.adb (Enclosing_Subprogram_Or_Package): in the case of a
4515 pragma precondition or postcondition, for which the enclosing
4516 subprogram or package in the AST is not the desired one, return empty.
4517
e49208a9
AC
45182011-08-05 Thomas Quinot <quinot@adacore.com>
4519
4520 * g-expect.adb: Minor reformatting.
4521
45222011-08-05 Bob Duff <duff@adacore.com>
4523
4524 * a-fihema.adb: Comment out OS_Lib.
4525
45262011-08-05 Matthew Heaney <heaney@adacore.com>
4527
4528 * Makefile.rtl, impunit.adb: Added a-c[oi]mutr.ad[sb]
4529 (unbounded multiway tree containers) and a-iteint.ads.
4530 * a-comutr.ads, a-comutr.adb:
4531 This is the new Ada 2012 unit for unbounded multiway tree containers
4532 * a-cimutr.ads, a-cimutr.adb
4533 This is the new Ada 2012 unit for indefinite multiway tree containers
4534 * a-iteint.ads: New file.
4535
201cdb74
RO
45362011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4537
f446d60e 4538 * gcc-interface/Makefile.in (raise-gcc.o): Search $(srcdir)/../libgcc.
201cdb74 4539
d50f4827
AC
45402011-08-05 Bob Duff <duff@adacore.com>
4541
4542 * sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
4543 subpools.
4544 * par-ch4.adb (P_Allocator): Parse new subpool specification syntax.
4545
45462011-08-05 Ed Schonberg <schonberg@adacore.com>
4547
4548 * sem_ch4.adb (Try_Container_Indexing): New procedure to implement the
4549 general indexing aspects of Ada2012. Called when analyzing indexed
4550 components when other interpretations fail.
4551 * sem_ch8.adb (Find_Direct_Name): check for implicit dereference only
4552 in an expression context where overloading is meaningful. This excludes
4553 the occurrence in an aspect specification (efficiency only).
4554 * sem_attr.adb (Analyze_Attribute): indicate that the attributes
4555 related to iterators can be set by an attribute specification, but
4556 cannot be queried.
4557 * sem_ch13.adb (Analyze_Aspect_Specifications): handle
4558 Constant_Indexing and Variable_Indexing.
4559 (Check_Indexing_Functions): New procedure to perform legality checks.
4560 Additional semantic checks at end of declarations.
4561
efe05dfc
AC
45622011-08-05 Sergey Rybin <rybin@adacore.com>
4563
4564 * tree_io.ads: Update ASIS_Version_Number because of the change of the
4565 order of calling Tree_Write/Tree_Read routines made for aspects.
4566
45672011-08-05 Bob Duff <duff@adacore.com>
4568
4569 * a-fihema.adb (Finalize): Fix race condition.
4570
5f9cdefe
AC
45712011-08-05 Yannick Moy <moy@adacore.com>
4572
4573 * sem_ch12.adb (Analyze_Package_Instantiation,
4574 Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
4575 mode.
4576
45772011-08-05 Ed Schonberg <schonberg@adacore.com>
4578
4579 * sem_type.adb (Specific_Type): in an instance, the type-specific
4580 operand of an equality check that involves null may have a private
4581 type. Use full view to determine legality of construct.
4582
822868aa
AC
45832011-08-05 Vincent Celier <celier@adacore.com>
4584
4585 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
4586 delete or close the file when the call to gnatmake was successful.
4587
45882011-08-05 Yannick Moy <moy@adacore.com>
4589
4590 * gnat1drv.adb (Adjust_Global_Switches): in ALFA mode, set
4591 Global_Discard_Names.
4592
45932011-08-05 Ed Schonberg <schonberg@adacore.com>
4594
4595 * sinfo.ads: comments on use of entity field for aspect specifications.
4596
45972011-08-05 Ed Schonberg <schonberg@adacore.com>
4598
4599 * sem_ch12.adb (Reset_Entity): If the entity field of the associated
4600 node is not itself an entity but a selected component, it is a
4601 rewritten parameterless call to an en enclosing synchronized operation,
4602 and this expansion will be performed again in the instance, so there is
4603 no global information to preserve.
4604
44a10091
AC
46052011-08-05 Javier Miranda <miranda@adacore.com>
4606
4607 * exp_disp.adb (Set_All_DT_Position): Cleanup code and improve support
4608 for renamings of predefined primitives.
4609 (In_Predef_Prims_DT): New subprogram.
4610
46112011-08-05 Ed Schonberg <schonberg@adacore.com>
4612
4613 * sem_util.adb, sem_util.ads (Check_Implicit_Dereference): If a
4614 possible interpretation of name is a reference type, add an
4615 interpretation that is the designated type of the reference
4616 discriminant of that type.
4617 * sem_res.adb (resolve): If the interpretation imposed by context is an
4618 implicit dereference, rewrite the node as the deference of the
4619 reference discriminant.
4620 * sem_ch3.adb (Analyze_Subtype_Declaration, Build_Derived_Record_Type,
4621 Build_Discriminated_Subtype): Inherit Has_Implicit_Dereference from
4622 parent type or base type.
4623 * sem_ch4.adb (Process_Indexed_Component,
4624 Process_Overloaded_Indexed_Component, Indicate_Name_And_Type,
4625 Analyze_Overloaded_Selected_Component, Analyze_Selected_Component):
4626 Check for implicit dereference.
4627 (List_Operand_Interps): Indicate when an implicit dereference is
4628 ambiguous.
4629 * sem_ch8.adb (Find_Direct_Name): Check for implicit dereference.
4630
46312011-08-05 Thomas Quinot <quinot@adacore.com>
4632
4633 * scos.ads: Update documentation of SCO table. Pragma statements can now
4634 be marked as disabled (using 'p' instead of 'P' as the statement kind).
4635 * par_sco.ads, par_sco.adb: Implement the above change.
4636 (Process_Decisions_Defer): Generate a P decision for the first parameter
4637 of a dyadic pragma Debug.
4638 * sem_prag.adb (Analyze_Pragma, case Debug): Mark pragma as enabled if
4639 necessary.
4640 * put_scos.adb: Code simplification based on above change.
4641
bb3c784c
AC
46422011-08-05 Robert Dewar <dewar@adacore.com>
4643
4644 * sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb,
4645 bindgen.adb, einfo.adb, sem_ch12.adb, sem_attr.adb, a-fihema.adb,
4646 a-fihema.ads, sem_elab.adb, sem_elab.ads, aspects.adb, opt.ads,
4647 prj-conf.adb, sem_ch13.adb, s-ficobl.ads: Minor reformatting
4648
46492011-08-05 Bob Duff <duff@adacore.com>
4650
4651 * a-stunau.ads, g-spipat.adb: Update comments.
4652
36f686f9
BD
46532011-08-05 Bob Duff <duff@adacore.com>
4654
4655 * a-fihema.ads: Minor comment fix.
4656 * a-fihema.adb (Allocate, Deallocate): Assert that the alignment is
4657 correct.
4658 (Attach, Detach): Remove some unnecessary code.
4659 (Finalize): Remove Node_Ptr_To_Address, replace with a constant.
4660
7882673f
BD
46612011-08-05 Bob Duff <duff@adacore.com>
4662
4663 * a-fihema.ads, a-fihema.adb (Finalization_Collection): Avoid heap
4664 allocation for Objects component. This simplifies the code somewhat. It
4665 is also a little more efficient in the not-so-unusual case where there
4666 are no controlled objects allocated.
4667 Make Finalization_Started flag atomic.
4668 (Finalize): Avoid unnecessary detachment of items from the list.
4669 (pcol): Minor cleanup.
4670
d34cd274
AC
46712011-08-05 Ed Schonberg <schonberg@adacore.com>
4672
4673 * sem_ch12.adb (Analyze_Formal_Package_Declaration): reject a formal
4674 package whose name is the same as that of the generic unit, or its
4675 ultimate prefix.
4676
46772011-08-05 Bob Duff <duff@adacore.com>
4678
4679 * a-fihema.adb, a-fihema.ads: Minor comment improvements.
4680 * sem_ch3.adb, exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb:
4681 Minor comment fixes.
4682
00332244
AC
46832011-08-05 Arnaud Charlet <charlet@adacore.com>
4684
4685 * make.adb (Linking_Phase): No longer need to set source search path
4686 before calling gnatlink in CodePeer mode.
4687 * gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
4688 gcc in CodePeer mode, since the binder generated file no longer has a
4689 'with Main'.
4690 * switch.ads, switch.adb (Is_Language_Switch): Removed.
4691 * switch-c.adb: Update comment.
4692
46932011-08-05 Thomas Quinot <quinot@adacore.com>
4694
4695 * exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.
4696
46972011-08-05 Nicolas Roche <roche@adacore.com>
4698
4699 * gnat_ugn.texi: Fix minor syntax error issue.
4700
47012011-08-05 Vincent Celier <celier@adacore.com>
4702
4703 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
4704 delete or close the file when the call to gnatmake returns a non
4705 successful return code.
4706
47072011-08-05 Ed Schonberg <schonberg@adacore.com>
4708
4709 * exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
4710 check, indicate that the copy of the original node does not come from
4711 source, to prevent an infinite recursion of the expansion.
4712
47132011-08-05 Johannes Kanig <kanig@adacore.com>
4714
4715 * debug.adb: document switch -gnatd.G for gnat2why, which deactivates
4716 VC generation for subprogram bodies.
4717
47182011-08-05 Yannick Moy <moy@adacore.com>
4719
4720 * einfo.ads: Typo.
4721 * sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
4722 the base type with the smallest allowed base type.
4723
47242011-08-05 Sergey Rybin <rybin@adacore.com>
4725
4726 * tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
4727 aspects.
4728
47292011-08-05 Ed Schonberg <schonberg@adacore.com>
4730
4731 * sem_ch12.ads: minor comment updates.
4732
47332011-08-05 Ed Schonberg <schonberg@adacore.com>
4734
4735 * sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
4736 instantiation and a formal package the compiler generates a package
4737 renaming declaration so that the generic name within the declaration
4738 is interpreted as a renaming of the instance. At the end of a formal
4739 package declaration, this renaming must become invisible.
4740
0da80d7d
AC
47412011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
4742
4743 * exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character
4744 comparison and rely on concrete entities instead.
4745
47462011-08-05 Ed Schonberg <schonberg@adacore.com>
4747
4748 * einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types
4749 and discriminants, to indicate that the type has an access discriminant
4750 that supports implicit dereference.
4751 * snames.ads-tmpl: Add names of aspects and attributes related to
4752 Ada2012 iterators: constant_indexing, default_iterator,
4753 iterator_element, implicit_dereference, variable_indexing.
4754 * aspects.ads, aspects.adb: entries for iterator-related aspects.
4755 * sem_ch13.adb (Analyze_aspect_specifications): dummy entries for
4756 iterator-related aspects.
4757 * sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects.
4758
47592011-08-05 Sergey Rybin <rybin@adacore.com>
4760
4761 * gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling
4762 metrics in gnatmetric to cover new kinds of coupling mentrics.
4763
47642011-08-05 Steve Baird <baird@adacore.com>
4765
4766 * bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead
2c7f9cc0 4767 of calling the user-defined main subprogram.
0da80d7d
AC
4768 (Gen_Main): Declare Ada_Main_Program and (if CodePeer_Mode
4769 is set) Call_Main_Subprogram ahead of, as opposed to
4770 inside of, Main.
4771 (Gen_Output_File_Ada): Remove CodePeer_Mode-conditional
4772 generation of a "with" of the user-defined main subprogram.
4773 Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper
4774 (which is now called from Gen_Main instead).
4775
73242473
AC
47762011-08-05 Emmanuel Briot <briot@adacore.com>
4777
4778 * projects.texi: Added reference to the Makefile package.
4779
47802011-08-05 Thomas Quinot <quinot@adacore.com>
4781
4782 * exp_ch7.adb: Minor comment rewording.
4783
47842011-08-05 Ed Falis <falis@adacore.com>
4785
4786 * env.c: Fix comment.
4787
47882011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
4789
4790 * sem_elab.adb (Is_Finalization_Procedure): Reimplemented to avoid
4791 character comparison and rely on concrete entities instead.
4792
97ed5872
AC
47932011-08-05 Ed Schonberg <schonberg@adacore.com>
4794
4795 * sem_ch3.adb: (Check_Private_Overriding): better error message,
4796 suggested by AI95-0068.
4797
47982011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
4799
4800 * exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
4801 the two potential initialization calls. This accounts for any
4802 access-before-elaboration checks which may precede the initialization
4803 calls.
4804 (Next_Suitable_Statement): New routine. Returns the next real statement
4805 after the input node while skipping generated checks.
4806 * sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
4807 with comment on usage.
4808 Do not generate Elaborate_All when the trigger is a finalization call
4809 coming from a type init proc.
4810 (Check_Elab_Call): Propagate the initialization procedure context to
4811 subsequent calls to Check_A_Call.
4812 (Check_Internal_Call_Continue): Propagate the initialization procedure
4813 context to subsequent calls to Check_Elab_Call.
4814 (Is_Finalization_Procedure): New routine. Returns True if the input
4815 entity denotes a [Deep_]Finalize routine.
4816 * sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
4817 along with comment on usage.
4818
48192011-08-05 Vadim Godunko <godunko@adacore.com>
4820
4821 * s-atocou.ads: Add list of supported platforms.
4822
48232011-08-05 Yannick Moy <moy@adacore.com>
4824
4825 * sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables
4826
4827 * opt.ads (Disable_ALI_File): new Boolean flag
4828 * lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing
4829
48302011-08-05 Ed Falis <falis@adacore.com>
4831
4832 * env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
4833 environ is properly defined.
4834
48352011-08-05 Vincent Celier <celier@adacore.com>
4836
4837 * make.adb (Compilation_Phase): Exit immediately when all objects have
4838 been found up to date, to avoid multiple exit messages.
4839 * prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
4840 same project for languages with no compiler.
4841 * gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
4842 -eI.
9aff36e9
RD
48432011-08-05 Robert Dewar <dewar@adacore.com>
4844
4845 * exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb,
4846 sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb,
4847 prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb,
4848 s-atocou-builtin.adb: Minor reformatting.
4849
406935b6
AC
48502011-08-05 Yannick Moy <moy@adacore.com>
4851
4852 * exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
4853 if the node to wrap is a pragma check, this node and enclosed
4854 expression are not expanded, so do not apply any transformations here.
4855 * exp_prag.adb (Expand_Pragma_Check): document the need to avoid
4856 introducing transient scopes.
4857
48582011-08-05 Jose Ruiz <ruiz@adacore.com>
4859
4860 * adaint.c (__gnat_set_writable, __gnat_set_readable,
4861 __gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
4862 __gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
4863 routine is available, so we use the default implementation of these
4864 functions.
4865 * s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
4866 support for copying attributes on VxWorks 6.
4867
48682011-08-05 Yannick Moy <moy@adacore.com>
4869
4870 * debug.adb: Remove use of -gnatd.D.
4871 * gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
4872 * opt.ads: Simplify variables for ALFA mode, to keep one only
4873 * restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
4874 to ALFA mode.
4875
48762011-08-05 Vincent Celier <celier@adacore.com>
4877
4878 * prj-conf.adb (Do_Autoconf): Look also for --RTS in
4879 Builder'Default_Switches.
4880
48812011-08-05 Vincent Celier <celier@adacore.com>
4882
4883 * makeusg.adb: Add lines for --create-map-file switches.
4884
48852011-08-05 Ed Schonberg <schonberg@adacore.com>
4886
4887 * freeze.adb (Freeze_Entity): For a subprogram, if a type in the
4888 profile is incomplete and the full view is available, replace it with
4889 the full view.
4890 * sem_ch6.adb (Possible_Freeze): if a type in the profile is
4891 incomplete, freezing the subprogram is delayed until the full view is
4892 frozen.
4893 * sem_type.adb (Disambiguate): an ambiguity between a user-defined
4894 fixed-point multiplication operator and the predefined operator is
4895 resolved in favor of the user-defined one.
4896
96c891b3
RO
48972011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4898
4899 * init.c [__alpha__ && __osf__] (__gnat_error_handler): Use
4900 CONST_CAST.
4901
276e7ed0
AC
49022011-08-04 Ed Schonberg <schonberg@adacore.com>
4903
4904 * sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
4905 whether a type lacks user-defined Read or Write operations, or has a
4906 component that lacks them.
4907 * sem_attr.adb (Check_Stream_Attribute): if restriction
4908 No_Default_Stream_Attributes is active, verify that all subcomponent
4909 types of the target have user-defined stream operations, and report
4910 error otherwise.
4911 * exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
4912 * exp_strm.adb: Build_Elementary_Input_Call,
4913 Build_Elementary_Write_Call): remove checks for restriction
4914 No_Default_Stream_Attributes, now checked in semantics.
4915
49162011-08-04 Vincent Celier <celier@adacore.com>
4917
4918 * prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
4919 switches on the command line, look for all valid --RTS switches in the
4920 Builder switches and for each language use the first runtime name found
4921 to invoke gprconfig.
4922 (Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
4923 command line and there is no auto-configuration.
4924 (Runtime_Name_Set_For): New function.
4925
49262011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4927
4928 * exp_ch7.adb (Build_Object_Declarations): Do not generate the
4929 elaborate initialization expression for variable Abort when processing
4930 a package body or a declaration.
4931 (Create_Finalizer): Propagate the package context when creating the
4932 exception-related variables.
4933 * exp_ch7.ads (Build_Object_Declarations): New formal parameter
4934 For_Package along with usage comment.
4935
19172ae9
AC
49362011-08-04 Arnaud Charlet <charlet@adacore.com>
4937
4938 * gcc-interface/Makefile.in: Clean up targets.
4939 Enable new package for atomic counters and copy-on-write implementation
4940 of unbounded strings on x86 platforms.
4941 * gcc-interface/Make-lang.in: Update dependencies.
4942
0319cacc
AC
49432011-08-04 Robert Dewar <dewar@adacore.com>
4944
4945 * exp_ch7.adb: Minor reformatting.
4946
49472011-08-04 Robert Dewar <dewar@adacore.com>
4948
4949 * exp_strm.adb: Minor reformatting.
4950
49512011-08-04 Vadim Godunko <godunko@adacore.com>
4952
4953 * s-atocou.adb: Replace by dummy version and use on targets where atomic
4954 operations are not supported.
4955 * s-atocou-builtin.adb: Renamed from s-atocou.adb.
4956 * s-atocou-x86.adb: New file.
4957 * Makefile.rtl: Add s-atocou.o file
4958
49592011-08-04 Arnaud Charlet <charlet@adacore.com>
4960
4961 * make.adb (Compile): Move setting of CodePeer_Mode to ...
4962 (Compilation_Phase): ... here.
4963 (Scan_Make_Arg): Now bind and link by default in CodePeer mode.
4964
49652011-08-04 Thomas Quinot <quinot@adacore.com>
4966
4967 * Make-generated.in: Fix minor typo in comment.
4968
26e7e1a0
AC
49692011-08-04 Thomas Quinot <quinot@adacore.com>
4970
4971 * gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
4972 the project path.
4973
49742011-08-04 Robert Dewar <dewar@adacore.com>
4975
4976 * a-coinho.adb: Minor reformatting.
4977
49782011-08-04 Robert Dewar <dewar@adacore.com>
4979
4980 * a-coinho.ads: Minor reformatting.
4981
49822011-08-04 Vadim Godunko <godunko@adacore.com>
4983
4984 * s-atocou.ads, s-atocou.adb: New files.
4985 * a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
4986 a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
4987 direct use of GCC's atomic builtins and replace them by use of new
4988 atomic counter package.
4989
49902011-08-04 Ed Schonberg <schonberg@adacore.com>
4991
4992 * exp_strm.adb: better error message for No_Default_Stream_Attributes.
4993
49942011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
4995
4996 * a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
4997 with a call to Get_External_Tag.
4998 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
4999 subprogram usage. Remove the guard against package declarations and
5000 bodies since Build_Cleanup_Statements is no longer invoked in that
5001 context.
5002 (Build_Components): Initialize Tagged_Type_Stmts when the context
5003 contains at least one library-level tagged type.
5004 (Build_Finalizer): New local variables Has_Tagged_Types and
5005 Tagged_Type_Stmts along with associated comments on usage. Update the
5006 logic to include tagged type processing.
5007 (Create_Finalizer): Insert all library-level tagged type unregistration
5008 code before the jump block circuitry.
5009 (Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
5010 (Expand_N_Package_Declaration): Remove the call to
5011 Build_Cleanup_Statements.
5012 (Process_Tagged_Type_Declaration): New routine. Generate a call to
5013 unregister the external tag of a tagged type.
5014 (Processing_Actions): Reimplemented to handle tagged types.
5015 (Process_Declarations): Detect the declaration of a library-level
5016 tagged type and carry out the appropriate actions.
5017 (Unregister_Tagged_Types): Removed. The machinery has been directly
5018 merged with Build_Finalizer.
5019
7483c888
AC
50202011-08-04 Robert Dewar <dewar@adacore.com>
5021
5022 * bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
5023 gnatls.adb, exp_ch3.adb: Minor reformatting.
5024
50252011-08-04 Marc Sango <sango@adacore.com>
5026
5027 * sem_attr.adb (Analyze_Attribute): Replace the message
5028 "invisible attribute of}" of the spark restriction violation in
5029 attribute reference by the simple message "invisible attribute of type".
5030 Indeed, the node value Error_Msg_Node_1 used is in conflit with the
5031 two insertion characters: '&' and '}'.
5032
50332011-08-04 Vadim Godunko <godunko@adacore.com>
5034
5035 * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
5036 * a-coinho.ads, a-coinho.adb: New file.
5037 * Makefile.rtl: Add Ada.Containers.Indefinite_Holders.
5038
5207696c
AC
50392011-08-04 Nicolas Roche <roche@adacore.com>
5040
5041 * alfa_test.adb: Not all ali files are containing alfa information even
5042 if compiled with -gnatd.F. So suppress warning about missing ALFA
5043 information.
5044
50452011-08-04 Yannick Moy <moy@adacore.com>
5046
5047 * lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
5048 scope.
5049 * put_alfa.adb: Check that scope name is not empty.
5050
50512011-08-04 Ed Schonberg <schonberg@adacore.com>
5052
5053 * exp_ch3.adb (Stream_Operation_Ok): new predicate
5054 Needs_Elementary_Stream_Operation, to determine whether user-defined
5055 Read and Write attributes are available for the elementary components
5056 of the given type. If only the predefined attributes are available,
5057 then when restriction No_Default_Stream_Attributes is active the
5058 predefined stream attributes for the composite type cannot be created.
5059
50602011-08-04 Robert Dewar <dewar@adacore.com>
5061
5062 * bindgen.adb: Fix obsolete comments and names from Ada/C days.
5063 Put routines in alpha order
5064
2bd2d858
JR
50652011-08-04 Jose Ruiz <ruiz@adacore.com>
5066
5067 * gcc-interface/Makefile.in: Remove xenomai specific versions of system.
5068 * gcc-interface/Make-lang.in: Update dependencies.
5069
8fae6016
AC
50702011-08-04 Arnaud Charlet <charlet@adacore.com>
5071
5072 * gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
5073 * gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls
5074 gnat1why).
5075
a54d0eb4
AC
50762011-08-04 Robert Dewar <dewar@adacore.com>
5077
5078 * sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
5079 lib-xref-alfa.adb: Minor reformatting.
5080
50812011-08-04 Marc Sango <sango@adacore.com>
5082
5083 * sem_ch12.adb (Analyze_Generic_Package_Declaration,
5084 Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
5085 Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
5086 mode.
5087
50882011-08-04 Tristan Gingold <gingold@adacore.com>
5089
5090 * bindgen.adb (Gen_Adainit_C): Remove.
5091 (Gen_Adafinal_C): Ditto.
5092 (Gen_Elab_Externals_C): Ditto.
5093 (Gen_Elab_Calls_C): Ditto.
5094 (Gen_Elab_Order_C): Ditto.
5095 (Gen_Elab_Defs_C): Ditto.
5096 (Gen_Finalize_Library_C): Ditto.
5097 (Gen_Finalize_Library_Defs_C): Ditto.
5098 (Gen_Main_C): Ditto.
5099 (Gen_Output_File_C): Ditto.
5100 (Gen_Restrictions_C): Ditto.
5101 (Gen_Versions_C): Ditto.
5102 (Write_Info_Ada_C): Ditto.
5103 (Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
5104 (Gen_Output_File): Do not force Ada_Bind_File anymore.
5105 Always call Gen_Output_File_Ada.
5106 * gnatlink.adb (Begin_Info): Now a constant.
5107 (End_Info): Ditto.
5108 (Ada_Bind_File): Remove
5109 (Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases.
5110 * switch-b.adb (Scan_Binder_Switches): Do not handle -C.
5111 * gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
5112 * opt.ads (Ada_Bind_File): Remove.
5113
51142011-08-04 Thomas Quinot <quinot@adacore.com>
5115
5116 * projects.texi: Document target-specific directory in default project
5117 path for gnatmake.
5118
51192011-08-04 Thomas Quinot <quinot@adacore.com>
5120
5121 * gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
5122 path in all cases .
5123
24558db8
AC
51242011-08-04 Yannick Moy <moy@adacore.com>
5125
5126 * sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
5127 opt.ads, lib-xref.ads: Code clean up.
5128
51292011-08-04 Yannick Moy <moy@adacore.com>
5130
5131 * gnat_rm.texi: Update description of Test_Case
5132 * gnat_ugn.texi: Typo.
5133
51342011-08-04 Ed Falis <falis@adacore.com>
5135
5136 * adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
5137
51382011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5139
5140 * exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
5141 it is of type Root_Controlled. This action eliminates fields Prev and
5142 Next from type equality.
5143
51442011-08-04 Yannick Moy <moy@adacore.com>
5145
5146 * lib-xref-alfa.adb: Correct typo.
5147
51482011-08-04 Matthew Heaney <heaney@adacore.com>
5149
5150 * a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
5151 component.
5152
1f9939b5
AC
51532011-08-04 Yannick Moy <moy@adacore.com>
5154
5155 * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
5156 (Analyze_Pragma): allow static string expression for name of Test_Case,
5157 instead of simply string literals.
5158 * sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
5159 expressions.
5160
51612011-08-04 Vincent Celier <celier@adacore.com>
5162
5163 * makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
5164 case suffixes to find truncated main sources.
5165
51662011-08-04 Tristan Gingold <gingold@adacore.com>
5167
5168 * impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
5169 s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
5170 (Compute_Current_Task): Ditto.
5171
51722011-08-04 Tristan Gingold <gingold@adacore.com>
5173
5174 * gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
5175
51762011-08-04 Yannick Moy <moy@adacore.com>
5177
5178 * lib-xref-alfa.adb (Is_Global_Constant): new function that detects
5179 library-level constant.
5180 (Add_ALFA_Xrefs): ignore global constants in ALFA xref.
5181 * sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
5182 used as selector of parameter association, in ALFA mode.
5183
15d8a51d
AC
51842011-08-04 Robert Dewar <dewar@adacore.com>
5185
5186 * exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
5187 s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
5188 reformatting.
5189
51902011-08-04 Arnaud Charlet <charlet@adacore.com>
5191
5192 * make.adb (Linking_Phase): Set source search path before calling
5193 gnatlink in CodePeer mode.
5194
f46faa08
AC
51952011-08-04 Javier Miranda <miranda@adacore.com>
5196
5197 * exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
5198 Remove code which takes care of building TSDs.
5199 * rtsfind.ads (RE_Check_Interface_Conversion): New entity.
5200 * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
5201 the accessibility check in VM targets.
5202 * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
5203 (Building_Static_DT): Now returns false for VM targets.
5204 (Build_VM_TSDs): Removed.
5205 (Expand_Interface_Conversion): Generate missing runtime check for
5206 conversions to interface types whose target type is unknown at compile
5207 time.
5208 (Make_VM_TSD): Add missing code to disable the generation of calls to
5209 Check_TSD if the tagged type is not defined at library level, or not
5210 has a representation clause specifying its external tag, or -gnatdQ is
5211 active.
5212 * exp_disp.ads (Build_VM_TSDs): Removed.
5213 (Make_VM_TSDs): Spec relocated from exp_disp.adb
5214 * sem_disp.adb (Check_Dispatching_Operation): No code required to
5215 register primitives in the dispatch tables in VM targets.
5216 * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
5217 initialization of class-wide interface objects in VM targets.
5218 (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
5219 of Make_DT).
5220
52212011-08-04 Jerome Lambourg <lambourg@adacore.com>
5222
5223 * gnatlink.adb (Gnatlink): Correct missleading error message displayed
5224 when dotnet-ld cannot be found.
5225
52262011-08-04 Arnaud Charlet <charlet@adacore.com>
5227
5228 * bindgen.adb: Simplify significantly generation of binder body file in
5229 CodePeer mode.
5230 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
5231 when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
5232 not expanded).
5233
2ba7e31e
AC
52342011-08-04 Yannick Moy <moy@adacore.com>
5235
5236 * sem_prag.adb, sem.ads: Code cleanup.
5237
52382011-08-04 Tristan Gingold <gingold@adacore.com>
5239
5240 * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
5241 * s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
5242 results if possible.
5243 * s-stusta.adb (Print): Adjust after changes in s-stausa.
5244 * gnat_ugn.texi: Update dynamic stack usage section.
5245
52462011-08-04 Steve Baird <baird@adacore.com>
5247
5248 * bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
5249 Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
5250 contains only a call to the user-defined main subprogram.
5251 (Gen_Main_Ada) - If CodePeer_Mode is set, then
5252 call the "wrapper" subprogram instead of directly
5253 calling the user-defined main subprogram.
5254
52552011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5256
5257 * exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
5258 alternatives of a case statement for controlled objects. Rename local
5259 variable A to Dead_Alt.
5260 (Expand_N_If_Statement): Check the then and else statements of an if
5261 statement for controlled objects. Check the then statements of all
5262 elsif parts of an if statement for controlled objects.
5263 (Expand_N_Loop_Statement): Check the statements of a loop for controlled
5264 objects.
5265 * exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
5266 detects a loop associated with the expansion of an array object.
5267 Augment the processing of the loop statements to account for a possible
5268 wrap done by Process_Statements_For_Controlled_Objects.
5269 * exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
5270 statements and abortable part of an asynchronous select for controlled
5271 objects.
5272 (Expand_N_Conditional_Entry_Call): Check the else statements of a
5273 conditional entry call for controlled objects.
5274 (Expand_N_Selective_Accept): Check the alternatives of a selective
5275 accept for controlled objects.
5276 (Expand_N_Timed_Entry_Call): Check the entry call and delay
5277 alternatives of a timed entry call for controlled objects.
5278 * exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
5279 exception handler for controlled objects.
5280 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
5281 Add formal parameter Nested_Constructs along with its associated
5282 comment.
5283 (Requires_Cleanup_Actions (Node_Id)): Update all calls to
5284 Requires_Cleanup_Actions.
5285 (Process_Statements_For_Controlled_Objects): New routine.
5286 * exp_util.ads (Process_Statements_For_Controlled_Objects): New
5287 routine. Inspect a node which contains a non-handled sequence of
5288 statements for controlled objects. If such an object is found, the
5289 statements are wrapped in a block.
5290
1bf773bb
AC
52912011-08-04 Bob Duff <duff@adacore.com>
5292
5293 * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
5294 need to compare with Class_Wide_Type (T2), in order to get at the
5295 original class-wide type node.
5296 * sem_type.ads (Covers): Improve the comment.
5297 * einfo.ads (Class_Wide_Type): Improve the comment.
5298 * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
5299 the type of the Deref.
5300
53012011-08-04 Yannick Moy <moy@adacore.com>
5302
5303 * gnat_rm.texi: Document that Test_Case pragma can only appear on
5304 separate declarations.
5305 * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
5306 check identifier of pragma argument.
5307 (Chain_TC): check that no other test case associated to the same entity
5308 share the same name.
5309 (Check_Test_Case): disallow test case inside subprogram body
5310 (Analyze_Pragma): correct call to check identifier and not argument
5311 * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
5312 function gets name from test case pragma.
5313
dac3bede
YM
53142011-08-04 Yannick Moy <moy@adacore.com>
5315
5316 * gnat_rm.texi: Document new pragma and aspect.
5317 * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
5318 (No_Duplicates_Allowed): new constant array defining whether duplicates
5319 aspects of each kind can appear on the same declaration.
5320 * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
5321 field, which points to a node holding the previous Spec_PPC_List.
5322 * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
5323 through the indirection with Contract.
5324 * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
5325 * par-prag.adb (Prag): do nothing on Test_Case pragma
5326 * sem.adb (Analyze): abort on N_Contract, on which Analyze should not
5327 be called directly.
5328 * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
5329 component Ensures of Test_Case.
5330 * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
5331 (Analyze_Generic_Subprogram_Declaration,
5332 Analyze_Subprogram_Instantiation,
5333 Analyze_Abstract_Subprogram_Declaration,
5334 Analyze_Subprogram_Body_Helper,
5335 Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
5336 insert contract in subprogram node at point of definition
5337 * sem_ch13.adb
5338 (Aspect_Loop): do not raise error on duplicate Test_Case aspect
5339 (Analyze_Aspect_Specifications): analyze Test_Case aspect and create
5340 corresponding pragma
5341 (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
5342 * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
5343 similar to the analysis of pre/post
5344 (Derive_Subprogram): insert contract in subprogram node at point of
5345 derivation.
5346 * sem_prag.adb, sem_prag.ads
5347 (Check_Arg_Is_String_Literal, Check_Identifier):
5348 new checking procedures to be called in treatment of pragmas
5349 (Check_Test_Case): new procedure to check that a Test_Case aspect or
5350 pragma is well-formed. This does not check currently that 'Result is
5351 used only in the Ensures component of a Test_Case.
5352 (Analyze_Pragma): add case for Test_Case
5353 (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
5354 components of a Test_Case.
5355 (Preanalyze_TC_Args): new procedure to preanalyze the boolean
5356 expressions in the 3rd (and 4th if present) arguments of a Test_Case
5357 pragma, treated as spec expressions.
5358 (Sig_Flags): add value -1 for Test_Case.
5359 * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
5360 Get_Requires_From_Test_Case_Pragma): getters for both expression
5361 components of a Test_Case.
5362 * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
5363 indirection between an entry or [generic] subprogram entity and its
5364 pre/post + test-cases.
5365 (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
5366 get/set for fields of an N_Contract node.
5367 * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
5368 Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
5369 names and pragma for Test_Case.
5370 * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
5371
6a2e5d0f
AC
53722011-08-04 Vincent Celier <celier@adacore.com>
5373
5374 * gnat_ugn.texi: Improve documentation of gnatmake switch
5375 --source-info-file=.
5376
53772011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5378
5379 * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
5380 type). Initialize Atyp to the appropriate type which is later checked
5381 for completion. Rewrite the assertion associated with private type
5382 completion.
5383
53842011-08-04 Ed Falis <falis@adacore.com>
5385
5386 * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
5387 initialize the number of CPUs.
5388
53892011-08-04 Ed Schonberg <schonberg@adacore.com>
5390
5391 * sem_type.adb (Disambiguate): New subsidiary routine
5392 In_Same_Declaration_List, to implement AI05-0020: a user-defined
5393 equality on an anonymous access type whose designated type is private
5394 does not lead to an ambiguity with the universal access equality
5395 operator in the body or child units of the defining package. The same
5396 is true for a multiplication operator on a private type completed with
5397 a fixed-point-type.
5398
53992011-08-04 Javier Miranda <miranda@adacore.com>
5400
5401 * opt.ads (Init_Or_Norm_Scalars_Config): Removed.
5402 (Normalize_Scalars_Config): Removed.
5403 * opt.adb
5404 (Register_Opt_Config_Switches): Remove registering config values of
5405 Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
5406 (Restore_Opt_Config_Switches): Remove code which restores the values of
5407 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
5408 Init_Or_Norm_Scalars.
5409 (Save_Opt_Config_Switches): Remove code which saves values of
5410 Init_Or_Norm_Scalars and Normalize_Scalars.
5411 (Set_Opt_Config_Switches): Remove code which restores config values of
5412 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
5413 Init_Or_Norm_Scalars.
5414
54152011-08-04 Yannick Moy <moy@adacore.com>
5416
5417 * frontend.adb (Frontend): remove previous patch to avoid full
5418 qualification in ALFA mode.
5419 * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
5420 * sem_util.adb, sem_util.ads (Unique_Name): new function to define a
5421 unique name for an entity, which could be used to identify the entity
5422 across compilation units.
5423
54242011-08-04 Thomas Quinot <quinot@adacore.com>
5425
5426 * prj-env.adb
5427 (Initialize_Default_Project_Path): Add target specific directory
5428 ($prefix/$target/lib/gnat) in front of project path in all cases
5429 (making gnatmake's behaviour consistent with gprbuild).
5430 * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
5431 Pass target name from Sdefault to project subsystem.
5432 * gnatls.adb: Show new target specific default project directory.
5433
54342011-08-04 Johannes Kanig <kanig@adacore.com>
5435
5436 * cstand.adb: Add Information to Identifier in Standard
5437 (Identifer_For): Set Entity to the corresponding entity
5438
483361a6
AC
54392011-08-04 Sergey Rybin <rybin@adacore.com>
5440
5441 * gnat_ugn.texi: Update doc on gnatcheck.
5442
54432011-08-04 Yannick Moy <moy@adacore.com>
5444
5445 * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
5446 xrefs in a scope.
5447
54482011-08-04 Yannick Moy <moy@adacore.com>
5449
5450 * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
5451 performing expansion.
5452 * sem_ch6.adb (Analyze_Subprogram_Body_Helper,
5453 Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
5454 it is not called in ALFA mode.
5455
ef5569c6
AC
54562011-08-04 Emmanuel Briot <briot@adacore.com>
5457
5458 * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
5459 after all, so removed.
5460
54612011-08-04 Sergey Rybin <rybin@adacore.com>
5462
5463 * vms_data.ads: Add missing VMS qualifiers.
5464
1ab4a286
EB
54652011-08-04 Emmanuel Briot <briot@adacore.com>
5466
5467 * make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
5468 the list of files on the command line after processing it through
5469 Complete_Mains.
5470
7ae0d98c
AC
54712011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5472
5473 * exp_ch7.adb (Build_Raise_Statement): Remove the specialized
5474 processing for .NET/JVM. These targets can now benefit from
5475 Raise_From_Controlled_Operation and they share the same processing with
5476 standard targets.
5477 (Establish_Transient_Scope): Remove the restriction for .NET/JVM.
5478 These targets need transient scopes in order to properly finalize short
5479 lived controlled objects.
5480 (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
5481 NET/JVM. These targets can now benefit from
5482 Raise_From_Controlled_Operation and they share the same processing with
5483 standard targets.
5484
54852011-08-04 Geert Bosch <bosch@adacore.com>
5486
5487 * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
5488
54892011-08-04 Ed Schonberg <schonberg@adacore.com>
5490
5491 * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
5492 Expand_Record_Aggregate, to determine whether aggregate must be
5493 expanded into assignments. This is the case if the ancestor part is
5494 private, regarless of the setting of the flag Has_Private_Ancestor.
5495
54962011-08-04 Ed Falis <falis@adacore.com>
5497
5498 * vxaddr2line.adb: Add support for e500v2 and for Linux hosts
5499
55002011-08-04 Bob Duff <duff@adacore.com>
5501
5502 * sinfo.ads: Fix comment.
5503
55042011-08-04 Steve Baird <baird@adacore.com>
5505
5506 * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
5507 choose a package name in much the same way as is
5508 done for JGNAT when VM_Target /= No_VM, except that
5509 a slightly more distinctive prefix string is used.
5510
55112011-08-04 Emmanuel Briot <briot@adacore.com>
5512
5513 * makeutl.adb (Complete_Mains): no longer accept unit names on the
5514 gnatmake command line.
5515 This behavior was never documented (and was supported only because of
5516 an early bug in the code). This case might lead to ambiguous cases
5517 (between unit names and truncated base names without suffixes).
5518
87729e5a
AC
55192011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5520
5521 * a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
5522 Remove the external tag of a tagged type from the internal hash table.
5523 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
5524 expanded usage of the routine. Strenghten the check for Is_Master. Add
5525 processing for tagged types.
5526 (Build_Finalizer): Create all the necessary lists used in finalizer
5527 creation when the processed context is a package that may contain
5528 tagged types.
5529 (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
5530 Requires_Cleanup_Actions.
5531 (Expand_N_Package_Body): Package bodies may need clean up code
5532 depending on whether they contain tagged types.
5533 (Expand_N_Package_Declaration): Package declarations may need clean up
5534 code depending on whether they contain tagged types.
5535 (Unregister_Tagged_Types): New routine. Search through a list of
5536 declarations or statements, looking for non-abstract Ada tagged types.
5537 For each such type, generate code to unregister the external tag.
5538 * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
5539 Requires_Cleanup_Actions.
5540 (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
5541 through a list of declarations or statements looking for non-abstract
5542 Ada tagged types or controlled objects.
5543 * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
5544 Requires_Cleanup_Actions.
5545 (Has_Controlled_Objects (List_Id, Boolean)): Removed.
5546 * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
5547 RE_Unit_Table.
5548
55492011-08-04 Vincent Celier <celier@adacore.com>
5550
5551 * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
5552 has Ada sources, not project Project, because if the root project
5553 Project has no sources of its own, all projects will be deemed without
5554 sources.
5555
55562011-08-04 Gary Dismukes <dismukes@adacore.com>
5557
5558 * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
5559 of the No_Param_Proc acc-to-subp type used for initialization of
5560 __gnat_finalize_library_objects so that it's declared at library level
5561 rather than nested inside of the adainit routine.
5562
55632011-08-04 Javier Miranda <miranda@adacore.com>
5564
5565 * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
5566 if the tagged type has a representation clause which specifies its
5567 external tag.
5568
55692011-08-04 Ed Schonberg <schonberg@adacore.com>
5570
5571 * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
5572 Remove previous procedure with that name.
5573 * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
5574 when appropriate.
5575 * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
5576 subtype mark, the ancestor cannot have unknown discriminants.
5577 (Resolve_Record_Aggregate): if the type has invisible components
5578 because of a private ancestor, the aggregate is illegal.
5579
55802011-08-04 Vincent Celier <celier@adacore.com>
5581
5582 * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
5583 account switches -gnat2005, -gnat12 and -gnat2012.
5584
55852011-08-04 Bob Duff <duff@adacore.com>
5586
5587 * s-tasdeb.ads: Minor comment fix.
5588
55892011-08-04 Arnaud Charlet <charlet@adacore.com>
5590
5591 * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
5592 CodePeer mode.
5593 * switch.ads, switch.adb (Is_Language_Switch): New function.
5594
55952011-08-04 Vincent Celier <celier@adacore.com>
5596
5597 * switch-c.adb: Minor comment addition.
5598
55992011-08-04 Vincent Celier <celier@adacore.com>
5600
5601 * vms_conv.adb (Process_Argument): Fail graciously when qualifier
5602 ending with '=' is followed by a space (missing file name).
5603
56042011-08-04 Pascal Obry <obry@adacore.com>
5605
5606 * g-regist.ads: Fix size of HKEY on x86_64-windows.
5607
56082011-08-04 Ed Schonberg <schonberg@adacore.com>
5609
5610 * sem_ch12.adb (Analyze_Associations): New routine
5611 Check_Overloaded_Formal_Subprogram to reject a formal package when
5612 there is a named association or a box initialisation for an overloaded
5613 formal subprogram of the corresponding generic.
5614
56152011-08-04 Yannick Moy <moy@adacore.com>
5616
5617 * alfa.ads (ALFA_Xref_Record): add component for type of entity
5618 * get_alfa.adb, put_alfa.adb: Read and write new component of
5619 cross-reference.
5620 * lib-xref-alfa.adb (Collect_ALFA): generate new component.
5621
88f47280
AC
56222011-08-04 Pascal Obry <obry@adacore.com>
5623
5624 * urealp.adb: Minor reformatting.
5625
56262011-08-04 Tristan Gingold <gingold@adacore.com>
5627
5628 * exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
5629 Handle the case when Cleanup_Protected_Object returns Empty.
5630
56312011-08-04 Yannick Moy <moy@adacore.com>
5632
5633 * frontend.adb (Frontend): only qualify names in non-ALFA mode
5634
56352011-08-04 Ed Schonberg <schonberg@adacore.com>
5636
5637 * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
5638 call, ignore functions.
5639
05c53a69
GB
56402011-08-04 Geert Bosch <bosch@adacore.com>
5641
5642 * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
5643 point.
5644
23cc1ace
EB
56452011-08-04 Emmanuel Briot <briot@adacore.com>
5646
5647 * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
5648 as an index for Builder'Switches. This conforms to the documentation.
5649 * make.adb (Insert_Project_Sources): avoid duplicate code
5650
cef14201
AC
56512011-08-04 Emmanuel Briot <briot@adacore.com>
5652
5653 * makeutl.adb (Complete_Mains): if the user has passed a relative file
5654 name on the command line (for instance "../dummy"), never assume it can
5655 be a unit name.
5656
56572011-08-04 Tristan Gingold <gingold@adacore.com>
5658
5659 * bindgen.adb: Remove code the reference or create the
5660 Break_Start/__gnat_break_start procedure.
5661 * s-stalib.adb (Break_Start): Removed.
5662
e2fee30d
EB
56632011-08-04 Emmanuel Briot <briot@adacore.com>
5664
5665 * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
5666 shared with gprbuild.
5667
2d395256
AC
56682011-08-04 Yannick Moy <moy@adacore.com>
5669
5670 * par-ch4.adb (P_Primary): preferentially issue an error message about
5671 a missing parenthesis arount a conditional or case expression in Ada
5672 2012 mode, if we detect that the alignment is not correct for a
5673 statement.
5674
56752011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5676
5677 * exp_ch7.adb (Process_Declarations): Do not consider the result of a
5678 tag-to-class-wide conversion as needing finalization actions.
5679 * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
5680 a tag-to-class-wide conversion as needing finalization actions.
5681 (Is_Finalizable_Transient): The result of a tag-to-class-wide
5682 conversion does not need finalization actions.
5683 (Is_Tag_To_CW_Conversion): New routine.
5684 * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
5685 whether an object is the result of a tag-to-class-wide conversion.
5686
56872011-08-04 Yannick Moy <moy@adacore.com>
5688
5689 * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
5690 the left-hand-side and right-hand-side of a conjunct are inserted when
5691 translating a pre- or postcondition
5692 * sem_ch6.adb: Correct typo in comment
5693
56942011-08-04 Ed Schonberg <schonberg@adacore.com>
5695
5696 * gnat_rm.texi: Ravenscar does not prohibit dependence on
5697 Unchecked_Conversion and Unchecked_Deallocation.
5698
56992011-08-04 Thomas Quinot <quinot@adacore.com>
5700
5701 * make.adb: Minor reformatting.
5702
767ab2fd
EB
57032011-08-04 Emmanuel Briot <briot@adacore.com>
5704
5705 * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
5706 sources in the project and its imported projects, but not in the whole
5707 tree.
5708
8fb3f5df
AC
57092011-08-04 Emmanuel Briot <briot@adacore.com>
5710
5711 * make.adb: Remove debug trace.
5712
57132011-08-04 Vincent Celier <celier@adacore.com>
5714
5715 * makeutl.adb (Do_Complete): Get the absolute path name of a relative
5716 path in canonical form, to be able to compare path names on platforms
5717 such as Windows or Darwin.
5718
57192011-08-04 Thomas Quinot <quinot@adacore.com>
5720
5721 * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
5722 For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
5723 * scos.ads: Update documentation accordingly.
5724 * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
5725 pragmas.
5726
9515740f
AC
57272011-08-04 Ed Schonberg <schonberg@adacore.com>
5728
5729 * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
5730 attribute only if prefix type is scalar.
5731
57322011-08-04 Emmanuel Briot <briot@adacore.com>
5733
5734 * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
5735 in gnatmake for specifying mains on the command line that do not belong
5736 to the main project. These mains must currently all belong to the same
5737 project, though.
5738 (Ultimate_Extension_Of): removed, since duplicated
5739 Ultimate_Extending_Project.
5740
92966893
AC
57412011-08-04 Arnaud Charlet <charlet@adacore.com>
5742
5743 * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
5744 instead.
5745 (CodePeer_Mode_String): New.
5746 (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
5747 CodePeer mode.
5748 (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
5749 * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
5750 mode, since no useful elaboration subprogram is needed by CodePeer.
5751 * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
5752 In this mode, compile binder file with -gnatC and do stop after this
5753 step.
5754
57552011-08-04 Vincent Celier <celier@adacore.com>
5756
5757 * exp_ch7.adb: Minor comment fix.
5758
5969611f
RD
57592011-08-04 Robert Dewar <dewar@adacore.com>
5760
5761 * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
5762 exp_ch4.adb, makeutl.adb: Minor reformatting.
5763
6367dd30
AC
57642011-08-04 Emmanuel Briot <briot@adacore.com>
5765
5766 * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
5767 Create several new subprograms to move code out of Make. This makes the
5768 code more readable, removes code duplication, and is a preparation work
5769 for adding support for aggregate projects.
5770
57712011-08-04 Tristan Gingold <gingold@adacore.com>
5772
5773 * s-po32gl.ads, s-po32gl.adb: New files.
5774 * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
5775 * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
5776 (Build_Finalization_Collection): Use it.
5777 * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
5778 * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
5779 literals.
5780 * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
5781 * gcc-interface/Make-lang.in: Update dependencies.
5782
cd8bfe35
EB
57832011-08-04 Emmanuel Briot <briot@adacore.com>
5784
5785 * makeutl.adb (Complete_Mains): add support for specs with no suffix on
5786 the command line.
5787
7db29ea7
EB
57882011-08-04 Emmanuel Briot <briot@adacore.com>
5789
5790 * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
5791 command line is not a file name, also check whether it could be a unit
5792 name.
5793
d9b056ea
AC
57942011-08-04 Eric Botcazou <ebotcazou@adacore.com>
5795
5796 * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
5797 the header of the finalization routine.
5798 If the unit has no finalizer but is a body whose spec has one, then
5799 generate the decrement of the elaboration entity only.
5800 If the unit has a finalizer and is a spec, then do not generate the
5801 decrement of the elaboration entity.
5802 (Gen_Finalize_Library_C): Likewise.
5803
58042011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5805
5806 * exp_ch7.adb (Alignment_Of): New subsidiary routine.
5807 (Bounds_Size_Expression): Removed.
5808 (Double_Alignment_Of): New subsidiary routine.
5809 (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
5810 for a hole in the dope vector of unconstrained arrays due to different
5811 index and element alignments.
5812
58132011-08-04 Ed Schonberg <schonberg@adacore.com>
5814
5815 * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
5816 raise program_error because body has not been seen yet.
5817
58182011-08-04 Ed Schonberg <schonberg@adacore.com>
5819
5820 * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
5821 an unresolved name.
5822
58232011-08-04 Vincent Celier <celier@adacore.com>
5824
5825 * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
5826
58272011-08-04 Yannick Moy <moy@adacore.com>
5828
5829 * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
5830 * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
5831
58322011-08-04 Thomas Quinot <quinot@adacore.com>
5833
5834 * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
5835 instantiation in RCI.
5836
58372011-08-04 Emmanuel Briot <briot@adacore.com>
5838
5839 * make.adb: Share more code with gprbuild
5840
f5fc5b9d
AC
58412011-08-04 Emmanuel Briot <briot@adacore.com>
5842
5843 * projects.texi: Added documentation for the IDE'Gnat project file
5844 attribute.
5845
58462011-08-04 Nicolas Roche <roche@adacore.com>
5847
5848 * gnat_rm.texi: Minor editing.
5849
58502011-08-04 Javier Miranda <miranda@adacore.com>
5851
5852 * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
5853 and the library case for VM targets.
5854 (Gen_Adainit_Ada): Likewise.
5855
58562011-08-04 Robert Dewar <dewar@adacore.com>
5857
5858 * g-altive.ads: Minor comment updates.
5859 * prj-nmsc.adb: Minor reformatting.
5860
58612011-08-04 Javier Miranda <miranda@adacore.com>
5862
5863 * opt.ads
5864 (Normalize_Scalars_Config): Value of the configuration switch set by
5865 pragma Normalize_Scalars when it appears in the gnat.adc file.
5866 (Normalize_Scalars): New field for record Config_Switches_Type. Used
5867 to save and restore settings of this pragma.
5868 * opt.adb
5869 (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
5870 Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
5871
58722011-08-04 Vincent Celier <celier@adacore.com>
5873
5874 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
5875
0c4683cf
AC
58762011-08-04 Arnaud Charlet <charlet@adacore.com>
5877
5878 * makeutl.adb: Minor reformatting.
5879
58802011-08-04 Olivier Hainque <hainque@adacore.com>
5881
5882 * g-altive.ads: Update comments to reflect that only the soft
5883 binding is available today.
5884
2598ee6d
RD
58852011-08-04 Robert Dewar <dewar@adacore.com>
5886
5887 * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
5888 makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
5889 * gcc-interface/Make-lang.in: Update dependencies.
5890
c2db4b32
AC
58912011-08-04 Arnaud Charlet <charlet@adacore.com>
5892
5893 * prj-env.adb: Remove local debug traces.
5894
58952011-08-04 Yannick Moy <moy@adacore.com>
5896
5897 * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
5898 was used instead of Hi_OK, which could cause a read of an uninitialized
5899 value later on. Detected while working on the new warning.
5900 * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
5901 to local variable.
5902 * sem_ch5.adb (Analyze_Assignment): set the last assignment component
5903 in more cases, in order to detect more unreferenced values.
5904 * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
5905 object for expression, if any.
5906
59072011-08-04 Eric Botcazou <ebotcazou@adacore.com>
5908
5909 * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
5910 the operand types instead of the Esize.
5911
59122011-08-04 Steve Baird <baird@adacore.com>
5913
5914 * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
5915 enable CodePeer_Mode.
5916 * bindusg.adb (Display): Add help message describing -P binder switch.
5917 * gnat_ugn.texi: Document -P binder switch.
5918 * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
5919 user-defined main program directly.
5920 (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
5921 user-defined main program in the context clause of the package body.
5922
ad05f2e9
AC
59232011-08-04 Yannick Moy <moy@adacore.com>
5924
5925 * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
5926 duplicate of Defining_Entity
5927 (Get_Unique_Entity_For_Decl): rename function into
5928 Unique_Defining_Entity
5929 * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
5930 (Formal_Proof_On): remove synthesized flag
5931 * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
5932 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
5933 sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
5934 * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
5935 Annotate (Formal_Proof)
5936
59372011-08-04 Emmanuel Briot <briot@adacore.com>
5938
5939 * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
5940 source files with non-standard naming schemes, in imported projects
5941
756ef2a0
AC
59422011-08-04 Emmanuel Briot <briot@adacore.com>
5943
5944 * makeutl.adb (Complete_Mains): when a multi-unit source file is
5945 specified on the gprbuild command line, we need to compile all units
5946 within that file, not just the first one we find
5947 Fix error message for mains that are not found.
5948
59492011-08-04 Thomas Quinot <quinot@adacore.com>
5950
5951 * sem_ch6.adb: Update comment.
5952 * sem_ch12.adb: Minor reformatting.
5953
59542011-08-04 Bob Duff <duff@adacore.com>
5955
5956 * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
5957 Acceptor.Terminate_Alternative without locking Acceptor, which causes a
5958 race condition whose symptom is to fail to lock Parent. That, in turn,
5959 causes Parent.Awake_Count to be accessed without locking Parent, which
5960 causes another race condition whose symptom is that Parent.Awake_Count
5961 can be off by 1 (either too high or too low). The solution is to lock
5962 Parent unconditionally, and then lock Acceptor, before reading
5963 Acceptor.Terminate_Alternative.
5964
4fdebd93
AC
59652011-08-04 Arnaud Charlet <charlet@adacore.com>
5966
5967 * debug.adb: Update comment.
5968
59692011-08-04 Robert Dewar <dewar@adacore.com>
5970
5971 * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
5972 sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
5973 exp_ch6.adb: Minor reformatting.
5974
59752011-08-04 Gary Dismukes <dismukes@adacore.com>
5976
5977 * gnat_ugn.texi: Add sentence about the case of compile-time-detected
5978 checks for -gnateE.
5979
59802011-08-04 Ed Schonberg <schonberg@adacore.com>
5981
5982 * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
5983
59842011-08-04 Thomas Quinot <quinot@adacore.com>
5985
5986 * sinfo.ads: Minor reformatting.
5987
59882011-08-04 Emmanuel Briot <briot@adacore.com>
5989
5990 * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
5991 even if there is no location.
5992
6aaa0587
ES
59932011-08-04 Ed Schonberg <schonberg@adacore.com>
5994
5995 * sem_res.adb, sem_ch4.adb: move check for restriction
5996 No_Task_Hierarchy to resolve_allocator.
5997
35a1c212
AC
59982011-08-04 Thomas Quinot <quinot@adacore.com>
5999
6000 * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
6001 This flag of N_Pragma nodes is not used, remove it as well as all of
6002 the associated circuitry.
6003
60042011-08-04 Javier Miranda <miranda@adacore.com>
6005
6006 * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
6007 runtime check on duplicated externa tags
6008 * debug.adb Document switch -gnatdQ.
6009
60102011-08-04 Gary Dismukes <dismukes@adacore.com>
6011
6012 * a-fihema.ads: Minor typo fix.
6013
60142011-08-04 Yannick Moy <moy@adacore.com>
6015
6016 * sem_ch10.adb: Minor comment update.
6017
60182011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6019
6020 * einfo.adb: Update the node field usage to reflect the renaming of
6021 Return_Flag to Return_ Flag_Or_Transient_Decl.
6022 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
6023 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
6024 (Write_Field15_Name): Change Return_Flag to
6025 Return_Flag_Or_Transient_Decl.
6026 * einfo.ads: Rename node field Return_Flag to
6027 Return_Flag_Or_Transient_Decl. Update the associated comment and all
6028 occurrences in entities.
6029 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
6030 associated Inline pragma.
6031 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
6032 associated Inline pragma.
6033 * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
6034 routine.
6035 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
6036 Return_Flag and Set_Return_Flag.
6037 * exp_ch7.adb (Process_Declarations): Add code to recognize hook
6038 objects generated for controlled transients declared inside an
6039 Exception_With_Actions. Update the calls to Return_Flag.
6040 (Process_Object_Declaration): Add code to add a null guard for hook
6041 objects generated for controlled transients declared inside an
6042 Exception_With_Actions. Update related comment.
6043 * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
6044 objects generated for controlled transients declared inside an
6045 Exception_With_Actions. Update the calls to Return_Flag.
6046 * expander.adb (Expand): Add new case for N_Expression_With_Actions.
6047
60482011-08-04 Ed Schonberg <schonberg@adacore.com>
6049
6050 * sem_util.adb:(Wrong_Type): Improve error message on a one-element
6051 positional aggregate.
6052
60532011-08-04 Vincent Celier <celier@adacore.com>
6054
6055 * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
6056 SLOC only for pragmas.
6057
60582011-08-04 Emmanuel Briot <briot@adacore.com>
6059
6060 * projects.texi: Minor typo fix.
6061
60622011-08-04 Emmanuel Briot <briot@adacore.com>
6063
6064 * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
6065 on case-sensitive file systems.
6066
c2873f74
TQ
60672011-08-04 Thomas Quinot <quinot@adacore.com>
6068
6069 * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
6070 nested in a disabled pragma.
6071 * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
6072 enclosing pragma, if any, for X decisions.
6073
60742011-08-04 Thomas Quinot <quinot@adacore.com>
6075
6076 * sem_prag.adb: Minor reformatting.
6077
46414266
VC
60782011-08-04 Vincent Celier <celier@adacore.com>
6079
6080 * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
6081 allowed in no run time mode.
6082
60832011-08-04 Vincent Celier <celier@adacore.com>
6084
6085 * make.adb (Check): When -gnatc is used, check for the source file
6086 inside the ALI file with a canonical case file name.
6087
afab164f
EB
60882011-08-04 Emmanuel Briot <briot@adacore.com>
6089
6090 * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
6091 overriding the separator.
6092
fe0ec02f
AC
60932011-08-04 Robert Dewar <dewar@adacore.com>
6094
6095 * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
6096 prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
6097
60982011-08-04 Robert Dewar <dewar@adacore.com>
6099
6100 * gnat_rm.texi: Minor documentation fix for pragma Annotate.
6101
61022011-08-04 Yannick Moy <moy@adacore.com>
6103
6104 * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
6105 'Result only appears in postcondition of function.
6106
61072011-08-04 Thomas Quinot <quinot@adacore.com>
6108
6109 * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
6110 external tag, include the value of the external tag in the exception
6111 message.
6112
0180fd26
AC
61132011-08-04 Yannick Moy <moy@adacore.com>
6114
6115 * sem_attr.adb (Result): modify error message for misplaced 'Result
6116
61172011-08-04 Sergey Rybin <rybin@adacore.com>
6118
6119 * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
6120 clear that the second argument must be an identifier.
6121
61222011-08-04 Thomas Quinot <quinot@adacore.com>
6123
6124 * exp_ch9.adb (Build_Barrier_Function): When compiling with
6125 -fpreserve-control-flow, insert an IF statement on the barrier
6126 condition to ensure that a conditional branch instruction is generated.
6127
61282011-08-04 Emmanuel Briot <briot@adacore.com>
6129
6130 * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
6131 (Processing_Flags.Ignore_Missing_With): new flag.
6132
61332011-08-04 Emmanuel Briot <briot@adacore.com>
6134
6135 * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
6136 Source_List_File on case-insensitive systems where the file is actually
6137 on a case-sensitive file system (NFS,...).
6138
61392011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6140
6141 * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
6142 function return contains a controlled [extension] aggregate and the
6143 return statement is not part of a handled sequence of statements, wrap
6144 the return in a block. This ensures that all controlled temporaries
6145 generated during aggregate resolution will be picked up by the
6146 finalization machinery.
6147
61482011-08-04 Ed Schonberg <schonberg@adacore.com>
6149
6150 * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
6151 components, freeze type before resolution, to ensure that default
6152 initializations are present for all components.
6153 * sem_res.adb (Resolve_Actuals): the designated object of an
6154 accces-to-constant type is a legal actual in a call to an
6155 initialization procedure.
6156
61572011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6158
6159 * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
6160 N_Unchecked_Type_Conversion to the possible containers of a renamed
6161 transient variable.
6162
78efd712
AC
61632011-08-04 Yannick Moy <moy@adacore.com>
6164
6165 * par-ch13.adb (Aspect_Specifications_Present): recognize
6166 "with Identifier'Class =>" as an aspect, so that a meaningful warning
6167 is issued in Strict mode.
6168 * par.adb: Fix typos in comments.
6169
61702011-08-04 Yannick Moy <moy@adacore.com>
6171
6172 * sem_attr.adb (Result): modify error message to take into account Post
6173 aspect when compiling Ada 2012 (or newer) code.
6174
61752011-08-04 Nicolas Roche <roche@adacore.com>
6176
6177 * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
2c7f9cc0 6178 remove need for GCC exceptions.
78efd712
AC
6179
61802011-08-04 Vincent Celier <celier@adacore.com>
6181
6182 * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
6183 project, not the source file name.
6184 * prj.adb (Find_Sources.Look_For_Sources): If the source has been
6185 excluded, continue looking. This excluded source will only be returned
6186 if there is no other source with the same base name that is not locally
6187 removed.
6188
61892011-08-04 Ed Schonberg <schonberg@adacore.com>
6190
6191 * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
6192 private and one of the operands is a real literal, use a qualified
6193 expression rather than a conversion which is not meaningful to the
6194 back-end.
6195
0170a691
AC
61962011-08-04 Yannick Moy <moy@adacore.com>
6197
6198 * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
6199 corresponding aspect X'Class are allowed, proceed with analysis of the
6200 aspect instead of skipping it.
6201
62022011-08-04 Tristan Gingold <gingold@adacore.com>
6203
6204 * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
6205 This will allow to have an Ada implementation for the subprogram.
6206
deb4f5ba
ES
62072011-08-04 Ed Schonberg <schonberg@adacore.com>
6208
6209 * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
6210 completion and aspects are present, apply them to the entity for the
6211 type which is currently the partial view, but which is the one that
6212 will be frozen.
6213 * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
6214 applies to a partial view, indicate that the full view has predicates
6215 and delayed aspects.
6216 (Replace_Type_Reference): Handle properly predicates that apply to the
6217 full view of a private completion.
6218
fc893455
AC
62192011-08-04 Eric Botcazou <ebotcazou@adacore.com>
6220
6221 * layout.adb (Layout_Type): For composite types, do not set Esize.
6222 * freeze.adb (Set_Small_Size): Remove test on alignment and do not
6223 set Esize.
6224 (Size_Known): Look at the RM size of components instead of the Esize.
6225 (Freeze_Record_Type): Look at the RM size instead of the Esize to
6226 issue warning and activate Implicit_Packing.
6227 (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
6228 if the Esize is not known.
6229 * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
6230 for elementary types only.
6231 (Analyze_Record_Representation_Clause): Look at the RM size instead
6232 of the Esize to issue errors.
6233 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
6234 is not known.
6235 <E_Record_Type>: Look at the RM size instead of the Esize. Remove
2c7f9cc0 6236 obsolete block.
fc893455
AC
6237 Look at the RM size instead of the Esize for types if the latter is
6238 not known.
6239 (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
6240
62412011-08-04 Ed Schonberg <schonberg@adacore.com>
6242
6243 * sem_type.adb: proper handling of equality not involving anonymous
6244 access types.
6245
b37d5bc6
AC
62462011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6247
6248 * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
6249 Vis_Decls. When creating a library-level finalizer for a package spec,
6250 both the declaration and body of the finalizer are inserted either in
6251 the visible or private declarations of the package spec.
6252
62532011-08-04 Javier Miranda <miranda@adacore.com>
6254
6255 * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
6256 use of the full-view of a type when invoking Is_Ancestor.
6257 * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
6258 the full-view of private parents is requested, then use also the
6259 full-view of the parent of the first derivation.
6260
7ab4d95a
AC
62612011-08-04 Tristan Gingold <gingold@adacore.com>
6262
6263 * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
6264 instead of the locally imported procedure.
6265 * s-taprop-mingw.adb (Enter_Task): Ditto.
6266 * s-valrea.adb (Scan_Real): Ditto.
6267 * s-imgrea.adb (Set_Image_Real): Ditto.
6268 * s-flocon.ads: Make the package pure.
6269
62702011-08-04 Thomas Quinot <quinot@adacore.com>
6271
6272 * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
6273 * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
6274 * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
6275 New subprogram, moved here from...
6276 * par.adb, par-ch5.adb (P_Statement_Name): ... here.
6277 * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
6278 rewriting of the last argument into a procedure call statement here...
6279 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
6280 instead.
6281
62822011-08-04 Thomas Quinot <quinot@adacore.com>
6283
6284 * par_sco.adb: Minor reformatting.
6285
51c400f5
AC
62862011-08-04 Robert Dewar <dewar@adacore.com>
6287
6288 * erroutc.adb: Minor reformatting.
6289
62902011-08-04 Thomas Quinot <quinot@adacore.com>
6291
6292 * par_sco.adb: Comment update.
6293
62942011-08-04 Tristan Gingold <gingold@adacore.com>
6295
6296 * s-flocon.ads: New file.
6297 * g-flocon.ads: Now a renaming of s-flocon.
6298 * Makefile.rtl: Add s-flocon.o
6299
6a49f110
AC
63002011-08-04 Javier Miranda <miranda@adacore.com>
6301
6302 * exp_strm.adb (Build_Array_Input_Function): if the array type is
6303 constrained, do not attempt to build a subtype of it.
6304
63052011-08-04 Yannick Moy <moy@adacore.com>
6306
6307 * errout.ads Change comments: remove 'R'M as an example where quotes
6308 are needed; add ALFA as another case where quotes are not needed
6309 * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
6310 case where quotes are not needed.
6311 * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
6312 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
6313 Remove all occurrences of 'A'L'F'A
6314
63152011-08-04 Ed Schonberg <schonberg@adacore.com>
6316
6317 * sem_ch13.adb: check legality of invariant pragma.
6318
a4640a39
AC
63192011-08-04 Eric Botcazou <ebotcazou@adacore.com>
6320
6321 * bindgen.adb: Add comments.
6322
63232011-08-04 Yannick Moy <moy@adacore.com>
6324
6325 * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
6326 synthesized flag.
6327 * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
6328 (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
6329
63302011-08-04 Robert Dewar <dewar@adacore.com>
6331
6332 * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
6333 osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
6334 sem_ch13.adb, s-pooloc.adb: Minor reformatting.
6335
39ade2f9
AC
63362011-08-04 Thomas Quinot <quinot@adacore.com>
6337
6338 * s-pooloc.ads, s-pooglo.ads: Minor reformatting
6339
63402011-08-04 Thomas Quinot <quinot@adacore.com>
6341
6342 PR ada/47880
6343 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
6344 allocated object.
6345
63462011-08-04 Robert Dewar <dewar@adacore.com>
6347
6348 * einfo.ads, exp_ch4.adb: Minor reformatting.
6349
63502011-08-04 Jerome Lambourg <lambourg@adacore.com>
6351
6352 * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
6353
7efc3f2d
AC
63542011-08-04 Ed Schonberg <schonberg@adacore.com>
6355
6356 * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
6357 type in all cases to compute list of primitive operations, because full
6358 view may be an itype that is not attached to the list of declarations.
6359
63602011-08-04 Eric Botcazou <ebotcazou@adacore.com>
6361
6362 * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
6363 library has already been finalized.
6364 (Gen_Adafinal_C): Likewise.
6365 (Gen_Adainit_Ada): Generate an early return if the library has
6366 already been elaborated.
6367 (Gen_Adainit_C): Likewise.
6368 (Gen_Output_File_Ada): Generate an elaboration flag.
6369 (Gen_Output_File_C): Likewise.
6370
f65df609
HK
63712011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6372
6373 * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
6374 Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
6375 built in the first place.
6376 (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
6377 for CodePeer because Finalize_Address was not built to begin with.
6378 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
6379
a0fb8fe8
AC
63802011-08-04 Pascal Obry <obry@adacore.com>
6381
6382 * adaint.c (__gnat_tmp_name): Use current process id to create temp
6383 filenames, this ensures unicity of filenames across processes.
6384
63852011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6386
6387 * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
6388 Raise_Controlled to Raise_From_Controlled_Operation. Update the
6389 signature of Raise_From_Controlled_Operation by adding flag From_Abort.
6390 Add False as the actual to From_Abort in the generated call to
6391 Raise_From_Controlled_Operation.
6392
63932011-08-04 Jerome Lambourg <lambourg@adacore.com>
6394
6395 * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
6396 so that the ali file name can be retrieved from outside of this package.
6397 * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
6398 doing nothing in the general case, but used to update the object file
6399 timestamp if directly generated by the backend.
6400 * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
6401 to a later time than the ali file one.
6402
9534ab17
AC
64032011-08-04 Yannick Moy <moy@adacore.com>
6404
6405 * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
6406 entities whose body contains an Annotate pragma which forces formal
6407 proof on this body.
6408 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
6409 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
6410 Mark_Non_ALFA_Subprogram to pass in a message and node.
6411 * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
6412 (Forma_Proof, On) which sets the flag Formal_Proof_On in the
6413 surrounding subprogram.
6414 * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
6415 Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
6416 as not in ALFA is annotated with Formal_Proof being On, then an error
6417 is issued based on the additional parameters for message and node.
6418 * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
6419 * gcc-interface/Make-lang.in: Update dependencies.
6420
64212011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6422
6423 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
6424 Finalize_Address when CodePeer is enabled.
6425
64262011-08-04 Pascal Obry <obry@adacore.com>
6427
6428 * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
6429 the latter returns a pointer to a static buffer which is deallocated
6430 at the end of the routine.
6431
5c0e97dd
AC
64322011-08-04 Yannick Moy <moy@adacore.com>
6433
6434 * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
6435 after index creation; mark unconstrained base array type generated as
6436 being in/not in ALFA as well
6437 (Make_Index): mark subtype created as in/not in ALFA
6438 * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
6439 over a loop as in/not in ALFA, depending on its type and form of loop
6440 iteration.
6441
64422011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6443
6444 * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
6445 directly to False on .NET and JVM.
6446
7a93c64b
YM
64472011-08-04 Yannick Moy <moy@adacore.com>
6448
6449 * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
6450 constraint that subtype must come from source code to be in ALFA, so
6451 that anonymous subtypes can be in ALFA too.
6452
e9a1ed9b
YM
64532011-08-04 Yannick Moy <moy@adacore.com>
6454
6455 * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
6456 reference for ALFA mode.
6457 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
6458 procedure public so as to use it from formal verification back-end.
6459
8e293fbd
AC
64602011-08-04 Jerome Lambourg <lambourg@adacore.com>
6461
6462 * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
6463 invalid checks of the Parameter, making Remove_Switch not working
6464 correctly.
6465
64662011-08-04 Arnaud Charlet <charlet@adacore.com>
6467
6468 * targparm.ads: Update header: no run-time exception is needed on this
6469 file.
6470
64712011-08-04 Vincent Celier <celier@adacore.com>
6472
6473 * a-fihema.adb: Use System.IO instead of GNAT.IO
6474
64752011-08-04 Thomas Quinot <quinot@adacore.com>
6476
6477 * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
6478 are forbidden in Compiler_Unit mode.
6479
cfae2bed
AC
64802011-08-04 Robert Dewar <dewar@adacore.com>
6481
6482 * sem_util.adb: Minor reformatting.
6483
64842011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6485
6486 * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
6487 library-level finalizers.
6488 (Gen_Finalize_Library_C): Update the import string for library-level
6489 finalizers.
6490 (Gen_Finalize_Library_Defs_C): Update the definition name of a
6491 library-level finalizer.
6492 * exp_ch7.adb: Remove with and use clauses for Stringt.
6493 (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
6494 Spec_Decl. Add local variable Body_Id. The names of library-level
6495 finalizers are now manually fully qualified and are no longer external.
6496 A single name is now capable of servicing .NET, JVM and non-VM targets.
6497 Pragma Export is no longer required to provide visibility for the name.
6498 (Create_Finalizer_String): Removed.
6499 (New_Finalizer_Name): New routine which mimics New_..._Name.
6500
01f0729a
AC
65012011-08-04 Eric Botcazou <ebotcazou@adacore.com>
6502
6503 * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
6504 elaboration counter to Standard_Short_Integer.
6505 * sem_util.adb (Build_Elaboration_Entity): Likewise.
6506 * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
6507 (Gen_Elab_Externals_C): Likewise.
6508
65092011-08-04 Ed Falis <falis@adacore.com>
6510
6511 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
6512 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
6513 system-vxworks-mips.ads, system-vxworks-x86.ads
6514 (Always_Compatible_Rep): set to False for all VxWorks targets.
6515
2c1b72d7
AC
65162011-08-04 Robert Dewar <dewar@adacore.com>
6517
6518 * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
6519 makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
6520 exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
6521 exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
6522 exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
6523 sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
6524 sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
6525 Minor reformatting and code reorganization.
6526
65272011-08-04 Emmanuel Briot <briot@adacore.com>
6528
6529 * projects.texi: Added doc for aggregate projects.
6530
824e9320
AC
65312011-08-04 Emmanuel Briot <briot@adacore.com>
6532
6533 * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
6534 Add support for overriding the Project_Path in aggregate projects.
6535
65362011-08-04 Robert Dewar <dewar@adacore.com>
6537
6538 * a-cofove.ads: Minor reformatting.
6539
65402011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6541
6542 * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
6543 on the generated code.
6544 (Build_Finalize_Statements): Update the comment on the generated code.
6545 (Build_Initialize_Statements): Update the comment on the generated code.
6546 (Build_Object_Declarations): Add local variable Result. The object
6547 declarations are now built in sequence.
6548 * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
6549 RE_Unit_Table.
6550
65512011-08-04 Robert Dewar <dewar@adacore.com>
6552
6553 * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
6554
65552011-08-04 Eric Botcazou <ebotcazou@adacore.com>
6556
6557 * einfo.ads (Elaboration_Entity): Document new definition and use.
6558 (Elaboration_Entity_Required): Adjust to above change.
6559 * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
6560 * exp_ch12.adb: And with and use for Snames.
6561 (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
6562 * exp_util.adb (Set_Elaboration_Flag): Likewise.
6563 * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
6564 <Check_Unit_Name>: Deal with N_Expanded_Name.
6565 <Attribute_Elaborated>: Extend to all unit names.
6566 * sem_elab.adb: And with and use for Uintp.
6567 (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
6568 * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
6569 * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
6570 * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
6571 from Gen_Adainit_Ada.
6572 (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
6573 (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
6574 case, do not call System.Standard_Library.Adafinal; instead call
6575 finalize_library if needed.
6576 (Gen_Adafinal_C): Likewise.
6577 (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
6578 non-main program case.
6579 (Gen_Adainit_C): Generate a couple of external declarations here.
6580 In the main program case, set SSL.Finalize_Library_Objects.
6581 (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
6582 (Gen_Elab_Calls_C): Likewise.
6583 (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
6584 (Gen_Finalize_Library_C): Likewise. Generate a full function.
6585 (Gen_Main_C): Put back call to Ada_Final and don't finalize library
6586 objects here.
6587 (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
6588 if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
6589 Gen_Adafinal_Ada.
6590 (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
6591 if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
2c7f9cc0 6592 of external declarations. Call Gen_Finalize_Library_C.
824e9320 6593
316d9d4f
EB
65942011-08-04 Emmanuel Briot <briot@adacore.com>
6595
6596 * prj.adb, prj.ads, makeutl.adb, makeutl.ads (Complete_Mains,
6597 Compute_Compilation_Phases): new subprogram.
6598 (Builder_Data, Builder_Project_Tree_Data): new subprogram and type
6599 The number of mains as well as the various compilation phases that
6600 need to be run are now project tree specific, since various
6601 aggregated trees might have different requirements. In particular,
6602 they do not all require bind or link phases.
6603
9434c32e
EB
66042011-08-04 Emmanuel Briot <briot@adacore.com>
6605
6606 * prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-env.adb
6607 (Project_Tree_Appdata): New type.
6608 It is now possible to associate application-specific data to a project
6609 tree. In particular, this is used in the gprbuild builder to avoid a
6610 number of global tables and htables, especially now that there can be
6611 several project trees loaded at once because of aggregate projects.
6612 (Debug_Name): new procedure.
6613 * projects.texi: Clarify syntax of "**" for Source_Dirs
6614
41ba34db
EB
66152011-08-03 Emmanuel Briot <briot@adacore.com>
6616
6617 * prj.ads, makeutl.adb, makeutl.ads (Queue.Insert): now also inserts
6618 the "roots" for a main.
6619 (Fill_From_Project): add support for aggregate projects. Main units
6620 in aggregated projects are now automatically added in the list of
6621 files to build (although this fails later on in gprbuild, because
6622 these files are not using the root proejct tree, so this needs
6623 further cleanup)
6624 * gcc-interface/Make-lang.in: Update dependencies.
6625
fccd42a9
AC
66262011-08-03 Yannick Moy <moy@adacore.com>
6627
6628 * sem_ch4.adb (Analyze_Conditional_Expression): only allow boolean
6629 conditional expression in ALFA.
6630 * sem_res.adb (Resolve_Conditional_Expression): mark non-boolean
6631 expressions as not in ALFA.
6632
66332011-08-03 Robert Dewar <dewar@adacore.com>
6634
6635 * a-cofove.adb: Minor reformatting.
6636
66372011-08-03 Emmanuel Briot <briot@adacore.com>
6638
6639 * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads
6640 (Insert_Project_Sources, Insert_withed_Sources_For): moved from the
6641 gprbuild sources.
6642 These packages are more logically placed in the Queue package, since
6643 they manipulate the queue. It is also likely that they can be adapted
6644 for gnatmake, thus sharing more code.
6645 (Finish_Program, Fail_Program): moved from the gprbuild sources, so
6646 that we could move the above.
6647
66482011-08-03 Emmanuel Briot <briot@adacore.com>
6649
6650 * errutil.adb (Finalize): clean up the list of error messages on exit.
6651 Calling this subprogram multiple times will no longer show duplicate
6652 error messages on stderr.
6653
66542011-08-03 Emmanuel Briot <briot@adacore.com>
6655
6656 * g-comlin.adb, g-comlin.ads (Set_Command_Line): ignore the parameter
6657 Getopt_Switches when we have already define a command line
6658 configuration.
6659
5e8c8e44
YM
66602011-08-03 Yannick Moy <moy@adacore.com>
6661
6662 * sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not
6663 in ALFA. Instead, they are considered as assertions to prove.
6664 * sem_ch4.adb (Analyze_Conditional_Expression): do not always mark such
6665 nodes as not in ALFA. Instead, include conditional expressions in ALFA
6666 if they have no ELSE part, or if they occur in pre- and postconditions,
6667 where the Condition cannot have side-effects in ALFA
6668 (Analyze_Membership_Op): do not mark such nodes as not in ALFA
6669 (Analyze_Type_Conversion): do not always mark such nodes as not in ALFA.
6670 Instead, include type conversion between scalar types in ALFA.
6671 * sem_ch6.adb (Process_Formals): correctly mark a parameter in ALFA
6672 if-and-only-if its type is in ALFA.
6673
5ffe0bab
AC
66742011-08-03 Thomas Quinot <quinot@adacore.com>
6675
6676 * scos.adb, get_scos.adb, put_scos.adb
6677 New code letter for decisions: G (entry guard)
6678 * par_sco.adb
6679 (Traverse_Subprogram_Body): Rename to...
6680 (Traverse_Subprogram_Or_Task_Body): New subrpogram.
6681 (Traverse_Protected_Body): New subprogram
6682 (Traverse_Declarations_Or_Statements): Add traversal of task bodies,
6683 protected bodies and entry bodies.
6684
66852011-08-03 Yannick Moy <moy@adacore.com>
6686
6687 * einfo.adb, einfo.ads (Is_Postcondition_Proc): new flag for procedure
6688 entities with get/set subprograms, which is set on procedure entities
6689 generated by the compiler for a postcondition.
6690 * sem_ch6.adb (Process_PPCs): set new flag on postcondition procedures
6691 * alfa.adb, alfa.ads (Get_Entity_For_Decl): new function returning the
6692 entity for a declaration
6693 (Get_Unique_Entity_For_Decl): new function returning an entity which
6694 represents a declaration, so that matching spec and body have the same
6695 entity.
6696
66972011-08-03 Robert Dewar <dewar@adacore.com>
6698
6699 * a-except-2005.adb, a-cfhama.adb, a-cfhase.adb, a-cfhase.ads,
6700 a-cforma.adb, a-cforse.ads, a-cforse.adb: Minor reformatting
6701
67022011-08-03 Yannick Moy <moy@adacore.com>
6703
6704 * lib-xref-alfa.adb (Detect_And_Add_ALFA_Scope): make the subprogram
6705 library-level because retriction No_Implicit_Dynamic_Code in the
6706 front-end prevents its definition as a local subprogram
6707 (Traverse_Compilation_Unit): extract new procedure from Add_ALFA_File,
6708 for reuse in other contexts
6709 (Traverse_Declarations_Or_Statements,
6710 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
6711 Traverse_Package_Declaration, Traverse_Subprogram_Body): make all these
6712 procedures take a callback parameter to be called on all declarations
6713 * lib-xref.ads
6714 (Traverse_All_Compilation_Units): new generic function to traverse a
6715 compilation unit and call a callback parameter on all declarations
6716
f9ad6b62
AC
67172011-08-03 Javier Miranda <miranda@adacore.com>
6718
6719 * sem_prag.adb (Process_Interface_Name): Allow duplicated export names
6720 in Java since they are always enclosed in a namespace that
6721 differentiates them, and overloaded entities are supported by the VM.
6722
67232011-08-03 Ed Schonberg <schonberg@adacore.com>
6724
6725 * checks.adb (Determine_Range): If a computed bound of an operation is
6726 outside the range of the base type of the expression, and overflow
6727 checks are enabled, the result is unknown and cannot be used for any
6728 subsequent constant folding.
6729 * sem_eval.adb (Compile_Time_Compare): if the bounds of one operand are
6730 unknown, so is the result of the comparison.
6731
67322011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
6733
6734 * a-except-2005.adb (Raise_From_Controlled_Operation): Add new formal
6735 From_Abort. When finalization was triggered by an abort, propagate
6736 Standard'Abort_Signal rather than Program_Error.
6737 * a-except-2005.ads (Raise_From_Controlled_Operation): Add new formal
6738 From_Abort.
6739 * a-except.adb (Raise_From_Controlled_Operation): Add new formal
6740 From_Abort. When finalization was triggered by an abort, propagate
6741 Standard'Abort_Signal rather than Program_Error.
6742 * a-except.ads:(Raise_From_Controlled_Operation): Add new formal
6743 From_Abort.
6744 * exp_ch7.adb:(Build_Adjust_Or_Finalize_Statements): New local variable
6745 Abort_Id. Update the calls to Build_Object_Declarations and
6746 Build_Raise_Statement to include Abort_Id.
6747 (Build_Adjust_Statements): New local variable Abort_Id. Update the
6748 calls to Build_Object_Declarations and Build_Raise_Statement to include
6749 Abort_Id.
6750 (Build_Finalize_Statements): New local variable Abort_Id. Update the
6751 calls to Build_Object_Declarations and Build_Raise_Statement to include
6752 Abort_Id.
6753 (Build_Components): Create an entity for Abort_Id when exceptions are
6754 allowed on the target.
6755 (Build_Finalizer): New local variable Abort_Id.
6756 (Build_Initialize_Statements): New local variable Abort_Id. Update the
6757 calls to Build_Object_Declarations and Build_Raise_Statement to include
6758 Abort_Id.
6759 (Build_Object_Declarations): Add new formal Abort_Id. Create the
6760 declaration of flag Abort_Id to preserve the original abort status
6761 before finalization code is executed.
6762 (Build_Raise_Statement): Add new formal Abort_Id. Pass Abort_Id to
6763 runtime routine Raise_From_Controlled_Operation.
6764 (Create_Finalizer): Update the call to Build_Raise_Statement to include
6765 Abort_Id. Update the call to Build_Object_Declarations to include
6766 Abort_Id. Update the layout of the finalizer body.
6767 (Make_Handler_For_Ctrl_Operation): Add an actual for From_Abort.
6768 (Process_Transient_Objects): New local variable Abort_Id. Remove the
6769 clunky code to create all flags and objects related to
6770 exception propagation and replace it with a call to
6771 Build_Object_Declarations. Update the call to Build_Raise_Statement to
6772 include Abort_Id.
6773 * exp_ch7.ads (Build_Object_Declarations): Moved from body to spec.
6774 Add new formal Abort_Id and associated comment on its use.
6775 (Build_Raise_Statement): Add new formal Abort_Id and associated comment
6776 on its use.
6777 * exp_intr.adb (Expand_Unc_Deallocation): New local variable Abort_Id.
6778 Remove the clunky code to create all flags and objects related to
6779 exception propagation and replace it with a call to
6780 Build_Object_Declarations. Update the call to Build_Raise_Statement.
6781
67822011-08-03 Eric Botcazou <ebotcazou@adacore.com>
6783
6784 * s-tassta.adb: Fix minor typos.
6785
67862011-08-03 Robert Dewar <dewar@adacore.com>
6787
6788 * rtsfind.ads, makeutl.ads, prj.ads, prj.adb, make.adb,
6789 lib-writ.adb, makeutl.adb, s-soflin.ads, clean.adb: Minor reformatting.
6790
1cdfa9be
AC
67912011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
6792
6793 * exp_ch7.adb (Create_Finalizer): Treat freeze nodes in similar fashion
6794 to packages. This ensures that the finalizer body will not end up
6795 inside the freeze node.
6796 (Process_Declarations): Add code to detect whether a freeze node has a
6797 nested finalization collection.
6798
67992011-08-03 Pascal Obry <obry@adacore.com>
6800
6801 * g-awk.adb, g-awk.ads: Make GNAT.AWK API compatible with Ada 2005.
6802 (Current_Session): Return a not null access to Session_Type.
6803 (Default_Session): Likewise.
6804
243cae0a
AC
68052011-08-03 Robert Dewar <dewar@adacore.com>
6806
6807 * a-cfdlli.adb, bindgen.adb, exp_ch4.adb, exp_ch13.adb, sem_warn.adb,
6808 exp_ch3.adb, exp_ch3.ads: Minor reformatting.
6809
68102011-08-03 Pascal Obry <obry@adacore.com>
6811
6812 * g-awk.ads: Minor comment fix.
6813
68142011-08-03 Sergey Rybin <rybin@adacore.com>
6815
6816 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
6817 the tree structure related to discriminant constraints.
6818 Original_Discriminant cannot be used any more for computing the
6819 defining name for the reference to a discriminant.
6820
68212011-08-03 Ed Schonberg <schonberg@adacore.com>
6822
6823 * sem_disp.adb (Is_Tag_Indeterminate): If the return type of the
6824 function is not visibly tagged, this is not a dispatching call and
6825 therfore is not Tag_Indeterminate, even if the function is marked as
6826 dispatching on result.
6827
f553e7bc
AC
68282011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
6829
6830 * exp_ch13.adb: Add with and use clauses for Restrict and Rident.
6831 (Expand_N_Free_Statement): Add a guard to protect against run-times
6832 which do not support controlled types.
6833 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Add a guard to protect
6834 against run-times which do not support controlled types.
6835 * exp_ch4.adb (Complete_Controlled_Allocation): Add a guard to protect
6836 against run-times which do not support controlled types.
6837 * exp_ch7.adb (Build_Finalization_Collection): Add a guard to protect
6838 against run-times which do not support controlled types.
6839 * exp_util.adb (Needs_Finalization): Code reformatting. Add a guard to
6840 protect against run-times which do not support controlled types.
6841
68422011-08-03 Eric Botcazou <ebotcazou@adacore.com>
6843
6844 * exp_intr.adb: Put back with and use clauses for Exp_Ch11.
6845 (Expand_Unc_Deallocation): Expand the AT_END handler at the very end.
6846
e4982b64
AC
68472011-08-03 Ed Schonberg <schonberg@adacore.com>
6848
6849 * exp_ch5.adb (Expand_Iterator_Loop): indicate that the cursor is
6850 modified in the source, to prevent spurious warnings when compiling
6851 with -gnatg.
6852
68532011-08-03 Thomas Quinot <quinot@adacore.com>
6854
6855 * a-except-2005.adb: Minor reformatting.
6856
68572011-08-03 Ed Schonberg <schonberg@adacore.com>
6858
6859 * sem_warn.adb (Check_One_Unit): if the only mention of a withed unit
6860 is a renaming declaration in the private part of a package, do not emit
6861 a warning that the with_clause could be moved because the renaming may
6862 be used in the body or in a child unit.
6863
68642011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
6865
6866 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
6867 Propagate the Comes_From_Source attribute from the original return
6868 object to the renaming.
6869
68702011-08-03 Jose Ruiz <ruiz@adacore.com>
6871
6872 * exp_ch7.adb (Build_Raise_Statement): Do not call
6873 Raise_From_Controlled_Operation when this routine is not present in
6874 the run-time library.
6875 (Cleanup_Protected_Object, Cleanup_Task): For restricted run-time
6876 libraries (Ravenscar), tasks are non-terminating, and protected objects
6877 and tasks can only appear at library level, so we do not want
6878 finalization of protected objects nor tasks.
6879 * exp_intr.adb: Minor clarification in comment.
6880 bindgen.adb (Gen_Adainit_Ada, Gen_Main_C, Gen_Output_File_Ada,
6881 Gen_Output_File_C): Remove references to finalization of library-level
6882 objects when using restricted run-time libraries.
6883
68842011-08-03 Ed Schonberg <schonberg@adacore.com>
6885
6886 * sem_ch3.adb (Build_Discriminant_Constraints): Set
6887 Original_Discriminant only if the parent type is a generic formal.
6888
deb8dacc
HK
68892011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
6890
6891 * exp_ch13.adb: Add with and use clause for Targparm;
6892 (Expand_N_Free_Statement): Prevent the generation of a custom
6893 Deallocate on .NET/JVM targets since this requires pools and address
6894 arithmetic.
6895 * exp_ch4.adb (Expand_Allocator_Expression): When compiling for
6896 .NET/JVM targets, attach the newly allocated object to the access
6897 type's finalization collection. Do not generate a call to
6898 Set_Finalize_Address_Ptr on .NET/JVM because this routine does not
6899 exist in the runtime.
6900 (Expand_N_Allocator): When compiling for .NET/JVM targets, do not
6901 create a custom Allocate for object that do not require initialization.
6902 Attach a newly allocated object to the access type's finalization
6903 collection on .NET/JVM.
6904 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add special processing for
6905 assignment of controlled types on .NET/JVM. The two hidden pointers
6906 Prev and Next and stored and later restored after the assignment takes
6907 place.
6908 * exp_ch6.adb (Expand_Call): Add local constant Curr_S. Add specialized
6909 kludge for .NET/JVM to recognize a particular piece of code coming from
6910 Heap_Management and change the call to Finalize into Deep_Finalize.
6911 * exp_ch7.adb (Build_Finalization_Collection): Allow the creation of
6912 finalization collections on .NET/JVM only for types derived from
6913 Controlled. Separate the association of storage pools with a collection
6914 and only allow it on non-.NET/JVM targets.
6915 (Make_Attach_Call): New routine.
6916 (Make_Detach_Call): New routine.
6917 (Process_Object_Declarations): Suppress the generation of
6918 build-in-place return object clean up code on .NET/JVM since it uses
6919 pools.
6920 * exp_ch7.ads (Make_Attach_Call): New routine.
6921 (Make_Detach_Call): New routine.
6922 * exp_intr.adb Add with and use clause for Targparm.
6923 (Expand_Unc_Deallocation): Detach a controlled object from a collection
6924 on .NET/JVM targets.
6925 * rtsfind.ads: Add entries RE_Attach, RE_Detach and
6926 RE_Root_Controlled_Ptr to tables RE_Id and RE_Unit_Table.
6927 * snames.ads-tmpl: Add name Name_Prev. Move Name_Prev to the special
6928 names used in finalization.
6929
69302011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
6931
6932 * a-fihema.adb: Add with and use clauses for System.Soft_Links.
6933 (Attach, Detach): Lock the current task when chaining an object onto a
6934 collection.
6935
df3e68b1
HK
69362011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
6937
6938 * a-except.adb, a-except-2005.adb (Raise_From_Controlled_Operation):
6939 Rewritten to create the message strings when the exception is not
6940 raised by an abort during finalization.
6941 * a-except.ads, a-except-2005.ads: Add pragma Export for procedure
6942 Raise_From_Controlled_Operation and update its associated comment.
6943 * a-fihema.ads, a-fihema.adb: New GNAT unit.
6944 Ada.Finalization.Heap_Management provides key functionality
6945 associated with controlled objects on the heap, their creation,
6946 finalization and reclamation. Type Finalization_Collection is
6947 effectively a wrapper which sits ontop of a storage pool and performs
6948 all necessary bookkeeping for all the objects it contains. Each
6949 access-to-controlled or access-to-class-wide type receives a collection
6950 as part of its expansion. The compiler generates buffer code and
6951 invokes Allocate / Deallocate to create and destroy allocated
6952 controlled objects.
6953 * a-finali.adb ("="): Removed.
6954 * a-finali.ads ("="): Removed. Controlled types no longer carry hidden
6955 fields Prev and Next.
6956 * ali.adb (Scan_ALI): Add parsing code to process PF / Has_Finalizer.
6957 A library unit with at least one controlled object on the library level
6958 has a special finalizer which is invoked by the binder. To signal this,
6959 ali files carry field PF.
6960 * ali.ads: New field in type Unit_Record called Has_Finalizer. Add
6961 associated comment on field usage.
6962 * a-tags.adb (Get_RC_Offset): Removed.
6963 (Needs_Finalization): New routine.
6964 * a-tags.ads: Update the structure of the GNAT dispatch tables.
6965 Dispatch tables now carry field Needs_Finalization which provides
6966 runtime indication whether a type is controlled or has controlled
6967 components or both. Remove field RC_Offset.
6968 (Get_RC_Offset): Removed along with its associated pragma Export.
6969 Since tagged types with controlled components no longer carry hidden
6970 field _controller, the special mechanism to retrieve its location is no
6971 longer needed.
6972 (Needs_Finalization): New routine.
6973 * atree.ads, atree.adb (Elist24): New routine.
6974 (Set_Elist24): New routine.
6975 * atree.h: Add a define clause for Elist24.
6976 * bindgen.adb New library-level variable Lib_Final_Built.
6977 (Gen_Adafinal_Ada): Reimplemented. Depending on the restrictions or the
6978 presence of a VM target, the routine generates calls to the proper
6979 library finalization routine.
6980 (Gen_Adainit_Ada): Import Finalize_Library_Objects only on non-VM
6981 targets. Set the correct library finalization routine depending on
6982 whether the library has controlled objects or this is a VM compilation.
6983 (Gen_Finalize_Library_Ada): New routine. This procedure generates calls
6984 to library-level finalizers of compiled units in reverse order of
6985 elaboration. It also produces exception management code and reraises a
6986 potential exception after all units have been finalized.
6987 (Gen_Finalize_Library_C): New routine. This procedure generates calls to
6988 library-level finalizers of compiled units in reverse order of
6989 elaboration.
6990 (Gen_Finalize_Library_Defs_C): New routine. This procedure generates the
6991 definitions of all library-level finalizers available to the compilation
6992 (Gen_Main_Ada): Directly call Adafinal which now contails all target
6993 dependent code.
6994 (Gen_Main_C): Add new local constant Needs_Library_Finalization. Call
6995 System.Standard_Library.Adafinal directly. If the library needs
6996 finalization actions, create the sequence of finalization calls.
6997 (Gen_Output_File_Ada): Alphabetize local variables and constants.
6998 Generate a with clause for System.Soft_Links when compiling for a VM.
6999 Remove the code which imports System.Standard_Library.Adafinal as
7000 Do_Finalize. Generate the library finalization routine.
7001 (Gen_Output_File_C): Add new local constant Needs_Library_Finalization.
7002 If the library needs finalization actions, create all the definitions
7003 of library- level finalizers.
7004 (Has_Finalizer): New routine. Determines whether at least one compiled
7005 unit has a library-level finalizer.
7006 Add type Qualification_Mode.
7007 (Set_Unit_Name): Add a formal which controls the replacement of a dot.
7008 * einfo.adb: New usage of field 15 as Return_Flag.
7009 Remove Finalization_Chain_Entity from the usages of field 19.
7010 Remove Associated_Final_Chain from the usages of field 23.
7011 New usage of field 23 as Associated_Collection.
7012 New usage of field 24 as Finalizer.
7013 New usage of flag 252 as Is_Processed_Transient.
7014 (Associated_Final_Chain): Removed.
7015 (Associated_Collection): New routine.
7016 (Finalization_Chain_Entity): Removed.
7017 (Finalizer): New routine.
7018 (Is_Finalizer): New routine.
7019 (Is_Processed_Transient): New routine.
7020 (Return_Flag): New routine.
7021 (Set_Associated_Final_Chain): Removed.
7022 (Set_Associated_Collection): New routine.
7023 (Set_Finalization_Chain_Entity): Removed.
7024 (Set_Finalizer): New routine.
7025 (Set_Is_Processed_Transient): New routine.
7026 (Set_Return_Flag): New routine.
7027 (Write_Entity_Flags): Include Is_Processed_Transient to the list of
7028 displayed flags.
7029 (Write_Field8_Name): Alphabetize the output.
7030 (Write_Field11_Name): Alphabetize the output.
7031 (Write_Field12_Name): Alphabetize the output.
7032 (Write_Field13_Name): Alphabetize the output.
7033 (Write_Field14_Name): Alphabetize the output.
7034 (Write_Field15_Name): Alphabetize the output.
7035 (Write_Field16_Name): Alphabetize the output.
7036 (Write_Field17_Name): Alphabetize the output.
7037 (Write_Field18_Name): Alphabetize the output.
7038 (Write_Field19_Name): Alphabetize the output. Remove the output of
7039 Finalization_Chain_Entity.
7040 (Write_Field20_Name): Alphabetize the output.
7041 (Write_Field21_Name): Alphabetize the output.
7042 (Write_Field22_Name): Alphabetize the output.
7043 (Write_Field23_Name): Alphabetize the output. Remove the output of
7044 Associated_Final_Chain. Add output for Associated_Collection.
7045 (Write_Field24_Name): Alphabetize the output.
7046 (Write_Field25_Name): Add output for Finalizer.
7047 (Write_Field26_Name): Alphabetize the output.
7048 (Write_Field27_Name): Alphabetize the output.
7049 (Write_Field28_Name): Alphabetize the output.
7050 * einfo.ads: Add new field description for Associated_Collection and
7051 its uses in nodes.
7052 Remove Associated_Final_Chain and its uses in nodes.
7053 Remove Finalization_Chain_Entity and its uses in nodes.
7054 Add new field description for Finalizer and its uses in nodes.
7055 Add new synthesized attribute Is_Finalizer.
7056 Add new flag description for Is_Processed_Transient and its uses in
7057 nodes.
7058 Add new field description for Return_Flag and its uses in nodes.
7059 (Associated_Final_Chain): Removed along with its pragma Inline.
7060 (Associated_Collection): New routine and pragma Inline.
7061 (Finalization_Chain_Entity): Removed along with its pragma Inline.
7062 (Finalizer): New routine and pragma Inline.
7063 (Is_Finalizer): New routine and pragma Inline.
7064 (Is_Processed_Transient): New routine and pragma Inline.
7065 (Return_Flag): New routine and pragma Inline.
7066 (Set_Associated_Final_Chain): Removed along with its pragma Inline.
7067 (Set_Associated_Collection): New routine and pragma Inline.
7068 (Set_Finalization_Chain_Entity): Removed along with its pragma Inline.
7069 (Set_Finalizer): New routine and pragma Inline.
7070 (Set_Is_Processed_Transient): New routine and pragma Inline.
7071 (Set_Return_Flag): New routine and pragma Inline.
7072 * exp_aggr.adb: Alphabetize subprograms.
7073 (Build_Array_Aggr_Code): Remove formal Flist and its associated comment.
7074 (Build_Record_Aggr_Code): Remove formals Flist and Obj along with their
7075 associated comments. Remove local variables External_Final_List and
7076 Attach.
7077 Rename Ctrl_Stuff_Done to Finalization_Done. Rename local variable A to
7078 Ancestor. Remove the retrieval of finalization lists. Update the call to
7079 Make_Adjust_Call.
7080 (Convert_Aggr_In_Allocator): Remove the retrieval of finalization
7081 lists. Update the call to Late_Expansion.
7082 (Convert_Aggr_In_Assignment): Update the call to Late_Expansion.
7083 (Convert_Aggr_In_Object_Decl): Update the call to Late_Expansion.
7084 (Gen_Assign): Remove the retrieval of the finalization list used to
7085 build the assignment. Update the calls to Make_Init_Call and
7086 Make_Adjust_Call.
7087 (Gen_Ctrl_Actions_For_Aggr): Renamed to Generate_Finalization_Actions.
7088 Remove the mechanism to determine attachment levels and finalization
7089 list retrieval. Remove the processing for coextensions.
7090 (Init_Controller): Removed. Controllers no longer exist.
7091 (Late_Expansion): Remove formals Flist and Obj along with their
7092 associated comments. Update the calls to Build_Record_Aggr_Code and
7093 Build_Array_Aggr_Code.
7094 * exp_ch13.adb (Expand_N_Free_Statement): New routine.
7095 (Expand_N_Freeze_Entity): Add special processing for finalizers which
7096 appear in entry bodies, protected subprograms and task bodies.
7097 * exp_ch13.ads (Expand_N_Free_Statement): New routine.
7098 * exp_ch3.adb (Add_Final_Chain): Removed.
7099 (Build_Array_Init_Proc): Alphabetize local variables.
7100 (Build_Assignment): Alphabetize local variables. Update the call to
7101 Maked_Adjust_Call.
7102 (Build_Class_Wide_Master): Rename local variables to better reflect
7103 their role.
7104 (Build_Discriminant_Assignments): Code reformatting.
7105 (Build_Init_Call_Thru): Code reformatting.
7106 (Build_Init_Procedure): Code reformatting. Generate a special version
7107 of Deep_Finalize which is capable of finalizing all initialized
7108 components and ignore the rest.
7109 (Build_Init_Statements): Rename local variables to better reflect their
7110 role.
7111 Reimplement the mechanism to include the creation and update of an index
7112 variable called a "counter". It is used as a bookmark for tracing
7113 initialized and non-initialized components.
7114 (Build_Initialization_Call): Remove local variable Controller_Typ.
7115 Alphabetize all local variables. Remove the initialization of the
7116 record controller and update the call to Make_Init_Call.
7117 (Build_Record_Init_Proc): Rename formal Pe to Rec_Ent.
7118 New local variable Counter.
7119 (Constrain_Array): Alphabetize.
7120 (Expand_Freeze_Array_Type): Create a collection instead of a
7121 finalization list.
7122 (Expand_Freeze_Class_Wide_Type): New routine. Creates TSS primitive
7123 Finalize_Address which is used in conjunction with allocated controlled
7124 objects.
7125 (Expand_N_Object_Declaration): Remove the creation of a finalization
7126 list for anonymous access types. Update the calls to Make_Init_Call and
7127 Make_Adjust_Call.
7128 (Expand_Freeze_Record_Type): Remove local variable Flist. Remove the
7129 retrieval of finalization lists. Remove the expansion of the record
7130 controller. Create TSS primitive Finalize_Address used in conjunction
7131 with controlled objects on the heap. Create finalization collections
7132 for access-to-controlled record components.
7133 (Expand_Record_Controller): Removed.
7134 (Freeze_Type): Remove the freezing of record controllers. Freezing of
7135 class-wide types now requires additional processing. Create
7136 finalization collections for access-to-controlled types.
7137 (Increment_Counter): New routine.
7138 (Make_Counter): New routine.
7139 (Make_Eq_If): Remove the mention of Name_uController.
7140 (Make_Predefined_Primitive_Specs): There is no longer need to skip
7141 types coming from System.Finalization_Root.
7142 (Predef_Deep_Spec): Reimplemented to reflect the new parameter profiles.
7143 (Predefined_Primitive_Bodies): There is no longer need to skip types
7144 coming from System.Finalization_Root.
7145 (Stream_Operation_OK): Do not generate stream routines for
7146 type Ada.Finalization.Heap_Management.Finalization_Collection.
7147 * exp_ch3.ads: Alphabetize subprograms.
7148 * exp_ch4.adb: Remove with and use clause for Sem_Ch8.
7149 Add with and use clause for Lib.
7150 (Complete_Coextension_Finalization): Removed.
7151 (Complete_Controlled_Allocation): New routine. Create a finalization
7152 collection for anonymous access-to-controlled types. Create a custom
7153 Allocate which interfaces with the back end and the machinery in
7154 Heap_Management.
7155 (Expand_Allocator_Expression): Add necessary calls to
7156 Complete_Controlled_Allocation. Remove the retrieval of finalization
7157 lists. Update the calls to Make_Adjust_Call. Generate a call to
7158 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
7159 the associated collection.
7160 (Expand_N_Allocator): Remove the processing for dynamic coextensions.
7161 Code clean up. Remove the retrieval of finalization lists and
7162 attachment levels.
7163 Update the call to Make_Init_Call. Generate a call to
7164 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
7165 the associated collection.
7166 (Get_Allocator_Final_List): Removed. Finalization lists are not
7167 available.
7168 (Suitable_Element): Remove the mention of Name_uController.
7169 * exp_ch5.adb: Remove with and use clauses for Ttypes and Uintp.
7170 (Make_Tag_Ctrl_Assignment): Rewritten to simply do a finalization of
7171 the left hand side, carry out the assignment and adjust the left hand
7172 side.
7173 * exp_ch6.adb (Add_Final_List_Actual_To_Build_In_Place_Call): Removed.
7174 (Add_Collection_Actual_To_Build_In_Place_Call): New routine.
7175 (BIP_Formal_Suffix): Rename BIP_Final_List and BIPfinallist to
7176 BIP_Collection and BIPcollection.
7177 (Build_Heap_Allocator): New routine used to allocate the return object
7178 of a build-in-place function onto a collection.
7179 (Expand_Ctrl_Function_Call): Moved from Exp_Ch7.
7180 (Expand_Call): Do not replace direct calls to Deep routines with their
7181 aliases.
7182 (Expand_N_Extended_Return_Statement): Give all variables shorter names
7183 and update their occurrences. Add a special return flag to monitor the
7184 [ab]normal execution of the function. The flag is set right before the
7185 return statement.
7186 Rewrite the mechanism used to allocate a build-in-place return object
7187 on the heap or on a storage pool.
7188 (Is_Direct_Deep_Call): New routine.
7189 (Make_Build_In_Place_Call_In_Allocator): Add a collection to a
7190 build-in-place function call instead of a final list. Build a call to
7191 Set_Finalize_Address_Ptr to decorate the associated collection.
7192 (Make_Build_In_Place_Call_In_Anonymous_Context): Create a temporary in
7193 order to name the build-in-place function call's result for later
7194 finalization. Add a collection to a build-in-place function call
7195 instead of a final list.
7196 (Make_Build_In_Place_Call_In_Assignment): Add a collection to a
7197 build-in-place function call instead of a final list. Remove the code
7198 which moves one final list and transforms it into the actual in a
7199 nested build-in-place call.
7200 (Make_Build_In_Place_Call_In_Object_Declaration): Add a collection to a
7201 build-in-place function call instead of a final list.
7202 (Move_Final_List): Removed.
7203 (Needs_BIP_Collection): New routine.
7204 (Needs_BIP_Final_List): Removed.
7205 * exp_ch6.ads: Replace BIP_Final_List with BIP_Collection in
7206 enumeration type BIP_Formal_Kind.
7207 Update the related comment.
7208 (Needs_BIP_Collection): New routine.
7209 (Needs_BIP_Final_List): Removed.
7210 * exp_ch7.adb: Add with and use clauses for Elists, Exp_Ch6, Stringt
7211 and Ttypes. Remove with and use clauses for Sem_Type. Alphabetize the
7212 majority of subprograms in this unit. Add Name_Finalize_Address to
7213 array Name_Of and TSS_Finalize_Address to array Deep_Name_Of.
7214 (Build_Adjust_Or_Finalize_Statements): Create the adjust or finalization
7215 statements for an array type.
7216 (Build_Adjust_Statements): Create the adjust statements for a record
7217 type.
7218 (Build_Cleanup_Statements): New routine. A procedure which given any
7219 construct containing asynchronous calls, references to _master, or is a
7220 task body, a task allocation or a protected body produces the necessary
7221 runtime calls to clean up these constructs.
7222 (Build_Exception_Handler): New routine.
7223 (Build_Final_List): Removed.
7224 (Build_Finalization_Collection): New routine. A core procedure which
7225 creates a collection to service heap allocated controlled objects
7226 associated with an access-to-controlled type.
7227 (Build_Finalize_Statements): Create the finalization statements for a
7228 record types.
7229 (Build_Finalizer): New routine. A core procedure which given any
7230 construct with declarations and/or statements detects all objects which
7231 need any type of clean up (controlled objects, protected objects) and
7232 generates all necessary code to clean up the said objects in the proper
7233 order.
7234 (Build_Finalizer_Call): New routine.
7235 (Build_Initialize_Statements): Create the initialization statements for
7236 an array type. The generated routine contains code to finalize partially
7237 initialized arrays.
7238 (Build_Object_Declarations): New routine.
7239 (Build_Raise_Statement): New routine.
7240 (Clean_Simple_Protected_Objects): Removed.
7241 (Controller_Component): Removed.
7242 (Enclosing_Function): New routine.
7243 (Expand_Cleanup_Actions): Create a finalizer for a construct which has
7244 either declarations or statements or both.
7245 (Expand_N_Package_Body): Create a finalizer for a non-generic package.
7246 (Expand_N_Package_Declaration): Create a finalizer for a non-generic
7247 package.
7248 (Find_Final_List): Removed.
7249 (Global_Flist_Ref): Removed.
7250 (In_Finalization_Root): Removed.
7251 (Insert_Actions_In_Scope_Around): Determine the range of the transient
7252 scope in terms of tree nodes. Process all transient variables within
7253 that range.
7254 (Make_Adjust_Call): Rewritten. There is no longer an attach call
7255 generated after the adjust.
7256 (Make_Attach_Call): Removed.
7257 (Make_Call): New routine.
7258 (Make_Clean): Removed.
7259 (Make_Deep_Array_Body): Rewritten to simply invoke the appropriate
7260 build routines.
7261 (Make_Deep_Proc): Rewritten to generate the new profile signature used
7262 in Deep routines.
7263 (Make_Deep_Record_Body): Rewritten to simply invoke the appropriate
7264 build routines.
7265 (Make_Final_Call): Modified to simply create a call to either
7266 Deep_Finalize or Finalize.
7267 (Make_Finalize_Address_Body): New routine.
7268 (Make_Finalize_Address_Stmts): New routine. A function which produces
7269 TSS primitive Finalize_Address used in conjunction with heap allocated
7270 controlled objects.
7271 (Make_Handler_For_Ctrl_Operation): Add specialized code for .NET/JVM.
7272 (Make_Init_Call): Rewritten. There is no longer an attach call
7273 generated after initialization.
7274 (Make_Local_Deep_Finalize): New routine.
7275 (Make_Set_Finalize_Address_Ptr_Call): New routine.
7276 (Make_Transient_Block): Remove the finalization list retrieval and
7277 manipulation.
7278 (Needs_Finalization): Moved to Exp_Util.
7279 (Parent_Field_Type): New routine.
7280 (Preprocess_Components): New routine.
7281 (Process_Transient_Objects): New routine.
7282 (Wrap_HSS_In_Block): New routine.
7283 (Wrap_Transient_Declaration): Remove finalization list management and
7284 controller insertion.
7285 (Wrap_Transient_Expression): Code reformatting.
7286 (Wrap_Transient_Statement): Code reformatting.
7287 * exp_ch7.ads (Build_Final_List): Removed.
7288 (Build_Finalization_Collection): New routine.
7289 (Build_Raise_Statement): New routine.
7290 (Controller_Component): Removed.
7291 (Expand_Ctrl_Function_Call): Moved to Exp_Ch6.
7292 (Find_Final_List): Removed.
7293 (In_Finalization_Root): Removed.
7294 (Is_Simple_Protected_Type): Update related comment.
7295 (Make_Adjust_Call): New parameter profile and associated comments.
7296 (Make_Attach_Call): Removed.
7297 (Make_Final_Call): New parameter profile and associated comments.
7298 (Make_Finalize_Address_Body): New routine.
7299 (Make_Init_Call): New parameter profile and associated comments.
7300 (Make_Local_Deep_Finalize): New routine.
7301 (Make_Set_Finalize_Address_Ptr_Call): New routine.
7302 (Needs_Finalization): Moved to Exp_Util.
7303 * exp_ch9.adb (Add_Object_Pointer): Code reformatting.
7304 (Expand_N_Protected_Body): Remove the handling of finalization lists.
7305 (Find_Protection_Type): Moved to Exp_Util.
7306 * exp_disp.adb: Remove with and use clauses for Exp_Ch7.
7307 (Make_DT): Update sequence of dispatch table initialization. Remove the
7308 initialization of field RC_Offset. Add initialization of field Needs_
7309 Finalization.
7310 * exp_intr.adb (Expand_Unc_Deallocation): Code reformatting.
7311 Reimplement how an object is first finalized, then deallocated.
7312 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
7313 Code reformatting.
7314 * exp_tss.ads: Add special suffix for TSS primitive Finalize_Address.
7315 Register TSS_Finalize_Address with type TSS_Names.
7316 * exp_util.adb (Build_Allocate_Deallocate_Proc): New routine. This core
7317 procedure provides the interface between an allocation / deallocation
7318 and the support machinery in Ada.Finalization.Heap_Management.
7319 (Find_Init_Call): Code reformatting.
7320 (Find_Init_Call_In_List): Code reformatting.
7321 (Find_Protection_Type): Moved from Exp_Ch9.
7322 (Find_Prim_Op): Reimplement to add preference of recovered primitive.
7323 (Has_Controlled_Coextensions): Removed.
7324 (Has_Controlled_Objects): New routine.
7325 (In_Library_Level_Package_Body): New routine.
7326 (Insert_Action_After): New routine.
7327 (Is_Finalizable_Transient): New routine. This predicate determines
7328 whether an object declaration is one of the many variants of controlled
7329 transients.
7330 (Is_Null_Access_BIP_Func_Call): New routine.
7331 (Is_Non_BIP_Func_Call): New routine.
7332 (Is_Related_To_Func_Return): New routine.
7333 (Needs_Finalization): Moved from Exp_Ch7.
7334 * exp_util.ads (Build_Allocate_Deallocate_Proc): New routine.
7335 (Find_Protection_Type): Moved from Exp_Ch9.
7336 (Has_Controlled_Coextensions): Removed.
7337 (Has_Controlled_Objects): New routine.
7338 (In_Library_Level_Package_Body): New routine.
7339 (Insert_Action_After): New routine.
7340 (Is_Finalizable_Transient): New routine.
7341 (Is_Null_Access_BIP_Func_Call): New routine.
7342 (Is_Non_BIP_Func_Call): New routine.
7343 (Is_Related_To_Func_Return): New routine.
7344 (Needs_Finalization): Moved from Exp_ch7.
7345 * expander.adb (Expand): Add a case for N_Free_Statement.
7346 * freeze.adb (Freeze_All): Replace the generation of a finalization
7347 list with a collection for access-to-controlled types.
7348 (Freeze_Entity): Code reformatting.
7349 (Freeze_Record_Type): Remove the freezing of a record controller
7350 component.
7351 (Freeze_Subprogram): Code reformatting.
7352 * inline.adb (Cleanup_Scopes): Remove the reset of the scope
7353 finalization list.
7354 * lib-writ.adb (Write_Unit_Information): Output "PF" when a package
7355 has a library-level finalizer.
7356 * lib-writ.ads: Add "PF" to the sequence of unit attributes.
7357 * a-filico.ads, a-filico.adb, s-finimp.ads, s-finimp.adb: Removed.
7358 * Makefile.rtl: Remove a-filico and s-finimp from the list of object
7359 files. Add a-fihema to the list of object files.
7360 * par-ch4.adb:
7361 Alphabetize the associations in type Is_Parameterless_Attribute.
7362 * rtsfind.ads: Ada.Finalization_List.Controller and
7363 System.Finalization_Implementation are no longer a GNAT unit.
7364 Update the range of type Ada_Finalization_Child. Remove the following
7365 recoverable entities:
2c7f9cc0 7366
df3e68b1
HK
7367 RE_Attach_To_Final_List
7368 RE_Deep_Tag_Attach
7369 RE_Finalize_List
7370 RE_Finalize_One
7371 RE_Finalizable_Ptr_Ptr
7372 RE_Global_Final_List
7373 RE_Limited_Record_Controller
7374 RE_List_Controller
7375 RE_Move_Final_List
7376 RE_Record_Controller
7377 RE_Simple_List_Controller
2c7f9cc0 7378
df3e68b1 7379 Add the following recoverable entities:
2c7f9cc0 7380
df3e68b1
HK
7381 RE_Add_Offset_To_Address
7382 RE_Allocate
7383 RE_Base_Pool
7384 RE_Deallocate
7385 RE_Exception_Identity
7386 RE_Finalization_Collection
7387 RE_Finalization_Collection_Ptr
7388 RE_Needs_Finalization
7389 RE_Save_Library_Occurrence
7390 RE_Set_Finalize_Address_Ptr
7391 RE_Set_Storage_Pool_Ptr
7392 RE_Storage_Count
7393 * sem_aggr.adb (Resolve_Record_Aggregate): Remove mention of
7394 Name_uController.
7395 * sem_aux.adb (First_Discriminant): Remove mention of Name_uController.
7396 (First_Stored_Discriminant): Remove the mention of Name_uController.
7397 * sem_aux.ads: Comment reformatting.
7398 * sem_ch10.adb (Build_Chain): Signal the class-wide creation machinery
7399 to redecorate an already existing class-wide type.
7400 (Decorate_Tagged_Type): New parameter profile and associated comment.
7401 Create a "shadow class-wide type" for a shadow entity.
7402 * sem_ch11.adb (Analyze_Exception_Handlers): Remove the dubious setting
7403 of the final chain along with the associated comment.
7404 * sem_ch3.adb (Access_Type_Declaration): Add new local variable
7405 Full_Desig and set it to the full view of the designated type.
7406 Initialize the finalization collection to empty.
7407 (Build_Derived_Record_Type): Alphabetize local variables. Code
7408 reformatting.
7409 (Collect_Fixed_Components): Remove the mention of Name_uController.
7410 (Create_Constrained_Components): Remove the mention of Name_uController.
7411 (Make_Class_Wide_Type): Add specialized code to redecorate an existing
7412 class-wide type of a shadow entity.
7413 (Process_Full_View): Update the machinery which marks type
7414 Limited_Controlled's entity as limited.
7415 * sem_ch4.adb (Analyze_One_Call): Code reformatting.
7416 * sem_ch6.adb (Create_Extra_Formals): Do not generate a finalization
7417 list, instead make a collection build-in-place formal.
7418 * sem_ch8.adb (Analyze_Object_Renaming): Look at the available view of
7419 a designated type in order to establish a match between the renaming
7420 and the renamed entity.
7421 (Find_Selected_Component): Add guard to prevent spurious exceptions
7422 from being raised on .NET/JVM.
7423 * sem_disp.adb (Check_Dispatching_Operation): Include Finalize_Address
7424 to the list of primitive that need special processing. Update arrays
7425 C_Names and D_Names.
7426 (Replace_Types): Handle class-wide types.
7427 * sem_elab.adb (Check_A_Call): Since Deep_Initialize now has a
7428 different parameter profile, look at the first formal.
7429 * sem_prag.adb: Remove with and use clauses for Exp_Ch7. Add with and
7430 use clauses for Exp_Util.
7431 * sem_res.adb: Remove with and use clauses for Elists.
7432 (Propagate_Coextensions): Removed.
7433 (Resolve_Allocator): Do not propagate the list of coextensions from one
7434 allocator to another.
7435 * sem_util.adb (Build_Actual_Subtype_Of_Component): Rename variable
7436 Deaccessed_T to Desig_Typ.
7437 (Enter_Name): Remove the mention of Name_uController.
7438 (Gather_Components): Remove the mention of Name_uController.
7439 (Incomplete_Or_Private_View): New routine.
7440 (Is_Coextension_Root): Removed.
7441 (Is_Fully_Initialized_Type): Remove the mention of Name_uController.
7442 * sem_util.ads (Incomplete_Or_Private_View): New routine.
7443 (Is_Coextension_Root): Removed.
7444 * s-finroo.ads: Remove with clause for Ada.Unchecked_Conversion.
7445 Controlled types are now derived from a null tagged record. Remove
7446 types Finalizable_Ptr, Finalizable and Empty_Root_Controlled.
7447 * sinfo.adb (Coextensions): Removed.
7448 (Set_Coextensions): Removed.
7449 * sinfo.ads: Remove Coextensions from the explanation of node fields
7450 and its uses in nodes.
7451 Update the field usage of N_Allocator.
7452 (Coextensions): Removed along with its pragma Inline.
7453 (Set_Coextensions): Removed along with its pragma Inline.
7454 * snames.ads-tmpl: Remove names
2c7f9cc0 7455
df3e68b1
HK
7456 Name_uClean
7457 Name_uController
7458 Name_uFinal_List
7459 Name_uLocal_Final_List
7460 Name_Finalization_Root
7461 Name_Next
7462 Name_Prev
2c7f9cc0 7463
df3e68b1 7464 Add names
2c7f9cc0 7465
df3e68b1
HK
7466 Name_uFinalizer
7467 Name_Finalize_Address
7468 * s-pooglo.adb (Allocate): Add overriding indicator.
7469 (Deallocate): Add overriding indicator.
7470 (Storage_Size): Add overriding indicator.
7471 * s-soflin.adb (Adafinal_NT): Invoke Finalize_Library_Objects rather
7472 than Finalize_Global_List.
7473 (Null_Finalize_Global_List): Removed.
7474 (Save_Library_Occurrence): New routine.
7475 * s-soflin.ads: Remove variable Finalize_Global_List along with its
7476 initialization. Add variable Finalize_Library_Objects along with its
7477 pragma Export. Add variables Library_Exception and
7478 Library_Exception_Set along with their pragma Export.
7479 (Null_Finalize_Global_List): Removed.
7480 (Save_Library_Occurrence): New routine.
7481 * s-tassta.adb (Finalize_Global_Tasks): Call Finalize_Library_Objects
7482 rather than Finalize_Global_List.
7483 * tbuild.adb (Unchecked_Convert_To): Capture and set the parent field
7484 of the constructed node.
7485
2ee06322
RO
74862011-08-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7487
7488 * link.c: Include "auto-host.h" before system headers.
7489
f77b022b
VC
74902011-08-03 Vincent Celier <celier@adacore.com>
7491
7492 * make.adb (Gnatmake): Add to table Library_Projs only library projects
7493 that are not extended. Do not check if a library project that is
7494 extended should be regenerated. Do not add to table Library_Paths the
7495 libraries that are in extended projects. Link only with libraries that
7496 are in libray projects that are not extended.
7497 * prj-nmsc.adb (Check_Library_Attributes): Do not reset flag Library
7498 for a library project that is extended.
7499
0187b60e
AC
75002011-08-03 Gary Dismukes <dismukes@adacore.com>
7501
7502 * sem_ch6.adb (Find_Corresponding_Spec): When in an instance, skip
7503 conforming subprogram renamings that appear to be completions if they
7504 are not fully conformant.
7505 Such renamings are homographs but not completions.
7506 * sem_type.adb (Disambiguate): Handle disambiguation of overloaded
7507 names in a subprogram renaming that appears in an instance.
7508
75092011-08-03 Ed Schonberg <schonberg@adacore.com>
7510
7511 * exp_util.adb (Expand_Subtype_From_Expr): if the type is limited but
7512 not immutably limited, build actual subtype from expression to provide
7513 proper bounds to caller.
7514
75152011-08-03 Gary Dismukes <dismukes@adacore.com>
7516
7517 * sem_ch8.adb: Minor comment correction.
7518
75192011-08-03 Thomas Quinot <quinot@adacore.com>
7520
7521 * exp_strm.adb (Build_Array_Input_Function): In Ada 2005 mode, when
7522 returning a limited array, use an extended return statement.
7523
75242011-08-03 Vincent Celier <celier@adacore.com>
7525
7526 * make.adb (Initialize): If --subdirs= is used, but no project file is
7527 specified, attempt to create the specify subdir if it does not already
7528 exist and use it as the object directory as if -D had been specified.
7529
75302011-08-03 Arnaud Charlet <charlet@adacore.com>
7531
7532 * s-tpopsp-vms.adb: New file.
7533 * s-taprop-vms.adb: Put back ATCB_Key, since needed by this file on VMS.
7534 * gcc-interfaces/Makefile.in: Use s-taprop-vms.adb on VMS.
7535
e280f981
AC
75362011-08-03 Emmanuel Briot <briot@adacore.com>
7537
7538 * make.adb, makeutl.adb, makeutl.ads, clean.adb (Makeutl.Queue): new
7539 package.
7540
75412011-08-03 Yannick Moy <moy@adacore.com>
7542
7543 * cstand.adb (Create_Standard): select Universal_Integer as an ALFA type
7544 * sem_ch3.adb (Array_Type_Declaration): detect array types in ALFA
7545 * sem_util.adb, sem_util.ads (Has_Static_Array_Bounds): new function to
7546 detect that an array has static bounds.
7547
98c99a5a
AC
75482011-08-03 Thomas Quinot <quinot@adacore.com>
7549
7550 * exp_dist.adb: Minor reformatting.
7551
75522011-08-03 Arnaud Charlet <charlet@adacore.com>
7553
7554 * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-vms.adb
7555 (ATCB_Key): Removed, not always used.
7556
75572011-08-03 Emmanuel Briot <briot@adacore.com>
7558
7559 * gnatcmd.adb, make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads,
7560 clean.adb, prj-conf.adb, prj-env.adb, prj-env.ads (Makeutl): remove
7561 most remaining global variables.
7562
686d0984
AC
75632011-08-03 Robert Dewar <dewar@adacore.com>
7564
7565 * gnatcmd.adb, prj-proc.adb, mlib-prj.adb, prj.adb, makeutl.ads,
7566 prj-util.adb, prj-util.ads, prj-conf.adb, prj-env.adb: Minor
7567 reformatting.
7568
75692011-08-03 Javier Miranda <miranda@adacore.com>
7570
7571 * exp_util.adb (Is_VM_By_Copy_Actual): Include N_Slide nodes as actuals
7572 that must be passed by copy in VM targets.
7573
75742011-08-03 Emmanuel Briot <briot@adacore.com>
7575
7576 * prj.ads, prj-nmsc.adb (Files_Htable): removed this htable, which
7577 duplicates a similar htable now in the project tree.
7578
75792011-08-03 Claire Dross <dross@adacore.com>
7580
7581 * a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
7582 a-cofove.adb ("=", Length, Is_Empty, Clear, Assign, Copy, Element,
7583 Replace_Element, Query_Element, Update_Element, Move, Insert, Prepend,
7584 Append, Delete, Delete_First, Delete_Last, Reverse_Element, Swap,
7585 Splice, First, First_Element, Last, Last_Element, Next, Previous, Find,
7586 Reverse_Find, Contains, Has_Element, Iterate, Reverse_Iterate, Capacity,
7587 Reserve_Length, Length, Strict_Equal, Left, Right): Data-structure
7588 update.
7589
75902011-08-03 Arnaud Charlet <charlet@adacore.com>
7591
7592 * s-taprop-posix.adb, s-taprop-linux.adb, s-taprop-tru64.adb
7593 (ATCB_Key): Removed, not always used.
7594 * s-tpopsp-posix.adb, s-tpopsp-posix-foreign.adb (ATCB_Key): Moved from
7595 s-taprop-posix.adb.
7596 * s-tpopsp-tls.adb: New file.
7597 * gcc-interface/Makefile.in: Use TLS implementation of s-tpopsp.adb on
7598 x86/x64/ia64/powerpc/sparc Linux.
7599
76002011-08-03 Arnaud Charlet <charlet@adacore.com>
7601
7602 * system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True.
7603 * gcc-interface/Makefile.in: Switch to ZCX by default on AIX ports.
7604
76052011-08-03 Thomas Quinot <quinot@adacore.com>
7606
7607 * rtsfind.ads, exp_dist.adb, exp_dist.ads
7608 (Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
7609 Fix type selection for mapping integer types to PolyORB types.
7610
76112011-08-03 Bob Duff <duff@adacore.com>
7612
7613 * sem_ch7.adb: Minor comment clarification.
7614
76152011-08-03 Bob Duff <duff@adacore.com>
7616
7617 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): If we get
7618 an error analyzing a choice, skip further processing. Further
7619 processing could cause a crash or cascade errors.
7620
40ecf2f5
EB
76212011-08-03 Emmanuel Briot <briot@adacore.com>
7622
7623 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, mlib-prj.adb,
7624 prj.adb, prj.ads, makeutl.adb, makeutl.ads, clean.adb, prj-nmsc.adb,
7625 prj-util.adb, prj-util.ads, prj-conf.adb, prj-conf.ads, prj-env.adb,
7626 prj-env.ads (Shared_Project_Tree_Data): new type
7627 An aggregate project and its aggregated trees need to share the common
7628 data structures used for lists of strings, packages,... This makes the
7629 code simpler since otherwise we have to pass the root tree (also used
7630 for the configuration file data) in addition to the current project
7631 tree. This also avoids ambiguities as to which tree should be used.
7632 And finally this saves a bit of memory.
7633 (For_Every_Project_Imported): new parameter Tree.
7634 Since aggregated projects are using a different tree, we need to let
7635 the caller know which tree to use to manipulate the returned project.
7636
9fde638d
RD
76372011-08-03 Robert Dewar <dewar@adacore.com>
7638
7639 * prj-proc.adb, exp_util.ads, exp_ch9.adb, make.adb, prj-ext.adb,
7640 prj-ext.ads, alfa.ads, sem_ch4.adb, makeutl.adb, makeutl.ads,
7641 lib-xref-alfa.adb, sem_cat.adb, exp_dist.adb, get_alfa.adb,
7642 prj-env.adb, prj-env.ads, prj-tree.adb, alfa.ads: Minor reformatting.
7643
95eb8b69
AC
76442011-08-03 Javier Miranda <miranda@adacore.com>
7645
7646 * exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
7647 Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.
7648
76492011-08-03 Bob Duff <duff@adacore.com>
7650
7651 * sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
7652 the Base_Type.
7653
76542011-08-03 Joel Brobecker <brobecker@adacore.com brobecker>
7655
7656 * g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
7657 g-sehash.ads: Fix typo. Update header.
7658
76592011-08-03 Thomas Quinot <quinot@adacore.com>
7660
7661 * exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
7662 expansion.
7663
76642011-08-03 Gary Dismukes <dismukes@adacore.com>
7665
7666 * sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
7667 prefixes of private types along with records, since the selector may be
7668 a discriminant.
7669 * sem_res.adb (Resolve_Selected_Component): Consider prefixes of
7670 private types along with records, since the selector may be a
7671 discriminant.
7672
92e77027
AC
76732011-08-03 Emmanuel Briot <briot@adacore.com>
7674
b2f7ebc1 7675 * prj-pp.adb (Pretty_Print): Remove trailing blank line.
92e77027
AC
7676
76772011-08-03 Javier Miranda <miranda@adacore.com>
7678
7679 * sem_aux.adb (Is_VM_By_Copy_Actual): Fix wrong use of
7680 Tagged_Type_Expansion.
7681
76822011-08-03 Yannick Moy <moy@adacore.com>
7683
b2f7ebc1
GP
7684 * sem_res.adb (Resolve_Op_Concat_Arg): Do not issue a SPARK
7685 violation when the argument of concatenation is the name of a
7686 constant.
92e77027 7687
ab29a348
EB
76882011-08-03 Emmanuel Briot <briot@adacore.com>
7689
7690 * prj-proc.adb, prj-ext.adb, prj-ext.ads, prj-env.adb, prj-env.ads,
7691 prj-tree.adb, prj-tree.ads (Initialize_And_Copy, Copy): new subprograms
7692 (Process_Declarative_Items): new parameter Child_Env.
7693
9466892f
AC
76942011-08-03 Yannick Moy <moy@adacore.com>
7695
589ef536
GP
7696 * alfa.ads: Update format of ALFA section in ALI file in order to
7697 add a mapping from bodies to specs when both are present.
7698 (ALFA_Scope_Record): Add components for spec file/scope.
7699 * get_alfa.adb (Get_ALFA): Read the new file/scope for spec when
7700 present.
7701 * lib-xref-alfa.adb (Collect_ALFA): After all scopes have been
7702 collected, fill in the spec information when relevant.
7703 * put_alfa.adb (Put_ALFA): Write the new file/scope for spec when
9466892f
AC
7704 present.
7705
77062011-08-03 Eric Botcazou <ebotcazou@adacore.com>
7707
7708 * inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing
7709 code unit to decide whether to add internally generated subprograms.
2c7f9cc0 7710
9466892f
AC
77112011-08-03 Javier Miranda <miranda@adacore.com>
7712
7713 * sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram.
589ef536
GP
7714 * exp_ch9.adb (Build_Simple_Entry_Call): Handle actuals that must
7715 be handled by copy in VM targets.
9466892f
AC
7716
77172011-08-03 Emmanuel Briot <briot@adacore.com>
7718
589ef536 7719 * make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): Share
9466892f
AC
7720 code with Makeutl.Get_Switches.
7721 * prj-tree.adb: Update comment.
7722
b5ea9143
AC
77232011-08-03 Thomas Quinot <quinot@adacore.com>
7724
7725 * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Reject a remote
7726 subprogram with a limited formal that does not support external
7727 streaming.
7728
77292011-08-03 Yannick Moy <moy@adacore.com>
7730
7731 * get_alfa.adb (Get_ALFA): add missing Skip_Spaces at start of
7732 continuation line
7733 * lib-xref-alfa.adb (Add_ALFA_File): split removal of scopes that are
7734 not from current unit in two phases, because it is not possible to
7735 change the table while iterating over its content.
7736 * put_alfa.adb (Put_ALFA): reset current file/scope at each new entity
7737
77382011-08-03 Sergey Rybin <rybin@adacore.com>
7739
7740 * vms_data.ads: Add qualifier for gnatmetric --no-static-loop option
7741 * gnat_ugn.texi: Update description of complexity metrics (gnatmetric)
7742
668a19bc
ES
77432011-08-03 Ed Schonberg <schonberg@adacore.com>
7744
7745 * sem_res.adb (Resolve_Op_Concat_Arg): if the argument is an aggregate
7746 and the component type is composite, this is ambiguous for predefined
7747 concatenation, but if the node is not overloaded and the entity is a use
7748 -defined function its profile can be used to resolve that aggregate.
7749
170b2989
AC
77502011-08-03 Robert Dewar <dewar@adacore.com>
7751
7752 * exp_ch4.adb: Minor code cleanup.
7753
77542011-08-03 Thomas Quinot <quinot@adacore.com>
7755
7756 * exp_dist.adb: Do not generate distribution stubs if serious errors
7757 have been diagnosed.
7758
77592011-08-03 Ed Schonberg <schonberg@adacore.com>
7760
7761 * sem_ch4.adb (Try_Primitive_Operation): when checking the validity of
7762 the first formal of a primitive operation, go to the base type to
7763 handle properly an access to a derived type with constrained
7764 discriminants.
7765 * sem_type.adb (Disambiguate): an immediately visible operator hides a
7766 user-defined function that is only use-visible.
170b2989 7767
e917aec2
RD
77682011-08-03 Robert Dewar <dewar@adacore.com>
7769
7770 * sem_aggr.adb, sem_ch3.adb, lib.ads, gnatcmd.adb, prj-proc.adb,
7771 make.adb, lib-writ.adb, prj-part.adb, prj-part.ads, prj-ext.adb,
7772 fname-uf.adb, prj-ext.ads, prj.adb, prj.ads, sem_attr.adb, alfa.adb,
7773 prj-makr.adb, errout.adb, makeutl.adb, makeutl.ads, restrict.ads,
7774 sem_ch6.adb, g-pehage.adb, clean.adb, put_alfa.adb, lib-xref-alfa.adb,
7775 prj-nmsc.adb, prj-nmsc.ads, sem_ch8.adb, prj-pars.ads, exp_aggr.adb,
7776 prj-attr.ads, sem_ch13.adb, get_alfa.adb, prj-env.adb, prj-env.ads,
7777 alfa_test.adb, prj-tree.adb, prj-tree.ads, einfo.ads: Minor reformatting
7778
77792011-08-03 Robert Dewar <dewar@adacore.com>
7780
7781 * repinfo.adb (List_Mechanism): Add handling of
7782 Convention_Ada_Pass_By_XXX.
7783 * sem_mech.adb (Set_Mechanism): Ditto.
7784 * sem_prag.adb (Process_Convention): Add entries for
7785 Convention_Ada_Pass_By_XXX.
7786 * snames.adb-tmpl, snames.ads-tmpl: Ditto.
7787
49bfcf43
AC
77882011-08-03 Pascal Obry <obry@adacore.com>
7789
7790 * makeutl.adb: Minor reformatting.
7791
77922011-08-03 Vincent Celier <celier@adacore.com>
7793
7794 * fname-uf.adb
7795 (Get_File_Name) If the file cannot be found when there are no config
7796 pragmas file and May_Fail is True, return No_File instead of the file
7797 name, to be consistent.
7798
77992011-08-03 Pascal Obry <obry@adacore.com>
7800
7801 * adaint.c (__gnat_is_executable_file_attr): Avoid access
7802 to null pointer.
7803
78042011-08-03 Javier Miranda <miranda@adacore.com>
7805
7806 * sem_ch13.adb
7807 (Same_Representation): In VM targets the representation of arrays with
7808 aliased components differs from arrays with non-aliased components.
7809
34798441
EB
78102011-08-03 Emmanuel Briot <briot@adacore.com>
7811
7812 * prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do
7813 not systematically lower case attribute indexes that contain no "."
7814 Fix definition of several Naming attributes, which take
7815 a unit name as index and therefore should be case insensitive.
7816 Minor refactoring (reduce length of variable names).
7817
78182011-08-03 Emmanuel Briot <briot@adacore.com>
7819
7820 * makeutl.adb, makeutl.ads (Get_Switches): new subprogram.
7821
4437a530
EB
78222011-08-03 Emmanuel Briot <briot@adacore.com>
7823
7824 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
7825 prj-part.ads, switch-m.adb, switch-m.ads, prj-makr.adb, clean.adb,
7826 prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
7827 prj-tree.ads (Prj.Tree.Environment): new type.
7828
804fe3c4
EB
78292011-08-03 Emmanuel Briot <briot@adacore.com>
7830
7831 * prj-proc.adb, prj.ads, makeutl.adb, makeutl.ads, prj-conf.adb,
7832 prj-tree.adb, prj-tree.ads (Environment): new type.
7833
c565bc66
AC
78342011-08-03 Emmanuel Briot <briot@adacore.com>
7835
7836 * prj-tree.ads: Remove unused variable.
7837
78382011-08-03 Yannick Moy <moy@adacore.com>
7839
7840 * restrict.adb (Restriction_Msg): set "SPARK" all in upper case for
7841 issuing messages related to SPARK restriction violation.
7842
4ee646da
AC
78432011-08-03 Ed Schonberg <schonberg@adacore.com>
7844
7845 * sem_ch6.adb: guard against error nodes in return statements.
7846
78472011-08-03 Arnaud Charlet <charlet@adacore.com>
7848
7849 * errout.adb (Error_Msg_Internal): the main unit has not been read yet,
7850 a warning can only appear on a configuration file, so emit warning
7851 without further checks.
7852
78532011-08-03 Arnaud Charlet <charlet@adacore.com>
7854
7855 * s-interr.ads: add overriding keyword.
7856
78572011-08-03 Geert Bosch <bosch@adacore.com>
7858
7859 * exp_attr.adb: Fix minor typo.
7860
78612011-08-03 Ed Schonberg <schonberg@adacore.com>
7862
7863 * par-ch4.adb: improve error recovery.
7864
c0e538ad
AC
78652011-08-03 Emmanuel Briot <briot@adacore.com>
7866
7867 * prj-part.adb, prj-part.ads, prj-makr.adb, prj-pars.adb, prj-conf.adb,
7868 prj-env.adb (Prj.Part.Parse): change parameter Always_Errout_Finalize
7869 to Errout_Handling.
7870
78712011-08-03 Emmanuel Briot <briot@adacore.com>
7872
7873 * prj-dect.adb (Parse_Attribute_Declaration): make sure we can use
7874 "external" as an attribute name in aggregate projects.
7875
78762011-08-03 Jose Ruiz <ruiz@adacore.com>
7877
7878 * s-taprop-vxworks.adb: (Create_Task, Initialize): Ada 2012 pragma CPU
7879 uses CPU numbers starting 1, while VxWorks uses CPU numbers starting
7880 from 0, so we need to adjust.
7881
78822011-08-03 Emmanuel Briot <briot@adacore.com>
7883
7884 * prj-proc.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, prj-tree.adb,
7885 prj-tree.ads, gnatcmd.adb, clean.adb (External_References): new type.
7886
c4d67e2d
AC
78872011-08-03 Yannick Moy <moy@adacore.com>
7888
7889 * sem_ch6.adb (New_Overloaded_Entity): only issue error for SPARK
7890 restriction on overloaded entity if the entity is not an operator.
7891
78922011-08-03 Yannick Moy <moy@adacore.com>
7893
7894 * sem_ch7.adb, sem_res.adb, sem_attr.adb, restrict.adb,
7895 restrict.ads: Rename remaining Check_Formal_Restriction* into
7896 Check_SPARK_Restriction*.
7897
78982011-08-03 Emmanuel Briot <briot@adacore.com>
7899
7900 * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
7901 prj-nmsc.ads, prj-err.adb (Project_Data): now discriminated on its
7902 qualifier.
7903 (Project_Empty): removed
7904 (Empty_Project): new parameter Qualifier
7905 This is used to have fields specific to aggregate projects, cleaner
7906 New field to store the list of aggregated projects.
7907 (Check_Aggregate_Project): removed
7908 (Process_Aggregated_Projects, Free): new subprograms.
7909
3f5a8fee
AC
79102011-08-03 Olivier Hainque <hainque@adacore.com>
7911
7912 * tracebak.c (STOP_FRAME ppc AIX): Stop at null return address as well.
7913
79142011-08-03 Ed Schonberg <schonberg@adacore.com>
7915
7916 * sem_ch8.adb (Analyze_Object_Renaming): if the renamed object is an
7917 explicit dereference of an unconstrained type, create a constrained
7918 subtype for it, as is done for function calls that return an
7919 unconstrained type.
7920
79212011-08-03 Thomas Quinot <quinot@adacore.com>
7922
7923 * g-pehage.adb (Finalize): Avoid possible double-free.
7924
79252011-08-03 Steve Baird <baird@adacore.com>
7926
7927 * exp_attr.adb (Expand_N_Attribute_Reference): Don't expand
7928 Elab_Spec/Body attrs in CodePeer_Mode.
7929
79302011-08-03 Javier Miranda <miranda@adacore.com>
7931
7932 * exp_aggr.adb (Flatten): Convert to positional form aggregates whose
7933 low bound is not known at compile time but they have no others choice.
7934 Done because in this case the bounds can be obtained directly from the
7935 aggregate.
7936
79372011-08-03 Ed Falis <falis@adacore.com>
7938
7939 * s-tasinf-vxworks.ads: Update comment to reflect 0 indexing of CPUs
7940 on VxWorks SMP. Remove unusable constant ANY_CPU.
7941
a96ca600
EB
79422011-08-03 Emmanuel Briot <briot@adacore.com>
7943
7944 * gnatcmd.adb, make.adb, prj-part.adb, prj-part.ads, prj-makr.adb,
7945 clean.adb, prj-nmsc.adb, prj-pars.adb, prj-conf.adb, prj-env.adb,
7946 prj-env.ads (Prj.Env.Initialize_Default_Project_Path,
7947 Prj.Env.Initialize_Empty): new subprograms
7948 (Get_Env, Find_Project): remove parameter Target_Name.
7949
3e582869
AC
79502011-08-03 Gary Dismukes <dismukes@adacore.com>
7951
7952 * sem_ch3.adb (Build_Derived_Record_Type): Test the Derive_Subps formal
7953 as a condition for the delayed call to Derived_Subprograms done for the
7954 case of the rewriting of a derived type that constrains the
7955 discriminants of its parent type.
7956 Avoids redundant subprogram derivations for private subtype derivations.
7957
79582011-08-03 Javier Miranda <miranda@adacore.com>
7959
7960 * exp_aggr.adb (Init_Hidden_Discriminants): New subprogram of
7961 Build_Record_Aggr_Code.
7962 (Build_Record_Aggr_Code): Add missing support to initialize hidden
7963 discriminants in extension aggregates.
7964
79652011-08-03 Emmanuel Briot <briot@adacore.com>
7966
7967 * prj-pp.adb (Print): also output project qualifiers, since in
7968 particular "aggregate" is mandatory in an aggregate project.
7969
79702011-08-03 Emmanuel Briot <briot@adacore.com>
7971
7972 * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb:
7973 (Debug_Output): new function.
7974
56e94186
AC
79752011-08-03 Eric Botcazou <ebotcazou@adacore.com>
7976
7977 * gnat_ugn.texi: Document -Wstack-usage.
7978 * gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes.
7979
79802011-08-03 Thomas Quinot <quinot@adacore.com>
7981
7982 * sem_prag.adb Issue an error (not a warning) when a C++ type does not
7983 have keyword LIMITED.
7984
79852011-08-03 Yannick Moy <moy@adacore.com>
7986
7987 * alfa.adb, alfa.ads, alfa_test.adb: New files.
7988 * ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA)
7989 (Scan_ALI): do not issue a fatal error if parsing known lines after Xref
7990 section (does not happen in compiler, only if code directly calls
7991 Scan_ALI).
7992 * get_alfa.adb, get_alfa.ads: New files.
7993 * lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if
7994 needed.
7995 * lib-xref-alfa.adb: New file.
7996 * lib-xref.adb, lib-xref.ads
7997 (Xref_Entry): redefine information needed in cross-references for ALFA.
7998 Push ALFA treatments in separated local package.
7999 (Enclosing_Subpragram_Or_Package): treat specially subprogram
8000 identifiers. Return entity of package body instead of spec. Return
8001 Empty for a scope with no location.
8002 (Generate_Reference): adapt to new components for ALFA information.
8003 Remove the need for D references on definitions.
8004 (Is_Local_Reference): moved to ALFA local package
8005 (Output_References): extract subfunction as Extract_Source_Name
8006 (Output_Local_References): remove procedure, replaced by filtering of
8007 cross-references in package ALFA and printing in Put_ALFA.
8008 (Write_Entity_Name): remove procedure
8009 * lib.adb, lib.ads (Extract_Source_Name): extract here function to
8010 print exact name of entity as it appears in source file
8011 (Unit_Ref_Table): make type public for use in Lib.Xref.ALFA
8012 * put_alfa.adb, put_alfa.ads: New files.
8013 * xref_lib.adb (Search_Xref): protect read of cross-references against
8014 reading other sections of the ALI file, in gnatxref
8015 (Search): protect read of cross-references against reading other
8016 sections of the ALI file, in gnatfind.
8017 * gcc-interface/Make-lang.in: Update dependencies.
8018
80192011-08-03 Thomas Quinot <quinot@adacore.com>
8020
8021 * sem_ch3.adb: Minor reformatting.
8022
80232011-08-03 Jose Ruiz <ruiz@adacore.com>
8024
8025 * s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of
8026 raising an exception.
8027
80282011-08-03 Ed Schonberg <schonberg@adacore.com>
8029
8030 * sem_res.adb (Set_String_Literal_Subtype): if index type is an integer
8031 type, always use 1 as the lower bound or string, even if lower bound of
8032 context is not static, to handle properly null strings in a non-static
8033 context.
8034
80352011-08-03 Bob Duff <duff@adacore.com>
8036
8037 * sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is
8038 always legal on the right-hand side of an assignment statement; there
8039 is always an applicable index constraint in this case. Therefore, the
8040 check for Pkind = N_Assignment_Statement is now unconditional -- it
8041 doesn't depend on whether Is_Constrained (Typ).
8042
4317e442
AC
80432011-08-03 Robert Dewar <dewar@adacore.com>
8044
8045 * exp_ch5.adb, sem_prag.adb, exp_ch4.adb: Minor reformatting.
8046
80472011-08-03 Ed Schonberg <schonberg@adacore.com>
8048
8049 * sem_ch3.adb (Build_Itype_Reference): do not create an itype reference
8050 for an itype created within a generic unit.
8051
80522011-08-03 Eric Botcazou <ebotcazou@adacore.com>
8053
8054 * gnat_ugn.texi (Switches for gcc): Make it clearer that -fno-inline
8055 suppresses all inlining.
8056
53f29d4f
AC
80572011-08-03 Robert Dewar <dewar@adacore.com>
8058
8059 * sem_ch3.adb, sem_res.adb, exp_ch13.adb, exp_disp.adb,
8060 exp_aggr.adb: Minor reformatting.
8061
80622011-08-03 Thomas Quinot <quinot@adacore.com>
8063
8064 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not force inlining of
8065 tagged assignment when discriminant checks are suppressed. This is
8066 useless and extremely costly in terms of static stack usage.
8067
80682011-08-03 Bob Duff <duff@adacore.com>
8069
8070 * sem_prag.adb (Get_Base_Subprogram): Do not follow Alias for instances
8071 of generics, because this leads to the wrong entity in the wrong scope,
8072 causing (e.g.) pragma Export_Procedure to get an error if the entity is
8073 an instance.
8074 (Process_Interface_Name): Follow Alias for instances of generics, to
8075 correct for the above change.
8076
80772011-08-03 Ed Schonberg <schonberg@adacore.com>
8078
8079 * exp_ch4.adb (Expand_N_Selected_Component): If the discriminant value
8080 is an integer literal it is always safe to replace the reference. In
8081 addition, if the reference appears in the generated code for an object
8082 declaration it is necessary to copy because otherwise the reference
8083 might be to the uninitilized value of the discriminant of the object
8084 itself.
8085
80862011-08-03 Pascal Obry <obry@adacore.com>
8087
8088 * adaint.c (__gnat_is_executable_file_attr): Fix Win32 circuitry when no
8089 ACL used, in this case we want to check for ending .exe, not .exe
8090 anywhere in the path.
8091
80922011-08-03 Sergey Rybin <rybin@adacore.com>
8093
8094 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
8095 the tree structure (semantic decoration of references to record
8096 discriminants).
8097
c0b11850
AC
80982011-08-03 Gary Dismukes <dismukes@adacore.com>
8099
8100 * sem_aggr.adb (Analyze_Array_Aggregate): When checking the discrete
8101 choices of a named array aggregate, bail out when any choices are
8102 marked as Errors_Posted.
8103
81042011-08-03 Ed Schonberg <schonberg@adacore.com>
8105
8106 * exp_ch13.adb (Expand_N_Freeze_Entity): cleanup determination of scope
8107 in which entity is frozen, to handle properly loop variables in
8108 iterators.
8109
81102011-08-03 Ed Schonberg <schonberg@adacore.com>
8111
8112 * sem_res.adb (Set_String_Literal_Subtype): if the lower bound of the
8113 subtype is not static, compute the upper bound using attributes, to
8114 handle properly index types that are not integer types.
8115
81162011-08-03 Bob Duff <duff@adacore.com>
8117
8118 * gnat_rm.texi, gnat_ugn.texi: Fix some dangling URLs.
8119 Update copyright notice.
8120
81212011-08-03 Ed Schonberg <schonberg@adacore.com>
8122
8123 * sem_ch3.adb (Build_Discriminant_Constraints): Only use
8124 Original_Discriminant if within an instance.
8125 * sem_ch4.adb (Analyze_Selected_Component): Ditto.
8126
81272011-08-03 Thomas Quinot <quinot@adacore.com>
8128
8129 * einfo.ads: Minor reformatting.
8130
81312011-08-03 Ed Schonberg <schonberg@adacore.com>
8132
8133 * exp_disp.adb (Check_Premature_Freezing): diagnose the presence of a
8134 composite type with an unfrozen subcomponent, in the profile of a
8135 primitive operation.
8136
5c34e9cd
AC
81372011-08-03 Robert Dewar <dewar@adacore.com>
8138
8139 * sem_util.ads, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
8140
81412011-08-03 Ed Schonberg <schonberg@adacore.com>
8142
8143 * sem_ch3.adb (Analyze_Object_Declaration): if a constant object of an
8144 unconstrained type with discriminants is initialized with an aggregate,
8145 use the constrained subtype of the aggregate as the type of the object,
8146 because it is immutable, and this allows the back-end to generate no
8147 code for the object declaration.
8148
abcd9db2
AC
81492011-08-03 Robert Dewar <dewar@adacore.com>
8150
8151 * exp_ch4.adb (Optimize_Length_Check): Fix bad handling of case where
8152 comparison operand is variable, and turns out to be zero or negative.
8153
81542011-08-03 Javier Miranda <miranda@adacore.com>
8155
8156 * exp_intr.adb
8157 (Expand_Dispatching_Constructor_Call): Disable expansion of
8158 code required for native targets. Done to avoid generating
8159 references to unavailable runtime entities in VM targets.
8160 * exp_ch3.adb
8161 (Expand_N_Object_Declaration): Add missing support to handle
8162 the explicit initialization of class-wide interface objects.
8163 Fix documentation.
8164
81652011-08-03 Matthew Heaney <heaney@adacore.com>
8166
8167 * a-cobove.adb (Merge): Move source onto target, instead of using Assign
8168
81692011-08-03 Matthew Heaney <heaney@adacore.com>
8170
8171 * a-cbdlli.adb (Splice): move source items from first to last
8172
81732011-08-03 Yannick Moy <moy@adacore.com>
8174
8175 * sem_util.ads: comment added.
8176
81772011-08-03 Javier Miranda <miranda@adacore.com>
8178
8179 * exp_aggr.adb
8180 (Expand_Record_Aggregate): In VM targets disable the expansion into
8181 assignments of aggregates whose type is not known at compile time.
8182
b474d6c3
ES
81832011-08-03 Ed Schonberg <schonberg@adacore.com>
8184
8185 * exp_ch9.adb (Build_Renamed_Formal_Declaration): common procedure for
8186 protected entries and task entries, to build the proper renaming
8187 declaration for entry formals, used in debugging.
8188 * exp_ch2.adb (Expand_Entry_Parameter): handle task and entry
8189 parameters in the same way.
8190
0580d807
AC
81912011-08-02 Robert Dewar <dewar@adacore.com>
8192
8193 * a-direct.adb, sinfo.ads, exp_ch9.adb, scng.adb, sem_util.adb,
8194 sem_util.ads, restrict.ads, par-prag.adb: Minor reformatting and/or
8195 code reorganization.
8196
81972011-08-02 Robert Dewar <dewar@adacore.com>
8198
8199 * debug.adb: Debug flag d.P to suppress length comparison optimization
8200 * exp_ch4.adb (Optimize_Length_Comparison): New routine to optimize
8201 comparison of Length by comparing First/Last instead.
8202
82032011-08-02 Matthew Heaney <heaney@adacore.com>
8204
8205 * a-cobove.ads: Code clean up.
8206
b191a125
AC
82072011-08-02 Vincent Celier <celier@adacore.com>
8208
8209 * adaint.c (file_names_case_sensitive_cache): New static int.
8210 (__gnat_get_file_names_case_sensitive): Cache the return value in
8211 file_names_case_sensitive_cache at the first invocation, to avoid
8212 multiple calls to getenv.
8213
82142011-08-02 Bob Duff <duff@adacore.com>
8215
8216 * sem_ch12.adb (Validate_Derived_Type_Instance): Implement AI05-0218-1.
8217
316a0661
AC
82182011-08-02 Yannick Moy <moy@adacore.com>
8219
8220 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads,
8221 sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb,
8222 sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to
8223 indicate that we are in a precondition or postcondition. This is used in
8224 Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to
8225 decide whether to flag the spec or body of the current subprogram as
8226 not in ALFA.
8227
82282011-08-02 Fabien Chouteau <chouteau@adacore.com>
8229
8230 * impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package
8231 list.
8232 * a-extiin.ads: New file.
8233
82342011-08-02 Bob Duff <duff@adacore.com>
8235
8236 * a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename
8237 now raises Name_Error instead of Use_Error in certain cases. The other
8238 parts of this AI were already implemented properly.
8239
f9adb9d4
AC
82402011-08-02 Vincent Celier <celier@adacore.com>
8241
8242 * link.c: Only import "auto-host.h" when building the gnattools.
8243
82442011-08-02 Yannick Moy <moy@adacore.com>
8245
8246 * sem_util.adb: Inter-unit inlining does not work for a subprogram
8247 which calls a local subprogram, so extract subprogram
8248 from Mark_Non_ALFA_Subprogram_Body.
8249
82502011-08-02 Javier Miranda <miranda@adacore.com>
8251
8252 * exp_ch9.adb
8253 (Extract_Dispatching_Call): If the type of the dispatching object is an
8254 access type then return an explicit dereference in the Object out-mode
8255 parameter.
8256
82572011-08-02 Gary Dismukes <dismukes@adacore.com>
8258
8259 * sem_ch3.adb (Analyze_Subtype_Declaration): Generate range
8260 compatibility checks for all indexes of an array subtype, not just the
8261 first. Reset Has_Dynamic_Range_Check on the subtype before each
8262 potential check to ensure that Insert_Range_Checks will not elide any
8263 of the dynamic checks.
8264
82652011-08-02 Yannick Moy <moy@adacore.com>
8266
8267 * par-prag.ad (Process_Restrictions_Or_Restriction_Warnings): recognize
8268 SPARK restriction at parsing time.
8269 * scng.adb (Scan): Generate a token Tok_SPARK_Hide for a SPARK HIDE
8270 directive only if the SPARK restriction is set for this unit.
8271
83f33150
YM
82722011-08-02 Yannick Moy <moy@adacore.com>
8273
8274 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads,
8275 sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb,
8276 sem_ch11.adb: Protect call to Current_Subprogram which might be costly
8277 when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into
8278 Mark_Non_ALFA_Subprogram_Body.
8279 Split body of Mark_Non_ALFA_Subprogram_Body to get body small and
8280 inlined.
8281
7b98672f
YM
82822011-08-02 Yannick Moy <moy@adacore.com>
8283
8284 * sem_res.adb: Protect calls to Matching_Static_Array_Bounds which
8285 might be costly.
8286
052e0603
AC
82872011-08-02 Robert Dewar <dewar@adacore.com>
8288
8289 * exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
8290 exp_ch3.adb: Minor reformatting.
8291
82922011-08-02 Emmanuel Briot <briot@adacore.com>
8293
8294 * adaint.c (__gnat_locate_exec_on_path): only returns executable
8295 files, not any regular file.
8296 (__gnat_locate_file_with_predicate): new subprogram.
8297
82982011-08-02 Yannick Moy <moy@adacore.com>
8299
8300 * sinfo.adb, sinfo.ads: Restrict the use of flags
8301 Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
8302 nodes, plus N_Subtype_Declaration for the 2nd one.
8303
4fbad0ba
AC
83042011-08-02 Sergey Rybin <rybin@adacore.com>
8305
8306 * gnat_rm.texi: Ramification of pragma Eliminate documentation
8307 - fix bugs in the description of Source_Trace;
8308 - get rid of UNIT_NAME;
8309
052e0603
AC
83102011-08-02 Javier Miranda <miranda@adacore.com>
8311
8312 * exp_ch9.adb
8313 (Build_Dispatching_Requeue): Adding support for VM targets
8314 since we cannot directly reference the Tag entity.
8315 * exp_sel.adb (Build_K): Adding support for VM targets.
8316 (Build_S_Assignment): Adding support for VM targets.
8317 * exp_disp.adb
8318 (Default_Prim_Op_Position): In VM targets do not restrict availability
8319 of predefined interface primitives to compiling in Ada 2005 mode.
8320 (Is_Predefined_Interface_Primitive): In VM targets this service is not
8321 restricted to compiling in Ada 2005 mode.
8322 (Make_VM_TSD): Generate code that declares and initializes the OSD
8323 record. Needed to support dispatching calls through synchronized
8324 interfaces.
8325 * exp_ch3.adb
8326 (Make_Predefined_Primitive_Specs): Enable generation of predefined
8327 primitives associated with synchronized interfaces.
8328 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
8329 primitives associated with synchronized interfaces.
8330
83312011-08-02 Yannick Moy <moy@adacore.com>
8332
8333 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
8334 statements hidden in SPARK if preceded by the HIDE directive
8335 (Parse_Exception_Handlers): mark each exception handler in a sequence of
8336 exception handlers as hidden in SPARK if preceded by the HIDE directive
8337 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
8338 if starting with the HIDE directive
8339 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
8340 starting with the HIDE directive; mark the declarations in a private
8341 part as hidden in SPARK if the private part starts with the HIDE
8342 directive
8343 * restrict.adb, restrict.ads
8344 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
8345 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
8346 argument node belongs to a part which is hidden in SPARK
8347 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
8348 parts in SPARK; protect the possibly costly call to
8349 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
8350 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
8351 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
8352 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
8353 Tok_SPARK_Hide.
8354 (Scan): recognize special comment starting with '#' and followed by
8355 SPARK keyword "hide" as a HIDE directive.
8356
83572011-08-02 Yannick Moy <moy@adacore.com>
8358
8359 * types.ads, erroutc.ads: Minor reformatting.
8360
83612011-08-02 Vincent Celier <celier@adacore.com>
8362
8363 * link.c: Add response file support for cross platforms.
8364
83652011-08-02 Ed Schonberg <schonberg@adacore.com>
8366
8367 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
8368 in an association, set parent field of copy before partial analysis.
8369 * sem_res.adb (Resolve_Slice): create reference to itype only when
8370 expansion is enabled.
8371
83722011-08-02 Yannick Moy <moy@adacore.com>
8373
8374 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
8375 for new flag denoting which subprogram bodies are in ALFA
8376 * restrict.adb, sem_ch7.adb: Update comment
8377 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
8378 sem_ch9.adb, sem_res.adb: Add calls to
8379 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
8380 * sem_ch6.adb (Analyze_Function_Return): add calls to
8381 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
8382 middle of the body, and extended return.
8383 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
8384 False when missing return.
8385 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
8386 to True for subprograms whose spec is in ALFA. Remove later on the flag
8387 on the entity used for a subprogram body when there exists a separate
8388 declaration.
8389 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
8390 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
8391 False, otherwise do nothing.
8392
83932011-08-02 Robert Dewar <dewar@adacore.com>
8394
8395 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
8396
83972011-08-02 Yannick Moy <moy@adacore.com>
8398
8399 * sem_ch4.ads: minor formatting.
8400
84012011-08-02 Yannick Moy <moy@adacore.com>
8402
8403 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
8404 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
8405 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
8406 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
8407 opt.ads: cleanup of SPARK mode
8408
84092011-08-02 Yannick Moy <moy@adacore.com>
8410
8411 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
8412 types.
8413 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
8414 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
8415 * sem_ch3.adb
8416 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
8417 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
8418 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
8419 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
8420 types.
8421 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
8422 non-static range.
8423 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
8424 functions whose return type is not in ALFA.
8425 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
8426 specifications.
8427 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
8428 parameter's type is not in ALFA.
8429 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
8430 types are in ALFA.
8431
84322011-08-02 Ed Schonberg <schonberg@adacore.com>
8433
8434 * sem_ch6 (Analyze_Expression_Function): treat the function as
8435 Inline_Always, and introduce a subprogram declaration for it when it is
8436 not a completion.
8437 * inline.adb (Add_Inlined_Body): recognize bodies that come from
8438 expression functions, so that the back-end can determine whether they
8439 can in fact be inlined.
8440 * sem_util.adb (Is_Expression_Function): predicate to determine whether
8441 a function body comes from an expression function.
8442
84432011-08-02 Gary Dismukes <dismukes@adacore.com>
8444
8445 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
8446 null exclusions to test Can_Never_Be_Null on the anonymous access types
8447 of the formals rather than testing the formals themselves. Exclude this
8448 check in cases where the Old_Formal is marked as a controlling formal,
8449 to avoid issuing spurious errors for bodies completing dispatching
8450 operations (due to the flag not getting set on controlling access
8451 formals in body specs).
8452 (Find_Corresponding_Spec): When checking full and subtype conformance of
8453 subprogram bodies in instances, pass Designated and E in that order, for
8454 consistency with the expected order of the formals (New_Id followed by
8455 Old_Id).
8456
84572011-08-02 Robert Dewar <dewar@adacore.com>
8458
8459 * sem_ch8.adb: Minor reformatting.
8460
84612011-08-02 Ed Schonberg <schonberg@adacore.com>
8462
8463 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
8464 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
8465 primitive operations of class-wide actuals.
8466
84672011-08-02 Javier Miranda <miranda@adacore.com>
8468
8469 * exp_atag.ads, exp_atag.adb
8470 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
8471 since its value is implicitly passed in argument Typ.
8472 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
8473 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
8474 Build_Common_Dispatching_Select_Statements.
8475
84762011-08-02 Robert Dewar <dewar@adacore.com>
8477
8478 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
8479 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
8480 Minor reformatting.
8481
84822011-08-02 Robert Dewar <dewar@adacore.com>
8483
8484 * sem_res.adb: Minor reformatting.
8485 * sem_prag.adb: Minor reformatting.
8486
84872011-08-02 Javier Miranda <miranda@adacore.com>
8488
8489 * exp_atag.adb, exp_atags.ads
8490 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
8491 by the tagged type Entity. Required to use this routine in the VM
8492 targets since we do not have available the Tag entity in the VM
8493 platforms.
8494 * exp_ch6.adb
8495 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
8496 Ada.Tags has not been previously loaded.
8497 * exp_ch7.adb
8498 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
8499 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
8500 * sem_aux.adb
8501 (Enclosing_Dynamic_Scope): Add missing support to handle the full
8502 view of enclosing scopes. Required to handle enclosing scopes that
8503 are synchronized types whose full view is a task type.
8504 * exp_disp.adb
8505 (Build_VM_TSDs): Minor code improvement to avoid generating and
8506 analyzing lists with empty nodes.
8507 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
8508 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
8509 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
8510 (Make_Disp_Timed_Select_Body): Add support for VM targets.
8511 (Make_Select_Specific_Data_Table): Add support for VM targets.
8512 (Make_VM_TSD): Generate code to initialize the SSD structure of
8513 the TSD.
8514
85152011-08-02 Yannick Moy <moy@adacore.com>
8516
8517 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
8518 cross-references section in ALI.
8519 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
8520 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
8521 Sub).
8522 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
8523 subprogram or package entity of a node
8524 (Is_Local_Reference_Type): new function returns True for references
8525 selected in local cross-references.
8526 (Lt): function extracted from Lt in Output_References
8527 (Write_Entity_Name): function extracted from Output_References
8528 (Generate_Definition): generate reference with type 'D' for definition
8529 of objects (object declaration and parameter specification), with
8530 appropriate locations and units, for use in local cross-references.
8531 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
8532 references of type 'I' for initialization in object definition.
8533 (Output_References): move part of function Lt and procedure
8534 Write_Entity_Name outside of the body. Ignore references of types 'D'
8535 and 'I' introduced for local cross-references.
8536 (Output_Local_References): new procedure to output the local
8537 cross-references sections.
8538 (Lref_Entity_Status): new array defining whether an entity is a local
8539 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
8540 with 'I' type when initialization expression is present.
8541 * get_scos.adb, get_scos.ads: Correct comments and typos
8542
85432011-08-02 Javier Miranda <miranda@adacore.com>
8544
8545 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
8546 the JVM target.
8547 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
8548 the JVM target.
8549 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
8550 TSD support.
8551
85522011-08-02 Vincent Celier <celier@adacore.com>
8553
8554 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
8555 (No_Space_Img): New function
8556 (Find_Excluded_Sources): When reading from a file, record the file name
8557 and the line number for each excluded source.
8558 (Mark_Excluded_Sources): When reporting an error, if the excluded
8559 sources were read from a file, include file name and line number in
8560 the error message.
8561
85622011-08-02 Ed Schonberg <schonberg@adacore.com>
8563
8564 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
8565
85662011-08-02 Robert Dewar <dewar@adacore.com>
8567
8568 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
8569
85702011-08-02 Javier Miranda <miranda@adacore.com>
8571
8572 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
8573 generation of TSDs to the DOTNET compiler.
8574 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
8575 generation of TSDs to the DOTNET compiler.
8576
85772011-08-02 Javier Miranda <miranda@adacore.com>
8578
8579 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
8580 record of all the tagged types declared inside library level package
8581 declarations, library level package bodies or library level subprograms.
8582 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
8583 associated with a given tagged type.
8584 (Build_VM_TSDs): New subprogram.
8585 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
8586 compilation units that are subprograms.
8587 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
8588 compilation units that are package bodies.
8589 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
8590 units that are a package declaration or a package instantiation.
8591 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
8592 reorganization to improve the error generated by the frontend when the
8593 function Ada.Tags.Secondary_Tag is not available.
8594 * rtsfind.ads (RE_Register_TSD): New runtime entity.
8595 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
8596
85972011-08-02 Javier Miranda <miranda@adacore.com>
8598
8599 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
8600
86012011-08-02 Robert Dewar <dewar@adacore.com>
8602
8603 * s-imenne.ads: Minor reformatting.
8604
86052011-08-02 Robert Dewar <dewar@adacore.com>
8606
8607 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
8608 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
8609 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
8610
86112011-08-02 Robert Dewar <dewar@adacore.com>
8612
8613 * einfo.ads (Materialize_Entity): Document this is only for renamings
8614 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
8615 required debug information in the case where we transform the object
8616 declaration into a renaming declaration.
8617 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
8618 object
8619 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
8620 Materialize_Entity.
8621
86222011-08-02 Robert Dewar <dewar@adacore.com>
8623
8624 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
8625 Suppress_Init_Procs.
8626 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
8627 Suppress_Initialization/Initialization_Suppressed.
8628 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
8629 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
8630 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
8631 * sem_prag.adb: New processing for pragma Suppress_Initialization.
8632
86332011-08-02 Robert Dewar <dewar@adacore.com>
8634
8635 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
8636 Minor reformatting.
8637
86382011-08-02 Ed Schonberg <schonberg@adacore.com>
8639
8640 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
8641 only have inheritable classwide pre/postconditions.
8642
86432011-08-02 Javier Miranda <miranda@adacore.com>
8644
8645 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
8646 * rtsfind.ads (RE_Check_TSD): New runtime entity.
8647 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
8648 checks if the external tag of a type is the same as the external tag
8649 of some other declaration.
8650
86512011-08-02 Thomas Quinot <quinot@adacore.com>
8652
8653 * s-taskin.ads: Minor reformatting.
8654
86552011-08-02 Emmanuel Briot <briot@adacore.com>
8656
8657 * g-comlin.adb (Display_Help): swap the order in which it prints the
8658 short help and the general usage.
8659
86602011-08-02 Ed Schonberg <schonberg@adacore.com>
8661
8662 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
8663 the aspect declarations and attach them to the generic copy for
8664 subsequent analysis.
8665 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
8666 declarations of the generic tree to the new subprogram declarations.
8667 * sem_attr.adb (Check_Precondition_Postcondition): recognize
8668 conditions that apply to a subprogram instance.
8669
86702011-08-02 Robert Dewar <dewar@adacore.com>
8671
8672 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
8673
86742011-08-02 Ed Schonberg <schonberg@adacore.com>
8675
8676 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
8677 private type with a tagged full view is not derived in the immediate
8678 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
8679
86802011-08-02 Robert Dewar <dewar@adacore.com>
8681
8682 * exp_ch4.adb: Minor reformatting.
8683
86842011-08-02 Ed Schonberg <schonberg@adacore.com>
8685
8686 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
8687 Ada2012 iterator, the loop will be rewritten during expansion into a
8688 while loop with a cursor and an element declaration. Do not analyze the
8689 body in this case, because if the container is for indefinite types the
8690 actual subtype of the elements will only be determined when the cursor
8691 declaration is analyzed.
8692
86932011-08-02 Arnaud Charlet <charlet@adacore.com>
8694
8695 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
8696 size/alignment related attributes in CodePeer_Mode.
8697
86982011-08-02 Gary Dismukes <dismukes@adacore.com>
8699
8700 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
8701 Prepend_Element, since this can result in the operation getting the
8702 wrong slot in the full type's dispatch table if the full type has
8703 inherited operations. The incomplete type's operation will get added
8704 to the proper position in the full type's primitives
8705 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
8706 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
8707 dispatching operations, since there are cases where nonprimitive
8708 subprograms can get added to the list of incomplete dependents (such
8709 as subprograms in nested packages).
8710 * sem_ch6.adb (Process_Formals): First, remove test for being in a
8711 private part when determining whether to add a primitive with a
8712 parameter of a tagged incomplete type to the Private_Dependents list.
8713 Such primitives can also occur in the visible part, and should not have
8714 been excluded from being private dependents.
8715 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
8716 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
8717 list of a Taft-amendment incomplete type is a primitive before issuing
8718 an error that the full type must appear in the same unit. There are
8719 cases where nonprimitives can be in the list (such as subprograms in
8720 nested packages).
8721 * sem_disp.adb (Derives_From): Use correct condition for checking that
8722 a formal's type is derived from the type of the corresponding formal in
8723 the parent subprogram (the condition was completely wrong). Add
8724 checking that was missing for controlling result types being derived
8725 from the result type of the parent operation.
8726
87272011-08-02 Yannick Moy <moy@adacore.com>
8728
8729 * errout.adb (First_Node): minor renaming
8730 * restrict.adb (Check_Formal_Restriction): put restriction warning on
8731 first node.
8732
87332011-08-02 Yannick Moy <moy@adacore.com>
8734
8735 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
8736 before accessing operands.
8737 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
8738 decide whether an initialization expression respects SPARK rules, as
8739 the plain node is the expanded one. This allows for more valid warnings
8740 to be issued.
8741 * gnat_rm.texi: Minor update.
8742
87432011-08-02 Arnaud Charlet <charlet@adacore.com>
8744
8745 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
8746 previous change.
8747
87482011-08-02 Robert Dewar <dewar@adacore.com>
8749
8750 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
8751
87522011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
8753
8754 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
8755 loop statements and the element renaming declaration with a block when
8756 the element type is controlled.
8757
87582011-08-02 Yannick Moy <moy@adacore.com>
8759
8760 * sinfo.ads: Minor formatting.
8761
87622011-08-02 Ed Schonberg <schonberg@adacore.com>
8763
8764 * sem_aggr.adb (Add_Association): if the association has a box and no
8765 expression, use the Sloc of the aggregate itself for the new
8766 association.
8767 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
8768 the Original_Node.
8769
87702011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
8771
8772 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
8773 When a container is provided via a function call, generate a renaming
8774 of the function result. This avoids the creation of a transient scope
8775 and the premature finalization of the container.
8776 * exp_ch7.adb (Is_Container_Cursor): Removed.
8777 (Wrap_Transient_Declaration): Remove the supression of the finalization
8778 of the list controller when the declaration denotes a container cursor,
8779 it is not needed.
8780
87812011-08-02 Yannick Moy <moy@adacore.com>
8782
8783 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
8784 node is from source, instead of the original node being from source.
8785 * sem_aggr.adb
8786 (Resolve_Array_Aggregate): refine the check for a static expression, to
8787 recognize also static ranges
8788 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
8789 Array_Type_Declaration): postpone the test for the type being a subtype
8790 mark after the type has been resolved, so that component-selection and
8791 expanded-name are discriminated.
8792 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
8793 to distinguish the case of an iteration scheme, so that an error is
8794 issed on a non-static range in SPARK except in an iteration scheme.
8795 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
8796 In_Iter_Schm = True.
8797 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
8798 user-defined operators so that they are allowed in renaming
8799 * sem_ch8.adb
8800 (Find_Selected_Component): refine the check for prefixing of operators
8801 so that they are allowed in renaming. Move the checks for restrictions
8802 on selector name after analysis discriminated between
8803 component-selection and expanded-name.
8804 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
8805 concatenation argument of string type if it is static.
8806 * sem_util.adb, sem_util.ads
8807 (Check_Later_Vs_Basic_Declarations): add a new function
8808 Is_Later_Declarative_Item to decice which declarations are allowed as
8809 later items, in the two different modes Ada 83 and SPARK. In the SPARK
8810 mode, add that renamings are considered as later items.
8811 (Enclosing_Package): new function to return the enclosing package
8812 (Enter_Name): correct the rule for homonyms in SPARK
8813 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
8814 from source (result of expansion) to avoid issuing wrong warnings.
8815
88162011-08-02 Ed Schonberg <schonberg@adacore.com>
8817
8818 * errout.adb: On anything but an expression First_Node returns its
8819 argument.
8820
88212011-08-02 Pascal Obry <obry@adacore.com>
8822
8823 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
8824
88252011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
8826
8827 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
8828 Set the associated loop as the related expression of internally
8829 generated cursors.
8830 * exp_ch7.adb (Is_Container_Cursor): New routine.
8831 (Wrap_Transient_Declaration): Supress the finalization of the list
8832 controller when the declaration denotes a container cursor.
8833
88342011-08-02 Yannick Moy <moy@adacore.com>
8835
8836 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
8837 command line now.
8838 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
8839 expression is a simple expression. This check cannot be performed in
8840 the semantics, so just drop it.
8841 (P_Index_Or_Discriminant_Constraint): move check that the index or
8842 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
8843 semantics. Other cases were previously checked in the semantics.
8844 * par-ch4.adb (P_Name): move checks that a selector name is not
8845 character literal or an operator symbol to Find_Selected_Component in
8846 the semantics
8847 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
8848 declarations are not placed after later declarations in a separate
8849 procedure in Sem_Util (possibly not the best choice?), to be used both
8850 during parsing, for Ada 83 mode, and during semantic analysis, for
8851 SPARK mode.
8852 * par-endh.adb (Check_End): move check that end label is not missing
8853 to Process_End_Label in the semantics
8854 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
8855 the special case for SPARK restriction
8856 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
8857 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
8858 parameter Force to issue the error message even on internal node (used
8859 for generated end label). Call Check_Restriction to check when an error
8860 must be issued. In SPARK mode, issue an error message even if the
8861 restriction is not set.
8862 (Check_Restriction): new procedure with an additional out parameter to
8863 inform the caller that a message has been issued
8864 * sem_aggr.adb: Minor modification of message
8865 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
8866 instead of issuing an error message directly
8867 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
8868 declarations are not placed after later declarations, by calling
8869 Check_Later_Vs_Basic_Declarations
8870 (Analyze_Subtype_Declaration): move here the check that an index or
8871 discriminant constraint must be a subtype mark. Change the check that
8872 a subtype of String must start at one so that it works on subtype marks.
8873 * sem_ch4.adb (Analyze_Call): move here the check that a named
8874 association cannot follow a positional one in a call
8875 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
8876 instead of issuing an error message directly
8877 * sem_ch8.adb (Find_Selected_Component): move here the check that a
8878 selector name is not a character literal or an operator symbol. Move
8879 here the check that the prefix of an expanded name cannot be a
8880 subprogram or a loop statement.
8881 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
8882 procedure called from parsing and semantics to check that basic
8883 declarations are not placed after later declarations
8884 (Process_End_Label): move here the check that end label is not missing
8885
88862011-08-02 Arnaud Charlet <charlet@adacore.com>
8887
8888 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
8889 representation clause in codepeer mode, since it confuses CodePeer and
8890 does not bring useful info.
8891
88922011-08-02 Ed Falis <falis@adacore.com>
8893
8894 * init.c: initialize fp hw on MILS.
8895
88962011-08-02 Ed Schonberg <schonberg@adacore.com>
8897
8898 * errout.adb (First_Node): for bodies, return the node itself (small
8899 optimization). For other nodes, do not check source_unit if the node
8900 comes from Standard.
8901
89022011-08-02 Robert Dewar <dewar@adacore.com>
8903
8904 * exp_ch3.adb: Minor comment additions.
8905 * sem_ch13.adb: Minor reformatting.
8906
89072011-08-02 Pascal Obry <obry@adacore.com>
8908
8909 * make.adb, makeutl.adb: Removes some superfluous directory separator.
8910
89112011-08-02 Robert Dewar <dewar@adacore.com>
8912
8913 * sem_attr.adb: Minor reformatting.
8914
89152011-08-02 Robert Dewar <dewar@adacore.com>
8916
8917 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
8918 (Has_Default_Component_Value): Removed
8919 * einfo.ads Comment updates
8920 (Has_Default_Aspect): Replaces Has_Default_Value
8921 (Has_Default_Component_Value): Removed
8922 * exp_ch13.adb
8923 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
8924 * exp_ch3.adb
8925 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
8926 (Get_Simple_Init_Val): Handle Default_Value aspect
8927 (Needs_Simple_Initialization): Handle Default_Value aspect
8928 * exp_ch3.ads: Needs_Simple_Initialization
8929 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
8930 * par-prag.adb (Pragma_Default[_Component]Value) Removed
8931 * sem_ch13.adb
8932 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
8933 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
8934 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
8935
89362011-08-02 Ed Schonberg <schonberg@adacore.com>
8937
8938 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
8939 package containing iteration primitives.
8940 exp_ch5.adb (Expand_Iterator_Loop): ditto.
8941
89422011-08-02 Ed Schonberg <schonberg@adacore.com>
8943
8944 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
8945 "of", pre-analyze expression in case it is a function call with
8946 finalization actions that must be placed ahead of the loop.
8947 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
8948 on an Ada2012 iterator, insert them ahead of the rewritten loop.
8949
89502011-08-02 Geert Bosch <bosch@adacore.com>
8951
8952 * cstand.adb (Create_Float_Types): Only consider C's long double for
8953 Long_Long_Float, in addition to double.
8954
89552011-08-02 Robert Dewar <dewar@adacore.com>
8956
8957 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
8958 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
8959 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
8960 Minor reformatting.
8961
89622011-08-02 Ed Schonberg <schonberg@adacore.com>
8963
8964 * sem_attr.adb: handle properly 'Result when it is a prefix of an
8965 indexed component.
8966
89672011-08-02 Javier Miranda <miranda@adacore.com>
8968
8969 * einfo.ads, einfo.adb
8970 (Original_Access_Type): Move this attribute to Node26 since there was
8971 an undocumented use of Node21 in E_Access_Subprogram_Type entities
8972 which causes conflicts and breaks the generation of the .NET compiler.
8973 (Interface_Name): Add missing documentation on JGNAT only uses of
8974 this attribute.
8975
89762011-08-02 Geert Bosch <bosch@adacore.com>
8977
8978 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
8979 (Find_Back_End_Float_Type): Likewise
8980 (Create_Back_End_Float_Types): Likewise
8981 (Create_Float_Types): Likewise
8982 (Register_Float_Type): Likewise
8983 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
8984 Nlist and split out type selection in new local Find_Base_Type function.
8985 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
8986 Nlist
8987 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
8988
89892011-08-02 Robert Dewar <dewar@adacore.com>
8990
8991 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
8992 alpha order).
8993 * opt.ads: Minor comment change.
8994 * sem_ch12.adb: Minor code reorganization.
8995
89962011-08-02 Gary Dismukes <dismukes@adacore.com>
8997
8998 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
8999 subtype's list of rep items to the list on the full subtype in the case
9000 where the lists are the same.
9001
90022011-08-02 Geert Bosch <bosch@adacore.com>
9003
9004 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
9005 using the one from System.Strings, which also deallocates all strings.
9006
90072011-08-02 Geert Bosch <bosch@adacore.com>
9008
9009 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
9010 function.
9011 * gcc-interface/Make-lang.in: Update dependencies.
9012
90132011-08-02 Olivier Hainque <hainque@adacore.com>
9014
9015 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
9016 end_locus.
9017
90182011-08-02 Javier Miranda <miranda@adacore.com>
9019
9020 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
9021 associated with anonymous access to subprograms.
9022
90232011-08-02 Geert Bosch <bosch@adacore.com>
9024
9025 * opt.ads
9026 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
9027 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
9028 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
9029 (Add_Symbol_Definition): Move to switch-c.adb
9030 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
9031 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
9032 (Add_Symbol_Definition): Move to switch-c.adb.
9033 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
9034 * sem_warn.adb
9035 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
9036 Move to warnsw.adb.
9037 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
9038 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
9039 Move to warnsw.adb.
9040 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
9041 (Add_Symbol_Definition): Moved from Prepcomp.
9042 * switch-c.ads: Update copyright notice. Use String_List instead of
9043 Argument_List, removing dependency on System.OS_Lib.
9044
90452011-08-02 Yannick Moy <moy@adacore.com>
9046
9047 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
9048 mode on initialization expression which does not respect SPARK
9049 restrictions.
9050 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
9051 if the tree referenced by its argument represents an initialization
9052 expression in SPARK, suitable for initializing an object in an object
9053 declaration.
9054
90552011-08-02 Javier Miranda <miranda@adacore.com>
9056
9057 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
9058 internally generated access to subprogram with its associated protected
9059 subprogram type.
9060 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
9061
90622011-08-02 Geert Bosch <bosch@adacore.com>
9063
9064 * cstand.adb (Register_Float_Type): Print information about type to
9065 register, if the Debug_Flag_Dot_B is set.
9066 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
9067 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
9068 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
9069 with a requested precision of more than Max_Digits digits and no more
9070 than Max_Base_Digits digits, if a range specification is present and the
9071 Predefined_Float_Types list has a suitable type to derive from.
9072 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
9073 case of type completion with pragma Import
9074 * sem_prag.adb
9075 (Process_Import_Predefined_Type): Processing to complete a type
9076 with pragma Import. Currently supports floating point types only.
9077 (Set_Convention_From_Pragma): Do nothing without underlying type.
9078 (Process_Convention): Guard against absence of underlying type,
9079 which may happen when importing incomplete types.
9080 (Process_Import_Or_Interface): Handle case of importing predefined
9081 types. Tweak error message.
9082
90832011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9084
9085 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
9086 functions to previous change. Reorganize code slightly.
9087
90882011-08-02 Geert Bosch <bosch@adacore.com>
9089
9090 * back_end.ads (Register_Type_Proc): New call back procedure type for
9091 allowing the back end to provide information about available types.
9092 (Register_Back_End_Types): New procedure to register back end types.
9093 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
9094 available types.
9095 * cstand.adb (Back_End_Float_Types): New list for floating point types
9096 supported by the back end.
9097 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
9098 (Copy_Float_Type): New procedure to make new copies of predefined types.
9099 (Register_Float_Type): New call back procedure to populate the BEFT list
9100 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
9101 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
9102 (Create_Float_Types): New procedure to create entities for floating
9103 point types predefined in Standard, and put these and any remaining
9104 BEFTs on the Predefined_Float_Types list.
9105 * stand.ads (Predefined_Float_Types): New list for predefined floating
9106 point types that do not have declarations in package Standard.
9107
91082011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9109
9110 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
9111 entity node for the unit containing the parameter.
9112 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
9113 (Add_Inlined_Subprogram): Likewise.
9114 * gcc-interface/Make-lang.in: Update dependencies.
9115
91162011-08-02 Thomas Quinot <quinot@adacore.com>
9117
9118 * s-stusta.adb (Print): Make sure Pos is always initialized to a
9119 suitable value.
9120
91212011-08-02 Geert Bosch <bosch@adacore.com>
9122
9123 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
9124
91252011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9126
9127 * sem_type.adb (Covers): Move trivial case to the top and reuse the
9128 computed value of Base_Type.
9129
91302011-08-02 Yannick Moy <moy@adacore.com>
9131
9132 * restrict.adb (Check_Restriction): issue an error for any use of
9133 class-wide, even if the No_Dispatch restriction is not set.
9134 * sem_aggr.adb: Correct typos in comments and messages in formal mode
9135 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
9136 when completing a private extension, the type named in the private part
9137 is not the same as that named in the visible part.
9138 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
9139 of an inherited primitive operations of a tagged type or type extension
9140 that returns the tagged type.
9141 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
9142 function which returns True for an implicit operation inherited by the
9143 derived type declaration for the argument type.
9144 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
9145 order.
9146
91472011-08-02 Ed Schonberg <schonberg@adacore.com>
9148
9149 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
9150 Process_Bounds, to perform analysis with expansion of a range or an
9151 expression that is the iteration scheme for a loop.
9152 (Analyze_Iterator_Specification): If domain of iteration is given by a
9153 function call with a controlled result, as is the case if call returns
9154 a predefined container, ensure that finalization actions are properly
9155 generated.
9156 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
9157
91582011-08-02 Javier Miranda <miranda@adacore.com>
9159
9160 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
9161 * gcc-interface/Make-lang.in: Update dependencies.
9162
91632011-08-02 Javier Miranda <miranda@adacore.com>
9164
9165 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
9166 determine if the analysis is performed using N or Original_Node (N).
9167 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
9168 functionality of routine Is_Variable avoids code duplication.
9169 * checks.adb (Determine_Range): Handle temporaries generated by
9170 Remove_Side_Effects.
9171
91722011-08-02 Javier Miranda <miranda@adacore.com>
9173
9174 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
9175 expansion of the condition. Required since the previous analysis was
9176 done with expansion disabled (see Resolve_Quantified_Expression) and
9177 hence checks were not inserted and record comparisons have not been
9178 expanded.
9179
91802011-08-02 Ed Falis <falis@adacore.com>
9181
9182 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
9183 Update header.
9184
91852011-08-02 Bob Duff <duff@adacore.com>
9186
9187 * opt.ads: Minor comment fix.
9188
91892011-08-02 Bob Duff <duff@adacore.com>
9190
9191 * sem_ch12.adb (Analyze_Package_Instantiation,
9192 Analyze_Subprogram_Instantiation): Turn off style checking while
9193 analyzing an instance. Whatever style checks that apply to the generic
9194 unit should apply, so it makes no sense to apply them in an instance.
9195 This was causing trouble when compiling an instance of a runtime
9196 unit that violates the -gnatyO switch.
9197 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
9198 one of the two case statements, causing spurious errors.
9199
92002011-08-02 Robert Dewar <dewar@adacore.com>
9201
9202 * uname.adb: Minor reformatting.
9203 * gnatcmd.adb: Minor reformatting.
9204 * exp_attr.adb: Minor reformatting.
9205
92062011-08-02 Ed Schonberg <schonberg@adacore.com>
9207
9208 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
9209 No_Dispatching_Calls, do not look for the Assign primitive, because
9210 predefined primitives are not created in this case.
9211
92122011-08-02 Bob Duff <duff@adacore.com>
9213
9214 * stylesw.ads: Minor comment fixes.
9215
92162011-08-02 Robert Dewar <dewar@adacore.com>
9217
9218 * freeze.adb (Add_To_Result): New procedure.
9219
92202011-08-02 Jose Ruiz <ruiz@adacore.com>
9221
9222 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
9223 time, if the specific run-time routines for handling streams of strings
9224 are not available, use the default mechanism.
9225
92262011-08-02 Arnaud Charlet <charlet@adacore.com>
9227
9228 * s-regpat.ads: Fix typo.
9229
92302011-08-02 Vincent Celier <celier@adacore.com>
9231
9232 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
9233 not null, call it to create the in memory config project file without
9234 parsing an existing default config project file.
9235
92362011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9237
9238 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
9239
92402011-08-02 Ed Schonberg <schonberg@adacore.com>
9241
9242 * sem_elim.adb: an abstract subprogram does not need an eliminate
9243 pragma for its descendant to be eliminable.
9244
92452011-08-02 Ed Falis <falis@adacore.com>
9246
9247 * init.c: revert to handling before previous checkin for VxWorks
9248 * s-intman-vxworks.adb: delete unnecessary declarations related to
9249 using Ada interrupt facilities for handling signals.
9250 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
9251 * s-intman-vxworks.ads: Import __gnat_install_handler as
9252 Initialize_Interrupts.
9253 * s-taprop-vxworks.adb: Delete Signal_Mask.
9254 (Abort_Handler): change construction of mask to unblock exception
9255 signals.
9256
92572011-08-02 Jerome Guitton <guitton@adacore.com>
9258
9259 * a-except-2005.adb (Raise_From_Signal_Handler): Call
9260 Debug_Raise_Exception before propagation starts.
9261
92622011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9263
9264 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
9265 to Restriction_Check_Required.
9266 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
9267 * sem_res.adb (Resolve_Call): Likewise.
9268 * sem_attr.adb (Check_Stream_Attribute): Likewise.
9269
92702011-08-02 Bob Duff <duff@adacore.com>
9271
9272 * stylesw.ads: Update comment.
9273 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
9274 * errout.ads: Remove obsolete comment.
9275
92762011-08-02 Javier Miranda <miranda@adacore.com>
9277
9278 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
9279 (Set_Is_Safe_To_Reevaluate): new procedure.
9280 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
9281 assignment is allowed on safe-to-reevaluate variables.
9282 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
9283 temporary created to remove side effects in expressions that use
9284 the secondary stack as safe-to-reevaluate.
9285 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
9286 variables that are not true constants.
9287
92882011-08-02 Robert Dewar <dewar@adacore.com>
9289
9290 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
9291 sem_res.adb, sem_ch6.adb: Minor reformatting.
9292
92932011-08-02 Jerome Guitton <guitton@adacore.com>
9294
9295 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
9296
92972011-08-02 Ed Schonberg <schonberg@adacore.com>
9298
9299 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
9300 not set Overridden_Operation if subprogram is an initialization
9301 procedure.
9302
93032011-08-02 Yannick Moy <moy@adacore.com>
9304
9305 * par-ch6.adb: Correct obsolete name in comments
9306 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
9307 which takes two message arguments (existing function takes one), with
9308 second message used for continuation.
9309 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
9310 block statements that originate from a source block statement, not
9311 generated block statements
9312 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
9313 symmetry with procedure case
9314 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
9315 function to issue an error in formal mode if a package specification
9316 contains more than one tagged type or type extension.
9317 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
9318 parameters matching formals of tagged types are objects (or ancestor
9319 type conversions of objects), not general expressions. Issue an error
9320 on view conversions that are not involving ancestor conversion of an
9321 extended type.
9322 (Resolve_Type_Conversion): in formal mode, issue an error on the
9323 operand of an ancestor type conversion which is not an object
9324 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
9325 procedure so that it works also for actuals of function calls
9326 (Is_Actual_Tagged_Parameter): new function which determines if its
9327 argument is an actual parameter of a formal of tagged type in a
9328 subprogram call
9329 (Is_SPARK_Object_Reference): new function which determines if the tree
9330 referenced by its argument represents an object in SPARK
9331
93322011-08-02 Robert Dewar <dewar@adacore.com>
9333
9334 * sem_ch3.adb: Minor reformatting
9335 Minor comment addition
9336 Minor error msg text change
9337
93382011-08-02 Javier Miranda <miranda@adacore.com>
9339
9340 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
9341 function. Used to be more precise when we generate a variable plus one
9342 assignment to remove side effects in the evaluation of the Bound
9343 expressions.
9344 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
9345 of the bound expression to force its re-analysis and thus expand the
9346 associated transient scope (if required). Code cleanup replacing the
9347 previous code that declared the constant entity by an invocation to
9348 routine Force_Evaluation which centralizes this work in the frontend.
9349
93502011-08-02 Robert Dewar <dewar@adacore.com>
9351
9352 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
9353 (Base_Type): Now uses improved Is_Base_Type function
9354 * einfo.ads (Base_Type): Inline this function
9355
93562011-08-02 Robert Dewar <dewar@adacore.com>
9357
9358 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
9359 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
9360
93612011-08-02 Arnaud Charlet <charlet@adacore.com>
9362
9363 * gcc-interface/Make-lang.in: Update dependencies.
9364 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
9365 targets.
9366
93672011-08-02 Yannick Moy <moy@adacore.com>
9368
9369 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
9370 non-simple expression used in delta constraint
9371 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
9372 index constraint which is not a subtype mark
9373 * par.adb: With and use Restrict
9374 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
9375 mode on component type which is not a subtype mark and default
9376 expression on component
9377 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
9378 of string which does not have a lower index bound equal to 1
9379 (Array_Type_Declaration): issue an error in formal mode on index or
9380 component type which is not a subtype mark, and on aliased keyword on
9381 component
9382 (Derived_Type_Declaration): issue an error in formal mode on interface,
9383 limited or abstract type
9384 (Record_Type_Declaration): issue an error in formal mode on interface
9385 (Record_Type_Definition): issue an error in formal mode on tagged types
9386 and type extensions not declared in the specification of a library unit
9387 package; on null non-tagged record; on variant part
9388
93892011-08-02 Vincent Celier <celier@adacore.com>
9390
9391 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
9392 not declared for qualified library project when Library_Name is not
9393 declared, but Library_Dir is.
9394
93952011-08-02 Robert Dewar <dewar@adacore.com>
9396
9397 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
9398 pragmas (affects aspects [Component_]Default_Value
9399 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
9400 component type for the resolution
9401
94022011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9403
9404 * einfo.adb (Base_Type): Tune implementation for speed.
9405
94062011-08-02 Robert Dewar <dewar@adacore.com>
9407
9408 * freeze.adb: Minor reformatting.
9409
94102011-08-02 Thomas Quinot <quinot@adacore.com>
9411
9412 * scos.ads: Update comments.
9413
94142011-08-02 Ed Schonberg <schonberg@adacore.com>
9415
9416 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
9417 base type, because the parent may be a subtype of a private type whose
9418 convention is established in a private part.
9419
94202011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
9421
9422 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
9423 statement in a block when the expansion of the return expression has
9424 created a finalization chain.
9425 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
9426 with the parent node.
9427 Add N_Extended_Return_Statement to handle the case where a transient
9428 object declaration appears in the Return_Object_Declarations list of
9429 an extended return statement.
9430
94312011-08-02 Matthew Gingell <gingell@adacore.com>
9432
9433 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
9434 unused parameter 'name'.
9435
94362011-08-02 Ed Schonberg <schonberg@adacore.com>
9437
9438 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
9439 inherited operation, check whether its alias, which is the source
9440 operastion that it renames, has been marked eliminated.
9441
94422011-08-02 Javier Miranda <miranda@adacore.com>
9443
9444 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
9445 in-mode parameter whose type is an access type since it can be used to
9446 modify its designated object. Enforce code that handles as safe an
9447 access type that is not access-to-constant but it is the result of a
9448 previous removal of side-effects.
9449 (Remove_Side_Effects): Minor code reorganization of cases which require
9450 no action. Done to incorporate documentation on new cases uncovered
9451 working in this ticket: no action needed if this routine was invoked
9452 too early and the nodes are not yet decorated.
9453 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
9454 to routine Remove_Side_Effects by calls to Force_Evaluation since they
9455 were issued with actuals that are implicitly provided by
9456 Force_Evaluation.
9457
94582011-08-02 Robert Dewar <dewar@adacore.com>
9459
9460 * sem_ch3.adb, sem_res.adb: Minor reformatting.
9461
94622011-08-02 Yannick Moy <moy@adacore.com>
9463
9464 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
9465 to issue an error in formal mode on attribute not supported in this mode
9466 (Analyze_Attribute): issue errors on standard attributes not supported
9467 in formal mode.
9468 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
9469 comment, and issue error in formal mode on modulus which is not a power
9470 of 2.
9471 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
9472 range.
9473 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
9474 subtype mark.
9475 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
9476 operator on modular type (except 'not').
9477
94782011-08-02 Robert Dewar <dewar@adacore.com>
9479
9480 * gnat_rm.texi: Minor reformatting.
9481
94822011-08-02 Arnaud Charlet <charlet@adacore.com>
9483
9484 * s-osinte-linux.ads: Minor comment update and reformatting.
9485 * i-cexten.ads: Make this unit pure, as for its parent.
9486 Will allow its usage in more contexts if needed.
9487
94882011-08-02 Robert Dewar <dewar@adacore.com>
9489
9490 * s-utf_32.ads: Minor comment fix.
9491
94922011-08-02 Ed Schonberg <schonberg@adacore.com>
9493
9494 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
9495 operation of a tagged synchronized type, handle the case where the
9496 controlling argument is overloaded.
9497
94982011-08-02 Yannick Moy <moy@adacore.com>
9499
9500 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
9501 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
9502 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
9503 SPARK mode and formal verification mode on processing SPARK restriction
9504 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
9505 requiring consistency checking.
9506
95072011-08-02 Robert Dewar <dewar@adacore.com>
9508
9509 * sem_res.adb: Minor reformatting.
9510
95112011-08-02 Robert Dewar <dewar@adacore.com>
9512
9513 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
9514 a-cforse.ads: Remove unneeded with of Ada.Containers
9515 Remove commented out pragma Inline's
9516 Move specifications of new subprograms to the actual specs
9517
95182011-08-02 Yannick Moy <moy@adacore.com>
9519
9520 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
9521 a-cforse.ads: Update comments.
9522
95232011-08-02 Ed Schonberg <schonberg@adacore.com>
9524
9525 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
9526
95272011-08-02 Robert Dewar <dewar@adacore.com>
9528
9529 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
9530 a-cforse.ads, a-cofove.ads: Minor reformatting.
9531
95322011-08-02 Claire Dross <dross@adacore.com>
9533
9534 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
9535 a-cofove.ads: Add comments.
9536
95372011-08-02 Yannick Moy <moy@adacore.com>
9538
9539 * gnat_rm.texi: Document formal containers.
9540
95412011-08-02 Emmanuel Briot <briot@adacore.com>
9542
9543 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
9544 are empty sections.
9545
95462011-08-02 Robert Dewar <dewar@adacore.com>
9547
9548 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
9549 reformatting.
9550
95512011-08-02 Robert Dewar <dewar@adacore.com>
9552
9553 * aspects.adb: New aspects Default_Value and Default_Component_Value
9554 New format of Aspect_Names table checks for omitted entries
9555 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
9556 handling of boolean aspects for derived types.
9557 New aspects Default_Value and Default_Component_Value
9558 New format of Aspect_Names table checks for omitted entries
9559 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
9560 (Has_Default_Value): New flag
9561 (Has_Default_Component_Value): New flag
9562 (Has_Default_Value): New flag
9563 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
9564 table.
9565 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
9566 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
9567 Default_Value and Default_Component_Value
9568 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
9569 New aspects Default_Value and Default_Component_Value
9570 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
9571 * sprint.adb: Print N_Aspect_Specification node when called from gdb
9572
95732011-08-02 Vincent Celier <celier@adacore.com>
9574
9575 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
9576 inherit library kind.
9577
95782011-08-02 Ed Schonberg <schonberg@adacore.com>
9579
9580 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
9581 Minor reformatting.
9582
95832011-08-02 Robert Dewar <dewar@adacore.com>
9584
9585 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
9586
95872011-08-02 Yannick Moy <moy@adacore.com>
9588
9589 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
9590
95912011-08-02 Robert Dewar <dewar@adacore.com>
9592
9593 * impunit.adb: Add comment.
9594
95952011-08-02 Yannick Moy <moy@adacore.com>
9596
9597 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
9598 qualification of aggregates in formal mode
9599 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
9600 another aggregate
9601 (Resolve_Aggregate): complete the test that an aggregate is adequately
9602 qualified in formal mode
9603
96042011-08-02 Pascal Obry <obry@adacore.com>
9605
9606 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
9607 * mlib-prj.adb: Supress warning when compiling binder generated file.
9608 (Build_Library): Supress all warnings when compiling the binder
9609 generated file.
9610
96112011-08-02 Yannick Moy <moy@adacore.com>
9612
9613 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
9614 from here...
9615 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
9616 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
9617 Add with/use clauses to make Check_Formal_Restriction visible
9618
96192011-08-02 Ed Schonberg <schonberg@adacore.com>
9620
9621 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
9622 in-parameters when type of the generic formal is private in the generic
9623 spec and non-private in the body.
9624
96252011-08-02 Claire Dross <dross@adacore.com>
9626
9627 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
9628 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
9629 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
9630 * impunit.adb, Makefile.rtl: Take new files into account.
9631
96322011-08-02 Robert Dewar <dewar@adacore.com>
9633
9634 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
9635 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
9636
96372011-08-02 Yannick Moy <moy@adacore.com>
9638
9639 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
9640 formal mode
9641 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
9642 matching static array bounds, taking into account the special case of
9643 string literals
9644 * sem_ch3.adb: Typo in comment.
9645
96462011-08-02 Yannick Moy <moy@adacore.com>
9647
9648 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
9649 which issues an error in formal mode if its argument node is originally
9650 from source
9651 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
9652 has a discriminant specification so that it does not include the case
9653 of derived types
9654 (Derived_Type_Declaration): move here the test that a derived type has a
9655 discriminant specification
9656 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
9657 first element of a component association before accessing its choices
9658 (presence of component association is not enough)
9659 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
9660 declaration is a library item before accessing the next element in a
9661 list, as library items are not member of lists
9662 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
9663 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
9664 Check_Formal_Restriction whenever possible.
9665
96662011-08-02 Ed Schonberg <schonberg@adacore.com>
9667
9668 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
9669 reference when needed.
9670
96712011-08-02 Bob Duff <duff@adacore.com>
9672
9673 * gnat_ugn.texi: Fix typo.
9674
96752011-08-02 Vincent Celier <celier@adacore.com>
9676
9677 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
9678 archive file name. Do not use the full path name of archives for Open
9679 VMS.
9680
96812011-08-02 Robert Dewar <dewar@adacore.com>
9682
9683 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
9684 Analyze_Aspect_Specifications
9685 * sem_ch13.adb
9686 (Analyze_Aspect_Specifications): New handling for boolean aspects
9687 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
9688 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
9689 sequence for Analyze_Aspect_Specifications
9690 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
9691 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
9692
96932011-08-02 Robert Dewar <dewar@adacore.com>
9694
9695 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
9696 aspects, since these no longer exist.
9697
96982011-08-02 Robert Dewar <dewar@adacore.com>
9699
9700 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
9701 semicolon, do not try to see if there are aspects following it.
9702 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
9703 aspect spec.
9704
97052011-08-02 Robert Dewar <dewar@adacore.com>
9706
9707 * sem_ch8.adb, aspects.ads: Minor reformatting.
9708
97092011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9710
9711 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
9712 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
9713 extracted from...
9714 (Analyze_Aspect_Specifications): ...here. Call above procedure.
9715
97162011-08-02 Yannick Moy <moy@adacore.com>
9717
9718 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
9719 mode on subprogram declaration outside of package specification, unless
9720 it is followed by a pragma Import
9721 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
9722 Access_Type_Declaration): issue error in formal mode on access type
9723 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
9724 incomplete type
9725 (Analyze_Object_Declaration): issue error in formal mode on object
9726 declaration which does not respect SPARK restrictions
9727 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
9728 declaration which does not respect SPARK restrictions
9729 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
9730 error in formal mode on digits or delta constraint
9731 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
9732 decimal fixed point type
9733 (Derived_Type_Declaration): issue error in formal mode on derived type
9734 other than type extensions of tagged record types
9735 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
9736 with check on access definition
9737 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
9738 mode on protected definition.
9739 (Analyze_Task_Definition): issue error in formal mode on task definition
9740
97412011-08-02 Robert Dewar <dewar@adacore.com>
9742
9743 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
9744
97452011-08-02 Javier Miranda <miranda@adacore.com>
9746
9747 * sem_ch6.adb (Can_Override_Operator): New function.
9748 (Verify_Overriding_Indicator): Add missing code to check overriding
9749 indicator in operators. Fixes regression.
9750 (Check_Overriding_Indicator): Minor reformating after replacing the
9751 code that evaluates if the subprogram can override an operator by
9752 invocations to the above new function.
9753 * einfo.adb
9754 (Write_Field26_Name): Add missing code to ensure that, following
9755 the documentation in einfo.ads, this field is not shown as attribute
9756 "Static_Initialization" on non-dispatching functions.
9757
97582011-08-02 Jose Ruiz <ruiz@adacore.com>
9759
9760 * sem_res.adb (Resolve_Call): A call to
9761 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
9762 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
9763 i.e., when the second parameter is of type Time_Span.
9764
97652011-08-02 Vincent Celier <celier@adacore.com>
9766
9767 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
9768 with an archive instead of -L<library dir> -l<library name>.
9769
97702011-08-02 Ed Schonberg <schonberg@adacore.com>
9771
9772 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
9773 mark the base types In_Use in addition to making the operations
9774 use_visible.
9775
97762011-08-02 Ed Falis <falis@adacore.com>
9777
9778 * init.c: add and setup __gnat_signal_mask for the exception signals
9779 * s-inmaop-vxworks.adb: new file.
9780 * s-intman-vxworks.adb: remove unnecessary initializations and
9781 simplify remaining
9782 * s-intman-vxworks.ads: remove unnecessary variable
9783 * s-taprop-vxworks.adb: simplify signal initialization
9784
97852011-08-02 Robert Dewar <dewar@adacore.com>
9786
9787 * sem_ch8.adb: Minor code reorganization, comment updates.
9788
97892011-08-02 Robert Dewar <dewar@adacore.com>
9790
9791 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
9792 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
9793 here from Sem_Res.
9794 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
9795 (Matching_Static_Array_Bounds): Moved here from Sem_Res
9796
97972011-08-02 Ed Schonberg <schonberg@adacore.com>
9798
9799 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
9800 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
9801 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
9802 use_type_clauses, to handle more efficiently use_type and use_all_type
9803 constructs.
9804 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
9805 Ada2012 Use_All_Type clause.
9806 (Use_Class_Wide_Operations): new procedure.
9807
98082011-08-02 Robert Dewar <dewar@adacore.com>
9809
9810 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
9811 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
9812 expression to expression function.
9813
98142011-08-02 Ed Schonberg <schonberg@adacore.com>
9815
9816 * sem_ch4.adb: transform simple Ada2012 membership into equality only
9817 if types are compatible.
9818
98192011-08-02 Yannick Moy <moy@adacore.com>
9820
9821 * sem_res.adb (Matching_Static_Array_Bounds): new function which
9822 returns True if its argument array types have same dimension and same
9823 static bounds at each index.
9824 (Resolve_Actuals): issue an error in formal mode on actuals passed as
9825 OUT or IN OUT paramaters which are not view conversions in SPARK.
9826 (Resolve_Arithmetic_Op): issue an error in formal mode on
9827 multiplication or division with operands of fixed point types which are
9828 not qualified or explicitly converted.
9829 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
9830 Boolean or array type (except String) operands.
9831 (Resolve_Equality_Op): issue an error in formal mode on equality
9832 operators for array types other than String with non-matching static
9833 bounds.
9834 (Resolve_Logical_Op): issue an error in formal mode on logical operators
9835 for array types with non-matching static bounds. Factorize the code in
9836 Matching_Static_Array_Bounds.
9837 (Resolve_Qualified_Expression): issue an error in formal mode on
9838 qualified expressions for array types with non-matching static bounds.
9839 (Resolve_Type_Conversion): issue an error in formal mode on type
9840 conversion for array types with non-matching static bounds
9841
98422011-08-02 Robert Dewar <dewar@adacore.com>
9843
9844 * par-ch10.adb: Minor code reorganization (use Nkind_In).
9845
98462011-08-02 Ed Schonberg <schonberg@adacore.com>
9847
9848 * par-ch9.adb: save location of entry for proper error message.
9849
98502011-08-02 Javier Miranda <miranda@adacore.com>
9851
9852 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
9853 (Use_Full_View) which permits this routine to climb through the
9854 ancestors using the full-view of private parents.
9855 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
9856 Use_Full_View to true in calls to Is_Ancestor.
9857 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
9858 true in call to Is_Ancestor.
9859 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
9860 Use_Full_View to true in call to Is_Ancestor.
9861 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
9862 call to Is_Ancestor.
9863 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
9864 Use_Full_View to true in calls to Is_Ancestor.
9865 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
9866 Make_Select_Specific_Data_Table, Register_Primitive,
9867 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
9868 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
9869 to true in call to Is_Ancestor.
9870 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
9871 Use_Full_View to true in calls to Is_Ancestor.
9872 * exp_cg.adb
9873 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
9874 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
9875
98762011-08-02 Robert Dewar <dewar@adacore.com>
9877
9878 * gnat_rm.texi: Minor reformatting.
9879 * sem_prag.adb: Minor reformatting.
9880
98812011-08-02 Tristan Gingold <gingold@adacore.com>
9882
9883 * vms_data.ads: Add VMS qualifier for -gnateP.
9884
98852011-08-02 Robert Dewar <dewar@adacore.com>
9886
9887 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
9888 * par-ch7.adb (P_Package): Proper placement of aspects for package
9889 decl/instantiation.
9890 * par-endh.adb (Check_End): Ad Is_Sloc parameter
9891 (End_Statements): Add Is_Sloc parameterr
9892 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
9893 (Check_End): Ad Is_Sloc parameter
9894 (End_Statements): Add Is_Sloc parameterr
9895
98962011-08-02 Vincent Celier <celier@adacore.com>
9897
9898 * ug_words: Add VMS qualifier equivalent to -gnateP:
9899 /SYMBOL_PREPROCESSING.
9900
99012011-08-02 Jose Ruiz <ruiz@adacore.com>
9902
9903 * gnat-style.texi: For hexadecimal numeric literals the typical
9904 grouping of digits is 4 to represent 2 bytes.
9905 A procedure spec which is split into several lines is indented two
9906 characters.
9907
99082011-08-02 Yannick Moy <moy@adacore.com>
9909
9910 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
9911 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
9912 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
9913 properly qualified
9914 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
9915 choice in array aggregate
9916 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
9917 mark as ancestor
9918 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
9919 positional and named aggregate for record, or others in record
9920 aggregate, or multiple choice in record aggregate
9921 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
9922 array operands to logical operations AND, OR and XOR do not have the
9923 same static lower and higher bounds
9924 * sem_ch5.adb, sinfo.ads: Correct typos in comments
9925
99262011-08-01 Robert Dewar <dewar@adacore.com>
9927
9928 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
9929 Replaces Last_Source_Node_In_Sequence.
9930 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
9931 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
9932 parens and blank in string (this was inconsistently implemented).
9933 * errout.ads
9934 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
9935 blank in string (this was inconsistently implemented).
9936 * gnat1drv.adb
9937 (Set_Global_Switches): Set formal mode switches appropriately
9938 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
9939 * par-prag.adb
9940 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
9941 call Set_Error_Msg_Lang to set "spark" as language name.
9942 * par.adb: Remove unnecessary call to set formal language for errout
9943 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
9944 appropriately and call Set_Error_Msg_Lang to set "spark" as language
9945 name.
9946 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
9947 calls to it, moved after resolution so that types are known
9948 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
9949 result of concatenation is not of type String
9950 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
9951 concatenation is not properly restricted
9952 * gnat_rm.texi: Add doc on pragma Spark_95.
9953 * gcc-interface/Makefile.in: Remove obsolete target pairs for
9954 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
9955 * gcc-interface/Make-lang.in: Update dependencies.
9956
99572011-08-01 Javier Miranda <miranda@adacore.com>
9958
9959 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
9960 condition that detects if the overridden operation must replace an
9961 existing entity.
9962
99632011-08-01 Javier Miranda <miranda@adacore.com>
9964
9965 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
9966 code declarations inserted by Insert_Actions in each alternative of the
9967 N_Case_Expression node.
9968
99692011-08-01 Robert Dewar <dewar@adacore.com>
9970
9971 * sem_ch6.adb: Minor code reorganization.
9972 * sem_util.adb: Minor reformatting.
9973
99742011-08-01 Pascal Obry <obry@adacore.com>
9975
9976 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
9977 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
9978
99792011-08-01 Yannick Moy <moy@adacore.com>
9980
9981 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
9982 literal or operator symbol which is prefixed
9983 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
9984 mode on access attributes.
9985 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
9986 that concatenation operands are properly restricted in formal mode
9987 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
9988 Analyze_Concatenation_Operand. Issue an error in formal mode if the
9989 result of the concatenation has a type different from String.
9990 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
9991 Analyze_Quantified_Expression, Analyze_Slice,
9992 Analyze_Null): issue an error in formal mode on unsupported constructs
9993 * sem_ch5.adb
9994 (Analyze_Block_Statement): only issue error on source block statement
9995 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
9996 function which returns the last node in a list of nodes for which
9997 Comes_From_Source returns True, if any
9998 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
9999 Last_Source_Node_In_Sequence
10000 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
10001 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
10002 mode on unsupported constructs
10003 * sem_ch9.adb Do not return after issuing error in formal mode, as the
10004 rest of the actions may be needed later on since the error is marked as
10005 not serious.
10006 * sinfo.ads: Typos in comments.
10007
100082011-08-01 Pascal Obry <obry@adacore.com>
10009
10010 * projects.texi: Minor editing.
10011
100122011-08-01 Yannick Moy <moy@adacore.com>
10013
10014 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
10015 insertion character ~~
10016 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
10017 (Set_Error_Msg_Lang): new procedure which fixes the language for use
10018 with insertion character ~~
10019 (Set_Msg_Text): treat insertion character ~~
10020 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
10021 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
10022 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
10023 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
10024 errors related to the formal language restriction not serious
10025 (insertion character |).
10026 * par.adb (Par): set formal language for error messages if needed
10027 * sem_ch6.adb (Check_Missing_Return): take into account possible
10028 generated statements at the end of the function
10029 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
10030 enumeration value to define a new pragma SPARK_95
10031 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
10032 SPARK_Version): new type and variables to store the SPARK version
10033 (none by default).
10034 (SPARK_Mode): return True when SPARK_Version is set
10035 * par-prag.adb: Correct indentation
10036 (Prag): take Pragma_SPARK_95 into account
10037 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
10038 into account.
10039
100402011-08-01 Robert Dewar <dewar@adacore.com>
10041
10042 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
10043 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
10044 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
10045
100462011-08-01 Pascal Obry <obry@adacore.com>
10047
10048 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
10049 Target_Name to Get_Path call.
10050 (Parse_Single_Project): Likewise.
10051 (Post_Parse_Context_Clause): Likewise.
10052 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
10053 Call Initialise_Project_Path with the proper Target_Name.
10054 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
10055 search path.
10056 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
10057 with the proper Target_Name.
10058 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
10059 Part.Parse routine.
10060 (Parse_Project_And_Apply_Config): Likewise.
10061 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
10062 This is fine as this part of the code is supporting only native
10063 compilation.
10064 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
10065 is fine as this part of the code is supporting only native compilation.
10066
100672011-08-01 Yannick Moy <moy@adacore.com>
10068
10069 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
10070 of homonym, unless the homonym is one of the cases allowed in SPARK
10071 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
10072 package declaration occurring after a body.
10073
100742011-08-01 Robert Dewar <dewar@adacore.com>
10075
10076 * checks.adb, exp_ch4.adb: Minor reformatting.
10077
100782011-08-01 Javier Miranda <miranda@adacore.com>
10079
10080 * einfo.ads (Access_Disp_Table): Fix documentation.
10081 (Dispatch_Table_Wrappers): Fix documentation.
10082
100832011-08-01 Pascal Obry <obry@adacore.com>
10084
10085 * prj-env.adb, prj-env.ads: Minor reformatting.
10086
100872011-08-01 Yannick Moy <moy@adacore.com>
10088
10089 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
10090 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
10091 procedures out of these packages.
2c7f9cc0 10092 * errout.ads, errout.adb
052e0603
AC
10093 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
10094 procedures in of this package
10095 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
10096 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
10097 on misplaced later vs initial declarations, like in Ada 83
10098 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
10099 formal mode on attribute of private type whose full type declaration
10100 is not visible
10101 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
10102 package declaration inside a package specification
10103 (Analyze_Full_Type_Declaration): issue error in formal mode on
10104 controlled type or discriminant type
10105 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
10106 user-defined operator means that it should come from the source
10107 (New_Overloaded_Entity): issue error in formal mode on overloaded
10108 entity.
10109 * sem_ch6.ads, sem_ch13.ads: typos in comments.
10110
101112011-08-01 Thomas Quinot <quinot@adacore.com>
10112
10113 * atree.adb: Minor reformatting.
10114 * checks.adb: Minor reformatting.
10115
101162011-08-01 Vincent Celier <celier@adacore.com>
10117
10118 * s-parame-vms-ia64.ads: Fix typo in comment
10119 Minor reformatting
10120 * s-parame-vms-restrict.ads: Removed, unused.
10121
101222011-08-01 Javier Miranda <miranda@adacore.com>
10123
10124 * exp_ch3.adb
10125 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
10126 * sem_ch3.adb
10127 (Constrain_Index): Remove side effects in the evaluation of the bounds.
10128 * sem_ch3.ads, sem_ch3.adb
10129 (Is_Constant_Bound): New extended version of the subprogram that was
10130 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
10131 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
10132 * sem_aux.ads (Constant_Value): Fix typo in comment.
10133 * checks.adb (Generate_Index_Checks): New implementation which, for
10134 array objects with constant bounds, generates the runtime check
10135 referencing the bounds of the array type. For other cases this routine
10136 provides its previous behavior obtaining such values from the array
10137 object.
10138 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
10139 parent type.
10140 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
10141 we cannot have semantic interpretations of the new node.
10142
101432011-08-01 Ed Schonberg <schonberg@adacore.com>
10144
10145 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
10146 expressions.
10147
101482011-08-01 Arnaud Charlet <charlet@adacore.com>
10149
10150 * sem_ch8.adb: Minor code editing.
10151 * s-vxwext.adb: Remove trailing space.
10152 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
10153 consistency with other files.
10154
101552011-08-01 Thomas Quinot <quinot@adacore.com>
10156
10157 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
10158
101592011-08-01 Ed Schonberg <schonberg@adacore.com>
10160
10161 * par-ch10.adb: reject parameterized expressions as compilation unit.
10162 * sem_ch4.adb: handle properly conditional expression with overloaded
10163 then_clause and no else_clause.
10164
101652011-08-01 Tristan Gingold <gingold@adacore.com>
10166
10167 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
10168 like done by System.Aux_DEC.
10169 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
10170
101712011-08-01 Yannick Moy <moy@adacore.com>
10172
10173 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
10174 missing label at end of declaration (subprogram or package)
10175 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
10176 of positional and named parameter association
10177 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
10178 Error_Msg_SP which adds a prefix to the error message giving the name
10179 of the formal language analyzed
10180 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
10181 access result type in subprogram, unconstrained array as result type,.
10182 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
10183 procedure
10184 * sem_ch8.adb: Code clean up.
10185
101862011-08-01 Javier Miranda <miranda@adacore.com>
10187
10188 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
10189 * einfo.ads (Access_Disp_Table): Fix documentation.
10190 (Dispatch_Table_Wrappers): Fix documentation.
10191 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
10192 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
10193 to enforce the documentation of this attribute.
10194 (Set_Is_Interface): Cleanup the assertion.
10195 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
10196 the Underlying_Type entity before reading attribute Access_Disp_Table.
10197 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
10198 Locate the Underlying_Type before reading attribute Access_Disp_Table.
10199 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
10200 the Underlying_Type entity before reading attribute Access_Disp_Table.
10201 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
10202 Locate the Underlying_Type entity before reading attribute
10203 Access_Disp_Table.
10204
102052011-08-01 Ed Schonberg <schonberg@adacore.com>
10206
10207 * s-poosiz.ads: Additional overriding indicators.
10208
102092011-08-01 Yannick Moy <moy@adacore.com>
10210
10211 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
10212 formal mode.
10213 (Analyze_Iteration_Scheme): issue error in formal mode when loop
10214 parameter specification does not include a subtype mark.
10215 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
10216 formal mode on abstract subprogram.
10217 (Analyze_Subprogram_Specification): issue error in formal mode on
10218 user-defined operator.
10219 (Process_Formals): issue error in formal mode on access parameter and
10220 default expression.
10221 * sem_ch9.adb (Analyze_Abort_Statement,
10222 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
10223 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
10224 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
10225 Analyze_Requeue, Analyze_Selective_Accept,
10226 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
10227 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
10228 issue error in formal mode on user-defined raise statement.
10229
102302011-08-01 Thomas Quinot <quinot@adacore.com>
10231
10232 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
10233 declaration being hidden when overriding an implicit inherited
10234 subprogram.
10235 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
10236 (-gnats), do not complain about a source file that contains only a
10237 pragma No_Body.
10238
102392011-08-01 Ed Schonberg <schonberg@adacore.com>
10240
10241 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
10242 variable if already set.
10243
102442011-08-01 Arnaud Charlet <charlet@adacore.com>
10245
10246 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
10247 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
10248 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
10249 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
10250 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
10251 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
10252 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
10253 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
10254 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
10255 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
10256 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
10257 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
10258 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
10259 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
10260 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
10261 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
10262 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
10263 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
10264 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
10265 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
10266 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
10267 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
10268 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
10269 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
10270 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
10271 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
10272 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
10273 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
10274 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
10275 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
10276 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
10277 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
10278 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
10279 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
10280 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
10281 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
10282 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
10283 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
10284 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
10285 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
10286 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
10287 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
10288 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
10289 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
10290 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
10291 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
10292 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
10293 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
10294 s-osinte-mingw.ads: Update to GPLv3 run-time license.
10295 Use GNAT instead of GNARL.
10296
102972011-08-01 Bob Duff <duff@adacore.com>
10298
10299 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
10300 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
10301 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
10302 reformatting.
10303
103042011-08-01 Yannick Moy <moy@adacore.com>
10305
10306 * debug.adb (d.D) reverve flag for the SPARK mode
10307 (d.E) reverve flag for SPARK generation mode
10308 (d.F) reverve flag for Why generation mode
2c7f9cc0 10309 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
052e0603
AC
10310 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
10311 functions which return True when the corresponding modes are set
10312 (Formal_Language): return "spark" or "alfa" when in formal verification
10313 mode.
10314 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
10315 Error_Msg to prefix the error message with a tag giving the formal
10316 language
10317 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
10318 message with a tag giving the formal language
10319 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
10320 block statement
10321 (Analyze_Case_Statement): issue error in formal mode on case statement
10322 with a single "others" case alternative
10323 (Analyze_Exit_Statement): issue errors in formal mode on exit
10324 statements which do not respect SPARK restrictions
10325 (Analyze_Goto_Statement): issue error in formal mode on goto statement
10326 (Check_Unreachable_Code): always issue an error (not a warning) in
10327 formal mode on unreachable code (concerns both code after an infinite
10328 loop and after an unconditional jump, both not allowed in SPARK)
10329 * sem_ch6.adb (Analyze_Return_Statement): add call to
10330 Set_Return_Present for a procedure containing a return statement
10331 (already done for functions in Analyze_Function_Return)
10332 (Analyze_Function_Return): issue error in formal mode on extended
10333 return or if return is not last statement in function
10334 (Check_Missing_Return): issue error in formal mode if function does
10335 not end with return or if procedure contains a return
10336 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
10337 function to detect if there is an inner scope of its parameter S which
10338 is a loop.
10339
103402011-08-01 Thomas Quinot <quinot@adacore.com>
10341
10342 * sem_ch6.ads: Minor reformatting.
10343
103442011-08-01 Javier Miranda <miranda@adacore.com>
10345
10346 * sem_util.adb (Abstract_Interface_List): Complete condition when
10347 processing private type declarations to avoid reading unavailable
10348 attribute.
10349 (Is_Synchronized_Tagged_Type): Complete condition when processing
10350 private extension declaration nodes to avoid reading unavailable
10351 attribute.
10352
103532011-08-01 Thomas Quinot <quinot@adacore.com>
10354
10355 * sem_ch3.adb: Minor reformatting.
10356
103572011-08-01 Thomas Quinot <quinot@adacore.com>
10358
10359 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
10360 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
10361 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
10362 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
10363 for VMS, instead parametrize the common implementation with
10364 System.Parameters declarations.
10365
103662011-08-01 Eric Botcazou <ebotcazou@adacore.com>
10367
10368 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
10369
103702011-08-01 Tristan Gingold <gingold@adacore.com>
10371
10372 * seh_init.c: Fix SEH handler installation on win64.
10373
103742011-08-01 Ed Schonberg <schonberg@adacore.com>
10375
10376 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
10377 double analysis of an anonymous access to subprogram, because it can
10378 lead to improper sharing of profiles and a back-end crash.
10379
103802011-08-01 Robert Dewar <dewar@adacore.com>
10381
10382 * make.adb, sem_ch4.adb: Minor reformatting.
10383 * gcc-interface/Make-lang.in: Update dependencies.
10384 * sem_util.adb, exp_ch5.adb: Minor reformatting.
10385
103862011-08-01 Arnaud Charlet <charlet@adacore.com>
10387
10388 * gnat_rm.texi: Fix definition of Long_Integer.
10389
103902011-08-01 Ed Schonberg <schonberg@adacore.com>
10391
10392 * exp_aggr.adb: check limit size of static aggregate unconditionally,
10393 to prevent storage exhaustion.
10394 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
10395 finalized is a function body, insert the cleanup code before the final
10396 return statement, to prevent spurious warnings.
10397 * s-pooglo.ads: add overriding indicator.
10398
103992011-08-01 Ed Schonberg <schonberg@adacore.com>
10400
10401 * sem_ch4.adb (Operator_Check): improve error message when both a
10402 with_clause and a use_clause are needed to make operator usage legal.
10403 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
10404 determine whether a compilation unit is visible within an other,
10405 either through a with_clause in the current unit, or a with_clause in
10406 its library unit or one one of its parents.
10407
104082011-08-01 Ed Schonberg <schonberg@adacore.com>
10409
10410 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
10411 over an arbitrary expression of an array or container type.
10412 * lib-xref.adb: clarify comment.
10413
104142011-08-01 Bob Duff <duff@adacore.com>
10415
10416 * einfo.ads: Minor reformatting.
10417 * debug.adb: Minor comment improvement.
10418
104192011-08-01 Javier Miranda <miranda@adacore.com>
10420
10421 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
10422 consider hidden subprograms as valid candidates.
10423
104242011-08-01 Arnaud Charlet <charlet@adacore.com>
10425
10426 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
10427
104282011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
10429
10430 * gnat_ugn.texi: Fix typo.
10431
104322011-08-01 Robert Dewar <dewar@adacore.com>
10433
10434 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
10435 lib-xref.adb: Minor reformatting
10436
104372011-08-01 Gary Dismukes <dismukes@adacore.com>
10438
10439 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
10440 when to generate a call to Move_Final_List.
10441 (Has_Controlled_Parts): Remove this function.
10442
104432011-08-01 Geert Bosch <bosch@adacore.com>
10444
10445 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
10446 "," in choice list.
10447
104482011-08-01 Thomas Quinot <quinot@adacore.com>
10449
10450 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
10451 explicit raise of a predefined exception as Comes_From_Source if the
10452 original N_Raise_Statement comes from source.
10453
104542011-08-01 Robert Dewar <dewar@adacore.com>
10455
10456 * sinfo.ads: Add comment.
10457 * sem_ch6.adb: Minor reformatting.
10458
104592011-08-01 Robert Dewar <dewar@adacore.com>
10460
10461 * freeze.adb (Freeze_Entity): Refine check for bad component size
10462 clause to avoid rejecting confirming clause when atomic/aliased present.
10463
104642011-08-01 Ed Schonberg <schonberg@adacore.com>
10465
10466 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
10467 better determine whether an entity reference is a write.
10468 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
10469 subcomponent.
10470 * lib-xref.adb (Output_References): Do no suppress a read reference at
10471 the same location as an immediately preceeding modify-reference, to
10472 handle properly in-out actuals.
10473
104742011-08-01 Tristan Gingold <gingold@adacore.com>
10475
10476 * env.c (__gnat_setenv) [VMS]: Refine previous change.
10477
104782011-08-01 Quentin Ochem <ochem@adacore.com>
10479
10480 * i-cstrin.adb (New_String): Changed implementation, now uses only the
10481 heap to compute the result.
10482
104832011-08-01 Robert Dewar <dewar@adacore.com>
10484
10485 * atree.ads: Minor reformatting.
10486
104872011-08-01 Emmanuel Briot <briot@adacore.com>
10488
10489 * g-expect.adb (Get_Command_Output): Fix memory leak.
10490
104912011-08-01 Geert Bosch <bosch@adacore.com>
10492
10493 * cstand.adb (P_Float_Type): New procedure to print the definition of
10494 predefined fpt types.
10495 (P_Mixed_Name): New procedure to print a name using mixed case
10496 (Print_Standard): Use P_Float_Type for printing floating point types
10497 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
10498 precision IEEE float.
10499
105002011-08-01 Thomas Quinot <quinot@adacore.com>
10501
10502 * sem_ch3.adb: Minor reformatting.
10503
105042011-08-01 Ed Schonberg <schonberg@adacore.com>
10505
10506 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
10507 the completion of a generic function, insert the new body rather than
10508 rewriting the original.
10509
105102011-08-01 Yannick Moy <moy@adacore.com>
10511
10512 * sinfo.ads, errout.ads: Typos in comments.
10513
105142011-08-01 Robert Dewar <dewar@adacore.com>
10515
10516 * par-endh.adb: Minor reformatting.
10517
105182011-08-01 Robert Dewar <dewar@adacore.com>
10519
10520 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
10521 (Pre_Post_Aspects): New subtype.
10522 * par-ch12.adb (P_Generic): New syntax for aspects in packages
10523 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
10524 * par-ch7.adb (P_Package): Remove Decl parameter
10525 (P_Package): Handle new syntax for aspects (before IS)
10526 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
10527 new aspect syntax
10528 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
10529 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
10530 (P_Package): Remove Decl parameter
10531 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
10532 aspects
10533 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
10534 specs
10535 * sem_util.ads, sem_util.adb (Static_Boolean): New function
10536 * sinfo.ads: Document new syntax for aspects in packages etc.
10537 * sprint.adb: Handle new syntax of aspects before IS in package
10538
105392011-08-01 Thomas Quinot <quinot@adacore.com>
10540
10541 * atree.ads: Minor reformatting.
10542 * sem_prag.adb: Minor reformatting.
10543
105442011-08-01 Robert Dewar <dewar@adacore.com>
10545
10546 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
10547 case expr alternative.
10548
105492011-08-01 Ed Schonberg <schonberg@adacore.com>
10550
10551 * sem_ch12.adb: Fix typo.
10552
105532011-08-01 Geert Bosch <bosch@adacore.com>
10554
10555 * sem_prag.adb (Check_No_Link_Name): New procedure.
10556 (Process_Import_Or_Interface): Use Check_No_Link_Name.
10557 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
10558 instead of Standard_Long_Long_Float_Size global. Preparation for
10559 eventual removal of per type constants.
10560 * exp_util.ads (Get_Stream_Size): New function returning the stream
10561 size value of subtype E.
10562 * exp_util.adb (Get_Stream_Size): Implement new function.
10563 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
10564 function.
10565 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
10566 * einfo.adb:
10567 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
10568
105692011-08-01 Geert Bosch <bosch@adacore.com>
10570
10571 * cstand.adb: Fix comments.
10572 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
10573 count of arguments.
10574
105752011-08-01 Robert Dewar <dewar@adacore.com>
10576
10577 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
10578
105792011-08-01 Geert Bosch <bosch@adacore.com>
10580
10581 * atree.ads: Fix comment.
10582
105832011-08-01 Robert Dewar <dewar@adacore.com>
10584
10585 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
10586 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
10587 * par.adb: Add with for Namet.Sp.
10588 * par-tchk.adb: Minor reformatting.
10589
105902011-08-01 Vincent Celier <celier@adacore.com>
10591
10592 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
10593 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
10594 of the init procedure of a SAL.
10595 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
10596 New procedure.
10597
105982011-08-01 Thomas Quinot <quinot@adacore.com>
10599
10600 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
10601 reformatting.
10602
106032011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10604
10605 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
10606
106072011-08-01 Thomas Quinot <quinot@adacore.com>
10608
10609 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
10610 conformant with its spec (return True only for types that have
10611 an overriding Initialize primitive operation that prevents them from
10612 having preelaborable initialization).
10613 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
10614 initialization for controlled types in Ada 2005 or later mode.
10615
106162011-08-01 Robert Dewar <dewar@adacore.com>
10617
10618 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
10619 Postcondition.
10620 (Same_Aspect): New function.
10621 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
10622 Type_Invariant, Precondition, Postcondition.
10623 * snames.ads-tmpl: Add Name_Type_Invariant.
10624
106252011-08-01 Robert Dewar <dewar@adacore.com>
10626
10627 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
10628 here.
10629 (Freeze_All_Ent): Fix error in handling inherited aspects.
10630 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
10631 already analyzed, but don't skip entire processing of a declaration,
10632 that's wrong in some cases of declarations being rewritten.
10633 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
10634 Don't delay for integer, string literals
10635 Treat predicates in usual manner for delay, remove special case code,
10636 not needed.
10637 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
10638 (Build_Predicate_Function): Update saved expression in aspect
10639 (Build_Invariant_Procedure): Update saved expression in aspect
10640 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
10641 of replacement of discriminant references if the reference is simple.
10642
106432011-08-01 Robert Dewar <dewar@adacore.com>
10644
10645 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
10646 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
10647 Static_Predicate and Dynamic_Predicate.
10648 (Build_Predicate_Function): Add processing for Static_Predicate
10649 and Dynamic_Predicate.
10650 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
10651 (From_Static_Predicate): New flag
10652 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
10653
106542011-08-01 Robert Dewar <dewar@adacore.com>
10655
10656 * usage.adb: Documentation cleanup for Ada version modes in usage.
10657 * expander.adb: Minor reformatting.
10658
106592011-08-01 Robert Dewar <dewar@adacore.com>
10660
10661 * atree.ads: Minor comment fix.
10662 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
10663 a-witeio.ads, sem_prag.adb: Minor reformatting.
10664
106652011-08-01 Doug Rupp <rupp@adacore.com>
10666
10667 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
10668 pointers. Use descrip.h header file for convenience. Add some
10669 comments.
10670
106712011-08-01 Robert Dewar <dewar@adacore.com>
10672
10673 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
10674 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
10675 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
10676 New procedure.
10677 (Check_Aspect_At_End_Of_Declarations): New procedure
10678 (Analye_Aspect_Specification): Minor changes for above procedures
10679 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
10680 specification node as well.
10681
106822011-08-01 Pascal Obry <obry@adacore.com>
10683
10684 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
10685 Windows files. Use GetFilesAttributes() in this case to check for file
10686 existence instead of returning with an error code.
10687
106882011-08-01 Vincent Celier <celier@adacore.com>
10689
10690 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
10691 High is above Source length.
10692
106932011-08-01 Robert Dewar <dewar@adacore.com>
10694
10695 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
10696
106972011-08-01 Robert Dewar <dewar@adacore.com>
10698
10699 * aspects.ads (Boolean_Aspects): New subtype.
10700 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
10701 for derived types in cases where the parent type and derived type have
10702 aspects.
10703 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
10704 with aspects when parent type also has aspects.
10705 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
10706 boolean expression at this point).
10707 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
10708 accordance with final decision on the Ada 2012 feature.
10709 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
10710
107112011-08-01 Matthew Heaney <heaney@adacore.com>
10712
10713 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
10714
107152011-08-01 Pascal Obry <obry@adacore.com>
10716
10717 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
10718 Fix Replace_Slice when High is above current string size.
10719 (Replace_Slice): Fix DL computation when High is above current
10720 string length.
10721
107222011-08-01 Gary Dismukes <dismukes@adacore.com>
10723
10724 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
10725
107262011-08-01 Matthew Heaney <heaney@adacore.com>
10727
10728 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
10729 of node.
10730
107312011-08-01 Pascal Obry <obry@adacore.com>
10732
10733 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
10734 reformatting.
10735
107362011-08-01 Ed Schonberg <schonberg@adacore.com>
10737
10738 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
10739 access to protected subprograms in generic bodies.
10740 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
10741 protected type, indicate that the convention of the subprogram is
10742 Convention_Protected, because it may be used in subsequent declarations
10743 within the protected declaration.
10744
107452011-08-01 Vincent Celier <celier@adacore.com>
10746
10747 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
10748 and "final" procedures when the name of the library is "ada", to avoid
10749 duplicate symbols "adainit" and "adafinal" in executables.
10750
107512011-08-01 Ed Schonberg <schonberg@adacore.com>
10752
10753 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
10754 quantified expression that appears within a postcondition and uses the
10755 Ada2012 'Result attribute.
10756
107572011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10758
10759 * init.c (__gnat_error_handler): Cast reason to int.
10760 (__gnat_install_handler): Explain sa_sigaction use.
10761
107622011-07-24 Eric Botcazou <ebotcazou@adacore.com>
10763
10764 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
10765 subprogram has copy-in copy-out parameters, try to promote the mode of
10766 the return type if it is passed in registers.
10767
107682011-07-24 Eric Botcazou <ebotcazou@adacore.com>
10769
10770 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
10771 left operand as addressable.
10772
107732011-07-24 Eric Botcazou <ebotcazou@adacore.com>
10774
10775 * gcc-interface/gigi.h (build_function_stub): Remove.
10776 (build_return_expr): Likewise.
10777 (convert_vms_descriptor): Declare.
10778 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
10779 (build_function_stub): Move to...
10780 * gcc-interface/utils2.c (build_return_expr): Move to...
10781 * gcc-interface/trans.c (build_function_stub): ...here.
10782 (build_return_expr): ...here.
10783 (Subprogram_Body_to_gnu): Add local variable for language_function.
10784 Disconnect the parameter attributes cache, if any, once done with it.
10785 Call end_subprog_body only after setting the end_locus.
10786 Build the stub associated with the function, if any, at the very end.
10787 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
10788 variables and streamline control flow.
10789
107902011-07-23 Arnaud Charlet <charlet@adacore.com>
10791
10792 PR ada/49819
10793 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
10794 g-trasym-dwarf.adb.
10795
107962011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10797
10798 PR bootstrap/49794
10799 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
10800 Assign to act.sa_sigaction.
10801 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
10802 current->return_address to char * before arithmetic.
10803
108042011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10805
10806 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
10807 Correct argument types.
10808 Extract code from reason.
10809 (__gnat_install_handler): Assign to act.sa_sigaction.
10810
108112011-07-21 Eric Botcazou <ebotcazou@adacore.com>
10812
10813 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
10814 (GNAT1_OBJS): ...here.
10815
108162011-07-15 Eric Botcazou <ebotcazou@adacore.com>
10817
10818 PR ada/48711
10819 * g-socthi-mingw.adb (Fill): Fix formatting.
10820
10821 * gcc-interface/gigi.h: Move around comment.
10822
108232011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10824
10825 PR ada/46350
10826 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
10827
108282011-07-14 Florian Weimer <fw@deneb.enyo.de>
10829
10830 PR ada/48711
10831 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
10832
108332011-07-13 Eric Botcazou <ebotcazou@adacore.com>
10834
10835 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
10836 range comparison if Pmode is SImode.
10837
108382011-07-12 Laurent GUERBY <laurent@guerby.net>
10839 Eric Botcazou <ebotcazou@adacore.com>
10840
10841 * adadecode.c: Wrap up in extern "C" block.
10842 * adadecode.h: Likewise.
10843 * adaint.c: Likewise. Remove 'const' keyword.
10844 * adaint.h: Likewise.
10845 * argv.c: Likewise.
10846 * atree.h: Likewise.
10847 * cio.c: Likewise.
10848 * cstreams.c: Likewise.
10849 * env.c: Likewise.
10850 * exit.c: Likewise.
10851 * fe.h: Likewise.
10852 * final.c: Likewise.
10853 * init.c: Likewise.
10854 * initialize.c: Likewise.
10855 * link.c: Likewise.
10856 * namet.h: Likewise.
10857 * nlists.h: Likewise.
10858 * raise.c: Likewise.
10859 * raise.h: Likewise.
10860 * repinfo.h: Likewise.
10861 * seh_init.c: Likewise.
10862 * targext.c: Likewise.
10863 * tracebak.c: Likewise.
10864 * uintp.h: Likewise.
10865 * urealp.h: Likewise.
10866 * xeinfo.adb: Wrap up generated C code in extern "C" block.
10867 * xsinfo.adb: Likewise.
10868 * xsnamest.adb: Likewise.
10869 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
10870 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
10871 * gcc-interface/misc.c: Likewise.
10872 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
10873 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
10874 ada/targext.o here...
10875 (GNAT_ADA_OBJS): ...and not here.
10876 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
10877 (GNATBIND_OBJS): Reorder.
10878
108792011-07-07 Richard Henderson <rth@redhat.com>
10880
10881 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
10882 dwarf2out_frame_init.
10883
108842011-07-07 Eric Botcazou <ebotcazou@adacore.com>
10885
10886 * gcc-interface/misc.c (gnat_init): Tweak previous change.
10887
108882011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10889
10890 PR target/39150
10891 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
10892
108932011-07-06 Richard Guenther <rguenther@suse.de>
10894
10895 * gcc-interface/misc.c (gnat_init): Merge calls to
10896 build_common_tree_nodes and build_common_tree_nodes_2.
10897 Re-initialize boolean_false_node.
10898
108992011-07-02 Eric Botcazou <ebotcazou@adacore.com>
10900 Olivier Hainque <hainque@adacore.com>
10901 Nicolas Setton <setton@adacore.com>
10902
10903 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
10904 the type according to the ARTIFICIAL_P parameter.
10905 (create_type_decl): Likewise.
10906 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
10907
109082011-07-01 Eric Botcazou <ebotcazou@adacore.com>
10909
10910 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
10911 (gnatbind): Likewise.
10912
109132011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10914
10915 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
10916
109172011-06-18 Eric Botcazou <ebotcazou@adacore.com>
10918
10919 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
10920 local variable throughout. Remove useless call to Base_Type.
10921 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
10922 Take it also into account for the volatileness of the field. Set the
10923 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
10924
109252011-06-18 Eric Botcazou <ebotcazou@adacore.com>
10926
10927 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
10928 on a dereference built for a by-ref object if it has an address clause.
10929
109302011-06-18 Eric Botcazou <ebotcazou@adacore.com>
10931
10932 * einfo.ads (Address_Taken): Document use for the second argument of
10933 Asm_Input and Asm_Output attributes.
10934 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
10935 argument is an entity name, then set Address_Taken on it.
10936 <Attribute_Asm_Output>: Likewise.
10937 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
10938 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
10939 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
10940 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
10941
109422011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
10943
10944 PR middle-end/46500
10945 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
10946
109472011-06-14 Joseph Myers <joseph@codesourcery.com>
10948
10949 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
10950 (ada/utils.o): Update dependencies.
10951 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
10952 ../../../libcpp/libcpp.a.
10953 * gcc-interface/utils.c: Include common/common-target.h.
10954 (process_attributes): Use targetm_common.have_named_sections.
10955
109562011-06-07 Richard Guenther <rguenther@suse.de>
10957
10958 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
10959 set_sizetype.
10960
109612011-06-06 Eric Botcazou <ebotcazou@adacore.com>
10962
10963 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
10964 TREE_THIS_NOTRAP flag.
10965
109662011-06-06 Eric Botcazou <ebotcazou@adacore.com>
10967
10968 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
10969 Fix thinko.
10970
109712011-06-06 Eric Botcazou <ebotcazou@adacore.com>
10972
10973 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
10974 constants whose full view has discriminants specially.
10975
109762011-06-06 Eric Botcazou <ebotcazou@adacore.com>
10977
10978 * gcc-interface/utils.c: Include diagnostic.h.
10979 (gnat_write_global_declarations): Output debug information for all
10980 global type declarations before finalizing the compilation unit.
10981 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
10982
109832011-05-25 Jakub Jelinek <jakub@redhat.com>
10984
10985 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
10986
109872011-05-25 Kai Tietz <ktietz@redhat.com>
10988
10989 * adaint.c (__gnat_to_canonical_file_list_next): Use array
10990 initialization instead of const/none-const pointer assignment.
10991
109922011-05-24 Joseph Myers <joseph@codesourcery.com>
10993
10994 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
10995 $(EXTRA_GNAT1_OBJS).
10996 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
10997 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
10998 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
10999 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
11000 libcommon-target.a instead of prefix.o.
11001
110022011-05-21 Joseph Myers <joseph@codesourcery.com>
11003
11004 PR ada/49097
11005 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
11006
110072011-05-20 Joseph Myers <joseph@codesourcery.com>
11008
11009 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
11010 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
11011 instead of version.o.
11012
110132011-05-18 Kai Tietz <ktietz@redhat.com>
11014
11015 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
11016 boolean_false_node instead of integer_zero_node.
11017 (convert_with_check): Likewise.
11018 * gcc-interface/decl.c (choices_to_gnu): Likewise.
11019
110202011-05-12 Eric Botcazou <ebotcazou@adacore.com>
11021
11022 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
11023 type of the parameter is an unconstrained array, convert the actual to
11024 the type of the formal in the In Out and Out cases as well.
11025
110262011-05-11 Nathan Froyd <froydnj@codesourcery.com>
11027
11028 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
11029 call build_function_type_array or build_varargs_function_type_array
11030 instead.
11031 (create_subprog_type): Don't call build_function_type; call
11032 build_function_type_vec instead.
11033
110342011-05-11 Nathan Froyd <froydnj@codesourcery.com>
11035
11036 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
11037 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
11038 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
11039
110402011-05-07 Eric Botcazou <ebotcazou@adacore.com>
11041
11042 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
11043
11044 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
11045 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
11046
110472011-05-05 Nathan Froyd <froydnj@codesourcery.com>
11048
11049 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
11050
110512011-05-05 Nathan Froyd <froydnj@codesourcery.com>
11052
11053 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
11054 instead of accessing TYPE_ARG_TYPES directly.
11055 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
11056
110572011-05-05 Eric Botcazou <ebotcazou@adacore.com>
11058
11059 PR ada/48844
11060 * gcc-interface/gigi.h (get_variant_part): Declare.
11061 * gcc-interface/decl.c (get_variant_part): Make global.
11062 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
11063 types have the same constant size, are record types and T1 has a
11064 variant part while T2 doesn't.
11065
110662011-05-05 Eric Botcazou <ebotcazou@adacore.com>
11067
11068 * gcc-interface/utils.c (begin_subprog_body): Do not call
11069 get_pending_sizes.
11070 (end_subprog_body): Likewise.
11071
110722011-05-04 Richard Guenther <rguenther@suse.de>
11073
11074 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
11075 int_const_binop.
11076 (pos_to_constructor): Likewise.
11077
110782011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 11079 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
11080
11081 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
11082 of build_function_type. Adjust calls to...
11083 (build_raise_check): ...this. Do not take a void_tree parameter.
11084 Call build_function_type_list instead of build_function_type.
11085 Fix head comment and swap couple of conditional blocks.
11086
110872011-04-30 Eric Botcazou <ebotcazou@adacore.com>
11088
11089 * gnatvsn.ads (Library_Version): Bump to 4.7.
11090 (Current_Year): Bump to 2011.
11091
110922011-04-29 Michael Matz <matz@suse.de>
11093
11094 * gcc-interface/misc.c (gnat_handle_option): Set
11095 warn_maybe_uninitialized.
11096
110972011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
11098
11099 * gnat_ugn.texi (Complexity Metrics Control): Update link to
11100 the Watson/McCabe paper.
11101
111022011-04-23 Jim Meyering <meyering@redhat.com>
11103
11104 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
11105
111062011-04-22 Eric Botcazou <ebotcazou@adacore.com>
11107
11108 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
11109 onto the new type.
11110
111112011-04-22 Eric Botcazou <ebotcazou@adacore.com>
11112
11113 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
11114 parameter.
11115 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
11116 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
11117 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
11118 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
11119 <all>: Do not set flags on the reused DECL node coming from an alias.
11120 Set DECL_IGNORED_P on the DECL node built for subprograms if they
11121 don't need debug info here...
11122 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
11123 (gigi): Adjust calls to create_subprog_decl.
11124 (build_raise_check): Likewise.
11125 (establish_gnat_vms_condition_handler): Likewise.
11126 (Compilation_Unit_to_gnu): Likewise.
11127 (gnat_to_gnu): Likewise.
11128
111292011-04-21 Eric Botcazou <ebotcazou@adacore.com>
11130
11131 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
11132 (NO_REORDER_ADAFLAGS): New variable.
11133 (EXTRA_GNATTOOLS): Always define.
11134 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
11135 Clean up and adjust list of files compiled with special options.
11136 * gcc-interface/Make-lang.in: Likewise.
11137 (ada/decl.o): Cosmetical change.
11138 (ada/misc.o): Remove dependency on $(PLUGIN_H).
11139
111402011-04-20 Jim Meyering <meyering@redhat.com>
11141
11142 * initialize.c (__gnat_initialize): Remove useless if-before-free.
11143
111442011-04-17 Eric Botcazou <ebotcazou@adacore.com>
11145
11146 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
11147 $(CFLAGS) on the link line.
11148
111492011-04-17 Eric Botcazou <ebotcazou@adacore.com>
11150
11151 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
11152 padded type built for the return type if it is unconstrained.
11153
111542011-04-14 Nathan Froyd <froydnj@codesourcery.com>
11155
11156 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
11157
111582011-04-12 Nathan Froyd <froydnj@codesourcery.com>
11159
11160 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
11161 before calling TREE_CHAIN.
11162 * gcc-interface/misc.c (gnat_init_ts): New function.
11163 (LANG_HOOKS_INIT_TS): Define.
11164
111652011-04-12 Martin Jambor <mjambor@suse.cz>
11166
11167 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
11168 instead of cgraph_node.
11169
111702011-04-08 Eric Botcazou <ebotcazou@adacore.com>
11171
11172 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
11173 alignment on fields of the RETURN type built for the Copy-In Copy-Out
11174 mechanism.
11175
111762011-04-08 Eric Botcazou <ebotcazou@adacore.com>
11177
11178 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
11179 of aggregate types that contain a placeholder.
11180
111812011-04-08 Nathan Froyd <froydnj@codesourcery.com>
11182
11183 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
11184 TYPE_ARG_TYPES.
11185 (handle_type_generic_attribute): Likewise.
11186
111872011-04-04 Eric Botcazou <ebotcazou@adacore.com>
11188
11189 PR ada/47163
11190 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
11191
111922011-04-04 Kai Tietz <ktietz@redhat.com>
11193
11194 PR ada/47163
11195 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
11196 to flag value.
11197
111982011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11199
11200 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
11201 type case, do not strip a padding type around the array type.
11202
112032011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11204
11205 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
11206 types.
11207
112082011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11209
11210 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
11211 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
11212 code for -feliminate-unused-debug-types.
11213 (gnat_post_options): Likewise.
11214
112152011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11216
11217 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
11218 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
11219 distinct copy.
11220
112212011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11222
11223 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
11224 DECL_ARTIFICIAL flag on enumeration types.
11225
112262011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11227
11228 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
11229 fat pointer types artificial unconditionally.
11230 <E_Array_Subtype>: Attach the base array type as a parallel type if it
11231 isn't artificial.
11232
112332011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11234
11235 * gcc-interface/gigi.h (get_dummy_type): Declare.
11236 (build_dummy_unc_pointer_types): Likewise.
11237 (finish_fat_pointer_type): Likewise.
11238 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
11239 fat pointer type has been built, complete it in place.
11240 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
11241 and thin pointers. Remove useless variable.
11242 (finish_fat_pointer_type): Make global and move to...
11243 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
11244 (get_dummy_type): New function.
11245 (build_dummy_unc_pointer_types): Likewise.
11246 (gnat_pushdecl): Propage the name to the anonymous variants only.
11247 (update_pointer_to): Only adjust the pointer types in the unconstrained
11248 array case.
11249
112502011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11251
11252 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
11253 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
11254 if this is a Taft amendment type and the full declaration is available.
11255 * gcc-interface/trans.c (process_type): Likewise.
11256 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
11257 (process_freeze_entity): Likewise.
11258 * gcc-interface/utils.c (dummy_global): New static variable.
11259 (gnat_write_global_declarations): If there are types declared as used
11260 at the global level, insert them in the global hash table.
11261
112622011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11263
11264 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
11265 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
11266 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
11267 copy.
11268 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
11269 flag of the type accordingly.
11270 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
11271
112722011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11273
11274 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
11275 finalizing types when updating the pointers to the designated type.
11276 <all>: Finalize the deferred types even if we didn't defer processing
11277 of incomplete types in this invocation.
11278
112792011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
11280 Nicolas Setton <setton@adacore.com>
11281 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
11282
11283 * gcc-interface/misc.c (gnat_descriptive_type): New function.
11284 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
11285
112862011-03-28 Kai Tietz <ktietz@redhat.com>
11287
11288 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
11289 Windows targets.
11290 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
11291 * system-mingw.ads (System): Change ZCX_By_Default default to True.
11292
11293 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
11294
112952011-03-28 Tristan Gingold <gingold@adacore.com>
11296
11297 PR ada/44431
11298 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
11299 Use ada output of gnatbind.
11300 (ada/b_gnatb.adb): Ditto.
11301 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
11302 (ada.mostlyclean, ada.stage1)
11303 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
11304 (ada.stagefeedback): Adjust.
11305 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
11306 Use ada output of gnatbind.
11307 (b_gnatm.adb): Ditto.
11308 (b_gnatl.o, b_gnatm.o): New rules.
11309
113102011-03-26 Eric Botcazou <ebotcazou@adacore.com>
11311
11312 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
11313 for the padded type built to support a specified size or alignment.
11314
113152011-03-26 Eric Botcazou <ebotcazou@adacore.com>
11316
11317 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
11318 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
11319 unconditionally to the end of the unit when the designated type is
11320 limited_with'ed.
11321 <all>: Rename local variable. Attempt to un-defer types only and do it
11322 for limited_with'ed types as well.
11323 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
11324 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
11325 consistently and remove redundant call to finalize_from_with_types.
11326
113272011-03-26 Eric Botcazou <ebotcazou@adacore.com>
11328
11329 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
11330 subprograms without a previous spec declared in the same unit.
11331 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
11332 subprograms at the end of the unit instead of at the beginning.
11333 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
11334 isn't public for the special handling of non-inline functions nested
11335 inside inline external functions.
11336
113372011-03-25 Jeff Law <law@redhat.com>
11338
11339 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
11340
113412011-03-24 Eric Botcazou <ebotcazou@adacore.com>
11342
11343 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
11344 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
11345 to compute Set_Size_Depends_On_Discriminant.
11346 (Layout_Type): Call it on array types in back-end layout mode.
11347 * sem_util.adb (Requires_Transient_Scope): Return true for array
11348 types only if the size depends on the value of discriminants.
11349 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
11350 type if the RHS is a call to a function that returns an unconstrained
11351 type with default discriminant.
11352
113532011-03-24 Eric Botcazou <ebotcazou@adacore.com>
11354
11355 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
11356 non-conversion to the nominal result type at the end.
11357
113582011-03-23 Eric Botcazou <ebotcazou@adacore.com>
11359
11360 * gcc-interface/trans.c (create_temporary): New function taken from...
11361 (create_init_temporary): ...here. Call it.
11362 (call_to_gnu): Create the temporary for the return value early, if any.
11363 Create it for a function with copy-in/copy-out parameters if there is
11364 no target; in other cases of copy-in/copy-out, use another temporary.
11365 Push the new binding level lazily. Add and rename local variables.
11366
113672011-03-23 Eric Botcazou <ebotcazou@adacore.com>
11368
11369 * gcc-interface/decl.c (validate_size): Improve comments and tweak
11370 error message.
11371 (set_rm_size): Likewise.
11372
113732011-03-23 Eric Botcazou <ebotcazou@adacore.com>
11374
11375 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
11376 for the padded type built in order to support a specified alignment.
11377 Fix incorrect formatting.
11378
113792011-03-21 Eric Botcazou <ebotcazou@adacore.com>
11380
11381 PR bootstrap/48216
11382 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
11383
113842011-03-21 Eric Botcazou <ebotcazou@adacore.com>
11385
11386 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
11387 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
11388 to the end of the list. Adjust recursive call. Rename local variable.
11389 If REORDER is true, reorder components of the record type.
11390 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
11391 components_to_record and adjust the parameter list.
11392
113932011-03-21 Eric Botcazou <ebotcazou@adacore.com>
11394
11395 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
11396 disabled, use the variable for bounds of loop iteration scheme.
11397
113982011-03-21 Kai Tietz <ktietz@redhat.com>
11399
11400 PR target/12171
11401 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
11402
114032011-03-17 Eric Botcazou <ebotcazou@adacore.com>
11404
11405 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
11406 out whether the expression is read-only. Short-circuit placeholder
11407 case and rename a couple of local variables.
11408
114092011-03-17 Eric Botcazou <ebotcazou@adacore.com>
11410
11411 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
11412 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
11413 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
11414 (convert): Deal with conversions from a smaller form type specially.
11415
114162011-02-14 Eric Botcazou <ebotcazou@adacore.com>
11417
11418 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
11419 its argument, except for the special -I- switch.
11420
114212011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
11422
11423 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
11424 "Ada Issues".
11425
114262011-02-08 Eric Botcazou <ebotcazou@adacore.com>
11427
11428 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
11429
114302011-02-03 Eric Botcazou <ebotcazou@adacore.com>
11431
11432 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
11433 GNAT_FORMAL.
11434 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
11435 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
11436 instead of GNAT_FORMAL. Protect the expression against multiple uses.
11437 Do not generate the check directly, instead instantiate the template
11438 check present in the descriptor.
11439 (make_descriptor_field): Move around.
11440 (build_vms_descriptor32): Build a template check in the POINTER field.
11441 (build_vms_descriptor): Remove useless suffixes.
11442 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
11443
114442011-01-26 Eric Botcazou <ebotcazou@adacore.com>
11445
11446 PR bootstrap/47467
11447 * targext.c: Include target files if IN_RTS is defined.
11448
114492011-01-26 Richard Guenther <rguenther@suse.de>
11450
11451 PR bootstrap/47467
11452 * targext.c: Include config.h.
11453 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
11454 dependency.
11455
114562011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 11457 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
11458
11459 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
11460
114612011-01-04 Eric Botcazou <ebotcazou@adacore.com>
11462
11463 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
11464 end-of-case on the end label and its associated gotos, if any.
11465
114662011-01-04 Eric Botcazou <ebotcazou@adacore.com>
11467
11468 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
11469 expressions of the parameter cache within the statement group of
11470 the CICO mechanism.
11471
114722011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 11473 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
11474
11475 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
11476 (set_end_locus_from_node): New function.
11477 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
11478 make and the function end_locus.
11479 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
11480 for the elaboration subprogram.
11481 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
11482 set the end_locus of the expression as well.
11483
114842011-01-04 Eric Botcazou <ebotcazou@adacore.com>
11485
11486 PR ada/47131
11487 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
11488 variables that are referenced in exception handlers volatile.
11489
11490
11491\f
11492Copyright (C) 2011 Free Software Foundation, Inc.
11493
11494Copying and distribution of this file, with or without modification,
11495are permitted in any medium without royalty provided the copyright
11496notice and this notice are preserved.
11497
11498 * gnat_rm.texi: Ramification of pragma Eliminate documentation
11499 - fix bugs in the description of Source_Trace;
11500 - get rid of UNIT_NAME;
11501
4fbad0ba
AC
115022011-08-02 Javier Miranda <miranda@adacore.com>
11503
11504 * exp_ch9.adb
11505 (Build_Dispatching_Requeue): Adding support for VM targets
11506 since we cannot directly reference the Tag entity.
11507 * exp_sel.adb (Build_K): Adding support for VM targets.
11508 (Build_S_Assignment): Adding support for VM targets.
11509 * exp_disp.adb
11510 (Default_Prim_Op_Position): In VM targets do not restrict availability
11511 of predefined interface primitives to compiling in Ada 2005 mode.
11512 (Is_Predefined_Interface_Primitive): In VM targets this service is not
11513 restricted to compiling in Ada 2005 mode.
11514 (Make_VM_TSD): Generate code that declares and initializes the OSD
11515 record. Needed to support dispatching calls through synchronized
11516 interfaces.
11517 * exp_ch3.adb
11518 (Make_Predefined_Primitive_Specs): Enable generation of predefined
11519 primitives associated with synchronized interfaces.
11520 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
11521 primitives associated with synchronized interfaces.
11522
115232011-08-02 Yannick Moy <moy@adacore.com>
11524
11525 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
11526 statements hidden in SPARK if preceded by the HIDE directive
11527 (Parse_Exception_Handlers): mark each exception handler in a sequence of
11528 exception handlers as hidden in SPARK if preceded by the HIDE directive
11529 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
11530 if starting with the HIDE directive
11531 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
11532 starting with the HIDE directive; mark the declarations in a private
11533 part as hidden in SPARK if the private part starts with the HIDE
11534 directive
11535 * restrict.adb, restrict.ads
11536 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
11537 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
11538 argument node belongs to a part which is hidden in SPARK
11539 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
11540 parts in SPARK; protect the possibly costly call to
11541 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
11542 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
11543 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
11544 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
11545 Tok_SPARK_Hide.
11546 (Scan): recognize special comment starting with '#' and followed by
11547 SPARK keyword "hide" as a HIDE directive.
11548
115492011-08-02 Yannick Moy <moy@adacore.com>
11550
11551 * types.ads, erroutc.ads: Minor reformatting.
11552
115532011-08-02 Vincent Celier <celier@adacore.com>
11554
11555 * link.c: Add response file support for cross platforms.
11556
6ff6152d
ES
115572011-08-02 Ed Schonberg <schonberg@adacore.com>
11558
11559 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
11560 in an association, set parent field of copy before partial analysis.
11561 * sem_res.adb (Resolve_Slice): create reference to itype only when
11562 expansion is enabled.
11563
975c6896
YM
115642011-08-02 Yannick Moy <moy@adacore.com>
11565
11566 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
11567 for new flag denoting which subprogram bodies are in ALFA
11568 * restrict.adb, sem_ch7.adb: Update comment
11569 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
11570 sem_ch9.adb, sem_res.adb: Add calls to
11571 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
11572 * sem_ch6.adb (Analyze_Function_Return): add calls to
11573 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
11574 middle of the body, and extended return.
11575 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
11576 False when missing return.
11577 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
11578 to True for subprograms whose spec is in ALFA. Remove later on the flag
11579 on the entity used for a subprogram body when there exists a separate
11580 declaration.
11581 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
11582 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
11583 False, otherwise do nothing.
11584
afc8324d
AC
115852011-08-02 Robert Dewar <dewar@adacore.com>
11586
11587 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
11588
115892011-08-02 Yannick Moy <moy@adacore.com>
11590
11591 * sem_ch4.ads: minor formatting.
11592
2ba431e5
YM
115932011-08-02 Yannick Moy <moy@adacore.com>
11594
11595 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
11596 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
11597 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
11598 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
11599 opt.ads: cleanup of SPARK mode
11600
0f853035
YM
116012011-08-02 Yannick Moy <moy@adacore.com>
11602
11603 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
11604 types.
11605 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
11606 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
11607 * sem_ch3.adb
11608 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
11609 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
11610 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
11611 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
11612 types.
11613 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
11614 non-static range.
11615 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
11616 functions whose return type is not in ALFA.
11617 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
11618 specifications.
11619 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
11620 parameter's type is not in ALFA.
11621 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
11622 types are in ALFA.
11623
d2b10647
ES
116242011-08-02 Ed Schonberg <schonberg@adacore.com>
11625
11626 * sem_ch6 (Analyze_Expression_Function): treat the function as
11627 Inline_Always, and introduce a subprogram declaration for it when it is
11628 not a completion.
11629 * inline.adb (Add_Inlined_Body): recognize bodies that come from
11630 expression functions, so that the back-end can determine whether they
11631 can in fact be inlined.
11632 * sem_util.adb (Is_Expression_Function): predicate to determine whether
11633 a function body comes from an expression function.
11634
c7b9d548
AC
116352011-08-02 Gary Dismukes <dismukes@adacore.com>
11636
11637 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
11638 null exclusions to test Can_Never_Be_Null on the anonymous access types
11639 of the formals rather than testing the formals themselves. Exclude this
11640 check in cases where the Old_Formal is marked as a controlling formal,
11641 to avoid issuing spurious errors for bodies completing dispatching
11642 operations (due to the flag not getting set on controlling access
11643 formals in body specs).
11644 (Find_Corresponding_Spec): When checking full and subtype conformance of
11645 subprogram bodies in instances, pass Designated and E in that order, for
11646 consistency with the expected order of the formals (New_Id followed by
11647 Old_Id).
11648
116492011-08-02 Robert Dewar <dewar@adacore.com>
11650
11651 * sem_ch8.adb: Minor reformatting.
11652
1138cf59
AC
116532011-08-02 Ed Schonberg <schonberg@adacore.com>
11654
11655 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
11656 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
11657 primitive operations of class-wide actuals.
11658
116592011-08-02 Javier Miranda <miranda@adacore.com>
11660
11661 * exp_atag.ads, exp_atag.adb
11662 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
11663 since its value is implicitly passed in argument Typ.
11664 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
11665 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
11666 Build_Common_Dispatching_Select_Statements.
11667
7b9db926
RD
116682011-08-02 Robert Dewar <dewar@adacore.com>
11669
11670 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
11671 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
11672 Minor reformatting.
11673
e8374e7a
AC
116742011-08-02 Robert Dewar <dewar@adacore.com>
11675
11676 * sem_res.adb: Minor reformatting.
11677 * sem_prag.adb: Minor reformatting.
11678
116792011-08-02 Javier Miranda <miranda@adacore.com>
11680
11681 * exp_atag.adb, exp_atags.ads
11682 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
11683 by the tagged type Entity. Required to use this routine in the VM
11684 targets since we do not have available the Tag entity in the VM
11685 platforms.
11686 * exp_ch6.adb
11687 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
11688 Ada.Tags has not been previously loaded.
11689 * exp_ch7.adb
11690 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
11691 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
11692 * sem_aux.adb
11693 (Enclosing_Dynamic_Scope): Add missing support to handle the full
11694 view of enclosing scopes. Required to handle enclosing scopes that
11695 are synchronized types whose full view is a task type.
11696 * exp_disp.adb
11697 (Build_VM_TSDs): Minor code improvement to avoid generating and
11698 analyzing lists with empty nodes.
11699 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
11700 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
11701 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
11702 (Make_Disp_Timed_Select_Body): Add support for VM targets.
11703 (Make_Select_Specific_Data_Table): Add support for VM targets.
11704 (Make_VM_TSD): Generate code to initialize the SSD structure of
11705 the TSD.
11706
117072011-08-02 Yannick Moy <moy@adacore.com>
11708
11709 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
11710 cross-references section in ALI.
11711 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
11712 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
11713 Sub).
11714 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
11715 subprogram or package entity of a node
11716 (Is_Local_Reference_Type): new function returns True for references
11717 selected in local cross-references.
11718 (Lt): function extracted from Lt in Output_References
11719 (Write_Entity_Name): function extracted from Output_References
11720 (Generate_Definition): generate reference with type 'D' for definition
11721 of objects (object declaration and parameter specification), with
11722 appropriate locations and units, for use in local cross-references.
11723 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
11724 references of type 'I' for initialization in object definition.
11725 (Output_References): move part of function Lt and procedure
11726 Write_Entity_Name outside of the body. Ignore references of types 'D'
11727 and 'I' introduced for local cross-references.
11728 (Output_Local_References): new procedure to output the local
11729 cross-references sections.
11730 (Lref_Entity_Status): new array defining whether an entity is a local
11731 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
11732 with 'I' type when initialization expression is present.
11733 * get_scos.adb, get_scos.ads: Correct comments and typos
11734
1f6439e3
AC
117352011-08-02 Javier Miranda <miranda@adacore.com>
11736
11737 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
11738 the JVM target.
11739 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
11740 the JVM target.
11741 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
11742 TSD support.
11743
117442011-08-02 Vincent Celier <celier@adacore.com>
11745
11746 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
11747 (No_Space_Img): New function
11748 (Find_Excluded_Sources): When reading from a file, record the file name
11749 and the line number for each excluded source.
11750 (Mark_Excluded_Sources): When reporting an error, if the excluded
11751 sources were read from a file, include file name and line number in
11752 the error message.
11753
117542011-08-02 Ed Schonberg <schonberg@adacore.com>
11755
11756 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
11757
ab027d28
RD
117582011-08-02 Robert Dewar <dewar@adacore.com>
11759
11760 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
11761
b3b28b0c
JM
117622011-08-02 Javier Miranda <miranda@adacore.com>
11763
11764 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
11765 generation of TSDs to the DOTNET compiler.
11766 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
11767 generation of TSDs to the DOTNET compiler.
11768
9732e886
JM
117692011-08-02 Javier Miranda <miranda@adacore.com>
11770
11771 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
11772 record of all the tagged types declared inside library level package
11773 declarations, library level package bodies or library level subprograms.
11774 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
11775 associated with a given tagged type.
11776 (Build_VM_TSDs): New subprogram.
11777 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
11778 compilation units that are subprograms.
11779 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
11780 compilation units that are package bodies.
11781 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
11782 units that are a package declaration or a package instantiation.
11783 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
11784 reorganization to improve the error generated by the frontend when the
11785 function Ada.Tags.Secondary_Tag is not available.
11786 * rtsfind.ads (RE_Register_TSD): New runtime entity.
11787 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
11788
e526d0c7
AC
117892011-08-02 Javier Miranda <miranda@adacore.com>
11790
11791 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
11792
117932011-08-02 Robert Dewar <dewar@adacore.com>
11794
11795 * s-imenne.ads: Minor reformatting.
11796
117972011-08-02 Robert Dewar <dewar@adacore.com>
11798
11799 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
11800 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
11801 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
11802
118032011-08-02 Robert Dewar <dewar@adacore.com>
11804
11805 * einfo.ads (Materialize_Entity): Document this is only for renamings
11806 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
11807 required debug information in the case where we transform the object
11808 declaration into a renaming declaration.
11809 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
11810 object
11811 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
11812 Materialize_Entity.
11813
5b1e6aca
RD
118142011-08-02 Robert Dewar <dewar@adacore.com>
11815
11816 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
11817 Suppress_Init_Procs.
11818 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
11819 Suppress_Initialization/Initialization_Suppressed.
11820 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
11821 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
11822 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
11823 * sem_prag.adb: New processing for pragma Suppress_Initialization.
11824
5ad4969d
RD
118252011-08-02 Robert Dewar <dewar@adacore.com>
11826
11827 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
11828 Minor reformatting.
11829
8c4ee6f5
AC
118302011-08-02 Ed Schonberg <schonberg@adacore.com>
11831
11832 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
11833 only have inheritable classwide pre/postconditions.
11834
118352011-08-02 Javier Miranda <miranda@adacore.com>
11836
11837 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
11838 * rtsfind.ads (RE_Check_TSD): New runtime entity.
11839 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
11840 checks if the external tag of a type is the same as the external tag
11841 of some other declaration.
11842
0b3d16c0
AC
118432011-08-02 Thomas Quinot <quinot@adacore.com>
11844
11845 * s-taskin.ads: Minor reformatting.
11846
118472011-08-02 Emmanuel Briot <briot@adacore.com>
11848
11849 * g-comlin.adb (Display_Help): swap the order in which it prints the
11850 short help and the general usage.
11851
118522011-08-02 Ed Schonberg <schonberg@adacore.com>
11853
11854 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
11855 the aspect declarations and attach them to the generic copy for
11856 subsequent analysis.
11857 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
11858 declarations of the generic tree to the new subprogram declarations.
11859 * sem_attr.adb (Check_Precondition_Postcondition): recognize
11860 conditions that apply to a subprogram instance.
11861
118622011-08-02 Robert Dewar <dewar@adacore.com>
11863
11864 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
11865
118662011-08-02 Ed Schonberg <schonberg@adacore.com>
11867
11868 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
11869 private type with a tagged full view is not derived in the immediate
11870 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
11871
4637729f
AC
118722011-08-02 Robert Dewar <dewar@adacore.com>
11873
11874 * exp_ch4.adb: Minor reformatting.
11875
118762011-08-02 Ed Schonberg <schonberg@adacore.com>
11877
11878 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
11879 Ada2012 iterator, the loop will be rewritten during expansion into a
11880 while loop with a cursor and an element declaration. Do not analyze the
11881 body in this case, because if the container is for indefinite types the
11882 actual subtype of the elements will only be determined when the cursor
11883 declaration is analyzed.
11884
118852011-08-02 Arnaud Charlet <charlet@adacore.com>
11886
11887 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
11888 size/alignment related attributes in CodePeer_Mode.
11889
118902011-08-02 Gary Dismukes <dismukes@adacore.com>
11891
11892 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
11893 Prepend_Element, since this can result in the operation getting the
11894 wrong slot in the full type's dispatch table if the full type has
11895 inherited operations. The incomplete type's operation will get added
11896 to the proper position in the full type's primitives
11897 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
11898 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
11899 dispatching operations, since there are cases where nonprimitive
11900 subprograms can get added to the list of incomplete dependents (such
11901 as subprograms in nested packages).
11902 * sem_ch6.adb (Process_Formals): First, remove test for being in a
11903 private part when determining whether to add a primitive with a
11904 parameter of a tagged incomplete type to the Private_Dependents list.
11905 Such primitives can also occur in the visible part, and should not have
11906 been excluded from being private dependents.
11907 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
11908 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
11909 list of a Taft-amendment incomplete type is a primitive before issuing
11910 an error that the full type must appear in the same unit. There are
11911 cases where nonprimitives can be in the list (such as subprograms in
11912 nested packages).
11913 * sem_disp.adb (Derives_From): Use correct condition for checking that
11914 a formal's type is derived from the type of the corresponding formal in
11915 the parent subprogram (the condition was completely wrong). Add
11916 checking that was missing for controlling result types being derived
11917 from the result type of the parent operation.
11918
4c60de0c
YM
119192011-08-02 Yannick Moy <moy@adacore.com>
11920
11921 * errout.adb (First_Node): minor renaming
11922 * restrict.adb (Check_Formal_Restriction): put restriction warning on
11923 first node.
11924
f5afb270
AC
119252011-08-02 Yannick Moy <moy@adacore.com>
11926
11927 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
11928 before accessing operands.
11929 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
11930 decide whether an initialization expression respects SPARK rules, as
11931 the plain node is the expanded one. This allows for more valid warnings
11932 to be issued.
11933 * gnat_rm.texi: Minor update.
11934
119352011-08-02 Arnaud Charlet <charlet@adacore.com>
11936
11937 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
11938 previous change.
11939
119402011-08-02 Robert Dewar <dewar@adacore.com>
11941
11942 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
11943
119442011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
11945
11946 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
11947 loop statements and the element renaming declaration with a block when
11948 the element type is controlled.
11949
119502011-08-02 Yannick Moy <moy@adacore.com>
11951
11952 * sinfo.ads: Minor formatting.
11953
119542011-08-02 Ed Schonberg <schonberg@adacore.com>
11955
11956 * sem_aggr.adb (Add_Association): if the association has a box and no
11957 expression, use the Sloc of the aggregate itself for the new
11958 association.
11959 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
11960 the Original_Node.
11961
db72f10a
AC
119622011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
11963
11964 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
11965 When a container is provided via a function call, generate a renaming
11966 of the function result. This avoids the creation of a transient scope
11967 and the premature finalization of the container.
11968 * exp_ch7.adb (Is_Container_Cursor): Removed.
11969 (Wrap_Transient_Declaration): Remove the supression of the finalization
11970 of the list controller when the declaration denotes a container cursor,
11971 it is not needed.
11972
119732011-08-02 Yannick Moy <moy@adacore.com>
11974
11975 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
11976 node is from source, instead of the original node being from source.
11977 * sem_aggr.adb
11978 (Resolve_Array_Aggregate): refine the check for a static expression, to
11979 recognize also static ranges
11980 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
11981 Array_Type_Declaration): postpone the test for the type being a subtype
11982 mark after the type has been resolved, so that component-selection and
11983 expanded-name are discriminated.
11984 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
11985 to distinguish the case of an iteration scheme, so that an error is
11986 issed on a non-static range in SPARK except in an iteration scheme.
11987 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
11988 In_Iter_Schm = True.
11989 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
11990 user-defined operators so that they are allowed in renaming
11991 * sem_ch8.adb
11992 (Find_Selected_Component): refine the check for prefixing of operators
11993 so that they are allowed in renaming. Move the checks for restrictions
11994 on selector name after analysis discriminated between
11995 component-selection and expanded-name.
11996 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
11997 concatenation argument of string type if it is static.
11998 * sem_util.adb, sem_util.ads
11999 (Check_Later_Vs_Basic_Declarations): add a new function
12000 Is_Later_Declarative_Item to decice which declarations are allowed as
12001 later items, in the two different modes Ada 83 and SPARK. In the SPARK
12002 mode, add that renamings are considered as later items.
12003 (Enclosing_Package): new function to return the enclosing package
12004 (Enter_Name): correct the rule for homonyms in SPARK
12005 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
12006 from source (result of expansion) to avoid issuing wrong warnings.
12007
120082011-08-02 Ed Schonberg <schonberg@adacore.com>
12009
12010 * errout.adb: On anything but an expression First_Node returns its
12011 argument.
12012
23685ae6
AC
120132011-08-02 Pascal Obry <obry@adacore.com>
12014
12015 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
12016
120172011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
12018
12019 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
12020 Set the associated loop as the related expression of internally
12021 generated cursors.
12022 * exp_ch7.adb (Is_Container_Cursor): New routine.
12023 (Wrap_Transient_Declaration): Supress the finalization of the list
12024 controller when the declaration denotes a container cursor.
12025
120262011-08-02 Yannick Moy <moy@adacore.com>
12027
12028 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
12029 command line now.
12030 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
12031 expression is a simple expression. This check cannot be performed in
12032 the semantics, so just drop it.
12033 (P_Index_Or_Discriminant_Constraint): move check that the index or
12034 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
12035 semantics. Other cases were previously checked in the semantics.
12036 * par-ch4.adb (P_Name): move checks that a selector name is not
12037 character literal or an operator symbol to Find_Selected_Component in
12038 the semantics
12039 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
12040 declarations are not placed after later declarations in a separate
12041 procedure in Sem_Util (possibly not the best choice?), to be used both
12042 during parsing, for Ada 83 mode, and during semantic analysis, for
12043 SPARK mode.
12044 * par-endh.adb (Check_End): move check that end label is not missing
12045 to Process_End_Label in the semantics
12046 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
12047 the special case for SPARK restriction
12048 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
12049 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
12050 parameter Force to issue the error message even on internal node (used
12051 for generated end label). Call Check_Restriction to check when an error
12052 must be issued. In SPARK mode, issue an error message even if the
12053 restriction is not set.
12054 (Check_Restriction): new procedure with an additional out parameter to
12055 inform the caller that a message has been issued
12056 * sem_aggr.adb: Minor modification of message
12057 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
12058 instead of issuing an error message directly
12059 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
12060 declarations are not placed after later declarations, by calling
12061 Check_Later_Vs_Basic_Declarations
12062 (Analyze_Subtype_Declaration): move here the check that an index or
12063 discriminant constraint must be a subtype mark. Change the check that
12064 a subtype of String must start at one so that it works on subtype marks.
12065 * sem_ch4.adb (Analyze_Call): move here the check that a named
12066 association cannot follow a positional one in a call
12067 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
12068 instead of issuing an error message directly
12069 * sem_ch8.adb (Find_Selected_Component): move here the check that a
12070 selector name is not a character literal or an operator symbol. Move
12071 here the check that the prefix of an expanded name cannot be a
12072 subprogram or a loop statement.
12073 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
12074 procedure called from parsing and semantics to check that basic
12075 declarations are not placed after later declarations
12076 (Process_End_Label): move here the check that end label is not missing
12077
120782011-08-02 Arnaud Charlet <charlet@adacore.com>
12079
12080 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
12081 representation clause in codepeer mode, since it confuses CodePeer and
12082 does not bring useful info.
12083
120842011-08-02 Ed Falis <falis@adacore.com>
12085
12086 * init.c: initialize fp hw on MILS.
12087
120882011-08-02 Ed Schonberg <schonberg@adacore.com>
12089
12090 * errout.adb (First_Node): for bodies, return the node itself (small
12091 optimization). For other nodes, do not check source_unit if the node
12092 comes from Standard.
12093
d2d9cc22
AC
120942011-08-02 Robert Dewar <dewar@adacore.com>
12095
12096 * exp_ch3.adb: Minor comment additions.
12097 * sem_ch13.adb: Minor reformatting.
12098
120992011-08-02 Pascal Obry <obry@adacore.com>
12100
12101 * make.adb, makeutl.adb: Removes some superfluous directory separator.
12102
a01b9df6
AC
121032011-08-02 Robert Dewar <dewar@adacore.com>
12104
12105 * sem_attr.adb: Minor reformatting.
12106
121072011-08-02 Robert Dewar <dewar@adacore.com>
12108
12109 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
12110 (Has_Default_Component_Value): Removed
12111 * einfo.ads Comment updates
12112 (Has_Default_Aspect): Replaces Has_Default_Value
12113 (Has_Default_Component_Value): Removed
12114 * exp_ch13.adb
12115 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
12116 * exp_ch3.adb
12117 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
12118 (Get_Simple_Init_Val): Handle Default_Value aspect
12119 (Needs_Simple_Initialization): Handle Default_Value aspect
12120 * exp_ch3.ads: Needs_Simple_Initialization
12121 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
12122 * par-prag.adb (Pragma_Default[_Component]Value) Removed
12123 * sem_ch13.adb
12124 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
12125 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
12126 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
12127
121282011-08-02 Ed Schonberg <schonberg@adacore.com>
12129
12130 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
12131 package containing iteration primitives.
12132 exp_ch5.adb (Expand_Iterator_Loop): ditto.
12133
75c90775
AC
121342011-08-02 Ed Schonberg <schonberg@adacore.com>
12135
12136 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
12137 "of", pre-analyze expression in case it is a function call with
12138 finalization actions that must be placed ahead of the loop.
12139 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
12140 on an Ada2012 iterator, insert them ahead of the rewritten loop.
12141
121422011-08-02 Geert Bosch <bosch@adacore.com>
12143
12144 * cstand.adb (Create_Float_Types): Only consider C's long double for
12145 Long_Long_Float, in addition to double.
12146
ded8909b
AC
121472011-08-02 Robert Dewar <dewar@adacore.com>
12148
12149 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
12150 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
12151 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
12152 Minor reformatting.
12153
121542011-08-02 Ed Schonberg <schonberg@adacore.com>
12155
12156 * sem_attr.adb: handle properly 'Result when it is a prefix of an
12157 indexed component.
12158
121592011-08-02 Javier Miranda <miranda@adacore.com>
12160
12161 * einfo.ads, einfo.adb
12162 (Original_Access_Type): Move this attribute to Node26 since there was
12163 an undocumented use of Node21 in E_Access_Subprogram_Type entities
12164 which causes conflicts and breaks the generation of the .NET compiler.
12165 (Interface_Name): Add missing documentation on JGNAT only uses of
12166 this attribute.
12167
70c34e1c
AC
121682011-08-02 Geert Bosch <bosch@adacore.com>
12169
12170 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
12171 (Find_Back_End_Float_Type): Likewise
12172 (Create_Back_End_Float_Types): Likewise
12173 (Create_Float_Types): Likewise
12174 (Register_Float_Type): Likewise
12175 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
12176 Nlist and split out type selection in new local Find_Base_Type function.
12177 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
12178 Nlist
12179 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
12180
121812011-08-02 Robert Dewar <dewar@adacore.com>
12182
12183 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
12184 alpha order).
12185 * opt.ads: Minor comment change.
12186 * sem_ch12.adb: Minor code reorganization.
12187
b715bc59
AC
121882011-08-02 Gary Dismukes <dismukes@adacore.com>
12189
12190 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
12191 subtype's list of rep items to the list on the full subtype in the case
12192 where the lists are the same.
12193
121942011-08-02 Geert Bosch <bosch@adacore.com>
12195
12196 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
12197 using the one from System.Strings, which also deallocates all strings.
12198
002bdd68
AC
121992011-08-02 Geert Bosch <bosch@adacore.com>
12200
12201 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
12202 function.
12203 * gcc-interface/Make-lang.in: Update dependencies.
12204
122052011-08-02 Olivier Hainque <hainque@adacore.com>
12206
12207 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
12208 end_locus.
12209
499769ec
AC
122102011-08-02 Javier Miranda <miranda@adacore.com>
12211
12212 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
12213 associated with anonymous access to subprograms.
12214
122152011-08-02 Geert Bosch <bosch@adacore.com>
12216
12217 * opt.ads
12218 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
12219 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
12220 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
12221 (Add_Symbol_Definition): Move to switch-c.adb
12222 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
12223 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
12224 (Add_Symbol_Definition): Move to switch-c.adb.
12225 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
12226 * sem_warn.adb
12227 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
12228 Move to warnsw.adb.
12229 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
12230 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
12231 Move to warnsw.adb.
12232 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
12233 (Add_Symbol_Definition): Moved from Prepcomp.
12234 * switch-c.ads: Update copyright notice. Use String_List instead of
12235 Argument_List, removing dependency on System.OS_Lib.
12236
aa1e353a
AC
122372011-08-02 Yannick Moy <moy@adacore.com>
12238
12239 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
12240 mode on initialization expression which does not respect SPARK
12241 restrictions.
12242 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
12243 if the tree referenced by its argument represents an initialization
12244 expression in SPARK, suitable for initializing an object in an object
12245 declaration.
12246
122472011-08-02 Javier Miranda <miranda@adacore.com>
12248
12249 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
12250 internally generated access to subprogram with its associated protected
12251 subprogram type.
12252 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
12253
15b682ca
GB
122542011-08-02 Geert Bosch <bosch@adacore.com>
12255
12256 * cstand.adb (Register_Float_Type): Print information about type to
12257 register, if the Debug_Flag_Dot_B is set.
12258 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
12259 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
12260 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
12261 with a requested precision of more than Max_Digits digits and no more
12262 than Max_Base_Digits digits, if a range specification is present and the
12263 Predefined_Float_Types list has a suitable type to derive from.
12264 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
12265 case of type completion with pragma Import
12266 * sem_prag.adb
12267 (Process_Import_Predefined_Type): Processing to complete a type
12268 with pragma Import. Currently supports floating point types only.
12269 (Set_Convention_From_Pragma): Do nothing without underlying type.
12270 (Process_Convention): Guard against absence of underlying type,
12271 which may happen when importing incomplete types.
12272 (Process_Import_Or_Interface): Handle case of importing predefined
12273 types. Tweak error message.
12274
f8726f2b
AC
122752011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12276
12277 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
12278 functions to previous change. Reorganize code slightly.
12279
122802011-08-02 Geert Bosch <bosch@adacore.com>
12281
12282 * back_end.ads (Register_Type_Proc): New call back procedure type for
12283 allowing the back end to provide information about available types.
12284 (Register_Back_End_Types): New procedure to register back end types.
12285 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
12286 available types.
12287 * cstand.adb (Back_End_Float_Types): New list for floating point types
12288 supported by the back end.
12289 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
12290 (Copy_Float_Type): New procedure to make new copies of predefined types.
12291 (Register_Float_Type): New call back procedure to populate the BEFT list
12292 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
12293 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
12294 (Create_Float_Types): New procedure to create entities for floating
12295 point types predefined in Standard, and put these and any remaining
12296 BEFTs on the Predefined_Float_Types list.
12297 * stand.ads (Predefined_Float_Types): New list for predefined floating
12298 point types that do not have declarations in package Standard.
12299
feecad68
AC
123002011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12301
12302 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
12303 entity node for the unit containing the parameter.
12304 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
12305 (Add_Inlined_Subprogram): Likewise.
12306 * gcc-interface/Make-lang.in: Update dependencies.
12307
123082011-08-02 Thomas Quinot <quinot@adacore.com>
12309
12310 * s-stusta.adb (Print): Make sure Pos is always initialized to a
12311 suitable value.
12312
12f0c50c
AC
123132011-08-02 Geert Bosch <bosch@adacore.com>
12314
12315 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
12316
123172011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12318
12319 * sem_type.adb (Covers): Move trivial case to the top and reuse the
12320 computed value of Base_Type.
12321
123222011-08-02 Yannick Moy <moy@adacore.com>
12323
12324 * restrict.adb (Check_Restriction): issue an error for any use of
12325 class-wide, even if the No_Dispatch restriction is not set.
12326 * sem_aggr.adb: Correct typos in comments and messages in formal mode
12327 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
12328 when completing a private extension, the type named in the private part
12329 is not the same as that named in the visible part.
12330 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
12331 of an inherited primitive operations of a tagged type or type extension
12332 that returns the tagged type.
12333 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
12334 function which returns True for an implicit operation inherited by the
12335 derived type declaration for the argument type.
12336 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
12337 order.
12338
fb86fe11
ES
123392011-08-02 Ed Schonberg <schonberg@adacore.com>
12340
12341 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
12342 Process_Bounds, to perform analysis with expansion of a range or an
12343 expression that is the iteration scheme for a loop.
12344 (Analyze_Iterator_Specification): If domain of iteration is given by a
12345 function call with a controlled result, as is the case if call returns
12346 a predefined container, ensure that finalization actions are properly
12347 generated.
12348 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
12349
62be5d0a
JM
123502011-08-02 Javier Miranda <miranda@adacore.com>
12351
12352 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
12353 * gcc-interface/Make-lang.in: Update dependencies.
12354
123552011-08-02 Javier Miranda <miranda@adacore.com>
12356
12357 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
12358 determine if the analysis is performed using N or Original_Node (N).
12359 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
12360 functionality of routine Is_Variable avoids code duplication.
12361 * checks.adb (Determine_Range): Handle temporaries generated by
12362 Remove_Side_Effects.
12363
123642011-08-02 Javier Miranda <miranda@adacore.com>
12365
12366 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
12367 expansion of the condition. Required since the previous analysis was
12368 done with expansion disabled (see Resolve_Quantified_Expression) and
12369 hence checks were not inserted and record comparisons have not been
12370 expanded.
12371
a20f4389
AC
123722011-08-02 Ed Falis <falis@adacore.com>
12373
12374 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
12375 Update header.
12376
123772011-08-02 Bob Duff <duff@adacore.com>
12378
12379 * opt.ads: Minor comment fix.
12380
123812011-08-02 Bob Duff <duff@adacore.com>
12382
12383 * sem_ch12.adb (Analyze_Package_Instantiation,
12384 Analyze_Subprogram_Instantiation): Turn off style checking while
12385 analyzing an instance. Whatever style checks that apply to the generic
12386 unit should apply, so it makes no sense to apply them in an instance.
12387 This was causing trouble when compiling an instance of a runtime
12388 unit that violates the -gnatyO switch.
12389 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
12390 one of the two case statements, causing spurious errors.
12391
123922011-08-02 Robert Dewar <dewar@adacore.com>
12393
12394 * uname.adb: Minor reformatting.
12395 * gnatcmd.adb: Minor reformatting.
12396 * exp_attr.adb: Minor reformatting.
12397
90878b12
AC
123982011-08-02 Ed Schonberg <schonberg@adacore.com>
12399
12400 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
12401 No_Dispatching_Calls, do not look for the Assign primitive, because
12402 predefined primitives are not created in this case.
12403
124042011-08-02 Bob Duff <duff@adacore.com>
12405
12406 * stylesw.ads: Minor comment fixes.
12407
124082011-08-02 Robert Dewar <dewar@adacore.com>
12409
12410 * freeze.adb (Add_To_Result): New procedure.
12411
124122011-08-02 Jose Ruiz <ruiz@adacore.com>
12413
12414 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
12415 time, if the specific run-time routines for handling streams of strings
12416 are not available, use the default mechanism.
12417
124182011-08-02 Arnaud Charlet <charlet@adacore.com>
12419
12420 * s-regpat.ads: Fix typo.
12421
124222011-08-02 Vincent Celier <celier@adacore.com>
12423
12424 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
12425 not null, call it to create the in memory config project file without
12426 parsing an existing default config project file.
12427
124282011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12429
12430 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
12431
124322011-08-02 Ed Schonberg <schonberg@adacore.com>
12433
12434 * sem_elim.adb: an abstract subprogram does not need an eliminate
12435 pragma for its descendant to be eliminable.
12436
124372011-08-02 Ed Falis <falis@adacore.com>
12438
12439 * init.c: revert to handling before previous checkin for VxWorks
12440 * s-intman-vxworks.adb: delete unnecessary declarations related to
12441 using Ada interrupt facilities for handling signals.
12442 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
12443 * s-intman-vxworks.ads: Import __gnat_install_handler as
12444 Initialize_Interrupts.
12445 * s-taprop-vxworks.adb: Delete Signal_Mask.
12446 (Abort_Handler): change construction of mask to unblock exception
12447 signals.
12448
273adcdf
AC
124492011-08-02 Jerome Guitton <guitton@adacore.com>
12450
12451 * a-except-2005.adb (Raise_From_Signal_Handler): Call
12452 Debug_Raise_Exception before propagation starts.
12453
124542011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12455
12456 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
12457 to Restriction_Check_Required.
12458 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
12459 * sem_res.adb (Resolve_Call): Likewise.
12460 * sem_attr.adb (Check_Stream_Attribute): Likewise.
12461
124622011-08-02 Bob Duff <duff@adacore.com>
12463
12464 * stylesw.ads: Update comment.
12465 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
12466 * errout.ads: Remove obsolete comment.
12467
124682011-08-02 Javier Miranda <miranda@adacore.com>
12469
12470 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
12471 (Set_Is_Safe_To_Reevaluate): new procedure.
12472 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
12473 assignment is allowed on safe-to-reevaluate variables.
12474 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
12475 temporary created to remove side effects in expressions that use
12476 the secondary stack as safe-to-reevaluate.
12477 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
12478 variables that are not true constants.
12479
6320f5e1
AC
124802011-08-02 Robert Dewar <dewar@adacore.com>
12481
12482 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
12483 sem_res.adb, sem_ch6.adb: Minor reformatting.
12484
124852011-08-02 Jerome Guitton <guitton@adacore.com>
12486
12487 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
12488
2fe829ae
ES
124892011-08-02 Ed Schonberg <schonberg@adacore.com>
12490
12491 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
12492 not set Overridden_Operation if subprogram is an initialization
12493 procedure.
12494
e24329cd
YM
124952011-08-02 Yannick Moy <moy@adacore.com>
12496
12497 * par-ch6.adb: Correct obsolete name in comments
12498 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
12499 which takes two message arguments (existing function takes one), with
12500 second message used for continuation.
12501 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
12502 block statements that originate from a source block statement, not
12503 generated block statements
12504 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
12505 symmetry with procedure case
12506 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
12507 function to issue an error in formal mode if a package specification
12508 contains more than one tagged type or type extension.
12509 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
12510 parameters matching formals of tagged types are objects (or ancestor
12511 type conversions of objects), not general expressions. Issue an error
12512 on view conversions that are not involving ancestor conversion of an
12513 extended type.
12514 (Resolve_Type_Conversion): in formal mode, issue an error on the
12515 operand of an ancestor type conversion which is not an object
12516 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
12517 procedure so that it works also for actuals of function calls
12518 (Is_Actual_Tagged_Parameter): new function which determines if its
12519 argument is an actual parameter of a formal of tagged type in a
12520 subprogram call
12521 (Is_SPARK_Object_Reference): new function which determines if the tree
12522 referenced by its argument represents an object in SPARK
12523
176dadf6
AC
125242011-08-02 Robert Dewar <dewar@adacore.com>
12525
12526 * sem_ch3.adb: Minor reformatting
12527 Minor comment addition
12528 Minor error msg text change
12529
125302011-08-02 Javier Miranda <miranda@adacore.com>
12531
12532 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
12533 function. Used to be more precise when we generate a variable plus one
12534 assignment to remove side effects in the evaluation of the Bound
12535 expressions.
12536 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
12537 of the bound expression to force its re-analysis and thus expand the
12538 associated transient scope (if required). Code cleanup replacing the
12539 previous code that declared the constant entity by an invocation to
12540 routine Force_Evaluation which centralizes this work in the frontend.
12541
d8b962d8
AC
125422011-08-02 Robert Dewar <dewar@adacore.com>
12543
12544 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
12545 (Base_Type): Now uses improved Is_Base_Type function
12546 * einfo.ads (Base_Type): Inline this function
12547
125482011-08-02 Robert Dewar <dewar@adacore.com>
12549
12550 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
12551 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
12552
125532011-08-02 Arnaud Charlet <charlet@adacore.com>
12554
12555 * gcc-interface/Make-lang.in: Update dependencies.
12556 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
12557 targets.
12558
125592011-08-02 Yannick Moy <moy@adacore.com>
12560
12561 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
12562 non-simple expression used in delta constraint
12563 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
12564 index constraint which is not a subtype mark
12565 * par.adb: With and use Restrict
12566 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
12567 mode on component type which is not a subtype mark and default
12568 expression on component
12569 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
12570 of string which does not have a lower index bound equal to 1
12571 (Array_Type_Declaration): issue an error in formal mode on index or
12572 component type which is not a subtype mark, and on aliased keyword on
12573 component
12574 (Derived_Type_Declaration): issue an error in formal mode on interface,
12575 limited or abstract type
12576 (Record_Type_Declaration): issue an error in formal mode on interface
12577 (Record_Type_Definition): issue an error in formal mode on tagged types
12578 and type extensions not declared in the specification of a library unit
12579 package; on null non-tagged record; on variant part
12580
125812011-08-02 Vincent Celier <celier@adacore.com>
12582
12583 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
12584 not declared for qualified library project when Library_Name is not
12585 declared, but Library_Dir is.
12586
125872011-08-02 Robert Dewar <dewar@adacore.com>
12588
12589 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
12590 pragmas (affects aspects [Component_]Default_Value
12591 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
12592 component type for the resolution
12593
f96b2d85
AC
125942011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12595
12596 * einfo.adb (Base_Type): Tune implementation for speed.
12597
125982011-08-02 Robert Dewar <dewar@adacore.com>
12599
12600 * freeze.adb: Minor reformatting.
12601
8b3c6430
AC
126022011-08-02 Thomas Quinot <quinot@adacore.com>
12603
12604 * scos.ads: Update comments.
12605
126062011-08-02 Ed Schonberg <schonberg@adacore.com>
12607
12608 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
12609 base type, because the parent may be a subtype of a private type whose
12610 convention is established in a private part.
12611
126122011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
12613
12614 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
12615 statement in a block when the expansion of the return expression has
12616 created a finalization chain.
12617 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
12618 with the parent node.
12619 Add N_Extended_Return_Statement to handle the case where a transient
12620 object declaration appears in the Return_Object_Declarations list of
12621 an extended return statement.
12622
126232011-08-02 Matthew Gingell <gingell@adacore.com>
12624
12625 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
12626 unused parameter 'name'.
12627
126282011-08-02 Ed Schonberg <schonberg@adacore.com>
12629
12630 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
12631 inherited operation, check whether its alias, which is the source
12632 operastion that it renames, has been marked eliminated.
12633
cae81f17
JM
126342011-08-02 Javier Miranda <miranda@adacore.com>
12635
12636 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
12637 in-mode parameter whose type is an access type since it can be used to
12638 modify its designated object. Enforce code that handles as safe an
12639 access type that is not access-to-constant but it is the result of a
12640 previous removal of side-effects.
12641 (Remove_Side_Effects): Minor code reorganization of cases which require
12642 no action. Done to incorporate documentation on new cases uncovered
12643 working in this ticket: no action needed if this routine was invoked
12644 too early and the nodes are not yet decorated.
12645 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
12646 to routine Remove_Side_Effects by calls to Force_Evaluation since they
12647 were issued with actuals that are implicitly provided by
12648 Force_Evaluation.
12649
218e6dee
RD
126502011-08-02 Robert Dewar <dewar@adacore.com>
12651
12652 * sem_ch3.adb, sem_res.adb: Minor reformatting.
12653
7a489a2b
AC
126542011-08-02 Yannick Moy <moy@adacore.com>
12655
12656 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
12657 to issue an error in formal mode on attribute not supported in this mode
12658 (Analyze_Attribute): issue errors on standard attributes not supported
12659 in formal mode.
12660 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
12661 comment, and issue error in formal mode on modulus which is not a power
12662 of 2.
12663 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
12664 range.
12665 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
12666 subtype mark.
12667 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
12668 operator on modular type (except 'not').
12669
126702011-08-02 Robert Dewar <dewar@adacore.com>
12671
12672 * gnat_rm.texi: Minor reformatting.
12673
cb7fa356
AC
126742011-08-02 Arnaud Charlet <charlet@adacore.com>
12675
12676 * s-osinte-linux.ads: Minor comment update and reformatting.
12677 * i-cexten.ads: Make this unit pure, as for its parent.
12678 Will allow its usage in more contexts if needed.
12679
126802011-08-02 Robert Dewar <dewar@adacore.com>
12681
12682 * s-utf_32.ads: Minor comment fix.
12683
126842011-08-02 Ed Schonberg <schonberg@adacore.com>
12685
12686 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
12687 operation of a tagged synchronized type, handle the case where the
12688 controlling argument is overloaded.
12689
126902011-08-02 Yannick Moy <moy@adacore.com>
12691
12692 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
12693 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
12694 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
12695 SPARK mode and formal verification mode on processing SPARK restriction
12696 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
12697 requiring consistency checking.
12698
5cc9353d
RD
126992011-08-02 Robert Dewar <dewar@adacore.com>
12700
12701 * sem_res.adb: Minor reformatting.
12702
e51537ff
RD
127032011-08-02 Robert Dewar <dewar@adacore.com>
12704
12705 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
12706 a-cforse.ads: Remove unneeded with of Ada.Containers
12707 Remove commented out pragma Inline's
12708 Move specifications of new subprograms to the actual specs
12709
83fa09c5
AC
127102011-08-02 Yannick Moy <moy@adacore.com>
12711
12712 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
12713 a-cforse.ads: Update comments.
12714
127152011-08-02 Ed Schonberg <schonberg@adacore.com>
12716
12717 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
12718
d11cfaf8
RD
127192011-08-02 Robert Dewar <dewar@adacore.com>
12720
12721 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
12722 a-cforse.ads, a-cofove.ads: Minor reformatting.
12723
300b98bb
AC
127242011-08-02 Claire Dross <dross@adacore.com>
12725
12726 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
12727 a-cofove.ads: Add comments.
12728
127292011-08-02 Yannick Moy <moy@adacore.com>
12730
12731 * gnat_rm.texi: Document formal containers.
12732
127332011-08-02 Emmanuel Briot <briot@adacore.com>
12734
12735 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
12736 are empty sections.
12737
19fb051c
AC
127382011-08-02 Robert Dewar <dewar@adacore.com>
12739
12740 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
12741 reformatting.
12742
127432011-08-02 Robert Dewar <dewar@adacore.com>
12744
12745 * aspects.adb: New aspects Default_Value and Default_Component_Value
12746 New format of Aspect_Names table checks for omitted entries
12747 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
12748 handling of boolean aspects for derived types.
12749 New aspects Default_Value and Default_Component_Value
12750 New format of Aspect_Names table checks for omitted entries
12751 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
12752 (Has_Default_Value): New flag
12753 (Has_Default_Component_Value): New flag
12754 (Has_Default_Value): New flag
12755 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
12756 table.
12757 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
12758 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
12759 Default_Value and Default_Component_Value
12760 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
12761 New aspects Default_Value and Default_Component_Value
12762 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
12763 * sprint.adb: Print N_Aspect_Specification node when called from gdb
12764
127652011-08-02 Vincent Celier <celier@adacore.com>
12766
12767 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
12768 inherit library kind.
12769
127702011-08-02 Ed Schonberg <schonberg@adacore.com>
12771
12772 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
12773 Minor reformatting.
12774
127752011-08-02 Robert Dewar <dewar@adacore.com>
12776
12777 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
12778
5f7747af
AC
127792011-08-02 Yannick Moy <moy@adacore.com>
12780
12781 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
12782
127832011-08-02 Robert Dewar <dewar@adacore.com>
12784
12785 * impunit.adb: Add comment.
12786
a5fe697b
AC
127872011-08-02 Yannick Moy <moy@adacore.com>
12788
12789 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
12790 qualification of aggregates in formal mode
12791 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
12792 another aggregate
12793 (Resolve_Aggregate): complete the test that an aggregate is adequately
12794 qualified in formal mode
12795
127962011-08-02 Pascal Obry <obry@adacore.com>
12797
12798 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
12799 * mlib-prj.adb: Supress warning when compiling binder generated file.
12800 (Build_Library): Supress all warnings when compiling the binder
12801 generated file.
12802
bd65a2d7 128032011-08-02 Yannick Moy <moy@adacore.com>
d4487611 12804
bd65a2d7
AC
12805 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
12806 from here...
12807 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
12808 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
12809 Add with/use clauses to make Check_Formal_Restriction visible
12810
128112011-08-02 Ed Schonberg <schonberg@adacore.com>
12812
12813 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
12814 in-parameters when type of the generic formal is private in the generic
12815 spec and non-private in the body.
12816
128172011-08-02 Claire Dross <dross@adacore.com>
12818
12819 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
12820 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
12821 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
12822 * impunit.adb, Makefile.rtl: Take new files into account.
d4487611
AC
12823
128242011-08-02 Robert Dewar <dewar@adacore.com>
12825
12826 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
12827 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
12828
bd434b3f
YM
128292011-08-02 Yannick Moy <moy@adacore.com>
12830
12831 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
12832 formal mode
12833 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
12834 matching static array bounds, taking into account the special case of
12835 string literals
12836 * sem_ch3.adb: Typo in comment.
12837
fe5d3068
YM
128382011-08-02 Yannick Moy <moy@adacore.com>
12839
12840 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
12841 which issues an error in formal mode if its argument node is originally
12842 from source
12843 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
12844 has a discriminant specification so that it does not include the case
12845 of derived types
12846 (Derived_Type_Declaration): move here the test that a derived type has a
12847 discriminant specification
12848 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
12849 first element of a component association before accessing its choices
12850 (presence of component association is not enough)
12851 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
12852 declaration is a library item before accessing the next element in a
12853 list, as library items are not member of lists
12854 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
12855 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
12856 Check_Formal_Restriction whenever possible.
12857
b60a3f26
AC
128582011-08-02 Ed Schonberg <schonberg@adacore.com>
12859
12860 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
12861 reference when needed.
12862
128632011-08-02 Bob Duff <duff@adacore.com>
12864
12865 * gnat_ugn.texi: Fix typo.
12866
128672011-08-02 Vincent Celier <celier@adacore.com>
12868
12869 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
12870 archive file name. Do not use the full path name of archives for Open
12871 VMS.
12872
eaba57fb
RD
128732011-08-02 Robert Dewar <dewar@adacore.com>
12874
12875 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
12876 Analyze_Aspect_Specifications
12877 * sem_ch13.adb
12878 (Analyze_Aspect_Specifications): New handling for boolean aspects
12879 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
12880 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
12881 sequence for Analyze_Aspect_Specifications
12882 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
12883 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
12884
128852011-08-02 Robert Dewar <dewar@adacore.com>
12886
12887 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
12888 aspects, since these no longer exist.
12889
128902011-08-02 Robert Dewar <dewar@adacore.com>
12891
12892 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
12893 semicolon, do not try to see if there are aspects following it.
12894 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
12895 aspect spec.
12896
8830d1d2
AC
128972011-08-02 Robert Dewar <dewar@adacore.com>
12898
12899 * sem_ch8.adb, aspects.ads: Minor reformatting.
12900
129012011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12902
12903 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
12904 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
12905 extracted from...
12906 (Analyze_Aspect_Specifications): ...here. Call above procedure.
12907
7ff2d234
AC
129082011-08-02 Yannick Moy <moy@adacore.com>
12909
12910 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
12911 mode on subprogram declaration outside of package specification, unless
12912 it is followed by a pragma Import
12913 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
12914 Access_Type_Declaration): issue error in formal mode on access type
12915 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
12916 incomplete type
12917 (Analyze_Object_Declaration): issue error in formal mode on object
12918 declaration which does not respect SPARK restrictions
12919 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
12920 declaration which does not respect SPARK restrictions
12921 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
12922 error in formal mode on digits or delta constraint
12923 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
12924 decimal fixed point type
12925 (Derived_Type_Declaration): issue error in formal mode on derived type
12926 other than type extensions of tagged record types
12927 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
12928 with check on access definition
12929 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
12930 mode on protected definition.
12931 (Analyze_Task_Definition): issue error in formal mode on task definition
12932
129332011-08-02 Robert Dewar <dewar@adacore.com>
12934
12935 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
12936
806f6d37
AC
129372011-08-02 Javier Miranda <miranda@adacore.com>
12938
12939 * sem_ch6.adb (Can_Override_Operator): New function.
12940 (Verify_Overriding_Indicator): Add missing code to check overriding
12941 indicator in operators. Fixes regression.
12942 (Check_Overriding_Indicator): Minor reformating after replacing the
12943 code that evaluates if the subprogram can override an operator by
12944 invocations to the above new function.
12945 * einfo.adb
12946 (Write_Field26_Name): Add missing code to ensure that, following
12947 the documentation in einfo.ads, this field is not shown as attribute
12948 "Static_Initialization" on non-dispatching functions.
12949
129502011-08-02 Jose Ruiz <ruiz@adacore.com>
12951
12952 * sem_res.adb (Resolve_Call): A call to
12953 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
12954 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
12955 i.e., when the second parameter is of type Time_Span.
12956
129572011-08-02 Vincent Celier <celier@adacore.com>
12958
12959 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
12960 with an archive instead of -L<library dir> -l<library name>.
12961
129622011-08-02 Ed Schonberg <schonberg@adacore.com>
12963
12964 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
12965 mark the base types In_Use in addition to making the operations
12966 use_visible.
12967
129682011-08-02 Ed Falis <falis@adacore.com>
12969
12970 * init.c: add and setup __gnat_signal_mask for the exception signals
12971 * s-inmaop-vxworks.adb: new file.
12972 * s-intman-vxworks.adb: remove unnecessary initializations and
12973 simplify remaining
12974 * s-intman-vxworks.ads: remove unnecessary variable
12975 * s-taprop-vxworks.adb: simplify signal initialization
12976
780d052e
RD
129772011-08-02 Robert Dewar <dewar@adacore.com>
12978
12979 * sem_ch8.adb: Minor code reorganization, comment updates.
12980
129812011-08-02 Robert Dewar <dewar@adacore.com>
12982
12983 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
12984 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
12985 here from Sem_Res.
12986 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
12987 (Matching_Static_Array_Bounds): Moved here from Sem_Res
12988
29efbb8c
ES
129892011-08-02 Ed Schonberg <schonberg@adacore.com>
12990
12991 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
12992 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
12993 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
12994 use_type_clauses, to handle more efficiently use_type and use_all_type
12995 constructs.
12996 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
12997 Ada2012 Use_All_Type clause.
12998 (Use_Class_Wide_Operations): new procedure.
12999
b0186f71
AC
130002011-08-02 Robert Dewar <dewar@adacore.com>
13001
13002 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
13003 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
13004 expression to expression function.
13005
130062011-08-02 Ed Schonberg <schonberg@adacore.com>
13007
13008 * sem_ch4.adb: transform simple Ada2012 membership into equality only
13009 if types are compatible.
13010
130112011-08-02 Yannick Moy <moy@adacore.com>
13012
13013 * sem_res.adb (Matching_Static_Array_Bounds): new function which
13014 returns True if its argument array types have same dimension and same
13015 static bounds at each index.
13016 (Resolve_Actuals): issue an error in formal mode on actuals passed as
13017 OUT or IN OUT paramaters which are not view conversions in SPARK.
13018 (Resolve_Arithmetic_Op): issue an error in formal mode on
13019 multiplication or division with operands of fixed point types which are
13020 not qualified or explicitly converted.
13021 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
13022 Boolean or array type (except String) operands.
13023 (Resolve_Equality_Op): issue an error in formal mode on equality
13024 operators for array types other than String with non-matching static
13025 bounds.
13026 (Resolve_Logical_Op): issue an error in formal mode on logical operators
13027 for array types with non-matching static bounds. Factorize the code in
13028 Matching_Static_Array_Bounds.
13029 (Resolve_Qualified_Expression): issue an error in formal mode on
13030 qualified expressions for array types with non-matching static bounds.
13031 (Resolve_Type_Conversion): issue an error in formal mode on type
13032 conversion for array types with non-matching static bounds
13033
767bb4e8
AC
130342011-08-02 Robert Dewar <dewar@adacore.com>
13035
13036 * par-ch10.adb: Minor code reorganization (use Nkind_In).
13037
130382011-08-02 Ed Schonberg <schonberg@adacore.com>
13039
13040 * par-ch9.adb: save location of entry for proper error message.
13041
4ac2477e
JM
130422011-08-02 Javier Miranda <miranda@adacore.com>
13043
13044 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
13045 (Use_Full_View) which permits this routine to climb through the
13046 ancestors using the full-view of private parents.
13047 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
13048 Use_Full_View to true in calls to Is_Ancestor.
13049 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
13050 true in call to Is_Ancestor.
13051 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
13052 Use_Full_View to true in call to Is_Ancestor.
13053 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
13054 call to Is_Ancestor.
13055 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
13056 Use_Full_View to true in calls to Is_Ancestor.
13057 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
13058 Make_Select_Specific_Data_Table, Register_Primitive,
13059 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
13060 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
13061 to true in call to Is_Ancestor.
13062 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
13063 Use_Full_View to true in calls to Is_Ancestor.
13064 * exp_cg.adb
13065 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
13066 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
13067
9f90d123
AC
130682011-08-02 Robert Dewar <dewar@adacore.com>
13069
13070 * gnat_rm.texi: Minor reformatting.
13071 * sem_prag.adb: Minor reformatting.
13072
130732011-08-02 Tristan Gingold <gingold@adacore.com>
13074
13075 * vms_data.ads: Add VMS qualifier for -gnateP.
13076
130772011-08-02 Robert Dewar <dewar@adacore.com>
13078
13079 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
13080 * par-ch7.adb (P_Package): Proper placement of aspects for package
13081 decl/instantiation.
13082 * par-endh.adb (Check_End): Ad Is_Sloc parameter
13083 (End_Statements): Add Is_Sloc parameterr
13084 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
13085 (Check_End): Ad Is_Sloc parameter
13086 (End_Statements): Add Is_Sloc parameterr
13087
130882011-08-02 Vincent Celier <celier@adacore.com>
13089
13090 * ug_words: Add VMS qualifier equivalent to -gnateP:
13091 /SYMBOL_PREPROCESSING.
13092
130932011-08-02 Jose Ruiz <ruiz@adacore.com>
13094
13095 * gnat-style.texi: For hexadecimal numeric literals the typical
13096 grouping of digits is 4 to represent 2 bytes.
13097 A procedure spec which is split into several lines is indented two
13098 characters.
13099
131002011-08-02 Yannick Moy <moy@adacore.com>
13101
13102 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
13103 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
13104 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
13105 properly qualified
13106 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
13107 choice in array aggregate
13108 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
13109 mark as ancestor
13110 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
13111 positional and named aggregate for record, or others in record
13112 aggregate, or multiple choice in record aggregate
13113 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
13114 array operands to logical operations AND, OR and XOR do not have the
13115 same static lower and higher bounds
13116 * sem_ch5.adb, sinfo.ads: Correct typos in comments
13117
2933b16c
RD
131182011-08-01 Robert Dewar <dewar@adacore.com>
13119
13120 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
13121 Replaces Last_Source_Node_In_Sequence.
13122 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
13123 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
13124 parens and blank in string (this was inconsistently implemented).
13125 * errout.ads
13126 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
13127 blank in string (this was inconsistently implemented).
13128 * gnat1drv.adb
13129 (Set_Global_Switches): Set formal mode switches appropriately
13130 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
13131 * par-prag.adb
13132 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
13133 call Set_Error_Msg_Lang to set "spark" as language name.
13134 * par.adb: Remove unnecessary call to set formal language for errout
13135 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
13136 appropriately and call Set_Error_Msg_Lang to set "spark" as language
13137 name.
13138 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
13139 calls to it, moved after resolution so that types are known
13140 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
13141 result of concatenation is not of type String
13142 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
13143 concatenation is not properly restricted
13144 * gnat_rm.texi: Add doc on pragma Spark_95.
13145 * gcc-interface/Makefile.in: Remove obsolete target pairs for
13146 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
13147 * gcc-interface/Make-lang.in: Update dependencies.
13148
05dbd302
AC
131492011-08-01 Javier Miranda <miranda@adacore.com>
13150
13151 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
13152 condition that detects if the overridden operation must replace an
13153 existing entity.
13154
131552011-08-01 Javier Miranda <miranda@adacore.com>
13156
13157 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
13158 code declarations inserted by Insert_Actions in each alternative of the
13159 N_Case_Expression node.
13160
131612011-08-01 Robert Dewar <dewar@adacore.com>
13162
13163 * sem_ch6.adb: Minor code reorganization.
13164 * sem_util.adb: Minor reformatting.
13165
af9e051f
PO
131662011-08-01 Pascal Obry <obry@adacore.com>
13167
13168 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
13169 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
13170
1d801f21
AC
131712011-08-01 Yannick Moy <moy@adacore.com>
13172
13173 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
13174 literal or operator symbol which is prefixed
13175 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
13176 mode on access attributes.
13177 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
13178 that concatenation operands are properly restricted in formal mode
13179 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
13180 Analyze_Concatenation_Operand. Issue an error in formal mode if the
13181 result of the concatenation has a type different from String.
13182 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
13183 Analyze_Quantified_Expression, Analyze_Slice,
13184 Analyze_Null): issue an error in formal mode on unsupported constructs
13185 * sem_ch5.adb
13186 (Analyze_Block_Statement): only issue error on source block statement
13187 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
13188 function which returns the last node in a list of nodes for which
13189 Comes_From_Source returns True, if any
13190 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
13191 Last_Source_Node_In_Sequence
13192 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
13193 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
13194 mode on unsupported constructs
13195 * sem_ch9.adb Do not return after issuing error in formal mode, as the
13196 rest of the actions may be needed later on since the error is marked as
13197 not serious.
13198 * sinfo.ads: Typos in comments.
13199
132002011-08-01 Pascal Obry <obry@adacore.com>
13201
13202 * projects.texi: Minor editing.
13203
53beff22
YM
132042011-08-01 Yannick Moy <moy@adacore.com>
13205
13206 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
13207 insertion character ~~
13208 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
13209 (Set_Error_Msg_Lang): new procedure which fixes the language for use
13210 with insertion character ~~
13211 (Set_Msg_Text): treat insertion character ~~
13212 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
13213 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
13214 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
13215 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
13216 errors related to the formal language restriction not serious
13217 (insertion character |).
13218 * par.adb (Par): set formal language for error messages if needed
13219 * sem_ch6.adb (Check_Missing_Return): take into account possible
13220 generated statements at the end of the function
13221 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
13222 enumeration value to define a new pragma SPARK_95
13223 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
13224 SPARK_Version): new type and variables to store the SPARK version
13225 (none by default).
13226 (SPARK_Mode): return True when SPARK_Version is set
13227 * par-prag.adb: Correct indentation
13228 (Prag): take Pragma_SPARK_95 into account
13229 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
13230 into account.
13231
8d606a78
RD
132322011-08-01 Robert Dewar <dewar@adacore.com>
13233
13234 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
13235 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
13236 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
13237
1982d5a8
PO
132382011-08-01 Pascal Obry <obry@adacore.com>
13239
13240 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
13241 Target_Name to Get_Path call.
13242 (Parse_Single_Project): Likewise.
13243 (Post_Parse_Context_Clause): Likewise.
13244 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
13245 Call Initialise_Project_Path with the proper Target_Name.
13246 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
13247 search path.
13248 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
13249 with the proper Target_Name.
13250 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
13251 Part.Parse routine.
13252 (Parse_Project_And_Apply_Config): Likewise.
13253 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
13254 This is fine as this part of the code is supporting only native
13255 compilation.
13256 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
13257 is fine as this part of the code is supporting only native compilation.
13258
0d53d36b
AC
132592011-08-01 Yannick Moy <moy@adacore.com>
13260
13261 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
13262 of homonym, unless the homonym is one of the cases allowed in SPARK
13263 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
13264 package declaration occurring after a body.
13265
132662011-08-01 Robert Dewar <dewar@adacore.com>
13267
13268 * checks.adb, exp_ch4.adb: Minor reformatting.
13269
132702011-08-01 Javier Miranda <miranda@adacore.com>
13271
13272 * einfo.ads (Access_Disp_Table): Fix documentation.
13273 (Dispatch_Table_Wrappers): Fix documentation.
13274
132752011-08-01 Pascal Obry <obry@adacore.com>
13276
13277 * prj-env.adb, prj-env.ads: Minor reformatting.
13278
8ed68165
AC
132792011-08-01 Yannick Moy <moy@adacore.com>
13280
13281 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
13282 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
13283 procedures out of these packages.
2c7f9cc0 13284 * errout.ads, errout.adb
8ed68165
AC
13285 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
13286 procedures in of this package
13287 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
13288 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
13289 on misplaced later vs initial declarations, like in Ada 83
13290 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
13291 formal mode on attribute of private type whose full type declaration
13292 is not visible
13293 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
13294 package declaration inside a package specification
13295 (Analyze_Full_Type_Declaration): issue error in formal mode on
13296 controlled type or discriminant type
13297 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
13298 user-defined operator means that it should come from the source
13299 (New_Overloaded_Entity): issue error in formal mode on overloaded
13300 entity.
13301 * sem_ch6.ads, sem_ch13.ads: typos in comments.
13302
133032011-08-01 Thomas Quinot <quinot@adacore.com>
13304
13305 * atree.adb: Minor reformatting.
13306 * checks.adb: Minor reformatting.
13307
4230bdb7
AC
133082011-08-01 Vincent Celier <celier@adacore.com>
13309
13310 * s-parame-vms-ia64.ads: Fix typo in comment
13311 Minor reformatting
13312 * s-parame-vms-restrict.ads: Removed, unused.
13313
133142011-08-01 Javier Miranda <miranda@adacore.com>
13315
13316 * exp_ch3.adb
13317 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
13318 * sem_ch3.adb
13319 (Constrain_Index): Remove side effects in the evaluation of the bounds.
13320 * sem_ch3.ads, sem_ch3.adb
13321 (Is_Constant_Bound): New extended version of the subprogram that was
13322 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
13323 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
13324 * sem_aux.ads (Constant_Value): Fix typo in comment.
13325 * checks.adb (Generate_Index_Checks): New implementation which, for
13326 array objects with constant bounds, generates the runtime check
13327 referencing the bounds of the array type. For other cases this routine
13328 provides its previous behavior obtaining such values from the array
13329 object.
13330 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
13331 parent type.
13332 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
13333 we cannot have semantic interpretations of the new node.
13334
2010d078
AC
133352011-08-01 Ed Schonberg <schonberg@adacore.com>
13336
13337 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
13338 expressions.
13339
133402011-08-01 Arnaud Charlet <charlet@adacore.com>
13341
13342 * sem_ch8.adb: Minor code editing.
13343 * s-vxwext.adb: Remove trailing space.
13344 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
13345 consistency with other files.
13346
133472011-08-01 Thomas Quinot <quinot@adacore.com>
13348
13349 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
13350
133512011-08-01 Ed Schonberg <schonberg@adacore.com>
13352
13353 * par-ch10.adb: reject parameterized expressions as compilation unit.
13354 * sem_ch4.adb: handle properly conditional expression with overloaded
13355 then_clause and no else_clause.
13356
133572011-08-01 Tristan Gingold <gingold@adacore.com>
13358
13359 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
13360 like done by System.Aux_DEC.
13361 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
13362
daec8eeb
YM
133632011-08-01 Yannick Moy <moy@adacore.com>
13364
13365 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
13366 missing label at end of declaration (subprogram or package)
13367 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
13368 of positional and named parameter association
13369 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
13370 Error_Msg_SP which adds a prefix to the error message giving the name
13371 of the formal language analyzed
13372 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
13373 access result type in subprogram, unconstrained array as result type,.
13374 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
13375 procedure
13376 * sem_ch8.adb: Code clean up.
13377
38171f43
AC
133782011-08-01 Javier Miranda <miranda@adacore.com>
13379
13380 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
13381 * einfo.ads (Access_Disp_Table): Fix documentation.
13382 (Dispatch_Table_Wrappers): Fix documentation.
13383 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
13384 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
13385 to enforce the documentation of this attribute.
13386 (Set_Is_Interface): Cleanup the assertion.
13387 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
13388 the Underlying_Type entity before reading attribute Access_Disp_Table.
13389 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
13390 Locate the Underlying_Type before reading attribute Access_Disp_Table.
13391 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
13392 the Underlying_Type entity before reading attribute Access_Disp_Table.
13393 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
13394 Locate the Underlying_Type entity before reading attribute
13395 Access_Disp_Table.
13396
133972011-08-01 Ed Schonberg <schonberg@adacore.com>
13398
13399 * s-poosiz.ads: Additional overriding indicators.
13400
134012011-08-01 Yannick Moy <moy@adacore.com>
13402
13403 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
13404 formal mode.
13405 (Analyze_Iteration_Scheme): issue error in formal mode when loop
13406 parameter specification does not include a subtype mark.
13407 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
13408 formal mode on abstract subprogram.
13409 (Analyze_Subprogram_Specification): issue error in formal mode on
13410 user-defined operator.
13411 (Process_Formals): issue error in formal mode on access parameter and
13412 default expression.
13413 * sem_ch9.adb (Analyze_Abort_Statement,
13414 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
13415 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
13416 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
13417 Analyze_Requeue, Analyze_Selective_Accept,
13418 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
13419 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
13420 issue error in formal mode on user-defined raise statement.
13421
1f250383
AC
134222011-08-01 Thomas Quinot <quinot@adacore.com>
13423
13424 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
13425 declaration being hidden when overriding an implicit inherited
13426 subprogram.
13427 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
13428 (-gnats), do not complain about a source file that contains only a
13429 pragma No_Body.
13430
134312011-08-01 Ed Schonberg <schonberg@adacore.com>
13432
13433 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
13434 variable if already set.
13435
607d0635
AC
134362011-08-01 Arnaud Charlet <charlet@adacore.com>
13437
13438 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
13439 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
13440 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
13441 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
13442 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
13443 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
13444 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
13445 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
13446 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
13447 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
13448 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
13449 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
13450 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
13451 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
13452 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
13453 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
13454 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
13455 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
13456 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
13457 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
13458 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
13459 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
13460 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
13461 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
13462 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
13463 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
13464 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
13465 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
13466 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
13467 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
13468 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
13469 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
13470 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
13471 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
13472 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
13473 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
13474 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
13475 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
13476 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
13477 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
13478 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
13479 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
13480 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
13481 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
13482 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
13483 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
13484 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
13485 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
13486 s-osinte-mingw.ads: Update to GPLv3 run-time license.
13487 Use GNAT instead of GNARL.
13488
134892011-08-01 Bob Duff <duff@adacore.com>
13490
13491 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
13492 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
13493 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
13494 reformatting.
13495
134962011-08-01 Yannick Moy <moy@adacore.com>
13497
13498 * debug.adb (d.D) reverve flag for the SPARK mode
13499 (d.E) reverve flag for SPARK generation mode
13500 (d.F) reverve flag for Why generation mode
2c7f9cc0 13501 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
607d0635
AC
13502 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
13503 functions which return True when the corresponding modes are set
13504 (Formal_Language): return "spark" or "alfa" when in formal verification
13505 mode.
13506 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
13507 Error_Msg to prefix the error message with a tag giving the formal
13508 language
13509 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
13510 message with a tag giving the formal language
13511 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
13512 block statement
13513 (Analyze_Case_Statement): issue error in formal mode on case statement
13514 with a single "others" case alternative
13515 (Analyze_Exit_Statement): issue errors in formal mode on exit
13516 statements which do not respect SPARK restrictions
13517 (Analyze_Goto_Statement): issue error in formal mode on goto statement
13518 (Check_Unreachable_Code): always issue an error (not a warning) in
13519 formal mode on unreachable code (concerns both code after an infinite
13520 loop and after an unconditional jump, both not allowed in SPARK)
13521 * sem_ch6.adb (Analyze_Return_Statement): add call to
13522 Set_Return_Present for a procedure containing a return statement
13523 (already done for functions in Analyze_Function_Return)
13524 (Analyze_Function_Return): issue error in formal mode on extended
13525 return or if return is not last statement in function
13526 (Check_Missing_Return): issue error in formal mode if function does
13527 not end with return or if procedure contains a return
13528 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
13529 function to detect if there is an inner scope of its parameter S which
13530 is a loop.
13531
135322011-08-01 Thomas Quinot <quinot@adacore.com>
13533
13534 * sem_ch6.ads: Minor reformatting.
13535
d8b3ccb9
AC
135362011-08-01 Javier Miranda <miranda@adacore.com>
13537
13538 * sem_util.adb (Abstract_Interface_List): Complete condition when
13539 processing private type declarations to avoid reading unavailable
13540 attribute.
13541 (Is_Synchronized_Tagged_Type): Complete condition when processing
13542 private extension declaration nodes to avoid reading unavailable
13543 attribute.
13544
135452011-08-01 Thomas Quinot <quinot@adacore.com>
13546
13547 * sem_ch3.adb: Minor reformatting.
13548
135492011-08-01 Thomas Quinot <quinot@adacore.com>
13550
13551 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
13552 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
13553 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
13554 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
13555 for VMS, instead parametrize the common implementation with
13556 System.Parameters declarations.
13557
0bb9276c
AC
135582011-08-01 Eric Botcazou <ebotcazou@adacore.com>
13559
13560 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
13561
135622011-08-01 Tristan Gingold <gingold@adacore.com>
13563
13564 * seh_init.c: Fix SEH handler installation on win64.
13565
135662011-08-01 Ed Schonberg <schonberg@adacore.com>
13567
13568 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
13569 double analysis of an anonymous access to subprogram, because it can
13570 lead to improper sharing of profiles and a back-end crash.
13571
6a2e4f0b
AC
135722011-08-01 Robert Dewar <dewar@adacore.com>
13573
13574 * make.adb, sem_ch4.adb: Minor reformatting.
13575 * gcc-interface/Make-lang.in: Update dependencies.
13576 * sem_util.adb, exp_ch5.adb: Minor reformatting.
13577
135782011-08-01 Arnaud Charlet <charlet@adacore.com>
13579
13580 * gnat_rm.texi: Fix definition of Long_Integer.
13581
135822011-08-01 Ed Schonberg <schonberg@adacore.com>
13583
13584 * exp_aggr.adb: check limit size of static aggregate unconditionally,
13585 to prevent storage exhaustion.
13586 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
13587 finalized is a function body, insert the cleanup code before the final
13588 return statement, to prevent spurious warnings.
13589 * s-pooglo.ads: add overriding indicator.
13590
4561baf7
ES
135912011-08-01 Ed Schonberg <schonberg@adacore.com>
13592
13593 * sem_ch4.adb (Operator_Check): improve error message when both a
13594 with_clause and a use_clause are needed to make operator usage legal.
13595 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
13596 determine whether a compilation unit is visible within an other,
13597 either through a with_clause in the current unit, or a with_clause in
13598 its library unit or one one of its parents.
13599
383e179e
AC
136002011-08-01 Ed Schonberg <schonberg@adacore.com>
13601
13602 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
13603 over an arbitrary expression of an array or container type.
13604 * lib-xref.adb: clarify comment.
13605
136062011-08-01 Bob Duff <duff@adacore.com>
13607
13608 * einfo.ads: Minor reformatting.
13609 * debug.adb: Minor comment improvement.
13610
136112011-08-01 Javier Miranda <miranda@adacore.com>
13612
13613 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
13614 consider hidden subprograms as valid candidates.
13615
136162011-08-01 Arnaud Charlet <charlet@adacore.com>
13617
13618 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
13619
136202011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
13621
13622 * gnat_ugn.texi: Fix typo.
13623
61c161b2
AC
136242011-08-01 Robert Dewar <dewar@adacore.com>
13625
13626 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
13627 lib-xref.adb: Minor reformatting
13628
136292011-08-01 Gary Dismukes <dismukes@adacore.com>
13630
13631 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
13632 when to generate a call to Move_Final_List.
13633 (Has_Controlled_Parts): Remove this function.
13634
84df40f7
AC
136352011-08-01 Geert Bosch <bosch@adacore.com>
13636
13637 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
13638 "," in choice list.
13639
136402011-08-01 Thomas Quinot <quinot@adacore.com>
13641
13642 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
13643 explicit raise of a predefined exception as Comes_From_Source if the
13644 original N_Raise_Statement comes from source.
13645
136462011-08-01 Robert Dewar <dewar@adacore.com>
13647
13648 * sinfo.ads: Add comment.
13649 * sem_ch6.adb: Minor reformatting.
13650
136512011-08-01 Robert Dewar <dewar@adacore.com>
13652
13653 * freeze.adb (Freeze_Entity): Refine check for bad component size
13654 clause to avoid rejecting confirming clause when atomic/aliased present.
13655
136562011-08-01 Ed Schonberg <schonberg@adacore.com>
13657
13658 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
13659 better determine whether an entity reference is a write.
13660 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
13661 subcomponent.
13662 * lib-xref.adb (Output_References): Do no suppress a read reference at
13663 the same location as an immediately preceeding modify-reference, to
13664 handle properly in-out actuals.
13665
136662011-08-01 Tristan Gingold <gingold@adacore.com>
13667
13668 * env.c (__gnat_setenv) [VMS]: Refine previous change.
13669
136702011-08-01 Quentin Ochem <ochem@adacore.com>
13671
13672 * i-cstrin.adb (New_String): Changed implementation, now uses only the
13673 heap to compute the result.
13674
c7f0d2c0
AC
136752011-08-01 Robert Dewar <dewar@adacore.com>
13676
13677 * atree.ads: Minor reformatting.
13678
136792011-08-01 Emmanuel Briot <briot@adacore.com>
13680
13681 * g-expect.adb (Get_Command_Output): Fix memory leak.
13682
136832011-08-01 Geert Bosch <bosch@adacore.com>
13684
13685 * cstand.adb (P_Float_Type): New procedure to print the definition of
13686 predefined fpt types.
13687 (P_Mixed_Name): New procedure to print a name using mixed case
13688 (Print_Standard): Use P_Float_Type for printing floating point types
13689 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
13690 precision IEEE float.
13691
136922011-08-01 Thomas Quinot <quinot@adacore.com>
13693
13694 * sem_ch3.adb: Minor reformatting.
13695
136962011-08-01 Ed Schonberg <schonberg@adacore.com>
13697
13698 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
13699 the completion of a generic function, insert the new body rather than
13700 rewriting the original.
13701
137022011-08-01 Yannick Moy <moy@adacore.com>
13703
13704 * sinfo.ads, errout.ads: Typos in comments.
13705
1c54829e
AC
137062011-08-01 Robert Dewar <dewar@adacore.com>
13707
13708 * par-endh.adb: Minor reformatting.
13709
137102011-08-01 Robert Dewar <dewar@adacore.com>
13711
13712 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
13713 (Pre_Post_Aspects): New subtype.
13714 * par-ch12.adb (P_Generic): New syntax for aspects in packages
13715 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
13716 * par-ch7.adb (P_Package): Remove Decl parameter
13717 (P_Package): Handle new syntax for aspects (before IS)
13718 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
13719 new aspect syntax
13720 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
13721 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
13722 (P_Package): Remove Decl parameter
13723 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
13724 aspects
13725 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
13726 specs
13727 * sem_util.ads, sem_util.adb (Static_Boolean): New function
13728 * sinfo.ads: Document new syntax for aspects in packages etc.
13729 * sprint.adb: Handle new syntax of aspects before IS in package
13730
137312011-08-01 Thomas Quinot <quinot@adacore.com>
13732
13733 * atree.ads: Minor reformatting.
13734 * sem_prag.adb: Minor reformatting.
13735
137362011-08-01 Robert Dewar <dewar@adacore.com>
13737
13738 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
13739 case expr alternative.
13740
137412011-08-01 Ed Schonberg <schonberg@adacore.com>
13742
13743 * sem_ch12.adb: Fix typo.
13744
9eea4346
GB
137452011-08-01 Geert Bosch <bosch@adacore.com>
13746
13747 * sem_prag.adb (Check_No_Link_Name): New procedure.
13748 (Process_Import_Or_Interface): Use Check_No_Link_Name.
13749 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
13750 instead of Standard_Long_Long_Float_Size global. Preparation for
13751 eventual removal of per type constants.
13752 * exp_util.ads (Get_Stream_Size): New function returning the stream
13753 size value of subtype E.
13754 * exp_util.adb (Get_Stream_Size): Implement new function.
13755 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
13756 function.
13757 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
13758 * einfo.adb:
13759 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
13760
3d6c3bd7
GB
137612011-08-01 Geert Bosch <bosch@adacore.com>
13762
13763 * cstand.adb: Fix comments.
13764 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
13765 count of arguments.
13766
e7d897b8
AC
137672011-08-01 Robert Dewar <dewar@adacore.com>
13768
13769 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
13770
137712011-08-01 Geert Bosch <bosch@adacore.com>
13772
13773 * atree.ads: Fix comment.
13774
c228a069
AC
137752011-08-01 Robert Dewar <dewar@adacore.com>
13776
13777 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
13778 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
13779 * par.adb: Add with for Namet.Sp.
13780 * par-tchk.adb: Minor reformatting.
13781
137822011-08-01 Vincent Celier <celier@adacore.com>
13783
13784 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
13785 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
13786 of the init procedure of a SAL.
13787 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
13788 New procedure.
13789
137902011-08-01 Thomas Quinot <quinot@adacore.com>
13791
13792 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
13793 reformatting.
13794
137952011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13796
13797 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
13798
137992011-08-01 Thomas Quinot <quinot@adacore.com>
13800
13801 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
13802 conformant with its spec (return True only for types that have
13803 an overriding Initialize primitive operation that prevents them from
13804 having preelaborable initialization).
13805 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
13806 initialization for controlled types in Ada 2005 or later mode.
13807
857ade1b
RD
138082011-08-01 Robert Dewar <dewar@adacore.com>
13809
13810 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
13811 Postcondition.
13812 (Same_Aspect): New function.
13813 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
13814 Type_Invariant, Precondition, Postcondition.
13815 * snames.ads-tmpl: Add Name_Type_Invariant.
13816
bd949ee2
RD
138172011-08-01 Robert Dewar <dewar@adacore.com>
13818
13819 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
13820 here.
13821 (Freeze_All_Ent): Fix error in handling inherited aspects.
13822 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
13823 already analyzed, but don't skip entire processing of a declaration,
13824 that's wrong in some cases of declarations being rewritten.
13825 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
13826 Don't delay for integer, string literals
13827 Treat predicates in usual manner for delay, remove special case code,
13828 not needed.
13829 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
13830 (Build_Predicate_Function): Update saved expression in aspect
13831 (Build_Invariant_Procedure): Update saved expression in aspect
13832 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
13833 of replacement of discriminant references if the reference is simple.
13834
f1c952af
RD
138352011-08-01 Robert Dewar <dewar@adacore.com>
13836
13837 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
13838 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
13839 Static_Predicate and Dynamic_Predicate.
13840 (Build_Predicate_Function): Add processing for Static_Predicate
13841 and Dynamic_Predicate.
13842 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
13843 (From_Static_Predicate): New flag
13844 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
13845
138462011-08-01 Robert Dewar <dewar@adacore.com>
13847
13848 * usage.adb: Documentation cleanup for Ada version modes in usage.
13849 * expander.adb: Minor reformatting.
13850
47e11d08
AC
138512011-08-01 Robert Dewar <dewar@adacore.com>
13852
13853 * atree.ads: Minor comment fix.
13854 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
13855 a-witeio.ads, sem_prag.adb: Minor reformatting.
13856
138572011-08-01 Doug Rupp <rupp@adacore.com>
13858
13859 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
13860 pointers. Use descrip.h header file for convenience. Add some
13861 comments.
13862
138632011-08-01 Robert Dewar <dewar@adacore.com>
13864
13865 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
13866 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
13867 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
13868 New procedure.
13869 (Check_Aspect_At_End_Of_Declarations): New procedure
13870 (Analye_Aspect_Specification): Minor changes for above procedures
13871 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
13872 specification node as well.
13873
138742011-08-01 Pascal Obry <obry@adacore.com>
13875
13876 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
13877 Windows files. Use GetFilesAttributes() in this case to check for file
13878 existence instead of returning with an error code.
13879
a3a16b21
VC
138802011-08-01 Vincent Celier <celier@adacore.com>
13881
13882 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
13883 High is above Source length.
13884
ff58cc69
RD
138852011-08-01 Robert Dewar <dewar@adacore.com>
13886
13887 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
13888
6bb88533
AC
138892011-08-01 Robert Dewar <dewar@adacore.com>
13890
13891 * aspects.ads (Boolean_Aspects): New subtype.
13892 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
13893 for derived types in cases where the parent type and derived type have
13894 aspects.
13895 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
13896 with aspects when parent type also has aspects.
13897 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
13898 boolean expression at this point).
13899 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
13900 accordance with final decision on the Ada 2012 feature.
13901 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
13902
139032011-08-01 Matthew Heaney <heaney@adacore.com>
13904
13905 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
13906
060a3f28
AC
139072011-08-01 Pascal Obry <obry@adacore.com>
13908
13909 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
13910 Fix Replace_Slice when High is above current string size.
13911 (Replace_Slice): Fix DL computation when High is above current
13912 string length.
13913
139142011-08-01 Gary Dismukes <dismukes@adacore.com>
13915
13916 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
13917
e7f567a3
AC
139182011-08-01 Matthew Heaney <heaney@adacore.com>
13919
13920 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
13921 of node.
13922
139232011-08-01 Pascal Obry <obry@adacore.com>
13924
13925 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
13926 reformatting.
13927
1a265e78
AC
139282011-08-01 Ed Schonberg <schonberg@adacore.com>
13929
13930 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
13931 access to protected subprograms in generic bodies.
13932 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
13933 protected type, indicate that the convention of the subprogram is
13934 Convention_Protected, because it may be used in subsequent declarations
13935 within the protected declaration.
13936
139372011-08-01 Vincent Celier <celier@adacore.com>
13938
13939 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
13940 and "final" procedures when the name of the library is "ada", to avoid
13941 duplicate symbols "adainit" and "adafinal" in executables.
13942
67e28ef8
ES
139432011-08-01 Ed Schonberg <schonberg@adacore.com>
13944
13945 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
13946 quantified expression that appears within a postcondition and uses the
13947 Ada2012 'Result attribute.
13948
6da2ca7d
RO
139492011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13950
13951 * init.c (__gnat_error_handler): Cast reason to int.
13952 (__gnat_install_handler): Explain sa_sigaction use.
13953
7d5997c6
EB
139542011-07-24 Eric Botcazou <ebotcazou@adacore.com>
13955
13956 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
13957 subprogram has copy-in copy-out parameters, try to promote the mode of
13958 the return type if it is passed in registers.
13959
4b4cfdd5
EB
139602011-07-24 Eric Botcazou <ebotcazou@adacore.com>
13961
13962 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
13963 left operand as addressable.
13964
f3d34576
EB
139652011-07-24 Eric Botcazou <ebotcazou@adacore.com>
13966
13967 * gcc-interface/gigi.h (build_function_stub): Remove.
13968 (build_return_expr): Likewise.
13969 (convert_vms_descriptor): Declare.
13970 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
13971 (build_function_stub): Move to...
13972 * gcc-interface/utils2.c (build_return_expr): Move to...
13973 * gcc-interface/trans.c (build_function_stub): ...here.
13974 (build_return_expr): ...here.
13975 (Subprogram_Body_to_gnu): Add local variable for language_function.
13976 Disconnect the parameter attributes cache, if any, once done with it.
13977 Call end_subprog_body only after setting the end_locus.
13978 Build the stub associated with the function, if any, at the very end.
13979 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
13980 variables and streamline control flow.
13981
0a6ecc08
AC
139822011-07-23 Arnaud Charlet <charlet@adacore.com>
13983
13984 PR ada/49819
13985 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
13986 g-trasym-dwarf.adb.
13987
5b6d595b
RO
139882011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13989
13990 PR bootstrap/49794
13991 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
13992 Assign to act.sa_sigaction.
13993 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
13994 current->return_address to char * before arithmetic.
13995
94017021
RO
139962011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13997
13998 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
13999 Correct argument types.
14000 Extract code from reason.
14001 (__gnat_install_handler): Assign to act.sa_sigaction.
14002
52fd02bb
EB
140032011-07-21 Eric Botcazou <ebotcazou@adacore.com>
14004
14005 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
14006 (GNAT1_OBJS): ...here.
14007
f39a9ca2
EB
140082011-07-15 Eric Botcazou <ebotcazou@adacore.com>
14009
14010 PR ada/48711
14011 * g-socthi-mingw.adb (Fill): Fix formatting.
14012
9e36aa23
EB
14013 * gcc-interface/gigi.h: Move around comment.
14014
e3aca522
JDA
140152011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14016
14017 PR ada/46350
14018 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
14019
696b1960
FW
140202011-07-14 Florian Weimer <fw@deneb.enyo.de>
14021
14022 PR ada/48711
14023 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
14024
f542c405
EB
140252011-07-13 Eric Botcazou <ebotcazou@adacore.com>
14026
14027 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
14028 range comparison if Pmode is SImode.
14029
9e9bd455
LG
140302011-07-12 Laurent GUERBY <laurent@guerby.net>
14031 Eric Botcazou <ebotcazou@adacore.com>
14032
14033 * adadecode.c: Wrap up in extern "C" block.
14034 * adadecode.h: Likewise.
14035 * adaint.c: Likewise. Remove 'const' keyword.
14036 * adaint.h: Likewise.
14037 * argv.c: Likewise.
14038 * atree.h: Likewise.
14039 * cio.c: Likewise.
14040 * cstreams.c: Likewise.
14041 * env.c: Likewise.
14042 * exit.c: Likewise.
14043 * fe.h: Likewise.
14044 * final.c: Likewise.
14045 * init.c: Likewise.
14046 * initialize.c: Likewise.
14047 * link.c: Likewise.
14048 * namet.h: Likewise.
14049 * nlists.h: Likewise.
14050 * raise.c: Likewise.
14051 * raise.h: Likewise.
14052 * repinfo.h: Likewise.
14053 * seh_init.c: Likewise.
14054 * targext.c: Likewise.
14055 * tracebak.c: Likewise.
14056 * uintp.h: Likewise.
14057 * urealp.h: Likewise.
14058 * xeinfo.adb: Wrap up generated C code in extern "C" block.
14059 * xsinfo.adb: Likewise.
14060 * xsnamest.adb: Likewise.
14061 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
14062 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
14063 * gcc-interface/misc.c: Likewise.
14064 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
14065 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
14066 ada/targext.o here...
14067 (GNAT_ADA_OBJS): ...and not here.
14068 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
14069 (GNATBIND_OBJS): Reorder.
14070
7644b3c7
RH
140712011-07-07 Richard Henderson <rth@redhat.com>
14072
14073 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
14074 dwarf2out_frame_init.
14075
8384ac41
EB
140762011-07-07 Eric Botcazou <ebotcazou@adacore.com>
14077
14078 * gcc-interface/misc.c (gnat_init): Tweak previous change.
14079
fbdd5d87
RO
140802011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14081
14082 PR target/39150
14083 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
14084
1a072294
RG
140852011-07-06 Richard Guenther <rguenther@suse.de>
14086
8384ac41
EB
14087 * gcc-interface/misc.c (gnat_init): Merge calls to
14088 build_common_tree_nodes and build_common_tree_nodes_2.
1a072294
RG
14089 Re-initialize boolean_false_node.
14090
bc712852
EB
140912011-07-02 Eric Botcazou <ebotcazou@adacore.com>
14092 Olivier Hainque <hainque@adacore.com>
14093 Nicolas Setton <setton@adacore.com>
14094
14095 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
14096 the type according to the ARTIFICIAL_P parameter.
14097 (create_type_decl): Likewise.
14098 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
14099
2eb22389
EB
141002011-07-01 Eric Botcazou <ebotcazou@adacore.com>
14101
14102 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
14103 (gnatbind): Likewise.
14104
4bdaaf2f
RO
141052011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14106
14107 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
14108
c020c92b
EB
141092011-06-18 Eric Botcazou <ebotcazou@adacore.com>
14110
14111 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
14112 local variable throughout. Remove useless call to Base_Type.
14113 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
14114 Take it also into account for the volatileness of the field. Set the
14115 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
14116
96769d32
EB
141172011-06-18 Eric Botcazou <ebotcazou@adacore.com>
14118
14119 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
14120 on a dereference built for a by-ref object if it has an address clause.
14121
7e4680c1
EB
141222011-06-18 Eric Botcazou <ebotcazou@adacore.com>
14123
14124 * einfo.ads (Address_Taken): Document use for the second argument of
14125 Asm_Input and Asm_Output attributes.
14126 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
14127 argument is an entity name, then set Address_Taken on it.
14128 <Attribute_Asm_Output>: Likewise.
14129 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
14130 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
14131 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
14132 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
14133
141342011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
d5cc9181
JR
14135
14136 PR middle-end/46500
14137 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
14138
677f3fa8
JM
141392011-06-14 Joseph Myers <joseph@codesourcery.com>
14140
14141 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
14142 (ada/utils.o): Update dependencies.
14143 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
14144 ../../../libcpp/libcpp.a.
14145 * gcc-interface/utils.c: Include common/common-target.h.
14146 (process_attributes): Use targetm_common.have_named_sections.
14147
009db074
RG
141482011-06-07 Richard Guenther <rguenther@suse.de>
14149
0bad0e23
EB
14150 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
14151 set_sizetype.
009db074 14152
3bfc61cf
EB
141532011-06-06 Eric Botcazou <ebotcazou@adacore.com>
14154
0bad0e23 14155 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
3bfc61cf
EB
14156 TREE_THIS_NOTRAP flag.
14157
5c4a1c7b
EB
141582011-06-06 Eric Botcazou <ebotcazou@adacore.com>
14159
14160 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
14161 Fix thinko.
14162
e9f57686
EB
141632011-06-06 Eric Botcazou <ebotcazou@adacore.com>
14164
14165 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
14166 constants whose full view has discriminants specially.
14167
10e4d056
EB
141682011-06-06 Eric Botcazou <ebotcazou@adacore.com>
14169
14170 * gcc-interface/utils.c: Include diagnostic.h.
14171 (gnat_write_global_declarations): Output debug information for all
14172 global type declarations before finalizing the compilation unit.
14173 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
14174
0957c029
JJ
141752011-05-25 Jakub Jelinek <jakub@redhat.com>
14176
14177 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
14178
52d0a7ac
KT
141792011-05-25 Kai Tietz <ktietz@redhat.com>
14180
14181 * adaint.c (__gnat_to_canonical_file_list_next): Use array
14182 initialization instead of const/none-const pointer assignment.
14183
1ed1641d
JM
141842011-05-24 Joseph Myers <joseph@codesourcery.com>
14185
14186 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
14187 $(EXTRA_GNAT1_OBJS).
14188 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
14189 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
14190 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
14191 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
14192 libcommon-target.a instead of prefix.o.
14193
9fe72ebd
JM
141942011-05-21 Joseph Myers <joseph@codesourcery.com>
14195
14196 PR ada/49097
0bad0e23 14197 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9fe72ebd 14198
2691e6d7
JM
141992011-05-20 Joseph Myers <joseph@codesourcery.com>
14200
0bad0e23
EB
14201 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
14202 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
14203 instead of version.o.
2691e6d7 14204
bf6490b5
KT
142052011-05-18 Kai Tietz <ktietz@redhat.com>
14206
14207 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
14208 boolean_false_node instead of integer_zero_node.
14209 (convert_with_check): Likewise.
14210 * gcc-interface/decl.c (choices_to_gnu): Likewise.
14211
7bf9a5ac
EB
142122011-05-12 Eric Botcazou <ebotcazou@adacore.com>
14213
14214 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
14215 type of the parameter is an unconstrained array, convert the actual to
14216 the type of the formal in the In Out and Out cases as well.
14217
e5b00edf
NF
142182011-05-11 Nathan Froyd <froydnj@codesourcery.com>
14219
14220 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
14221 call build_function_type_array or build_varargs_function_type_array
14222 instead.
14223 (create_subprog_type): Don't call build_function_type; call
14224 build_function_type_vec instead.
14225
51545682
NF
142262011-05-11 Nathan Froyd <froydnj@codesourcery.com>
14227
14228 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
14229 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
14230 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
14231
c99c0026
EB
142322011-05-07 Eric Botcazou <ebotcazou@adacore.com>
14233
f620bd21
EB
14234 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
14235
c99c0026
EB
14236 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
14237 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
14238
3d528853
NF
142392011-05-05 Nathan Froyd <froydnj@codesourcery.com>
14240
c99c0026 14241 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
3d528853 14242
d7d058c5
NF
142432011-05-05 Nathan Froyd <froydnj@codesourcery.com>
14244
14245 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
14246 instead of accessing TYPE_ARG_TYPES directly.
14247 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
14248
805e60a0
EB
142492011-05-05 Eric Botcazou <ebotcazou@adacore.com>
14250
14251 PR ada/48844
14252 * gcc-interface/gigi.h (get_variant_part): Declare.
14253 * gcc-interface/decl.c (get_variant_part): Make global.
14254 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
14255 types have the same constant size, are record types and T1 has a
14256 variant part while T2 doesn't.
14257
907a08d9
EB
142582011-05-05 Eric Botcazou <ebotcazou@adacore.com>
14259
14260 * gcc-interface/utils.c (begin_subprog_body): Do not call
14261 get_pending_sizes.
14262 (end_subprog_body): Likewise.
14263
d35936ab
RG
142642011-05-04 Richard Guenther <rguenther@suse.de>
14265
14266 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
14267 int_const_binop.
14268 (pos_to_constructor): Likewise.
14269
c1fd8753 142702011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 14271 Eric Botcazou <ebotcazou@adacore.com>
c1fd8753
NF
14272
14273 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
14274 of build_function_type. Adjust calls to...
14275 (build_raise_check): ...this. Do not take a void_tree parameter.
14276 Call build_function_type_list instead of build_function_type.
14277 Fix head comment and swap couple of conditional blocks.
14278
4fb87d2b
EB
142792011-04-30 Eric Botcazou <ebotcazou@adacore.com>
14280
14281 * gnatvsn.ads (Library_Version): Bump to 4.7.
14282 (Current_Year): Bump to 2011.
14283
fa5e5a76
MM
142842011-04-29 Michael Matz <matz@suse.de>
14285
14286 * gcc-interface/misc.c (gnat_handle_option): Set
14287 warn_maybe_uninitialized.
14288
8d6a2f69
GP
142892011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
14290
14291 * gnat_ugn.texi (Complexity Metrics Control): Update link to
14292 the Watson/McCabe paper.
14293
770937fd
JM
142942011-04-23 Jim Meyering <meyering@redhat.com>
14295
14296 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
14297
eb601ae1
EB
142982011-04-22 Eric Botcazou <ebotcazou@adacore.com>
14299
14300 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
14301 onto the new type.
14302
7d7fcb08
EB
143032011-04-22 Eric Botcazou <ebotcazou@adacore.com>
14304
14305 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
14306 parameter.
14307 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
14308 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
14309 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
14310 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
14311 <all>: Do not set flags on the reused DECL node coming from an alias.
14312 Set DECL_IGNORED_P on the DECL node built for subprograms if they
14313 don't need debug info here...
14314 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
14315 (gigi): Adjust calls to create_subprog_decl.
14316 (build_raise_check): Likewise.
14317 (establish_gnat_vms_condition_handler): Likewise.
14318 (Compilation_Unit_to_gnu): Likewise.
14319 (gnat_to_gnu): Likewise.
14320
e1876cac
EB
143212011-04-21 Eric Botcazou <ebotcazou@adacore.com>
14322
14323 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
14324 (NO_REORDER_ADAFLAGS): New variable.
14325 (EXTRA_GNATTOOLS): Always define.
14326 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
14327 Clean up and adjust list of files compiled with special options.
14328 * gcc-interface/Make-lang.in: Likewise.
14329 (ada/decl.o): Cosmetical change.
14330 (ada/misc.o): Remove dependency on $(PLUGIN_H).
14331
04695783
JM
143322011-04-20 Jim Meyering <meyering@redhat.com>
14333
14334 * initialize.c (__gnat_initialize): Remove useless if-before-free.
14335
23399579
EB
143362011-04-17 Eric Botcazou <ebotcazou@adacore.com>
14337
14338 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
14339 $(CFLAGS) on the link line.
14340
51c5169c
EB
143412011-04-17 Eric Botcazou <ebotcazou@adacore.com>
14342
14343 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
14344 padded type built for the return type if it is unconstrained.
14345
61e46a7d
NF
143462011-04-14 Nathan Froyd <froydnj@codesourcery.com>
14347
14348 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
14349
81f653d6
NF
143502011-04-12 Nathan Froyd <froydnj@codesourcery.com>
14351
b4867846
EB
14352 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
14353 before calling TREE_CHAIN.
81f653d6
NF
14354 * gcc-interface/misc.c (gnat_init_ts): New function.
14355 (LANG_HOOKS_INIT_TS): Define.
14356
a358e188
MJ
143572011-04-12 Martin Jambor <mjambor@suse.cz>
14358
b4867846
EB
14359 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
14360 instead of cgraph_node.
a358e188 14361
29b1c5a4
EB
143622011-04-08 Eric Botcazou <ebotcazou@adacore.com>
14363
14364 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
14365 alignment on fields of the RETURN type built for the Copy-In Copy-Out
14366 mechanism.
14367
88872b00
EB
143682011-04-08 Eric Botcazou <ebotcazou@adacore.com>
14369
14370 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
14371 of aggregate types that contain a placeholder.
14372
dcf0c47e
NF
143732011-04-08 Nathan Froyd <froydnj@codesourcery.com>
14374
14375 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
b4867846 14376 TYPE_ARG_TYPES.
dcf0c47e
NF
14377 (handle_type_generic_attribute): Likewise.
14378
53e3000c
EB
143792011-04-04 Eric Botcazou <ebotcazou@adacore.com>
14380
14381 PR ada/47163
14382 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
14383
ab380bb4
KT
143842011-04-04 Kai Tietz <ktietz@redhat.com>
14385
14386 PR ada/47163
0bad0e23
EB
14387 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
14388 to flag value.
ab380bb4 14389
8ffac116
EB
143902011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14391
14392 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
14393 type case, do not strip a padding type around the array type.
14394
de9528f0
EB
143952011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14396
14397 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
14398 types.
14399
d9d7a26c
EB
144002011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14401
14402 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
14403 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
de9528f0 14404 code for -feliminate-unused-debug-types.
d9d7a26c
EB
14405 (gnat_post_options): Likewise.
14406
4cb12a90
EB
144072011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14408
14409 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
14410 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
14411 distinct copy.
14412
acccc61c
EB
144132011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14414
14415 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
14416 DECL_ARTIFICIAL flag on enumeration types.
14417
583eb0c9
EB
144182011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14419
14420 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
14421 fat pointer types artificial unconditionally.
14422 <E_Array_Subtype>: Attach the base array type as a parallel type if it
14423 isn't artificial.
14424
e3edbd56
EB
144252011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14426
14427 * gcc-interface/gigi.h (get_dummy_type): Declare.
14428 (build_dummy_unc_pointer_types): Likewise.
14429 (finish_fat_pointer_type): Likewise.
14430 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
14431 fat pointer type has been built, complete it in place.
14432 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
14433 and thin pointers. Remove useless variable.
14434 (finish_fat_pointer_type): Make global and move to...
14435 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
14436 (get_dummy_type): New function.
14437 (build_dummy_unc_pointer_types): Likewise.
14438 (gnat_pushdecl): Propage the name to the anonymous variants only.
14439 (update_pointer_to): Only adjust the pointer types in the unconstrained
14440 array case.
14441
65444786
EB
144422011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14443
14444 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
14445 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
14446 if this is a Taft amendment type and the full declaration is available.
14447 * gcc-interface/trans.c (process_type): Likewise.
14448 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
14449 (process_freeze_entity): Likewise.
14450 * gcc-interface/utils.c (dummy_global): New static variable.
14451 (gnat_write_global_declarations): If there are types declared as used
14452 at the global level, insert them in the global hash table.
14453
1aeb40dd
EB
144542011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14455
14456 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
14457 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
14458 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
14459 copy.
14460 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
14461 flag of the type accordingly.
14462 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
14463
80ec8b4c
EB
144642011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14465
14466 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
14467 finalizing types when updating the pointers to the designated type.
14468 <all>: Finalize the deferred types even if we didn't defer processing
14469 of incomplete types in this invocation.
14470
2a9d769a 144712011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
14472 Nicolas Setton <setton@adacore.com>
14473 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
14474
14475 * gcc-interface/misc.c (gnat_descriptive_type): New function.
14476 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
14477
2438d7a6
KT
144782011-03-28 Kai Tietz <ktietz@redhat.com>
14479
333d8aff 14480 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
80ec8b4c
EB
14481 Windows targets.
14482 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
14483 * system-mingw.ads (System): Change ZCX_By_Default default to True.
333d8aff 14484
80ec8b4c 14485 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2438d7a6 14486
8ad150f6
TG
144872011-03-28 Tristan Gingold <gingold@adacore.com>
14488
14489 PR ada/44431
80ec8b4c
EB
14490 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
14491 Use ada output of gnatbind.
8ad150f6
TG
14492 (ada/b_gnatb.adb): Ditto.
14493 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
14494 (ada.mostlyclean, ada.stage1)
14495 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
14496 (ada.stagefeedback): Adjust.
80ec8b4c 14497 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
8ad150f6
TG
14498 Use ada output of gnatbind.
14499 (b_gnatm.adb): Ditto.
14500 (b_gnatl.o, b_gnatm.o): New rules.
14501
51c7954d
EB
145022011-03-26 Eric Botcazou <ebotcazou@adacore.com>
14503
14504 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
14505 for the padded type built to support a specified size or alignment.
14506
6ddf9843
EB
145072011-03-26 Eric Botcazou <ebotcazou@adacore.com>
14508
14509 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
14510 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
14511 unconditionally to the end of the unit when the designated type is
14512 limited_with'ed.
14513 <all>: Rename local variable. Attempt to un-defer types only and do it
14514 for limited_with'ed types as well.
14515 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
14516 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
14517 consistently and remove redundant call to finalize_from_with_types.
14518
5daed84a
EB
145192011-03-26 Eric Botcazou <ebotcazou@adacore.com>
14520
14521 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
14522 subprograms without a previous spec declared in the same unit.
14523 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
14524 subprograms at the end of the unit instead of at the beginning.
14525 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
14526 isn't public for the special handling of non-inline functions nested
14527 inside inline external functions.
14528
0edf1bb2
JL
145292011-03-25 Jeff Law <law@redhat.com>
14530
5daed84a 14531 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
0edf1bb2 14532
e3c4580e
EB
145332011-03-24 Eric Botcazou <ebotcazou@adacore.com>
14534
14535 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
14536 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
14537 to compute Set_Size_Depends_On_Discriminant.
14538 (Layout_Type): Call it on array types in back-end layout mode.
14539 * sem_util.adb (Requires_Transient_Scope): Return true for array
14540 types only if the size depends on the value of discriminants.
14541 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
14542 type if the RHS is a call to a function that returns an unconstrained
14543 type with default discriminant.
14544
abbc8c7b
EB
145452011-03-24 Eric Botcazou <ebotcazou@adacore.com>
14546
14547 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
14548 non-conversion to the nominal result type at the end.
14549
ddb5a105
EB
145502011-03-23 Eric Botcazou <ebotcazou@adacore.com>
14551
14552 * gcc-interface/trans.c (create_temporary): New function taken from...
14553 (create_init_temporary): ...here. Call it.
14554 (call_to_gnu): Create the temporary for the return value early, if any.
14555 Create it for a function with copy-in/copy-out parameters if there is
14556 no target; in other cases of copy-in/copy-out, use another temporary.
14557 Push the new binding level lazily. Add and rename local variables.
14558
0d853156
EB
145592011-03-23 Eric Botcazou <ebotcazou@adacore.com>
14560
14561 * gcc-interface/decl.c (validate_size): Improve comments and tweak
14562 error message.
14563 (set_rm_size): Likewise.
14564
4184ef1b
EB
145652011-03-23 Eric Botcazou <ebotcazou@adacore.com>
14566
14567 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
14568 for the padded type built in order to support a specified alignment.
14569 Fix incorrect formatting.
14570
bf7eefab
EB
145712011-03-21 Eric Botcazou <ebotcazou@adacore.com>
14572
14573 PR bootstrap/48216
14574 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
14575
ef0feeb2
EB
145762011-03-21 Eric Botcazou <ebotcazou@adacore.com>
14577
14578 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
14579 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
14580 to the end of the list. Adjust recursive call. Rename local variable.
14581 If REORDER is true, reorder components of the record type.
14582 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
14583 components_to_record and adjust the parameter list.
14584
646f9414
EB
145852011-03-21 Eric Botcazou <ebotcazou@adacore.com>
14586
14587 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
14588 disabled, use the variable for bounds of loop iteration scheme.
14589
62d784f7
KT
145902011-03-21 Kai Tietz <ktietz@redhat.com>
14591
14592 PR target/12171
0bad0e23 14593 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
62d784f7 14594
f230d759
EB
145952011-03-17 Eric Botcazou <ebotcazou@adacore.com>
14596
14597 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
14598 out whether the expression is read-only. Short-circuit placeholder
14599 case and rename a couple of local variables.
14600
bb1f7929
EB
146012011-03-17 Eric Botcazou <ebotcazou@adacore.com>
14602
14603 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
14604 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
14605 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
14606 (convert): Deal with conversions from a smaller form type specially.
14607
400a2d24
EB
146082011-02-14 Eric Botcazou <ebotcazou@adacore.com>
14609
14610 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
14611 its argument, except for the special -I- switch.
14612
c26bc3ad
GP
146132011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
14614
0bad0e23
EB
14615 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
14616 "Ada Issues".
c26bc3ad 14617
07b8e910
EB
146182011-02-08 Eric Botcazou <ebotcazou@adacore.com>
14619
14620 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
14621
31a5a547
EB
146222011-02-03 Eric Botcazou <ebotcazou@adacore.com>
14623
14624 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
14625 GNAT_FORMAL.
14626 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
14627 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
14628 instead of GNAT_FORMAL. Protect the expression against multiple uses.
14629 Do not generate the check directly, instead instantiate the template
14630 check present in the descriptor.
14631 (make_descriptor_field): Move around.
14632 (build_vms_descriptor32): Build a template check in the POINTER field.
14633 (build_vms_descriptor): Remove useless suffixes.
14634 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
14635
dcf25f59
EB
146362011-01-26 Eric Botcazou <ebotcazou@adacore.com>
14637
14638 PR bootstrap/47467
14639 * targext.c: Include target files if IN_RTS is defined.
14640
0418e131
RG
146412011-01-26 Richard Guenther <rguenther@suse.de>
14642
14643 PR bootstrap/47467
14644 * targext.c: Include config.h.
14645 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
14646 dependency.
14647
c6eecbd8 146482011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 14649 Eric Botcazou <ebotcazou@adacore.com>
c6eecbd8
PO
14650
14651 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
14652
2d3c7e4f
EB
146532011-01-04 Eric Botcazou <ebotcazou@adacore.com>
14654
14655 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
14656 end-of-case on the end label and its associated gotos, if any.
14657
0394741f
EB
146582011-01-04 Eric Botcazou <ebotcazou@adacore.com>
14659
14660 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
14661 expressions of the parameter cache within the statement group of
14662 the CICO mechanism.
14663
2a02d090 146642011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 14665 Eric Botcazou <ebotcazou@adacore.com>
2a02d090
OH
14666
14667 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
14668 (set_end_locus_from_node): New function.
14669 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
14670 make and the function end_locus.
14671 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
14672 for the elaboration subprogram.
14673 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
14674 set the end_locus of the expression as well.
14675
89f5e978
EB
146762011-01-04 Eric Botcazou <ebotcazou@adacore.com>
14677
14678 PR ada/47131
14679 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
14680 variables that are referenced in exception handlers volatile.
14681
14682
ad41bd84 14683\f
797103eb 14684Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
14685
14686Copying and distribution of this file, with or without modification,
14687are permitted in any medium without royalty provided the copyright
14688notice and this notice are preserved.