]> gcc.gnu.org Git - gcc.git/blame - gcc/ada/ChangeLog
Restore Ada bootstrap on Solaris 8, 9/x86
[gcc.git] / gcc / ada / ChangeLog
CommitLineData
bdbebf66
EB
12011-09-26 Eric Botcazou <ebotcazou@adacore.com>
2
3 * gcc-interface/utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the
4 dereference of the pointer to the storage area. Remove useless type
5 conversions and factor out common code.
6
58666503
RO
72011-09-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8
9 * s-atocou-x86.adb (Decrement): Use %;.
10 (Increment): Likewise.
11
1aa291f7
EB
122011-09-26 Eric Botcazou <ebotcazou@adacore.com>
13
14 * gcc-interface/utils.c (maybe_unconstrained_array): Declare TYPE local
15 variable and use it throughout.
16 <UNCONSTRAINED_ARRAY_TYPE>: Add 'break' at the end.
17 <RECORD_TYPE>: Do not unconditionally convert to the unpadded type as a
18 first step. Also convert to the unpadded type as a last step.
19
7d76717d
EB
202011-09-26 Eric Botcazou <ebotcazou@adacore.com>
21
22 * gcc-interface/gigi.h (create_subprog_decl): Replace TREE_CHAIN with
23 DECL_CHAIN in comment.
24 * gcc-interface/trans.c (gigi): Likewise.
25 (Attribute_to_gnu): Likewise.
26 (build_function_stub): Likewise.
27 (gnat_to_gnu): Likewise.
28 * gcc-interface/utils.c (create_subprog_decl): Likewise.
29 (convert_vms_descriptor64): Likewise.
30 (convert_vms_descriptor32): Likewise.
31
42acad07
EB
322011-09-26 Eric Botcazou <ebotcazou@adacore.com>
33
34 * gcc-interface/trans.c (assoc_to_constructor): Minor tweaks.
35 * gcc-interface/utils2.c (build_simple_component_ref): Fix formatting
36 issues. Use COMPLETE_TYPE_P in assertion. Also set TREE_READONLY if
37 the type of the record is TYPE_READONLY.
38
a1d72281
EB
392011-09-26 Eric Botcazou <ebotcazou@adacore.com>
40 Robert Dewar <dewar@adacore.com>
41
42 * sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN
43 OUT formal parameter which is of an null-exclusion access subtype.
44
a1c7d797
EB
452011-09-26 Eric Botcazou <ebotcazou@adacore.com>
46
47 * gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
48 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Set the flag.
49 (gnat_to_gnu_param): Likewise.
50 * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Invoke
51 maybe_unconstrained_array instead of doing the work manually.
52 (maybe_unconstrained_array): Propagate the TREE_THIS_NOTRAP flag.
53 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: If operand
54 is a DECL with the flag, set TREE_THIS_NOTRAP on the reference.
55 (gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.
56 (gnat_stabilize_reference): Likewise.
57
50179d58
EB
582011-09-26 Eric Botcazou <ebotcazou@adacore.com>
59
60 * gcc-interface/ada-tree.h (TYPE_NULL_BOUNDS): New macro.
61 (SET_TYPE_NULL_BOUNDS): Likewise.
62 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set again
63 TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
64 * gcc-interface/trans.c (Identifier_to_gnu): Return initializers of fat
65 pointer types.
66 * gcc-interface/utils.c (create_var_decl_1): If the object is external,
67 check that the initializer is a valid constant expression for use in
68 initializing a static variable. Add missing guard.
69 (update_pointer_to): Adjust TYPE_NULL_BOUNDS if set.
70 (convert_to_fat_pointer): In the null fat pointer case, build a valid
71 pointer for the bounds.
72 * gcc-interface/utils2.c (compare_fat_pointers): New function.
73 (build_binary_op) <EQ_EXPR>: Call it to compare fat pointers.
74
ad1d36ba
EB
752011-09-25 Eric Botcazou <ebotcazou@adacore.com>
76
77 * gcc-interface/ada-tree.h (TREE_THIS_NOTRAP): Redefine.
78 * gcc-interface/trans.c (Identifier_to_gnu): Factor out common code in
79 the by-ref case. Do not set TREE_READONLY on a renamed object. Set
80 TREE_THIS_NOTRAP on UNCONSTRAINED_ARRAY_REF nodes.
81 (Attribute_to_gnu) <Attr_Length>: Expand the use of the parameter cache
82 to the indirect case.
83 * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Preserve
84 the TREE_THIS_NOTRAP flag.
85
6162cec0
EB
862011-09-25 Eric Botcazou <ebotcazou@adacore.com>
87
88 * gcc-interface/trans.c (Loop_Statement_to_gnu): In the case of an
89 iteration scheme, always generate the do-while form if optimization
90 is enabled. Use more straightforward test at the end.
91
dee12fcd
EB
922011-09-25 Eric Botcazou <ebotcazou@adacore.com>
93
94 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Subtype>: Use
95 XNEW instead of xmalloc. Do not build useless pointer type.
96 <E_Anonymous_Access_Subprogram_Type>: Use XNEW instead of xmalloc.
97 * gcc-interface/trans.c (gnat_to_gnu) <N_Raise_Constraint_Error>: Tidy.
98 * gcc-interface/utils2.c (build_unary_op): Remove local variable.
99
dea976c4
EB
1002011-09-25 Eric Botcazou <ebotcazou@adacore.com>
101
102 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not promote
103 the alignment if this doesn't prevent BLKmode access to the object.
104
655ae828
IS
1052011-09-24 Iain Sandoe <iains@gcc.gnu.org>
106
107 * gcc-interface/Makefile.in (darwin): Do not issue the
108 '-flat_namespace' linker flag during Ada build.
109 * mlib-tgt-specific-darwin.adb: Remove '-flat_namespace' flag from the
110 default shared library options.
111
0e871c15
AO
1122011-09-19 Alexandre Oliva <aoliva@redhat.com>
113
114 * gcc-interface/decl.c (annotate_value): Look up expression for
115 insertion in the cache at the end.
116
1e6a52b4
AC
1172011-09-19 Arnaud Charlet <charlet@adacore.com>
118
119 * gcc-interface/Make-lang.in: Update dependencies.
120
a3068ca6
AC
1212011-09-19 Steve Baird <baird@adacore.com>
122
123 * snames.ads-tmpl: Move declaration of Name_Annotate into range of
124 configuration pragma names so that Is_Configuration_Pragma_Name
125 will return True for Name_Annotate. Make corresponding change in
126 Pragma_Id enumeration type. This is needed to allow an Annotate
127 pragma to occur in a configuration pragma file (typically,
128 a gnat.adc file).
129 * gnat_ugn.texi: Add Annotate to the list of configuration pragmas.
130 * gnat_rm.texi: Note that pragma Annotate may be used as a
131 configuration pragma.
132
1332011-09-19 Ed Schonberg <schonberg@adacore.com>
134
135 * a-cbmutr.adb, a-cbmutr.ads, a-cimutr.adb, a-cimutr.ads,
136 a-comutr.adb, a-comutr.ads: Add iterator machinery for multiway trees.
137
1382011-09-19 Yannick Moy <moy@adacore.com>
139
140 * exp_alfa.adb, exp_alfa.ads (Expand_Alfa_N_In): New function
141 for expansion of set membership.
142 (Expand_Alfa): Call expansion for N_In and N_Not_In nodes.
143 * exp_ch4.adb, exp_ch4.ads (Expand_Set_Membership): Make procedure
144 visible for use in Alfa expansion.
145 * sem_ch5.adb (Analyze_Iterator_Specification): Introduce loop
146 variable in Alfa mode.
147
1482011-09-19 Thomas Quinot <quinot@adacore.com>
149
150 * s-osinte-darwin.ads: Change SIGADAABRT on Darwin to SIGABRT.
151
1522011-09-19 Thomas Quinot <quinot@adacore.com>
153
154 * exp_ch9.adb: Minor reformatting.
155
1562011-09-19 Hristian Kirtchev <kirtchev@adacore.com>
157
158 * freeze.adb (Build_Renamed_Body): Generic subprograms
159 instantiations cannot be poperly inlined by the compiler, do
160 not set the Body_To_Inline attribute in such cases.
161 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Inherit all
162 inlining-related flags from the generic subprogram declaration.
163
1642011-09-19 Thomas Quinot <quinot@adacore.com>
165
166 * exp_dist.adb, rtsfind.ads, sem_util.adb, sem_util.ads
167 (Build_Stub_Type): Remove, instead copy components from
168 System.Partition_Interface.RACW_Stub_Type.
169 (RPC_Receiver_Decl): Remainder of code from old Build_Stub_Type routine.
170 (Copy_Component_List): New subprogram.
171
1722011-09-19 Yannick Moy <moy@adacore.com>
173
174 * lib-xref.adb (Generate_Reference): Ignore references to
175 constants in Standard.
176
e7fceebc
AC
1772011-09-19 Robert Dewar <dewar@adacore.com>
178
179 * err_vars.ads, errout.ads: Minor reformatting.
180
1812011-09-19 Robert Dewar <dewar@adacore.com>
182
183 * aspects.ads (Impl_Defined_Aspects): New array
184 * lib-writ.adb (No_Dependences): New name for No_Dependence
185 * restrict.adb (No_Dependences): New name for No_Dependence
186 (Check_Restriction_No_Specification_Of_Aspect): New
187 procedure.
188 (Set_Restriction_No_Specification_Of_Aspect): New procedure
189 (Restricted_Profile_Result): New variable
190 (No_Specification_Of_Aspects): New variable
191 (No_Specification_Of_Aspect_Warning): New variable
192 * restrict.ads (No_Dependences): New name for No_Dependence
193 (Check_Restriction_No_Specification_Of_Aspect): New procedure
194 (Set_Restriction_No_Specification_Of_Aspect): New procedure
195 * s-rident.ads: Add restriction
196 No_Implementation_Aspect_Specifications, this is also added to
197 the No_Implementation_Extensions profile.
198 * sem_ch13.adb (Analyze_Aspect_Specifications): Check
199 No_Implementation_Defined_Aspects
200 (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
201 * sem_prag.adb (Analyze_Aspect_Specifications): Check
202 No_Implementation_Aspects
203 (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
204 * snames.ads-tmpl (Name_No_Specification_Of_Aspect): New name
205
2062011-09-19 Yannick Moy <moy@adacore.com>
207
208 * lib-xref.adb (Generate_Reference): Take into account multiple
209 renamings for Alfa refs.
210
2112011-09-19 Thomas Quinot <quinot@adacore.com>
212
213 * g-socthi-mingw.adb: Minor reformatting.
214
2152011-09-19 Yannick Moy <moy@adacore.com>
216
217 * gnat1drv.adb (Adjust_Global_Switches): Set tagged type
218 expansion to False in mode Alfa
219
2202011-09-19 Pascal Obry <obry@adacore.com>
221
222 * mingw32.h: Remove obsolete code needed for old versions
223 of MingW.
224
e5a163fc
RD
2252011-09-19 Robert Dewar <dewar@adacore.com>
226
227 * errout.ads: Minor reformatting.
228
6d7e5c54
AC
2292011-09-19 Ed Schonberg <schonberg@adacore.com>
230
231 * sem_ch6.adb (Analyze_Expression_Function): When the expression
232 function is transformed into a declaration and a body, insert
233 body at the end of the declarative part, to prevent premature
234 freeze actions, and preserve original specification in the
235 subprogram declaration.
236
2372011-09-19 Vincent Celier <celier@adacore.com>
238
239 * projects.texi: Minor editing.
240
99ba07a3
AC
2412011-09-19 Robert Dewar <dewar@adacore.com>
242
243 * sem_aggr.adb, lib-writ.ads, s-restri.ads, sem_ch6.adb,
244 exp_aggr.adb: Minor reformatting.
245
2462011-09-19 Yannick Moy <moy@adacore.com>
247
248 * lib-xref.adb (Generate_Reference): Change entity referenced
249 to underlying object if any, or else reference to the HEAP.
250
41781043
AC
2512011-09-15 Arnaud Charlet <charlet@adacore.com>
252
253 * gcc-interface/Make-lang.in: Update dependencies.
254
804ff4c3
AC
2552011-09-15 Robert Dewar <dewar@adacore.com>
256
257 * tree_io.ads: Minor reformatting.
258 * a-intnam.ads: Fix bad header.
259
2602011-09-15 Thomas Quinot <quinot@adacore.com>
261
262 * a-exexpr-gcc.adb: Minor reformatting.
263
2642011-09-15 Yannick Moy <moy@adacore.com>
265
266 * sem_ch6.adb: Propagate information that an expression function comes
267 from source (otherwise references to this entity are not stored).
268
0b5b2bbc
AC
2692011-09-15 Robert Dewar <dewar@adacore.com>
270
271 * a-cdlili.adb, a-coinve.adb, a-stzunb-shared.ads, a-suezst.adb,
272 a-suenco.adb, a-stwiun-shared.ads, a-cobove.adb, a-convec.adb,
273 a-btgbso.adb, a-cbdlli.adb, a-suewst.adb: Minor reformatting.
274
2752011-09-15 Ed Schonberg <schonberg@adacore.com>
276
277 * sem_ch6.adb (Analyze_Expression_Function): Code cleanup:
278 if the expression function is not a completion, create a
279 new specification for the generated declaration, and keep the
280 original specification in the generated body. Shorter code also
281 ensures that proper warnings are generated for unused formals
282 in all cases.
283
2842011-09-15 Sergey Rybin <rybin@adacore.com>
285
286 * tree_io.ads: Update ASIS_Version_Number because of the changes
287 in the tree structures for expression functions.
288
2892011-09-15 Arnaud Charlet <charlet@adacore.com>
290
291 * s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
292 s-osinte-hpux.ads, s-osinte-lynxos.ads, s-osinte-solaris-posix.ads,
293 s-taprop-posix.adb (CLOCK_MONOTONIC): New constant.
294 (CLOCK_REALTIME): Fix wrong value on some OSes.
295 * s-taprop-posix.adb (Monotonic_Clock): Use CLOCK_MONOTONIC.
296
7e169899
EB
2972011-09-11 Eric Botcazou <ebotcazou@adacore.com>
298
299 * gcc-interface/utils.c (maybe_unconstrained_array): In the reference
300 to unconstrained array case, deal with each branch of a COND_EXPR.
301 * gcc-interface/utils2.c (build_allocator): Deal with each branch of
302 a COND_EXPR in the initializer, if present.
303
819a653e
EB
3042011-09-11 Eric Botcazou <ebotcazou@adacore.com>
305
306 * gcc-interface/decl.c (maybe_pad_type): Do not try to change the form
307 of an addressable type.
308 * gcc-interface/trans.c (gnat_gimplify_expr) <VIEW_CONVERT_EXPR>: New.
309 Deal with those cases for which creating a temporary is mandatory.
310
c946adde
EB
3112011-09-11 Eric Botcazou <ebotcazou@adacore.com>
312
313 * gcc-interface/trans.c (call_to_gnu): Use local variable. Make sure
314 this is a real formal parameter before testing whether it is by ref.
315
dddf8120
EB
3162011-09-11 Eric Botcazou <ebotcazou@adacore.com>
317
318 * gcc-interface/gigi.h (build_call_0_expr): Delete.
319 (build_call_1_expr): Likewise.
320 (build_call_2_expr): Likewise.
321 (build_call_n_expr): New prototype.
322 * gcc-interface/decl.c (gnat_to_gnu_entity): Use build_call_n_expr.
323 * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Ditto.
324 (Handled_Sequence_Of_Statements_to_gnu): Likewise.
325 (Exception_Handler_to_gnu_zcx): Likewise.
326 (gnat_to_gnu): Likewise.
327 (build_binary_op_trapv): Likewise.
328 * gcc-interface/utils2.c (build_call_0_expr): Delete.
329 (build_call_1_expr): Likewise.
330 (build_call_2_expr): Likewise.
331 (build_call_n_expr): New function.
332 (build_call_raise): Use build_call_n_expr.
333 (build_call_raise_range): Likewise.
334 (build_call_raise_column): Likewise.
335 (build_call_alloc_dealloc_proc): Likewise.
336 (maybe_wrap_malloc): Likewise.
337 (maybe_wrap_free): Likewise.
338
d8e38554
EB
3392011-09-11 Eric Botcazou <ebotcazou@adacore.com>
340
341 * gcc-interface/trans.c (build_return_expr): Use void_type_node for
342 MODIFY_EXPR.
343 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Assert that
344 the result type is null if ENABLE_CHECKING. Set operation_type at the
345 end unconditionally if not set in the previous cases.
346 Use build2 and void_type_node for MODIFY_EXPR.
347 (build_allocator): Use NULL_TREE for MODIFY_EXPR.
348
416de7d5
EB
3492011-09-08 Eric Botcazou <ebotcazou@adacore.com>
350
351 * gcc-interface/utils.c (unchecked_convert): Use a field of the right
352 precision when converting to or from an integral type whose precision
353 is not equal to its size.
354
88b76013
IS
3552011-09-08 Iain Sandoe <iains@gcc.gnu.org>
356
416de7d5 357 * traceback.c (Darwin) USE_GCC_UNWINDER for Darwin versions >= 8.
88b76013 358
1aeee5ad
IS
3592011-09-07 Iain Sandoe <iains@gcc.gnu.org>
360
416de7d5 361 * gcc-interface/Makefile.in (darwin): Provide powerpc64 system
1aeee5ad
IS
362 implementation.
363 * system-darwin-ppc64.ads: New file.
364
f61fc398
IS
3652011-09-06 Iain Sandoe <iains@gcc.gnu.org>
366
367 * gcc-interface/Makefile.in (gnatlib-shared-darwin): Remove
368 reference to "-lm".
369
84ef27d3
IS
3702011-09-06 Iain Sandoe <iains@gcc.gnu.org>
371
372 * gcc-interface/Makefile.in (darwin, SO_OPTS): Provide architecture
373 size switches to the link phase for shared libs.
374
a1bf1ec7
IS
3752011-09-06 Iain Sandoe <iains@gcc.gnu.org>
376
416de7d5 377 * gcc-interface/Makefile.in (x86_64 darwin arch): Adjust
a1bf1ec7
IS
378 LIBGNAT_TARGET_PAIRS for x86 and x86_64 variants.
379
e972fd52
AC
3802011-09-06 Arnaud Charlet <charlet@adacore.com>
381
382 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in
383 (gnattools, regnattools, cross-gnattools, canadian-gnattools,
384 gnatlib, gnatlib-sjlj, gnatlib-zcx, gnatlib-shared, gnatlib_and_tools):
385 New targets.
386 (TOOLS_FLAGS_TO_PASS): New.
387 (../stamp-tools): Reintroduce, to avoid merge conflicts.
388
ef417be1
RD
3892011-09-06 Robert Dewar <dewar@adacore.com>
390
391 * sem_ch10.adb, impunit.ads, impunit.adb (Not_Impl_Defined_Unit): New
392 name for Is_RM_Defined_Unit. Also several fixes to this unit.
393
0a034606
RD
3942011-09-06 Robert Dewar <dewar@adacore.com>
395
396 * impunit.ads, impunit.adb (Is_RM_Defined_Unit): New function.
397 * s-rident.ads: New restriction No_Implementation_Units
398 (this restriction is also part of the profile
399 No_Implementation_Extensions)
400 * sem_ch10.adb (Analyze_With_Clause): Add check for
401 No_Implementation_Units restriction.
402
ebb6faaa
AC
4032011-09-06 Jerome Guitton <guitton@adacore.com>
404
405 * sysdep.c (__gnat_get_task_options): Disable VX_SPE_TASK
406 on vThreads.
407
4082011-09-06 Thomas Quinot <quinot@adacore.com>
409
410 * s-solita.adb: Minor reformatting.
411
4122011-09-06 Ed Schonberg <schonberg@adacore.com>
413
414 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): The body that
415 is a rewriting of an expression function does not freeze previous
416 entities.
417
4182011-09-06 Robert Dewar <dewar@adacore.com>
419
420 * impunit.adb (Is_Known_Unit): Fix bad handling of Ada 2012 case
421
60435286
TG
4222011-09-06 Tristan Gingold <gingold@adacore.com>
423
424 * gcc-interface/Makefile.in: Handle e500v2-wrs-vxworksae like
425 powerpc-wrs-vxworksae.
426
08f8a983
AC
4272011-09-06 Thomas Quinot <quinot@adacore.com>
428
429 * s-os_lib.ads (Spawn): Minor documentation clarification,
430 Success is True for a zero exit status.
431
4322011-09-06 Ed Schonberg <schonberg@adacore.com>
433
434 * sem_ch5.adb: Add message for common iterator error.
435
4362011-09-06 Ed Schonberg <schonberg@adacore.com>
437
438 * exp_ch3.adb (Build_Initialization_Call): If the target is a
439 selected component discriminated by a current instance, replace
440 the constraint with a reference to the target object, regardless
441 of whether the context is an init_proc.
442
4432011-09-06 Robert Dewar <dewar@adacore.com>
444
445 * exp_attr.adb: Descriptor_Size is never static.
446
4472011-09-06 Robert Dewar <dewar@adacore.com>
448
449 * gnat_ugn.texi: Add documentation for LSLOC metric in gnatmetric
450
4512011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
452
453 * gnat_rm.texi: Clarify that attribute Descriptor_Size is
454 non-static.
455
4562011-09-06 Ed Schonberg <schonberg@adacore.com>
457
458 * sem_res.adb (Resolve): An expression that is the body of an
459 expression function does not freeze.
460
4612011-09-06 Matthew Heaney <heaney@adacore.com>
462
463 * a-csquin.ads, a-cusyqu.adb, a-cbprqu.adb, a-cbsyqu.adb,
464 a-cuprqu.adb: Changed copyright notice to indicate current
465 year only.
466
4672011-09-06 Vincent Celier <celier@adacore.com>
468
469 * prj.adb: Minor spelling error fix in comment
470 * sem_res.adb: Minor reformatting
471
4722011-09-06 Pascal Obry <obry@adacore.com>
473
474 * sysdep.c (winflush_nt): Removed as not needed anymore.
475 (winflush_95): Likewise.
476 (winflush_init): Likewise.
477 (winflush_function): Likewise.
478 (getc_immediate_common): Remove call to winflush_function.
479
cb3d8731
HK
4802011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
481
482 * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite the
483 processing for Descriptor_Size.
484 * gnat_rm.texi: Rephrase the wording for attribute Descriptor_Size
485 to account for its broader usage.
486 * sem_attr.adb (Analyze_Attribute): Change the error detection
487 circuitry for Descriptor_Size as the attribute is now applicable
488 to all types.
489
f7e6fc47
RD
4902011-09-06 Robert Dewar <dewar@adacore.com>
491
492 * sem_attr.adb, prj-nmsc.adb, exp_aggr.adb: Minor reformatting.
493
f8e9fc30
AC
4942011-09-06 Ed Schonberg <schonberg@adacore.com>
495
496 * lib-xref.adb (OK_To_Set_Referenced): A reference to a formal
497 in a parameter association must not set the Referenced flag on
498 the formal.
499 * prj-nmsc.adb (Check_File_Naming_Schemes): Remove useless formal
500
5012011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
502
503 * gnat_rm.texi: Add a section on attribute Descriptor_Size
504
e8e38f35
AC
5052011-09-06 Arnaud Charlet <charlet@adacore.com>
506
507 * gcc-interface/Makefile.in (common-tools, gnatmake-re,
508 gnatlink-re): Speed up by using -j0.
509
ba759acd
AC
5102011-09-06 Yannick Moy <moy@adacore.com>
511
512 * sem_ch13.adb (Analyze_Aspect_Specifications): Call
513 Set_Corresponding_Aspect when creating pragma from aspect.
514 (Add_Predicates): Use new field Corresponding_Aspect.
515 * sem_prag.adb (Analyze_Pragma): Make Pname hold source aspect
516 name when present, for the purpose of issuing error messages;
517 remove local procedure Error_Pragma_Arg_Alternate_Name.
518 * sinfo.adb, sinfo.ads (Corresponding_Aspect): New field in
519 N_Pragma node.
520 (From_Dynamic_Predicate, From_Static_Predicate): Remove fields from
521 N_Pragma node.
522
5232011-09-06 Robert Dewar <dewar@adacore.com>
524
525 * checks.adb, s-except.ads, g-socket.adb: Minor reformatting.
526
5272011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
528
529 * exp_ch6.adb (Build_Heap_Allocator): Add new
530 local variable Desig_Typ. Code and comment reformatting. Add
531 machinery to ensure that the allocation uses a fat pointer when
532 the type of the return object is a constrained array and the
533 function return type is an unconstrained array.
534
5352011-09-06 Vincent Celier <celier@adacore.com>
536
537 * make.adb, prj-part.adb, prj-nmsc.adb: Remove unused formal
538 parameters in subprograms.
539
5402011-09-06 Arnaud Charlet <charlet@adacore.com>
541
542 * s-taprop-mingw.adb (Finalize_TCB): Fix typo.
543
5442011-09-06 Thomas Quinot <quinot@adacore.com>
545
546 * s-taprop-vxworks.adb, s-tpoaal.adb, s-tpopsp-vxworks.adb
547 (System.Tasking.Primitive_Operations.Specific.Delete): Remove
548 subprogram.
549 (System.Tasking.Primitive_Operations.Specific.Set): If argument
550 is null, destroy task specific data, to make API consistent with
551 other platforms, and thus compatible with the shared version
552 of s-tpoaal.adb.
553 (System.Tasking.Primitive_Operations.ATCB_Allocation.Free_ATCB):
554 Document the above assumption.
555
f4f92d9d
AC
5562011-09-06 Ed Schonberg <schonberg@adacore.com>
557
558 * exp_ch6.adb (Expand_Inlined_Call): Fix use of uninitialized
559 variable for type of return value when return type is
560 unconstrained and context is an assignment.
561
5622011-09-06 Ed Schonberg <schonberg@adacore.com>
563
564 * sem_ch8.adb (Check_Class_Wide_Actual): Do not generate body of
565 class-wide operation if expansion is not enabled.
566
5672011-09-06 Eric Botcazou <ebotcazou@adacore.com>
568
569 * checks.adb (Apply_Scalar_Range_Check): Deal with access
570 type prefix.
571
5722011-09-06 Yannick Moy <moy@adacore.com>
573
574 * sem_ch13.adb (Analyze_Aspect_Specifications, case
575 Aspect_Invariant): Do not issue error at this point on illegal
576 pragma placement, as this is checked later on when analyzing
577 the corresponding pragma.
578 * sem_prag.adb (Error_Pragma_Arg_Alternate_Name): New procedure
579 similar to Error_Pragma_Arg, except the source name of the
580 aspect/pragma to use in warnings may be equal to parameter
581 Alt_Name (Analyze_Pragma, case Pragma_Invariant): refine error
582 message to distinguish source name of pragma/aspect, and whether
583 the illegality resides in the type being public, or being private
584 without a public declaration
585
5862011-09-06 Thomas Quinot <quinot@adacore.com>
587
588 * g-socket.adb (Check_For_Fd_Set): On Windows, no need for bitmap
589 size check (fd_set is implemented differently on that platform).
590
5912011-09-06 Thomas Quinot <quinot@adacore.com>
592
593 * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
594 s-tpoaal.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
595 s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop.ads,
596 s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
597 (ATCB_Allocation): New subpackage of
598 System.Tasking.Primitive_Operations, shared across all targets
599 with full tasking runtime.
600 (ATCB_Allocation.New_ATCB): Moved there (from target specific
601 s-taprop bodies).
602 (ATCB_Allocation.Free_ATCB): New subprogram. Deallocate an ATCB,
603 taking care of establishing a local temporary ATCB if the one
604 being deallocated is Self, to avoid a reference to the freed
605 ATCB in Abort_Undefer.
606
6072011-09-06 Thomas Quinot <quinot@adacore.com>
608
609 * s-tassta.adb, s-taskin.ads (Free_Task): If the task is not
610 terminated, mark it for deallocation upon termination.
611 (Terminate_Task): Call Free_Task again if the task is marked
612 for automatic deallocation upon termination.
613
df177175
RD
6142011-09-06 Robert Dewar <dewar@adacore.com>
615
616 * a-cbprqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cusyqu.ads,
617 a-intnam-aix.ads, a-intnam-darwin.ads, a-intnam-dummy.ads,
618 a-intnam-freebsd.ads, a-intnam-hpux.ads, a-intnam-irix.ads,
619 a-intnam-linux.ads, a-intnam-lynxos.ads, a-intnam-mingw.ads,
620 a-intnam-solaris.ads, a-intnam-tru64.ads,
621 a-intnam-vms.ads, a-intnam-vxworks.ads, a-intnam.ads, interfac.ads,
622 cstand.adb, s-maccod.ads: Mark all entities as Implementation_Defined
623 * einfo.ads, einfo.adb (Is_Implementation_Defined): New flag
624 * par-prag.adb: Add dummy entry for pragma Implementation_Defined
625 * s-rident.ads: Add new restriction No_Implementation_Identifiers
626 Add new profile No_Implementation_Extensions
627 * sem_prag.adb: Implement pragma Implementation_Defined Implement
628 profile No_Implementation_Extensions
629 * sem_util.adb: Minor reformatting (Set_Entity_With_Style_Check):
630 Check violation of restriction No_Implementation_Identifiers
631 * snames.ads-tmpl: Add entries for pragma Implementation_Defined
632 Add entry for Name_No_Implementation_Extensions
633
6342011-09-06 Robert Dewar <dewar@adacore.com>
635
636 * impunit.ads: Minor reformatting.
637
b991dd43
AC
6382011-09-06 Robert Dewar <dewar@adacore.com>
639
640 * ali.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
641
6422011-09-06 Pascal Obry <obry@adacore.com>
643
644 * s-osinte-linux.ads, s-oscons-tmplt.c: Use oscons to define sigset_t
645 types.
646
516785cc
AC
6472011-09-06 Robert Dewar <dewar@adacore.com>
648
649 * g-socket.adb: Minor reformatting
650
6512011-09-06 Javier Miranda <miranda@adacore.com>
652
653 * ali.adb (Scan_ALI): Add missing support to load references of
654 entities imported from other languages.
655 * ali.ads (Xref_Record): Adding new fields to store the language and
656 name of an imported entity.
657 * lib-xref.adb (Output_Import_Export_Info): Fix typo
658 in comment.
659
6602011-09-06 Ed Schonberg <schonberg@adacore.com>
661
662 * sem_prag.adb (Analyze_Pragma, case Type_Invariant): A type invariant
663 is allowed on a full type declaration if it is the completion of
664 a private declarations.
665 * sem_ch13.adb (Analyze_Aspect_Specifications): An invariant
666 aspect is allowed on a full type declaration in the private part
667 of a package.
668
96691943
AC
6692011-09-06 Robert Dewar <dewar@adacore.com>
670
671 * sem_ch8.ads: Minor reformatting
672
6732011-09-06 Thomas Quinot <quinot@adacore.com>
674
675 * s-oscons-tmplt.c, g-socket.adb (GNAT.Sockets.Clear,Set,Is_Set):
676 Guard against socket values that are not in [0;FD_SETSIZE[
677
54bf19e4
AC
6782011-09-06 Robert Dewar <dewar@adacore.com>
679
680 * s-osinte-linux.ads, a-iteint.ads, exp_ch6.adb, s-solita.adb: Minor
681 reformatting.
682
6832011-09-06 Arnaud Charlet <charlet@adacore.com>
684
685 * s-linux-alpha.ads: Minor reformatting
686 * s-oscons-tmplt.c: Fix generated comments in s-oscons template.
687 Use sizeof instead of corresponding C defines in s-oscons template.
688
5d42cba1
VG
6892011-09-06 Vadim Godunko <godunko@adacore.com>
690
691 * a-convec.ads, a-iteint.ads: Minor reformatting.
692
77aa62e7
AC
6932011-09-06 Vincent Celier <celier@adacore.com>
694
695 * projects.texi: Add menus and @node lines.
696
6972011-09-06 Ed Schonberg <schonberg@adacore.com>
698
699 * exp_ch6.adb (Expand_Inlined_Call): Handle properly the case
700 where the return type is an unconstrained array and the context
701 is an assignment. Optimize the case when the target of the
702 assignment is a selected component.
703
7042011-09-06 Arnaud Charlet <charlet@adacore.com>
705
706 * s-solita.adb: Update comments.
707
7082011-09-06 Pascal Obry <obry@adacore.com>
709
710 * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, s-linux-mipsel.ads,
711 s-linux-sparc.ads: Remove hard coded and now wrong definitions.
712 * s-oscons-tmplt.c: Add support for generating pthread related
713 types size on GNU/Linux as done for Darwin.
714 * s-osinte-linux.ads: Use s-oscons to define the pthread types.
715
886b5a18
AC
7162011-09-06 Robert Dewar <dewar@adacore.com>
717
718 * exp_ch6.adb: Fix minor typo.
719
7202011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
721
722 * exp_ch7.adb: Remove with and use clauses for Get_Targ.
723 (Alignment_Of): Moved to the body of Nearest_Multiple_Rounded_Up.
724 (Double_Size_Of): Alphabetized. Update the comment on usage.
725 (Make_Finalize_Address_Stmts): Update comments and reformat code.
726 (Nearest_Multiple_Rounded_Up): New routine.
727 (Size_Of): Update comment on usage. The generated expression now
728 accounts for alignment gaps by rounding the size of the type to the
729 nearest multiple rounded up of the type's alignment.
730
57a3fca9
AC
7312011-09-06 Robert Dewar <dewar@adacore.com>
732
733 * exp_ch7.adb, g-comlin.adb: Minor reformatting.
734
7352011-09-06 Steve Baird <baird@adacore.com>
736
737 * exp_ch4.adb (Expand_Allocator_Expression): Look through
738 derived subprograms in checking for presence of an
739 Extra_Accessibility_Of_Result formal parameter.
740 * exp_ch6.adb (Expand_Call): Look through derived subprograms in
741 checking for presence of an Extra_Accessibility_Of_Result formal
742 parameter.
743 (Expand_Call.Add_Actual_Parameter): Fix a bug in the
744 case where the Parameter_Associatiations attribute is already set,
745 but set to an empty list.
746 (Needs_Result_Accessibility_Level):
747 Unconditionally return False. This is a temporary
748 change, disabling the Extra_Accessibility_Of_Result
749 mechanism.
750 (Expand_Simple_Function_Return): Check for
751 Extra_Accessibility_Of_Result parameter's presence instead of
752 testing Ada_Version when generating a runtime accessibility
753 check which makes use of the parameter.
754
eaed0c37
AC
7552011-09-06 Ed Schonberg <schonberg@adacore.com>
756
757 * exp_ch4.adb (Expand_N_Case_Expression): Actions created for the
758 expression in a given case alternative must be attached to the
759 statement list of the ccrresponding case statement alternative
760 They cannot be propagated ahead of the case statement, because
761 the validity of the expression that generated the action may
762 hold only for that alternative.
763
7642011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
765
766 * exp_ch7.adb: Remove with and use clauses for Get_Targ.
767 (Alignment_Of): Remove the code for strict alignment targets.
768 (Double_Alignment_Of): Removed.
769 (Double_Size_Of): New routine.
770 (Make_Finalize_Address_Stmts): Change the
771 calculation of the dope's size. Update relevant comments.
772 (Size_Of): New routine.
773
b8a93198
AC
7742011-09-06 Steve Baird <baird@adacore.com>
775
776 * einfo.ads (Extra_Accessibility): Update associated comment to use
777 the term "present" correctly ("present" just means that it is not
778 an error to query the value of the attribute - it does not imply
779 that the value must be non-null).
780 (Extra_Constrained): Ditto.
781 (Is_Visible_Formal): Ditto.
782 (Extra_Accessibility_Of_Result) Ditto; also add Inline pragma.
783 (Set_Extra_Accessibility_Of_Result): Add Inline pragma.
784 * exp_ch4.adb (Expand_Allocator_Expression): Improve a comment.
785 * exp_ch6.adb (Expand_Call): The callee may require an
786 Extra_Accessibility_Of_Result actual parameter even if Ada_Version
787 < Ada_2012. This can occur if the callee is exported from a Gnat
788 runtimes unit. Also improve a comment.
789
7902011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
791
792 * exp_ch7.adb: Add with and use clauses for Get_Targ.
793 (Alignment_Of): Rename formal parameter Some_Typ
794 to Typ, update related comment. Use the allocator alignment on
795 strict alignment targets such as SPARC.
796 (Double_Alignment_Of): Rename formal parameter Some_Typ to Typ, update
797 related comment.
798
7992011-09-06 Gary Dismukes <dismukes@adacore.com>
800
801 * sem_ch9.adb (Check_Interfaces): Test
802 Is_Limited_Type rather than Is_Limited_Record when checking that
803 the partial view of a synchronized full view must be limited.
804
8052011-09-06 Emmanuel Briot <briot@adacore.com>
806
807 * g-comlin.adb (Free): Fix memory leak.
808
ebf494ec
RD
8092011-09-06 Robert Dewar <dewar@adacore.com>
810
811 * sem_util.adb, exp_ch6.adb: Minor reformatting and code reorganization.
812
63585f75
SB
8132011-09-06 Steve Baird <baird@adacore.com>
814
815 * einfo.ads (Extra_Accessibility_Of_Result): New function; in the
816 (Ada2012) cases described in AI05-0234 where the accessibility
817 level of a function result is "determined by the point of
818 call", an implicit parameter representing that accessibility
819 level is passed in. Extra_Accessibilty_Of_Result yields this
820 additional formal parameter. Extra_Accessibility_Of_Result
821 is analogous to the existing Extra_Accessibility
822 function used in the implementation of access parameters.
823 (Set_Extra_Accessibility_Of_Result): New procedure; sets
824 Extra_Accessibility_Of_Result attribute.
825 * einfo.adb (Extra_Accessibility_Of_Result): New function.
826 (Set_Extra_Accessibility_Of_Result): New procedure.
827 (Write_Field19_Name): Display Extra_Accessibilty_Of_Result attribute.
828 * sem_util.adb (Dynamic_Accessibility_Level): Set Etype of
829 an accessibility level literal to Natural; introduce a nested
830 function, Make_Level_Literal, to do this.
831 * exp_ch6.ads (Needs_Result_Accessibility_Level): New function;
832 determines whether a given function (or access-to-function
833 type) needs to have an implicitly-declared accessibility-level
834 parameter added to its profile.
835 (Add_Extra_Actual_To_Call): Export an existing procedure which was
836 previously declared in the body of Exp_Ch6.
837 * exp_ch6.adb (Add_Extra_Actual_To_Call): Export declaration by moving
838 it to exp_ch6.ads.
839 (Has_Unconstrained_Access_Discriminants): New Function; a
840 predicate on subtype entities which returns True if the given
841 subtype is unconstrained and has one or more access discriminants.
842 (Expand_Call): When expanding a call to a function which takes an
843 Extra_Accessibility_Of_Result parameter, pass in the appropriate
844 actual parameter value. In the case of a function call which is
845 used to initialize an allocator, this may not be possible because
846 the Etype of the allocator may not have been set yet. In this
847 case, we defer passing in the parameter and handle it later in
848 Expand_Allocator_Expression.
849 (Expand_Simple_Function_Return): When returning from a function which
850 returns an unconstrained subtype having at least one access
851 discriminant, generate the accessibility check needed to ensure that
852 the function result will not outlive any objects designated by its
853 discriminants.
854 (Needs_Result_Accessibility_Level): New function; see exp_ch6.ads
855 description.
856 * exp_ch4.adb (Expand_Allocator_Expression): When a function call
857 is used to initialize an allocator, we may need to pass in "the
858 accessibility level determined by the point of call" (AI05-0234)
859 to the function. Expand_Call, where such actual parameters are
860 usually generated, is too early in this case because the Etype of
861 the allocator (which is used in determining the level to be passed
862 in) may not have been set yet when Expand_Call executes. Instead,
863 we generate code to pass in the appropriate actual parameter
864 in Expand_Allocator_Expression.
865 * sem_ch6.adb (Create_Extra_Formals): Create
866 the new Extra_Accessibility_Of_Result formal if
867 Needs_Result_Accessibility_Level returns True. This includes the
868 introduction of a nested procedure, Check_Against_Result_Level.
869
1a982c6e
AC
8702011-09-06 Arnaud Charlet <charlet@adacore.com>
871
872 * gcc-interface/Makefile.in (X86_TARGET_PAIRS): Remove duplicate
873 declaration.
874
e42bcfa3
AC
8752011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
876
877 * s-finmas.adb (Set_Finalize_Address): Explain the reason
878 for the synchronization. Move the test for null from
879 s-stposu.Allocate_Any_Controlled to this routine since the check
880 needs to be protected too.
881 (Set_Heterogeneous_Finalize_Address): Explain the reason for the
882 synchronization code.
883 * s-finmas.ads (Set_Heterogeneous_Finalize_Address): Add comment
884 explaining the context in which this routine is used.
885 * s-stposu.adb (Allocate_Any_Controlled): Move the test for null
886 to s-finmas.Set_Finalize_Address.
887
8882011-09-05 Ed Schonberg <schonberg@adacore.com>
889
890 * einfo.ads: Document that itypes have no parent field.
891
8922011-09-05 Robert Dewar <dewar@adacore.com>
893
894 * rtsfind.adb (Check_CRT): Check for overloaded entity
895 * rtsfind.ads: Document that entities to be found by rtsfind
896 cannot be overloaded
897 * s-taenca.adb, s-tasren.adb, s-tpobop.adb, s-tpoben.ads, s-tpoben.adb
898 (Lock_Entries_With_Status): New name for Lock_Entries with two
899 arguments (changed to meet rtsfind no overloading rule).
900
544e7c17
AC
9012011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
902
903 * s-finmas.adb (Set_Finalize_Address (Address,
904 Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
905 (Set_Finalize_Address (in out Finalization_Master,
906 Finalize_Address_Ptr): Add synchronization code.
907 * s-finmas.ads (Set_Finalize_Address (Address,
908 Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
909 * s-stposu.adb (Allocate_Any_Controlled): Update the call to
910 Set_Finalize_Address for the heterogeneous case.
911
9122011-09-05 Ed Schonberg <schonberg@adacore.com>
913
914 * sem_ch3.adb: Undo previous change, not suitable after all.
915
9162011-09-05 Robert Dewar <dewar@adacore.com>
917
918 * einfo.ads: Minor comment clarification.
919
0613fb33
AC
9202011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
921
922 * exp_ch6.adb (Move_Activation_Chain): Rewritten. The routine
923 no longer needs to search through the entities of the return
924 statement scope to find the _chain.
925 * sem_ch5.adb: Add with and use clauses for Exp_Ch6 and Sem_Ch6.
926 (Analyze_Block_Statement): Add local variable
927 Is_BIP_Return_Statement. Add machinery to install all entities
928 produced by the expansion of the return object declaration.
929 (Install_Return_Entities): New routine.
930 * sem_ch6.ads, sem_ch6.adb (Install_Entity): Moved from body to spec.
931
9322011-09-05 Ed Schonberg <schonberg@adacore.com>
933
934 * sem_ch10.adb (Analyze_Context): Apply simple fixup if context
935 of subunit is incomplete.
936 (Analyze_Proper_Body): If parent spec is not available, do not
937 attempt analysis.
938
5dcab3ca
AC
9392011-09-05 Ed Schonberg <schonberg@adacore.com>
940
941 * sem_disp.adb (Find_Controlling_Arg): Add checks for
942 interface type conversions, that are expanded into dereferences.
943
9442011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
945
946 * sem_ch6.adb (Analyze_Subprogram_Body_Helper):
947 Examine the parameter and return profile of a subprogram and swap
948 any incomplete types coming from a limited context with their
949 corresponding non-limited views.
950 (Exchange_Limited_Views): New routine.
951
9522011-09-05 Ed Schonberg <schonberg@adacore.com>
953
954 * sem_ch3.adb (Prepare_Private_Subtype_Completion): Set parent
955 of internal entity to the subtype declaration, so that when
956 entities are subsequently exchanged in a package body, the tree
957 remains properly formatted for ASIS.
958
8da1a312
AC
9592011-09-05 Johannes Kanig <kanig@adacore.com>
960
961 * g-comlin.adb (Set_Usage): Additional optional argument to set help
962 message.
963 (Display_Help): display the user given help message, if available.
964
9652011-09-05 Ed Schonberg <schonberg@adacore.com>
966
967 * sem_ch3.adb (OK_For_Limited_Init_In_05): The expression
968 is legal if the original node is an identifier that is a
969 parameterless function call.
970
69b73847
PO
9712011-09-05 Pascal Obry <obry@adacore.com>
972
973 * prj-nmsc.adb: Minor reformatting.
974 Add support for standalone aggregate library.
975 (Check_Stand_Alone_Library): Handle standalone aggregate library.
976 * projects.texi: Fix documentation for aggregate library projects.
977
81bf2382
AC
9782011-09-05 Robert Dewar <dewar@adacore.com>
979
980 * sem_ch6.adb: Minor reformatting.
981
9822011-09-05 Matthew Gingell <gingell@adacore.com>
983
984 * s-tassta.adb (Task_Wrapper): Ensure that we don't try to write the
985 stack guard page on PPC Linux. This patch ensures the 64K guard page at
986 the bottom of the stack is not overwritten.
987
13a0b1e8
AC
9882011-09-05 Thomas Quinot <quinot@adacore.com>
989
990 * exp_intr.adb, s-tasini.adb: Minor reformatting.
991
9922011-09-05 Ed Schonberg <schonberg@adacore.com>
993
994 * sem_ch3.adb (Access_Definition): If an access type declaration
995 appears in a child unit, the scope of whatever anonymous type
996 may be generated is the child unit itself.
997
9982011-09-05 Ed Schonberg <schonberg@adacore.com>
999
1000 * sem_ch6.adb (Analyze_Expression_Function): Do not set
1001 Comes_From_Source on rewritten body.
1002 (Analyze_Subprogram_Body_Helper): Check that the original node for
1003 the body comes from source, when determining whether expansion
1004 of a protected operation is needed.
1005
20428725
AC
10062011-09-05 Ed Schonberg <schonberg@adacore.com>
1007
1008 * exp_aggr.adb (Replace_Type): If the target of the assignment is
1009 a selected component and the right-hand side is a self-referential
1010 access, the proper prefix of the rewritten attribute is a copy
1011 of the left-hand side, not of its prefix.
1012
10132011-09-05 Robert Dewar <dewar@adacore.com>
1014
1015 * sem_ch5.adb: Minor reformatting.
1016 * sem_ch3.adb: Minor code clean up.
1017
10182011-09-05 Jose Ruiz <ruiz@adacore.com>
1019
1020 * exp_ch9.adb (Make_Initialize_Protection): The fact that
1021 restriction No_Dynamic_Attachment is in effect or not should
1022 not influence the default priority associated to a protected
1023 object. With this change, when the restriction is in effect (as
1024 is the case for the Ravenscar profile) the default priority of
1025 a protected object with an interrupt handler is in the range of
1026 interrupt priorities (Default_Interrupt_Priority) as required
1027 by D.3(10).
1028
10292011-09-05 Arnaud Charlet <charlet@adacore.com>
1030
1031 * a-iteint.ads: Fix header.
1032
10332011-09-05 Vincent Celier <celier@adacore.com>
1034
1035 * prj-conf.adb (Do_Autoconf): Make sure Obj_Dir always ends
1036 with a directory separator to avoid output such as:
1037 "/path/to/objauto.cgpr" has been deleted.
1038
4a1bfefb
AC
10392011-09-05 Robert Dewar <dewar@adacore.com>
1040
1041 * sem_ch3.adb: Minor reformatting.
1042
10432011-09-05 Ed Schonberg <schonberg@adacore.com>
1044
1045 * sem_ch5.adb: Better error message.
1046
10472011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
1048
1049 * exp_aggr.adb: Add with and use clause for Exp_Ch6.
1050 (Expand_Array_Aggregate): Detect a special case of an aggregate
1051 which contains tasks in the context of an unexpanded return
1052 statement of a build-in-place function.
1053 * exp_ch6.adb: Add with and use clause for Exp_Aggr.
1054 (Expand_N_Extended_Return_Statement): Detect a delayed aggregate
1055 which contains tasks and expand it now that the original simple
1056 return statement has been rewritten.
1057 * exp_ch9.adb (Build_Activation_Chain_Entity): Code
1058 reformatting. Do not create a chain for an extended return
1059 statement if one is already available.
1060 (Has_Activation_Chain): New routine.
1061
9ec080cb
AC
10622011-09-05 Marc Sango <sango@adacore.com>
1063
1064 * sem_ch3.adb (Analyze_Object_Declaration): Remove
1065 the wrong test and add the correct test to detect the violation
1066 of illegal use of unconstrained string type in SPARK mode.
1067
10682011-09-05 Ed Schonberg <schonberg@adacore.com>
1069
1070 * sem_ch5.adb (Analyze_Iteration_Specification): Improve error
1071 message on an iterator over an array.
1072
10732011-09-05 Robert Dewar <dewar@adacore.com>
1074
1075 * lib-xref-alfa.adb: Minor reformatting.
1076
aeae67ed
RD
10772011-09-05 Robert Dewar <dewar@adacore.com>
1078
1079 * sem_ch3.adb, sem_res.adb, par.adb, par-ch6.adb, g-comlin.adb,
1080 exp_ch6.adb, lib-xref-alfa.adb: Minor reformatting.
1081
d72e7628
AC
10822011-09-05 Gary Dismukes <dismukes@adacore.com>
1083
1084 * exp_ch7.adb, exp_ch6.adb: Minor reformatting.
1085
10862011-09-05 Johannes Kanig <kanig@adacore.com>
1087
1088 * lib-xref-alfa.adb: Update comments.
1089
10902011-09-05 Thomas Quinot <quinot@adacore.com>
1091
1092 * sem_res.adb: Minor reformatting
1093
0d566e01
ES
10942011-09-05 Ed Schonberg <schonberg@adacore.com>
1095
1096 * exp_ch6.adb (Build_In_Place_Formal): If extra formals are not
1097 present, create them now. Needed in case the return type was
1098 a limited view in the function declaration.
1099 (Make_Build_In_Place_Call_In_Allocator): If return type contains
1100 tasks, build the activation chain for it. Pass a reference to
1101 the Master_Id in call to Add_Task_Actuals_To_Build_In_Place call.
1102 * exp_ch7.adb (Make_Set_Finalize_Address_Call): Clean up interface
1103 with build_in_place calls.
1104 * sem_ch9.adb (Analyze_Task_Type_Declaration): If partial view was
1105 incomplete, inatialize its Corresponding_Record_Type component.
1106 * sem_ch10.adb (Build_Chain): Initialize Private_Dependents field
1107 of limited views.
1108
ec09f261
AC
11092011-09-05 Johannes Kanig <kanig@adacore.com>
1110
1111 * lib-xref-alfa.adb (Is_Alfa_Reference): Filter constants from effect
1112 information.
1113
11142011-09-05 Ed Schonberg <schonberg@adacore.com>
1115
1116 * par-ch6.adb (P_Subprogram): In Ada2012 mode, if the subprogram
1117 appears within a package specification and the token after "IS"
1118 is not a parenthesis, assume that this is an unparenthesized
1119 expression function, even if the token appears in a line by
1120 itself.
1121 * par.adb: Clarify use of Labl field of scope stack in error
1122 recovery.
1123
7109f4f5
AC
11242011-09-05 Bob Duff <duff@adacore.com>
1125
1126 * sem_res.adb (Resolve_Intrinsic_Operator): Use unchecked
1127 conversions instead of normal type conversions in all cases where a
1128 type conversion would be illegal. In particular, use unchecked
1129 conversions when the operand types are private.
1130
11312011-09-05 Johannes Kanig <kanig@adacore.com>
1132
1133 * lib-xref-alfa.adb (Is_Alfa_Reference): Never declare effects on
1134 objects of task type or protected type.
1135
66dc8075
AC
11362011-09-05 Ed Schonberg <schonberg@adacore.com>
1137
1138 * sem_ch6.adb (Analyze_Expression_Function): If the expression
1139 function comes from source, indicate that so does its rewriting,
1140 so it is compatible with any subsequent expansion of the
1141 subprogram body (e.g. when it is a protected operation).
1142 * sem_ch4.adb: minor reformatting
1143
11442011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
1145
1146 * lib.adb (Check_Same_Extended_Unit): Comment rewriting. Use
1147 Get_Source_Unit rather than Get_Code_Unit as instantiation unfolding
1148 may lead to wrong ancestor package in the case of instantiated subunit
1149 bodies. If a subunit is instantiated, follow the chain of instantiations
1150 rather than the stub structure.
1151
bd38b431
AC
11522011-09-02 Robert Dewar <dewar@adacore.com>
1153
1154 * sem_ch4.adb, sem_ch6.adb: Minor reformatting.
1155 * gcc-interface/Make-lang.in: Update dependencies.
1156
11572011-09-02 Marc Sango <sango@adacore.com>
1158
1159 * sem_ch3.adb (Analyze_Object_Declaration): Change
1160 comment and add additional check to differentiate constant of
1161 type string from others unconstrained type.
1162
99d520ad
ES
11632011-09-02 Ed Schonberg <schonberg@adacore.com>
1164
1165 * sinfo.ads, sinfo.adb: New semantic attribute Premature_Use,
1166 present in incomplete type declarations to refine the error
1167 message the full declaration is in the same unit.
1168 * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of
1169 an incomplete type, set the Premature_Use for additional message.
1170 * sem_ch3.adb (Find_Type_Name): If partial view is incomplete
1171 and Premature_Use is set, place additional information at the
1172 point of premature use.
1173
5b5588dd
AC
11742011-09-02 Bob Duff <duff@adacore.com>
1175
1176 * sem_ch6.adb: (Check_Post_State): Suppress warning
1177 "postcondition refers only to pre-state" when the expression has not
1178 yet been analyzed, because it causes false alarms. This can happen when
1179 the postcondition contains a quantified expression, because those are
1180 analyzed later. This is a temporary/partial fix.
1181 (Process_Post_Conditions): Minor: change wording of warning.
1182
11832011-09-02 Marc Sango <sango@adacore.com>
1184
1185 * sem_ch3.adb (Analyze_Object_Declaration): Detect the violation of
1186 illegal use of unconstrained string type in SPARK mode.
1187 * sem_res.adb (Analyze_Operator_Symbol): Set the
1188 right place where the string operand of concatenation should be
1189 violate in SPARK mode.
1190
bd603506
RD
11912011-09-02 Robert Dewar <dewar@adacore.com>
1192
1193 * sem_prag.adb, sem_util.adb, sem_ch6.adb, prj-nmsc.adb,
1194 exp_ch3.adb: Minor reformatting.
1195
24a120ac
AC
11962011-09-02 Vincent Celier <celier@adacore.com>
1197
1198 * prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Declare "gcc"
1199 as the compiler driver so Is_Compilable returns True for sources.
1200 * prj-nmsc.adb (Override_Kind): When Kind is Sep, set the source
1201 for the body.
1202
12032011-09-02 Ed Schonberg <schonberg@adacore.com>
1204
1205 * sem_prag.adb (Analyze_PPC_In_Decl_Part): for a class-wide
1206 condition, a reference to a controlling formal must be interpreted
1207 as having the class-wide type (or an access to such) so that the
1208 inherited condition can be properly applied to any overriding
1209 operation (see ARM12 6.6.1 (7)).
1210
12112011-09-02 Tristan Gingold <gingold@adacore.com>
1212
1213 * init.c (__gnat_is_vms_v7): Fix case and add prototype
1214 for LIB$GETSYI.
1215
12162011-09-02 Javier Miranda <miranda@adacore.com>
1217
1218 * exp_ch3.adb (Expand_N_Object_Declaration): Do not copy the
1219 initializing expression of a class-wide interface object declaration
1220 if its type is limited.
1221
12222011-09-02 Johannes Kanig <kanig@adacore.com>
1223
1224 * sem_util.adb (Unique_Name): To obtain a unique name for enumeration
1225 literals, take into account the type name; the type is *not*
1226 the scope for an enumeration literal.
1227
12282011-09-02 Ed Schonberg <schonberg@adacore.com>
1229
1230 * sem_ch6.adb (Check_Overriding_Indicator): add special check
1231 to reject an overriding indicator on a user-defined Adjust
1232 subprogram for a limited controlled type.
1233
12342011-09-02 Ed Schonberg <schonberg@adacore.com>
1235
1236 * sem_res.adb (Resolve_Actuals): add missing call to Resolve
1237 for an actual that is a function call returning an unconstrained
1238 limited controlled type.
1239
12402011-09-02 Tristan Gingold <gingold@adacore.com>
1241
1242 * g-socthi-vms.adb (c_sendmsg, c_recvmsg): Use unpacked msg if on vms 7
1243
12442011-09-02 Johannes Kanig <kanig@adacore.com>
1245
1246 * alfa.ads (Name_Of_Heap_Variable): Change value of the HEAP variable
1247 from "HEAP" to __HEAP Change comment that refers to that variable
1248 * put_alfa.adb: Change comment that refers to that variable
1249
c5f5123f
AC
12502011-09-02 Robert Dewar <dewar@adacore.com>
1251
1252 * exp_ch4.adb, exp_ch6.adb, prj-nmsc.adb: Minor reformatting.
1253
12542011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
1255
1256 * exp_util.adb (Extract_Renamed_Object): Renamed to
1257 Find_Renamed_Object. This routine has been reimplemented and now uses
1258 tree traversal to locate a renamed object.
1259 (Is_Aliased): Replace call to Extract_Renamed_Object with
1260 Find_Renamed_Object.
1261
12622011-09-02 Tristan Gingold <gingold@adacore.com>
1263
1264 * init.c: (__gnat_is_vms_v7): New function.
1265
12662011-09-02 Olivier Hainque <hainque@adacore.com>
1267
1268 * tracebak.c (STOP_FRAME, ppc elf/vxworks case): Stop on frames
1269 that have a misaligned backchain, necessarily bogus.
1270
2bfa5484
HK
12712011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
1272
1273 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not create
1274 TSS routine Finalize_Address when compiling in Alfa mode.
1275 (Expand_Freeze_Record_Type): Do not create TSS routine
1276 Finalize_Address when compiling in Alfa mode.
1277 * exp_ch4.adb (Expand_Allocator_Expression): Do not produce a
1278 call to Set_Finalize_Address in Alfa mode because Finalize_Address is
1279 not built.
1280 (Expand_N_Allocator): Do not produce a call to
1281 Set_Finalize_Address in Alfa mode because Finalize_Address is not built.
1282 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not
1283 produce a call to primitive Set_Finalize_Address in Alfa mode because
1284 Finalize_Address is not built.
1285 * exp_ch7.adb (Build_Finalization_Master): Do not create
1286 finalization masters in Afa mode since they are not needed.
1287 (Build_Finalizer): Do not create scope and library-level
1288 finalizers in Alfa mode since they are not needed.
1289 * exp_util.adb (Build_Allocate_Deallocate_Proc): Do not expand
1290 "new" and "free" when applied to controlled objects in Alfa mode since
1291 this is not needed.
1292
7a0ddd20
AC
12932011-09-02 Vincent Celier <celier@adacore.com>
1294
1295 * prj-nmsc.db: (Check_Stand_Alone_Library): For SALs, allow
1296 only library names with the syntax of Ada identifiers, to avoid errors
1297 when compiling the binder generated files.
1298 * projects.texi: Document restriction on SAL library names
1299
13002011-09-02 Thomas Quinot <quinot@adacore.com>
1301
1302 * a-chtgbo.adb: Minor comment fix.
1303
439b6dfa
AC
13042011-09-02 Robert Dewar <dewar@adacore.com>
1305
1306 * lib-xref.adb: Minor reformatting
1307
13082011-09-02 Vincent Celier <celier@adacore.com>
1309
1310 * bindusg.adb, clean.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
1311 gnatls.adb, gnatname.adb, gnatxref.adb, gprep.adb, makeusg.adb: Add
1312 --version and --help in usage.
1313 * switch.ads, switch.adb (Display_Usage_Version_And_Help): New procedure
1314
f2404867
AC
13152011-09-02 Bob Duff <duff@adacore.com>
1316
1317 * lib-xref.adb: (Hash): Avoid use of 'Mod attribute, because old
1318 compilers don't understand it.
1319
13202011-09-02 Gary Dismukes <dismukes@adacore.com>
1321
1322 * exp_attr.adb (Expand_N_Attribute_Reference): Pass the
1323 underlying subtype rather than its base type on the call to
1324 Build_Record_Or_Elementary_Input_Function, so that any
1325 constraints on a discriminated subtype will be available for
1326 doing the check required by AI05-0192.
1327 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
1328 If the prefix subtype of the 'Input attribute is a constrained
1329 discriminated subtype, then check each constrained discriminant value
1330 against the corresponding value read from the stream.
1331
029b67ba
YM
13322011-09-02 Yannick Moy <moy@adacore.com>
1333
1334 * usage.adb, warnsw.adb, sem_ch6.adb, opt.ads: Disable by default
1335 warnings on suspicious contracts, and enable them with -gnatwa.
1336
dc36a7e3
RD
13372011-09-02 Robert Dewar <dewar@adacore.com>
1338
1339 * exp_util.adb, exp_ch9.adb, sem_attr.adb, sem_ch6.adb: Minor
1340 reformatting.
1341
d5aa443c
AC
13422011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
1343
1344 * exp_ch9.adb (Install_Private_Data_Declarations): Add guards
1345 which ensure that restriction No_Dynamic_Attachment has not been
1346 violated.
1347 (Make_Initialize_Protection): Protected types with attach or
1348 interrupt handlers must not violate restriction No_Dynamic_Attachment.
1349 * exp_util.adb (Corresponding_Runtime_Package): Add a guard
1350 which ensures that restriction No_Dynamic_Attachment has not been
1351 violated.
1352 * sem_attr.adb: (Eval_Attribute): Transform
1353 VAX_Float_Type'First and 'Last into references to
1354 the temporaries which store the corresponding bounds. The
1355 transformation is needed since the back end cannot evaluate
1356 'First and 'Last on VAX.
1357 (Is_VAX_Float): New routine.
1358
13592011-09-02 Ed Schonberg <schonberg@adacore.com>
1360
1361 * sem_ch12.adb (Analyze_Subprogram_Instantiation): If the
1362 generic unit is not intrinsic and has an explicit convention,
1363 the instance inherits it.
1364
67c86178
AC
13652011-09-02 Robert Dewar <dewar@adacore.com>
1366
1367 * prj-dect.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, prj-tree.adb,
1368 prj.adb, prj.ads, sem_ch5.adb: Minor reformatting.
1369
13702011-09-02 Thomas Quinot <quinot@adacore.com>
1371
1372 * sem_attr.adb (Analyze_Attribute, case Unrestriced_Access):
1373 Guard against a prefix that is an N_Has_Entity but has no
1374 associated entity.
1375
13762011-09-02 Yannick Moy <moy@adacore.com>
1377
1378 * lib-xref-alfa.adb (Is_Alfa_Reference): Ignore IN parameters in Alfa
1379 references.
1380
13812011-09-02 Yannick Moy <moy@adacore.com>
1382
1383 * opt.ads (Warn_On_Suspicious_Contract): New warning flag.
1384 * sem_ch3.adb (Analyze_Declarations): Call checker for suspicious
1385 contracts.
1386 * sem_ch6.adb, sem_ch6.ads (Check_Subprogram_Contract): New
1387 procedure looking for suspicious postconditions.
1388 * usage.adb (Usage): New options -gnatw.t and -gnatw.T.
1389 * warnsw.adb (Set_Dot_Warning_Switch): Take into account new
1390 options -gnatw.t and -gnatw.T.
1391
735ca1b9
PO
13922011-09-02 Pascal Obry <obry@adacore.com>
1393
1394 * prj.adb: Minor code refactoring. Move check for null project in
1395 Project_Changed.
1396 * projects.texi: Fix minor typos.
1397
86828d40
AC
13982011-09-02 Ed Schonberg <schonberg@adacore.com>
1399
1400 * sem_ch5.adb (Analyze_Iterator_Specification): If the domain
1401 of iteration is an expression, its value must be captured in a
1402 renaming declaration, so that modification of the elements is
1403 propagated to the original container.
1404
14052011-09-02 Pascal Obry <obry@adacore.com>
1406
1407 * prj-proc.adb, prj.adb, makeutl.adb, makeutl.ads, prj-dect.adb,
1408 prj-nmsc.adb, prj-util.adb, prj-conf.adb, prj-env.adb,
1409 prj-tree.adb: Minor reformatting and style fixes.
1410
83de674b
AC
14112011-09-02 Robert Dewar <dewar@adacore.com>
1412
1413 * s-rident.ads: Add new restriction No_Implicit_Aliasing
1414 * sem_attr.adb: (Analyze_Access_Attribute): Deal with
1415 No_Implicit_Aliasing
1416 (Analyze_Attribute, case Address): ditto
1417 (Analyze_Attribute, case Unrestricted_Access): ditto
1418 * sem_util.ads, sem_util.adb: (Is_Aliased_View): Handle
1419 No_Implicit_Aliasing restriction.
1420 * gnat_rm.texi: Add documentation for No_Implicit_Aliasing
1421
14222011-09-02 Ed Schonberg <schonberg@adacore.com>
1423
1424 * exp_util.adb: (Possible_Bit_Aligned_Object): If the object
1425 is an unchecked conversion, apply test to its expression.
1426
14272011-09-02 Javier Miranda <miranda@adacore.com>
1428
1429 * sem_ch3.adb (Check_Abstract_Overriding): When
1430 traversing the chain of aliased subprograms avoid reporting a
1431 redundant error on the current entity.
1432
14332011-09-02 Sergey Rybin <rybin@adacore.com>
1434
1435 * gnat_ugn.texi: Minor clean up.
1436
14372011-09-02 Bob Duff <duff@adacore.com>
1438
1439 * s-htable.adb (Set_If_Not_Present): Use renaming
1440 instead of ":=", because the type Key is limited in the generic (even
1441 if not in the instances).
1442
2c17ca0a
AC
14432011-09-02 Robert Dewar <dewar@adacore.com>
1444
1445 * exp_util.adb, sem_ch10.adb, sem_attr.adb, s-htable.adb,
1446 g-comlin.adb, g-comlin.ads, lib-xref-alfa.adb, lib-xref.adb: Minor
1447 reformatting.
1448
14492011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
1450
1451 * sem_ch3.adb: (Set_Anonymous_Type): Associate the itype of an
1452 inherited component with the enclosing derived type. Code reformatting.
1453
14542011-09-02 Gary Dismukes <dismukes@adacore.com>
1455
1456 * checks.adb: (Determine_Range): Add test of OK1 to prevent the early
1457 return done when overflow checks are enabled, since comparisons against
1458 Lor and Hir should not be done when OK1 is False.
1459
14602011-09-02 Gary Dismukes <dismukes@adacore.com>
1461
1462 * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
1463 Add new formal Master_Exp. When present, add that expression to the
1464 call as an extra actual.
1465 (Make_Build_In_Place_Call_In_Object_Declaration): Add variable
1466 Fmaster_Actual and in the case of a BIP call initializing a return
1467 object of an enclosing BIP function set it to a
1468 new reference to the implicit finalization master
1469 formal of the enclosing function. Fmaster_Actual is
1470 then passed to the new formal Master_Exp on the call to
1471 Add_Finalization_Master_Actual_To_Build_ In_Place_Call. Move
1472 initializations of Enclosing_Func to its declaration.
1473
14742011-09-02 Thomas Quinot <quinot@adacore.com>
1475
1476 * csets.ads: Minor reformatting
1477
14782011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
1479
1480 * exp_aggr.adb: (Get_Constraint_Association): Add code to retrieve
1481 the full view of a private type coming from an instantiation.
1482 * exp_ch4.adb: (Current_Anonymous_Master): Reimplement the search
1483 loop to iterate over the declarations rather than use the
1484 First_Entity / Next_Entity scheme.
1485
ed32b82e
ES
14862011-09-02 Ed Schonberg <schonberg@adacore.com>
1487
1488 * sem_attr.adb: (Analyze_Attribute, case 'Range): when expanding
1489 X'range (N) into X'First (N) .. X'Last (N), do not share the
1490 dimension indicator N, if present. Even though it is a static
1491 constant, its source location may be modified when printing
1492 expanded code under -gnatDL, and node sharing will lead to chaos
1493 in Sprint on large files, by generating a sloc value that does
1494 not correspond to any source file.
1495
f7bb41af
AC
14962011-09-02 Bob Duff <duff@adacore.com>
1497
1498 * einfo.adb: (Has_Xref_Entry): Do not call
1499 Implementation_Base_Type. Lib.Xref has been
1500 rewritten to avoid the need for it, and it was costly.
1501 * s-htable.ads,s-htable.adb: (Present,Set_If_Not_Present): New
1502 functions in support of efficient xref.
1503 * lib-xref-alfa.adb: Misc changes related to Key component of
1504 type Xref_Entry.
1505 * lib-xref.adb: (Add_Entry,etc): Speed improvement.
1506 (New_Entry): Call Implementation_Base_Type, because Has_Xref_Entry
1507 no longer does. This is the one place where it is needed.
1508
15092011-09-02 Johannes Kanig <kanig@adacore.com>
1510
1511 * g-comlin.adb (Getopt): New optional argument Concatenate to have
1512 similar interface as the other Getopt function.
1513
15142011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
1515
1516 * exp_ch4.adb: (Expand_Allocator_Expression): Do not generate
1517 a call to Set_Finalize_Address if there is no allocator available.
1518 * exp_util.adb: (Build_Allocate_Deallocate_Proc): Account for
1519 a case of allocator expansion where the allocator is not expanded but
1520 needs a custom allocate routine. Code reformatting.
1521 (Is_Finalizable_Transient): Remove local variables Has_Rens and
1522 Ren_Obj. Code reformatting.
1523 (Is_Renamed): Renamed to Is_Aliased. Add code to detect aliasing
1524 through the use of 'reference.
1525 * sem_ch4.adb: (Analyze_Allocator): Detect allocators generated
1526 as part of build-in-place expansion. They are intentionally marked as
1527 coming from source, but their parents are not.
1528
bd0bc43e
AC
15292011-09-02 Ed Schonberg <schonberg@adacore.com>
1530
1531 * sem_ch10.adb (Analyze_With_Clause): If the library unit
1532 is the generated subprogram declaration for a child unit body
1533 that acts as spec, use the original body in the with_clause,
1534 to prevent binding errors.
1535
15362011-09-02 Vincent Celier <celier@adacore.com>
1537
1538 * gnat_ugn.texi: Adapt documentation of -gnateInnn to new VMS
1539 qualifier /MULTI_UNIT_INDEX=
1540
15412011-09-02 Johannes Kanig <kanig@adacore.com>
1542
1543 * g-comlin.adb (Getopt): Return when switch is dealt with automatically,
1544 instead of calling the callback function
1545
9fdb5d21
RD
15462011-09-02 Robert Dewar <dewar@adacore.com>
1547
1548 * prj-proc.adb, prj.ads, sem_util.adb, s-taprop-linux.adb,
1549 prj-nmsc.adb, prj-util.ads, prj-env.adb: Minor reformatting.
1550
c6d5d1ac
AC
15512011-09-02 Vincent Celier <celier@adacore.com>
1552
1553 * prj-nmsc.adb: (Find_Sources): When the list of sources is
1554 explicitly declared in an extending project, do not warn if a source
1555 for an inherited naming exception is not found.
1556
15572011-09-02 Gary Dismukes <dismukes@adacore.com>
1558
1559 * exp_ch6.adb: (Is_Build_In_Place_Function_Call): Return False if
1560 expansion is inactive.
1561
15622011-09-02 Ed Schonberg <schonberg@adacore.com>
1563
1564 * sem_util.adb (Note_Possible_Modification): If the entity
1565 being modified is the renaming generated for an Ada2012 iterator
1566 element, the enclosing container or array is modified as well.
1567
2ba1a7c7
AC
15682011-09-02 Jose Ruiz <ruiz@adacore.com>
1569
1570 * s-taprop-linux.adb (Initialize_Lock, Initialize_TCB,
1571 Initialize): Define and initialize the
1572 mutex attributes and condition variable attributes locally.
1573
15742011-09-02 Vincent Celier <celier@adacore.com>
1575
1576 * prj-nmsc.adb (Check_File): Mark as Locally_Removed a naming
1577 exception replaced in an extending project.
1578 (Check_Object): No error when the other source is locally removed.
1579
15802011-09-02 Yannick Moy <moy@adacore.com>
1581
1582 * exp_ch6.adb (Is_Build_In_Place_Function_Call): in Alfa mode, allow
1583 unresolved calls.
1584
d51813db
AC
15852011-08-31 Arnaud Charlet <charlet@adacore.com>
1586
1587 * gcc-interface/Makefile.in: Clean up handling of x86 and x86-64
1588 run-time files.
1589 * gcc-interface/Make-lang.in: Update dependencies.
1590
9f55bc62
AC
15912011-09-01 Robert Dewar <dewar@adacore.com>
1592
1593 * sem_ch3.adb, s-taprop-linux.adb, gnatls.adb: Minor reformatting.
1594
15952011-09-01 Jose Ruiz <ruiz@adacore.com>
1596
1597 * adaint.h (__gnat_cpu_free): Fix the name of this profile.
1598 * adaint.c (__gnat_cpu_alloc, __gnat_cpu_alloc_size, __gnat_cpu_free,
1599 __gnat_cpu_zero, __gnat_cpu_set): Create version of these subprograms
1600 specific for systems where their glibc version does not define the
1601 routines to handle dynamically allocated CPU sets.
1602
16032011-09-01 Vincent Celier <celier@adacore.com>
1604
1605 * prj-proc.adb, prj.ads, prj-nmsc.adb, prj-util.adb, prj-util.ads,
1606 prj-env.adb: Implement inheritance of naming exceptions in extending
1607 projects.
1608
d7386a7a
AC
16092011-09-01 Romain Berrendonner <berrendo@adacore.com>
1610
1611 * gnatls.adb: Display simple message instead of content of
1612 gnatlic.adl.
1613
16142011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
1615
1616 * sem_ch3.adb: (Build_Derived_Record_Type) Remove the kludgy update of
1617 access discriminant and anonymous access component scopes.
1618 (Inherit_Component): Reuse the itype of an access discriminant
1619 or anonymous access component by copying it in order to set the proper
1620 scope. This is done only when the parent and the derived type
1621 are in different scopes.
1622 (Set_Anonymous_Etype): New routine.
1623
16242011-09-01 Robert Dewar <dewar@adacore.com>
1625
1626 * a-convec.adb: Minor reformatting throughout.
1627
9d1e0e72
JR
16282011-09-01 Jose Ruiz <ruiz@adacore.com>
1629
1630 * adaint.c, adaint.h (__gnat_cpu_alloc, __gnat_cpu_alloc_size,
1631 __gnat_cpu_set_free): Create these wrappers around the CPU_ALLOC,
1632 CPU_ALLOC_SIZE and CPU_FREE linux macros.
1633 (__gnat_cpu_zero, __gnat_cpu_set): Use the CPU_ZERO_S and
1634 CPU_SET_S respectively because we are now using dynamically allocated
1635 CPU sets which are more portable across different glibc versions.
1636 * s-osinte-linux.ads (cpu_set_t_ptr, CPU_ALLOC, CPU_ALLOC_SIZE,
1637 CPU_FREE): Add this type and subprograms to be able to create cpu_set_t
1638 masks dynamically according to the number of processors in the target
1639 platform.
1640 (CPU_ZERO, CPU_SET): They are now mapped to the CPU_ZERO_S and CPU_SET_S
1641 respectively, so we need to pass the size of the masks as
1642 parameters.
1643 * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use dynamically
1644 created cpu_set_t masks
1645 with the number of processors available in the target platform,
1646 instead of static bit arrays. It enhances portability because
1647 it uses the information from the target platform.
1648 * sem_ch8.adb: (Attribute_Renaming): When checking whether we
1649 are using a restricted run-time library, use the flag
1650 Configurable_Run_Time_Mode instead of Restricted_Profile.
1651
a95be2d4
AC
16522011-09-01 Vincent Celier <celier@adacore.com>
1653
1654 * ug_words: Add /MULTI_UNIT_INDEX= -> -gnateI
1655 * vms_data.ads: Add new VMS qualifier equivalent for -gnateInnn
1656
16572011-09-01 Nicolas Roche <roche@adacore.com>
1658
1659 * adaint.c (__gnat_tmp_name): Don't use tmpnam function from the system
1660 on VxWorks in kernel mode.
1661
6b81741c
AC
16622011-09-01 Jose Ruiz <ruiz@adacore.com>
1663
1664 * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use the linux
1665 macros for handling CPU sets (CPU_ZERO, CPU_SET) instead of modifying
1666 directly the bit array.
1667 * s-osinte-linux.ads (CPU_ZERO, CPU_SET): Import these wrappers around
1668 the linux macros with the same name.
1669 * adaint.h, adaint.c (__gnat_cpu_zero, __gnat_cpu_set): Create these
1670 wrappers around the CPU_ZERO and CPU_SET linux macros.
1671
16722011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
1673
1674 * exp_ch7.adb (Find_Insertion_List): Removed.
1675 (Process_Transient_Objects): Insert the declarations of the hook
1676 access type and the hook object before the associated transient object.
1677
16782011-09-01 Jose Ruiz <ruiz@adacore.com>
1679
1680 * sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading
1681 package System.Aux_Dec when using restricted run-time libraries which
1682 do not have this package.
1683
16842011-09-01 Tristan Gingold <gingold@adacore.com>
1685
1686 * s-vaflop-vms-alpha.adb: Remove pragma optimize, useless.
1687
16882011-09-01 Bob Duff <duff@adacore.com>
1689
1690 * sem_attr.adb (Analyze_Access_Attribute): Do not call
1691 Kill_Current_Values for P'Unrestricted_Access, where P is library level
1692
16932011-09-01 Thomas Quinot <quinot@adacore.com>
1694
1695 * exp_ch5.adb: Minor reformatting
1696 * gnat_ugn.texi: Fix minor typos.
1697 * gcc-interface/Make-lang.in: Update dependencies.
1698
8256c1bf
AC
16992011-09-01 Robert Dewar <dewar@adacore.com>
1700
1701 * inline.adb, sem_aggr.adb: Minor reformatting.
1702
17032011-09-01 Ed Schonberg <schonberg@adacore.com>
1704
1705 * a-convec.adb: Proper handling of cursors for Ada2012 iterators.
1706
d1c5f424
AC
17072011-09-01 Robert Dewar <dewar@adacore.com>
1708
1709 * prj-proc.adb, exp_ch6.adb, prj-env.adb: Minor reformatting.
1710
17112011-09-01 Bob Duff <duff@adacore.com>
1712
1713 * sem_aggr.adb (Resolve_Aggregate): Need to treat "in instance
1714 body" the same as "in inlined body", because visibility shouldn't
1715 apply there.
1716
17172011-09-01 Eric Botcazou <ebotcazou@adacore.com>
1718
1719 * inline.adb (Add_Inlined_Body): Refine previous change.
1720
1bb6e262
AC
17212011-09-01 Gary Dismukes <dismukes@adacore.com>
1722
1723 * exp_ch6.ads (Needs_BIP_Alloc_Form): New utility function.
1724 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
1725 Test for case where call
1726 initializes an object of a return statement before testing for
1727 a constrained call, to ensure that all such cases get handled
1728 by simply passing on the caller's parameters. Also, in that
1729 case call Needs_BIP_Alloc_Form to determine whether to pass on
1730 the BIP_Alloc_Form parameter of the enclosing function rather
1731 than testing Is_Constrained. Add similar tests for the return
1732 of a BIP call to later processing to ensure consistent handling.
1733 (Needs_BIP_Alloc_Form): New utility function.
1734 * sem_ch6.adb: (Create_Extra_Formals): Replace test for adding
1735 a BIP_Alloc_Form formal with call to new utility function
1736 Needs_BIP_Alloc_Form.
1737
17382011-09-01 Pascal Obry <obry@adacore.com>
1739
1740 * prj-part.adb: Minor reformatting.
1741
17422011-09-01 Vincent Celier <celier@adacore.com>
1743
1744 * prj-env.adb (Create_Mapping_File.Process): Encode the upper
1745 half character in the unit name.
1746
db15225a
AC
17472011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
1748
1749 * exp_ch4.adb: Minor code and comment reformatting.
1750
17512011-09-01 Thomas Quinot <quinot@adacore.com>
1752
1753 * exp_ch6.adb (Expand_Inlined_Call): Remove redundant tests
1754 for Is_Limited_Type and Is_Tagged_Type in condition checking
1755 for by-reference type.
1756 * inline.adb (Add_Inlined_Body): Only exclude init_procs. Other
1757 subprograms may have a completion because of a previous
1758 Inline_Always clause, but the enclosing package must be marked
1759 inlined for the subprogram body to become visible to the backend.
1760
9d641fc0
TQ
17612011-09-01 Thomas Quinot <quinot@adacore.com>
1762
1763 * sem_aux.adb, exp_ch4.adb: Minor reformatting
1764
dbe36d67
AC
17652011-09-01 Pascal Obry <obry@adacore.com>
1766
1767 * prj-proc.adb, prj.ads, sinput-p.adb: Minor reformatting.
1768
17692011-09-01 Ed Schonberg <schonberg@adacore.com>
1770
1771 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate references to
1772 the formals of a subprogram stub that acts as a spec.
1773
17742011-09-01 Ed Schonberg <schonberg@adacore.com>
1775
1776 * exp_ch6.adb (Expand_Inlined_Call): If an actual is a by_reference
1777 type, declare a renaming for it, not an object declaration.
1778
f5037886
AC
17792011-09-01 Yannick Moy <moy@adacore.com>
1780
1781 * ali-util.adb, ali-util.ads (Read_Withed_ALIs): Add parameter
1782 Ignore_Errors to ignore failures to read ALI files when True.
1783
17842011-09-01 Javier Miranda <miranda@adacore.com>
1785
1786 * exp_ch3.adb (Expand_N_Object_Declaration): Handle non-default
1787 constructor calls associated with non-tagged record types.
1788
17892011-09-01 Robert Dewar <dewar@adacore.com>
1790
1791 * g-socthi-vms.adb: Minor reformatting.
1792
17932011-09-01 Nicolas Roche <roche@adacore.com>
1794
1795 * sysdep.c: Don't use macro functions for stdio functions on VxWorks
1796 in order to avoid impact of imcompatible changes.
1797 * cstreams.c: Likewise
1798 * cio.c: Likewise
1799 * aux-io.c: Likewise
1800
18012011-09-01 Yannick Moy <moy@adacore.com>
1802
1803 * lib-writ.adb (Write_With_Lines): Always output complete information
1804 on "with" line in Alfa mode, as this is required by formal verification
1805 back-end.
1806
549e4558
AC
18072011-09-01 Tristan Gingold <gingold@adacore.com>
1808
1809 * g-socthi-vms.adb: Add comments.
1810
18112011-09-01 Pascal Obry <obry@adacore.com>
1812
1813 * prj.ads: Minor reformatting.
1814
70c0422d
AC
18152011-09-01 Vincent Celier <celier@adacore.com>
1816
1817 * prj-env.adb (Create_Config_Pragmas_File.Check): Put all naming
1818 exceptions in the config pragmas file.
1819
18202011-09-01 Tristan Gingold <gingold@adacore.com>
1821
1822 * gnat_ugn.texi: Document GNAT_STACK_SIZE on IVMS.
1823
8c5b03a0
AC
18242011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
1825
1826 * exp_ch7.adb (Find_Insertion_List): New routine.
1827 (Process_Transient_Objects): Add code to handle the abnormal
1828 finalization of a controlled transient associated with a subprogram
1829 call. Since transients are cleaned up right after the associated
1830 context, an exception raised during a subprogram call may bypass the
1831 finalization code.
1832
18332011-09-01 Robert Dewar <dewar@adacore.com>
1834
1835 * exp_ch6.adb (Expand_Call): Check actual for aliased parameter is
1836 aliased.
1837
3040dbd4
RD
18382011-09-01 Robert Dewar <dewar@adacore.com>
1839
1840 * exp_ch4.adb, a-exexda.adb: Minor reformatting.
1841
fecbd779
AC
18422011-09-01 Robert Dewar <dewar@adacore.com>
1843
1844 * s-taskin.ads, s-tassta.adb, sem_ch13.adb: Minor reformatting.
1845
18462011-09-01 Thomas Quinot <quinot@adacore.com>
1847
1848 * Makefile.rtl: Move s-oscons.o from GNATRTL_TASKING_OBJS to
1849 GNATRTL_NONTASKING_OBJS.
1850
18512011-09-01 Robert Dewar <dewar@adacore.com>
1852
1853 * einfo.ads (Is_Aliased): Fix existing documentation and add note on
1854 possibility of this flag being set for formals in Ada 2012 mode.
1855 * par-ch6.adb (P_Formal_Part): Handle aliased for parameters for Ada
1856 2012.
1857 * sem_ch6.adb (Process_Formals): Handle aliased parameters in Ada 2012
1858 mode.
1859 * sinfo.adb (Aliased_Present): Allowed in N_Parameter_Specification for
1860 Ada 2012.
1861 * sinfo.ads (Aliased_Present): Allowed in N_Parameter_Specification for
1862 Ada 2012.
1863
18642011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
1865
1866 * exp_ch4.adb (Find_Insertion_Node): New routine. Determines the proper
1867 insertion node in a tree of nested Expression_With_Actions nodes.
1868 (Process_Transient_Object): In the case where a complex if statement
1869 has been converted into nested Expression_With_Actions nodes, the
1870 "hook" object and the associated access type must be inserted before
1871 the top most Expression_With_Actions.
1872
516f608f
AC
18732011-09-01 Robert Dewar <dewar@adacore.com>
1874
1875 * a-cbprqu.adb, a-cbprqu.ads, a-cuprqu.adb, a-cuprqu.ads,
1876 a-cbsyqu.adb, a-cbsyqu.ads: Minor reformatting.
1877
18782011-09-01 Ed Schonberg <schonberg@adacore.com>
1879
1880 * sem_attr.adb: Conditionalize aliasing predicates to Ada2012.
1881
18822011-09-01 Jose Ruiz <ruiz@adacore.com>
1883
1884 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the CPU
1885 aspect.
1886 * aspects.adb (Canonical_Aspect): Add entry for the CPU aspect.
1887 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the CPU aspect
1888 in a similar way as we do for the Priority or Dispatching_Domain aspect.
1889 * s-mudido-affinity.adb (Dispatching_Domain_Tasks,
1890 Dispatching_Domains_Frozen): Move this local data to package
1891 System.Tasking because with the CPU aspect we need to have access
1892 to this data when creating the task in System.Tasking.Stages.Create_Task
1893 * s-taskin.ads (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen):
1894 Move these variables from the body of
1895 System.Multiprocessors.Dispatching_Domains because with the CPU aspect
1896 we need to have access to this data when creating the task in
1897 System.Tasking.Stages.Create_Task.
1898 * s-taskin.adb (Initialize): Signal the allocation of the environment
1899 task to a CPU, if any, so that we know whether the CPU can be
1900 transferred to a different dispatching domain.
1901 * s-tassta.adb (Create_Task): Check whether the CPU to which this task
1902 is being allocated belongs to the dispatching domain where the task
1903 lives. Signal the allocation of the task to a CPU, if any, so that we
1904 know whether the CPU can be transferred to a different dispatching
1905 domain.
1906
2d42e881
ES
19072011-09-01 Ed Schonberg <schonberg@adacore.com>
1908
1909 * exp_attr.adb, sem_attr.adb, snames.ads-tmpl: Implementation of
1910 attributes Same_Storage and Overlaps_Storage.
1911
579fda56
AC
19122011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
1913
1914 * exp_strm.adb: Remove with and use clause for Opt.
1915 (Build_Array_Input_Function): Remove the version-dependent generation
1916 of the return statement. The Ada 2005 tree is now the default.
1917
19182011-09-01 Yannick Moy <moy@adacore.com>
1919
1920 * put_alfa.adb: Unconditionnally write files in Alfa section, so that
1921 it is never empty when compiling in Alfa mode.
1922
19232011-09-01 Robert Dewar <dewar@adacore.com>
1924
1925 * sem_aggr.adb, sem_ch3.adb, a-direct.adb, s-taprop-vxworks.adb,
1926 comperr.adb, exp_ch9.adb, exp_pakd.adb, sem_ch12.adb, freeze.adb,
1927 s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
1928 gnat1drv.adb, a-rbtgbo.adb, exp_dist.adb: Minor reformatting
1929
19302011-09-01 Matthew Heaney <heaney@adacore.com>
1931
1932 * Makefile.rtl, impunit.adb: Add a-csquin.ads, a-cusyqu.ad[sb],
1933 a-cuprqu.ad[sb], a-cbsyqu.ad[sb], a-cbprqu.ad[sb]
1934 * a-csquin.ads: New Ada 2012 unit that specifies the queue interface
1935 * a-cusyqu.ads, a-cusyqu.adb: New Ada 2012 unit that specifies the
1936 unbounded queue container.
1937 * a-cbsyqu.ads, a-cbsyqu.adb: New Ada 2012 unit that specifies the
1938 bounded queue container.
1939 * a-cuprqu.ads, a-cuprqu.adb: New Ada 2012 unit that specifies the
1940 unbounded priority queue container.
1941 * a-cbprqu.ads, a-cbprqu.adb: New Ada 2012 unit that specifies the
1942 bounded priority queue container.
1943
24c34107
AC
19442011-08-31 Pascal Obry <obry@adacore.com>
1945
1946 * a-direct.adb: Do not try to create an UNC path on Windows.
1947 (Create_Path): Skip leading computer name in UNC path if any.
1948
19492011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
1950
1951 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Remove the
1952 version-dependent generation of the return statement. The Ada 2005 tree
1953 is now the default.
1954
19552011-08-31 Thomas Quinot <quinot@adacore.com>
1956
1957 * rtsfind.ads, exp_dist.adb (Find_Numeric_Representation): Predefined
1958 types Stream_Element_Offset and Storage_Offset have a different native
1959 type depending on whether the platform is 32 or 64 bits. When
1960 exchanging them, always convert to 64 bits.
1961
19622011-08-31 Yannick Moy <moy@adacore.com>
1963
1964 * debug.adb: Reserve debug option -gnatd.E for passing gnatprove option
1965 --force-alfa to gnat2why.
1966
19672011-08-31 Ed Schonberg <schonberg@adacore.com>
1968
1969 * sem_ch12.adb (Save_References): If the node has aspects, save
1970 references within the corresponding expressions in a separate step,
1971 because the aspects are not directly in the tree for the declaration
1972 to which they belong.
1973
19742011-08-31 Arnaud Charlet <charlet@adacore.com>
1975
1976 * freeze.adb (Freeze_Record_Type): Omit test on variable size component
1977 in CodePeer mode, since representation clauses are partially ignored.
1978 * gcc-interface/Make-lang.in: Update dependencies.
1979
702d2020
AC
19802011-08-31 Jose Ruiz <ruiz@adacore.com>
1981
1982 * s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
1983 s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned
1984 to any dispatching domain.
1985
19862011-08-31 Thomas Quinot <quinot@adacore.com>
1987
1988 * exp_ch4.adb: Minor reformatting.
1989
19902011-08-31 Bob Duff <duff@adacore.com>
1991
1992 * sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication
1993 on nodes for which it is not defined.
1994 (Is_Non_Overriding_Operation): Exit the loop when we find a generic
1995 parent type.
1996
19972011-08-31 Bob Duff <duff@adacore.com>
1998
1999 * sem_ch3.adb (Process_Full_View): Disable legality check if
2000 In_Instance, to avoid spurious errors.
2001 * sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check
2002 if In_Instance, to avoid spurious errors.
2003
20042011-08-31 Pascal Obry <obry@adacore.com>
2005
2006 * a-direct.adb: Use Dir_Seps everywhere to properly handle all
2007 directory speparators.
2008 (Compose): Use Dir_Seps to handle both forms.
2009 (Create_Path): Use Dir_Seps instead of explicit check, no semantic
2010 changes.
2011 (Extension): Use Dir_Seps to handle both forms.
2012
20132011-08-31 Pascal Obry <obry@adacore.com>
2014
2015 * prj-conf.adb: Minor reformatting.
2016
67645bde
AC
20172011-08-31 Jose Ruiz <ruiz@adacore.com>
2018
2019 * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the
2020 dispatching domain aspect.
2021 * aspects.adb (Canonical_Aspect): Add entry for the dispatching domain
2022 aspect.
2023 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the
2024 Dispatching_Domain aspect in a similar way as we do for the Priority
2025 aspect.
2026 * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the
2027 Dispatching_Domain component if a Dispatching_Domain pragma or aspect
2028 is present.
2029 (Make_Task_Create_Call): Add the Dispatching_Domain when creating a task
2030 * par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma.
2031 * sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma
2032 Dispatching_Domain and add it to the task definition.
2033 (Sig_Flags): Add Pragma_Dispatching_Domain.
2034 * rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the
2035 support to find the types Dispatching_Domain and
2036 Dispatching_Domain_Access.
2037 * sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain,
2038 Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and
2039 query the availability of a pragma Dispatching_Domain.
2040 * snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by
2041 the expander to pass the Dispatching_Domain when creating a task.
2042 (Name_Dispatching_Domain): Add this new name for a pragma.
2043 (Pragma_Id): Add the new Pragma_Dispatching_Domain.
2044 * s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the
2045 task has been allocated at creation time.
2046 * s-tarest.adb (Create_Restricted_Task): The dispatching domain using
2047 Ravenscar is always null.
2048 * s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which
2049 the task has been allocated at creation time.
2050 * s-tporft.adb (Register_Foreign_Thread): A foreign task will not have
2051 a specific dispatching domain.
2052 * s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb,
2053 s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain
2054 and CPU are specified for the task, and the CPU value is not contained
2055 within the range of processors for the domain.
2056
20572011-08-31 Vincent Celier <celier@adacore.com>
2058
2059 * make.adb (Original_Gcc) : New constant String_Access.
2060 (Gnatmake): For VM targets, do not use VM version of the compiler if
2061 --GCC= has been specified.
2062
20632011-08-31 Thomas Quinot <quinot@adacore.com>
2064
2065 * sem_ch5.adb: Minor reformatting.
2066
20672011-08-31 Ed Schonberg <schonberg@adacore.com>
2068
2069 * exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do
2070 not reanalyze it.
2071
20722011-08-31 Bob Duff <duff@adacore.com>
2073
2074 * exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case
2075 the access type is private; we don't care about privacy in expansion.
2076
20772011-08-31 Ed Schonberg <schonberg@adacore.com>
2078
2079 * sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate
2080 subcomponents tnat may be limited, because they originate in view
2081 conflicts. If the original aggregate is legal and the actuals are
2082 legal, the aggregate itself is legal.
2083
b8789727
AC
20842011-08-31 Matthew Heaney <heaney@adacore.com>
2085
2086 * a-rbtgbo.adb (Clear_Tree): Assert representation invariant for lock
2087 status.
2088
20892011-08-31 Ed Schonberg <schonberg@adacore.com>
2090
2091 * sem_ch5.adb: Set kind of loop parameter properly, to preserve all
2092 errors in B tests.
2093
20942011-08-31 Jose Ruiz <ruiz@adacore.com>
2095
2096 * sem_ch13.adb (Analyze_Aspect_Specifications): For the Priority and
2097 Interrupt_Priority aspects, force the analysis of the aspect expression
2098 (when building the equivalent pragma). Otherwise, its analysis is done
2099 too late, after the task or protected object has been created.
2100 * sem_ch9.adb (Analyze_Single_Protected_Declaration,
2101 Analyze_Single_Task_Declaration): Remove the code to move the aspects
2102 to the object declaration because they are needed in the type
2103 declaration.
2104
e0c32166
AC
21052011-08-31 Robert Dewar <dewar@adacore.com>
2106
2107 * exp_ch5.adb, exp_ch7.ads, sem_ch5.adb, put_scos.adb, s-rannum.adb,
2108 a-rbtgbo.adb, exp_intr.adb, a-cbdlli.adb, a-cbdlli.ads: Minor
2109 reformatting.
2110
21112011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
2112
2113 * exp_util.adb (Find_Protection_Type): Do not look for fields _object
2114 if the corresponding type is malformed due to restriction violations.
2115
21162011-08-31 Robert Dewar <dewar@adacore.com>
2117
2118 * s-ransee.ads, s-ransee.adb: Minor reformatting.
2119
21202011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
2121
2122 * exp_ch4.adb (Expand_N_Allocator): Correct faulty condition which
2123 would cause the generation of Set_Finalize_Address if the target is a
2124 VM and the designated type is not derived from [Limited_]Controlled.
2125
21262011-08-31 Arnaud Charlet <charlet@adacore.com>
2127
2128 * comperr.adb, comperr.ads, gnat1drv.adb (Delete_SCIL_Files): New
2129 subprogram.
2130 (Compiler_Abort, Gnat1drv): Call Delete_SCIL_Files in codepeer mode in
2131 case of a compilation error.
2132
21332011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
2134
2135 * init.c (__gnat_error_handler): Standardize the stack overflow or
2136 erroneous memory access message.
2137 * seh_init.c (__gnat_SEH_error_handler): Standardize the stack overflow
2138 or erroneous memory access message.
2139
11bc76df
AC
21402011-08-31 Robert Dewar <dewar@adacore.com>
2141
2142 * sem_ch4.adb: Minor reformatting.
2143 * sem_ch6.adb: Minor code reorganization (use Ekind_In).
2144
21452011-08-31 Thomas Quinot <quinot@adacore.com>
2146
2147 * scos.ads: Minor documentation clarification.
2148 * put_scos.adb: Do not generate SCO unit header line for a unit that
2149 has no SCO lines.
2150
876d4394
RD
21512011-08-31 Robert Dewar <dewar@adacore.com>
2152
2153 * a-rbtgbo.adb, alfa_test.adb: Minor reformatting.
2154
36b8f95f
AC
21552011-08-31 Tristan Gingold <gingold@adacore.com>
2156
2157 * exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to
2158 hold variables between these following subprograms.
2159 (Build_Exception_Handler, Build_Object_Declarations,
2160 Build_Raise_Statement): Use the above type as parameter.
2161 Make the above adjustments.
2162 * exp_intr.adb (Expand_Unc_Deallocation): Adjust.
2163
21642011-08-31 Pascal Obry <obry@adacore.com>
2165
2166 * projects.texi: Minor reformatting.
2167
21682011-08-31 Tristan Gingold <gingold@adacore.com>
2169
2170 * s-ransee.ads, s-ransee.adb: Add system.random_seed unit.
2171 * s-rannum.adb (Reset): Use Get_Seed from s-ransee.
2172
21732011-08-31 Ed Schonberg <schonberg@adacore.com>
2174
2175 * exp_ch5.adb: Minor code cleanup.
2176 * sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to
2177 prevent cascaded errors.
2178 (Analyze_Loop_Statement): In semantics-only mode, introduce loop
2179 variable of an iterator specification in current scope.
2180 * sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip
2181 postconditions on the stack, as they contain no return statements.
2182
21832011-08-31 Yannick Moy <moy@adacore.com>
2184
2185 * exp_alfa.adb (Expand_Alfa_N_Package_Declaration,
2186 Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply
2187 call Qualify_Entity_Names.
2188 (Expand_Alfa): call Qualify_Entity_Names in more cases
2189 * lib-xref-alfa.adb: Take into account system package.
2190 * sem_prag.adb Take into account restrictions in Alfa mode, contrary to
2191 CodePeer mode in which we are interested in finding bugs even if
2192 compiler cannot compile source.
2193 * sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of
2194 deferred constant.
2195
21962011-08-31 Gary Dismukes <dismukes@adacore.com>
2197
2198 * sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype
2199 denoted by the subtype mark to ensure getting the concurrent type in
2200 the case where the subtype mark denotes a private subtype of a
2201 concurrent type (needed when using -gnatc).
2202 (Process_Subtype): For the processing specific to type kinds, case on
2203 the Base_Type kind of the Subtype_Mark_Id, to handle cases where the
2204 subtype denotes a private subtype whose base type is nonprivate (needed
2205 for subtypes of private fulfilled by task types when compiling with
2206 -gnatc).
2207
22082011-08-31 Gary Dismukes <dismukes@adacore.com>
2209
2210 * sem_disp.adb (Check_Dispatching_Operation): Bypass registration of
2211 late primitives that override interface operations when the full
2212 expander is not active, to avoid blowups in Register_Primitive when
2213 types don't have associated secondary dispatch tables.
2214
22152011-08-31 Yannick Moy <moy@adacore.com>
2216
2217 * alfa_test.adb: Code clean up.
2218
22192011-08-31 Marc Sango <sango@adacore.com>
2220
2221 * restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N)
2222 by Comes_From_Source (Original_Node (N)) in order to treat also the
2223 nodes which have been rewritten.
2224 * sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the
2225 explicit dereference and slice violation in spark mode on the nodes
2226 coming only from the source code.
2227
8cf23b91
AC
22282011-08-31 Robert Dewar <dewar@adacore.com>
2229
2230 * exp_ch5.adb, exp_alfa.ads, prj.ads, sem_attr.adb,
2231 lib-xref-alfa.adb: Minor reformatting.
2232
22332011-08-31 Matthew Heaney <heaney@adacore.com>
2234
2235 * a-crbltr.ads (Tree_Type): Default-initialize the Nodes component.
2236
22372011-08-31 Javier Miranda <miranda@adacore.com>
2238
2239 * sem_ch4.adb (Try_Object_Operation): Addition of one formal to search
2240 only for class-wide subprograms conflicting with entities of concurrent
2241 tagged types.
2242
22432011-08-31 Matthew Heaney <heaney@adacore.com>
2244
2245 * a-rbtgbo.adb (Generic_Allocate): Initialize pointer components of
2246 node to null value.
2247
22482011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
2249
2250 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Provide a more
2251 general description of the routine.
2252
22532011-08-31 Ed Schonberg <schonberg@adacore.com>
2254
2255 * a-cbdlli.adb, a-cbdlli.ads: Add iterator machinery to bounded
2256 doubly-linked lists.
2257
0bb3bfb8
GD
22582011-08-31 Gary Dismukes <dismukes@adacore.com>
2259
2260 * exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant
2261 check is needed for a left-hand side that is a dereference, and the
2262 base type is private without discriminants (whereas the full type does
2263 have discriminants), an extra retrieval of the underlying type may be
2264 needed in the case where the subtype is a record subtype whose base
2265 type is private. Update comments.
2266
11fa950b
AC
22672011-08-31 Javier Miranda <miranda@adacore.com>
2268
2269 * sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is
2270 found check if there is a class-wide subprogram covering the primitive.
2271
22722011-08-31 Yannick Moy <moy@adacore.com>
2273
2274 * sem_res.adb: Further cases where full expansion test is needed,
2275 rather than expansion test.
2276
22772011-08-31 Pascal Obry <obry@adacore.com>
2278
2279 * prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list)
2280
22812011-08-31 Ed Schonberg <schonberg@adacore.com>
2282
2283 * exp_ch5.adb: Handle iterators over derived container types.
2284
22852011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
2286
2287 * einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master.
2288 (Has_Anonymous_Master): New routine.
2289 (Set_Has_Anonymous_Master): New routine.
2290 (Write_Entity_Flags): Add an entry for Has_Anonymous_Master.
2291 * exp_ch4.adb: Add with and use clause for Sem_Ch8.
2292 (Current_Anonymous_Master): New routine.
2293 (Current_Unit_First_Declaration): Removed.
2294 (Current_Unit_Scope): Removed.
2295 (Expand_N_Allocator): Anonymous access-to-controlled types now chain
2296 their objects on a per-unit heterogeneous finalization master.
2297
22982011-08-31 Matthew Heaney <heaney@adacore.com>
2299
2300 * a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets
2301 array.
2302
23032011-08-31 Jose Ruiz <ruiz@adacore.com>
2304
2305 * s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask
2306 when not needed.
2307
23082011-08-31 Gary Dismukes <dismukes@adacore.com>
2309
2310 * sem_disp.adb (Propagate_Tag): Return without propagating in the case
2311 where the actual is an unexpanded call to 'Input.
2312
d2b4b3da
AC
23132011-08-31 Yannick Moy <moy@adacore.com>
2314
2315 * sem_ch4.adb: Code clean up.
2316
23172011-08-31 Yannick Moy <moy@adacore.com>
2318
2319 * exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice.
2320
23212011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
2322
2323 * exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize
2324 and TSS primitive Finalize_Address if finalization is suppressed.
2325 (Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS
2326 primitive Finalize_Address if finalization is suppressed.
2327
23282011-08-31 Jose Ruiz <ruiz@adacore.com>
2329
2330 * s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb,
2331 s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make
2332 sure that the underlying task has already been created before trying
2333 to change its affinity.
2334 (Set_CPU): Use the term processor instead of CPU, as we do in
2335 Assign_Task.
2336
23372011-08-31 Vincent Celier <celier@adacore.com>
2338
2339 * prj-attr.adb: New Compiler attribute Source_File_Switches.
2340 * prj-nmsc.adb (Process_Compiler): Process attribute
2341 Source_File_Switches.
2342 * prj.ads (Language_Config): New name list component
2343 Name_Source_File_Switches.
2344 * snames.ads-tmpl (Name_Source_File_Switches): New standard name.
2345
23462011-08-31 Ed Schonberg <schonberg@adacore.com>
2347
2348 * sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a
2349 discriminated component of an actual, expand at once to prevent
2350 ouf-of-order references with generated subtypes.
2351
23522011-08-31 Yannick Moy <moy@adacore.com>
2353
2354 * lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read
2355 reference to operator in Alfa xrefs.
2356
23572011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
2358
2359 * sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case
2360 where the parent instance was frozen before the current instance due to
2361 the presence of a source body. Update calls to Insert_After_Last_Decl.
2362 (Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance.
2363 Update the comment which illustrates the purpose of the routine.
2364 Package instances are now frozen by source bodies which appear after
2365 the instance. This ensures that entities coming from within the
2366 instance are available for use in the said bodies.
2367 (Install_Body): Add code to handle the case where the parent instance
2368 was frozen before the current instance due to the presence of a source
2369 body. Update calls to Insert_After_Last_Decl.
2370
56812278
AC
23712011-08-31 Jose Ruiz <ruiz@adacore.com>
2372
2373 * s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
2374 access types.
2375 * affinity.c (__gnat_set_affinity_mask): Declare index variable.
2376
23772011-08-31 Yannick Moy <moy@adacore.com>
2378
2379 * sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
2380 full-expander test.
16c3301a
AC
2381 * alfa.adb, alfa.ads, alfa_test.adb, ali.adb, debug.adb, errout.adb,
2382 errout.ads, erroutc.adb, expander.adb, exp_ch4.adb, exp_ch7.adb,
2383 freeze.adb, get_alfa.adb, get_alfa.ads, gnat1drv.adb, lib-writ.adb,
2384 lib-writ.ads, lib-xref.adb, lib-xref.ads, lib-xref-alfa.adb, opt.adb,
2385 opt.ads, put_alfa.adb, put_alfa.ads, restrict.adb, sem_ch12.adb,
2386 sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
2387 sem_prag.adb, sem_res.adb, sem_util.adb: Minor reformatting, renaming
2388 ALFA in Alfa (we dropped acronym).
56812278
AC
2389 * einfo.adb (Primitive_Operations): Correctly return list of primitive
2390 operations in a case where it returned previously No_Elist.
2391
7cda9727
RD
23922011-08-31 Robert Dewar <dewar@adacore.com>
2393
2394 * s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb,
2395 s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads,
2396 sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
2397 s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb,
2398 s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads,
2399 s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor
2400 reformatting.
2401
0a190dfd
AC
24022011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
2403
2404 * sem_ch12 (Check_Private_View): Revert previous change.
2405 * sem_res.adb (Conversion_Check): Do not emit the error message if the
2406 conversion is in a generic instance.
2407
24082011-08-31 Matthew Heaney <heaney@adacore.com>
2409
2410 * a-cbhase.adb (Symmetric_Difference): Dereference correct node array.
2411 * a-chtgbo.adb (Free): Allow 0 as index value.
2412
24132011-08-31 Matthew Heaney <heaney@adacore.com>
2414
2415 * a-cborma.adb (Insert): Add comment to explain why no element
2416 assignment.
2417
24182011-08-31 Gary Dismukes <dismukes@adacore.com>
2419
2420 * sem_util.adb (Find_Body_Discriminal): Test whether the scope of the
2421 spec discriminant is already a concurrent type, in which case just use
2422 it, otherwise fetch the Corresponding_Concurrent_Type as before.
2423
7d266442
EB
24242011-08-30 Eric Botcazou <ebotcazou@adacore.com>
2425
2426 * system-irix-n64.ads, system-linux-armeb.ads, system-linux-armel.ads,
2427 system-linux-mips.ads, system-linux-mipsel.ads,
2428 system-linux-mips64el.ads, system-linux-ppc64.ads,
2429 system-linux-sparcv9.ads, system-rtems.ads: Remove GCC_ZCX_Support.
2430
4f1a975c
EB
24312011-08-30 Eric Botcazou <ebotcazou@adacore.com>
2432
2433 * gcc-interface/ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.
2434 * gcc-interface/utils2.c (build_binary_op): Tighten condition.
2435 (build_unary_op): Likewise.
2436
f2991b48
EB
24372011-08-30 Eric Botcazou <ebotcazou@adacore.com>
2438
2439 * raise-gcc.c: Do not include coretypes.h and tm.h.
2440 (setup_to_install): Remove test for compiler macro.
2441 * targext.c: Document use for the library.
2442 * gcc-interface/Makefile.in: Fix comment on the use of IN_GCC.
2443
10a22f43
EB
24442011-08-30 Eric Botcazou <ebotcazou@adacore.com>
2445
2446 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not convert
2447 the expression to the nominal type if the latter is a record type with
2448 a variant part and the type of the former is a record type without one.
2449
bfa2e39d
AC
24502011-08-30 Yannick Moy <moy@adacore.com>
2451
2452 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
2453 expansion in Alfa mode.
2454 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public
2455 * exp_alfa.adb, exp_alfa.ads: New package defining light expansion for
2456 Alfa mode.
2457 * gnat1drv.adb (Adjust_Global_Switches): Update Comment.
2458 * sem_res.adb: Ditto.
bd34109a 2459 * gcc-interface/Make-lang.in: Update dependencies.
bfa2e39d
AC
2460
24612011-08-30 Thomas Quinot <quinot@adacore.com>
2462
2463 * g-socket.ads: Minor documentation adjustment.
2464
a0347839
AC
24652011-08-30 Robert Dewar <dewar@adacore.com>
2466
2467 * exp_ch9.adb, s-tassta.adb, s-secsta.adb: Minor reformatting.
2468
24692011-08-30 Yannick Moy <moy@adacore.com>
2470
2471 * exp_ch6_light.adb, exp_ch6_light.ads, exp_attr_light.adb,
2472 exp_attr_light.ads, exp_ch7_light.adb, exp_ch7_light.ads,
2473 exp_light.adb, exp_light.ads, exp_prag.adb, expander.adb,
2474 gnat1drv.adb, exp_ch11.adb, exp_ch6.adb, exp_ch6.ads, exp_aggr.adb:
2475 Revert change which introduced files for "light"
2476 expansion, to be replaced by a single file for Alfa expansion.
2477
3597c0e9
RD
24782011-08-30 Robert Dewar <dewar@adacore.com>
2479
2480 * opt.ads, s-soflin.adb, exp_ch9.adb, sem_res.adb: Update comment.
2481 Minor code reorg/reformatting.
2482
da94696d
AC
24832011-08-30 Yannick Moy <moy@adacore.com>
2484
2485 * opt.adb, opt.ads (Full_Expander_Active): New function defines a
2486 common shorthand for (Expander_Active and not ALFA_Mode) that can be
2487 used for testing full expansion, that is active expansion not in the
2488 reduced mode for Alfa
2489 * exp_ch4.adb, exp_ch9.adb, exp_disp.adb, sem_ch10.adb, sem_ch12.adb,
2490 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Use newly defined "flag" instead
2491 of the verbose (Expander_Active and not ALFA_Mode)
2492
24932011-08-30 Tristan Gingold <gingold@adacore.com>
2494
2495 * s-parame-vms-alpha.ads, s-parame-hpux.ads, s-tassta.adb,
2496 s-tarest.adb, s-parame-vms-ia64.ads, s-soflin.adb, s-secsta.adb,
5b8ca141
TG
2497 s-secsta.ads, s-parame.ads, s-parame-vxworks.ads, s-parame-ae653.ads:
2498 Renames Ratio to Percentage, and Sec_Stack_Ratio to Sec_Stack_Percentage
da94696d 2499
c199ccf7
AC
25002011-08-30 Gary Dismukes <dismukes@adacore.com>
2501
2502 * sem_res.adb (Valid_Conversion): Revise test for implicit anonymous
2503 access conversions to check that the conversion is a rewritten node,
2504 rather than just having Comes_From_Source set to False, which wasn't
2505 sufficient.
2506
25072011-08-30 Robert Dewar <dewar@adacore.com>
2508
2509 * exp_ch9.adb, sem_ch9.adb, sem_ch6.adb, exp_disp.adb,
2510 g-socket.ads: Minor reformatting.
2511
25122011-08-30 Thomas Quinot <quinot@adacore.com>
2513
2514 * sem_util.adb: Minor reformatting.
2515
25162011-08-30 Tristan Gingold <gingold@adacore.com>
2517
2518 * raise-gcc.c: Never catch exception if _UA_FORCE_UNWIND flag is set,
2519 to be compliant with the ABI.
2520
dff99e1a
AC
25212011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
2522
2523 * sem_ch12.adb (Check_Private_View): Exchange the private and full view
2524 of a designated type when the related access type is an actual in an
2525 instance. This ensures that the full view of designated type is
2526 available when inside the body of the instance.
2527
25282011-08-30 Ed Schonberg <schonberg@adacore.com>
2529
2530 * sem_util.adb (May_Be_Lvalue): To determine whether a reference may be
2531 in a position to be modified, a slice is treated like an indexed
2532 component.
2533
63be2a5a
AC
25342011-08-30 Thomas Quinot <quinot@adacore.com>
2535
2536 * s-oscons-tmplt.c, g-socket.ads: Adjust maximum allowed value for
2537 field tv_sec in struct timeval.
2538
25392011-08-30 Yannick Moy <moy@adacore.com>
2540
2541 * exp_ch9.adb, exp_disp.adb, sem_ch9.adb, sem_res.adb: Protect several
2542 blocks of code doing full expansion, previously only guarded by
2543 Expander_Active, by anding the test that ALFA_Mode is not set
2544
25452011-08-30 Ed Schonberg <schonberg@adacore.com>
2546
2547 * sem_ch6.adb (Analyze_Return_Type): If the return type is incomplete,
2548 add the function to the list of private dependents, for subsequent
2549 legality check on Taft amendment types.
2550 * sem_ch12.adb (Analyze_Formal_Incomplete_Type): Initialize
2551 Private_Dependents, as for other incomplete types.
2552 * sem_util.adb (Wrong_Type): Avoid cascaded errors when a
2553 Taft-amendment type is used as the return type of a function.
2554
dd54644b
JM
25552011-08-30 Javier Miranda <miranda@adacore.com>
2556
2557 * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup: replace code
2558 which emits an error by a call to a new routine which report the error.
2559 * exp_ch9.adb (Build_Wrapper_Spec): Build the wrapper even if the
2560 entity does not cover an existing interface.
2561 * errout.ads, errout.adb (Error_Msg_PT): New routine. Used to factorize
2562 code.
2563 * sem_ch6.adb (Check_Conformance): Add specific error for wrappers of
2564 protected procedures or entries whose mode is not conformant.
2565 (Check_Synchronized_Overriding): Code cleanup: replace code which emits
2566 an error by a call to a new routine which report the error.
2567
d3ba478e
AC
25682011-08-30 Robert Dewar <dewar@adacore.com>
2569
2570 * gnat_rm.texi: Minor change.
2571 * exp_attr_light.adb: Minor reformatting.
2572
25732011-08-30 Ed Schonberg <schonberg@adacore.com>
2574
2575 * sem_ch3.adb: Patch inheritance of aspects in
2576 Complete_Private_Subtype, to avoid infinite loop.
2577
c01817d2
AC
25782011-08-30 Javier Miranda <miranda@adacore.com>
2579
2580 * sem_ch3.adb (Add_Internal_Interface_Entities): If serious errors have
2581 been reported and a subprogram covering an interface primitive is not
2582 found then skip generating the internal entity. Done to avoid crashing
2583 the frontend.
2584 (Check_Abstract_Overriding): Change text of error of wrong formal of
2585 protected subprogram or entry. Done for consistency to emit exactly the
2586 same error reported by Check_Synchronized_Overriding. In addition, the
2587 error is restricted to protected types (bug found working on AI05-0090)
2588
25892011-08-30 Yannick Moy <moy@adacore.com>
2590
2591 * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
2592 expansion in Alfa mode.
2593 * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public.
2594 * exp_light.adb, exp_light.ads: New package defining light expansion.
2595 * expander.adb (Expand): Call light expansion in Alfa mode
2596 * exp_ch6_light.adb, exp_ch6_light.ads: Light expansion of chapter 6
2597 constructs.
2598 * exp_ch7_light.adb, exp_ch7_light.ads: Light expansion of chapter 7
2599 constructs.
2600 * exp_attr_light.adb, exp_attr_light.ads: Light expansion of attributes
2601 * gnat1drv.adb (Adjust_Global_Switches): Comment
2602
26032011-08-30 Yannick Moy <moy@adacore.com>
2604
2605 * lib-xref-alfa.adb: Minor refactoring.
2606
26072011-08-30 Yannick Moy <moy@adacore.com>
2608
2609 * exp_ch9.adb (Expand_Entry_Barrier): Do not perform expansion in Alfa
2610 mode.
2611 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
2612 expansion in Alfa mode.
2613 * sem_ch9.adb (Analyze_Entry_Body): Do not perform expansion in Alfa
2614 mode.
2615
26162011-08-30 Robert Dewar <dewar@adacore.com>
2617
2618 * debug_a.adb: Update comment.
2619
996c8821
RD
26202011-08-30 Robert Dewar <dewar@adacore.com>
2621
2622 * exp_ch5.adb, sem_ch3.adb, sem_ch5.adb, einfo.adb, checks.adb,
2623 sem_util.adb, sem_util.ads, sem_res.adb, s-stposu.adb, sem_attr.adb,
2624 exp_ch4.adb, exp_ch6.adb, lib-xref-alfa.adb,
2625 sem_ch8.adb, sem_disp.adb, exp_ch3.adb: Minor reformatting
2626
26272011-08-30 Robert Dewar <dewar@adacore.com>
2628
2629 * gnat_rm.texi: Add section on C.6(16) implementation advice for pragma
2630 volatile.
2631
3647ca26
HK
26322011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
2633
2634 * exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to
2635 Build_Finalization_Master by supplying an insertion node and enclosing
2636 scope. In its old version, the call did not generate a finalization
2637 master.
2638 (Expand_Freeze_Record_Type): Add local variable Has_AACC. Add code to
2639 recognize anonymous access-to-controlled components. Rewrite the
2640 machinery which creates finalization masters to service anonymous
2641 access-to-controlled components of a record type. In its current state,
2642 only one heterogeneous master is necessary to handle multiple anonymous
2643 components.
2644 (Freeze_Type): Comment reformatting.
2645 * rtsfind.ads: Add RE_Set_Is_Heterogeneous to tables RE_Id and
2646 RE_Unit_Table.
2647 * s-stposu.adb (Allocate_Any_Controlled): Rewrite the machinery which
2648 associates TSS primitive Finalize_Address with either the master itself
2649 or with the internal hash table depending on the mode of operation of
2650 the master.
2651
6d4e4fbc
JM
26522011-08-30 Javier Miranda <miranda@adacore.com>
2653
2654 * exp_ch3.adb (Make_Eq_If): If the etype of the _parent component is an
2655 interface type then do not generate code to compare this component.
2656 Required since they have no components and their equality operator is
2657 abstract.
2658
d15f9422
AC
26592011-08-30 Steve Baird <baird@adacore.com>
2660
2661 * sem_util.ads (Deepest_Type_Access_Level): New function; for the type
2662 of a saooaaat (i.e, a stand-alone object of an anonymous access type),
2663 returns the (static) accessibility level of the object. Otherwise, the
2664 same as Type_Access_Level.
2665 (Dynamic_Accessibility_Level): New function; given an expression which
2666 could occur as the rhs of an assignment to a saooaaat (i.e., an
2667 expression of an access-to-object type), return the new value for the
2668 saooaaat's associated Extra_Accessibility object.
2669 (Effective_Extra_Accessibility): New function; same as
2670 Einfo.Extra_Accessibility except that object renames are looked through.
2671 * sem_util.adb
2672 (Deepest_Type_Access_Level): New function; see sem_util.ads description.
2673 (Dynamic_Accessibility_Level): New function; see sem_util.ads
2674 description.
2675 (Effective_Extra_Accessibility): New function; see sem_util.ads
2676 description.
2677 * einfo.ads (Is_Local_Anonymous_Access): Update comments.
2678 (Extra_Accessibility): Update comments.
2679 (Init_Object_Size_Align): New procedure; same as Init_Size_Align
2680 except RM_Size field (which is only for types) is unaffected.
2681 * einfo.adb
2682 (Extra_Accessibility): Expand domain to allow objects, not just formals.
2683 (Set_Extra_Accessibility): Expand domain to allow objects, not just
2684 formals.
2685 (Init_Size): Add assertion that we are not trashing the
2686 Extra_Accessibility attribute of an object.
2687 (Init_Size_Align): Add assertion that we are not trashing the
2688 Extra_Accessibility attribute of an object.
2689 (Init_Object_Size_Align): New procedure; see einfo.ads description.
2690 * sem_ch3.adb (Find_Type_Of_Object): Set Is_Local_Anonymous_Access
2691 differently for the type of a (non-library-level) saooaaat depending
2692 whether Ada_Version < Ada_2012. This is the only point where Ada_Version
2693 is queried in this set of changes - everything else (in particular,
2694 setting of the Extra_Accessibility attribute in exp_ch3.adb) is
2695 driven off of the setting of the Is_Local_Anonymous_Access attribute.
2696 The special treatment of library-level saooaaats is an optimization,
2697 not required for correctnesss. This is based on the observation that the
2698 Ada2012 rules (static and dynamic) for saooaaats turn out to be
2699 equivalent to the Ada2005 rules in the case of a library-level saooaaat.
2700 * exp_ch3.adb
2701 (Expand_N_Object_Declaration): If Is_Local_Anonymous_Access is
2702 false for the type of a saooaaat, declare and initialize its
2703 accessibility level object and set the Extra_Accessibility attribute
2704 of the saooaaat to refer to this object.
2705 * checks.adb (Apply_Accessibility_Check): Add Ada 2012 saooaaat support.
2706 * exp_ch4.adb (Expand_N_In): Replace some Extra_Accessibility calls with
2707 calls to Effective_Extra_Accessibility in order to support
2708 renames of saooaaats.
2709 (Expand_N_Type_Conversion): Add new local function,
2710 Has_Extra_Accessibility, and call it when determining whether an
2711 accessibility check is needed.
2712 It returns True iff Present (Effective_Extra_Accessibility (Id)) would
2713 evaluate to True (without raising an exception).
2714 * exp_ch5.adb
2715 (Expand_N_Assignment_Statement): When assigning to an Ada2012
2716 saooaaat, update its associated Extra_Accessibility object (if
2717 it has one). This includes an accessibility check.
2718 * exp_ch6.adb (Add_Call_By_Copy_Code): When parameter copy-back updates
2719 a saooaaat, update its Extra_Accessibility object too (if it
2720 has one).
2721 (Expand_Call): Replace a couple of calls to Type_Access_Level
2722 with calls to Dynamic_Access_Level to handle cases where
2723 passing a literal (any literal) is incorrect.
2724 * sem_attr.adb (Resolve_Attribute): Handle the static accessibility
2725 checks associated with "Saooaat := Some_Object'Access;"; this must
2726 be rejected if Some_Object is declared in a more nested scope
2727 than Saooaat.
2728 * sem_ch5.adb (Analyze_Assignment): Force accessibility checking for an
2729 assignment to a saooaaat even if Is_Local_Anonymous_Access
2730 returns False for its type (indicating a 2012-style saooaaat).
2731 * sem_ch8.adb
2732 (Analyze_Object_Renaming): Replace a call to Init_Size_Align
2733 (which is only appropriate for objects, not types) with a call
2734 of Init_Object_Size_Align in order to avoid trashing the
2735 Extra_Accessibility attribute of a rename (the two attributes
2736 share storage).
2737 * sem_res.adb
2738 (Valid_Conversion) Replace six calls to Type_Access_Level with
2739 calls to Deepest_Type_Access_Level. This is a bit tricky. For an
2740 Ada2012 non-library-level saooaaat, the former returns library level
2741 while the latter returns the (static) accessibility level of the
2742 saooaaat. A type conversion to the anonymous type of a saooaaat
2743 can only occur as part of an assignment to the saooaaat, so we
2744 know that such a conversion must be in a lhs context, so Deepest
2745 yields the result that we need. If such a conversion could occur,
2746 say, as the operand of an equality operator, then this might not
2747 be right. Also add a test so that static accessibilty checks are
2748 performed for converting to a saooaaat's type even if
2749 Is_Local_Anonymous_Access yields False for the type.
2750
27512011-08-30 Javier Miranda <miranda@adacore.com>
2752
2753 * sem_disp.adb (Check_Dispatching_Operation): Complete condition that
2754 controls generation of a warning associated with late declaration of
2755 dispatching functions. Required to avoid generating spurious
2756 warnings.
2757
6cce2156
GD
27582011-08-30 Gary Dismukes <dismukes@adacore.com>
2759
2760 * sem_ch6.adb (Check_Return_Subtype_Indication): Issue error if the
2761 return object has an anonymous access type and the function's type is
2762 a named access type.
2763 * sem_ch8.adb (Analyze_Object_Renaming): Suppress error about renaming
2764 conversions on implicit conversions, since such conversions can occur
2765 for anonymous access cases due to expansion. Issue error for attempt
2766 to rename an anonymous expression as an object of a named access type.
2767 * sem_res.ads (Valid_Conversion): Add defaulted parameter Report_Errs,
2768 to indicate whether this function should report errors on invalid
2769 conversions.
2770 * sem_res.adb (Resolve): For Ada 2012, in the case where the type of
2771 the expression is of an anonymous access type and the expected type is
2772 a named general access type, rewrite the expression as a type
2773 conversion, unless this is an expression of a membership test.
2774 (Valid_Conversion.Error_Msg_N): New procedure that conditions the
2775 calling of Error_Msg_N on new formal Report_Errs.
2776 (Valid_Conversion.Error_Msg_NE): New procedure that conditions the
2777 calling of Error_Msg_NE on new formal Report_Errs.
2778 (Valid_Conversion): Move declaration of this function to the package
2779 spec, to allow calls from membership test processing. For Ada 2012,
2780 enforce legality restrictions on implicit conversions of anonymous
2781 access values to general access types, disallowing such conversions in
2782 cases where the expression has a dynamic accessibility level (access
2783 parameters, stand-alone anonymous access objects, or a component of a
2784 dereference of one of the first two cases).
2785 * sem_type.adb (Covers): For Ada 2012, allow an anonymous access type
2786 in the context of a named general access expected type.
2787 * exp_ch4.adb Add with and use of Exp_Ch2.
2788 (Expand_N_In): Add processing for membership tests applied to
2789 expressions of an anonymous access type. First, Valid_Conversion is
2790 called to check whether the test is statically False, and then the
2791 conversion is expanded to test that the expression's accessibility
2792 level is no deeper than that of the tested type. In the case of
2793 anonymous access-to-tagged types, a tagged membership test is applied
2794 as well.
2795 (Tagged_Membership): Extend to handle access type cases, applying the
2796 test to the designated types.
2797 * exp_ch6.adb (Expand_Call): When creating an extra actual for an
2798 accessibility level, and the actual is a 'Access applied to a current
2799 instance, pass the accessibility level of the type of the current
2800 instance rather than applying Object_Access_Level to the prefix. Add a
2801 ??? comment, since this level isn't quite right either (will eventually
2802 need to pass an implicit level parameter to init procs).
2803
747de90b
AC
28042011-08-30 Bob Duff <duff@adacore.com>
2805
2806 * s-taskin.ads: Minor comment fix.
2807
28082011-08-30 Ed Schonberg <schonberg@adacore.com>
2809
2810 * sem_res.adb (Check_Parameterless_Call): If the node is a selected
2811 component and the selector is a dispatching operation, check if it is
2812 a prefixed call before rewriting as a parameterless function call.
2813
cdc4cc65
JJ
28142011-08-29 Jakub Jelinek <jakub@redhat.com>
2815
2816 * gcc-interface/Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy
2817 tsystem.h into $(RTSDIR) instead of rts.
2818
226a7fa4
AC
28192011-08-29 Robert Dewar <dewar@adacore.com>
2820
2821 * sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor
2822 reformatting.
2823 * gcc-interface/Make-lang.in: Update dependencies.
2824
28252011-08-29 Yannick Moy <moy@adacore.com>
2826
2827 * alfa.ads (Name_Of_Heap_Variable): New constant name.
2828 * lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global
2829 table to hold dereferences.
2830 (Add_ALFA_Xrefs): Take into account dereferences as special
2831 reads/writes to the variable "HEAP".
2832 (Enclosing_Subprogram_Or_Package): Move subprogram here.
2833 (Generate_Dereference): New procedure to store a read/write dereferencew
2834 in the table Drefs.
2835 * put_alfa.adb (Put_ALFA): Use different default than (0,0) used for
2836 the special "HEAP" var.
2837 * sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference
2838 in ALFA mode.
2839 * sem_util.adb (Note_Possible_Modification): Store write dereference
2840 in ALFA mode.
2841
dfbcb149
HK
28422011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
2843
2844 * exp_ch3.adb (Freeze_Type): Generate an accessibility check which
2845 ensures that the level of the subpool access type is not deeper than
2846 that of the pool object.
2847 * sem_util.adb (Object_Access_Level): Expand to handle defining
2848 identifiers.
2849 * sem_res.adb (Resolve_Allocator): Add a guard to avoid examining the
2850 subpool handle name of a rewritten allocator.
2851
1df4f514
AC
28522011-08-29 Robert Dewar <dewar@adacore.com>
2853
2854 * impunit.adb, exp_ch4.adb, s-finmas.adb: Minor reformatting.
2855
28562011-08-29 Thomas Quinot <quinot@adacore.com>
2857
2858 * exp_dist.adb (TC_Rec_Add_Process_Element): For a choice with multiple
2859 values, we generate multiple triples of parameters in the TypeCode.
2860 Bump Choice_Index for each such triple so that a subsequent default
2861 choice is associated with the correct index in the typecode.
2862
28632011-08-29 Ed Schonberg <schonberg@adacore.com>
2864
2865 * a-cdlili.adb (Iterate): Initialize properly an iterator over a null
2866 container.
2867 (First, Last): Handle properly an iterator over a null container.
2868
28692011-08-29 Bob Duff <duff@adacore.com>
2870
2871 * sem_ch10.adb (Analyze_With_Clause,Install_Withed_Unit): Abandon
2872 processing if we run across a node with no Scope. This can happen if
2873 we're with-ing an library-level instance, and that instance got errors
2874 that caused "instantiation abandoned".
2875 * sem_util.adb (Unit_Declaration_Node): Make it more robust, by raising
2876 an exception instead of using Assert, so it won't go into an infinite
2877 loop, even when assertions are turned off.
2878
28792011-08-29 Ed Schonberg <schonberg@adacore.com>
2880
2881 * a-coorse.adb: Proper handling of empty ordered sets.
2882
14f0f659
AC
28832011-08-29 Johannes Kanig <kanig@adacore.com>
2884
2885 * debug.adb: Add comments.
2886
8027b455
AC
28872011-08-29 Thomas Quinot <quinot@adacore.com>
2888
2889 * a-except.adb, a-except-2005.adb: Minor comment rewording and
2890 reformatting.
2891
28922011-08-29 Yannick Moy <moy@adacore.com>
2893
2894 * sem_ch3.adb (Array_Type_Declaration): Remove insertion of
2895 declaration for Itypes in Alfa mode.
2896
d85fd922
AC
28972011-08-29 Robert Dewar <dewar@adacore.com>
2898
2899 * a-cdlili.ads, a-coinve.ads, a-coorma.adb, a-coorma.ads, s-tassta.adb,
2900 a-cborma.adb, a-cborma.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
2901 a-cborse.ads, a-cobove.adb, a-cobove.ads, a-cbhase.ads: Minor
2902 reformatting.
2903
29042011-08-29 Tristan Gingold <gingold@adacore.com>
2905
2906 * exp_ch7.adb, exp_ch7.ads (Build_Exception_Handler): Move its spec to
2907 package spec.
2908 * exp_intr.adb (Expand_Unc_Deallocation): Use Build_Exception_Handler.
2909 * a-except.adb, a-except-2005.adb (Rcheck_22): Do not defer aborts
2910 while raising PE.
2911
fd3d2680
AC
29122011-08-29 Robert Dewar <dewar@adacore.com>
2913
2914 * a-cbhama.adb, a-cbhama.ads: Minor reformatting.
2915
29162011-08-29 Javier Miranda <miranda@adacore.com>
2917
2918 * sem_ch8.adb (Analyze_Subprogram_Renaming): Complete support for
2919 renamings of formal subprograms when the actual for a formal type is
2920 class-wide.
2921
dfbf013f
MH
29222011-08-29 Matthew Heaney <heaney@adacore.com>
2923
2924 * a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment
2925 to Target.
2926
29272011-08-29 Matthew Heaney <heaney@adacore.com>
2928
2929 * a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all
2930 components of record type.
2931 * a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw
2932 to Target.
2933
a6dd3a54
ES
29342011-08-29 Ed Schonberg <schonberg@adacore.com>
2935
2936 * a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb,
2937 a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to
2938 container packages.
2939
c54796e0
AC
29402011-08-29 Robert Dewar <dewar@adacore.com>
2941
2942 * sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
2943 reformatting.
2944
29452011-08-29 Matthew Heaney <heaney@adacore.com>
2946
2947 * a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
2948 components of record type.
2949
29502011-08-29 Bob Duff <duff@adacore.com>
2951
2952 * s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
2953 by the termination handler.
2954
9fd9d2be
AC
29552011-08-29 Yannick Moy <moy@adacore.com>
2956
2957 * sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
2958 created in Alfa mode, instead of inserting artificial declarations of
2959 non-Itypes in the tree.
2960 * sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to
2961 know if an Itype has a corresponding declaration, as defined in
2962 itypes.ads.
2963
29642011-08-29 Yannick Moy <moy@adacore.com>
2965
2966 * gnat1drv.adb: Minor rewrite.
2967
29682011-08-29 Bob Duff <duff@adacore.com>
2969
2970 * s-tasuti.adb (Make_Passive): Work around race condition in
2971 Make_Independent, which can cause Wait_Count to be zero. So instead of
2972 asserting that Wait_Count > 0, and then decrementing it, decrement it
2973 only if Wait_Count > 0.
2974 * s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these
2975 should be nonnegative, so declare them Natural instead of Integer.
2976
833eaa8a
AC
29772011-08-29 Robert Dewar <dewar@adacore.com>
2978
2979 * exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb,
2980 sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb,
2981 a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb,
2982 a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb,
2983 exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting.
2984
29852011-08-29 Tristan Gingold <gingold@adacore.com>
2986
2987 * s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels.
2988
29892011-08-29 Vadim Godunko <godunko@adacore.com>
2990
2991 * s-parint.ads: Minor comment clarification.
2992
29932011-08-29 Vincent Celier <celier@adacore.com>
2994
2995 * prj.adb (Initialize): Make sure that new reserved words after Ada 95
2996 may be used as identifiers.
2997
29982011-08-29 Ed Schonberg <schonberg@adacore.com>
2999
3000 * a-coinho.ads: Minor reformating.
3001
3a613a36
AC
30022011-08-29 Ed Schonberg <schonberg@adacore.com>
3003
3004 * exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a
3005 container of a derived type.
3006
3a613a36
AC
30072011-08-29 Ed Schonberg <schonberg@adacore.com>
3008
3009 * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
3010 a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers.
3011
14848f57
AC
30122011-08-29 Pascal Obry <obry@adacore.com>
3013
3014 * exp_disp.adb: Minor comment fix.
3015 (Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters
3016 to avoid warnings when compiling with -Wall.
3017 (Make_Disp_Conditional_Select_Body): Likewise.
3018 (Make_Disp_Timed_Select_Body): Likewise.
3019
30202011-08-29 Ed Schonberg <schonberg@adacore.com>
3021
3022 * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is
3023 an entity name, generate reference for it.
3024
30252011-08-29 Ed Schonberg <schonberg@adacore.com>
3026
3027 * exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S"
3028 iterator form.
3029 * sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for
3030 the class-wide type.
3031 * sem_ch5.adb: Move some rewriting to the expander, where it belongs.
3032
30332011-08-29 Ed Schonberg <schonberg@adacore.com>
3034
3035 * sem_ch8.adb (Check_Constrained_Object): Do not create an actual
3036 subtype for an object whose type is an unconstrained union.
3037
30382011-08-29 Ed Schonberg <schonberg@adacore.com>
3039
3040 * par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased"
3041 is allowed in a component definition, by AI95-406.
3042
30432011-08-29 Matthew Heaney <heaney@adacore.com>
3044
3045 * a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next.
3046
30472011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3048
3049 * a-except-2005.adb: Alphabetize all routines.
3050 (Triggered_By_Abort): New routine.
3051 * a-except-2005.ads (Triggered_By_Abort): New routine.
3052 * a-except.adb Alphabetize all routines.
3053 (Triggered_By_Abort): New routine.
3054 * a-except.ads (Triggered_By_Abort): New routine.
3055 * exp_ch7.adb: Update all comments involving the detection of aborts in
3056 finalization code.
3057 (Build_Object_Declarations): Do not generate code to detect the
3058 presence of an abort at the start of finalization code, use a runtime
3059 routine istead.
3060 * rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and
3061 RE_Unit_Table.
3062 * sem_res.adb (Resolve_Allocator): Emit a warning when attempting to
3063 allocate a task on a subpool.
3064 * s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use.
3065 The flag disables all actions related to the maintenance of
3066 Finalize_Address_Table when subpools are not in use.
3067 (Allocate_Any_Controlled): Signal the machinery that subpools are in
3068 use.
3069 (Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which
3070 performs costly task locking when subpools are not in use.
3071
57a8057a
AC
30722011-08-29 Yannick Moy <moy@adacore.com>
3073
3074 * gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged
3075 types and dispatching calls in Alfa mode.
3076 * lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of
3077 correspondance between body and spec scopes, to reuse utility functions
3078 (Traverse_Declarations_Or_Statements): Protect access to body for stub
3079 by testing the presence of the library unit for the body
3080 * sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa
3081 mode the expansion of accept statements is skipped
3082 * sem_util.adb, sem_util.ads (Unique_Entity): New function returning
3083 the unique entity corresponding to the one returned by
3084 Unique_Defining_Entity applied to the enclosing declaration of the
3085 argument.
3086
30872011-08-29 Bob Duff <duff@adacore.com>
3088
3089 * treepr.ads: Improve debugging facilities. pn(x) no longer crashes in
3090 gdb when x is not a node (it can be a node list, name_id, etc). pp is
3091 an alias for pn. ppp is an alias for pt.
3092
30932011-08-29 Javier Miranda <miranda@adacore.com>
3094
3095 * exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing
3096 aggregate to take a consistent decision on the need to convert into
3097 assignments aggregates that initialize constant objects.
3098
30992011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3100
3101 * exp_ch4.adb (Expand_Allocator_Expression): Add a call to
3102 Build_Allocate_Deallocate_Proc in order to handle allocation of
3103 non-controlled objects on subpools.
3104 * impunit.adb: Remove s-finmas and s-spsufi since they were never meant
3105 to be end-user visible.
3106 * s-finmas.adb: Add with and use clause for System.HTable.
3107 Add an instantiation of Simple_HTable which provides a mapping between
3108 the address of a controlled object and the corresponding
3109 Finalize_Address used to clean up the object. The table is used when a
3110 master is operating in heterogeneous mode.
3111 (Attach): Explain why the input node is not verified on being already
3112 attached.
3113 (Delete_Finalize_Address): New routine.
3114 (Detach): Add pragma Assert which ensures that a node is already
3115 attached.
3116 (Finalize): Add local variable Cleanup. Rewrite the iteration scheme
3117 since nodes are no longer removed on traversal. Explain why node
3118 detachment is undesirable in this case.
3119 (Get_Finalize_Address): New routine.
3120 (Hash): New routine.
3121 (Is_Empty_List): Removed.
3122 (pm): Renamed to Print_Master. Add output for discriminant
3123 Is_Homogeneous.
3124 Comment reformatting.
3125 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
3126 * s-finmas.ads: Various comments additions / improvements.
3127 Type Finalization_Master has a discriminant which determines the mode of
3128 operation.
3129 (Delete_Finalize_Address): New routine.
3130 (Get_Finalize_Address): New routine.
3131 (pm): Renamed to Print_Master.
3132 (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
3133 * s-stposu.adb: Add with clause for System.Address_Image; Add with and
3134 use clause for System.IO.
3135 (Allocate_Any_Controlled): Add machinery to set TSS primitive
3136 Finalize_Address depending on the mode of allocation and the mode of
3137 the master.
3138 (Deallocate_Any_Controlled): Remove the relation pair object -
3139 Finalize_Address regardless of the master mode. Add comment explaining
3140 the reason.
3141 (Detach): Ensure that fields Prev and Next are null after detachment.
3142 (Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration
3143 scheme to check whether the list of subpools is empty. There is no
3144 longer need to store the next subpool or advance the current pointer.
3145 (Is_Empty_List): New routine.
3146 (Print_Pool): New routine.
3147 (Print_Subpool): New routine.
3148 * s-stposu.ads: Various comments additions / improvements.
3149 Field Master of type Root_Subpool is now a heterogeneous collection.
3150 (Print_Pool): New routine.
3151 (Print_Subpool): New routine.
3152
31532011-08-29 Ed Schonberg <schonberg@adacore.com>
3154
3155 * exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator
3156 forms, using aspects of container types.
3157 * sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and
3158 Has_Implicit_Dereference flags, that may be set on the partial view.
3159 * sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a
3160 container type with an indexing aspect.
3161 (Analyze_Quantified_Expression): Analyze construct with expansion
3162 disabled, because it will be rewritten as a loop during expansion.
3163 (Try_Container_Indexing): The prefix itself may be a container type
3164 with an indexing aspect, as with a vector of vectors.
3165 * sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze
3166 the original doamin of iteration, for name capture.
3167 (Analyze_Iterator_Specification): If the domain is an expression that
3168 needs finalization, create a separate declaration for it.
3169 For an iterator with "of" retrieve default iterator info from aspect of
3170 container type. For "in" iterator, retrieve type of Iterate function.
3171 * sem_ch13.adb (Check_Iterator_Function): Fix typo.
3172 (Check_Aspect_At_End_Of_Declaration): Make type unfrozen before
3173 analysis, to prevent spurious errors about late attributes.
3174 * sprint.adb: Handle quantified expression with either loop or iterator
3175 specification.
3176 * a-convec.ads, a-convec.adb: Iterate function returns a reversible
3177 iterator.
3178
ddf67a1d
AC
31792011-08-29 Vincent Celier <celier@adacore.com>
3180
3181 * make.adb (Scan_Make_Arg): Take any option as is in packages Compiler,
3182 Binder or Linker of the main project file.
3183
31842011-08-29 Ed Schonberg <schonberg@adacore.com>
3185
3186 * inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic
3187 unit.
3188
31892011-08-29 Yannick Moy <moy@adacore.com>
3190
3191 * exp_ch9.adb: Partial revert of previous change for Alfa mode
3192
31932011-08-29 Yannick Moy <moy@adacore.com>
3194
3195 * exp_ch11.adb: Minor expansion of comment.
3196
31972011-08-29 Yannick Moy <moy@adacore.com>
3198
3199 * lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities.
3200
32012011-08-29 Ed Schonberg <schonberg@adacore.com>
3202
3203 * sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal
3204 interpretation, set the type before resolving the operands, because
3205 legality checks on an exponention operand need to know the type of the
3206 context.
3207
32082011-08-29 Ed Schonberg <schonberg@adacore.com>
3209
3210 * sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed
3211 cleanups on a master if the instance is within a generic unit.
3212 Complement to the corresponding fix to inline.adb for K520-030.
3213
32142011-08-29 Tristan Gingold <gingold@adacore.com>
3215
3216 * exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current
3217 occurrence.
3218 * exp_intr.adb: Minor comment fix.
3219
32202011-08-29 Bob Duff <duff@adacore.com>
3221
3222 * sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where
3223 Delay_Required was used as an uninitialized variable.
3224
690943fc
RD
32252011-08-29 Robert Dewar <dewar@adacore.com>
3226
3227 * a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads,
3228 sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb,
3229 a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting.
3230
9f0ee988
TQ
32312011-08-29 Thomas Quinot <quinot@adacore.com>
3232
3233 * system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True.
3234 Remove unused variables.
3235
3e24afaa
AC
32362011-08-29 Ed Schonberg <schonberg@adacore.com>
3237
3238 * sem_res.adb: Remove Build_Explicit_Dereference.
3239 * sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here
3240 from sem_res.adb, used in analysis of additional constructs.
3241 (Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012
3242 expansion of iterators.
3243 (Is_Object_Reference): Recognize variables rewritten as explicit
3244 dereferences in Ada2012.
3245 * snames.ads-tmpl: Add Has_Element, Forward_Iterator,
3246 Reversible_Iterator names, for expansion of Ada2012 iterators.
3247 * aspects.ads, aspects.adb (Find_Aspect): Utility.
3248 * a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly
3249 linked list container.
3250 * a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers.
3251 * a-coorse.ads, a-coorse.adb: Ditto for ordered sets.
3252
32532011-08-29 Ed Schonberg <schonberg@adacore.com>
3254
3255 * a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map
3256 containers.
3257
32582011-08-29 Vincent Celier <celier@adacore.com>
3259
3260 * make.adb (Gnatmake): Get the maximum number of simultaneous
3261 compilation processes after the Builder switches has been scanned, as
3262 there may include -jnn.
3263
32642011-08-29 Matthew Heaney <heaney@adacore.com>
3265
3266 * a-chtgbo.adb (Generic_Equal): Use correct overloading of Next.
3267
32682011-08-29 Tristan Gingold <gingold@adacore.com>
3269
3270 * gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of
3271 GNAT_DRIVER_COMMAND_LINE to 255.
3272
32732011-08-29 Pascal Obry <obry@adacore.com>
3274
3275 * freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor
3276 reformatting and style fix (class attribute casing).
3277
32782011-08-29 Yannick Moy <moy@adacore.com>
3279
3280 * exp_ch11.adb: Yet another case where expansion should be common
3281 between CodePeer and Alfa.
3282
32832011-08-29 Yannick Moy <moy@adacore.com>
3284
3285 * exp_ch9.adb: Partial revert of previous change for Alfa mode.
3286
32872011-08-29 Ed Schonberg <schonberg@adacore.com>
3288
3289 * sem_ch6.adb (Matches_Limited_With_View): The limited views of an
3290 incomplete type and its completion match.
3291
3ddd922e
AC
32922011-08-29 Yannick Moy <moy@adacore.com>
3293
3294 * exp_ch13.adb: Adjust previous change.
3295
32962011-08-29 Robert Dewar <dewar@adacore.com>
3297
3298 * sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
3299 exp_ch4.adb, sem_ch8.adb: Minor code reorganization
3300 Minor reformatting.
3301
444acbdd
AC
33022011-08-29 Emmanuel Briot <briot@adacore.com>
3303
3304 * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also
3305 initialize aggregated projects.
3306
33072011-08-29 Ed Schonberg <schonberg@adacore.com>
3308
3309 * sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope
3310 depth of candidates to resolve a potentially spurious ambiguity between
3311 two visible subprograms.
3312
e0296583
AC
33132011-08-29 Yannick Moy <moy@adacore.com>
3314
3315 * sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without
3316 Requires/Ensures.
3317 * sem_util.adb (Get_Ensures_From_Test_Case_Pragma,
3318 Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without
3319 Requires/Ensures.
3320
33212011-08-29 Arnaud Charlet <charlet@adacore.com>
3322
3323 * gnat1drv.adb (Adjust_Global_Switches): Improve previous change.
3324 Add comment.
3325
33262011-08-29 Thomas Quinot <quinot@adacore.com>
3327
3328 * sem_res.adb: Minor reformatting.
3329
69794413
JK
33302011-08-29 Johannes Kanig <kanig@adacore.com>
3331
3332 * exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
3333 mode.
3334 * gnat1drv.adb (Adjust_Global_Switches): Set
3335 Use_Expressions_With_Actions to False in ALFA mode.
3336 * sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
3337 ALFA mode.
3338
59e6b23c
AC
33392011-08-29 Yannick Moy <moy@adacore.com>
3340
3341 * exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
3342 * exp_ch9.adb: Do not expand tasking constructs in Alfa mode.
3343 * gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of
3344 tagged types and dispatching calls in Alfa mode.
3345
33462011-08-29 Javier Miranda <miranda@adacore.com>
3347
3348 * sem_ch3.adb (Process_Discriminants): Add missing check to ensure that
3349 we do not report an error on an Empty node.
3350
33512011-08-29 Geert Bosch <bosch@adacore.com>
3352
3353 * Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o,
3354 a-nlrear.o and a-nurear.o.
3355
33562011-08-29 Robert Dewar <dewar@adacore.com>
3357
3358 * freeze.adb: Minor code reorganization.
3359 Minor reformatting.
3360 * sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb,
3361 sem_ch6.adb: Minor reformatting
3362
33632011-08-29 Tristan Gingold <gingold@adacore.com>
3364
3365 * s-except.ads, s-except.adb: Provide dummy body.
3366
33672011-08-29 Yannick Moy <moy@adacore.com>
3368
3369 * sem_warn.adb (Within_Postcondition): Take into account the case of
3370 an Ensures component in a Test_Case.
3371
4d792549
AC
33722011-08-29 Tristan Gingold <gingold@adacore.com>
3373
3374 * s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
3375 * rtsfind.ads (RTU_Id): Replaces System_Exceptions by
3376 System_Exceptions_Debug
3377 (RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
3378 * a-except.adb: With and use System.Exceptions_Debug instead of
3379 System.Exceptions.
3380 * a-except-2005.adb: Likewise.
3381 * s-assert.adb: Likewise.
3382 * s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
3383 * Makefile.rtl: Add s-excdeb. Adjust compilation rule.
3384 * gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
3385 s-excdeb. Update dependencies.
3386 (GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
3387 as these no longer need external libraries.
3388
33892011-08-29 Ed Schonberg <schonberg@adacore.com>
3390
3391 * sem_res.adb (Resolve_Op_Expon): Additional check to reject an
3392 exponentiation operator on universal values in a context that requires
3393 a fixed-point type.
3394
33952011-08-29 Tristan Gingold <gingold@adacore.com>
3396
3397 * raise-gcc.c (personnality_routine): Fix thinko. Set Ada occurrence
3398 before calling notify_handled_exception.
3399 * a-exextr.adb: Fix comment.
3400
b254da66
AC
34012011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3402
3403 * exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
3404 Finalize_Address of the access type's finalization master.
3405 (Expand_N_Allocator): Add code to set attribute Finalize_Address of the
3406 access type's finalization master. Add a guard to prevent
3407 Associated_Storage_Pool from being set on .NET/JVM.
3408 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
3409 attribute Finalize_Address of the access type's finalization master.
3410 * exp_ch7.adb (Make_Finalize_Address_Call): New routine.
3411 * exp_ch7.ads (Make_Finalize_Address_Call): New routine.
3412 * rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
3413 RE_Unit_Table.
3414 * s-finmas.adb: Add with clause for System.Address_Image. Add with and
3415 use clause for System.IO
3416 (Detach): Relax the assertion, to be reinstated later.
3417 (Finalize): Rewrite the iteration loop to avoid pointer comparison.
3418 Relax the assertion on Finalize_Address, to be reinstated later.
3419 (Is_Empty_List): New routine.
3420 (pm): New debug routine.
3421 (Set_Finalize_Address): New routine.
3422 * s-finmas.ads (pm): New debug routine.
3423 (Set_Finalize_Address): New routine.
3424 * s-stposu.adb (Allocate_Any_Controlled): Code reformatting.
3425
34262011-08-29 Tristan Gingold <gingold@adacore.com>
3427
3428 * a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
3429 Remove convention C.
3430
34312011-08-29 Tristan Gingold <gingold@adacore.com>
3432
3433 * s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
3434 (Initialize_TCB): Remove Exc_Stack_Ptr initialization.
3435 (Finalize_TCB): Remove its finalization.
3436 (Initialize): Remove assignment of GET_Exc_Stack_Addr
3437 * s-soflin.adb (NT_Exc_Stack): Remove
3438 (Get_Exc_Stack_Addr_NT): Likewise.
3439 (Get_Exc_Stack_Addr_Soft): Likewise.
3440 * s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
3441 (Get_Exc_Stack_Addr): Likewise.
3442 (Get_Exc_Stack_Addr_Soft): Likewise
3443 * s-taspri-vms.ads (Exc_Stack_T): Remove.
3444 (Exc_Stack_Ptr_T): Likewise.
3445 (Private_Data): Remove Exc_Stack_Ptr component.
3446
34472011-08-29 Tristan Gingold <gingold@adacore.com>
3448
3449 * raise-gcc.c (get_ip_from_context): New function. Factorize code.
3450
34512011-08-29 Tristan Gingold <gingold@adacore.com>
3452
3453 * gnat_ugn.texi: Fix aix and x86-solaris info for run-time.
3454
34552011-08-29 Geert Bosch <bosch@adacore.com>
3456
3457 * s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
3458 L2_Norm, Swap_Column): New generic subprograms
3459 * s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
3460 L2_Norm, Swap_Column): Implement new subprograms in order to
3461 eliminate dependency on BLAS and LAPACK libraries in
3462 Ada.Numerics.Generic_Real_Arrays and eventually also the complex
3463 version. Forward_Eliminate/Back_Substitute can be used to put a
3464 matrix in row echelon or reduced row echelon form using partial
3465 pivoting.
3466 * a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
3467 Swap_Column): Instantiate from System.Generic_Array_Operations.
3468 ("*", "abs"): Implement by instantiation from Generic_Array_Operations.
3469 (Sqrt): Local function for simple computation of square root without
3470 adding dependencies on Generic_Elementary_Functions.
3471 (Swap): New subprogram to exchange floating point numbers.
3472 (Inverse): Reimplement using Jordan-Gauss elimination.
3473 (Jacobi): New procedure implementing Jacobi's method for computation
3474 of eigensystems, based on Rutishauser's implementation.
3475 (L2_Norm): Implement directly using the inner product.
3476 (Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
3477 decreasing eigenvalue as required by the Ada RM.
3478 (Swap_Column): New helper procedure for Sort_Eigensystem.
3479 Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
3480 Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
3481 Sort_Eigensystems.
3482
34832011-08-29 Thomas Quinot <quinot@adacore.com>
3484
3485 * put_scos.adb (Put_SCOs): Do not emit a newline for an empty
3486 statements line.
3487
60370fb1
AC
34882011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3489
3490 * s-finmas.adb (Finalize): Check Finalize_Address of the master rather
3491 than the current node.
3492 * s-finmas.ads: Move field Finalize_Address from type FM_Node to
3493 Finalization_Master. The list headers have two fields instead of three.
3494 This should fix alignment issue but subpool allocations are now
3495 unusable. Alphabetize subprograms.
3496 * s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
3497 the size of the header when converting the beginning of the object to
3498 a FM_Node. Set the master's Finalize_Address attribute if not already
3499 set.
3500 (Deallocate_Any_Controlled): Use the offset rather than the size of the
3501 header when converting the beginning of the object to a FM_Node.
3502
35032011-08-29 Gary Dismukes <dismukes@adacore.com>
3504
3505 * exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
3506 reraise when compiling for CodePeer.
3507
35082011-08-29 Arnaud Charlet <charlet@adacore.com>
3509
3510 * a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
3511 now needed by a-convec.adb. Fix warning.
3512
35132011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3514
3515 * exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
3516 processing of TSS routine Finalize_Address when compiling in
3517 CodePeer_Mode.
3518
35192011-08-29 Thomas Quinot <quinot@adacore.com>
3520
3521 * a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
3522 sem_warn.adb: Minor reformatting.
3523
35242011-08-29 Emmanuel Briot <briot@adacore.com>
3525
3526 * prj-conf.adb (Get_Config_Switches): Also collect the list of
3527 languages from aggregated projects.
3528
35292011-08-29 Yannick Moy <moy@adacore.com>
3530
3531 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
3532 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
3533 Traverse_Package_Declaration, Traverse_Subprogram_Body,
3534 Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
3535 for stubs are traversed too when parameter is set
3536 (Traverse_All_Compilation_Units): Traverse without going inside stubs
3537 (Traverse_Declarations_Or_Statements): Do the special traversing for
3538 stubs when required.
3539 * sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
3540 return subprogram or package body from stub.
3541 (Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
3542 stubs without prior subprogram decl.
3543
35442011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
3545
3546 * gnat_ugn.texi: Fix typo.
3547
e9c9d122
HK
35482011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3549
3550 * s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism
3551 which accounts for size vs alignment issues and calculates the size of
3552 the list header.
3553 (Deallocate_Any_Controlled): Ditto.
3554 (Nearest_Multiple_Rounded_Up): New routine.
3555
25ebc085
AC
35562011-08-29 Tristan Gingold <gingold@adacore.com>
3557
3558 * a-exstat.adb (String_To_EO): Do no set Cleanup_Flag.
3559 * a-exexda.adb (Set_Exception_C_Msg): Ditto.
3560 (Set_Exception_Msg): Ditto.
3561 * a-exexpr-gcc.adb (Setup_Current_Excep): Ditto. Do not set
3562 Private_Data.
3563 * a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove.
3564 Use Save_Occurrence instead of Save_Occurrence_No_Private.
3565 (Raise_With_Msg): Remove Cleanup_Flag.
3566 * a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove
3567 Clean_Flag and Private_Data components.
3568
35692011-08-29 Yannick Moy <moy@adacore.com>
3570
3571 * freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like
3572 in CodePeer mode.
3573 * sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation
3574 of an explicitly declared type, so that the base types of the original
3575 type and this generated type are the same, and a "type" (not a subtype
3576 like previously).
3577 * errout.adb (Special_Msg_Delete): Do not issue messages "Size too
3578 small" in Alfa mode, like in CodePeer mode.
3579 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep
3580 clauses in Alfa mode.
3581
35822011-08-29 Javier Miranda <miranda@adacore.com>
3583
3584 * exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this
3585 function to the package spec.
3586 * sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For
3587 internally generated bodies of null procedures locate the internally
3588 generated spec enforcing mode conformance.
3589 (Is_Interface_Conformant): Ensure that the controlling formal of the
3590 primitives match.
3591
35922011-08-29 Ed Schonberg <schonberg@adacore.com>
3593
3594 * sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not
3595 reject the pragma if it appears to apply to a formal subprogram.
3596
35972011-08-29 Ed Schonberg <schonberg@adacore.com>
3598
3599 * exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for
3600 inner expression, to prevent double evaluation.
3601
590549fb
AC
36022011-08-29 Tristan Gingold <gingold@adacore.com>
3603
3604 * a-exexpr.adb (Propagate_Exception): Remove all the parameters as
3605 they were unused.
3606 * a-exexpr-gcc.adb (Propagate_Exception): Ditto.
3607 * a-except-2005.adb (Propagate_Exception): Adjust spec.
3608 (Raise_Current_Excep): Adjust call.
3609 (Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.
3610
36112011-08-29 Thomas Quinot <quinot@adacore.com>
3612
3613 * exp_disp.adb: Minor reformatting.
3614
62380e66
TG
36152011-08-29 Tristan Gingold <gingold@adacore.com>
3616
3617 * a-exexpr.adb (Setup_Exception): Removed.
3618 * a-exexpr-gcc.adb (Setup_Exception): Removed.
3619 * a-except.adb (Exception_Propagation): Removed.
3620 * a-except-2005.adb (Setup_Exception): Removed.
3621 (Reraise): Remove call to Setup_Exception.
3622 (Reraise_Occurrence): Ditto.
3623 (Reraise_Occurrence_Always): Ditto.
3624 (Reraise_Occurrence_No_Defer): Ditto.
3625 (Transfer_Occurrence): Ditto.
3626 * a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
3627 (Set_Exception_Msg): Ditto.
3628
c95aa61c
AC
36292011-08-29 Robert Dewar <dewar@adacore.com>
3630
3631 * a-convec.adb, exp_disp.adb: Minor reformatting.
3632
36332011-08-29 Tristan Gingold <gingold@adacore.com>
3634
3635 * a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C.
3636
624e1688
AC
36372011-08-29 Gary Dismukes <dismukes@adacore.com>
3638
3639 * exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set
3640 Exception_Handlers to No_List instead of Empty_List in the case where
3641 there are no handlers.
3642
36432011-08-29 Tristan Gingold <gingold@adacore.com>
3644
3645 * gcc-interface/gigi.h (enum standard_datatypes): Add
3646 ADT_reraise_zcx_decl
3647 (reraise_zcx_decl): New macro.
3648 * gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable.
3649 (gigi): Set reraise_zcx_decl.
3650 (Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr.
3651 (gnat_to_gnu): Handle N_Raise_Statement.
3652
7134062a
AC
36532011-08-29 Robert Dewar <dewar@adacore.com>
3654
3655 * sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads,
3656 a-undesu.adb: Minor reformatting.
3657
36582011-08-29 Ed Schonberg <schonberg@adacore.com>
3659
3660 * exp_disp.adb (Check_Premature_Freezing): When building a dispatch
3661 table, accept an unfrozen untagged component if it is an actual for a
3662 formal incomplete type.
3663 * a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to
3664 provide new iterator forms over vectors.
3665 Introduce type Iterator in package body to implement operations of
3666 Reversible_Iterator interface.
3667 * a-iteint.ads: Make package pure so it is usable with new container
3668 packages, that are categorized Remote_Types.
3669
ca5af305
AC
36702011-08-29 Robert Dewar <dewar@adacore.com>
3671
3672 * a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting.
3673
36742011-08-29 Bob Duff <duff@adacore.com>
3675
3676 * sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case
3677 of <>, because this is the routine that checks for dimensionality
3678 errors (for example, for a two-dimensional array, (others => <>) should
3679 be (others => (others => <>)).
3680
36812011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3682
3683 * impunit.adb: Add new run-time units.
3684 * freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb,
3685 s-stposu.ads, s-stposu.adb: Code clean up.
3686 Handle protected class-wide or task class-wide types
3687 Handle C/C++/CIL/Java types.
3688 * s-spsufi.adb, s-spsufi.ads: New files.
3689
5accd7b6
AC
36902011-08-29 Yannick Moy <moy@adacore.com>
3691
3692 * sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on
3693 library-level subprogram.
3694 * sem_prag.adb (Check_Test_Case): Stricter rules for test-case
3695 placement.
3696 (Analyze_Pragma): Change name "Normal" for "Nominal" in test-case
3697 component.
3698 * snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case
3699 component.
3700 * gnat_rm.texi: Update doc for Test_Case pragma.
3701
37022011-08-29 Tristan Gingold <gingold@adacore.com>
3703
3704 * a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it
3705 convention C.
3706 (GCC_Exception_Access): New type.
3707 (Unwind_DeleteException): New imported procedure
3708 (Foreign_Exception): Import it.
3709 (GNAT_GCC_Exception): Simply have the occurrence inside.
3710 (To_GCC_Exception): New function.
3711 (To_GNAT_GCC_Exception): New function.
3712 (GNAT_GCC_Exception_Cleanup): New procedure..
3713 (Propagate_GCC_Exception): New procedure.
3714 (Reraise_GCC_Exception): New procedure.
3715 (Setup_Current_Excep): New procedure.
3716 (CleanupUnwind_Handler): Change type of UW_Exception parameter.
3717 (Unwind_RaiseException): Ditto.
3718 (Unwind_ForcedUnwind): Ditto.
3719 (Remove): Removed.
3720 (Begin_Handler): Change type of parameter.
3721 (End_Handler): Ditto. Now delete the exception if still present.
3722 (Setup_Key): Removed.
3723 (Is_Setup_And_Not_Propagated): Removed.
3724 (Set_Setup_And_Not_Propagated): Ditto.
3725 (Clear_Setup_And_Not_Propagated): Ditto.
3726 (Save_Occurrence_And_Private): Ditto.
3727 (EID_For): Add 'not null' constraint on parameter.
3728 (Setup_Exception): Does nothing.
3729 (Propagate_Exception): Simplified.
3730 * exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model,
3731 re-raise is not expanded anymore.
3732 * s-except.ads (Foreign_Exception): New exception - placeholder for
3733 non Ada exceptions.
3734 * raise-gcc.c (__gnat_setup_current_excep): Declare
3735 (CXX_EXCEPTION_CLASS): Define (not yet used)
3736 (GNAT_EXCEPTION_CLASS): Define.
3737 (is_handled_by): Handle foreign exceptions.
3738 (PERSONALITY_FUNCTION): Call __gnat_setup_current_excep.
3739
37402011-08-29 Jose Ruiz <ruiz@adacore.com>
3741
3742 * a-synbar.adb (Synchronous_Barrier): Some additional clarification.
3743
2ef48385
AC
37442011-08-29 Thomas Quinot <quinot@adacore.com>
3745
3746 * a-synbar-posix.adb: Minor reformatting.
3747
37482011-08-29 Jose Ruiz <ruiz@adacore.com>
3749
3750 * a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads,
3751 a-exetim-default.ads (Interrupt_Clocks_Supported,
3752 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
3753 definitions to be compliant with AI-0171. The target systems do not
3754 support separate account for the execution time of interrupt handlers.
3755
37562011-08-29 Jose Ruiz <ruiz@adacore.com>
3757
3758 * a-synbar.adb (Wait): Change the order of evaluation of the conditions
3759 in the barrier to put first the easiest to evaluate (and the one which
3760 will be True more often). More efficient.
3761
37622011-08-29 Eric Botcazou <ebotcazou@adacore.com>
3763
3764 * s-atocou-x86.adb: Fix constraint in machine code insertion.
3765
37662011-08-29 Bob Duff <duff@adacore.com>
3767
3768 * aspects.ads, aspects.adb: Add new aspects for various pragmas and
3769 attributes that are now aspects, as specified by AI05-0229-1.
3770 * sem_ch13.adb (Analyze_Aspect_Specifications,
3771 Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into
3772 pragmas or attribute references, as appropriate.
3773
0db16b1e
AC
37742011-08-29 Robert Dewar <dewar@adacore.com>
3775
3776 * a-synbar.ads, a-synbar.adb, a-synbar-posix.adb,
3777 a-synbar-posix.ads: Minor reformatting.
3778
37792011-08-29 Yannick Moy <moy@adacore.com>
3780
3781 * snames.ads-tmpl: Add name Force.
3782
978ffe02
AC
37832011-08-29 Pascal Obry <obry@adacore.com>
3784
3785 * prj-nmsc.adb: Minor reformatting.
3786
37872011-08-29 Jose Ruiz <ruiz@adacore.com>
3788
3789 * a-exetim.ads (Interrupt_Clocks_Supported,
3790 Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
3791 definitions to be compliant with AI-0171.
3792
37932011-08-29 Robert Dewar <dewar@adacore.com>
3794
3795 * a-ngelfu.adb: Add comments.
3796
718f39dc
AC
37972011-08-29 Geert Bosch <bosch@adacore.com>
3798
3799 * a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is
3800 the closest machine number to Pi / 2.0.
3801
38022011-08-29 Jose Ruiz <ruiz@adacore.com>
3803
3804 * impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012
3805 package Ada.Synchronous_Barriers.
3806 * a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb:
3807 Add new specs and bodies for Ada.Synchronous_Barriers. There is a
3808 default implementation using protected objects and another one
3809 a-synbar-posix using POSIX barriers as the underlying support.
3810 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86,
3811 x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of
3812 Ada.Synchronous_Barriers which uses POSIX barriers (more efficient).
3813 Clean up dependencies.
3814 * Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o
3815
ee2e3f6b
AC
38162011-08-29 Robert Dewar <dewar@adacore.com>
3817
3818 * sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb,
3819 exp_dist.adb: Minor code reorganization.
3820 Minor reformatting.
3821
38222011-08-29 Thomas Quinot <quinot@adacore.com>
3823
3824 * sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW
3825 primitive operation must support external streaming if it is not a
3826 controlling access result.
3827
646e2823
AC
38282011-08-29 Thomas Quinot <quinot@adacore.com>
3829
3830 * sinfo.ads, sem_ch7.adb: Minor reformatting.
3831
38322011-08-29 Bob Duff <duff@adacore.com>
3833
3834 * sem_ch4.adb (Analyze_Allocator): Check No_Nested_Finalization
3835 restriction on allocators, as required by AI05-0013-1.
3836 * restrict.ads: Minor comment fix.
3837
5d59eef2
AC
38382011-08-29 Tristan Gingold <gingold@adacore.com>
3839
3840 * a-exexpr.adb, a-except-2005.ads (Jmpbuf_Address): Move to a-exexpr.adb
3841 (To_Jmpbuf_Address): Ditto
3842 (builtin_longjmp): Ditto
3843
38442011-08-29 Thomas Quinot <quinot@adacore.com>
3845
3846 * sem_res.adb: Minor reformatting.
3847
38482011-08-29 Vincent Celier <celier@adacore.com>
3849
3850 * make.adb (Gnatmake): Move special processing for VM targets after the
3851 call to Get_Target_Parameters.
3852
38532011-08-29 Thomas Quinot <quinot@adacore.com>
3854
3855 * sem_ch12.adb, par-ch12.adb: Minor reformatting.
3856
949a18cc
AC
38572011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
3858
3859 * sem_res.adb (Resolve_Allocator): Implement Ada2012-B052. Detect cases
3860 where an anonymous access discriminant of a limited designated type
3861 appears in a non-immutably limited discriminated type and issue an
3862 error message. Add local variable Desig_T and replace all occurrences
3863 of Designated_Type.
3864
38652011-08-29 Jose Ruiz <ruiz@adacore.com>
3866
3867 * a-rttiev.adb (Set_Handler): Update comment to indicate that our
3868 implementation is compliant to RM D.15(15/2) after the modification
3869 imposed by AI05-0094-1 (binding interpretation).
3870
cb25faf8
AC
38712011-08-29 Robert Dewar <dewar@adacore.com>
3872
3873 * exp_ch9.adb, s-tasren.adb, exp_sel.adb, exp_sel.ads, exp_ch11.adb,
3874 s-interr-hwint.adb, s-tpobop.adb, sem_ch13.adb: Minor reformatting.
3875
38762011-08-29 Thomas Quinot <quinot@adacore.com>
3877
3878 * par-endh.adb (Check_End): For an END where it is mandatory to repeat
3879 the scope name, do not report a missing label as a style violation (it
3880 will be diagnosed as an illegality).
3881 * exp_dist.adb (Add_Params_For_Variant_Components): Fix handling of
3882 variant records: Get_Enum_Lit_From_Pos already returns a usage
3883 occurrence of the literal, no need to use New_Occurrence_Of. Set Etype
3884 on Expr in Integer_Literal case so that it can be used by
3885 Build_To_Any_Call.
3886
1d10f669
AC
38872011-08-29 Tristan Gingold <gingold@adacore.com>
3888
3889 * exp_sel.ads (Build_Abort_BLock_Handler): New function spec.
3890 Adjust comment.
3891 * exp_sel.adb (Build_Abort_Block): Use Build_Abort_Block_Handler.
3892 (Build_Abort_Block_Handler): New function to build an Abort_Signal
3893 exception handler.
3894 * exp_ch9.adb (Expand_N_Asynchronous_Select): Call
3895 Build_Abort_Block_Handler to build the exception handler. Do not
3896 undefer aborts for the Abort_Signal exception handler if back-end
3897 exception mechanism.
3898 * exp_ch11.adb (Expand_Exception_Handlers): Do not undefer aborts if
3899 back_end exceptions for all others and abort_signal.
3900 * s-except.ads (ZCX_By_Default): New constant.
3901 * a-except-2005.adb (Raise_Exception): Do not defer abort if ZCX.
3902 (Raise_Exception_Always): Ditto.
3903 (Raise_From_Signal_Handler): Ditto.
3904 (Raise_With_Location_And_Msg): Ditto.
3905 (Raise_With_Msg): Ditto.
3906 (Reraise): Ditto.
3907 (Reraise_Occurence): Ditto.
3908 (Reraise_Occurrence_Always): Ditto.
3909 * s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
3910 * s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
1d10f669
AC
3911
39122011-08-29 Thomas Quinot <quinot@adacore.com>
3913
3914 * sem_util.ads (Get_Enum_Lit_From_Pos): Clarify documentation.
3915
d986066d
AC
39162011-08-29 Robert Dewar <dewar@adacore.com>
3917
3918 * snames.adb-tmpl, sem_ch13.adb: Minor reformatting
3919 Minor code reorganization.
3920
39212011-08-29 Bob Duff <duff@adacore.com>
3922
3923 * usage.adb (-gnatwy): Fix documentation: this switch applies to Ada
3924 2012, not just Ada 2005.
3925
39262011-08-29 Vincent Celier <celier@adacore.com>
3927
3928 * gnat_ugn.texi: Indicate that when the compiler is called by gnatmake
3929 with a project file or with gprbuid, if -gnatep= is specified, the
3930 builder may need to be invoked with -x.
3931
39322011-08-29 Tristan Gingold <gingold@adacore.com>
3933
3934 * a-exexpr-gcc.adb: Minor comment fix.
3935
ff4f0ed0
AC
39362011-08-29 Robert Dewar <dewar@adacore.com>
3937
3938 * sem_ch8.adb: Minor reformatting.
3939
39402011-08-29 Bob Duff <duff@adacore.com>
3941
3942 * par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
3943 * par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
3944 treating "some" as unreserved in earlier Ada versions. This is now
3945 handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
3946 rather than Name_Some, since Tok_Some is now recognized as reserved.
3947 * scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
3948 reserved word.
3949 * scans.ads: Minor comment fixes.
3950 * snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
3951 for other language versions.
3952 * scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
3953 treating "some" as unreserved in earlier Ada versions. This is now
3954 handled in Snames.Is_Keyword_Name.
3955 * par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
3956 Ada 2012.
3957 (P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
3958 unreserved in earlier Ada versions. This is now handled in
3959 Snames.Is_Keyword_Name.
3960 * snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
3961 words as for other language versions.
3962 * gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
3963 Ada 2012, not just Ada 2005.
3964
d941cee6
AC
39652011-08-29 Ed Schonberg <schonberg@adacore.com>
3966
3967 * sem_ch13.adb: Additional semantic checks for aspects involved in
3968 iterators.
3969
39702011-08-29 Matthew Heaney <heaney@adacore.com>
3971
3972 * a-comutr.ads, a-comutr.adb, a-cimutr.ads, a-cimutr.adb,
3973 a-cbmutr.ads, a-cbmutr.adb (Find_In_Subtree): Remove superfluous
3974 Container parameter.
3975 (Ancestor_Find): ditto.
3976
b970af39
TQ
39772011-08-29 Thomas Quinot <quinot@adacore.com>
3978
3979 * par-endh.adb: Minor reformatting.
d941cee6 3980
92db5dee
AC
39812011-08-29 Tristan Gingold <gingold@adacore.com>
3982
3983 * a-exexpr-gcc.adb (Unwind_Action) Rewrite as an integer with constants.
3984 (GNAT_GCC_Exception): Remove N_Cleanups_To_Trigger component.
3985 (Adjust_N_CLeanups_For): Remove.
3986 (CleanupUnwind_Handler): Call Unhandled_Exception_Terminate when end of
3987 stack is reached.
3988 (Propgate_Exception): Adjust.
3989 * raise-gcc.c: Add a few static/const.
3990 (Adjust_N_Cleanups_For): Remove declaration.
3991 (PERSONALITY_FUNCTION): Remove code dealing with N_Cleanups_To_Trigger.
3992
39932011-08-29 Ed Schonberg <schonberg@adacore.com>
3994
3995 * sem_ch8.adb: Use type of function return when rewriting as object
3996 declaration.
3997
1378bf10
AC
39982011-08-29 Gary Dismukes <dismukes@adacore.com>
3999
4000 * sem_type.adb: Minor reformatting.
4001
40022011-08-29 Robert Dewar <dewar@adacore.com>
4003
4004 * makeutl.adb: Minor reformatting.
4005
40062011-08-29 Ed Schonberg <schonberg@adacore.com>
4007
4008 * sem_ch8.adb (Analyze_Object_Renaming): If the renamed object is a
4009 function call of a limited type, the expansion of the renaming is
4010 complicated by the presence of various temporaries and subtypes that
4011 capture constraints of the renamed object.
4012 Rewrite node as an object declaration, whose expansion is simpler.
4013 Given that the object is limited there is no copy involved and no
4014 performance hit.
4015
164e06c6
AC
40162011-08-29 Robert Dewar <dewar@adacore.com>
4017
4018 * exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
4019 freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.
4020
40212011-08-29 Tristan Gingold <gingold@adacore.com>
4022
4023 * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
4024 system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
4025 system-linux-hppa.ads, system-linux-s390.ads,
4026 system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
4027 system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
4028 system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads,
4029 system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads,
4030 system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads,
4031 system-solaris-sparc.ads, system-lynxos-x86.ads,
4032 system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
4033 system-solaris-x86_64.ads, system-mingw-x86_64.ads,
4034 system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
4035 system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
7d266442 4036 system-vxworks-x86.ads: Remove GCC_ZCX_Support.
164e06c6
AC
4037 * s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
4038 s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
4039 * opt.ads: Adjust comment.
4040 * targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
4041 * gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
4042 * system.ads: Move GCC_ZCX_Support to obsolete entries.
4043
40442011-08-29 Emmanuel Briot <briot@adacore.com>
4045
4046 * makeutl.adb (Do_Complete): Resolve symbolic links when a relative
4047 file name is specified on the gnatmake or gprbuild command line, and
4048 before we search for that file in the project.
4049
40502011-08-29 Ed Schonberg <schonberg@adacore.com>
4051
4052 * sem_type.adb (Within_Instance): New predicate in Collect_Interps,
4053 used to determine whether a possible interpretation for an overloadable
4054 entity is declared within the current instantiation and should be
4055 included in the candidate set.
4056
40572011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
4058
4059 * gnat_rm.texi, gnat_ugn.texi: Clean ups.
4060
97216ca8
ES
40612011-08-29 Ed Schonberg <schonberg@adacore.com>
4062
4063 * sem_res.adb (Resolve_Actuals): Use base type to determine whether an
4064 access subtype is access_to_subprogram, when applying checks for
4065 RM 3.10.2 (27).
4066
d3cb4cc0
AC
40672011-08-29 Matthew Heaney <heaney@adacore.com>
4068
4069 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Splice_Subtree): Only check
4070 for sibling when common parent.
4071
40722011-08-29 Thomas Quinot <quinot@adacore.com>
4073
4074 * get_scos.adb: Literals of Pragma_Id are pragma names prefixed with
4075 "pragma_".
4076
40772011-08-29 Ed Schonberg <schonberg@adacore.com>
4078
4079 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Enable freeze actions
4080 for the return type when in ASIS mode.
4081
40822011-08-29 Vincent Celier <celier@adacore.com>
4083
4084 * make.adb (Gnatmake): Get the default search dirs, then the target
4085 parameters after getting the Builder switches, as the Builder switches
4086 may include --RTS= and that could change the default search dirs.
4087
40882011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
4089
4090 * exp_ch7.adb (Make_Adjust_Call): Rewrite to mimic the structure of
4091 Make_Final_Call. Move the processing for class-wide types before the
4092 processing for derivations from [Limited_]Controlled.
4093 (Make_Final_Call): Move the processing for class-wide types before the
4094 processing for derivations from [Limited_]Controlled.
4095 * s-stposu.adb (Allocate_Any_Controlled): Correct the membership check.
4096 Add code to account for alignments larger than the list header. Add a
4097 comment illustrating the structure of the allocated object + padding +
4098 header.
4099 (Deallocate_Any_Controlled): Add code to account for alignments larger
4100 than the list header.
4101
41022011-08-29 Ed Schonberg <schonberg@adacore.com>
4103
4104 * sinfo.ads, sinfo.adb: New node kind
4105 N_Formal_Incomplete_Type_Definition, related flags.
4106 par-ch12.adb (P_Formal_Type_Declaration, G_Formal_Type_Definition):
4107 Parse formal incomplete types.
4108 * sem.adb (Analyze): Formal_Incomplete_Type_Definitions are handled in
4109 sem_ch12.
4110 * sem_ch7.adb (Analyze_Package_Specification, Unit_Requires_Body):
4111 Formal incomplete types do not need completion.
4112 * sem_ch12.adb (Analyze_Formal_Incomplete_Type,
4113 Validate_Incomplete_Type_Instance): New procedures to handle formal
4114 incomplete types.
4115 * freeze.adb (Freeze_Entity): Do not freeze the subtype of an actual
4116 that corresponds to a formal incomplete type.
4117 * sprint.adb: Handle formal incomplete type declarations.
4118 * exp_util.adb (Insert_Actions): An incomplete_type_definition is not
4119 an insertion point.
4120
d3f70b35
AC
41212011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
4122
4123 * a-fihema.ads, a-fihema.adb: Unit removed.
4124 * a-undesu.ads, a-undesu.adb: New unit implementing
4125 Ada.Unchecked_Deallocate_Subpool.
4126 * einfo.adb: Remove Associated_Collection from the node usage.
4127 Add Finalization_Master to the node usage.
4128 (Associated_Collection): Removed.
4129 (Finalization_Master): New routine.
4130 (Set_Associated_Collection): Removed.
4131 (Set_Finalization_Master): New routine.
4132 (Write_Field23_Name): Remove Associated_Collection from the output. Add
4133 Finalization_Master to the output.
4134 * einfo.ads: Remove attribute Associated_Collection and its uses in
4135 entities.
4136 Add new attribute Finalization_Master along with its uses in entitites.
4137 (Associated_Collection): Removed along with its pragma import.
4138 (Finalization_Master): New routine along with a pragma import.
4139 (Set_Associated_Collection): Removed along with its pragma import.
4140 (Set_Finalization_Master): New routine along with a pragma import.
4141 * exp_ch3.adb (Expand_Freeze_Array_Type): Replace call to
4142 Build_Finalization_Collection with Build_Finalization_Master.
4143 (Expand_Freeze_Record_Type): Move the generation of Finalize_Address
4144 before the bodies of the predefined routines. Add comment explaining
4145 this. Replace call to Build_Finalization_Collection with
4146 Build_Finalization_Master.
4147 (Freeze_Type): Replace call to Build_Finalization_Collection with
4148 Build_Finalization_Master.
4149 (Make_Finalize_Address_Body): Comment reformatting.
4150 (Make_Predefined_Primitive_Specs): Code reformatting.
4151 (Stream_Operation_OK): Update comment mentioning finalization
4152 collections. Replace RE_Finalization_Collection with
4153 RE_Finalization_Master.
4154 * exp_ch4.adb (Complete_Controlled_Allocation): Replace call to
4155 Associated_Collection with Finalization_Master. Replace call to
4156 Build_Finalization_Collection with Build_Finalization_Master.
4157 (Expand_Allocator_Expression): Replace call to Associated_Collection
4158 with Finalization_Master. Replace call to Set_Associated_Collection with
4159 Set_Finalization_Master. Remove the generation of
4160 Set_Finalize_Address_Ptr.
4161 (Expand_N_Allocator): Replace call to Associated_Collection with
4162 Finalization_Master. Remove the generation of Set_Finalize_Address_Ptr.
4163 * exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Renamed to
4164 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Update the
4165 comment on usage. Replace call to Needs_BIP_Collection with
4166 Needs_BIP_Finalization_Master Remplace BIP_Collection with
4167 BIP_Finalization_Master. Update all comments which mention finalization
4168 collections. Replace Associated_Collection with
4169 Finalization_Master. Replace Build_Finalization_Collection with
4170 Build_Finalization_Master.
4171 (BIP_Formal_Suffix): Update BIP_Collection's case.
4172 (Build_Heap_Allocator): Update the related comment. Rename local
4173 variable Collect to Fin_Mas_Id and update its occurrences. Update
4174 comments which mention finalization collections. Replace
4175 Set_Associated_Collection with Set_Finalization_Master.
4176 (Expand_Call): Update the code which detects a special piece of library
4177 code for .NET/JVM.
4178 (Make_Build_In_Place_Call_In_Allocator): Replace the call to
4179 Add_Collection_Actual_To_Build_In_Place_Call with
4180 Add_Finalization_Master_Actual_To_Build_In_Place_Call. Remove the code
4181 which generates a call to Make_Set_Finalize_Address_Ptr_Call.
4182 (Make_Build_In_Place_Call_In_Anonymous_Context): Replace call to
4183 Add_Collection_Actual_To_Build_In_Place_Call with
4184 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
4185 (Make_Build_In_Place_Call_In_Assignment): Replace call to
4186 Add_Collection_Actual_To_Build_In_Place_Call with
4187 Add_Finalization_Master_Actual_To_Build_In_Place_Call.
4188 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
4189 * exp_ch6.ads: Rename BIP_Collection to BIP_Finalization_Master.
4190 (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
4191 * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Update comment on usage.
4192 Rename local variable Collect to Fin_Mas_Id and update its occurrences.
4193 Replace call to Set_Associated_Collection with Set_Finalization_Master.
4194 (Build_Finalization_Collection): Renamed to Build_Finalization_Master.
4195 Replace the call to Associated_Collection with Finalization_Master.
4196 Rename local variable Coll_Id to Fin_Mas_Id and update its occurrences.
4197 Update the way finalization master names are generated. Update the
4198 retrieval of the correct access type which will carry the pool and
4199 master attributes.
4200 (Make_Final_Call): Reimplement the way [Deep_]Finalize is retrieved.
4201 (Make_Finalize_Address_Body): Abstract types do not need
4202 Finalize_Address. Code reformatting.
4203 (Make_Finalize_Address_Stmts): Update comment on usage.
4204 (Make_Set_Finalize_Address_Ptr_Call): Removed.
4205 (Process_Declarations): Update comments.
4206 * exp_ch7.ads (Build_Finalization_Collection): Renamed to
4207 Build_Finalization_Master. Update associated comment.
4208 (Make_Set_Finalize_Address_Ptr_Call): Removed.
4209 * exp_ch13.adb: Update comments which mention finalization collections.
4210 (Expand_N_Free_Statement): Replace the call to Associated_Collection
4211 with Finalization_Master.
4212 * exp_util.adb (Build_Allocate_Deallocate_Proc): Reimplemented to
4213 create calls to routines Allocate_Any_Controlled and
4214 Deallocate_Any_Controlled.
4215 (Find_Finalize_Address): New routine.
4216 (Is_Allocate_Deallocate_Proc): Update the RTE entities used in the
4217 comparison.
4218 (Requires_Cleanup_Actions): Update the comment on freeze node
4219 inspection.
4220 * exp_util.ads: Remove comment on generated code for
4221 Build_Allocate_Deallocate_Proc. The code is now quite complex and it
4222 is better to simply look in the body.
4223 * freeze.adb (Freeze_All): Update the comment of finalization
4224 collections. Replace the call to Associated_Collection with
4225 Finalization_Master. Replace the call to Build_Finalization_Collection
4226 with Build_Finalization_Master.
4227 * impunit.adb: Add a-undesu and s-stposu to the list of units.
4228 * Makefile.rtl: Add files a-undesu, s-finmas and s-stposu. Remove file
4229 a-fihema.
4230 * rtsfind.adb (Get_Unit_Name): Remove the processing for children of
4231 Ada.Finalization. Add processing for children of System.Storage_Pools.
4232 * rtsfind.ads: Remove the naming of second level children of
4233 Ada.Finalization.
4234 Remove Ada_Finalization_Heap_Management from the list of units.
4235 Remove subtype Ada_Finalization_Child.
4236 Remove the following subprogram entities:
4237
4238 RE_Allocate
4239 RE_Deallocate
4240 RE_Finalization_Collection
4241 RE_Finalization_Collection_Ptr
4242 RE_Set_Finalize_Address_Ptr
4243
4244 Add the naming of second level children of System.Storage_Pools.
4245 Add System_Finalization_Masters and System_Storage_Pools_Subpools to
4246 the list of units.
4247 Add subtype System_Storage_Pools_Child.
4248 Add the following subprogram entities to System.Finalization_Masters:
4249
4250 RE_Finalization_Master
4251 RE_Finalization_Master_Ptr
4252
4253 Add the following subprogram entities to System.Storage_Pools.Subpools:
4254
4255 RE_Allocate_Any_Controlled
4256 RE_Deallocate_Any_Controlled
4257 RE_Root_Storage_Pool_With_Subpools
4258 RE_Root_Subpool
4259 RE_Subpool_Handle
4260
4261 Move the following subprogram entities from
4262 Ada.Finalization.Heap_Management to System.Finalization_Masters:
4263
4264 RE_Add_Offset_To_Address
4265 RE_Attach
4266 RE_Base_Pool
4267 RE_Detach
4268
4269 * sem_ch3.adb (Access_Type_Declaration): Replace the call to
4270 Set_Associated_Collection with Set_Finalization_Master.
4271 * sem_ch6.adb (Create_Extra_Formals): Update the way extra formal
4272 BIP_Finalization_Master is created.
4273 * s-finmas.adb: New unit System.Finalization_Masters.
4274 * s-finmas.ads: New unit System.Finalization_Masters.
4275 * s-stopoo.ads, s-stopoo.adb: Minor code reformatting.
4276 * s-stposu.ads, s-stposu.adb: New unit implementing
4277 System.Storage_Pools.Subpools.
4278
42792011-08-29 Bob Duff <duff@adacore.com>
4280
4281 * tbuild.adb: Add assertion.
4282
8c889ae4
AC
42832011-08-29 Thomas Quinot <quinot@adacore.com>
4284
4285 * s-pooglo.adb: Minor reformatting.
4286
42872011-08-29 Ed Schonberg <schonberg@adacore.com>
4288
4289 * exp_ch5.adb (Expand_N_Assignment_Statement): if the left-hand side is
4290 an indexed component of a packed array whose element type is a record
4291 with a representation clause different from that of the right-hand
4292 side, generate a temporary to minimuze the number of bit-field
4293 operations generated.
4294
42952011-08-29 Ed Schonberg <schonberg@adacore.com>
4296
4297 * exp_util.adb (Insert_Actions): Use clauses can be part of lists of
4298 declarations, and thus are likely insertion points for actions.
4299
43002011-08-29 Bob Duff <duff@adacore.com>
4301
4302 * einfo.ads: Minor comment fix.
4303
1a07a71a
AC
43042011-08-29 Robert Dewar <dewar@adacore.com>
4305
4306 * frontend.adb, gnat1drv.adb: Minor reformatting.
4307
43082011-08-29 Tristan Gingold <gingold@adacore.com>
4309
4310 * s-pooglo.adb (Allocate, Deallocate): Take into account the alignment.
4311 * a-fihema.adb (Allocate, Deallocate): Ditto. Possibly add padding
4312 space in front of the header.
4313
4bcd6411
JK
43142011-08-29 Johannes Kanig <kanig@adacore.com>
4315
4316 * frontend.adb (Frontend): Exit after creating Standard package when
4317 -gnatd.H is present.
4318 * gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
4319 present.
4320
f0f88eb6
RD
43212011-08-29 Robert Dewar <dewar@adacore.com>
4322
4323 * exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb,
4324 makeutl.adb, makeutl.ads, atree.ads, snames.adb-tmpl,
4325 snames.ads-tmpl: Minor reformatting.
4326
3e37be71
PG
43272011-08-29 Philippe Gil <gil@adacore.com>
4328
4329 * prj.adb (Reset_Units_In_Table): New procedure.
4330 Reset units to avoid access to freed memory.
4331
94fb7608
AC
43322011-08-29 Thomas Quinot <quinot@adacore.com>
4333
4334 * get_scos.adb: When reading a P statement SCO without a pragma name
4335 (from an older ALI file), ensure that the Pragma_Name component is set
4336 to Unknown_Pragma (not left uninitialized).
4337
43382011-08-29 Vincent Celier <celier@adacore.com>
4339
4340 * makeutl.adb (Get_Directories): New procedure moved from Buildgpr and
4341 modified to compute correctly the object path of a SAL project that is
4342 extending another library project.
4343 (Write_Path_File): New procedure.
4344 * makeutl.ads (Directories): New table moved from Buildgpr
4345 (Get_Directories): New procedure moved from Buildgpr
4346 (Write_Path_File): New procedure
4347 * mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the
4348 paths before binding SALs, instead of Set_Ada_Paths.
4349 * prj-env.adb (Set_Path_File_Var): Procedure has been moved to package
4350 Prj.
4351 * prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env
4352 (Current_Source_Path_File_Of): New function
4353 (Set_Current_Object_Path_File_Of): New procedure
4354 (Current_Source_Object_File_Of): New function
4355 (Set_Current_Object_Path_File_Of): New procedure
4356 * prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env
4357 (Current_Source_Path_File_Of): New function
4358 (Set_Current_Object_Path_File_Of): New procedure
4359 (Current_Source_Object_File_Of): New function
4360 (Set_Current_Object_Path_File_Of): New procedure
4361
43622011-08-29 Ed Schonberg <schonberg@adacore.com>
4363
4364 * exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a
4365 packed entity, use a bit-field assignment only if there is no change of
4366 representation.
4367
c5ecd6b7
AC
43682011-08-29 Thomas Quinot <quinot@adacore.com>
4369
4370 * rtsfind.ads, exp_ch3.adb (In_Runtime): Minor code improvement, use
4371 Is_RTU instead of using Chars comparisons.
4372
43732011-08-29 Thomas Quinot <quinot@adacore.com>
4374
4375 * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do not create a
4376 temporary object if the actual is constrained, and the discriminants
4377 read from the stream don't match.
4378
43792011-08-29 Tristan Gingold <gingold@adacore.com>
4380
4381 * sem_attr.adb, exp_attr.adb: Add handling of
4382 Attribute_System_Allocator_Alignment
4383 * snames.ads-tmpl: Add Name_System_Allocator_Alignment and
4384 Attribute_System_Allocator_Alignment.
4385 * ttypes.ads, get_targ.ads: Add Get_System_Allocator_Alignment.
4386 * gcc-interface/targtyps.c, gcc-interface/utils2.c,
4387 gcc-interface/gigi.h: Renames get_target_default_allocator_alignment to
4388 get_target_system_allocator_alignment.
4389
43902011-08-29 Arnaud Charlet <charlet@adacore.com>
4391
4392 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
4393 dependencies.
4394
8abdac29
AC
43952011-08-29 Arnaud Charlet <charlet@adacore.com>
4396
4397 * exp_ch3.adb (In_Runtime): Fix typo.
4398
df170605
AC
43992011-08-29 Bob Duff <duff@adacore.com>
4400
4401 * sem_ch4.adb (Analyze_Allocator): Analyze the subpool specification.
4402
44032011-08-29 Ed Schonberg <schonberg@adacore.com>
4404
4405 * exp_ch3.adb (Expand_N_Object_Declaration): If the entity is tagged
4406 and a separate tag assignment is generated, ensure that the tag
4407 assignment is analyzed.
4408
864a4236
ES
44092011-08-29 Ed Schonberg <schonberg@adacore.com>
4410
4411 * atree.ads, atree.adb (Copy_Separate_List): New function that applies
4412 Copy_Separate_Tree to a list of nodes. Used to create disjoint copies
4413 of statement lists that may contain local declarations.
df170605
AC
4414 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Use Copy_Separate_List to
4415 duplicate the triggering statements needed for the expansion of this
4416 construct, when the trigger is a dispatching call to a synchronized
4417 primitive.
864a4236 4418
7f394c1d
AC
44192011-08-29 Arnaud Charlet <charlet@adacore.com>
4420
4421 * gnat_rm.texi: Add doc for 'Elab_Subp_Body.
4422 * bindgen.adb: Add comments.
4423 * snames.adb-tmpl (Is_Attribute_Name): Only recognize 'Elab_Subp_Body
4424 in CodePeer mode.
4425
2c1a2cf3
RD
44262011-08-29 Robert Dewar <dewar@adacore.com>
4427
4428 * exp_attr.adb: Minor reformatting.
4429 Minor code reorganization and commenting.
4430 * par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
4431 reformatting.
4432
0bfc9a64
AC
44332011-08-29 Thomas Quinot <quinot@adacore.com>
4434
4435 * get_scos.adb: Ignore chaining indicators not currently supported
4436 by Ada.
4437
44382011-08-29 Arnaud Charlet <charlet@adacore.com>
4439
4440 * system.ads: Minor editing.
4441
44422011-08-29 Arnaud Charlet <charlet@adacore.com>
4443
4444 * bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in
4445 CodePeer mode.
4446 * sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of
4447 Attribute_Elab_Subp_Body.
4448 * snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New.
4449 * sem_util.adb: Update comments.
4450
828d4cf0
TQ
44512011-08-29 Thomas Quinot <quinot@adacore.com>
4452
4453 * par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record
4454 pragma name for each SCO statement corresponding to a pragma.
4455
5cd7bb15
AC
44562011-08-29 Arnaud Charlet <charlet@adacore.com>
4457
4458 * opt.ads: Minor editing.
4459
44602011-08-29 Yannick Moy <moy@adacore.com>
4461
4462 * gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
4463 that only made sense for CodePeer mode.
4464
44652011-08-29 Jose Ruiz <ruiz@adacore.com>
4466
4467 * targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
4468 which is no longer used.
4469 * targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
4470 handling of the 64-bit division check.
4471 * exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
4472 division available.
4473 * system*.ads (Support_64_Bit_Divides): Remove this flag which is no
4474 longer used.
4475
44762011-08-29 Thomas Quinot <quinot@adacore.com>
4477
4478 * get_scos.adb: Minor reformatting.
4479
25b589cb
AC
44802011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
4481
4482 * exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
4483 statement list is wrapped in a block, the block is explicitly analyzed
4484 in order to properly redecorate the entities and create a servicing
4485 finalizer.
4486
44872011-08-29 Tristan Gingold <gingold@adacore.com>
4488
4489 * sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
4490 (Set_Zero_Cost_Handling): Remove.
4491
44922011-08-29 Thomas Quinot <quinot@adacore.com>
4493
4494 * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting
4495
1197ddb1
AC
44962011-08-29 Geert Bosch <bosch@adacore.com>
4497
4498 * s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
4499 instruction, as the latter may produce -0.0, which is not a valid VAX
4500 F float number.
4501 (Neg_G): Likewise for VAX F float.
4502
45032011-08-29 Robert Dewar <dewar@adacore.com>
4504
4505 * exp_util.adb: Minor reformatting.
4506
45072011-08-29 Yannick Moy <moy@adacore.com>
4508
4509 * sem_ch3.adb: Minor comment update.
4510
45112011-08-29 Thomas Quinot <quinot@adacore.com>
4512
4513 * checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
4514 the operand type.
4515
45162011-08-29 Thomas Quinot <quinot@adacore.com>
4517
4518 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
4519 current statement sequence on a generic instantiation or a subprogram
4520 declaration.
4521
8f66cda7
AC
45222011-08-29 Robert Dewar <dewar@adacore.com>
4523
4524 * sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
4525 Minor reformatting.
4526
45272011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
4528
4529 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
4530 Correct the check which involves the freeze node of a controlled or
4531 access-to-controlled type.
4532
45332011-08-29 Geert Bosch <bosch@adacore.com>
4534
4535 * sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
4536 statements.
4537 * s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
4538 Asm statements.
4539
cf161d66
AC
45402011-08-29 Yannick Moy <moy@adacore.com>
4541
4542 * sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
4543 for every index type and component type that is not a subtype_mark.
4544 (Process_Subtype): Set Etype of subtype.
4545
45462011-08-29 Robert Dewar <dewar@adacore.com>
4547
4548 * a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
4549 reorganization. Minor reformatting.
4550
7cc83cd8
AC
45512011-08-29 Steve Baird <baird@adacore.com>
4552
4553 * exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
4554 for CodePeer and ALFA modes.
4555
45562011-08-29 Ed Schonberg <schonberg@adacore.com>
4557
4558 * sem_type.adb (Collect_Interps): Within an instance, collect a homonym
4559 that comes from an enclosing scope if it is not the renaming of an
4560 actual, to handle properly a spurious ambiguity in an instance.
4561
76af4137
AC
45622011-08-29 Eric Botcazou <ebotcazou@adacore.com>
4563
4564 * sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
4565 (Alignment_Check_For_Size_Change): ...this. Add SIZE parameter and
4566 use it instead of the Esize of the first parameter.
4567 (Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
4568 above change.
4569 <Size>: Likewise. Call it for composite types on the RM size.
4570
45712011-08-29 Yannick Moy <moy@adacore.com>
4572
4573 * exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
4574 * sem_util.adb (Unique_Name): Correct behaviour for names of
4575 compilation units.
4576
9b20e59b
AC
45772011-08-29 Yannick Moy <moy@adacore.com>
4578
4579 * sem_prag.adb (Check_Precondition_Postcondition): In formal
4580 verification mode, analyze pragma expression for correctness, for
4581 pre/post on library-level subprogram, as it is not expanded later.
4582
45832011-08-29 Yannick Moy <moy@adacore.com>
4584
4585 * exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
4586 in formal verification.
4587
45882011-08-29 Thomas Quinot <quinot@adacore.com>
4589
4590 * sem_util.adb: Minor reformatting.
4591 * freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
4592 there's no pragma.
4593 * par_sco.ads, par_sco.adb: Update comments.
4594
45952011-08-29 Yannick Moy <moy@adacore.com>
4596
4597 * einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
4598 associated getter/setter.
4599 * sem_ch6.adb: Remove reference to Is_Postcondition_Proc.
4600
46012011-08-29 Vincent Celier <celier@adacore.com>
4602
4603 * prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
4604 * prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
4605 with declarations for Language_Kind and Dependency_Kind for Ada.
4606 * prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
4607 (Process_Compiler): Take into account the new attributes Dependency_Kind
4608 and Language_Kind.
4609 (Check_Configuration): Check if language kind is unit based, not if the
4610 language name is Ada.
4611 (Process_Exceptions_Unit_Based): Ditto
4612 (Add_Language): Remove default additions of language and dependency kind
4613 * prj.ads: Minor comment change
4614 * snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind
4615
46162011-08-29 Johannes Kanig <kanig@adacore.com>
4617
4618 * debug.adb: Update comments.
4619
c5bc3df6
JM
46202011-08-24 Joseph Myers <joseph@codesourcery.com>
4621
4622 * gcc-interface/Make-lang.in (CFLAGS-ada/tracebak.o)
4623 (CFLAGS-ada/targext.o, CFLAGS-ada/cio.o, CFLAGS-ada/init.o)
4624 (CFLAGS-ada/initialize.o, CFLAGS-ada/raise.o): New.
4625 (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o)
4626 (ada/initialize.o, ada/raise.o): Remove explicit compilation rules.
4627
e3aa9eba
RO
46282011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4629
4630 * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): New.
4631 (GNATLIBCFLAGS_FOR_C): Replace
4632 TARGET_LIBGCC2_CFLAGS by PICFLAG_FOR_TARGET.
4633 (gnatlib-shared-default, gnatlib-shared-dual-win32)
4634 (gnatlib-shared-win32, gnatlib-shared-darwin, gnatlib-shared)
4635 (gnatlib-sjlj, gnatlib-zcx): Likewise.
4636
f446d60e
EB
46372011-08-07 Eric Botcazou <ebotcazou@adacore.com>
4638
4639 * gcc-interface/Makefile.in (raise-gcc.o): Fix previous change.
4640
588c8f48
EB
4641 * gcc-interface/gigi.h (enumerate_modes): Fix formatting.
4642
4643 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Revert latest change.
4644
28d711bf
NR
46452011-08-05 Nicolas Roche <roche@adacore.com>
4646
4647 * gcc-interface/Makefile.in: Don't use directly ../xgcc to build shared
4648 libgnat. Use rather the value of GCC_FOR_TARGET. Fix issue with
4649 canadian cross.
4650 * gcc-interface/Make-lang.in: Add support for canadian cross setting.
4651
993f8920
AC
46522011-08-05 Matthew Heaney <heaney@adacore.com>
4653
4654 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Child_Count, Child_Depth):
4655 subprogram bodies declared out-of-order.
4656
46572011-08-05 Yannick Moy <moy@adacore.com>
4658
4659 * sem_util.adb (Unique_Name): only prefix with "standard" the names of
4660 entities directly in package Standard, otherwise skip the standard
4661 prefix.
4662
9b3956dd
RD
46632011-08-05 Robert Dewar <dewar@adacore.com>
4664
4665 * a-cbmutr.adb: Minor reformatting
4666 (Allocate_Node): refactor node allocation algorithm
4667
46682011-08-05 Robert Dewar <dewar@adacore.com>
4669
4670 * opt.ads, opt.adb (Debug_Pragmas_Disabled): New switch.
4671 * sem_prag.adb (Analyze_Pragma, case Debug_Policy): Implement Disable
4672 mode.
4673 (Analyze_Pragma, case Check_Policy): Ditto.
4674 * sem_prag.ads (Check_Disabled): New function
4675 * snames.ads-tmpl: Add Name_Disable.
4676
46772011-08-05 Robert Dewar <dewar@adacore.com>
4678
4679 * gnat_rm.texi: Document implementation-defined policy DISABLE for
4680 pragmas Assertion_Policy, Check_Policy, Debug_Policy.
4681
79e705d6
AC
46822011-08-05 Ed Schonberg <schonberg@adacore.com>
4683
4684 * sem_prag.adb (Analyze_Pragma, case Inline): reject an Inline pragma
4685 that appears in a generic formal part and applies to a formal
4686 subprogram.
4687
46882011-08-05 Robert Dewar <dewar@adacore.com>
4689
4690 * a-cbmutr.ads: Minor reformatting.
4691
23b6deca
AC
46922011-08-05 Matthew Heaney <heaney@adacore.com>
4693
4694 * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Read): do not use T'Valid
4695 to check count, check sign of value instead.
4696 * a-comutr.adb, a-cimutr.adb (Write): return immediately if tree empty
4697 (Copy_Subtree): allocate copy of source element
4698 (Equal_Subtree): compare elements, not access objects
4699
47002011-08-05 Vincent Celier <celier@adacore.com>
4701
4702 * gnat_ugn.texi: Fix VMS alternative.
4703
a2773bd3
AC
47042011-08-05 Thomas Quinot <quinot@adacore.com>
4705
4706 * sem_ch11.adb: Add comment.
4707
47082011-08-05 Robert Dewar <dewar@adacore.com>
4709
4710 * exp_util.adb: Minor comment fix.
4711
47122011-08-05 Robert Dewar <dewar@adacore.com>
4713
4714 * scng.adb (Error_Unterminated_String): Improve flag position when
4715 comma present.
4716
47172011-08-05 Matthew Heaney <heaney@adacore.com>
4718
4719 * Makefile.rtl, impunit.adb: Added a-cbmutr.ad[sb] (bounded multiway
4720 tree containers).
4721 * a-cbmutr.ads, a-cbmutr.adb: This is the new Ada 2012 unit for bounded
4722 multiway tree containers.
4723
47242011-08-05 Robert Dewar <dewar@adacore.com>
4725
4726 * styleg.adb (Check_Comment): Implement comment spacing of 1 or 2
4727 * stylesw.adb: Implement -gnatyC to control comment spacing
4728 * stylesw.ads (Style_Check_Comments_Spacing): New switch (set by
4729 -gnatyc/C).
4730 * usage.adb: Add line for -gnatyC.
4731
47322011-08-05 Robert Dewar <dewar@adacore.com>
4733
f446d60e 4734 * gnat_ugn.texi: Document -gnatyC.
a2773bd3
AC
4735 * vms_data.ads: Implement COMMENTS1/COMMENTS2 (retaining COMMENTS as a
4736 synonym for COMMENTS2).
4737
dedac3eb
RD
47382011-08-05 Robert Dewar <dewar@adacore.com>
4739
4740 * par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb,
4741 a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb,
4742 sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb,
4743 a-comutr.ads, lib-xref.adb: Minor reformatting.
4744
47452011-08-05 Robert Dewar <dewar@adacore.com>
4746
4747 * sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal
4748 warning if there is an exception handler present.
4749
7c62a85a
AC
47502011-08-05 Pascal Obry <obry@adacore.com>
4751
4752 * a-iteint.ads: Fix copyright year.
4753
47542011-08-05 Thomas Quinot <quinot@adacore.com>
4755
4756 * par_sco.adb (Traverse_Declarations_Or_Statements): Do not generate a
4757 statement SCO for a USE clause or a representation clause.
4758
47592011-08-05 Yannick Moy <moy@adacore.com>
4760
4761 * lib-xref-alfa.adb (Collect_ALFA): generate the proper relation
4762 between body and spec for stub.
4763 (Detect_And_Add_ALFA_Scope): take into account subprogram stub
4764 * lib-xref.adb (Enclosing_Subprogram_Or_Package): in the case of a
4765 pragma precondition or postcondition, for which the enclosing
4766 subprogram or package in the AST is not the desired one, return empty.
4767
e49208a9
AC
47682011-08-05 Thomas Quinot <quinot@adacore.com>
4769
4770 * g-expect.adb: Minor reformatting.
4771
47722011-08-05 Bob Duff <duff@adacore.com>
4773
4774 * a-fihema.adb: Comment out OS_Lib.
4775
47762011-08-05 Matthew Heaney <heaney@adacore.com>
4777
4778 * Makefile.rtl, impunit.adb: Added a-c[oi]mutr.ad[sb]
4779 (unbounded multiway tree containers) and a-iteint.ads.
4780 * a-comutr.ads, a-comutr.adb:
4781 This is the new Ada 2012 unit for unbounded multiway tree containers
4782 * a-cimutr.ads, a-cimutr.adb
4783 This is the new Ada 2012 unit for indefinite multiway tree containers
4784 * a-iteint.ads: New file.
4785
201cdb74
RO
47862011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4787
f446d60e 4788 * gcc-interface/Makefile.in (raise-gcc.o): Search $(srcdir)/../libgcc.
201cdb74 4789
d50f4827
AC
47902011-08-05 Bob Duff <duff@adacore.com>
4791
4792 * sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
4793 subpools.
4794 * par-ch4.adb (P_Allocator): Parse new subpool specification syntax.
4795
47962011-08-05 Ed Schonberg <schonberg@adacore.com>
4797
4798 * sem_ch4.adb (Try_Container_Indexing): New procedure to implement the
4799 general indexing aspects of Ada2012. Called when analyzing indexed
4800 components when other interpretations fail.
4801 * sem_ch8.adb (Find_Direct_Name): check for implicit dereference only
4802 in an expression context where overloading is meaningful. This excludes
4803 the occurrence in an aspect specification (efficiency only).
4804 * sem_attr.adb (Analyze_Attribute): indicate that the attributes
4805 related to iterators can be set by an attribute specification, but
4806 cannot be queried.
4807 * sem_ch13.adb (Analyze_Aspect_Specifications): handle
4808 Constant_Indexing and Variable_Indexing.
4809 (Check_Indexing_Functions): New procedure to perform legality checks.
4810 Additional semantic checks at end of declarations.
4811
efe05dfc
AC
48122011-08-05 Sergey Rybin <rybin@adacore.com>
4813
4814 * tree_io.ads: Update ASIS_Version_Number because of the change of the
4815 order of calling Tree_Write/Tree_Read routines made for aspects.
4816
48172011-08-05 Bob Duff <duff@adacore.com>
4818
4819 * a-fihema.adb (Finalize): Fix race condition.
4820
5f9cdefe
AC
48212011-08-05 Yannick Moy <moy@adacore.com>
4822
4823 * sem_ch12.adb (Analyze_Package_Instantiation,
4824 Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
4825 mode.
4826
48272011-08-05 Ed Schonberg <schonberg@adacore.com>
4828
4829 * sem_type.adb (Specific_Type): in an instance, the type-specific
4830 operand of an equality check that involves null may have a private
4831 type. Use full view to determine legality of construct.
4832
822868aa
AC
48332011-08-05 Vincent Celier <celier@adacore.com>
4834
4835 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
4836 delete or close the file when the call to gnatmake was successful.
4837
48382011-08-05 Yannick Moy <moy@adacore.com>
4839
4840 * gnat1drv.adb (Adjust_Global_Switches): in ALFA mode, set
4841 Global_Discard_Names.
4842
48432011-08-05 Ed Schonberg <schonberg@adacore.com>
4844
4845 * sinfo.ads: comments on use of entity field for aspect specifications.
4846
48472011-08-05 Ed Schonberg <schonberg@adacore.com>
4848
4849 * sem_ch12.adb (Reset_Entity): If the entity field of the associated
4850 node is not itself an entity but a selected component, it is a
4851 rewritten parameterless call to an en enclosing synchronized operation,
4852 and this expansion will be performed again in the instance, so there is
4853 no global information to preserve.
4854
44a10091
AC
48552011-08-05 Javier Miranda <miranda@adacore.com>
4856
4857 * exp_disp.adb (Set_All_DT_Position): Cleanup code and improve support
4858 for renamings of predefined primitives.
4859 (In_Predef_Prims_DT): New subprogram.
4860
48612011-08-05 Ed Schonberg <schonberg@adacore.com>
4862
4863 * sem_util.adb, sem_util.ads (Check_Implicit_Dereference): If a
4864 possible interpretation of name is a reference type, add an
4865 interpretation that is the designated type of the reference
4866 discriminant of that type.
4867 * sem_res.adb (resolve): If the interpretation imposed by context is an
4868 implicit dereference, rewrite the node as the deference of the
4869 reference discriminant.
4870 * sem_ch3.adb (Analyze_Subtype_Declaration, Build_Derived_Record_Type,
4871 Build_Discriminated_Subtype): Inherit Has_Implicit_Dereference from
4872 parent type or base type.
4873 * sem_ch4.adb (Process_Indexed_Component,
4874 Process_Overloaded_Indexed_Component, Indicate_Name_And_Type,
4875 Analyze_Overloaded_Selected_Component, Analyze_Selected_Component):
4876 Check for implicit dereference.
4877 (List_Operand_Interps): Indicate when an implicit dereference is
4878 ambiguous.
4879 * sem_ch8.adb (Find_Direct_Name): Check for implicit dereference.
4880
48812011-08-05 Thomas Quinot <quinot@adacore.com>
4882
4883 * scos.ads: Update documentation of SCO table. Pragma statements can now
4884 be marked as disabled (using 'p' instead of 'P' as the statement kind).
4885 * par_sco.ads, par_sco.adb: Implement the above change.
4886 (Process_Decisions_Defer): Generate a P decision for the first parameter
4887 of a dyadic pragma Debug.
4888 * sem_prag.adb (Analyze_Pragma, case Debug): Mark pragma as enabled if
4889 necessary.
4890 * put_scos.adb: Code simplification based on above change.
4891
bb3c784c
AC
48922011-08-05 Robert Dewar <dewar@adacore.com>
4893
4894 * sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb,
4895 bindgen.adb, einfo.adb, sem_ch12.adb, sem_attr.adb, a-fihema.adb,
4896 a-fihema.ads, sem_elab.adb, sem_elab.ads, aspects.adb, opt.ads,
4897 prj-conf.adb, sem_ch13.adb, s-ficobl.ads: Minor reformatting
4898
48992011-08-05 Bob Duff <duff@adacore.com>
4900
4901 * a-stunau.ads, g-spipat.adb: Update comments.
4902
36f686f9
BD
49032011-08-05 Bob Duff <duff@adacore.com>
4904
4905 * a-fihema.ads: Minor comment fix.
4906 * a-fihema.adb (Allocate, Deallocate): Assert that the alignment is
4907 correct.
4908 (Attach, Detach): Remove some unnecessary code.
4909 (Finalize): Remove Node_Ptr_To_Address, replace with a constant.
4910
7882673f
BD
49112011-08-05 Bob Duff <duff@adacore.com>
4912
4913 * a-fihema.ads, a-fihema.adb (Finalization_Collection): Avoid heap
4914 allocation for Objects component. This simplifies the code somewhat. It
4915 is also a little more efficient in the not-so-unusual case where there
4916 are no controlled objects allocated.
4917 Make Finalization_Started flag atomic.
4918 (Finalize): Avoid unnecessary detachment of items from the list.
4919 (pcol): Minor cleanup.
4920
d34cd274
AC
49212011-08-05 Ed Schonberg <schonberg@adacore.com>
4922
4923 * sem_ch12.adb (Analyze_Formal_Package_Declaration): reject a formal
4924 package whose name is the same as that of the generic unit, or its
4925 ultimate prefix.
4926
49272011-08-05 Bob Duff <duff@adacore.com>
4928
4929 * a-fihema.adb, a-fihema.ads: Minor comment improvements.
4930 * sem_ch3.adb, exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb:
4931 Minor comment fixes.
4932
00332244
AC
49332011-08-05 Arnaud Charlet <charlet@adacore.com>
4934
4935 * make.adb (Linking_Phase): No longer need to set source search path
4936 before calling gnatlink in CodePeer mode.
4937 * gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
4938 gcc in CodePeer mode, since the binder generated file no longer has a
4939 'with Main'.
4940 * switch.ads, switch.adb (Is_Language_Switch): Removed.
4941 * switch-c.adb: Update comment.
4942
49432011-08-05 Thomas Quinot <quinot@adacore.com>
4944
4945 * exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.
4946
49472011-08-05 Nicolas Roche <roche@adacore.com>
4948
4949 * gnat_ugn.texi: Fix minor syntax error issue.
4950
49512011-08-05 Vincent Celier <celier@adacore.com>
4952
4953 * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
4954 delete or close the file when the call to gnatmake returns a non
4955 successful return code.
4956
49572011-08-05 Ed Schonberg <schonberg@adacore.com>
4958
4959 * exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
4960 check, indicate that the copy of the original node does not come from
4961 source, to prevent an infinite recursion of the expansion.
4962
49632011-08-05 Johannes Kanig <kanig@adacore.com>
4964
4965 * debug.adb: document switch -gnatd.G for gnat2why, which deactivates
4966 VC generation for subprogram bodies.
4967
49682011-08-05 Yannick Moy <moy@adacore.com>
4969
4970 * einfo.ads: Typo.
4971 * sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
4972 the base type with the smallest allowed base type.
4973
49742011-08-05 Sergey Rybin <rybin@adacore.com>
4975
4976 * tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
4977 aspects.
4978
49792011-08-05 Ed Schonberg <schonberg@adacore.com>
4980
4981 * sem_ch12.ads: minor comment updates.
4982
49832011-08-05 Ed Schonberg <schonberg@adacore.com>
4984
4985 * sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
4986 instantiation and a formal package the compiler generates a package
4987 renaming declaration so that the generic name within the declaration
4988 is interpreted as a renaming of the instance. At the end of a formal
4989 package declaration, this renaming must become invisible.
4990
0da80d7d
AC
49912011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
4992
4993 * exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character
4994 comparison and rely on concrete entities instead.
4995
49962011-08-05 Ed Schonberg <schonberg@adacore.com>
4997
4998 * einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types
4999 and discriminants, to indicate that the type has an access discriminant
5000 that supports implicit dereference.
5001 * snames.ads-tmpl: Add names of aspects and attributes related to
5002 Ada2012 iterators: constant_indexing, default_iterator,
5003 iterator_element, implicit_dereference, variable_indexing.
5004 * aspects.ads, aspects.adb: entries for iterator-related aspects.
5005 * sem_ch13.adb (Analyze_aspect_specifications): dummy entries for
5006 iterator-related aspects.
5007 * sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects.
5008
50092011-08-05 Sergey Rybin <rybin@adacore.com>
5010
5011 * gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling
5012 metrics in gnatmetric to cover new kinds of coupling mentrics.
5013
50142011-08-05 Steve Baird <baird@adacore.com>
5015
5016 * bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead
2c7f9cc0 5017 of calling the user-defined main subprogram.
0da80d7d
AC
5018 (Gen_Main): Declare Ada_Main_Program and (if CodePeer_Mode
5019 is set) Call_Main_Subprogram ahead of, as opposed to
5020 inside of, Main.
5021 (Gen_Output_File_Ada): Remove CodePeer_Mode-conditional
5022 generation of a "with" of the user-defined main subprogram.
5023 Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper
5024 (which is now called from Gen_Main instead).
5025
73242473
AC
50262011-08-05 Emmanuel Briot <briot@adacore.com>
5027
5028 * projects.texi: Added reference to the Makefile package.
5029
50302011-08-05 Thomas Quinot <quinot@adacore.com>
5031
5032 * exp_ch7.adb: Minor comment rewording.
5033
50342011-08-05 Ed Falis <falis@adacore.com>
5035
5036 * env.c: Fix comment.
5037
50382011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
5039
5040 * sem_elab.adb (Is_Finalization_Procedure): Reimplemented to avoid
5041 character comparison and rely on concrete entities instead.
5042
97ed5872
AC
50432011-08-05 Ed Schonberg <schonberg@adacore.com>
5044
5045 * sem_ch3.adb: (Check_Private_Overriding): better error message,
5046 suggested by AI95-0068.
5047
50482011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
5049
5050 * exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
5051 the two potential initialization calls. This accounts for any
5052 access-before-elaboration checks which may precede the initialization
5053 calls.
5054 (Next_Suitable_Statement): New routine. Returns the next real statement
5055 after the input node while skipping generated checks.
5056 * sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
5057 with comment on usage.
5058 Do not generate Elaborate_All when the trigger is a finalization call
5059 coming from a type init proc.
5060 (Check_Elab_Call): Propagate the initialization procedure context to
5061 subsequent calls to Check_A_Call.
5062 (Check_Internal_Call_Continue): Propagate the initialization procedure
5063 context to subsequent calls to Check_Elab_Call.
5064 (Is_Finalization_Procedure): New routine. Returns True if the input
5065 entity denotes a [Deep_]Finalize routine.
5066 * sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
5067 along with comment on usage.
5068
50692011-08-05 Vadim Godunko <godunko@adacore.com>
5070
5071 * s-atocou.ads: Add list of supported platforms.
5072
50732011-08-05 Yannick Moy <moy@adacore.com>
5074
5075 * sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables
5076
5077 * opt.ads (Disable_ALI_File): new Boolean flag
5078 * lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing
5079
50802011-08-05 Ed Falis <falis@adacore.com>
5081
5082 * env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
5083 environ is properly defined.
5084
50852011-08-05 Vincent Celier <celier@adacore.com>
5086
5087 * make.adb (Compilation_Phase): Exit immediately when all objects have
5088 been found up to date, to avoid multiple exit messages.
5089 * prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
5090 same project for languages with no compiler.
5091 * gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
5092 -eI.
9aff36e9
RD
50932011-08-05 Robert Dewar <dewar@adacore.com>
5094
5095 * exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb,
5096 sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb,
5097 prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb,
5098 s-atocou-builtin.adb: Minor reformatting.
5099
406935b6
AC
51002011-08-05 Yannick Moy <moy@adacore.com>
5101
5102 * exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
5103 if the node to wrap is a pragma check, this node and enclosed
5104 expression are not expanded, so do not apply any transformations here.
5105 * exp_prag.adb (Expand_Pragma_Check): document the need to avoid
5106 introducing transient scopes.
5107
51082011-08-05 Jose Ruiz <ruiz@adacore.com>
5109
5110 * adaint.c (__gnat_set_writable, __gnat_set_readable,
5111 __gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
5112 __gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
5113 routine is available, so we use the default implementation of these
5114 functions.
5115 * s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
5116 support for copying attributes on VxWorks 6.
5117
51182011-08-05 Yannick Moy <moy@adacore.com>
5119
5120 * debug.adb: Remove use of -gnatd.D.
5121 * gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
5122 * opt.ads: Simplify variables for ALFA mode, to keep one only
5123 * restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
5124 to ALFA mode.
5125
51262011-08-05 Vincent Celier <celier@adacore.com>
5127
5128 * prj-conf.adb (Do_Autoconf): Look also for --RTS in
5129 Builder'Default_Switches.
5130
51312011-08-05 Vincent Celier <celier@adacore.com>
5132
5133 * makeusg.adb: Add lines for --create-map-file switches.
5134
51352011-08-05 Ed Schonberg <schonberg@adacore.com>
5136
5137 * freeze.adb (Freeze_Entity): For a subprogram, if a type in the
5138 profile is incomplete and the full view is available, replace it with
5139 the full view.
5140 * sem_ch6.adb (Possible_Freeze): if a type in the profile is
5141 incomplete, freezing the subprogram is delayed until the full view is
5142 frozen.
5143 * sem_type.adb (Disambiguate): an ambiguity between a user-defined
5144 fixed-point multiplication operator and the predefined operator is
5145 resolved in favor of the user-defined one.
5146
96c891b3
RO
51472011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5148
5149 * init.c [__alpha__ && __osf__] (__gnat_error_handler): Use
5150 CONST_CAST.
5151
276e7ed0
AC
51522011-08-04 Ed Schonberg <schonberg@adacore.com>
5153
5154 * sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
5155 whether a type lacks user-defined Read or Write operations, or has a
5156 component that lacks them.
5157 * sem_attr.adb (Check_Stream_Attribute): if restriction
5158 No_Default_Stream_Attributes is active, verify that all subcomponent
5159 types of the target have user-defined stream operations, and report
5160 error otherwise.
5161 * exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
5162 * exp_strm.adb: Build_Elementary_Input_Call,
5163 Build_Elementary_Write_Call): remove checks for restriction
5164 No_Default_Stream_Attributes, now checked in semantics.
5165
51662011-08-04 Vincent Celier <celier@adacore.com>
5167
5168 * prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
5169 switches on the command line, look for all valid --RTS switches in the
5170 Builder switches and for each language use the first runtime name found
5171 to invoke gprconfig.
5172 (Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
5173 command line and there is no auto-configuration.
5174 (Runtime_Name_Set_For): New function.
5175
51762011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5177
5178 * exp_ch7.adb (Build_Object_Declarations): Do not generate the
5179 elaborate initialization expression for variable Abort when processing
5180 a package body or a declaration.
5181 (Create_Finalizer): Propagate the package context when creating the
5182 exception-related variables.
5183 * exp_ch7.ads (Build_Object_Declarations): New formal parameter
5184 For_Package along with usage comment.
5185
19172ae9
AC
51862011-08-04 Arnaud Charlet <charlet@adacore.com>
5187
5188 * gcc-interface/Makefile.in: Clean up targets.
5189 Enable new package for atomic counters and copy-on-write implementation
5190 of unbounded strings on x86 platforms.
5191 * gcc-interface/Make-lang.in: Update dependencies.
5192
0319cacc
AC
51932011-08-04 Robert Dewar <dewar@adacore.com>
5194
5195 * exp_ch7.adb: Minor reformatting.
5196
51972011-08-04 Robert Dewar <dewar@adacore.com>
5198
5199 * exp_strm.adb: Minor reformatting.
5200
52012011-08-04 Vadim Godunko <godunko@adacore.com>
5202
5203 * s-atocou.adb: Replace by dummy version and use on targets where atomic
5204 operations are not supported.
5205 * s-atocou-builtin.adb: Renamed from s-atocou.adb.
5206 * s-atocou-x86.adb: New file.
5207 * Makefile.rtl: Add s-atocou.o file
5208
52092011-08-04 Arnaud Charlet <charlet@adacore.com>
5210
5211 * make.adb (Compile): Move setting of CodePeer_Mode to ...
5212 (Compilation_Phase): ... here.
5213 (Scan_Make_Arg): Now bind and link by default in CodePeer mode.
5214
52152011-08-04 Thomas Quinot <quinot@adacore.com>
5216
5217 * Make-generated.in: Fix minor typo in comment.
5218
26e7e1a0
AC
52192011-08-04 Thomas Quinot <quinot@adacore.com>
5220
5221 * gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
5222 the project path.
5223
52242011-08-04 Robert Dewar <dewar@adacore.com>
5225
5226 * a-coinho.adb: Minor reformatting.
5227
52282011-08-04 Robert Dewar <dewar@adacore.com>
5229
5230 * a-coinho.ads: Minor reformatting.
5231
52322011-08-04 Vadim Godunko <godunko@adacore.com>
5233
5234 * s-atocou.ads, s-atocou.adb: New files.
5235 * a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
5236 a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
5237 direct use of GCC's atomic builtins and replace them by use of new
5238 atomic counter package.
5239
52402011-08-04 Ed Schonberg <schonberg@adacore.com>
5241
5242 * exp_strm.adb: better error message for No_Default_Stream_Attributes.
5243
52442011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5245
5246 * a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
5247 with a call to Get_External_Tag.
5248 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
5249 subprogram usage. Remove the guard against package declarations and
5250 bodies since Build_Cleanup_Statements is no longer invoked in that
5251 context.
5252 (Build_Components): Initialize Tagged_Type_Stmts when the context
5253 contains at least one library-level tagged type.
5254 (Build_Finalizer): New local variables Has_Tagged_Types and
5255 Tagged_Type_Stmts along with associated comments on usage. Update the
5256 logic to include tagged type processing.
5257 (Create_Finalizer): Insert all library-level tagged type unregistration
5258 code before the jump block circuitry.
5259 (Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
5260 (Expand_N_Package_Declaration): Remove the call to
5261 Build_Cleanup_Statements.
5262 (Process_Tagged_Type_Declaration): New routine. Generate a call to
5263 unregister the external tag of a tagged type.
5264 (Processing_Actions): Reimplemented to handle tagged types.
5265 (Process_Declarations): Detect the declaration of a library-level
5266 tagged type and carry out the appropriate actions.
5267 (Unregister_Tagged_Types): Removed. The machinery has been directly
5268 merged with Build_Finalizer.
5269
7483c888
AC
52702011-08-04 Robert Dewar <dewar@adacore.com>
5271
5272 * bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
5273 gnatls.adb, exp_ch3.adb: Minor reformatting.
5274
52752011-08-04 Marc Sango <sango@adacore.com>
5276
5277 * sem_attr.adb (Analyze_Attribute): Replace the message
5278 "invisible attribute of}" of the spark restriction violation in
5279 attribute reference by the simple message "invisible attribute of type".
5280 Indeed, the node value Error_Msg_Node_1 used is in conflit with the
5281 two insertion characters: '&' and '}'.
5282
52832011-08-04 Vadim Godunko <godunko@adacore.com>
5284
5285 * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
5286 * a-coinho.ads, a-coinho.adb: New file.
5287 * Makefile.rtl: Add Ada.Containers.Indefinite_Holders.
5288
5207696c
AC
52892011-08-04 Nicolas Roche <roche@adacore.com>
5290
5291 * alfa_test.adb: Not all ali files are containing alfa information even
5292 if compiled with -gnatd.F. So suppress warning about missing ALFA
5293 information.
5294
52952011-08-04 Yannick Moy <moy@adacore.com>
5296
5297 * lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
5298 scope.
5299 * put_alfa.adb: Check that scope name is not empty.
5300
53012011-08-04 Ed Schonberg <schonberg@adacore.com>
5302
5303 * exp_ch3.adb (Stream_Operation_Ok): new predicate
5304 Needs_Elementary_Stream_Operation, to determine whether user-defined
5305 Read and Write attributes are available for the elementary components
5306 of the given type. If only the predefined attributes are available,
5307 then when restriction No_Default_Stream_Attributes is active the
5308 predefined stream attributes for the composite type cannot be created.
5309
53102011-08-04 Robert Dewar <dewar@adacore.com>
5311
5312 * bindgen.adb: Fix obsolete comments and names from Ada/C days.
5313 Put routines in alpha order
5314
2bd2d858
JR
53152011-08-04 Jose Ruiz <ruiz@adacore.com>
5316
5317 * gcc-interface/Makefile.in: Remove xenomai specific versions of system.
5318 * gcc-interface/Make-lang.in: Update dependencies.
5319
8fae6016
AC
53202011-08-04 Arnaud Charlet <charlet@adacore.com>
5321
5322 * gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
5323 * gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls
5324 gnat1why).
5325
a54d0eb4
AC
53262011-08-04 Robert Dewar <dewar@adacore.com>
5327
5328 * sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
5329 lib-xref-alfa.adb: Minor reformatting.
5330
53312011-08-04 Marc Sango <sango@adacore.com>
5332
5333 * sem_ch12.adb (Analyze_Generic_Package_Declaration,
5334 Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
5335 Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
5336 mode.
5337
53382011-08-04 Tristan Gingold <gingold@adacore.com>
5339
5340 * bindgen.adb (Gen_Adainit_C): Remove.
5341 (Gen_Adafinal_C): Ditto.
5342 (Gen_Elab_Externals_C): Ditto.
5343 (Gen_Elab_Calls_C): Ditto.
5344 (Gen_Elab_Order_C): Ditto.
5345 (Gen_Elab_Defs_C): Ditto.
5346 (Gen_Finalize_Library_C): Ditto.
5347 (Gen_Finalize_Library_Defs_C): Ditto.
5348 (Gen_Main_C): Ditto.
5349 (Gen_Output_File_C): Ditto.
5350 (Gen_Restrictions_C): Ditto.
5351 (Gen_Versions_C): Ditto.
5352 (Write_Info_Ada_C): Ditto.
5353 (Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
5354 (Gen_Output_File): Do not force Ada_Bind_File anymore.
5355 Always call Gen_Output_File_Ada.
5356 * gnatlink.adb (Begin_Info): Now a constant.
5357 (End_Info): Ditto.
5358 (Ada_Bind_File): Remove
5359 (Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases.
5360 * switch-b.adb (Scan_Binder_Switches): Do not handle -C.
5361 * gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
5362 * opt.ads (Ada_Bind_File): Remove.
5363
53642011-08-04 Thomas Quinot <quinot@adacore.com>
5365
5366 * projects.texi: Document target-specific directory in default project
5367 path for gnatmake.
5368
53692011-08-04 Thomas Quinot <quinot@adacore.com>
5370
5371 * gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
5372 path in all cases .
5373
24558db8
AC
53742011-08-04 Yannick Moy <moy@adacore.com>
5375
5376 * sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
5377 opt.ads, lib-xref.ads: Code clean up.
5378
53792011-08-04 Yannick Moy <moy@adacore.com>
5380
5381 * gnat_rm.texi: Update description of Test_Case
5382 * gnat_ugn.texi: Typo.
5383
53842011-08-04 Ed Falis <falis@adacore.com>
5385
5386 * adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
5387
53882011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5389
5390 * exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
5391 it is of type Root_Controlled. This action eliminates fields Prev and
5392 Next from type equality.
5393
53942011-08-04 Yannick Moy <moy@adacore.com>
5395
5396 * lib-xref-alfa.adb: Correct typo.
5397
53982011-08-04 Matthew Heaney <heaney@adacore.com>
5399
5400 * a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
5401 component.
5402
1f9939b5
AC
54032011-08-04 Yannick Moy <moy@adacore.com>
5404
5405 * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
5406 (Analyze_Pragma): allow static string expression for name of Test_Case,
5407 instead of simply string literals.
5408 * sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
5409 expressions.
5410
54112011-08-04 Vincent Celier <celier@adacore.com>
5412
5413 * makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
5414 case suffixes to find truncated main sources.
5415
54162011-08-04 Tristan Gingold <gingold@adacore.com>
5417
5418 * impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
5419 s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
5420 (Compute_Current_Task): Ditto.
5421
54222011-08-04 Tristan Gingold <gingold@adacore.com>
5423
5424 * gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
5425
54262011-08-04 Yannick Moy <moy@adacore.com>
5427
5428 * lib-xref-alfa.adb (Is_Global_Constant): new function that detects
5429 library-level constant.
5430 (Add_ALFA_Xrefs): ignore global constants in ALFA xref.
5431 * sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
5432 used as selector of parameter association, in ALFA mode.
5433
15d8a51d
AC
54342011-08-04 Robert Dewar <dewar@adacore.com>
5435
5436 * exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
5437 s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
5438 reformatting.
5439
54402011-08-04 Arnaud Charlet <charlet@adacore.com>
5441
5442 * make.adb (Linking_Phase): Set source search path before calling
5443 gnatlink in CodePeer mode.
5444
f46faa08
AC
54452011-08-04 Javier Miranda <miranda@adacore.com>
5446
5447 * exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
5448 Remove code which takes care of building TSDs.
5449 * rtsfind.ads (RE_Check_Interface_Conversion): New entity.
5450 * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
5451 the accessibility check in VM targets.
5452 * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
5453 (Building_Static_DT): Now returns false for VM targets.
5454 (Build_VM_TSDs): Removed.
5455 (Expand_Interface_Conversion): Generate missing runtime check for
5456 conversions to interface types whose target type is unknown at compile
5457 time.
5458 (Make_VM_TSD): Add missing code to disable the generation of calls to
5459 Check_TSD if the tagged type is not defined at library level, or not
5460 has a representation clause specifying its external tag, or -gnatdQ is
5461 active.
5462 * exp_disp.ads (Build_VM_TSDs): Removed.
5463 (Make_VM_TSDs): Spec relocated from exp_disp.adb
5464 * sem_disp.adb (Check_Dispatching_Operation): No code required to
5465 register primitives in the dispatch tables in VM targets.
5466 * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
5467 initialization of class-wide interface objects in VM targets.
5468 (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
5469 of Make_DT).
5470
54712011-08-04 Jerome Lambourg <lambourg@adacore.com>
5472
5473 * gnatlink.adb (Gnatlink): Correct missleading error message displayed
5474 when dotnet-ld cannot be found.
5475
54762011-08-04 Arnaud Charlet <charlet@adacore.com>
5477
5478 * bindgen.adb: Simplify significantly generation of binder body file in
5479 CodePeer mode.
5480 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
5481 when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
5482 not expanded).
5483
2ba7e31e
AC
54842011-08-04 Yannick Moy <moy@adacore.com>
5485
5486 * sem_prag.adb, sem.ads: Code cleanup.
5487
54882011-08-04 Tristan Gingold <gingold@adacore.com>
5489
5490 * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
5491 * s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
5492 results if possible.
5493 * s-stusta.adb (Print): Adjust after changes in s-stausa.
5494 * gnat_ugn.texi: Update dynamic stack usage section.
5495
54962011-08-04 Steve Baird <baird@adacore.com>
5497
5498 * bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
5499 Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
5500 contains only a call to the user-defined main subprogram.
5501 (Gen_Main_Ada) - If CodePeer_Mode is set, then
5502 call the "wrapper" subprogram instead of directly
5503 calling the user-defined main subprogram.
5504
55052011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5506
5507 * exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
5508 alternatives of a case statement for controlled objects. Rename local
5509 variable A to Dead_Alt.
5510 (Expand_N_If_Statement): Check the then and else statements of an if
5511 statement for controlled objects. Check the then statements of all
5512 elsif parts of an if statement for controlled objects.
5513 (Expand_N_Loop_Statement): Check the statements of a loop for controlled
5514 objects.
5515 * exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
5516 detects a loop associated with the expansion of an array object.
5517 Augment the processing of the loop statements to account for a possible
5518 wrap done by Process_Statements_For_Controlled_Objects.
5519 * exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
5520 statements and abortable part of an asynchronous select for controlled
5521 objects.
5522 (Expand_N_Conditional_Entry_Call): Check the else statements of a
5523 conditional entry call for controlled objects.
5524 (Expand_N_Selective_Accept): Check the alternatives of a selective
5525 accept for controlled objects.
5526 (Expand_N_Timed_Entry_Call): Check the entry call and delay
5527 alternatives of a timed entry call for controlled objects.
5528 * exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
5529 exception handler for controlled objects.
5530 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
5531 Add formal parameter Nested_Constructs along with its associated
5532 comment.
5533 (Requires_Cleanup_Actions (Node_Id)): Update all calls to
5534 Requires_Cleanup_Actions.
5535 (Process_Statements_For_Controlled_Objects): New routine.
5536 * exp_util.ads (Process_Statements_For_Controlled_Objects): New
5537 routine. Inspect a node which contains a non-handled sequence of
5538 statements for controlled objects. If such an object is found, the
5539 statements are wrapped in a block.
5540
1bf773bb
AC
55412011-08-04 Bob Duff <duff@adacore.com>
5542
5543 * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
5544 need to compare with Class_Wide_Type (T2), in order to get at the
5545 original class-wide type node.
5546 * sem_type.ads (Covers): Improve the comment.
5547 * einfo.ads (Class_Wide_Type): Improve the comment.
5548 * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
5549 the type of the Deref.
5550
55512011-08-04 Yannick Moy <moy@adacore.com>
5552
5553 * gnat_rm.texi: Document that Test_Case pragma can only appear on
5554 separate declarations.
5555 * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
5556 check identifier of pragma argument.
5557 (Chain_TC): check that no other test case associated to the same entity
5558 share the same name.
5559 (Check_Test_Case): disallow test case inside subprogram body
5560 (Analyze_Pragma): correct call to check identifier and not argument
5561 * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
5562 function gets name from test case pragma.
5563
dac3bede
YM
55642011-08-04 Yannick Moy <moy@adacore.com>
5565
5566 * gnat_rm.texi: Document new pragma and aspect.
5567 * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
5568 (No_Duplicates_Allowed): new constant array defining whether duplicates
5569 aspects of each kind can appear on the same declaration.
5570 * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
5571 field, which points to a node holding the previous Spec_PPC_List.
5572 * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
5573 through the indirection with Contract.
5574 * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
5575 * par-prag.adb (Prag): do nothing on Test_Case pragma
5576 * sem.adb (Analyze): abort on N_Contract, on which Analyze should not
5577 be called directly.
5578 * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
5579 component Ensures of Test_Case.
5580 * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
5581 (Analyze_Generic_Subprogram_Declaration,
5582 Analyze_Subprogram_Instantiation,
5583 Analyze_Abstract_Subprogram_Declaration,
5584 Analyze_Subprogram_Body_Helper,
5585 Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
5586 insert contract in subprogram node at point of definition
5587 * sem_ch13.adb
5588 (Aspect_Loop): do not raise error on duplicate Test_Case aspect
5589 (Analyze_Aspect_Specifications): analyze Test_Case aspect and create
5590 corresponding pragma
5591 (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
5592 * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
5593 similar to the analysis of pre/post
5594 (Derive_Subprogram): insert contract in subprogram node at point of
5595 derivation.
5596 * sem_prag.adb, sem_prag.ads
5597 (Check_Arg_Is_String_Literal, Check_Identifier):
5598 new checking procedures to be called in treatment of pragmas
5599 (Check_Test_Case): new procedure to check that a Test_Case aspect or
5600 pragma is well-formed. This does not check currently that 'Result is
5601 used only in the Ensures component of a Test_Case.
5602 (Analyze_Pragma): add case for Test_Case
5603 (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
5604 components of a Test_Case.
5605 (Preanalyze_TC_Args): new procedure to preanalyze the boolean
5606 expressions in the 3rd (and 4th if present) arguments of a Test_Case
5607 pragma, treated as spec expressions.
5608 (Sig_Flags): add value -1 for Test_Case.
5609 * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
5610 Get_Requires_From_Test_Case_Pragma): getters for both expression
5611 components of a Test_Case.
5612 * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
5613 indirection between an entry or [generic] subprogram entity and its
5614 pre/post + test-cases.
5615 (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
5616 get/set for fields of an N_Contract node.
5617 * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
5618 Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
5619 names and pragma for Test_Case.
5620 * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
5621
6a2e5d0f
AC
56222011-08-04 Vincent Celier <celier@adacore.com>
5623
5624 * gnat_ugn.texi: Improve documentation of gnatmake switch
5625 --source-info-file=.
5626
56272011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5628
5629 * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
5630 type). Initialize Atyp to the appropriate type which is later checked
5631 for completion. Rewrite the assertion associated with private type
5632 completion.
5633
56342011-08-04 Ed Falis <falis@adacore.com>
5635
5636 * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
5637 initialize the number of CPUs.
5638
56392011-08-04 Ed Schonberg <schonberg@adacore.com>
5640
5641 * sem_type.adb (Disambiguate): New subsidiary routine
5642 In_Same_Declaration_List, to implement AI05-0020: a user-defined
5643 equality on an anonymous access type whose designated type is private
5644 does not lead to an ambiguity with the universal access equality
5645 operator in the body or child units of the defining package. The same
5646 is true for a multiplication operator on a private type completed with
5647 a fixed-point-type.
5648
56492011-08-04 Javier Miranda <miranda@adacore.com>
5650
5651 * opt.ads (Init_Or_Norm_Scalars_Config): Removed.
5652 (Normalize_Scalars_Config): Removed.
5653 * opt.adb
5654 (Register_Opt_Config_Switches): Remove registering config values of
5655 Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
5656 (Restore_Opt_Config_Switches): Remove code which restores the values of
5657 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
5658 Init_Or_Norm_Scalars.
5659 (Save_Opt_Config_Switches): Remove code which saves values of
5660 Init_Or_Norm_Scalars and Normalize_Scalars.
5661 (Set_Opt_Config_Switches): Remove code which restores config values of
5662 Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
5663 Init_Or_Norm_Scalars.
5664
56652011-08-04 Yannick Moy <moy@adacore.com>
5666
5667 * frontend.adb (Frontend): remove previous patch to avoid full
5668 qualification in ALFA mode.
5669 * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
5670 * sem_util.adb, sem_util.ads (Unique_Name): new function to define a
5671 unique name for an entity, which could be used to identify the entity
5672 across compilation units.
5673
56742011-08-04 Thomas Quinot <quinot@adacore.com>
5675
5676 * prj-env.adb
5677 (Initialize_Default_Project_Path): Add target specific directory
5678 ($prefix/$target/lib/gnat) in front of project path in all cases
5679 (making gnatmake's behaviour consistent with gprbuild).
5680 * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
5681 Pass target name from Sdefault to project subsystem.
5682 * gnatls.adb: Show new target specific default project directory.
5683
56842011-08-04 Johannes Kanig <kanig@adacore.com>
5685
5686 * cstand.adb: Add Information to Identifier in Standard
5687 (Identifer_For): Set Entity to the corresponding entity
5688
483361a6
AC
56892011-08-04 Sergey Rybin <rybin@adacore.com>
5690
5691 * gnat_ugn.texi: Update doc on gnatcheck.
5692
56932011-08-04 Yannick Moy <moy@adacore.com>
5694
5695 * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
5696 xrefs in a scope.
5697
56982011-08-04 Yannick Moy <moy@adacore.com>
5699
5700 * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
5701 performing expansion.
5702 * sem_ch6.adb (Analyze_Subprogram_Body_Helper,
5703 Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
5704 it is not called in ALFA mode.
5705
ef5569c6
AC
57062011-08-04 Emmanuel Briot <briot@adacore.com>
5707
5708 * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
5709 after all, so removed.
5710
57112011-08-04 Sergey Rybin <rybin@adacore.com>
5712
5713 * vms_data.ads: Add missing VMS qualifiers.
5714
1ab4a286
EB
57152011-08-04 Emmanuel Briot <briot@adacore.com>
5716
5717 * make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
5718 the list of files on the command line after processing it through
5719 Complete_Mains.
5720
7ae0d98c
AC
57212011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5722
5723 * exp_ch7.adb (Build_Raise_Statement): Remove the specialized
5724 processing for .NET/JVM. These targets can now benefit from
5725 Raise_From_Controlled_Operation and they share the same processing with
5726 standard targets.
5727 (Establish_Transient_Scope): Remove the restriction for .NET/JVM.
5728 These targets need transient scopes in order to properly finalize short
5729 lived controlled objects.
5730 (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
5731 NET/JVM. These targets can now benefit from
5732 Raise_From_Controlled_Operation and they share the same processing with
5733 standard targets.
5734
57352011-08-04 Geert Bosch <bosch@adacore.com>
5736
5737 * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
5738
57392011-08-04 Ed Schonberg <schonberg@adacore.com>
5740
5741 * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
5742 Expand_Record_Aggregate, to determine whether aggregate must be
5743 expanded into assignments. This is the case if the ancestor part is
5744 private, regarless of the setting of the flag Has_Private_Ancestor.
5745
57462011-08-04 Ed Falis <falis@adacore.com>
5747
5748 * vxaddr2line.adb: Add support for e500v2 and for Linux hosts
5749
57502011-08-04 Bob Duff <duff@adacore.com>
5751
5752 * sinfo.ads: Fix comment.
5753
57542011-08-04 Steve Baird <baird@adacore.com>
5755
5756 * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
5757 choose a package name in much the same way as is
5758 done for JGNAT when VM_Target /= No_VM, except that
5759 a slightly more distinctive prefix string is used.
5760
57612011-08-04 Emmanuel Briot <briot@adacore.com>
5762
5763 * makeutl.adb (Complete_Mains): no longer accept unit names on the
5764 gnatmake command line.
5765 This behavior was never documented (and was supported only because of
5766 an early bug in the code). This case might lead to ambiguous cases
5767 (between unit names and truncated base names without suffixes).
5768
87729e5a
AC
57692011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5770
5771 * a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
5772 Remove the external tag of a tagged type from the internal hash table.
5773 * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
5774 expanded usage of the routine. Strenghten the check for Is_Master. Add
5775 processing for tagged types.
5776 (Build_Finalizer): Create all the necessary lists used in finalizer
5777 creation when the processed context is a package that may contain
5778 tagged types.
5779 (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
5780 Requires_Cleanup_Actions.
5781 (Expand_N_Package_Body): Package bodies may need clean up code
5782 depending on whether they contain tagged types.
5783 (Expand_N_Package_Declaration): Package declarations may need clean up
5784 code depending on whether they contain tagged types.
5785 (Unregister_Tagged_Types): New routine. Search through a list of
5786 declarations or statements, looking for non-abstract Ada tagged types.
5787 For each such type, generate code to unregister the external tag.
5788 * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
5789 Requires_Cleanup_Actions.
5790 (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
5791 through a list of declarations or statements looking for non-abstract
5792 Ada tagged types or controlled objects.
5793 * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
5794 Requires_Cleanup_Actions.
5795 (Has_Controlled_Objects (List_Id, Boolean)): Removed.
5796 * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
5797 RE_Unit_Table.
5798
57992011-08-04 Vincent Celier <celier@adacore.com>
5800
5801 * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
5802 has Ada sources, not project Project, because if the root project
5803 Project has no sources of its own, all projects will be deemed without
5804 sources.
5805
58062011-08-04 Gary Dismukes <dismukes@adacore.com>
5807
5808 * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
5809 of the No_Param_Proc acc-to-subp type used for initialization of
5810 __gnat_finalize_library_objects so that it's declared at library level
5811 rather than nested inside of the adainit routine.
5812
58132011-08-04 Javier Miranda <miranda@adacore.com>
5814
5815 * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
5816 if the tagged type has a representation clause which specifies its
5817 external tag.
5818
58192011-08-04 Ed Schonberg <schonberg@adacore.com>
5820
5821 * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
5822 Remove previous procedure with that name.
5823 * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
5824 when appropriate.
5825 * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
5826 subtype mark, the ancestor cannot have unknown discriminants.
5827 (Resolve_Record_Aggregate): if the type has invisible components
5828 because of a private ancestor, the aggregate is illegal.
5829
58302011-08-04 Vincent Celier <celier@adacore.com>
5831
5832 * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
5833 account switches -gnat2005, -gnat12 and -gnat2012.
5834
58352011-08-04 Bob Duff <duff@adacore.com>
5836
5837 * s-tasdeb.ads: Minor comment fix.
5838
58392011-08-04 Arnaud Charlet <charlet@adacore.com>
5840
5841 * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
5842 CodePeer mode.
5843 * switch.ads, switch.adb (Is_Language_Switch): New function.
5844
58452011-08-04 Vincent Celier <celier@adacore.com>
5846
5847 * switch-c.adb: Minor comment addition.
5848
58492011-08-04 Vincent Celier <celier@adacore.com>
5850
5851 * vms_conv.adb (Process_Argument): Fail graciously when qualifier
5852 ending with '=' is followed by a space (missing file name).
5853
58542011-08-04 Pascal Obry <obry@adacore.com>
5855
5856 * g-regist.ads: Fix size of HKEY on x86_64-windows.
5857
58582011-08-04 Ed Schonberg <schonberg@adacore.com>
5859
5860 * sem_ch12.adb (Analyze_Associations): New routine
5861 Check_Overloaded_Formal_Subprogram to reject a formal package when
5862 there is a named association or a box initialisation for an overloaded
5863 formal subprogram of the corresponding generic.
5864
58652011-08-04 Yannick Moy <moy@adacore.com>
5866
5867 * alfa.ads (ALFA_Xref_Record): add component for type of entity
5868 * get_alfa.adb, put_alfa.adb: Read and write new component of
5869 cross-reference.
5870 * lib-xref-alfa.adb (Collect_ALFA): generate new component.
5871
88f47280
AC
58722011-08-04 Pascal Obry <obry@adacore.com>
5873
5874 * urealp.adb: Minor reformatting.
5875
58762011-08-04 Tristan Gingold <gingold@adacore.com>
5877
5878 * exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
5879 Handle the case when Cleanup_Protected_Object returns Empty.
5880
58812011-08-04 Yannick Moy <moy@adacore.com>
5882
5883 * frontend.adb (Frontend): only qualify names in non-ALFA mode
5884
58852011-08-04 Ed Schonberg <schonberg@adacore.com>
5886
5887 * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
5888 call, ignore functions.
5889
05c53a69
GB
58902011-08-04 Geert Bosch <bosch@adacore.com>
5891
5892 * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
5893 point.
5894
23cc1ace
EB
58952011-08-04 Emmanuel Briot <briot@adacore.com>
5896
5897 * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
5898 as an index for Builder'Switches. This conforms to the documentation.
5899 * make.adb (Insert_Project_Sources): avoid duplicate code
5900
cef14201
AC
59012011-08-04 Emmanuel Briot <briot@adacore.com>
5902
5903 * makeutl.adb (Complete_Mains): if the user has passed a relative file
5904 name on the command line (for instance "../dummy"), never assume it can
5905 be a unit name.
5906
59072011-08-04 Tristan Gingold <gingold@adacore.com>
5908
5909 * bindgen.adb: Remove code the reference or create the
5910 Break_Start/__gnat_break_start procedure.
5911 * s-stalib.adb (Break_Start): Removed.
5912
e2fee30d
EB
59132011-08-04 Emmanuel Briot <briot@adacore.com>
5914
5915 * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
5916 shared with gprbuild.
5917
2d395256
AC
59182011-08-04 Yannick Moy <moy@adacore.com>
5919
5920 * par-ch4.adb (P_Primary): preferentially issue an error message about
5921 a missing parenthesis arount a conditional or case expression in Ada
5922 2012 mode, if we detect that the alignment is not correct for a
5923 statement.
5924
59252011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
5926
5927 * exp_ch7.adb (Process_Declarations): Do not consider the result of a
5928 tag-to-class-wide conversion as needing finalization actions.
5929 * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
5930 a tag-to-class-wide conversion as needing finalization actions.
5931 (Is_Finalizable_Transient): The result of a tag-to-class-wide
5932 conversion does not need finalization actions.
5933 (Is_Tag_To_CW_Conversion): New routine.
5934 * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
5935 whether an object is the result of a tag-to-class-wide conversion.
5936
59372011-08-04 Yannick Moy <moy@adacore.com>
5938
5939 * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
5940 the left-hand-side and right-hand-side of a conjunct are inserted when
5941 translating a pre- or postcondition
5942 * sem_ch6.adb: Correct typo in comment
5943
59442011-08-04 Ed Schonberg <schonberg@adacore.com>
5945
5946 * gnat_rm.texi: Ravenscar does not prohibit dependence on
5947 Unchecked_Conversion and Unchecked_Deallocation.
5948
59492011-08-04 Thomas Quinot <quinot@adacore.com>
5950
5951 * make.adb: Minor reformatting.
5952
767ab2fd
EB
59532011-08-04 Emmanuel Briot <briot@adacore.com>
5954
5955 * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
5956 sources in the project and its imported projects, but not in the whole
5957 tree.
5958
8fb3f5df
AC
59592011-08-04 Emmanuel Briot <briot@adacore.com>
5960
5961 * make.adb: Remove debug trace.
5962
59632011-08-04 Vincent Celier <celier@adacore.com>
5964
5965 * makeutl.adb (Do_Complete): Get the absolute path name of a relative
5966 path in canonical form, to be able to compare path names on platforms
5967 such as Windows or Darwin.
5968
59692011-08-04 Thomas Quinot <quinot@adacore.com>
5970
5971 * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
5972 For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
5973 * scos.ads: Update documentation accordingly.
5974 * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
5975 pragmas.
5976
9515740f
AC
59772011-08-04 Ed Schonberg <schonberg@adacore.com>
5978
5979 * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
5980 attribute only if prefix type is scalar.
5981
59822011-08-04 Emmanuel Briot <briot@adacore.com>
5983
5984 * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
5985 in gnatmake for specifying mains on the command line that do not belong
5986 to the main project. These mains must currently all belong to the same
5987 project, though.
5988 (Ultimate_Extension_Of): removed, since duplicated
5989 Ultimate_Extending_Project.
5990
92966893
AC
59912011-08-04 Arnaud Charlet <charlet@adacore.com>
5992
5993 * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
5994 instead.
5995 (CodePeer_Mode_String): New.
5996 (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
5997 CodePeer mode.
5998 (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
5999 * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
6000 mode, since no useful elaboration subprogram is needed by CodePeer.
6001 * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
6002 In this mode, compile binder file with -gnatC and do stop after this
6003 step.
6004
60052011-08-04 Vincent Celier <celier@adacore.com>
6006
6007 * exp_ch7.adb: Minor comment fix.
6008
5969611f
RD
60092011-08-04 Robert Dewar <dewar@adacore.com>
6010
6011 * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
6012 exp_ch4.adb, makeutl.adb: Minor reformatting.
6013
6367dd30
AC
60142011-08-04 Emmanuel Briot <briot@adacore.com>
6015
6016 * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
6017 Create several new subprograms to move code out of Make. This makes the
6018 code more readable, removes code duplication, and is a preparation work
6019 for adding support for aggregate projects.
6020
60212011-08-04 Tristan Gingold <gingold@adacore.com>
6022
6023 * s-po32gl.ads, s-po32gl.adb: New files.
6024 * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
6025 * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
6026 (Build_Finalization_Collection): Use it.
6027 * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
6028 * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
6029 literals.
6030 * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
6031 * gcc-interface/Make-lang.in: Update dependencies.
6032
cd8bfe35
EB
60332011-08-04 Emmanuel Briot <briot@adacore.com>
6034
6035 * makeutl.adb (Complete_Mains): add support for specs with no suffix on
6036 the command line.
6037
7db29ea7
EB
60382011-08-04 Emmanuel Briot <briot@adacore.com>
6039
6040 * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
6041 command line is not a file name, also check whether it could be a unit
6042 name.
6043
d9b056ea
AC
60442011-08-04 Eric Botcazou <ebotcazou@adacore.com>
6045
6046 * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
6047 the header of the finalization routine.
6048 If the unit has no finalizer but is a body whose spec has one, then
6049 generate the decrement of the elaboration entity only.
6050 If the unit has a finalizer and is a spec, then do not generate the
6051 decrement of the elaboration entity.
6052 (Gen_Finalize_Library_C): Likewise.
6053
60542011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6055
6056 * exp_ch7.adb (Alignment_Of): New subsidiary routine.
6057 (Bounds_Size_Expression): Removed.
6058 (Double_Alignment_Of): New subsidiary routine.
6059 (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
6060 for a hole in the dope vector of unconstrained arrays due to different
6061 index and element alignments.
6062
60632011-08-04 Ed Schonberg <schonberg@adacore.com>
6064
6065 * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
6066 raise program_error because body has not been seen yet.
6067
60682011-08-04 Ed Schonberg <schonberg@adacore.com>
6069
6070 * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
6071 an unresolved name.
6072
60732011-08-04 Vincent Celier <celier@adacore.com>
6074
6075 * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
6076
60772011-08-04 Yannick Moy <moy@adacore.com>
6078
6079 * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
6080 * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
6081
60822011-08-04 Thomas Quinot <quinot@adacore.com>
6083
6084 * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
6085 instantiation in RCI.
6086
60872011-08-04 Emmanuel Briot <briot@adacore.com>
6088
6089 * make.adb: Share more code with gprbuild
6090
f5fc5b9d
AC
60912011-08-04 Emmanuel Briot <briot@adacore.com>
6092
6093 * projects.texi: Added documentation for the IDE'Gnat project file
6094 attribute.
6095
60962011-08-04 Nicolas Roche <roche@adacore.com>
6097
6098 * gnat_rm.texi: Minor editing.
6099
61002011-08-04 Javier Miranda <miranda@adacore.com>
6101
6102 * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
6103 and the library case for VM targets.
6104 (Gen_Adainit_Ada): Likewise.
6105
61062011-08-04 Robert Dewar <dewar@adacore.com>
6107
6108 * g-altive.ads: Minor comment updates.
6109 * prj-nmsc.adb: Minor reformatting.
6110
61112011-08-04 Javier Miranda <miranda@adacore.com>
6112
6113 * opt.ads
6114 (Normalize_Scalars_Config): Value of the configuration switch set by
6115 pragma Normalize_Scalars when it appears in the gnat.adc file.
6116 (Normalize_Scalars): New field for record Config_Switches_Type. Used
6117 to save and restore settings of this pragma.
6118 * opt.adb
6119 (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
6120 Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
6121
61222011-08-04 Vincent Celier <celier@adacore.com>
6123
6124 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
6125
0c4683cf
AC
61262011-08-04 Arnaud Charlet <charlet@adacore.com>
6127
6128 * makeutl.adb: Minor reformatting.
6129
61302011-08-04 Olivier Hainque <hainque@adacore.com>
6131
6132 * g-altive.ads: Update comments to reflect that only the soft
6133 binding is available today.
6134
2598ee6d
RD
61352011-08-04 Robert Dewar <dewar@adacore.com>
6136
6137 * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
6138 makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
6139 * gcc-interface/Make-lang.in: Update dependencies.
6140
c2db4b32
AC
61412011-08-04 Arnaud Charlet <charlet@adacore.com>
6142
6143 * prj-env.adb: Remove local debug traces.
6144
61452011-08-04 Yannick Moy <moy@adacore.com>
6146
6147 * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
6148 was used instead of Hi_OK, which could cause a read of an uninitialized
6149 value later on. Detected while working on the new warning.
6150 * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
6151 to local variable.
6152 * sem_ch5.adb (Analyze_Assignment): set the last assignment component
6153 in more cases, in order to detect more unreferenced values.
6154 * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
6155 object for expression, if any.
6156
61572011-08-04 Eric Botcazou <ebotcazou@adacore.com>
6158
6159 * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
6160 the operand types instead of the Esize.
6161
61622011-08-04 Steve Baird <baird@adacore.com>
6163
6164 * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
6165 enable CodePeer_Mode.
6166 * bindusg.adb (Display): Add help message describing -P binder switch.
6167 * gnat_ugn.texi: Document -P binder switch.
6168 * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
6169 user-defined main program directly.
6170 (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
6171 user-defined main program in the context clause of the package body.
6172
ad05f2e9
AC
61732011-08-04 Yannick Moy <moy@adacore.com>
6174
6175 * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
6176 duplicate of Defining_Entity
6177 (Get_Unique_Entity_For_Decl): rename function into
6178 Unique_Defining_Entity
6179 * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
6180 (Formal_Proof_On): remove synthesized flag
6181 * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
6182 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
6183 sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
6184 * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
6185 Annotate (Formal_Proof)
6186
61872011-08-04 Emmanuel Briot <briot@adacore.com>
6188
6189 * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
6190 source files with non-standard naming schemes, in imported projects
6191
756ef2a0
AC
61922011-08-04 Emmanuel Briot <briot@adacore.com>
6193
6194 * makeutl.adb (Complete_Mains): when a multi-unit source file is
6195 specified on the gprbuild command line, we need to compile all units
6196 within that file, not just the first one we find
6197 Fix error message for mains that are not found.
6198
61992011-08-04 Thomas Quinot <quinot@adacore.com>
6200
6201 * sem_ch6.adb: Update comment.
6202 * sem_ch12.adb: Minor reformatting.
6203
62042011-08-04 Bob Duff <duff@adacore.com>
6205
6206 * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
6207 Acceptor.Terminate_Alternative without locking Acceptor, which causes a
6208 race condition whose symptom is to fail to lock Parent. That, in turn,
6209 causes Parent.Awake_Count to be accessed without locking Parent, which
6210 causes another race condition whose symptom is that Parent.Awake_Count
6211 can be off by 1 (either too high or too low). The solution is to lock
6212 Parent unconditionally, and then lock Acceptor, before reading
6213 Acceptor.Terminate_Alternative.
6214
4fdebd93
AC
62152011-08-04 Arnaud Charlet <charlet@adacore.com>
6216
6217 * debug.adb: Update comment.
6218
62192011-08-04 Robert Dewar <dewar@adacore.com>
6220
6221 * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
6222 sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
6223 exp_ch6.adb: Minor reformatting.
6224
62252011-08-04 Gary Dismukes <dismukes@adacore.com>
6226
6227 * gnat_ugn.texi: Add sentence about the case of compile-time-detected
6228 checks for -gnateE.
6229
62302011-08-04 Ed Schonberg <schonberg@adacore.com>
6231
6232 * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
6233
62342011-08-04 Thomas Quinot <quinot@adacore.com>
6235
6236 * sinfo.ads: Minor reformatting.
6237
62382011-08-04 Emmanuel Briot <briot@adacore.com>
6239
6240 * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
6241 even if there is no location.
6242
6aaa0587
ES
62432011-08-04 Ed Schonberg <schonberg@adacore.com>
6244
6245 * sem_res.adb, sem_ch4.adb: move check for restriction
6246 No_Task_Hierarchy to resolve_allocator.
6247
35a1c212
AC
62482011-08-04 Thomas Quinot <quinot@adacore.com>
6249
6250 * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
6251 This flag of N_Pragma nodes is not used, remove it as well as all of
6252 the associated circuitry.
6253
62542011-08-04 Javier Miranda <miranda@adacore.com>
6255
6256 * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
6257 runtime check on duplicated externa tags
6258 * debug.adb Document switch -gnatdQ.
6259
62602011-08-04 Gary Dismukes <dismukes@adacore.com>
6261
6262 * a-fihema.ads: Minor typo fix.
6263
62642011-08-04 Yannick Moy <moy@adacore.com>
6265
6266 * sem_ch10.adb: Minor comment update.
6267
62682011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6269
6270 * einfo.adb: Update the node field usage to reflect the renaming of
6271 Return_Flag to Return_ Flag_Or_Transient_Decl.
6272 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
6273 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
6274 (Write_Field15_Name): Change Return_Flag to
6275 Return_Flag_Or_Transient_Decl.
6276 * einfo.ads: Rename node field Return_Flag to
6277 Return_Flag_Or_Transient_Decl. Update the associated comment and all
6278 occurrences in entities.
6279 (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
6280 associated Inline pragma.
6281 (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
6282 associated Inline pragma.
6283 * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
6284 routine.
6285 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
6286 Return_Flag and Set_Return_Flag.
6287 * exp_ch7.adb (Process_Declarations): Add code to recognize hook
6288 objects generated for controlled transients declared inside an
6289 Exception_With_Actions. Update the calls to Return_Flag.
6290 (Process_Object_Declaration): Add code to add a null guard for hook
6291 objects generated for controlled transients declared inside an
6292 Exception_With_Actions. Update related comment.
6293 * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
6294 objects generated for controlled transients declared inside an
6295 Exception_With_Actions. Update the calls to Return_Flag.
6296 * expander.adb (Expand): Add new case for N_Expression_With_Actions.
6297
62982011-08-04 Ed Schonberg <schonberg@adacore.com>
6299
6300 * sem_util.adb:(Wrong_Type): Improve error message on a one-element
6301 positional aggregate.
6302
63032011-08-04 Vincent Celier <celier@adacore.com>
6304
6305 * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
6306 SLOC only for pragmas.
6307
63082011-08-04 Emmanuel Briot <briot@adacore.com>
6309
6310 * projects.texi: Minor typo fix.
6311
63122011-08-04 Emmanuel Briot <briot@adacore.com>
6313
6314 * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
6315 on case-sensitive file systems.
6316
c2873f74
TQ
63172011-08-04 Thomas Quinot <quinot@adacore.com>
6318
6319 * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
6320 nested in a disabled pragma.
6321 * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
6322 enclosing pragma, if any, for X decisions.
6323
63242011-08-04 Thomas Quinot <quinot@adacore.com>
6325
6326 * sem_prag.adb: Minor reformatting.
6327
46414266
VC
63282011-08-04 Vincent Celier <celier@adacore.com>
6329
6330 * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
6331 allowed in no run time mode.
6332
63332011-08-04 Vincent Celier <celier@adacore.com>
6334
6335 * make.adb (Check): When -gnatc is used, check for the source file
6336 inside the ALI file with a canonical case file name.
6337
afab164f
EB
63382011-08-04 Emmanuel Briot <briot@adacore.com>
6339
6340 * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
6341 overriding the separator.
6342
fe0ec02f
AC
63432011-08-04 Robert Dewar <dewar@adacore.com>
6344
6345 * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
6346 prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
6347
63482011-08-04 Robert Dewar <dewar@adacore.com>
6349
6350 * gnat_rm.texi: Minor documentation fix for pragma Annotate.
6351
63522011-08-04 Yannick Moy <moy@adacore.com>
6353
6354 * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
6355 'Result only appears in postcondition of function.
6356
63572011-08-04 Thomas Quinot <quinot@adacore.com>
6358
6359 * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
6360 external tag, include the value of the external tag in the exception
6361 message.
6362
0180fd26
AC
63632011-08-04 Yannick Moy <moy@adacore.com>
6364
6365 * sem_attr.adb (Result): modify error message for misplaced 'Result
6366
63672011-08-04 Sergey Rybin <rybin@adacore.com>
6368
6369 * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
6370 clear that the second argument must be an identifier.
6371
63722011-08-04 Thomas Quinot <quinot@adacore.com>
6373
6374 * exp_ch9.adb (Build_Barrier_Function): When compiling with
6375 -fpreserve-control-flow, insert an IF statement on the barrier
6376 condition to ensure that a conditional branch instruction is generated.
6377
63782011-08-04 Emmanuel Briot <briot@adacore.com>
6379
6380 * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
6381 (Processing_Flags.Ignore_Missing_With): new flag.
6382
63832011-08-04 Emmanuel Briot <briot@adacore.com>
6384
6385 * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
6386 Source_List_File on case-insensitive systems where the file is actually
6387 on a case-sensitive file system (NFS,...).
6388
63892011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6390
6391 * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
6392 function return contains a controlled [extension] aggregate and the
6393 return statement is not part of a handled sequence of statements, wrap
6394 the return in a block. This ensures that all controlled temporaries
6395 generated during aggregate resolution will be picked up by the
6396 finalization machinery.
6397
63982011-08-04 Ed Schonberg <schonberg@adacore.com>
6399
6400 * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
6401 components, freeze type before resolution, to ensure that default
6402 initializations are present for all components.
6403 * sem_res.adb (Resolve_Actuals): the designated object of an
6404 accces-to-constant type is a legal actual in a call to an
6405 initialization procedure.
6406
64072011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6408
6409 * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
6410 N_Unchecked_Type_Conversion to the possible containers of a renamed
6411 transient variable.
6412
78efd712
AC
64132011-08-04 Yannick Moy <moy@adacore.com>
6414
6415 * par-ch13.adb (Aspect_Specifications_Present): recognize
6416 "with Identifier'Class =>" as an aspect, so that a meaningful warning
6417 is issued in Strict mode.
6418 * par.adb: Fix typos in comments.
6419
64202011-08-04 Yannick Moy <moy@adacore.com>
6421
6422 * sem_attr.adb (Result): modify error message to take into account Post
6423 aspect when compiling Ada 2012 (or newer) code.
6424
64252011-08-04 Nicolas Roche <roche@adacore.com>
6426
6427 * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
2c7f9cc0 6428 remove need for GCC exceptions.
78efd712
AC
6429
64302011-08-04 Vincent Celier <celier@adacore.com>
6431
6432 * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
6433 project, not the source file name.
6434 * prj.adb (Find_Sources.Look_For_Sources): If the source has been
6435 excluded, continue looking. This excluded source will only be returned
6436 if there is no other source with the same base name that is not locally
6437 removed.
6438
64392011-08-04 Ed Schonberg <schonberg@adacore.com>
6440
6441 * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
6442 private and one of the operands is a real literal, use a qualified
6443 expression rather than a conversion which is not meaningful to the
6444 back-end.
6445
0170a691
AC
64462011-08-04 Yannick Moy <moy@adacore.com>
6447
6448 * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
6449 corresponding aspect X'Class are allowed, proceed with analysis of the
6450 aspect instead of skipping it.
6451
64522011-08-04 Tristan Gingold <gingold@adacore.com>
6453
6454 * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
6455 This will allow to have an Ada implementation for the subprogram.
6456
deb4f5ba
ES
64572011-08-04 Ed Schonberg <schonberg@adacore.com>
6458
6459 * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
6460 completion and aspects are present, apply them to the entity for the
6461 type which is currently the partial view, but which is the one that
6462 will be frozen.
6463 * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
6464 applies to a partial view, indicate that the full view has predicates
6465 and delayed aspects.
6466 (Replace_Type_Reference): Handle properly predicates that apply to the
6467 full view of a private completion.
6468
fc893455
AC
64692011-08-04 Eric Botcazou <ebotcazou@adacore.com>
6470
6471 * layout.adb (Layout_Type): For composite types, do not set Esize.
6472 * freeze.adb (Set_Small_Size): Remove test on alignment and do not
6473 set Esize.
6474 (Size_Known): Look at the RM size of components instead of the Esize.
6475 (Freeze_Record_Type): Look at the RM size instead of the Esize to
6476 issue warning and activate Implicit_Packing.
6477 (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
6478 if the Esize is not known.
6479 * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
6480 for elementary types only.
6481 (Analyze_Record_Representation_Clause): Look at the RM size instead
6482 of the Esize to issue errors.
6483 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
6484 is not known.
6485 <E_Record_Type>: Look at the RM size instead of the Esize. Remove
2c7f9cc0 6486 obsolete block.
fc893455
AC
6487 Look at the RM size instead of the Esize for types if the latter is
6488 not known.
6489 (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
6490
64912011-08-04 Ed Schonberg <schonberg@adacore.com>
6492
6493 * sem_type.adb: proper handling of equality not involving anonymous
6494 access types.
6495
b37d5bc6
AC
64962011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6497
6498 * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
6499 Vis_Decls. When creating a library-level finalizer for a package spec,
6500 both the declaration and body of the finalizer are inserted either in
6501 the visible or private declarations of the package spec.
6502
65032011-08-04 Javier Miranda <miranda@adacore.com>
6504
6505 * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
6506 use of the full-view of a type when invoking Is_Ancestor.
6507 * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
6508 the full-view of private parents is requested, then use also the
6509 full-view of the parent of the first derivation.
6510
7ab4d95a
AC
65112011-08-04 Tristan Gingold <gingold@adacore.com>
6512
6513 * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
6514 instead of the locally imported procedure.
6515 * s-taprop-mingw.adb (Enter_Task): Ditto.
6516 * s-valrea.adb (Scan_Real): Ditto.
6517 * s-imgrea.adb (Set_Image_Real): Ditto.
6518 * s-flocon.ads: Make the package pure.
6519
65202011-08-04 Thomas Quinot <quinot@adacore.com>
6521
6522 * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
6523 * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
6524 * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
6525 New subprogram, moved here from...
6526 * par.adb, par-ch5.adb (P_Statement_Name): ... here.
6527 * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
6528 rewriting of the last argument into a procedure call statement here...
6529 * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
6530 instead.
6531
65322011-08-04 Thomas Quinot <quinot@adacore.com>
6533
6534 * par_sco.adb: Minor reformatting.
6535
51c400f5
AC
65362011-08-04 Robert Dewar <dewar@adacore.com>
6537
6538 * erroutc.adb: Minor reformatting.
6539
65402011-08-04 Thomas Quinot <quinot@adacore.com>
6541
6542 * par_sco.adb: Comment update.
6543
65442011-08-04 Tristan Gingold <gingold@adacore.com>
6545
6546 * s-flocon.ads: New file.
6547 * g-flocon.ads: Now a renaming of s-flocon.
6548 * Makefile.rtl: Add s-flocon.o
6549
6a49f110
AC
65502011-08-04 Javier Miranda <miranda@adacore.com>
6551
6552 * exp_strm.adb (Build_Array_Input_Function): if the array type is
6553 constrained, do not attempt to build a subtype of it.
6554
65552011-08-04 Yannick Moy <moy@adacore.com>
6556
6557 * errout.ads Change comments: remove 'R'M as an example where quotes
6558 are needed; add ALFA as another case where quotes are not needed
6559 * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
6560 case where quotes are not needed.
6561 * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
6562 sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
6563 Remove all occurrences of 'A'L'F'A
6564
65652011-08-04 Ed Schonberg <schonberg@adacore.com>
6566
6567 * sem_ch13.adb: check legality of invariant pragma.
6568
a4640a39
AC
65692011-08-04 Eric Botcazou <ebotcazou@adacore.com>
6570
6571 * bindgen.adb: Add comments.
6572
65732011-08-04 Yannick Moy <moy@adacore.com>
6574
6575 * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
6576 synthesized flag.
6577 * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
6578 (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
6579
65802011-08-04 Robert Dewar <dewar@adacore.com>
6581
6582 * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
6583 osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
6584 sem_ch13.adb, s-pooloc.adb: Minor reformatting.
6585
39ade2f9
AC
65862011-08-04 Thomas Quinot <quinot@adacore.com>
6587
6588 * s-pooloc.ads, s-pooglo.ads: Minor reformatting
6589
65902011-08-04 Thomas Quinot <quinot@adacore.com>
6591
6592 PR ada/47880
6593 * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
6594 allocated object.
6595
65962011-08-04 Robert Dewar <dewar@adacore.com>
6597
6598 * einfo.ads, exp_ch4.adb: Minor reformatting.
6599
66002011-08-04 Jerome Lambourg <lambourg@adacore.com>
6601
6602 * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
6603
7efc3f2d
AC
66042011-08-04 Ed Schonberg <schonberg@adacore.com>
6605
6606 * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
6607 type in all cases to compute list of primitive operations, because full
6608 view may be an itype that is not attached to the list of declarations.
6609
66102011-08-04 Eric Botcazou <ebotcazou@adacore.com>
6611
6612 * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
6613 library has already been finalized.
6614 (Gen_Adafinal_C): Likewise.
6615 (Gen_Adainit_Ada): Generate an early return if the library has
6616 already been elaborated.
6617 (Gen_Adainit_C): Likewise.
6618 (Gen_Output_File_Ada): Generate an elaboration flag.
6619 (Gen_Output_File_C): Likewise.
6620
f65df609
HK
66212011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6622
6623 * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
6624 Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
6625 built in the first place.
6626 (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
6627 for CodePeer because Finalize_Address was not built to begin with.
6628 * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
6629
a0fb8fe8
AC
66302011-08-04 Pascal Obry <obry@adacore.com>
6631
6632 * adaint.c (__gnat_tmp_name): Use current process id to create temp
6633 filenames, this ensures unicity of filenames across processes.
6634
66352011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6636
6637 * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
6638 Raise_Controlled to Raise_From_Controlled_Operation. Update the
6639 signature of Raise_From_Controlled_Operation by adding flag From_Abort.
6640 Add False as the actual to From_Abort in the generated call to
6641 Raise_From_Controlled_Operation.
6642
66432011-08-04 Jerome Lambourg <lambourg@adacore.com>
6644
6645 * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
6646 so that the ali file name can be retrieved from outside of this package.
6647 * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
6648 doing nothing in the general case, but used to update the object file
6649 timestamp if directly generated by the backend.
6650 * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
6651 to a later time than the ali file one.
6652
9534ab17
AC
66532011-08-04 Yannick Moy <moy@adacore.com>
6654
6655 * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
6656 entities whose body contains an Annotate pragma which forces formal
6657 proof on this body.
6658 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
6659 sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
6660 Mark_Non_ALFA_Subprogram to pass in a message and node.
6661 * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
6662 (Forma_Proof, On) which sets the flag Formal_Proof_On in the
6663 surrounding subprogram.
6664 * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
6665 Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
6666 as not in ALFA is annotated with Formal_Proof being On, then an error
6667 is issued based on the additional parameters for message and node.
6668 * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
6669 * gcc-interface/Make-lang.in: Update dependencies.
6670
66712011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6672
6673 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
6674 Finalize_Address when CodePeer is enabled.
6675
66762011-08-04 Pascal Obry <obry@adacore.com>
6677
6678 * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
6679 the latter returns a pointer to a static buffer which is deallocated
6680 at the end of the routine.
6681
5c0e97dd
AC
66822011-08-04 Yannick Moy <moy@adacore.com>
6683
6684 * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
6685 after index creation; mark unconstrained base array type generated as
6686 being in/not in ALFA as well
6687 (Make_Index): mark subtype created as in/not in ALFA
6688 * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
6689 over a loop as in/not in ALFA, depending on its type and form of loop
6690 iteration.
6691
66922011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6693
6694 * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
6695 directly to False on .NET and JVM.
6696
7a93c64b
YM
66972011-08-04 Yannick Moy <moy@adacore.com>
6698
6699 * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
6700 constraint that subtype must come from source code to be in ALFA, so
6701 that anonymous subtypes can be in ALFA too.
6702
e9a1ed9b
YM
67032011-08-04 Yannick Moy <moy@adacore.com>
6704
6705 * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
6706 reference for ALFA mode.
6707 * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
6708 procedure public so as to use it from formal verification back-end.
6709
8e293fbd
AC
67102011-08-04 Jerome Lambourg <lambourg@adacore.com>
6711
6712 * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
6713 invalid checks of the Parameter, making Remove_Switch not working
6714 correctly.
6715
67162011-08-04 Arnaud Charlet <charlet@adacore.com>
6717
6718 * targparm.ads: Update header: no run-time exception is needed on this
6719 file.
6720
67212011-08-04 Vincent Celier <celier@adacore.com>
6722
6723 * a-fihema.adb: Use System.IO instead of GNAT.IO
6724
67252011-08-04 Thomas Quinot <quinot@adacore.com>
6726
6727 * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
6728 are forbidden in Compiler_Unit mode.
6729
cfae2bed
AC
67302011-08-04 Robert Dewar <dewar@adacore.com>
6731
6732 * sem_util.adb: Minor reformatting.
6733
67342011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6735
6736 * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
6737 library-level finalizers.
6738 (Gen_Finalize_Library_C): Update the import string for library-level
6739 finalizers.
6740 (Gen_Finalize_Library_Defs_C): Update the definition name of a
6741 library-level finalizer.
6742 * exp_ch7.adb: Remove with and use clauses for Stringt.
6743 (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
6744 Spec_Decl. Add local variable Body_Id. The names of library-level
6745 finalizers are now manually fully qualified and are no longer external.
6746 A single name is now capable of servicing .NET, JVM and non-VM targets.
6747 Pragma Export is no longer required to provide visibility for the name.
6748 (Create_Finalizer_String): Removed.
6749 (New_Finalizer_Name): New routine which mimics New_..._Name.
6750
01f0729a
AC
67512011-08-04 Eric Botcazou <ebotcazou@adacore.com>
6752
6753 * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
6754 elaboration counter to Standard_Short_Integer.
6755 * sem_util.adb (Build_Elaboration_Entity): Likewise.
6756 * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
6757 (Gen_Elab_Externals_C): Likewise.
6758
67592011-08-04 Ed Falis <falis@adacore.com>
6760
6761 * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
6762 system-vxworks-ppc.ads, system-vxworks-m68k.ads,
6763 system-vxworks-mips.ads, system-vxworks-x86.ads
6764 (Always_Compatible_Rep): set to False for all VxWorks targets.
6765
2c1b72d7
AC
67662011-08-04 Robert Dewar <dewar@adacore.com>
6767
6768 * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
6769 makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
6770 exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
6771 exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
6772 exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
6773 sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
6774 sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
6775 Minor reformatting and code reorganization.
6776
67772011-08-04 Emmanuel Briot <briot@adacore.com>
6778
6779 * projects.texi: Added doc for aggregate projects.
6780
824e9320
AC
67812011-08-04 Emmanuel Briot <briot@adacore.com>
6782
6783 * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
6784 Add support for overriding the Project_Path in aggregate projects.
6785
67862011-08-04 Robert Dewar <dewar@adacore.com>
6787
6788 * a-cofove.ads: Minor reformatting.
6789
67902011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
6791
6792 * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
6793 on the generated code.
6794 (Build_Finalize_Statements): Update the comment on the generated code.
6795 (Build_Initialize_Statements): Update the comment on the generated code.
6796 (Build_Object_Declarations): Add local variable Result. The object
6797 declarations are now built in sequence.
6798 * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
6799 RE_Unit_Table.
6800
68012011-08-04 Robert Dewar <dewar@adacore.com>
6802
6803 * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
6804
68052011-08-04 Eric Botcazou <ebotcazou@adacore.com>
6806
6807 * einfo.ads (Elaboration_Entity): Document new definition and use.
6808 (Elaboration_Entity_Required): Adjust to above change.
6809 * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
6810 * exp_ch12.adb: And with and use for Snames.
6811 (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
6812 * exp_util.adb (Set_Elaboration_Flag): Likewise.
6813 * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
6814 <Check_Unit_Name>: Deal with N_Expanded_Name.
6815 <Attribute_Elaborated>: Extend to all unit names.
6816 * sem_elab.adb: And with and use for Uintp.
6817 (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
6818 * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
6819 * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
6820 * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
6821 from Gen_Adainit_Ada.
6822 (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
6823 (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
6824 case, do not call System.Standard_Library.Adafinal; instead call
6825 finalize_library if needed.
6826 (Gen_Adafinal_C): Likewise.
6827 (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
6828 non-main program case.
6829 (Gen_Adainit_C): Generate a couple of external declarations here.
6830 In the main program case, set SSL.Finalize_Library_Objects.
6831 (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
6832 (Gen_Elab_Calls_C): Likewise.
6833 (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
6834 (Gen_Finalize_Library_C): Likewise. Generate a full function.
6835 (Gen_Main_C): Put back call to Ada_Final and don't finalize library
6836 objects here.
6837 (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
6838 if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
6839 Gen_Adafinal_Ada.
6840 (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
6841 if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
2c7f9cc0 6842 of external declarations. Call Gen_Finalize_Library_C.
824e9320 6843
316d9d4f
EB
68442011-08-04 Emmanuel Briot <briot@adacore.com>
6845
6846 * prj.adb, prj.ads, makeutl.adb, makeutl.ads (Complete_Mains,
6847 Compute_Compilation_Phases): new subprogram.
6848 (Builder_Data, Builder_Project_Tree_Data): new subprogram and type
6849 The number of mains as well as the various compilation phases that
6850 need to be run are now project tree specific, since various
6851 aggregated trees might have different requirements. In particular,
6852 they do not all require bind or link phases.
6853
9434c32e
EB
68542011-08-04 Emmanuel Briot <briot@adacore.com>
6855
6856 * prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-env.adb
6857 (Project_Tree_Appdata): New type.
6858 It is now possible to associate application-specific data to a project
6859 tree. In particular, this is used in the gprbuild builder to avoid a
6860 number of global tables and htables, especially now that there can be
6861 several project trees loaded at once because of aggregate projects.
6862 (Debug_Name): new procedure.
6863 * projects.texi: Clarify syntax of "**" for Source_Dirs
6864
41ba34db
EB
68652011-08-03 Emmanuel Briot <briot@adacore.com>
6866
6867 * prj.ads, makeutl.adb, makeutl.ads (Queue.Insert): now also inserts
6868 the "roots" for a main.
6869 (Fill_From_Project): add support for aggregate projects. Main units
6870 in aggregated projects are now automatically added in the list of
6871 files to build (although this fails later on in gprbuild, because
6872 these files are not using the root proejct tree, so this needs
6873 further cleanup)
6874 * gcc-interface/Make-lang.in: Update dependencies.
6875
fccd42a9
AC
68762011-08-03 Yannick Moy <moy@adacore.com>
6877
6878 * sem_ch4.adb (Analyze_Conditional_Expression): only allow boolean
6879 conditional expression in ALFA.
6880 * sem_res.adb (Resolve_Conditional_Expression): mark non-boolean
6881 expressions as not in ALFA.
6882
68832011-08-03 Robert Dewar <dewar@adacore.com>
6884
6885 * a-cofove.adb: Minor reformatting.
6886
68872011-08-03 Emmanuel Briot <briot@adacore.com>
6888
6889 * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads
6890 (Insert_Project_Sources, Insert_withed_Sources_For): moved from the
6891 gprbuild sources.
6892 These packages are more logically placed in the Queue package, since
6893 they manipulate the queue. It is also likely that they can be adapted
6894 for gnatmake, thus sharing more code.
6895 (Finish_Program, Fail_Program): moved from the gprbuild sources, so
6896 that we could move the above.
6897
68982011-08-03 Emmanuel Briot <briot@adacore.com>
6899
6900 * errutil.adb (Finalize): clean up the list of error messages on exit.
6901 Calling this subprogram multiple times will no longer show duplicate
6902 error messages on stderr.
6903
69042011-08-03 Emmanuel Briot <briot@adacore.com>
6905
6906 * g-comlin.adb, g-comlin.ads (Set_Command_Line): ignore the parameter
6907 Getopt_Switches when we have already define a command line
6908 configuration.
6909
5e8c8e44
YM
69102011-08-03 Yannick Moy <moy@adacore.com>
6911
6912 * sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not
6913 in ALFA. Instead, they are considered as assertions to prove.
6914 * sem_ch4.adb (Analyze_Conditional_Expression): do not always mark such
6915 nodes as not in ALFA. Instead, include conditional expressions in ALFA
6916 if they have no ELSE part, or if they occur in pre- and postconditions,
6917 where the Condition cannot have side-effects in ALFA
6918 (Analyze_Membership_Op): do not mark such nodes as not in ALFA
6919 (Analyze_Type_Conversion): do not always mark such nodes as not in ALFA.
6920 Instead, include type conversion between scalar types in ALFA.
6921 * sem_ch6.adb (Process_Formals): correctly mark a parameter in ALFA
6922 if-and-only-if its type is in ALFA.
6923
5ffe0bab
AC
69242011-08-03 Thomas Quinot <quinot@adacore.com>
6925
6926 * scos.adb, get_scos.adb, put_scos.adb
6927 New code letter for decisions: G (entry guard)
6928 * par_sco.adb
6929 (Traverse_Subprogram_Body): Rename to...
6930 (Traverse_Subprogram_Or_Task_Body): New subrpogram.
6931 (Traverse_Protected_Body): New subprogram
6932 (Traverse_Declarations_Or_Statements): Add traversal of task bodies,
6933 protected bodies and entry bodies.
6934
69352011-08-03 Yannick Moy <moy@adacore.com>
6936
6937 * einfo.adb, einfo.ads (Is_Postcondition_Proc): new flag for procedure
6938 entities with get/set subprograms, which is set on procedure entities
6939 generated by the compiler for a postcondition.
6940 * sem_ch6.adb (Process_PPCs): set new flag on postcondition procedures
6941 * alfa.adb, alfa.ads (Get_Entity_For_Decl): new function returning the
6942 entity for a declaration
6943 (Get_Unique_Entity_For_Decl): new function returning an entity which
6944 represents a declaration, so that matching spec and body have the same
6945 entity.
6946
69472011-08-03 Robert Dewar <dewar@adacore.com>
6948
6949 * a-except-2005.adb, a-cfhama.adb, a-cfhase.adb, a-cfhase.ads,
6950 a-cforma.adb, a-cforse.ads, a-cforse.adb: Minor reformatting
6951
69522011-08-03 Yannick Moy <moy@adacore.com>
6953
6954 * lib-xref-alfa.adb (Detect_And_Add_ALFA_Scope): make the subprogram
6955 library-level because retriction No_Implicit_Dynamic_Code in the
6956 front-end prevents its definition as a local subprogram
6957 (Traverse_Compilation_Unit): extract new procedure from Add_ALFA_File,
6958 for reuse in other contexts
6959 (Traverse_Declarations_Or_Statements,
6960 Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
6961 Traverse_Package_Declaration, Traverse_Subprogram_Body): make all these
6962 procedures take a callback parameter to be called on all declarations
6963 * lib-xref.ads
6964 (Traverse_All_Compilation_Units): new generic function to traverse a
6965 compilation unit and call a callback parameter on all declarations
6966
f9ad6b62
AC
69672011-08-03 Javier Miranda <miranda@adacore.com>
6968
6969 * sem_prag.adb (Process_Interface_Name): Allow duplicated export names
6970 in Java since they are always enclosed in a namespace that
6971 differentiates them, and overloaded entities are supported by the VM.
6972
69732011-08-03 Ed Schonberg <schonberg@adacore.com>
6974
6975 * checks.adb (Determine_Range): If a computed bound of an operation is
6976 outside the range of the base type of the expression, and overflow
6977 checks are enabled, the result is unknown and cannot be used for any
6978 subsequent constant folding.
6979 * sem_eval.adb (Compile_Time_Compare): if the bounds of one operand are
6980 unknown, so is the result of the comparison.
6981
69822011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
6983
6984 * a-except-2005.adb (Raise_From_Controlled_Operation): Add new formal
6985 From_Abort. When finalization was triggered by an abort, propagate
6986 Standard'Abort_Signal rather than Program_Error.
6987 * a-except-2005.ads (Raise_From_Controlled_Operation): Add new formal
6988 From_Abort.
6989 * a-except.adb (Raise_From_Controlled_Operation): Add new formal
6990 From_Abort. When finalization was triggered by an abort, propagate
6991 Standard'Abort_Signal rather than Program_Error.
6992 * a-except.ads:(Raise_From_Controlled_Operation): Add new formal
6993 From_Abort.
6994 * exp_ch7.adb:(Build_Adjust_Or_Finalize_Statements): New local variable
6995 Abort_Id. Update the calls to Build_Object_Declarations and
6996 Build_Raise_Statement to include Abort_Id.
6997 (Build_Adjust_Statements): New local variable Abort_Id. Update the
6998 calls to Build_Object_Declarations and Build_Raise_Statement to include
6999 Abort_Id.
7000 (Build_Finalize_Statements): New local variable Abort_Id. Update the
7001 calls to Build_Object_Declarations and Build_Raise_Statement to include
7002 Abort_Id.
7003 (Build_Components): Create an entity for Abort_Id when exceptions are
7004 allowed on the target.
7005 (Build_Finalizer): New local variable Abort_Id.
7006 (Build_Initialize_Statements): New local variable Abort_Id. Update the
7007 calls to Build_Object_Declarations and Build_Raise_Statement to include
7008 Abort_Id.
7009 (Build_Object_Declarations): Add new formal Abort_Id. Create the
7010 declaration of flag Abort_Id to preserve the original abort status
7011 before finalization code is executed.
7012 (Build_Raise_Statement): Add new formal Abort_Id. Pass Abort_Id to
7013 runtime routine Raise_From_Controlled_Operation.
7014 (Create_Finalizer): Update the call to Build_Raise_Statement to include
7015 Abort_Id. Update the call to Build_Object_Declarations to include
7016 Abort_Id. Update the layout of the finalizer body.
7017 (Make_Handler_For_Ctrl_Operation): Add an actual for From_Abort.
7018 (Process_Transient_Objects): New local variable Abort_Id. Remove the
7019 clunky code to create all flags and objects related to
7020 exception propagation and replace it with a call to
7021 Build_Object_Declarations. Update the call to Build_Raise_Statement to
7022 include Abort_Id.
7023 * exp_ch7.ads (Build_Object_Declarations): Moved from body to spec.
7024 Add new formal Abort_Id and associated comment on its use.
7025 (Build_Raise_Statement): Add new formal Abort_Id and associated comment
7026 on its use.
7027 * exp_intr.adb (Expand_Unc_Deallocation): New local variable Abort_Id.
7028 Remove the clunky code to create all flags and objects related to
7029 exception propagation and replace it with a call to
7030 Build_Object_Declarations. Update the call to Build_Raise_Statement.
7031
70322011-08-03 Eric Botcazou <ebotcazou@adacore.com>
7033
7034 * s-tassta.adb: Fix minor typos.
7035
70362011-08-03 Robert Dewar <dewar@adacore.com>
7037
7038 * rtsfind.ads, makeutl.ads, prj.ads, prj.adb, make.adb,
7039 lib-writ.adb, makeutl.adb, s-soflin.ads, clean.adb: Minor reformatting.
7040
1cdfa9be
AC
70412011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
7042
7043 * exp_ch7.adb (Create_Finalizer): Treat freeze nodes in similar fashion
7044 to packages. This ensures that the finalizer body will not end up
7045 inside the freeze node.
7046 (Process_Declarations): Add code to detect whether a freeze node has a
7047 nested finalization collection.
7048
70492011-08-03 Pascal Obry <obry@adacore.com>
7050
7051 * g-awk.adb, g-awk.ads: Make GNAT.AWK API compatible with Ada 2005.
7052 (Current_Session): Return a not null access to Session_Type.
7053 (Default_Session): Likewise.
7054
243cae0a
AC
70552011-08-03 Robert Dewar <dewar@adacore.com>
7056
7057 * a-cfdlli.adb, bindgen.adb, exp_ch4.adb, exp_ch13.adb, sem_warn.adb,
7058 exp_ch3.adb, exp_ch3.ads: Minor reformatting.
7059
70602011-08-03 Pascal Obry <obry@adacore.com>
7061
7062 * g-awk.ads: Minor comment fix.
7063
70642011-08-03 Sergey Rybin <rybin@adacore.com>
7065
7066 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
7067 the tree structure related to discriminant constraints.
7068 Original_Discriminant cannot be used any more for computing the
7069 defining name for the reference to a discriminant.
7070
70712011-08-03 Ed Schonberg <schonberg@adacore.com>
7072
7073 * sem_disp.adb (Is_Tag_Indeterminate): If the return type of the
7074 function is not visibly tagged, this is not a dispatching call and
7075 therfore is not Tag_Indeterminate, even if the function is marked as
7076 dispatching on result.
7077
f553e7bc
AC
70782011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
7079
7080 * exp_ch13.adb: Add with and use clauses for Restrict and Rident.
7081 (Expand_N_Free_Statement): Add a guard to protect against run-times
7082 which do not support controlled types.
7083 * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Add a guard to protect
7084 against run-times which do not support controlled types.
7085 * exp_ch4.adb (Complete_Controlled_Allocation): Add a guard to protect
7086 against run-times which do not support controlled types.
7087 * exp_ch7.adb (Build_Finalization_Collection): Add a guard to protect
7088 against run-times which do not support controlled types.
7089 * exp_util.adb (Needs_Finalization): Code reformatting. Add a guard to
7090 protect against run-times which do not support controlled types.
7091
70922011-08-03 Eric Botcazou <ebotcazou@adacore.com>
7093
7094 * exp_intr.adb: Put back with and use clauses for Exp_Ch11.
7095 (Expand_Unc_Deallocation): Expand the AT_END handler at the very end.
7096
e4982b64
AC
70972011-08-03 Ed Schonberg <schonberg@adacore.com>
7098
7099 * exp_ch5.adb (Expand_Iterator_Loop): indicate that the cursor is
7100 modified in the source, to prevent spurious warnings when compiling
7101 with -gnatg.
7102
71032011-08-03 Thomas Quinot <quinot@adacore.com>
7104
7105 * a-except-2005.adb: Minor reformatting.
7106
71072011-08-03 Ed Schonberg <schonberg@adacore.com>
7108
7109 * sem_warn.adb (Check_One_Unit): if the only mention of a withed unit
7110 is a renaming declaration in the private part of a package, do not emit
7111 a warning that the with_clause could be moved because the renaming may
7112 be used in the body or in a child unit.
7113
71142011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
7115
7116 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
7117 Propagate the Comes_From_Source attribute from the original return
7118 object to the renaming.
7119
71202011-08-03 Jose Ruiz <ruiz@adacore.com>
7121
7122 * exp_ch7.adb (Build_Raise_Statement): Do not call
7123 Raise_From_Controlled_Operation when this routine is not present in
7124 the run-time library.
7125 (Cleanup_Protected_Object, Cleanup_Task): For restricted run-time
7126 libraries (Ravenscar), tasks are non-terminating, and protected objects
7127 and tasks can only appear at library level, so we do not want
7128 finalization of protected objects nor tasks.
7129 * exp_intr.adb: Minor clarification in comment.
7130 bindgen.adb (Gen_Adainit_Ada, Gen_Main_C, Gen_Output_File_Ada,
7131 Gen_Output_File_C): Remove references to finalization of library-level
7132 objects when using restricted run-time libraries.
7133
71342011-08-03 Ed Schonberg <schonberg@adacore.com>
7135
7136 * sem_ch3.adb (Build_Discriminant_Constraints): Set
7137 Original_Discriminant only if the parent type is a generic formal.
7138
deb8dacc
HK
71392011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
7140
7141 * exp_ch13.adb: Add with and use clause for Targparm;
7142 (Expand_N_Free_Statement): Prevent the generation of a custom
7143 Deallocate on .NET/JVM targets since this requires pools and address
7144 arithmetic.
7145 * exp_ch4.adb (Expand_Allocator_Expression): When compiling for
7146 .NET/JVM targets, attach the newly allocated object to the access
7147 type's finalization collection. Do not generate a call to
7148 Set_Finalize_Address_Ptr on .NET/JVM because this routine does not
7149 exist in the runtime.
7150 (Expand_N_Allocator): When compiling for .NET/JVM targets, do not
7151 create a custom Allocate for object that do not require initialization.
7152 Attach a newly allocated object to the access type's finalization
7153 collection on .NET/JVM.
7154 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add special processing for
7155 assignment of controlled types on .NET/JVM. The two hidden pointers
7156 Prev and Next and stored and later restored after the assignment takes
7157 place.
7158 * exp_ch6.adb (Expand_Call): Add local constant Curr_S. Add specialized
7159 kludge for .NET/JVM to recognize a particular piece of code coming from
7160 Heap_Management and change the call to Finalize into Deep_Finalize.
7161 * exp_ch7.adb (Build_Finalization_Collection): Allow the creation of
7162 finalization collections on .NET/JVM only for types derived from
7163 Controlled. Separate the association of storage pools with a collection
7164 and only allow it on non-.NET/JVM targets.
7165 (Make_Attach_Call): New routine.
7166 (Make_Detach_Call): New routine.
7167 (Process_Object_Declarations): Suppress the generation of
7168 build-in-place return object clean up code on .NET/JVM since it uses
7169 pools.
7170 * exp_ch7.ads (Make_Attach_Call): New routine.
7171 (Make_Detach_Call): New routine.
7172 * exp_intr.adb Add with and use clause for Targparm.
7173 (Expand_Unc_Deallocation): Detach a controlled object from a collection
7174 on .NET/JVM targets.
7175 * rtsfind.ads: Add entries RE_Attach, RE_Detach and
7176 RE_Root_Controlled_Ptr to tables RE_Id and RE_Unit_Table.
7177 * snames.ads-tmpl: Add name Name_Prev. Move Name_Prev to the special
7178 names used in finalization.
7179
71802011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
7181
7182 * a-fihema.adb: Add with and use clauses for System.Soft_Links.
7183 (Attach, Detach): Lock the current task when chaining an object onto a
7184 collection.
7185
df3e68b1
HK
71862011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
7187
7188 * a-except.adb, a-except-2005.adb (Raise_From_Controlled_Operation):
7189 Rewritten to create the message strings when the exception is not
7190 raised by an abort during finalization.
7191 * a-except.ads, a-except-2005.ads: Add pragma Export for procedure
7192 Raise_From_Controlled_Operation and update its associated comment.
7193 * a-fihema.ads, a-fihema.adb: New GNAT unit.
7194 Ada.Finalization.Heap_Management provides key functionality
7195 associated with controlled objects on the heap, their creation,
7196 finalization and reclamation. Type Finalization_Collection is
7197 effectively a wrapper which sits ontop of a storage pool and performs
7198 all necessary bookkeeping for all the objects it contains. Each
7199 access-to-controlled or access-to-class-wide type receives a collection
7200 as part of its expansion. The compiler generates buffer code and
7201 invokes Allocate / Deallocate to create and destroy allocated
7202 controlled objects.
7203 * a-finali.adb ("="): Removed.
7204 * a-finali.ads ("="): Removed. Controlled types no longer carry hidden
7205 fields Prev and Next.
7206 * ali.adb (Scan_ALI): Add parsing code to process PF / Has_Finalizer.
7207 A library unit with at least one controlled object on the library level
7208 has a special finalizer which is invoked by the binder. To signal this,
7209 ali files carry field PF.
7210 * ali.ads: New field in type Unit_Record called Has_Finalizer. Add
7211 associated comment on field usage.
7212 * a-tags.adb (Get_RC_Offset): Removed.
7213 (Needs_Finalization): New routine.
7214 * a-tags.ads: Update the structure of the GNAT dispatch tables.
7215 Dispatch tables now carry field Needs_Finalization which provides
7216 runtime indication whether a type is controlled or has controlled
7217 components or both. Remove field RC_Offset.
7218 (Get_RC_Offset): Removed along with its associated pragma Export.
7219 Since tagged types with controlled components no longer carry hidden
7220 field _controller, the special mechanism to retrieve its location is no
7221 longer needed.
7222 (Needs_Finalization): New routine.
7223 * atree.ads, atree.adb (Elist24): New routine.
7224 (Set_Elist24): New routine.
7225 * atree.h: Add a define clause for Elist24.
7226 * bindgen.adb New library-level variable Lib_Final_Built.
7227 (Gen_Adafinal_Ada): Reimplemented. Depending on the restrictions or the
7228 presence of a VM target, the routine generates calls to the proper
7229 library finalization routine.
7230 (Gen_Adainit_Ada): Import Finalize_Library_Objects only on non-VM
7231 targets. Set the correct library finalization routine depending on
7232 whether the library has controlled objects or this is a VM compilation.
7233 (Gen_Finalize_Library_Ada): New routine. This procedure generates calls
7234 to library-level finalizers of compiled units in reverse order of
7235 elaboration. It also produces exception management code and reraises a
7236 potential exception after all units have been finalized.
7237 (Gen_Finalize_Library_C): New routine. This procedure generates calls to
7238 library-level finalizers of compiled units in reverse order of
7239 elaboration.
7240 (Gen_Finalize_Library_Defs_C): New routine. This procedure generates the
7241 definitions of all library-level finalizers available to the compilation
7242 (Gen_Main_Ada): Directly call Adafinal which now contails all target
7243 dependent code.
7244 (Gen_Main_C): Add new local constant Needs_Library_Finalization. Call
7245 System.Standard_Library.Adafinal directly. If the library needs
7246 finalization actions, create the sequence of finalization calls.
7247 (Gen_Output_File_Ada): Alphabetize local variables and constants.
7248 Generate a with clause for System.Soft_Links when compiling for a VM.
7249 Remove the code which imports System.Standard_Library.Adafinal as
7250 Do_Finalize. Generate the library finalization routine.
7251 (Gen_Output_File_C): Add new local constant Needs_Library_Finalization.
7252 If the library needs finalization actions, create all the definitions
7253 of library- level finalizers.
7254 (Has_Finalizer): New routine. Determines whether at least one compiled
7255 unit has a library-level finalizer.
7256 Add type Qualification_Mode.
7257 (Set_Unit_Name): Add a formal which controls the replacement of a dot.
7258 * einfo.adb: New usage of field 15 as Return_Flag.
7259 Remove Finalization_Chain_Entity from the usages of field 19.
7260 Remove Associated_Final_Chain from the usages of field 23.
7261 New usage of field 23 as Associated_Collection.
7262 New usage of field 24 as Finalizer.
7263 New usage of flag 252 as Is_Processed_Transient.
7264 (Associated_Final_Chain): Removed.
7265 (Associated_Collection): New routine.
7266 (Finalization_Chain_Entity): Removed.
7267 (Finalizer): New routine.
7268 (Is_Finalizer): New routine.
7269 (Is_Processed_Transient): New routine.
7270 (Return_Flag): New routine.
7271 (Set_Associated_Final_Chain): Removed.
7272 (Set_Associated_Collection): New routine.
7273 (Set_Finalization_Chain_Entity): Removed.
7274 (Set_Finalizer): New routine.
7275 (Set_Is_Processed_Transient): New routine.
7276 (Set_Return_Flag): New routine.
7277 (Write_Entity_Flags): Include Is_Processed_Transient to the list of
7278 displayed flags.
7279 (Write_Field8_Name): Alphabetize the output.
7280 (Write_Field11_Name): Alphabetize the output.
7281 (Write_Field12_Name): Alphabetize the output.
7282 (Write_Field13_Name): Alphabetize the output.
7283 (Write_Field14_Name): Alphabetize the output.
7284 (Write_Field15_Name): Alphabetize the output.
7285 (Write_Field16_Name): Alphabetize the output.
7286 (Write_Field17_Name): Alphabetize the output.
7287 (Write_Field18_Name): Alphabetize the output.
7288 (Write_Field19_Name): Alphabetize the output. Remove the output of
7289 Finalization_Chain_Entity.
7290 (Write_Field20_Name): Alphabetize the output.
7291 (Write_Field21_Name): Alphabetize the output.
7292 (Write_Field22_Name): Alphabetize the output.
7293 (Write_Field23_Name): Alphabetize the output. Remove the output of
7294 Associated_Final_Chain. Add output for Associated_Collection.
7295 (Write_Field24_Name): Alphabetize the output.
7296 (Write_Field25_Name): Add output for Finalizer.
7297 (Write_Field26_Name): Alphabetize the output.
7298 (Write_Field27_Name): Alphabetize the output.
7299 (Write_Field28_Name): Alphabetize the output.
7300 * einfo.ads: Add new field description for Associated_Collection and
7301 its uses in nodes.
7302 Remove Associated_Final_Chain and its uses in nodes.
7303 Remove Finalization_Chain_Entity and its uses in nodes.
7304 Add new field description for Finalizer and its uses in nodes.
7305 Add new synthesized attribute Is_Finalizer.
7306 Add new flag description for Is_Processed_Transient and its uses in
7307 nodes.
7308 Add new field description for Return_Flag and its uses in nodes.
7309 (Associated_Final_Chain): Removed along with its pragma Inline.
7310 (Associated_Collection): New routine and pragma Inline.
7311 (Finalization_Chain_Entity): Removed along with its pragma Inline.
7312 (Finalizer): New routine and pragma Inline.
7313 (Is_Finalizer): New routine and pragma Inline.
7314 (Is_Processed_Transient): New routine and pragma Inline.
7315 (Return_Flag): New routine and pragma Inline.
7316 (Set_Associated_Final_Chain): Removed along with its pragma Inline.
7317 (Set_Associated_Collection): New routine and pragma Inline.
7318 (Set_Finalization_Chain_Entity): Removed along with its pragma Inline.
7319 (Set_Finalizer): New routine and pragma Inline.
7320 (Set_Is_Processed_Transient): New routine and pragma Inline.
7321 (Set_Return_Flag): New routine and pragma Inline.
7322 * exp_aggr.adb: Alphabetize subprograms.
7323 (Build_Array_Aggr_Code): Remove formal Flist and its associated comment.
7324 (Build_Record_Aggr_Code): Remove formals Flist and Obj along with their
7325 associated comments. Remove local variables External_Final_List and
7326 Attach.
7327 Rename Ctrl_Stuff_Done to Finalization_Done. Rename local variable A to
7328 Ancestor. Remove the retrieval of finalization lists. Update the call to
7329 Make_Adjust_Call.
7330 (Convert_Aggr_In_Allocator): Remove the retrieval of finalization
7331 lists. Update the call to Late_Expansion.
7332 (Convert_Aggr_In_Assignment): Update the call to Late_Expansion.
7333 (Convert_Aggr_In_Object_Decl): Update the call to Late_Expansion.
7334 (Gen_Assign): Remove the retrieval of the finalization list used to
7335 build the assignment. Update the calls to Make_Init_Call and
7336 Make_Adjust_Call.
7337 (Gen_Ctrl_Actions_For_Aggr): Renamed to Generate_Finalization_Actions.
7338 Remove the mechanism to determine attachment levels and finalization
7339 list retrieval. Remove the processing for coextensions.
7340 (Init_Controller): Removed. Controllers no longer exist.
7341 (Late_Expansion): Remove formals Flist and Obj along with their
7342 associated comments. Update the calls to Build_Record_Aggr_Code and
7343 Build_Array_Aggr_Code.
7344 * exp_ch13.adb (Expand_N_Free_Statement): New routine.
7345 (Expand_N_Freeze_Entity): Add special processing for finalizers which
7346 appear in entry bodies, protected subprograms and task bodies.
7347 * exp_ch13.ads (Expand_N_Free_Statement): New routine.
7348 * exp_ch3.adb (Add_Final_Chain): Removed.
7349 (Build_Array_Init_Proc): Alphabetize local variables.
7350 (Build_Assignment): Alphabetize local variables. Update the call to
7351 Maked_Adjust_Call.
7352 (Build_Class_Wide_Master): Rename local variables to better reflect
7353 their role.
7354 (Build_Discriminant_Assignments): Code reformatting.
7355 (Build_Init_Call_Thru): Code reformatting.
7356 (Build_Init_Procedure): Code reformatting. Generate a special version
7357 of Deep_Finalize which is capable of finalizing all initialized
7358 components and ignore the rest.
7359 (Build_Init_Statements): Rename local variables to better reflect their
7360 role.
7361 Reimplement the mechanism to include the creation and update of an index
7362 variable called a "counter". It is used as a bookmark for tracing
7363 initialized and non-initialized components.
7364 (Build_Initialization_Call): Remove local variable Controller_Typ.
7365 Alphabetize all local variables. Remove the initialization of the
7366 record controller and update the call to Make_Init_Call.
7367 (Build_Record_Init_Proc): Rename formal Pe to Rec_Ent.
7368 New local variable Counter.
7369 (Constrain_Array): Alphabetize.
7370 (Expand_Freeze_Array_Type): Create a collection instead of a
7371 finalization list.
7372 (Expand_Freeze_Class_Wide_Type): New routine. Creates TSS primitive
7373 Finalize_Address which is used in conjunction with allocated controlled
7374 objects.
7375 (Expand_N_Object_Declaration): Remove the creation of a finalization
7376 list for anonymous access types. Update the calls to Make_Init_Call and
7377 Make_Adjust_Call.
7378 (Expand_Freeze_Record_Type): Remove local variable Flist. Remove the
7379 retrieval of finalization lists. Remove the expansion of the record
7380 controller. Create TSS primitive Finalize_Address used in conjunction
7381 with controlled objects on the heap. Create finalization collections
7382 for access-to-controlled record components.
7383 (Expand_Record_Controller): Removed.
7384 (Freeze_Type): Remove the freezing of record controllers. Freezing of
7385 class-wide types now requires additional processing. Create
7386 finalization collections for access-to-controlled types.
7387 (Increment_Counter): New routine.
7388 (Make_Counter): New routine.
7389 (Make_Eq_If): Remove the mention of Name_uController.
7390 (Make_Predefined_Primitive_Specs): There is no longer need to skip
7391 types coming from System.Finalization_Root.
7392 (Predef_Deep_Spec): Reimplemented to reflect the new parameter profiles.
7393 (Predefined_Primitive_Bodies): There is no longer need to skip types
7394 coming from System.Finalization_Root.
7395 (Stream_Operation_OK): Do not generate stream routines for
7396 type Ada.Finalization.Heap_Management.Finalization_Collection.
7397 * exp_ch3.ads: Alphabetize subprograms.
7398 * exp_ch4.adb: Remove with and use clause for Sem_Ch8.
7399 Add with and use clause for Lib.
7400 (Complete_Coextension_Finalization): Removed.
7401 (Complete_Controlled_Allocation): New routine. Create a finalization
7402 collection for anonymous access-to-controlled types. Create a custom
7403 Allocate which interfaces with the back end and the machinery in
7404 Heap_Management.
7405 (Expand_Allocator_Expression): Add necessary calls to
7406 Complete_Controlled_Allocation. Remove the retrieval of finalization
7407 lists. Update the calls to Make_Adjust_Call. Generate a call to
7408 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
7409 the associated collection.
7410 (Expand_N_Allocator): Remove the processing for dynamic coextensions.
7411 Code clean up. Remove the retrieval of finalization lists and
7412 attachment levels.
7413 Update the call to Make_Init_Call. Generate a call to
7414 Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
7415 the associated collection.
7416 (Get_Allocator_Final_List): Removed. Finalization lists are not
7417 available.
7418 (Suitable_Element): Remove the mention of Name_uController.
7419 * exp_ch5.adb: Remove with and use clauses for Ttypes and Uintp.
7420 (Make_Tag_Ctrl_Assignment): Rewritten to simply do a finalization of
7421 the left hand side, carry out the assignment and adjust the left hand
7422 side.
7423 * exp_ch6.adb (Add_Final_List_Actual_To_Build_In_Place_Call): Removed.
7424 (Add_Collection_Actual_To_Build_In_Place_Call): New routine.
7425 (BIP_Formal_Suffix): Rename BIP_Final_List and BIPfinallist to
7426 BIP_Collection and BIPcollection.
7427 (Build_Heap_Allocator): New routine used to allocate the return object
7428 of a build-in-place function onto a collection.
7429 (Expand_Ctrl_Function_Call): Moved from Exp_Ch7.
7430 (Expand_Call): Do not replace direct calls to Deep routines with their
7431 aliases.
7432 (Expand_N_Extended_Return_Statement): Give all variables shorter names
7433 and update their occurrences. Add a special return flag to monitor the
7434 [ab]normal execution of the function. The flag is set right before the
7435 return statement.
7436 Rewrite the mechanism used to allocate a build-in-place return object
7437 on the heap or on a storage pool.
7438 (Is_Direct_Deep_Call): New routine.
7439 (Make_Build_In_Place_Call_In_Allocator): Add a collection to a
7440 build-in-place function call instead of a final list. Build a call to
7441 Set_Finalize_Address_Ptr to decorate the associated collection.
7442 (Make_Build_In_Place_Call_In_Anonymous_Context): Create a temporary in
7443 order to name the build-in-place function call's result for later
7444 finalization. Add a collection to a build-in-place function call
7445 instead of a final list.
7446 (Make_Build_In_Place_Call_In_Assignment): Add a collection to a
7447 build-in-place function call instead of a final list. Remove the code
7448 which moves one final list and transforms it into the actual in a
7449 nested build-in-place call.
7450 (Make_Build_In_Place_Call_In_Object_Declaration): Add a collection to a
7451 build-in-place function call instead of a final list.
7452 (Move_Final_List): Removed.
7453 (Needs_BIP_Collection): New routine.
7454 (Needs_BIP_Final_List): Removed.
7455 * exp_ch6.ads: Replace BIP_Final_List with BIP_Collection in
7456 enumeration type BIP_Formal_Kind.
7457 Update the related comment.
7458 (Needs_BIP_Collection): New routine.
7459 (Needs_BIP_Final_List): Removed.
7460 * exp_ch7.adb: Add with and use clauses for Elists, Exp_Ch6, Stringt
7461 and Ttypes. Remove with and use clauses for Sem_Type. Alphabetize the
7462 majority of subprograms in this unit. Add Name_Finalize_Address to
7463 array Name_Of and TSS_Finalize_Address to array Deep_Name_Of.
7464 (Build_Adjust_Or_Finalize_Statements): Create the adjust or finalization
7465 statements for an array type.
7466 (Build_Adjust_Statements): Create the adjust statements for a record
7467 type.
7468 (Build_Cleanup_Statements): New routine. A procedure which given any
7469 construct containing asynchronous calls, references to _master, or is a
7470 task body, a task allocation or a protected body produces the necessary
7471 runtime calls to clean up these constructs.
7472 (Build_Exception_Handler): New routine.
7473 (Build_Final_List): Removed.
7474 (Build_Finalization_Collection): New routine. A core procedure which
7475 creates a collection to service heap allocated controlled objects
7476 associated with an access-to-controlled type.
7477 (Build_Finalize_Statements): Create the finalization statements for a
7478 record types.
7479 (Build_Finalizer): New routine. A core procedure which given any
7480 construct with declarations and/or statements detects all objects which
7481 need any type of clean up (controlled objects, protected objects) and
7482 generates all necessary code to clean up the said objects in the proper
7483 order.
7484 (Build_Finalizer_Call): New routine.
7485 (Build_Initialize_Statements): Create the initialization statements for
7486 an array type. The generated routine contains code to finalize partially
7487 initialized arrays.
7488 (Build_Object_Declarations): New routine.
7489 (Build_Raise_Statement): New routine.
7490 (Clean_Simple_Protected_Objects): Removed.
7491 (Controller_Component): Removed.
7492 (Enclosing_Function): New routine.
7493 (Expand_Cleanup_Actions): Create a finalizer for a construct which has
7494 either declarations or statements or both.
7495 (Expand_N_Package_Body): Create a finalizer for a non-generic package.
7496 (Expand_N_Package_Declaration): Create a finalizer for a non-generic
7497 package.
7498 (Find_Final_List): Removed.
7499 (Global_Flist_Ref): Removed.
7500 (In_Finalization_Root): Removed.
7501 (Insert_Actions_In_Scope_Around): Determine the range of the transient
7502 scope in terms of tree nodes. Process all transient variables within
7503 that range.
7504 (Make_Adjust_Call): Rewritten. There is no longer an attach call
7505 generated after the adjust.
7506 (Make_Attach_Call): Removed.
7507 (Make_Call): New routine.
7508 (Make_Clean): Removed.
7509 (Make_Deep_Array_Body): Rewritten to simply invoke the appropriate
7510 build routines.
7511 (Make_Deep_Proc): Rewritten to generate the new profile signature used
7512 in Deep routines.
7513 (Make_Deep_Record_Body): Rewritten to simply invoke the appropriate
7514 build routines.
7515 (Make_Final_Call): Modified to simply create a call to either
7516 Deep_Finalize or Finalize.
7517 (Make_Finalize_Address_Body): New routine.
7518 (Make_Finalize_Address_Stmts): New routine. A function which produces
7519 TSS primitive Finalize_Address used in conjunction with heap allocated
7520 controlled objects.
7521 (Make_Handler_For_Ctrl_Operation): Add specialized code for .NET/JVM.
7522 (Make_Init_Call): Rewritten. There is no longer an attach call
7523 generated after initialization.
7524 (Make_Local_Deep_Finalize): New routine.
7525 (Make_Set_Finalize_Address_Ptr_Call): New routine.
7526 (Make_Transient_Block): Remove the finalization list retrieval and
7527 manipulation.
7528 (Needs_Finalization): Moved to Exp_Util.
7529 (Parent_Field_Type): New routine.
7530 (Preprocess_Components): New routine.
7531 (Process_Transient_Objects): New routine.
7532 (Wrap_HSS_In_Block): New routine.
7533 (Wrap_Transient_Declaration): Remove finalization list management and
7534 controller insertion.
7535 (Wrap_Transient_Expression): Code reformatting.
7536 (Wrap_Transient_Statement): Code reformatting.
7537 * exp_ch7.ads (Build_Final_List): Removed.
7538 (Build_Finalization_Collection): New routine.
7539 (Build_Raise_Statement): New routine.
7540 (Controller_Component): Removed.
7541 (Expand_Ctrl_Function_Call): Moved to Exp_Ch6.
7542 (Find_Final_List): Removed.
7543 (In_Finalization_Root): Removed.
7544 (Is_Simple_Protected_Type): Update related comment.
7545 (Make_Adjust_Call): New parameter profile and associated comments.
7546 (Make_Attach_Call): Removed.
7547 (Make_Final_Call): New parameter profile and associated comments.
7548 (Make_Finalize_Address_Body): New routine.
7549 (Make_Init_Call): New parameter profile and associated comments.
7550 (Make_Local_Deep_Finalize): New routine.
7551 (Make_Set_Finalize_Address_Ptr_Call): New routine.
7552 (Needs_Finalization): Moved to Exp_Util.
7553 * exp_ch9.adb (Add_Object_Pointer): Code reformatting.
7554 (Expand_N_Protected_Body): Remove the handling of finalization lists.
7555 (Find_Protection_Type): Moved to Exp_Util.
7556 * exp_disp.adb: Remove with and use clauses for Exp_Ch7.
7557 (Make_DT): Update sequence of dispatch table initialization. Remove the
7558 initialization of field RC_Offset. Add initialization of field Needs_
7559 Finalization.
7560 * exp_intr.adb (Expand_Unc_Deallocation): Code reformatting.
7561 Reimplement how an object is first finalized, then deallocated.
7562 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
7563 Code reformatting.
7564 * exp_tss.ads: Add special suffix for TSS primitive Finalize_Address.
7565 Register TSS_Finalize_Address with type TSS_Names.
7566 * exp_util.adb (Build_Allocate_Deallocate_Proc): New routine. This core
7567 procedure provides the interface between an allocation / deallocation
7568 and the support machinery in Ada.Finalization.Heap_Management.
7569 (Find_Init_Call): Code reformatting.
7570 (Find_Init_Call_In_List): Code reformatting.
7571 (Find_Protection_Type): Moved from Exp_Ch9.
7572 (Find_Prim_Op): Reimplement to add preference of recovered primitive.
7573 (Has_Controlled_Coextensions): Removed.
7574 (Has_Controlled_Objects): New routine.
7575 (In_Library_Level_Package_Body): New routine.
7576 (Insert_Action_After): New routine.
7577 (Is_Finalizable_Transient): New routine. This predicate determines
7578 whether an object declaration is one of the many variants of controlled
7579 transients.
7580 (Is_Null_Access_BIP_Func_Call): New routine.
7581 (Is_Non_BIP_Func_Call): New routine.
7582 (Is_Related_To_Func_Return): New routine.
7583 (Needs_Finalization): Moved from Exp_Ch7.
7584 * exp_util.ads (Build_Allocate_Deallocate_Proc): New routine.
7585 (Find_Protection_Type): Moved from Exp_Ch9.
7586 (Has_Controlled_Coextensions): Removed.
7587 (Has_Controlled_Objects): New routine.
7588 (In_Library_Level_Package_Body): New routine.
7589 (Insert_Action_After): New routine.
7590 (Is_Finalizable_Transient): New routine.
7591 (Is_Null_Access_BIP_Func_Call): New routine.
7592 (Is_Non_BIP_Func_Call): New routine.
7593 (Is_Related_To_Func_Return): New routine.
7594 (Needs_Finalization): Moved from Exp_ch7.
7595 * expander.adb (Expand): Add a case for N_Free_Statement.
7596 * freeze.adb (Freeze_All): Replace the generation of a finalization
7597 list with a collection for access-to-controlled types.
7598 (Freeze_Entity): Code reformatting.
7599 (Freeze_Record_Type): Remove the freezing of a record controller
7600 component.
7601 (Freeze_Subprogram): Code reformatting.
7602 * inline.adb (Cleanup_Scopes): Remove the reset of the scope
7603 finalization list.
7604 * lib-writ.adb (Write_Unit_Information): Output "PF" when a package
7605 has a library-level finalizer.
7606 * lib-writ.ads: Add "PF" to the sequence of unit attributes.
7607 * a-filico.ads, a-filico.adb, s-finimp.ads, s-finimp.adb: Removed.
7608 * Makefile.rtl: Remove a-filico and s-finimp from the list of object
7609 files. Add a-fihema to the list of object files.
7610 * par-ch4.adb:
7611 Alphabetize the associations in type Is_Parameterless_Attribute.
7612 * rtsfind.ads: Ada.Finalization_List.Controller and
7613 System.Finalization_Implementation are no longer a GNAT unit.
7614 Update the range of type Ada_Finalization_Child. Remove the following
7615 recoverable entities:
2c7f9cc0 7616
df3e68b1
HK
7617 RE_Attach_To_Final_List
7618 RE_Deep_Tag_Attach
7619 RE_Finalize_List
7620 RE_Finalize_One
7621 RE_Finalizable_Ptr_Ptr
7622 RE_Global_Final_List
7623 RE_Limited_Record_Controller
7624 RE_List_Controller
7625 RE_Move_Final_List
7626 RE_Record_Controller
7627 RE_Simple_List_Controller
2c7f9cc0 7628
df3e68b1 7629 Add the following recoverable entities:
2c7f9cc0 7630
df3e68b1
HK
7631 RE_Add_Offset_To_Address
7632 RE_Allocate
7633 RE_Base_Pool
7634 RE_Deallocate
7635 RE_Exception_Identity
7636 RE_Finalization_Collection
7637 RE_Finalization_Collection_Ptr
7638 RE_Needs_Finalization
7639 RE_Save_Library_Occurrence
7640 RE_Set_Finalize_Address_Ptr
7641 RE_Set_Storage_Pool_Ptr
7642 RE_Storage_Count
7643 * sem_aggr.adb (Resolve_Record_Aggregate): Remove mention of
7644 Name_uController.
7645 * sem_aux.adb (First_Discriminant): Remove mention of Name_uController.
7646 (First_Stored_Discriminant): Remove the mention of Name_uController.
7647 * sem_aux.ads: Comment reformatting.
7648 * sem_ch10.adb (Build_Chain): Signal the class-wide creation machinery
7649 to redecorate an already existing class-wide type.
7650 (Decorate_Tagged_Type): New parameter profile and associated comment.
7651 Create a "shadow class-wide type" for a shadow entity.
7652 * sem_ch11.adb (Analyze_Exception_Handlers): Remove the dubious setting
7653 of the final chain along with the associated comment.
7654 * sem_ch3.adb (Access_Type_Declaration): Add new local variable
7655 Full_Desig and set it to the full view of the designated type.
7656 Initialize the finalization collection to empty.
7657 (Build_Derived_Record_Type): Alphabetize local variables. Code
7658 reformatting.
7659 (Collect_Fixed_Components): Remove the mention of Name_uController.
7660 (Create_Constrained_Components): Remove the mention of Name_uController.
7661 (Make_Class_Wide_Type): Add specialized code to redecorate an existing
7662 class-wide type of a shadow entity.
7663 (Process_Full_View): Update the machinery which marks type
7664 Limited_Controlled's entity as limited.
7665 * sem_ch4.adb (Analyze_One_Call): Code reformatting.
7666 * sem_ch6.adb (Create_Extra_Formals): Do not generate a finalization
7667 list, instead make a collection build-in-place formal.
7668 * sem_ch8.adb (Analyze_Object_Renaming): Look at the available view of
7669 a designated type in order to establish a match between the renaming
7670 and the renamed entity.
7671 (Find_Selected_Component): Add guard to prevent spurious exceptions
7672 from being raised on .NET/JVM.
7673 * sem_disp.adb (Check_Dispatching_Operation): Include Finalize_Address
7674 to the list of primitive that need special processing. Update arrays
7675 C_Names and D_Names.
7676 (Replace_Types): Handle class-wide types.
7677 * sem_elab.adb (Check_A_Call): Since Deep_Initialize now has a
7678 different parameter profile, look at the first formal.
7679 * sem_prag.adb: Remove with and use clauses for Exp_Ch7. Add with and
7680 use clauses for Exp_Util.
7681 * sem_res.adb: Remove with and use clauses for Elists.
7682 (Propagate_Coextensions): Removed.
7683 (Resolve_Allocator): Do not propagate the list of coextensions from one
7684 allocator to another.
7685 * sem_util.adb (Build_Actual_Subtype_Of_Component): Rename variable
7686 Deaccessed_T to Desig_Typ.
7687 (Enter_Name): Remove the mention of Name_uController.
7688 (Gather_Components): Remove the mention of Name_uController.
7689 (Incomplete_Or_Private_View): New routine.
7690 (Is_Coextension_Root): Removed.
7691 (Is_Fully_Initialized_Type): Remove the mention of Name_uController.
7692 * sem_util.ads (Incomplete_Or_Private_View): New routine.
7693 (Is_Coextension_Root): Removed.
7694 * s-finroo.ads: Remove with clause for Ada.Unchecked_Conversion.
7695 Controlled types are now derived from a null tagged record. Remove
7696 types Finalizable_Ptr, Finalizable and Empty_Root_Controlled.
7697 * sinfo.adb (Coextensions): Removed.
7698 (Set_Coextensions): Removed.
7699 * sinfo.ads: Remove Coextensions from the explanation of node fields
7700 and its uses in nodes.
7701 Update the field usage of N_Allocator.
7702 (Coextensions): Removed along with its pragma Inline.
7703 (Set_Coextensions): Removed along with its pragma Inline.
7704 * snames.ads-tmpl: Remove names
2c7f9cc0 7705
df3e68b1
HK
7706 Name_uClean
7707 Name_uController
7708 Name_uFinal_List
7709 Name_uLocal_Final_List
7710 Name_Finalization_Root
7711 Name_Next
7712 Name_Prev
2c7f9cc0 7713
df3e68b1 7714 Add names
2c7f9cc0 7715
df3e68b1
HK
7716 Name_uFinalizer
7717 Name_Finalize_Address
7718 * s-pooglo.adb (Allocate): Add overriding indicator.
7719 (Deallocate): Add overriding indicator.
7720 (Storage_Size): Add overriding indicator.
7721 * s-soflin.adb (Adafinal_NT): Invoke Finalize_Library_Objects rather
7722 than Finalize_Global_List.
7723 (Null_Finalize_Global_List): Removed.
7724 (Save_Library_Occurrence): New routine.
7725 * s-soflin.ads: Remove variable Finalize_Global_List along with its
7726 initialization. Add variable Finalize_Library_Objects along with its
7727 pragma Export. Add variables Library_Exception and
7728 Library_Exception_Set along with their pragma Export.
7729 (Null_Finalize_Global_List): Removed.
7730 (Save_Library_Occurrence): New routine.
7731 * s-tassta.adb (Finalize_Global_Tasks): Call Finalize_Library_Objects
7732 rather than Finalize_Global_List.
7733 * tbuild.adb (Unchecked_Convert_To): Capture and set the parent field
7734 of the constructed node.
7735
2ee06322
RO
77362011-08-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7737
7738 * link.c: Include "auto-host.h" before system headers.
7739
f77b022b
VC
77402011-08-03 Vincent Celier <celier@adacore.com>
7741
7742 * make.adb (Gnatmake): Add to table Library_Projs only library projects
7743 that are not extended. Do not check if a library project that is
7744 extended should be regenerated. Do not add to table Library_Paths the
7745 libraries that are in extended projects. Link only with libraries that
7746 are in libray projects that are not extended.
7747 * prj-nmsc.adb (Check_Library_Attributes): Do not reset flag Library
7748 for a library project that is extended.
7749
0187b60e
AC
77502011-08-03 Gary Dismukes <dismukes@adacore.com>
7751
7752 * sem_ch6.adb (Find_Corresponding_Spec): When in an instance, skip
7753 conforming subprogram renamings that appear to be completions if they
7754 are not fully conformant.
7755 Such renamings are homographs but not completions.
7756 * sem_type.adb (Disambiguate): Handle disambiguation of overloaded
7757 names in a subprogram renaming that appears in an instance.
7758
77592011-08-03 Ed Schonberg <schonberg@adacore.com>
7760
7761 * exp_util.adb (Expand_Subtype_From_Expr): if the type is limited but
7762 not immutably limited, build actual subtype from expression to provide
7763 proper bounds to caller.
7764
77652011-08-03 Gary Dismukes <dismukes@adacore.com>
7766
7767 * sem_ch8.adb: Minor comment correction.
7768
77692011-08-03 Thomas Quinot <quinot@adacore.com>
7770
7771 * exp_strm.adb (Build_Array_Input_Function): In Ada 2005 mode, when
7772 returning a limited array, use an extended return statement.
7773
77742011-08-03 Vincent Celier <celier@adacore.com>
7775
7776 * make.adb (Initialize): If --subdirs= is used, but no project file is
7777 specified, attempt to create the specify subdir if it does not already
7778 exist and use it as the object directory as if -D had been specified.
7779
77802011-08-03 Arnaud Charlet <charlet@adacore.com>
7781
7782 * s-tpopsp-vms.adb: New file.
7783 * s-taprop-vms.adb: Put back ATCB_Key, since needed by this file on VMS.
7784 * gcc-interfaces/Makefile.in: Use s-taprop-vms.adb on VMS.
7785
e280f981
AC
77862011-08-03 Emmanuel Briot <briot@adacore.com>
7787
7788 * make.adb, makeutl.adb, makeutl.ads, clean.adb (Makeutl.Queue): new
7789 package.
7790
77912011-08-03 Yannick Moy <moy@adacore.com>
7792
7793 * cstand.adb (Create_Standard): select Universal_Integer as an ALFA type
7794 * sem_ch3.adb (Array_Type_Declaration): detect array types in ALFA
7795 * sem_util.adb, sem_util.ads (Has_Static_Array_Bounds): new function to
7796 detect that an array has static bounds.
7797
98c99a5a
AC
77982011-08-03 Thomas Quinot <quinot@adacore.com>
7799
7800 * exp_dist.adb: Minor reformatting.
7801
78022011-08-03 Arnaud Charlet <charlet@adacore.com>
7803
7804 * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-vms.adb
7805 (ATCB_Key): Removed, not always used.
7806
78072011-08-03 Emmanuel Briot <briot@adacore.com>
7808
7809 * gnatcmd.adb, make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads,
7810 clean.adb, prj-conf.adb, prj-env.adb, prj-env.ads (Makeutl): remove
7811 most remaining global variables.
7812
686d0984
AC
78132011-08-03 Robert Dewar <dewar@adacore.com>
7814
7815 * gnatcmd.adb, prj-proc.adb, mlib-prj.adb, prj.adb, makeutl.ads,
7816 prj-util.adb, prj-util.ads, prj-conf.adb, prj-env.adb: Minor
7817 reformatting.
7818
78192011-08-03 Javier Miranda <miranda@adacore.com>
7820
7821 * exp_util.adb (Is_VM_By_Copy_Actual): Include N_Slide nodes as actuals
7822 that must be passed by copy in VM targets.
7823
78242011-08-03 Emmanuel Briot <briot@adacore.com>
7825
7826 * prj.ads, prj-nmsc.adb (Files_Htable): removed this htable, which
7827 duplicates a similar htable now in the project tree.
7828
78292011-08-03 Claire Dross <dross@adacore.com>
7830
7831 * a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
7832 a-cofove.adb ("=", Length, Is_Empty, Clear, Assign, Copy, Element,
7833 Replace_Element, Query_Element, Update_Element, Move, Insert, Prepend,
7834 Append, Delete, Delete_First, Delete_Last, Reverse_Element, Swap,
7835 Splice, First, First_Element, Last, Last_Element, Next, Previous, Find,
7836 Reverse_Find, Contains, Has_Element, Iterate, Reverse_Iterate, Capacity,
7837 Reserve_Length, Length, Strict_Equal, Left, Right): Data-structure
7838 update.
7839
78402011-08-03 Arnaud Charlet <charlet@adacore.com>
7841
7842 * s-taprop-posix.adb, s-taprop-linux.adb, s-taprop-tru64.adb
7843 (ATCB_Key): Removed, not always used.
7844 * s-tpopsp-posix.adb, s-tpopsp-posix-foreign.adb (ATCB_Key): Moved from
7845 s-taprop-posix.adb.
7846 * s-tpopsp-tls.adb: New file.
7847 * gcc-interface/Makefile.in: Use TLS implementation of s-tpopsp.adb on
7848 x86/x64/ia64/powerpc/sparc Linux.
7849
78502011-08-03 Arnaud Charlet <charlet@adacore.com>
7851
7852 * system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True.
7853 * gcc-interface/Makefile.in: Switch to ZCX by default on AIX ports.
7854
78552011-08-03 Thomas Quinot <quinot@adacore.com>
7856
7857 * rtsfind.ads, exp_dist.adb, exp_dist.ads
7858 (Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
7859 Fix type selection for mapping integer types to PolyORB types.
7860
78612011-08-03 Bob Duff <duff@adacore.com>
7862
7863 * sem_ch7.adb: Minor comment clarification.
7864
78652011-08-03 Bob Duff <duff@adacore.com>
7866
7867 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): If we get
7868 an error analyzing a choice, skip further processing. Further
7869 processing could cause a crash or cascade errors.
7870
40ecf2f5
EB
78712011-08-03 Emmanuel Briot <briot@adacore.com>
7872
7873 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, mlib-prj.adb,
7874 prj.adb, prj.ads, makeutl.adb, makeutl.ads, clean.adb, prj-nmsc.adb,
7875 prj-util.adb, prj-util.ads, prj-conf.adb, prj-conf.ads, prj-env.adb,
7876 prj-env.ads (Shared_Project_Tree_Data): new type
7877 An aggregate project and its aggregated trees need to share the common
7878 data structures used for lists of strings, packages,... This makes the
7879 code simpler since otherwise we have to pass the root tree (also used
7880 for the configuration file data) in addition to the current project
7881 tree. This also avoids ambiguities as to which tree should be used.
7882 And finally this saves a bit of memory.
7883 (For_Every_Project_Imported): new parameter Tree.
7884 Since aggregated projects are using a different tree, we need to let
7885 the caller know which tree to use to manipulate the returned project.
7886
9fde638d
RD
78872011-08-03 Robert Dewar <dewar@adacore.com>
7888
7889 * prj-proc.adb, exp_util.ads, exp_ch9.adb, make.adb, prj-ext.adb,
7890 prj-ext.ads, alfa.ads, sem_ch4.adb, makeutl.adb, makeutl.ads,
7891 lib-xref-alfa.adb, sem_cat.adb, exp_dist.adb, get_alfa.adb,
7892 prj-env.adb, prj-env.ads, prj-tree.adb, alfa.ads: Minor reformatting.
7893
95eb8b69
AC
78942011-08-03 Javier Miranda <miranda@adacore.com>
7895
7896 * exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
7897 Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.
7898
78992011-08-03 Bob Duff <duff@adacore.com>
7900
7901 * sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
7902 the Base_Type.
7903
79042011-08-03 Joel Brobecker <brobecker@adacore.com brobecker>
7905
7906 * g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
7907 g-sehash.ads: Fix typo. Update header.
7908
79092011-08-03 Thomas Quinot <quinot@adacore.com>
7910
7911 * exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
7912 expansion.
7913
79142011-08-03 Gary Dismukes <dismukes@adacore.com>
7915
7916 * sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
7917 prefixes of private types along with records, since the selector may be
7918 a discriminant.
7919 * sem_res.adb (Resolve_Selected_Component): Consider prefixes of
7920 private types along with records, since the selector may be a
7921 discriminant.
7922
92e77027
AC
79232011-08-03 Emmanuel Briot <briot@adacore.com>
7924
b2f7ebc1 7925 * prj-pp.adb (Pretty_Print): Remove trailing blank line.
92e77027
AC
7926
79272011-08-03 Javier Miranda <miranda@adacore.com>
7928
7929 * sem_aux.adb (Is_VM_By_Copy_Actual): Fix wrong use of
7930 Tagged_Type_Expansion.
7931
79322011-08-03 Yannick Moy <moy@adacore.com>
7933
b2f7ebc1
GP
7934 * sem_res.adb (Resolve_Op_Concat_Arg): Do not issue a SPARK
7935 violation when the argument of concatenation is the name of a
7936 constant.
92e77027 7937
ab29a348
EB
79382011-08-03 Emmanuel Briot <briot@adacore.com>
7939
7940 * prj-proc.adb, prj-ext.adb, prj-ext.ads, prj-env.adb, prj-env.ads,
7941 prj-tree.adb, prj-tree.ads (Initialize_And_Copy, Copy): new subprograms
7942 (Process_Declarative_Items): new parameter Child_Env.
7943
9466892f
AC
79442011-08-03 Yannick Moy <moy@adacore.com>
7945
589ef536
GP
7946 * alfa.ads: Update format of ALFA section in ALI file in order to
7947 add a mapping from bodies to specs when both are present.
7948 (ALFA_Scope_Record): Add components for spec file/scope.
7949 * get_alfa.adb (Get_ALFA): Read the new file/scope for spec when
7950 present.
7951 * lib-xref-alfa.adb (Collect_ALFA): After all scopes have been
7952 collected, fill in the spec information when relevant.
7953 * put_alfa.adb (Put_ALFA): Write the new file/scope for spec when
9466892f
AC
7954 present.
7955
79562011-08-03 Eric Botcazou <ebotcazou@adacore.com>
7957
7958 * inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing
7959 code unit to decide whether to add internally generated subprograms.
2c7f9cc0 7960
9466892f
AC
79612011-08-03 Javier Miranda <miranda@adacore.com>
7962
7963 * sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram.
589ef536
GP
7964 * exp_ch9.adb (Build_Simple_Entry_Call): Handle actuals that must
7965 be handled by copy in VM targets.
9466892f
AC
7966
79672011-08-03 Emmanuel Briot <briot@adacore.com>
7968
589ef536 7969 * make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): Share
9466892f
AC
7970 code with Makeutl.Get_Switches.
7971 * prj-tree.adb: Update comment.
7972
b5ea9143
AC
79732011-08-03 Thomas Quinot <quinot@adacore.com>
7974
7975 * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Reject a remote
7976 subprogram with a limited formal that does not support external
7977 streaming.
7978
79792011-08-03 Yannick Moy <moy@adacore.com>
7980
7981 * get_alfa.adb (Get_ALFA): add missing Skip_Spaces at start of
7982 continuation line
7983 * lib-xref-alfa.adb (Add_ALFA_File): split removal of scopes that are
7984 not from current unit in two phases, because it is not possible to
7985 change the table while iterating over its content.
7986 * put_alfa.adb (Put_ALFA): reset current file/scope at each new entity
7987
79882011-08-03 Sergey Rybin <rybin@adacore.com>
7989
7990 * vms_data.ads: Add qualifier for gnatmetric --no-static-loop option
7991 * gnat_ugn.texi: Update description of complexity metrics (gnatmetric)
7992
668a19bc
ES
79932011-08-03 Ed Schonberg <schonberg@adacore.com>
7994
7995 * sem_res.adb (Resolve_Op_Concat_Arg): if the argument is an aggregate
7996 and the component type is composite, this is ambiguous for predefined
7997 concatenation, but if the node is not overloaded and the entity is a use
7998 -defined function its profile can be used to resolve that aggregate.
7999
170b2989
AC
80002011-08-03 Robert Dewar <dewar@adacore.com>
8001
8002 * exp_ch4.adb: Minor code cleanup.
8003
80042011-08-03 Thomas Quinot <quinot@adacore.com>
8005
8006 * exp_dist.adb: Do not generate distribution stubs if serious errors
8007 have been diagnosed.
8008
80092011-08-03 Ed Schonberg <schonberg@adacore.com>
8010
8011 * sem_ch4.adb (Try_Primitive_Operation): when checking the validity of
8012 the first formal of a primitive operation, go to the base type to
8013 handle properly an access to a derived type with constrained
8014 discriminants.
8015 * sem_type.adb (Disambiguate): an immediately visible operator hides a
8016 user-defined function that is only use-visible.
170b2989 8017
e917aec2
RD
80182011-08-03 Robert Dewar <dewar@adacore.com>
8019
8020 * sem_aggr.adb, sem_ch3.adb, lib.ads, gnatcmd.adb, prj-proc.adb,
8021 make.adb, lib-writ.adb, prj-part.adb, prj-part.ads, prj-ext.adb,
8022 fname-uf.adb, prj-ext.ads, prj.adb, prj.ads, sem_attr.adb, alfa.adb,
8023 prj-makr.adb, errout.adb, makeutl.adb, makeutl.ads, restrict.ads,
8024 sem_ch6.adb, g-pehage.adb, clean.adb, put_alfa.adb, lib-xref-alfa.adb,
8025 prj-nmsc.adb, prj-nmsc.ads, sem_ch8.adb, prj-pars.ads, exp_aggr.adb,
8026 prj-attr.ads, sem_ch13.adb, get_alfa.adb, prj-env.adb, prj-env.ads,
8027 alfa_test.adb, prj-tree.adb, prj-tree.ads, einfo.ads: Minor reformatting
8028
80292011-08-03 Robert Dewar <dewar@adacore.com>
8030
8031 * repinfo.adb (List_Mechanism): Add handling of
8032 Convention_Ada_Pass_By_XXX.
8033 * sem_mech.adb (Set_Mechanism): Ditto.
8034 * sem_prag.adb (Process_Convention): Add entries for
8035 Convention_Ada_Pass_By_XXX.
8036 * snames.adb-tmpl, snames.ads-tmpl: Ditto.
8037
49bfcf43
AC
80382011-08-03 Pascal Obry <obry@adacore.com>
8039
8040 * makeutl.adb: Minor reformatting.
8041
80422011-08-03 Vincent Celier <celier@adacore.com>
8043
8044 * fname-uf.adb
8045 (Get_File_Name) If the file cannot be found when there are no config
8046 pragmas file and May_Fail is True, return No_File instead of the file
8047 name, to be consistent.
8048
80492011-08-03 Pascal Obry <obry@adacore.com>
8050
8051 * adaint.c (__gnat_is_executable_file_attr): Avoid access
8052 to null pointer.
8053
80542011-08-03 Javier Miranda <miranda@adacore.com>
8055
8056 * sem_ch13.adb
8057 (Same_Representation): In VM targets the representation of arrays with
8058 aliased components differs from arrays with non-aliased components.
8059
34798441
EB
80602011-08-03 Emmanuel Briot <briot@adacore.com>
8061
8062 * prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do
8063 not systematically lower case attribute indexes that contain no "."
8064 Fix definition of several Naming attributes, which take
8065 a unit name as index and therefore should be case insensitive.
8066 Minor refactoring (reduce length of variable names).
8067
80682011-08-03 Emmanuel Briot <briot@adacore.com>
8069
8070 * makeutl.adb, makeutl.ads (Get_Switches): new subprogram.
8071
4437a530
EB
80722011-08-03 Emmanuel Briot <briot@adacore.com>
8073
8074 * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
8075 prj-part.ads, switch-m.adb, switch-m.ads, prj-makr.adb, clean.adb,
8076 prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
8077 prj-tree.ads (Prj.Tree.Environment): new type.
8078
804fe3c4
EB
80792011-08-03 Emmanuel Briot <briot@adacore.com>
8080
8081 * prj-proc.adb, prj.ads, makeutl.adb, makeutl.ads, prj-conf.adb,
8082 prj-tree.adb, prj-tree.ads (Environment): new type.
8083
c565bc66
AC
80842011-08-03 Emmanuel Briot <briot@adacore.com>
8085
8086 * prj-tree.ads: Remove unused variable.
8087
80882011-08-03 Yannick Moy <moy@adacore.com>
8089
8090 * restrict.adb (Restriction_Msg): set "SPARK" all in upper case for
8091 issuing messages related to SPARK restriction violation.
8092
4ee646da
AC
80932011-08-03 Ed Schonberg <schonberg@adacore.com>
8094
8095 * sem_ch6.adb: guard against error nodes in return statements.
8096
80972011-08-03 Arnaud Charlet <charlet@adacore.com>
8098
8099 * errout.adb (Error_Msg_Internal): the main unit has not been read yet,
8100 a warning can only appear on a configuration file, so emit warning
8101 without further checks.
8102
81032011-08-03 Arnaud Charlet <charlet@adacore.com>
8104
8105 * s-interr.ads: add overriding keyword.
8106
81072011-08-03 Geert Bosch <bosch@adacore.com>
8108
8109 * exp_attr.adb: Fix minor typo.
8110
81112011-08-03 Ed Schonberg <schonberg@adacore.com>
8112
8113 * par-ch4.adb: improve error recovery.
8114
c0e538ad
AC
81152011-08-03 Emmanuel Briot <briot@adacore.com>
8116
8117 * prj-part.adb, prj-part.ads, prj-makr.adb, prj-pars.adb, prj-conf.adb,
8118 prj-env.adb (Prj.Part.Parse): change parameter Always_Errout_Finalize
8119 to Errout_Handling.
8120
81212011-08-03 Emmanuel Briot <briot@adacore.com>
8122
8123 * prj-dect.adb (Parse_Attribute_Declaration): make sure we can use
8124 "external" as an attribute name in aggregate projects.
8125
81262011-08-03 Jose Ruiz <ruiz@adacore.com>
8127
8128 * s-taprop-vxworks.adb: (Create_Task, Initialize): Ada 2012 pragma CPU
8129 uses CPU numbers starting 1, while VxWorks uses CPU numbers starting
8130 from 0, so we need to adjust.
8131
81322011-08-03 Emmanuel Briot <briot@adacore.com>
8133
8134 * prj-proc.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, prj-tree.adb,
8135 prj-tree.ads, gnatcmd.adb, clean.adb (External_References): new type.
8136
c4d67e2d
AC
81372011-08-03 Yannick Moy <moy@adacore.com>
8138
8139 * sem_ch6.adb (New_Overloaded_Entity): only issue error for SPARK
8140 restriction on overloaded entity if the entity is not an operator.
8141
81422011-08-03 Yannick Moy <moy@adacore.com>
8143
8144 * sem_ch7.adb, sem_res.adb, sem_attr.adb, restrict.adb,
8145 restrict.ads: Rename remaining Check_Formal_Restriction* into
8146 Check_SPARK_Restriction*.
8147
81482011-08-03 Emmanuel Briot <briot@adacore.com>
8149
8150 * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
8151 prj-nmsc.ads, prj-err.adb (Project_Data): now discriminated on its
8152 qualifier.
8153 (Project_Empty): removed
8154 (Empty_Project): new parameter Qualifier
8155 This is used to have fields specific to aggregate projects, cleaner
8156 New field to store the list of aggregated projects.
8157 (Check_Aggregate_Project): removed
8158 (Process_Aggregated_Projects, Free): new subprograms.
8159
3f5a8fee
AC
81602011-08-03 Olivier Hainque <hainque@adacore.com>
8161
8162 * tracebak.c (STOP_FRAME ppc AIX): Stop at null return address as well.
8163
81642011-08-03 Ed Schonberg <schonberg@adacore.com>
8165
8166 * sem_ch8.adb (Analyze_Object_Renaming): if the renamed object is an
8167 explicit dereference of an unconstrained type, create a constrained
8168 subtype for it, as is done for function calls that return an
8169 unconstrained type.
8170
81712011-08-03 Thomas Quinot <quinot@adacore.com>
8172
8173 * g-pehage.adb (Finalize): Avoid possible double-free.
8174
81752011-08-03 Steve Baird <baird@adacore.com>
8176
8177 * exp_attr.adb (Expand_N_Attribute_Reference): Don't expand
8178 Elab_Spec/Body attrs in CodePeer_Mode.
8179
81802011-08-03 Javier Miranda <miranda@adacore.com>
8181
8182 * exp_aggr.adb (Flatten): Convert to positional form aggregates whose
8183 low bound is not known at compile time but they have no others choice.
8184 Done because in this case the bounds can be obtained directly from the
8185 aggregate.
8186
81872011-08-03 Ed Falis <falis@adacore.com>
8188
8189 * s-tasinf-vxworks.ads: Update comment to reflect 0 indexing of CPUs
8190 on VxWorks SMP. Remove unusable constant ANY_CPU.
8191
a96ca600
EB
81922011-08-03 Emmanuel Briot <briot@adacore.com>
8193
8194 * gnatcmd.adb, make.adb, prj-part.adb, prj-part.ads, prj-makr.adb,
8195 clean.adb, prj-nmsc.adb, prj-pars.adb, prj-conf.adb, prj-env.adb,
8196 prj-env.ads (Prj.Env.Initialize_Default_Project_Path,
8197 Prj.Env.Initialize_Empty): new subprograms
8198 (Get_Env, Find_Project): remove parameter Target_Name.
8199
3e582869
AC
82002011-08-03 Gary Dismukes <dismukes@adacore.com>
8201
8202 * sem_ch3.adb (Build_Derived_Record_Type): Test the Derive_Subps formal
8203 as a condition for the delayed call to Derived_Subprograms done for the
8204 case of the rewriting of a derived type that constrains the
8205 discriminants of its parent type.
8206 Avoids redundant subprogram derivations for private subtype derivations.
8207
82082011-08-03 Javier Miranda <miranda@adacore.com>
8209
8210 * exp_aggr.adb (Init_Hidden_Discriminants): New subprogram of
8211 Build_Record_Aggr_Code.
8212 (Build_Record_Aggr_Code): Add missing support to initialize hidden
8213 discriminants in extension aggregates.
8214
82152011-08-03 Emmanuel Briot <briot@adacore.com>
8216
8217 * prj-pp.adb (Print): also output project qualifiers, since in
8218 particular "aggregate" is mandatory in an aggregate project.
8219
82202011-08-03 Emmanuel Briot <briot@adacore.com>
8221
8222 * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb:
8223 (Debug_Output): new function.
8224
56e94186
AC
82252011-08-03 Eric Botcazou <ebotcazou@adacore.com>
8226
8227 * gnat_ugn.texi: Document -Wstack-usage.
8228 * gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes.
8229
82302011-08-03 Thomas Quinot <quinot@adacore.com>
8231
8232 * sem_prag.adb Issue an error (not a warning) when a C++ type does not
8233 have keyword LIMITED.
8234
82352011-08-03 Yannick Moy <moy@adacore.com>
8236
8237 * alfa.adb, alfa.ads, alfa_test.adb: New files.
8238 * ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA)
8239 (Scan_ALI): do not issue a fatal error if parsing known lines after Xref
8240 section (does not happen in compiler, only if code directly calls
8241 Scan_ALI).
8242 * get_alfa.adb, get_alfa.ads: New files.
8243 * lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if
8244 needed.
8245 * lib-xref-alfa.adb: New file.
8246 * lib-xref.adb, lib-xref.ads
8247 (Xref_Entry): redefine information needed in cross-references for ALFA.
8248 Push ALFA treatments in separated local package.
8249 (Enclosing_Subpragram_Or_Package): treat specially subprogram
8250 identifiers. Return entity of package body instead of spec. Return
8251 Empty for a scope with no location.
8252 (Generate_Reference): adapt to new components for ALFA information.
8253 Remove the need for D references on definitions.
8254 (Is_Local_Reference): moved to ALFA local package
8255 (Output_References): extract subfunction as Extract_Source_Name
8256 (Output_Local_References): remove procedure, replaced by filtering of
8257 cross-references in package ALFA and printing in Put_ALFA.
8258 (Write_Entity_Name): remove procedure
8259 * lib.adb, lib.ads (Extract_Source_Name): extract here function to
8260 print exact name of entity as it appears in source file
8261 (Unit_Ref_Table): make type public for use in Lib.Xref.ALFA
8262 * put_alfa.adb, put_alfa.ads: New files.
8263 * xref_lib.adb (Search_Xref): protect read of cross-references against
8264 reading other sections of the ALI file, in gnatxref
8265 (Search): protect read of cross-references against reading other
8266 sections of the ALI file, in gnatfind.
8267 * gcc-interface/Make-lang.in: Update dependencies.
8268
82692011-08-03 Thomas Quinot <quinot@adacore.com>
8270
8271 * sem_ch3.adb: Minor reformatting.
8272
82732011-08-03 Jose Ruiz <ruiz@adacore.com>
8274
8275 * s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of
8276 raising an exception.
8277
82782011-08-03 Ed Schonberg <schonberg@adacore.com>
8279
8280 * sem_res.adb (Set_String_Literal_Subtype): if index type is an integer
8281 type, always use 1 as the lower bound or string, even if lower bound of
8282 context is not static, to handle properly null strings in a non-static
8283 context.
8284
82852011-08-03 Bob Duff <duff@adacore.com>
8286
8287 * sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is
8288 always legal on the right-hand side of an assignment statement; there
8289 is always an applicable index constraint in this case. Therefore, the
8290 check for Pkind = N_Assignment_Statement is now unconditional -- it
8291 doesn't depend on whether Is_Constrained (Typ).
8292
4317e442
AC
82932011-08-03 Robert Dewar <dewar@adacore.com>
8294
8295 * exp_ch5.adb, sem_prag.adb, exp_ch4.adb: Minor reformatting.
8296
82972011-08-03 Ed Schonberg <schonberg@adacore.com>
8298
8299 * sem_ch3.adb (Build_Itype_Reference): do not create an itype reference
8300 for an itype created within a generic unit.
8301
83022011-08-03 Eric Botcazou <ebotcazou@adacore.com>
8303
8304 * gnat_ugn.texi (Switches for gcc): Make it clearer that -fno-inline
8305 suppresses all inlining.
8306
53f29d4f
AC
83072011-08-03 Robert Dewar <dewar@adacore.com>
8308
8309 * sem_ch3.adb, sem_res.adb, exp_ch13.adb, exp_disp.adb,
8310 exp_aggr.adb: Minor reformatting.
8311
83122011-08-03 Thomas Quinot <quinot@adacore.com>
8313
8314 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not force inlining of
8315 tagged assignment when discriminant checks are suppressed. This is
8316 useless and extremely costly in terms of static stack usage.
8317
83182011-08-03 Bob Duff <duff@adacore.com>
8319
8320 * sem_prag.adb (Get_Base_Subprogram): Do not follow Alias for instances
8321 of generics, because this leads to the wrong entity in the wrong scope,
8322 causing (e.g.) pragma Export_Procedure to get an error if the entity is
8323 an instance.
8324 (Process_Interface_Name): Follow Alias for instances of generics, to
8325 correct for the above change.
8326
83272011-08-03 Ed Schonberg <schonberg@adacore.com>
8328
8329 * exp_ch4.adb (Expand_N_Selected_Component): If the discriminant value
8330 is an integer literal it is always safe to replace the reference. In
8331 addition, if the reference appears in the generated code for an object
8332 declaration it is necessary to copy because otherwise the reference
8333 might be to the uninitilized value of the discriminant of the object
8334 itself.
8335
83362011-08-03 Pascal Obry <obry@adacore.com>
8337
8338 * adaint.c (__gnat_is_executable_file_attr): Fix Win32 circuitry when no
8339 ACL used, in this case we want to check for ending .exe, not .exe
8340 anywhere in the path.
8341
83422011-08-03 Sergey Rybin <rybin@adacore.com>
8343
8344 * tree_io.ads (ASIS_Version_Number): Update because of the changes in
8345 the tree structure (semantic decoration of references to record
8346 discriminants).
8347
c0b11850
AC
83482011-08-03 Gary Dismukes <dismukes@adacore.com>
8349
8350 * sem_aggr.adb (Analyze_Array_Aggregate): When checking the discrete
8351 choices of a named array aggregate, bail out when any choices are
8352 marked as Errors_Posted.
8353
83542011-08-03 Ed Schonberg <schonberg@adacore.com>
8355
8356 * exp_ch13.adb (Expand_N_Freeze_Entity): cleanup determination of scope
8357 in which entity is frozen, to handle properly loop variables in
8358 iterators.
8359
83602011-08-03 Ed Schonberg <schonberg@adacore.com>
8361
8362 * sem_res.adb (Set_String_Literal_Subtype): if the lower bound of the
8363 subtype is not static, compute the upper bound using attributes, to
8364 handle properly index types that are not integer types.
8365
83662011-08-03 Bob Duff <duff@adacore.com>
8367
8368 * gnat_rm.texi, gnat_ugn.texi: Fix some dangling URLs.
8369 Update copyright notice.
8370
83712011-08-03 Ed Schonberg <schonberg@adacore.com>
8372
8373 * sem_ch3.adb (Build_Discriminant_Constraints): Only use
8374 Original_Discriminant if within an instance.
8375 * sem_ch4.adb (Analyze_Selected_Component): Ditto.
8376
83772011-08-03 Thomas Quinot <quinot@adacore.com>
8378
8379 * einfo.ads: Minor reformatting.
8380
83812011-08-03 Ed Schonberg <schonberg@adacore.com>
8382
8383 * exp_disp.adb (Check_Premature_Freezing): diagnose the presence of a
8384 composite type with an unfrozen subcomponent, in the profile of a
8385 primitive operation.
8386
5c34e9cd
AC
83872011-08-03 Robert Dewar <dewar@adacore.com>
8388
8389 * sem_util.ads, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
8390
83912011-08-03 Ed Schonberg <schonberg@adacore.com>
8392
8393 * sem_ch3.adb (Analyze_Object_Declaration): if a constant object of an
8394 unconstrained type with discriminants is initialized with an aggregate,
8395 use the constrained subtype of the aggregate as the type of the object,
8396 because it is immutable, and this allows the back-end to generate no
8397 code for the object declaration.
8398
abcd9db2
AC
83992011-08-03 Robert Dewar <dewar@adacore.com>
8400
8401 * exp_ch4.adb (Optimize_Length_Check): Fix bad handling of case where
8402 comparison operand is variable, and turns out to be zero or negative.
8403
84042011-08-03 Javier Miranda <miranda@adacore.com>
8405
8406 * exp_intr.adb
8407 (Expand_Dispatching_Constructor_Call): Disable expansion of
8408 code required for native targets. Done to avoid generating
8409 references to unavailable runtime entities in VM targets.
8410 * exp_ch3.adb
8411 (Expand_N_Object_Declaration): Add missing support to handle
8412 the explicit initialization of class-wide interface objects.
8413 Fix documentation.
8414
84152011-08-03 Matthew Heaney <heaney@adacore.com>
8416
8417 * a-cobove.adb (Merge): Move source onto target, instead of using Assign
8418
84192011-08-03 Matthew Heaney <heaney@adacore.com>
8420
8421 * a-cbdlli.adb (Splice): move source items from first to last
8422
84232011-08-03 Yannick Moy <moy@adacore.com>
8424
8425 * sem_util.ads: comment added.
8426
84272011-08-03 Javier Miranda <miranda@adacore.com>
8428
8429 * exp_aggr.adb
8430 (Expand_Record_Aggregate): In VM targets disable the expansion into
8431 assignments of aggregates whose type is not known at compile time.
8432
b474d6c3
ES
84332011-08-03 Ed Schonberg <schonberg@adacore.com>
8434
8435 * exp_ch9.adb (Build_Renamed_Formal_Declaration): common procedure for
8436 protected entries and task entries, to build the proper renaming
8437 declaration for entry formals, used in debugging.
8438 * exp_ch2.adb (Expand_Entry_Parameter): handle task and entry
8439 parameters in the same way.
8440
0580d807
AC
84412011-08-02 Robert Dewar <dewar@adacore.com>
8442
8443 * a-direct.adb, sinfo.ads, exp_ch9.adb, scng.adb, sem_util.adb,
8444 sem_util.ads, restrict.ads, par-prag.adb: Minor reformatting and/or
8445 code reorganization.
8446
84472011-08-02 Robert Dewar <dewar@adacore.com>
8448
8449 * debug.adb: Debug flag d.P to suppress length comparison optimization
8450 * exp_ch4.adb (Optimize_Length_Comparison): New routine to optimize
8451 comparison of Length by comparing First/Last instead.
8452
84532011-08-02 Matthew Heaney <heaney@adacore.com>
8454
8455 * a-cobove.ads: Code clean up.
8456
b191a125
AC
84572011-08-02 Vincent Celier <celier@adacore.com>
8458
8459 * adaint.c (file_names_case_sensitive_cache): New static int.
8460 (__gnat_get_file_names_case_sensitive): Cache the return value in
8461 file_names_case_sensitive_cache at the first invocation, to avoid
8462 multiple calls to getenv.
8463
84642011-08-02 Bob Duff <duff@adacore.com>
8465
8466 * sem_ch12.adb (Validate_Derived_Type_Instance): Implement AI05-0218-1.
8467
316a0661
AC
84682011-08-02 Yannick Moy <moy@adacore.com>
8469
8470 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads,
8471 sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb,
8472 sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to
8473 indicate that we are in a precondition or postcondition. This is used in
8474 Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to
8475 decide whether to flag the spec or body of the current subprogram as
8476 not in ALFA.
8477
84782011-08-02 Fabien Chouteau <chouteau@adacore.com>
8479
8480 * impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package
8481 list.
8482 * a-extiin.ads: New file.
8483
84842011-08-02 Bob Duff <duff@adacore.com>
8485
8486 * a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename
8487 now raises Name_Error instead of Use_Error in certain cases. The other
8488 parts of this AI were already implemented properly.
8489
f9adb9d4
AC
84902011-08-02 Vincent Celier <celier@adacore.com>
8491
8492 * link.c: Only import "auto-host.h" when building the gnattools.
8493
84942011-08-02 Yannick Moy <moy@adacore.com>
8495
8496 * sem_util.adb: Inter-unit inlining does not work for a subprogram
8497 which calls a local subprogram, so extract subprogram
8498 from Mark_Non_ALFA_Subprogram_Body.
8499
85002011-08-02 Javier Miranda <miranda@adacore.com>
8501
8502 * exp_ch9.adb
8503 (Extract_Dispatching_Call): If the type of the dispatching object is an
8504 access type then return an explicit dereference in the Object out-mode
8505 parameter.
8506
85072011-08-02 Gary Dismukes <dismukes@adacore.com>
8508
8509 * sem_ch3.adb (Analyze_Subtype_Declaration): Generate range
8510 compatibility checks for all indexes of an array subtype, not just the
8511 first. Reset Has_Dynamic_Range_Check on the subtype before each
8512 potential check to ensure that Insert_Range_Checks will not elide any
8513 of the dynamic checks.
8514
85152011-08-02 Yannick Moy <moy@adacore.com>
8516
8517 * par-prag.ad (Process_Restrictions_Or_Restriction_Warnings): recognize
8518 SPARK restriction at parsing time.
8519 * scng.adb (Scan): Generate a token Tok_SPARK_Hide for a SPARK HIDE
8520 directive only if the SPARK restriction is set for this unit.
8521
83f33150
YM
85222011-08-02 Yannick Moy <moy@adacore.com>
8523
8524 * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads,
8525 sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb,
8526 sem_ch11.adb: Protect call to Current_Subprogram which might be costly
8527 when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into
8528 Mark_Non_ALFA_Subprogram_Body.
8529 Split body of Mark_Non_ALFA_Subprogram_Body to get body small and
8530 inlined.
8531
7b98672f
YM
85322011-08-02 Yannick Moy <moy@adacore.com>
8533
8534 * sem_res.adb: Protect calls to Matching_Static_Array_Bounds which
8535 might be costly.
8536
052e0603
AC
85372011-08-02 Robert Dewar <dewar@adacore.com>
8538
8539 * exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
8540 exp_ch3.adb: Minor reformatting.
8541
85422011-08-02 Emmanuel Briot <briot@adacore.com>
8543
8544 * adaint.c (__gnat_locate_exec_on_path): only returns executable
8545 files, not any regular file.
8546 (__gnat_locate_file_with_predicate): new subprogram.
8547
85482011-08-02 Yannick Moy <moy@adacore.com>
8549
8550 * sinfo.adb, sinfo.ads: Restrict the use of flags
8551 Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
8552 nodes, plus N_Subtype_Declaration for the 2nd one.
8553
4fbad0ba
AC
85542011-08-02 Sergey Rybin <rybin@adacore.com>
8555
8556 * gnat_rm.texi: Ramification of pragma Eliminate documentation
8557 - fix bugs in the description of Source_Trace;
8558 - get rid of UNIT_NAME;
8559
052e0603
AC
85602011-08-02 Javier Miranda <miranda@adacore.com>
8561
8562 * exp_ch9.adb
8563 (Build_Dispatching_Requeue): Adding support for VM targets
8564 since we cannot directly reference the Tag entity.
8565 * exp_sel.adb (Build_K): Adding support for VM targets.
8566 (Build_S_Assignment): Adding support for VM targets.
8567 * exp_disp.adb
8568 (Default_Prim_Op_Position): In VM targets do not restrict availability
8569 of predefined interface primitives to compiling in Ada 2005 mode.
8570 (Is_Predefined_Interface_Primitive): In VM targets this service is not
8571 restricted to compiling in Ada 2005 mode.
8572 (Make_VM_TSD): Generate code that declares and initializes the OSD
8573 record. Needed to support dispatching calls through synchronized
8574 interfaces.
8575 * exp_ch3.adb
8576 (Make_Predefined_Primitive_Specs): Enable generation of predefined
8577 primitives associated with synchronized interfaces.
8578 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
8579 primitives associated with synchronized interfaces.
8580
85812011-08-02 Yannick Moy <moy@adacore.com>
8582
8583 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
8584 statements hidden in SPARK if preceded by the HIDE directive
8585 (Parse_Exception_Handlers): mark each exception handler in a sequence of
8586 exception handlers as hidden in SPARK if preceded by the HIDE directive
8587 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
8588 if starting with the HIDE directive
8589 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
8590 starting with the HIDE directive; mark the declarations in a private
8591 part as hidden in SPARK if the private part starts with the HIDE
8592 directive
8593 * restrict.adb, restrict.ads
8594 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
8595 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
8596 argument node belongs to a part which is hidden in SPARK
8597 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
8598 parts in SPARK; protect the possibly costly call to
8599 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
8600 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
8601 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
8602 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
8603 Tok_SPARK_Hide.
8604 (Scan): recognize special comment starting with '#' and followed by
8605 SPARK keyword "hide" as a HIDE directive.
8606
86072011-08-02 Yannick Moy <moy@adacore.com>
8608
8609 * types.ads, erroutc.ads: Minor reformatting.
8610
86112011-08-02 Vincent Celier <celier@adacore.com>
8612
8613 * link.c: Add response file support for cross platforms.
8614
86152011-08-02 Ed Schonberg <schonberg@adacore.com>
8616
8617 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
8618 in an association, set parent field of copy before partial analysis.
8619 * sem_res.adb (Resolve_Slice): create reference to itype only when
8620 expansion is enabled.
8621
86222011-08-02 Yannick Moy <moy@adacore.com>
8623
8624 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
8625 for new flag denoting which subprogram bodies are in ALFA
8626 * restrict.adb, sem_ch7.adb: Update comment
8627 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
8628 sem_ch9.adb, sem_res.adb: Add calls to
8629 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
8630 * sem_ch6.adb (Analyze_Function_Return): add calls to
8631 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
8632 middle of the body, and extended return.
8633 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
8634 False when missing return.
8635 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
8636 to True for subprograms whose spec is in ALFA. Remove later on the flag
8637 on the entity used for a subprogram body when there exists a separate
8638 declaration.
8639 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
8640 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
8641 False, otherwise do nothing.
8642
86432011-08-02 Robert Dewar <dewar@adacore.com>
8644
8645 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
8646
86472011-08-02 Yannick Moy <moy@adacore.com>
8648
8649 * sem_ch4.ads: minor formatting.
8650
86512011-08-02 Yannick Moy <moy@adacore.com>
8652
8653 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
8654 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
8655 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
8656 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
8657 opt.ads: cleanup of SPARK mode
8658
86592011-08-02 Yannick Moy <moy@adacore.com>
8660
8661 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
8662 types.
8663 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
8664 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
8665 * sem_ch3.adb
8666 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
8667 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
8668 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
8669 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
8670 types.
8671 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
8672 non-static range.
8673 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
8674 functions whose return type is not in ALFA.
8675 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
8676 specifications.
8677 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
8678 parameter's type is not in ALFA.
8679 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
8680 types are in ALFA.
8681
86822011-08-02 Ed Schonberg <schonberg@adacore.com>
8683
8684 * sem_ch6 (Analyze_Expression_Function): treat the function as
8685 Inline_Always, and introduce a subprogram declaration for it when it is
8686 not a completion.
8687 * inline.adb (Add_Inlined_Body): recognize bodies that come from
8688 expression functions, so that the back-end can determine whether they
8689 can in fact be inlined.
8690 * sem_util.adb (Is_Expression_Function): predicate to determine whether
8691 a function body comes from an expression function.
8692
86932011-08-02 Gary Dismukes <dismukes@adacore.com>
8694
8695 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
8696 null exclusions to test Can_Never_Be_Null on the anonymous access types
8697 of the formals rather than testing the formals themselves. Exclude this
8698 check in cases where the Old_Formal is marked as a controlling formal,
8699 to avoid issuing spurious errors for bodies completing dispatching
8700 operations (due to the flag not getting set on controlling access
8701 formals in body specs).
8702 (Find_Corresponding_Spec): When checking full and subtype conformance of
8703 subprogram bodies in instances, pass Designated and E in that order, for
8704 consistency with the expected order of the formals (New_Id followed by
8705 Old_Id).
8706
87072011-08-02 Robert Dewar <dewar@adacore.com>
8708
8709 * sem_ch8.adb: Minor reformatting.
8710
87112011-08-02 Ed Schonberg <schonberg@adacore.com>
8712
8713 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
8714 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
8715 primitive operations of class-wide actuals.
8716
87172011-08-02 Javier Miranda <miranda@adacore.com>
8718
8719 * exp_atag.ads, exp_atag.adb
8720 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
8721 since its value is implicitly passed in argument Typ.
8722 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
8723 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
8724 Build_Common_Dispatching_Select_Statements.
8725
87262011-08-02 Robert Dewar <dewar@adacore.com>
8727
8728 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
8729 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
8730 Minor reformatting.
8731
87322011-08-02 Robert Dewar <dewar@adacore.com>
8733
8734 * sem_res.adb: Minor reformatting.
8735 * sem_prag.adb: Minor reformatting.
8736
87372011-08-02 Javier Miranda <miranda@adacore.com>
8738
8739 * exp_atag.adb, exp_atags.ads
8740 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
8741 by the tagged type Entity. Required to use this routine in the VM
8742 targets since we do not have available the Tag entity in the VM
8743 platforms.
8744 * exp_ch6.adb
8745 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
8746 Ada.Tags has not been previously loaded.
8747 * exp_ch7.adb
8748 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
8749 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
8750 * sem_aux.adb
8751 (Enclosing_Dynamic_Scope): Add missing support to handle the full
8752 view of enclosing scopes. Required to handle enclosing scopes that
8753 are synchronized types whose full view is a task type.
8754 * exp_disp.adb
8755 (Build_VM_TSDs): Minor code improvement to avoid generating and
8756 analyzing lists with empty nodes.
8757 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
8758 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
8759 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
8760 (Make_Disp_Timed_Select_Body): Add support for VM targets.
8761 (Make_Select_Specific_Data_Table): Add support for VM targets.
8762 (Make_VM_TSD): Generate code to initialize the SSD structure of
8763 the TSD.
8764
87652011-08-02 Yannick Moy <moy@adacore.com>
8766
8767 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
8768 cross-references section in ALI.
8769 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
8770 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
8771 Sub).
8772 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
8773 subprogram or package entity of a node
8774 (Is_Local_Reference_Type): new function returns True for references
8775 selected in local cross-references.
8776 (Lt): function extracted from Lt in Output_References
8777 (Write_Entity_Name): function extracted from Output_References
8778 (Generate_Definition): generate reference with type 'D' for definition
8779 of objects (object declaration and parameter specification), with
8780 appropriate locations and units, for use in local cross-references.
8781 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
8782 references of type 'I' for initialization in object definition.
8783 (Output_References): move part of function Lt and procedure
8784 Write_Entity_Name outside of the body. Ignore references of types 'D'
8785 and 'I' introduced for local cross-references.
8786 (Output_Local_References): new procedure to output the local
8787 cross-references sections.
8788 (Lref_Entity_Status): new array defining whether an entity is a local
8789 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
8790 with 'I' type when initialization expression is present.
8791 * get_scos.adb, get_scos.ads: Correct comments and typos
8792
87932011-08-02 Javier Miranda <miranda@adacore.com>
8794
8795 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
8796 the JVM target.
8797 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
8798 the JVM target.
8799 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
8800 TSD support.
8801
88022011-08-02 Vincent Celier <celier@adacore.com>
8803
8804 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
8805 (No_Space_Img): New function
8806 (Find_Excluded_Sources): When reading from a file, record the file name
8807 and the line number for each excluded source.
8808 (Mark_Excluded_Sources): When reporting an error, if the excluded
8809 sources were read from a file, include file name and line number in
8810 the error message.
8811
88122011-08-02 Ed Schonberg <schonberg@adacore.com>
8813
8814 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
8815
88162011-08-02 Robert Dewar <dewar@adacore.com>
8817
8818 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
8819
88202011-08-02 Javier Miranda <miranda@adacore.com>
8821
8822 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
8823 generation of TSDs to the DOTNET compiler.
8824 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
8825 generation of TSDs to the DOTNET compiler.
8826
88272011-08-02 Javier Miranda <miranda@adacore.com>
8828
8829 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
8830 record of all the tagged types declared inside library level package
8831 declarations, library level package bodies or library level subprograms.
8832 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
8833 associated with a given tagged type.
8834 (Build_VM_TSDs): New subprogram.
8835 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
8836 compilation units that are subprograms.
8837 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
8838 compilation units that are package bodies.
8839 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
8840 units that are a package declaration or a package instantiation.
8841 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
8842 reorganization to improve the error generated by the frontend when the
8843 function Ada.Tags.Secondary_Tag is not available.
8844 * rtsfind.ads (RE_Register_TSD): New runtime entity.
8845 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
8846
88472011-08-02 Javier Miranda <miranda@adacore.com>
8848
8849 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
8850
88512011-08-02 Robert Dewar <dewar@adacore.com>
8852
8853 * s-imenne.ads: Minor reformatting.
8854
88552011-08-02 Robert Dewar <dewar@adacore.com>
8856
8857 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
8858 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
8859 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
8860
88612011-08-02 Robert Dewar <dewar@adacore.com>
8862
8863 * einfo.ads (Materialize_Entity): Document this is only for renamings
8864 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
8865 required debug information in the case where we transform the object
8866 declaration into a renaming declaration.
8867 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
8868 object
8869 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
8870 Materialize_Entity.
8871
88722011-08-02 Robert Dewar <dewar@adacore.com>
8873
8874 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
8875 Suppress_Init_Procs.
8876 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
8877 Suppress_Initialization/Initialization_Suppressed.
8878 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
8879 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
8880 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
8881 * sem_prag.adb: New processing for pragma Suppress_Initialization.
8882
88832011-08-02 Robert Dewar <dewar@adacore.com>
8884
8885 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
8886 Minor reformatting.
8887
88882011-08-02 Ed Schonberg <schonberg@adacore.com>
8889
8890 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
8891 only have inheritable classwide pre/postconditions.
8892
88932011-08-02 Javier Miranda <miranda@adacore.com>
8894
8895 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
8896 * rtsfind.ads (RE_Check_TSD): New runtime entity.
8897 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
8898 checks if the external tag of a type is the same as the external tag
8899 of some other declaration.
8900
89012011-08-02 Thomas Quinot <quinot@adacore.com>
8902
8903 * s-taskin.ads: Minor reformatting.
8904
89052011-08-02 Emmanuel Briot <briot@adacore.com>
8906
8907 * g-comlin.adb (Display_Help): swap the order in which it prints the
8908 short help and the general usage.
8909
89102011-08-02 Ed Schonberg <schonberg@adacore.com>
8911
8912 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
8913 the aspect declarations and attach them to the generic copy for
8914 subsequent analysis.
8915 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
8916 declarations of the generic tree to the new subprogram declarations.
8917 * sem_attr.adb (Check_Precondition_Postcondition): recognize
8918 conditions that apply to a subprogram instance.
8919
89202011-08-02 Robert Dewar <dewar@adacore.com>
8921
8922 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
8923
89242011-08-02 Ed Schonberg <schonberg@adacore.com>
8925
8926 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
8927 private type with a tagged full view is not derived in the immediate
8928 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
8929
89302011-08-02 Robert Dewar <dewar@adacore.com>
8931
8932 * exp_ch4.adb: Minor reformatting.
8933
89342011-08-02 Ed Schonberg <schonberg@adacore.com>
8935
8936 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
8937 Ada2012 iterator, the loop will be rewritten during expansion into a
8938 while loop with a cursor and an element declaration. Do not analyze the
8939 body in this case, because if the container is for indefinite types the
8940 actual subtype of the elements will only be determined when the cursor
8941 declaration is analyzed.
8942
89432011-08-02 Arnaud Charlet <charlet@adacore.com>
8944
8945 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
8946 size/alignment related attributes in CodePeer_Mode.
8947
89482011-08-02 Gary Dismukes <dismukes@adacore.com>
8949
8950 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
8951 Prepend_Element, since this can result in the operation getting the
8952 wrong slot in the full type's dispatch table if the full type has
8953 inherited operations. The incomplete type's operation will get added
8954 to the proper position in the full type's primitives
8955 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
8956 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
8957 dispatching operations, since there are cases where nonprimitive
8958 subprograms can get added to the list of incomplete dependents (such
8959 as subprograms in nested packages).
8960 * sem_ch6.adb (Process_Formals): First, remove test for being in a
8961 private part when determining whether to add a primitive with a
8962 parameter of a tagged incomplete type to the Private_Dependents list.
8963 Such primitives can also occur in the visible part, and should not have
8964 been excluded from being private dependents.
8965 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
8966 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
8967 list of a Taft-amendment incomplete type is a primitive before issuing
8968 an error that the full type must appear in the same unit. There are
8969 cases where nonprimitives can be in the list (such as subprograms in
8970 nested packages).
8971 * sem_disp.adb (Derives_From): Use correct condition for checking that
8972 a formal's type is derived from the type of the corresponding formal in
8973 the parent subprogram (the condition was completely wrong). Add
8974 checking that was missing for controlling result types being derived
8975 from the result type of the parent operation.
8976
89772011-08-02 Yannick Moy <moy@adacore.com>
8978
8979 * errout.adb (First_Node): minor renaming
8980 * restrict.adb (Check_Formal_Restriction): put restriction warning on
8981 first node.
8982
89832011-08-02 Yannick Moy <moy@adacore.com>
8984
8985 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
8986 before accessing operands.
8987 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
8988 decide whether an initialization expression respects SPARK rules, as
8989 the plain node is the expanded one. This allows for more valid warnings
8990 to be issued.
8991 * gnat_rm.texi: Minor update.
8992
89932011-08-02 Arnaud Charlet <charlet@adacore.com>
8994
8995 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
8996 previous change.
8997
89982011-08-02 Robert Dewar <dewar@adacore.com>
8999
9000 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
9001
90022011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
9003
9004 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
9005 loop statements and the element renaming declaration with a block when
9006 the element type is controlled.
9007
90082011-08-02 Yannick Moy <moy@adacore.com>
9009
9010 * sinfo.ads: Minor formatting.
9011
90122011-08-02 Ed Schonberg <schonberg@adacore.com>
9013
9014 * sem_aggr.adb (Add_Association): if the association has a box and no
9015 expression, use the Sloc of the aggregate itself for the new
9016 association.
9017 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
9018 the Original_Node.
9019
90202011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
9021
9022 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
9023 When a container is provided via a function call, generate a renaming
9024 of the function result. This avoids the creation of a transient scope
9025 and the premature finalization of the container.
9026 * exp_ch7.adb (Is_Container_Cursor): Removed.
9027 (Wrap_Transient_Declaration): Remove the supression of the finalization
9028 of the list controller when the declaration denotes a container cursor,
9029 it is not needed.
9030
90312011-08-02 Yannick Moy <moy@adacore.com>
9032
9033 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
9034 node is from source, instead of the original node being from source.
9035 * sem_aggr.adb
9036 (Resolve_Array_Aggregate): refine the check for a static expression, to
9037 recognize also static ranges
9038 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
9039 Array_Type_Declaration): postpone the test for the type being a subtype
9040 mark after the type has been resolved, so that component-selection and
9041 expanded-name are discriminated.
9042 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
9043 to distinguish the case of an iteration scheme, so that an error is
9044 issed on a non-static range in SPARK except in an iteration scheme.
9045 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
9046 In_Iter_Schm = True.
9047 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
9048 user-defined operators so that they are allowed in renaming
9049 * sem_ch8.adb
9050 (Find_Selected_Component): refine the check for prefixing of operators
9051 so that they are allowed in renaming. Move the checks for restrictions
9052 on selector name after analysis discriminated between
9053 component-selection and expanded-name.
9054 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
9055 concatenation argument of string type if it is static.
9056 * sem_util.adb, sem_util.ads
9057 (Check_Later_Vs_Basic_Declarations): add a new function
9058 Is_Later_Declarative_Item to decice which declarations are allowed as
9059 later items, in the two different modes Ada 83 and SPARK. In the SPARK
9060 mode, add that renamings are considered as later items.
9061 (Enclosing_Package): new function to return the enclosing package
9062 (Enter_Name): correct the rule for homonyms in SPARK
9063 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
9064 from source (result of expansion) to avoid issuing wrong warnings.
9065
90662011-08-02 Ed Schonberg <schonberg@adacore.com>
9067
9068 * errout.adb: On anything but an expression First_Node returns its
9069 argument.
9070
90712011-08-02 Pascal Obry <obry@adacore.com>
9072
9073 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
9074
90752011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
9076
9077 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
9078 Set the associated loop as the related expression of internally
9079 generated cursors.
9080 * exp_ch7.adb (Is_Container_Cursor): New routine.
9081 (Wrap_Transient_Declaration): Supress the finalization of the list
9082 controller when the declaration denotes a container cursor.
9083
90842011-08-02 Yannick Moy <moy@adacore.com>
9085
9086 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
9087 command line now.
9088 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
9089 expression is a simple expression. This check cannot be performed in
9090 the semantics, so just drop it.
9091 (P_Index_Or_Discriminant_Constraint): move check that the index or
9092 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
9093 semantics. Other cases were previously checked in the semantics.
9094 * par-ch4.adb (P_Name): move checks that a selector name is not
9095 character literal or an operator symbol to Find_Selected_Component in
9096 the semantics
9097 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
9098 declarations are not placed after later declarations in a separate
9099 procedure in Sem_Util (possibly not the best choice?), to be used both
9100 during parsing, for Ada 83 mode, and during semantic analysis, for
9101 SPARK mode.
9102 * par-endh.adb (Check_End): move check that end label is not missing
9103 to Process_End_Label in the semantics
9104 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
9105 the special case for SPARK restriction
9106 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
9107 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
9108 parameter Force to issue the error message even on internal node (used
9109 for generated end label). Call Check_Restriction to check when an error
9110 must be issued. In SPARK mode, issue an error message even if the
9111 restriction is not set.
9112 (Check_Restriction): new procedure with an additional out parameter to
9113 inform the caller that a message has been issued
9114 * sem_aggr.adb: Minor modification of message
9115 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
9116 instead of issuing an error message directly
9117 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
9118 declarations are not placed after later declarations, by calling
9119 Check_Later_Vs_Basic_Declarations
9120 (Analyze_Subtype_Declaration): move here the check that an index or
9121 discriminant constraint must be a subtype mark. Change the check that
9122 a subtype of String must start at one so that it works on subtype marks.
9123 * sem_ch4.adb (Analyze_Call): move here the check that a named
9124 association cannot follow a positional one in a call
9125 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
9126 instead of issuing an error message directly
9127 * sem_ch8.adb (Find_Selected_Component): move here the check that a
9128 selector name is not a character literal or an operator symbol. Move
9129 here the check that the prefix of an expanded name cannot be a
9130 subprogram or a loop statement.
9131 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
9132 procedure called from parsing and semantics to check that basic
9133 declarations are not placed after later declarations
9134 (Process_End_Label): move here the check that end label is not missing
9135
91362011-08-02 Arnaud Charlet <charlet@adacore.com>
9137
9138 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
9139 representation clause in codepeer mode, since it confuses CodePeer and
9140 does not bring useful info.
9141
91422011-08-02 Ed Falis <falis@adacore.com>
9143
9144 * init.c: initialize fp hw on MILS.
9145
91462011-08-02 Ed Schonberg <schonberg@adacore.com>
9147
9148 * errout.adb (First_Node): for bodies, return the node itself (small
9149 optimization). For other nodes, do not check source_unit if the node
9150 comes from Standard.
9151
91522011-08-02 Robert Dewar <dewar@adacore.com>
9153
9154 * exp_ch3.adb: Minor comment additions.
9155 * sem_ch13.adb: Minor reformatting.
9156
91572011-08-02 Pascal Obry <obry@adacore.com>
9158
9159 * make.adb, makeutl.adb: Removes some superfluous directory separator.
9160
91612011-08-02 Robert Dewar <dewar@adacore.com>
9162
9163 * sem_attr.adb: Minor reformatting.
9164
91652011-08-02 Robert Dewar <dewar@adacore.com>
9166
9167 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
9168 (Has_Default_Component_Value): Removed
9169 * einfo.ads Comment updates
9170 (Has_Default_Aspect): Replaces Has_Default_Value
9171 (Has_Default_Component_Value): Removed
9172 * exp_ch13.adb
9173 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
9174 * exp_ch3.adb
9175 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
9176 (Get_Simple_Init_Val): Handle Default_Value aspect
9177 (Needs_Simple_Initialization): Handle Default_Value aspect
9178 * exp_ch3.ads: Needs_Simple_Initialization
9179 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
9180 * par-prag.adb (Pragma_Default[_Component]Value) Removed
9181 * sem_ch13.adb
9182 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
9183 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
9184 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
9185
91862011-08-02 Ed Schonberg <schonberg@adacore.com>
9187
9188 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
9189 package containing iteration primitives.
9190 exp_ch5.adb (Expand_Iterator_Loop): ditto.
9191
91922011-08-02 Ed Schonberg <schonberg@adacore.com>
9193
9194 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
9195 "of", pre-analyze expression in case it is a function call with
9196 finalization actions that must be placed ahead of the loop.
9197 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
9198 on an Ada2012 iterator, insert them ahead of the rewritten loop.
9199
92002011-08-02 Geert Bosch <bosch@adacore.com>
9201
9202 * cstand.adb (Create_Float_Types): Only consider C's long double for
9203 Long_Long_Float, in addition to double.
9204
92052011-08-02 Robert Dewar <dewar@adacore.com>
9206
9207 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
9208 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
9209 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
9210 Minor reformatting.
9211
92122011-08-02 Ed Schonberg <schonberg@adacore.com>
9213
9214 * sem_attr.adb: handle properly 'Result when it is a prefix of an
9215 indexed component.
9216
92172011-08-02 Javier Miranda <miranda@adacore.com>
9218
9219 * einfo.ads, einfo.adb
9220 (Original_Access_Type): Move this attribute to Node26 since there was
9221 an undocumented use of Node21 in E_Access_Subprogram_Type entities
9222 which causes conflicts and breaks the generation of the .NET compiler.
9223 (Interface_Name): Add missing documentation on JGNAT only uses of
9224 this attribute.
9225
92262011-08-02 Geert Bosch <bosch@adacore.com>
9227
9228 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
9229 (Find_Back_End_Float_Type): Likewise
9230 (Create_Back_End_Float_Types): Likewise
9231 (Create_Float_Types): Likewise
9232 (Register_Float_Type): Likewise
9233 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
9234 Nlist and split out type selection in new local Find_Base_Type function.
9235 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
9236 Nlist
9237 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
9238
92392011-08-02 Robert Dewar <dewar@adacore.com>
9240
9241 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
9242 alpha order).
9243 * opt.ads: Minor comment change.
9244 * sem_ch12.adb: Minor code reorganization.
9245
92462011-08-02 Gary Dismukes <dismukes@adacore.com>
9247
9248 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
9249 subtype's list of rep items to the list on the full subtype in the case
9250 where the lists are the same.
9251
92522011-08-02 Geert Bosch <bosch@adacore.com>
9253
9254 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
9255 using the one from System.Strings, which also deallocates all strings.
9256
92572011-08-02 Geert Bosch <bosch@adacore.com>
9258
9259 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
9260 function.
9261 * gcc-interface/Make-lang.in: Update dependencies.
9262
92632011-08-02 Olivier Hainque <hainque@adacore.com>
9264
9265 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
9266 end_locus.
9267
92682011-08-02 Javier Miranda <miranda@adacore.com>
9269
9270 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
9271 associated with anonymous access to subprograms.
9272
92732011-08-02 Geert Bosch <bosch@adacore.com>
9274
9275 * opt.ads
9276 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
9277 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
9278 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
9279 (Add_Symbol_Definition): Move to switch-c.adb
9280 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
9281 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
9282 (Add_Symbol_Definition): Move to switch-c.adb.
9283 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
9284 * sem_warn.adb
9285 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
9286 Move to warnsw.adb.
9287 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
9288 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
9289 Move to warnsw.adb.
9290 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
9291 (Add_Symbol_Definition): Moved from Prepcomp.
9292 * switch-c.ads: Update copyright notice. Use String_List instead of
9293 Argument_List, removing dependency on System.OS_Lib.
9294
92952011-08-02 Yannick Moy <moy@adacore.com>
9296
9297 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
9298 mode on initialization expression which does not respect SPARK
9299 restrictions.
9300 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
9301 if the tree referenced by its argument represents an initialization
9302 expression in SPARK, suitable for initializing an object in an object
9303 declaration.
9304
93052011-08-02 Javier Miranda <miranda@adacore.com>
9306
9307 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
9308 internally generated access to subprogram with its associated protected
9309 subprogram type.
9310 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
9311
93122011-08-02 Geert Bosch <bosch@adacore.com>
9313
9314 * cstand.adb (Register_Float_Type): Print information about type to
9315 register, if the Debug_Flag_Dot_B is set.
9316 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
9317 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
9318 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
9319 with a requested precision of more than Max_Digits digits and no more
9320 than Max_Base_Digits digits, if a range specification is present and the
9321 Predefined_Float_Types list has a suitable type to derive from.
9322 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
9323 case of type completion with pragma Import
9324 * sem_prag.adb
9325 (Process_Import_Predefined_Type): Processing to complete a type
9326 with pragma Import. Currently supports floating point types only.
9327 (Set_Convention_From_Pragma): Do nothing without underlying type.
9328 (Process_Convention): Guard against absence of underlying type,
9329 which may happen when importing incomplete types.
9330 (Process_Import_Or_Interface): Handle case of importing predefined
9331 types. Tweak error message.
9332
93332011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9334
9335 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
9336 functions to previous change. Reorganize code slightly.
9337
93382011-08-02 Geert Bosch <bosch@adacore.com>
9339
9340 * back_end.ads (Register_Type_Proc): New call back procedure type for
9341 allowing the back end to provide information about available types.
9342 (Register_Back_End_Types): New procedure to register back end types.
9343 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
9344 available types.
9345 * cstand.adb (Back_End_Float_Types): New list for floating point types
9346 supported by the back end.
9347 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
9348 (Copy_Float_Type): New procedure to make new copies of predefined types.
9349 (Register_Float_Type): New call back procedure to populate the BEFT list
9350 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
9351 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
9352 (Create_Float_Types): New procedure to create entities for floating
9353 point types predefined in Standard, and put these and any remaining
9354 BEFTs on the Predefined_Float_Types list.
9355 * stand.ads (Predefined_Float_Types): New list for predefined floating
9356 point types that do not have declarations in package Standard.
9357
93582011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9359
9360 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
9361 entity node for the unit containing the parameter.
9362 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
9363 (Add_Inlined_Subprogram): Likewise.
9364 * gcc-interface/Make-lang.in: Update dependencies.
9365
93662011-08-02 Thomas Quinot <quinot@adacore.com>
9367
9368 * s-stusta.adb (Print): Make sure Pos is always initialized to a
9369 suitable value.
9370
93712011-08-02 Geert Bosch <bosch@adacore.com>
9372
9373 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
9374
93752011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9376
9377 * sem_type.adb (Covers): Move trivial case to the top and reuse the
9378 computed value of Base_Type.
9379
93802011-08-02 Yannick Moy <moy@adacore.com>
9381
9382 * restrict.adb (Check_Restriction): issue an error for any use of
9383 class-wide, even if the No_Dispatch restriction is not set.
9384 * sem_aggr.adb: Correct typos in comments and messages in formal mode
9385 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
9386 when completing a private extension, the type named in the private part
9387 is not the same as that named in the visible part.
9388 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
9389 of an inherited primitive operations of a tagged type or type extension
9390 that returns the tagged type.
9391 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
9392 function which returns True for an implicit operation inherited by the
9393 derived type declaration for the argument type.
9394 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
9395 order.
9396
93972011-08-02 Ed Schonberg <schonberg@adacore.com>
9398
9399 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
9400 Process_Bounds, to perform analysis with expansion of a range or an
9401 expression that is the iteration scheme for a loop.
9402 (Analyze_Iterator_Specification): If domain of iteration is given by a
9403 function call with a controlled result, as is the case if call returns
9404 a predefined container, ensure that finalization actions are properly
9405 generated.
9406 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
9407
94082011-08-02 Javier Miranda <miranda@adacore.com>
9409
9410 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
9411 * gcc-interface/Make-lang.in: Update dependencies.
9412
94132011-08-02 Javier Miranda <miranda@adacore.com>
9414
9415 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
9416 determine if the analysis is performed using N or Original_Node (N).
9417 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
9418 functionality of routine Is_Variable avoids code duplication.
9419 * checks.adb (Determine_Range): Handle temporaries generated by
9420 Remove_Side_Effects.
9421
94222011-08-02 Javier Miranda <miranda@adacore.com>
9423
9424 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
9425 expansion of the condition. Required since the previous analysis was
9426 done with expansion disabled (see Resolve_Quantified_Expression) and
9427 hence checks were not inserted and record comparisons have not been
9428 expanded.
9429
94302011-08-02 Ed Falis <falis@adacore.com>
9431
9432 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
9433 Update header.
9434
94352011-08-02 Bob Duff <duff@adacore.com>
9436
9437 * opt.ads: Minor comment fix.
9438
94392011-08-02 Bob Duff <duff@adacore.com>
9440
9441 * sem_ch12.adb (Analyze_Package_Instantiation,
9442 Analyze_Subprogram_Instantiation): Turn off style checking while
9443 analyzing an instance. Whatever style checks that apply to the generic
9444 unit should apply, so it makes no sense to apply them in an instance.
9445 This was causing trouble when compiling an instance of a runtime
9446 unit that violates the -gnatyO switch.
9447 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
9448 one of the two case statements, causing spurious errors.
9449
94502011-08-02 Robert Dewar <dewar@adacore.com>
9451
9452 * uname.adb: Minor reformatting.
9453 * gnatcmd.adb: Minor reformatting.
9454 * exp_attr.adb: Minor reformatting.
9455
94562011-08-02 Ed Schonberg <schonberg@adacore.com>
9457
9458 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
9459 No_Dispatching_Calls, do not look for the Assign primitive, because
9460 predefined primitives are not created in this case.
9461
94622011-08-02 Bob Duff <duff@adacore.com>
9463
9464 * stylesw.ads: Minor comment fixes.
9465
94662011-08-02 Robert Dewar <dewar@adacore.com>
9467
9468 * freeze.adb (Add_To_Result): New procedure.
9469
94702011-08-02 Jose Ruiz <ruiz@adacore.com>
9471
9472 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
9473 time, if the specific run-time routines for handling streams of strings
9474 are not available, use the default mechanism.
9475
94762011-08-02 Arnaud Charlet <charlet@adacore.com>
9477
9478 * s-regpat.ads: Fix typo.
9479
94802011-08-02 Vincent Celier <celier@adacore.com>
9481
9482 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
9483 not null, call it to create the in memory config project file without
9484 parsing an existing default config project file.
9485
94862011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9487
9488 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
9489
94902011-08-02 Ed Schonberg <schonberg@adacore.com>
9491
9492 * sem_elim.adb: an abstract subprogram does not need an eliminate
9493 pragma for its descendant to be eliminable.
9494
94952011-08-02 Ed Falis <falis@adacore.com>
9496
9497 * init.c: revert to handling before previous checkin for VxWorks
9498 * s-intman-vxworks.adb: delete unnecessary declarations related to
9499 using Ada interrupt facilities for handling signals.
9500 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
9501 * s-intman-vxworks.ads: Import __gnat_install_handler as
9502 Initialize_Interrupts.
9503 * s-taprop-vxworks.adb: Delete Signal_Mask.
9504 (Abort_Handler): change construction of mask to unblock exception
9505 signals.
9506
95072011-08-02 Jerome Guitton <guitton@adacore.com>
9508
9509 * a-except-2005.adb (Raise_From_Signal_Handler): Call
9510 Debug_Raise_Exception before propagation starts.
9511
95122011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9513
9514 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
9515 to Restriction_Check_Required.
9516 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
9517 * sem_res.adb (Resolve_Call): Likewise.
9518 * sem_attr.adb (Check_Stream_Attribute): Likewise.
9519
95202011-08-02 Bob Duff <duff@adacore.com>
9521
9522 * stylesw.ads: Update comment.
9523 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
9524 * errout.ads: Remove obsolete comment.
9525
95262011-08-02 Javier Miranda <miranda@adacore.com>
9527
9528 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
9529 (Set_Is_Safe_To_Reevaluate): new procedure.
9530 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
9531 assignment is allowed on safe-to-reevaluate variables.
9532 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
9533 temporary created to remove side effects in expressions that use
9534 the secondary stack as safe-to-reevaluate.
9535 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
9536 variables that are not true constants.
9537
95382011-08-02 Robert Dewar <dewar@adacore.com>
9539
9540 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
9541 sem_res.adb, sem_ch6.adb: Minor reformatting.
9542
95432011-08-02 Jerome Guitton <guitton@adacore.com>
9544
9545 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
9546
95472011-08-02 Ed Schonberg <schonberg@adacore.com>
9548
9549 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
9550 not set Overridden_Operation if subprogram is an initialization
9551 procedure.
9552
95532011-08-02 Yannick Moy <moy@adacore.com>
9554
9555 * par-ch6.adb: Correct obsolete name in comments
9556 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
9557 which takes two message arguments (existing function takes one), with
9558 second message used for continuation.
9559 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
9560 block statements that originate from a source block statement, not
9561 generated block statements
9562 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
9563 symmetry with procedure case
9564 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
9565 function to issue an error in formal mode if a package specification
9566 contains more than one tagged type or type extension.
9567 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
9568 parameters matching formals of tagged types are objects (or ancestor
9569 type conversions of objects), not general expressions. Issue an error
9570 on view conversions that are not involving ancestor conversion of an
9571 extended type.
9572 (Resolve_Type_Conversion): in formal mode, issue an error on the
9573 operand of an ancestor type conversion which is not an object
9574 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
9575 procedure so that it works also for actuals of function calls
9576 (Is_Actual_Tagged_Parameter): new function which determines if its
9577 argument is an actual parameter of a formal of tagged type in a
9578 subprogram call
9579 (Is_SPARK_Object_Reference): new function which determines if the tree
9580 referenced by its argument represents an object in SPARK
9581
95822011-08-02 Robert Dewar <dewar@adacore.com>
9583
9584 * sem_ch3.adb: Minor reformatting
9585 Minor comment addition
9586 Minor error msg text change
9587
95882011-08-02 Javier Miranda <miranda@adacore.com>
9589
9590 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
9591 function. Used to be more precise when we generate a variable plus one
9592 assignment to remove side effects in the evaluation of the Bound
9593 expressions.
9594 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
9595 of the bound expression to force its re-analysis and thus expand the
9596 associated transient scope (if required). Code cleanup replacing the
9597 previous code that declared the constant entity by an invocation to
9598 routine Force_Evaluation which centralizes this work in the frontend.
9599
96002011-08-02 Robert Dewar <dewar@adacore.com>
9601
9602 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
9603 (Base_Type): Now uses improved Is_Base_Type function
9604 * einfo.ads (Base_Type): Inline this function
9605
96062011-08-02 Robert Dewar <dewar@adacore.com>
9607
9608 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
9609 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
9610
96112011-08-02 Arnaud Charlet <charlet@adacore.com>
9612
9613 * gcc-interface/Make-lang.in: Update dependencies.
9614 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
9615 targets.
9616
96172011-08-02 Yannick Moy <moy@adacore.com>
9618
9619 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
9620 non-simple expression used in delta constraint
9621 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
9622 index constraint which is not a subtype mark
9623 * par.adb: With and use Restrict
9624 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
9625 mode on component type which is not a subtype mark and default
9626 expression on component
9627 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
9628 of string which does not have a lower index bound equal to 1
9629 (Array_Type_Declaration): issue an error in formal mode on index or
9630 component type which is not a subtype mark, and on aliased keyword on
9631 component
9632 (Derived_Type_Declaration): issue an error in formal mode on interface,
9633 limited or abstract type
9634 (Record_Type_Declaration): issue an error in formal mode on interface
9635 (Record_Type_Definition): issue an error in formal mode on tagged types
9636 and type extensions not declared in the specification of a library unit
9637 package; on null non-tagged record; on variant part
9638
96392011-08-02 Vincent Celier <celier@adacore.com>
9640
9641 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
9642 not declared for qualified library project when Library_Name is not
9643 declared, but Library_Dir is.
9644
96452011-08-02 Robert Dewar <dewar@adacore.com>
9646
9647 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
9648 pragmas (affects aspects [Component_]Default_Value
9649 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
9650 component type for the resolution
9651
96522011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9653
9654 * einfo.adb (Base_Type): Tune implementation for speed.
9655
96562011-08-02 Robert Dewar <dewar@adacore.com>
9657
9658 * freeze.adb: Minor reformatting.
9659
96602011-08-02 Thomas Quinot <quinot@adacore.com>
9661
9662 * scos.ads: Update comments.
9663
96642011-08-02 Ed Schonberg <schonberg@adacore.com>
9665
9666 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
9667 base type, because the parent may be a subtype of a private type whose
9668 convention is established in a private part.
9669
96702011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
9671
9672 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
9673 statement in a block when the expansion of the return expression has
9674 created a finalization chain.
9675 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
9676 with the parent node.
9677 Add N_Extended_Return_Statement to handle the case where a transient
9678 object declaration appears in the Return_Object_Declarations list of
9679 an extended return statement.
9680
96812011-08-02 Matthew Gingell <gingell@adacore.com>
9682
9683 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
9684 unused parameter 'name'.
9685
96862011-08-02 Ed Schonberg <schonberg@adacore.com>
9687
9688 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
9689 inherited operation, check whether its alias, which is the source
9690 operastion that it renames, has been marked eliminated.
9691
96922011-08-02 Javier Miranda <miranda@adacore.com>
9693
9694 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
9695 in-mode parameter whose type is an access type since it can be used to
9696 modify its designated object. Enforce code that handles as safe an
9697 access type that is not access-to-constant but it is the result of a
9698 previous removal of side-effects.
9699 (Remove_Side_Effects): Minor code reorganization of cases which require
9700 no action. Done to incorporate documentation on new cases uncovered
9701 working in this ticket: no action needed if this routine was invoked
9702 too early and the nodes are not yet decorated.
9703 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
9704 to routine Remove_Side_Effects by calls to Force_Evaluation since they
9705 were issued with actuals that are implicitly provided by
9706 Force_Evaluation.
9707
97082011-08-02 Robert Dewar <dewar@adacore.com>
9709
9710 * sem_ch3.adb, sem_res.adb: Minor reformatting.
9711
97122011-08-02 Yannick Moy <moy@adacore.com>
9713
9714 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
9715 to issue an error in formal mode on attribute not supported in this mode
9716 (Analyze_Attribute): issue errors on standard attributes not supported
9717 in formal mode.
9718 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
9719 comment, and issue error in formal mode on modulus which is not a power
9720 of 2.
9721 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
9722 range.
9723 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
9724 subtype mark.
9725 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
9726 operator on modular type (except 'not').
9727
97282011-08-02 Robert Dewar <dewar@adacore.com>
9729
9730 * gnat_rm.texi: Minor reformatting.
9731
97322011-08-02 Arnaud Charlet <charlet@adacore.com>
9733
9734 * s-osinte-linux.ads: Minor comment update and reformatting.
9735 * i-cexten.ads: Make this unit pure, as for its parent.
9736 Will allow its usage in more contexts if needed.
9737
97382011-08-02 Robert Dewar <dewar@adacore.com>
9739
9740 * s-utf_32.ads: Minor comment fix.
9741
97422011-08-02 Ed Schonberg <schonberg@adacore.com>
9743
9744 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
9745 operation of a tagged synchronized type, handle the case where the
9746 controlling argument is overloaded.
9747
97482011-08-02 Yannick Moy <moy@adacore.com>
9749
9750 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
9751 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
9752 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
9753 SPARK mode and formal verification mode on processing SPARK restriction
9754 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
9755 requiring consistency checking.
9756
97572011-08-02 Robert Dewar <dewar@adacore.com>
9758
9759 * sem_res.adb: Minor reformatting.
9760
97612011-08-02 Robert Dewar <dewar@adacore.com>
9762
9763 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
9764 a-cforse.ads: Remove unneeded with of Ada.Containers
9765 Remove commented out pragma Inline's
9766 Move specifications of new subprograms to the actual specs
9767
97682011-08-02 Yannick Moy <moy@adacore.com>
9769
9770 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
9771 a-cforse.ads: Update comments.
9772
97732011-08-02 Ed Schonberg <schonberg@adacore.com>
9774
9775 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
9776
97772011-08-02 Robert Dewar <dewar@adacore.com>
9778
9779 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
9780 a-cforse.ads, a-cofove.ads: Minor reformatting.
9781
97822011-08-02 Claire Dross <dross@adacore.com>
9783
9784 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
9785 a-cofove.ads: Add comments.
9786
97872011-08-02 Yannick Moy <moy@adacore.com>
9788
9789 * gnat_rm.texi: Document formal containers.
9790
97912011-08-02 Emmanuel Briot <briot@adacore.com>
9792
9793 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
9794 are empty sections.
9795
97962011-08-02 Robert Dewar <dewar@adacore.com>
9797
9798 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
9799 reformatting.
9800
98012011-08-02 Robert Dewar <dewar@adacore.com>
9802
9803 * aspects.adb: New aspects Default_Value and Default_Component_Value
9804 New format of Aspect_Names table checks for omitted entries
9805 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
9806 handling of boolean aspects for derived types.
9807 New aspects Default_Value and Default_Component_Value
9808 New format of Aspect_Names table checks for omitted entries
9809 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
9810 (Has_Default_Value): New flag
9811 (Has_Default_Component_Value): New flag
9812 (Has_Default_Value): New flag
9813 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
9814 table.
9815 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
9816 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
9817 Default_Value and Default_Component_Value
9818 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
9819 New aspects Default_Value and Default_Component_Value
9820 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
9821 * sprint.adb: Print N_Aspect_Specification node when called from gdb
9822
98232011-08-02 Vincent Celier <celier@adacore.com>
9824
9825 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
9826 inherit library kind.
9827
98282011-08-02 Ed Schonberg <schonberg@adacore.com>
9829
9830 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
9831 Minor reformatting.
9832
98332011-08-02 Robert Dewar <dewar@adacore.com>
9834
9835 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
9836
98372011-08-02 Yannick Moy <moy@adacore.com>
9838
9839 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
9840
98412011-08-02 Robert Dewar <dewar@adacore.com>
9842
9843 * impunit.adb: Add comment.
9844
98452011-08-02 Yannick Moy <moy@adacore.com>
9846
9847 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
9848 qualification of aggregates in formal mode
9849 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
9850 another aggregate
9851 (Resolve_Aggregate): complete the test that an aggregate is adequately
9852 qualified in formal mode
9853
98542011-08-02 Pascal Obry <obry@adacore.com>
9855
9856 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
9857 * mlib-prj.adb: Supress warning when compiling binder generated file.
9858 (Build_Library): Supress all warnings when compiling the binder
9859 generated file.
9860
98612011-08-02 Yannick Moy <moy@adacore.com>
9862
9863 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
9864 from here...
9865 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
9866 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
9867 Add with/use clauses to make Check_Formal_Restriction visible
9868
98692011-08-02 Ed Schonberg <schonberg@adacore.com>
9870
9871 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
9872 in-parameters when type of the generic formal is private in the generic
9873 spec and non-private in the body.
9874
98752011-08-02 Claire Dross <dross@adacore.com>
9876
9877 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
9878 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
9879 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
9880 * impunit.adb, Makefile.rtl: Take new files into account.
9881
98822011-08-02 Robert Dewar <dewar@adacore.com>
9883
9884 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
9885 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
9886
98872011-08-02 Yannick Moy <moy@adacore.com>
9888
9889 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
9890 formal mode
9891 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
9892 matching static array bounds, taking into account the special case of
9893 string literals
9894 * sem_ch3.adb: Typo in comment.
9895
98962011-08-02 Yannick Moy <moy@adacore.com>
9897
9898 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
9899 which issues an error in formal mode if its argument node is originally
9900 from source
9901 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
9902 has a discriminant specification so that it does not include the case
9903 of derived types
9904 (Derived_Type_Declaration): move here the test that a derived type has a
9905 discriminant specification
9906 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
9907 first element of a component association before accessing its choices
9908 (presence of component association is not enough)
9909 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
9910 declaration is a library item before accessing the next element in a
9911 list, as library items are not member of lists
9912 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
9913 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
9914 Check_Formal_Restriction whenever possible.
9915
99162011-08-02 Ed Schonberg <schonberg@adacore.com>
9917
9918 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
9919 reference when needed.
9920
99212011-08-02 Bob Duff <duff@adacore.com>
9922
9923 * gnat_ugn.texi: Fix typo.
9924
99252011-08-02 Vincent Celier <celier@adacore.com>
9926
9927 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
9928 archive file name. Do not use the full path name of archives for Open
9929 VMS.
9930
99312011-08-02 Robert Dewar <dewar@adacore.com>
9932
9933 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
9934 Analyze_Aspect_Specifications
9935 * sem_ch13.adb
9936 (Analyze_Aspect_Specifications): New handling for boolean aspects
9937 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
9938 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
9939 sequence for Analyze_Aspect_Specifications
9940 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
9941 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
9942
99432011-08-02 Robert Dewar <dewar@adacore.com>
9944
9945 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
9946 aspects, since these no longer exist.
9947
99482011-08-02 Robert Dewar <dewar@adacore.com>
9949
9950 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
9951 semicolon, do not try to see if there are aspects following it.
9952 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
9953 aspect spec.
9954
99552011-08-02 Robert Dewar <dewar@adacore.com>
9956
9957 * sem_ch8.adb, aspects.ads: Minor reformatting.
9958
99592011-08-02 Eric Botcazou <ebotcazou@adacore.com>
9960
9961 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
9962 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
9963 extracted from...
9964 (Analyze_Aspect_Specifications): ...here. Call above procedure.
9965
99662011-08-02 Yannick Moy <moy@adacore.com>
9967
9968 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
9969 mode on subprogram declaration outside of package specification, unless
9970 it is followed by a pragma Import
9971 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
9972 Access_Type_Declaration): issue error in formal mode on access type
9973 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
9974 incomplete type
9975 (Analyze_Object_Declaration): issue error in formal mode on object
9976 declaration which does not respect SPARK restrictions
9977 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
9978 declaration which does not respect SPARK restrictions
9979 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
9980 error in formal mode on digits or delta constraint
9981 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
9982 decimal fixed point type
9983 (Derived_Type_Declaration): issue error in formal mode on derived type
9984 other than type extensions of tagged record types
9985 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
9986 with check on access definition
9987 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
9988 mode on protected definition.
9989 (Analyze_Task_Definition): issue error in formal mode on task definition
9990
99912011-08-02 Robert Dewar <dewar@adacore.com>
9992
9993 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
9994
99952011-08-02 Javier Miranda <miranda@adacore.com>
9996
9997 * sem_ch6.adb (Can_Override_Operator): New function.
9998 (Verify_Overriding_Indicator): Add missing code to check overriding
9999 indicator in operators. Fixes regression.
10000 (Check_Overriding_Indicator): Minor reformating after replacing the
10001 code that evaluates if the subprogram can override an operator by
10002 invocations to the above new function.
10003 * einfo.adb
10004 (Write_Field26_Name): Add missing code to ensure that, following
10005 the documentation in einfo.ads, this field is not shown as attribute
10006 "Static_Initialization" on non-dispatching functions.
10007
100082011-08-02 Jose Ruiz <ruiz@adacore.com>
10009
10010 * sem_res.adb (Resolve_Call): A call to
10011 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
10012 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
10013 i.e., when the second parameter is of type Time_Span.
10014
100152011-08-02 Vincent Celier <celier@adacore.com>
10016
10017 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
10018 with an archive instead of -L<library dir> -l<library name>.
10019
100202011-08-02 Ed Schonberg <schonberg@adacore.com>
10021
10022 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
10023 mark the base types In_Use in addition to making the operations
10024 use_visible.
10025
100262011-08-02 Ed Falis <falis@adacore.com>
10027
10028 * init.c: add and setup __gnat_signal_mask for the exception signals
10029 * s-inmaop-vxworks.adb: new file.
10030 * s-intman-vxworks.adb: remove unnecessary initializations and
10031 simplify remaining
10032 * s-intman-vxworks.ads: remove unnecessary variable
10033 * s-taprop-vxworks.adb: simplify signal initialization
10034
100352011-08-02 Robert Dewar <dewar@adacore.com>
10036
10037 * sem_ch8.adb: Minor code reorganization, comment updates.
10038
100392011-08-02 Robert Dewar <dewar@adacore.com>
10040
10041 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
10042 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
10043 here from Sem_Res.
10044 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
10045 (Matching_Static_Array_Bounds): Moved here from Sem_Res
10046
100472011-08-02 Ed Schonberg <schonberg@adacore.com>
10048
10049 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
10050 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
10051 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
10052 use_type_clauses, to handle more efficiently use_type and use_all_type
10053 constructs.
10054 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
10055 Ada2012 Use_All_Type clause.
10056 (Use_Class_Wide_Operations): new procedure.
10057
100582011-08-02 Robert Dewar <dewar@adacore.com>
10059
10060 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
10061 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
10062 expression to expression function.
10063
100642011-08-02 Ed Schonberg <schonberg@adacore.com>
10065
10066 * sem_ch4.adb: transform simple Ada2012 membership into equality only
10067 if types are compatible.
10068
100692011-08-02 Yannick Moy <moy@adacore.com>
10070
10071 * sem_res.adb (Matching_Static_Array_Bounds): new function which
10072 returns True if its argument array types have same dimension and same
10073 static bounds at each index.
10074 (Resolve_Actuals): issue an error in formal mode on actuals passed as
10075 OUT or IN OUT paramaters which are not view conversions in SPARK.
10076 (Resolve_Arithmetic_Op): issue an error in formal mode on
10077 multiplication or division with operands of fixed point types which are
10078 not qualified or explicitly converted.
10079 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
10080 Boolean or array type (except String) operands.
10081 (Resolve_Equality_Op): issue an error in formal mode on equality
10082 operators for array types other than String with non-matching static
10083 bounds.
10084 (Resolve_Logical_Op): issue an error in formal mode on logical operators
10085 for array types with non-matching static bounds. Factorize the code in
10086 Matching_Static_Array_Bounds.
10087 (Resolve_Qualified_Expression): issue an error in formal mode on
10088 qualified expressions for array types with non-matching static bounds.
10089 (Resolve_Type_Conversion): issue an error in formal mode on type
10090 conversion for array types with non-matching static bounds
10091
100922011-08-02 Robert Dewar <dewar@adacore.com>
10093
10094 * par-ch10.adb: Minor code reorganization (use Nkind_In).
10095
100962011-08-02 Ed Schonberg <schonberg@adacore.com>
10097
10098 * par-ch9.adb: save location of entry for proper error message.
10099
101002011-08-02 Javier Miranda <miranda@adacore.com>
10101
10102 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
10103 (Use_Full_View) which permits this routine to climb through the
10104 ancestors using the full-view of private parents.
10105 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
10106 Use_Full_View to true in calls to Is_Ancestor.
10107 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
10108 true in call to Is_Ancestor.
10109 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
10110 Use_Full_View to true in call to Is_Ancestor.
10111 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
10112 call to Is_Ancestor.
10113 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
10114 Use_Full_View to true in calls to Is_Ancestor.
10115 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
10116 Make_Select_Specific_Data_Table, Register_Primitive,
10117 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
10118 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
10119 to true in call to Is_Ancestor.
10120 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
10121 Use_Full_View to true in calls to Is_Ancestor.
10122 * exp_cg.adb
10123 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
10124 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
10125
101262011-08-02 Robert Dewar <dewar@adacore.com>
10127
10128 * gnat_rm.texi: Minor reformatting.
10129 * sem_prag.adb: Minor reformatting.
10130
101312011-08-02 Tristan Gingold <gingold@adacore.com>
10132
10133 * vms_data.ads: Add VMS qualifier for -gnateP.
10134
101352011-08-02 Robert Dewar <dewar@adacore.com>
10136
10137 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
10138 * par-ch7.adb (P_Package): Proper placement of aspects for package
10139 decl/instantiation.
10140 * par-endh.adb (Check_End): Ad Is_Sloc parameter
10141 (End_Statements): Add Is_Sloc parameterr
10142 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
10143 (Check_End): Ad Is_Sloc parameter
10144 (End_Statements): Add Is_Sloc parameterr
10145
101462011-08-02 Vincent Celier <celier@adacore.com>
10147
10148 * ug_words: Add VMS qualifier equivalent to -gnateP:
10149 /SYMBOL_PREPROCESSING.
10150
101512011-08-02 Jose Ruiz <ruiz@adacore.com>
10152
10153 * gnat-style.texi: For hexadecimal numeric literals the typical
10154 grouping of digits is 4 to represent 2 bytes.
10155 A procedure spec which is split into several lines is indented two
10156 characters.
10157
101582011-08-02 Yannick Moy <moy@adacore.com>
10159
10160 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
10161 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
10162 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
10163 properly qualified
10164 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
10165 choice in array aggregate
10166 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
10167 mark as ancestor
10168 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
10169 positional and named aggregate for record, or others in record
10170 aggregate, or multiple choice in record aggregate
10171 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
10172 array operands to logical operations AND, OR and XOR do not have the
10173 same static lower and higher bounds
10174 * sem_ch5.adb, sinfo.ads: Correct typos in comments
10175
101762011-08-01 Robert Dewar <dewar@adacore.com>
10177
10178 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
10179 Replaces Last_Source_Node_In_Sequence.
10180 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
10181 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
10182 parens and blank in string (this was inconsistently implemented).
10183 * errout.ads
10184 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
10185 blank in string (this was inconsistently implemented).
10186 * gnat1drv.adb
10187 (Set_Global_Switches): Set formal mode switches appropriately
10188 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
10189 * par-prag.adb
10190 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
10191 call Set_Error_Msg_Lang to set "spark" as language name.
10192 * par.adb: Remove unnecessary call to set formal language for errout
10193 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
10194 appropriately and call Set_Error_Msg_Lang to set "spark" as language
10195 name.
10196 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
10197 calls to it, moved after resolution so that types are known
10198 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
10199 result of concatenation is not of type String
10200 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
10201 concatenation is not properly restricted
10202 * gnat_rm.texi: Add doc on pragma Spark_95.
10203 * gcc-interface/Makefile.in: Remove obsolete target pairs for
10204 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
10205 * gcc-interface/Make-lang.in: Update dependencies.
10206
102072011-08-01 Javier Miranda <miranda@adacore.com>
10208
10209 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
10210 condition that detects if the overridden operation must replace an
10211 existing entity.
10212
102132011-08-01 Javier Miranda <miranda@adacore.com>
10214
10215 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
10216 code declarations inserted by Insert_Actions in each alternative of the
10217 N_Case_Expression node.
10218
102192011-08-01 Robert Dewar <dewar@adacore.com>
10220
10221 * sem_ch6.adb: Minor code reorganization.
10222 * sem_util.adb: Minor reformatting.
10223
102242011-08-01 Pascal Obry <obry@adacore.com>
10225
10226 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
10227 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
10228
102292011-08-01 Yannick Moy <moy@adacore.com>
10230
10231 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
10232 literal or operator symbol which is prefixed
10233 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
10234 mode on access attributes.
10235 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
10236 that concatenation operands are properly restricted in formal mode
10237 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
10238 Analyze_Concatenation_Operand. Issue an error in formal mode if the
10239 result of the concatenation has a type different from String.
10240 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
10241 Analyze_Quantified_Expression, Analyze_Slice,
10242 Analyze_Null): issue an error in formal mode on unsupported constructs
10243 * sem_ch5.adb
10244 (Analyze_Block_Statement): only issue error on source block statement
10245 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
10246 function which returns the last node in a list of nodes for which
10247 Comes_From_Source returns True, if any
10248 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
10249 Last_Source_Node_In_Sequence
10250 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
10251 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
10252 mode on unsupported constructs
10253 * sem_ch9.adb Do not return after issuing error in formal mode, as the
10254 rest of the actions may be needed later on since the error is marked as
10255 not serious.
10256 * sinfo.ads: Typos in comments.
10257
102582011-08-01 Pascal Obry <obry@adacore.com>
10259
10260 * projects.texi: Minor editing.
10261
102622011-08-01 Yannick Moy <moy@adacore.com>
10263
10264 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
10265 insertion character ~~
10266 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
10267 (Set_Error_Msg_Lang): new procedure which fixes the language for use
10268 with insertion character ~~
10269 (Set_Msg_Text): treat insertion character ~~
10270 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
10271 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
10272 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
10273 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
10274 errors related to the formal language restriction not serious
10275 (insertion character |).
10276 * par.adb (Par): set formal language for error messages if needed
10277 * sem_ch6.adb (Check_Missing_Return): take into account possible
10278 generated statements at the end of the function
10279 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
10280 enumeration value to define a new pragma SPARK_95
10281 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
10282 SPARK_Version): new type and variables to store the SPARK version
10283 (none by default).
10284 (SPARK_Mode): return True when SPARK_Version is set
10285 * par-prag.adb: Correct indentation
10286 (Prag): take Pragma_SPARK_95 into account
10287 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
10288 into account.
10289
102902011-08-01 Robert Dewar <dewar@adacore.com>
10291
10292 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
10293 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
10294 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
10295
102962011-08-01 Pascal Obry <obry@adacore.com>
10297
10298 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
10299 Target_Name to Get_Path call.
10300 (Parse_Single_Project): Likewise.
10301 (Post_Parse_Context_Clause): Likewise.
10302 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
10303 Call Initialise_Project_Path with the proper Target_Name.
10304 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
10305 search path.
10306 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
10307 with the proper Target_Name.
10308 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
10309 Part.Parse routine.
10310 (Parse_Project_And_Apply_Config): Likewise.
10311 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
10312 This is fine as this part of the code is supporting only native
10313 compilation.
10314 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
10315 is fine as this part of the code is supporting only native compilation.
10316
103172011-08-01 Yannick Moy <moy@adacore.com>
10318
10319 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
10320 of homonym, unless the homonym is one of the cases allowed in SPARK
10321 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
10322 package declaration occurring after a body.
10323
103242011-08-01 Robert Dewar <dewar@adacore.com>
10325
10326 * checks.adb, exp_ch4.adb: Minor reformatting.
10327
103282011-08-01 Javier Miranda <miranda@adacore.com>
10329
10330 * einfo.ads (Access_Disp_Table): Fix documentation.
10331 (Dispatch_Table_Wrappers): Fix documentation.
10332
103332011-08-01 Pascal Obry <obry@adacore.com>
10334
10335 * prj-env.adb, prj-env.ads: Minor reformatting.
10336
103372011-08-01 Yannick Moy <moy@adacore.com>
10338
10339 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
10340 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
10341 procedures out of these packages.
2c7f9cc0 10342 * errout.ads, errout.adb
052e0603
AC
10343 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
10344 procedures in of this package
10345 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
10346 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
10347 on misplaced later vs initial declarations, like in Ada 83
10348 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
10349 formal mode on attribute of private type whose full type declaration
10350 is not visible
10351 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
10352 package declaration inside a package specification
10353 (Analyze_Full_Type_Declaration): issue error in formal mode on
10354 controlled type or discriminant type
10355 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
10356 user-defined operator means that it should come from the source
10357 (New_Overloaded_Entity): issue error in formal mode on overloaded
10358 entity.
10359 * sem_ch6.ads, sem_ch13.ads: typos in comments.
10360
103612011-08-01 Thomas Quinot <quinot@adacore.com>
10362
10363 * atree.adb: Minor reformatting.
10364 * checks.adb: Minor reformatting.
10365
103662011-08-01 Vincent Celier <celier@adacore.com>
10367
10368 * s-parame-vms-ia64.ads: Fix typo in comment
10369 Minor reformatting
10370 * s-parame-vms-restrict.ads: Removed, unused.
10371
103722011-08-01 Javier Miranda <miranda@adacore.com>
10373
10374 * exp_ch3.adb
10375 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
10376 * sem_ch3.adb
10377 (Constrain_Index): Remove side effects in the evaluation of the bounds.
10378 * sem_ch3.ads, sem_ch3.adb
10379 (Is_Constant_Bound): New extended version of the subprogram that was
10380 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
10381 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
10382 * sem_aux.ads (Constant_Value): Fix typo in comment.
10383 * checks.adb (Generate_Index_Checks): New implementation which, for
10384 array objects with constant bounds, generates the runtime check
10385 referencing the bounds of the array type. For other cases this routine
10386 provides its previous behavior obtaining such values from the array
10387 object.
10388 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
10389 parent type.
10390 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
10391 we cannot have semantic interpretations of the new node.
10392
103932011-08-01 Ed Schonberg <schonberg@adacore.com>
10394
10395 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
10396 expressions.
10397
103982011-08-01 Arnaud Charlet <charlet@adacore.com>
10399
10400 * sem_ch8.adb: Minor code editing.
10401 * s-vxwext.adb: Remove trailing space.
10402 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
10403 consistency with other files.
10404
104052011-08-01 Thomas Quinot <quinot@adacore.com>
10406
10407 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
10408
104092011-08-01 Ed Schonberg <schonberg@adacore.com>
10410
10411 * par-ch10.adb: reject parameterized expressions as compilation unit.
10412 * sem_ch4.adb: handle properly conditional expression with overloaded
10413 then_clause and no else_clause.
10414
104152011-08-01 Tristan Gingold <gingold@adacore.com>
10416
10417 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
10418 like done by System.Aux_DEC.
10419 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
10420
104212011-08-01 Yannick Moy <moy@adacore.com>
10422
10423 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
10424 missing label at end of declaration (subprogram or package)
10425 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
10426 of positional and named parameter association
10427 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
10428 Error_Msg_SP which adds a prefix to the error message giving the name
10429 of the formal language analyzed
10430 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
10431 access result type in subprogram, unconstrained array as result type,.
10432 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
10433 procedure
10434 * sem_ch8.adb: Code clean up.
10435
104362011-08-01 Javier Miranda <miranda@adacore.com>
10437
10438 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
10439 * einfo.ads (Access_Disp_Table): Fix documentation.
10440 (Dispatch_Table_Wrappers): Fix documentation.
10441 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
10442 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
10443 to enforce the documentation of this attribute.
10444 (Set_Is_Interface): Cleanup the assertion.
10445 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
10446 the Underlying_Type entity before reading attribute Access_Disp_Table.
10447 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
10448 Locate the Underlying_Type before reading attribute Access_Disp_Table.
10449 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
10450 the Underlying_Type entity before reading attribute Access_Disp_Table.
10451 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
10452 Locate the Underlying_Type entity before reading attribute
10453 Access_Disp_Table.
10454
104552011-08-01 Ed Schonberg <schonberg@adacore.com>
10456
10457 * s-poosiz.ads: Additional overriding indicators.
10458
104592011-08-01 Yannick Moy <moy@adacore.com>
10460
10461 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
10462 formal mode.
10463 (Analyze_Iteration_Scheme): issue error in formal mode when loop
10464 parameter specification does not include a subtype mark.
10465 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
10466 formal mode on abstract subprogram.
10467 (Analyze_Subprogram_Specification): issue error in formal mode on
10468 user-defined operator.
10469 (Process_Formals): issue error in formal mode on access parameter and
10470 default expression.
10471 * sem_ch9.adb (Analyze_Abort_Statement,
10472 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
10473 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
10474 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
10475 Analyze_Requeue, Analyze_Selective_Accept,
10476 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
10477 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
10478 issue error in formal mode on user-defined raise statement.
10479
104802011-08-01 Thomas Quinot <quinot@adacore.com>
10481
10482 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
10483 declaration being hidden when overriding an implicit inherited
10484 subprogram.
10485 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
10486 (-gnats), do not complain about a source file that contains only a
10487 pragma No_Body.
10488
104892011-08-01 Ed Schonberg <schonberg@adacore.com>
10490
10491 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
10492 variable if already set.
10493
104942011-08-01 Arnaud Charlet <charlet@adacore.com>
10495
10496 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
10497 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
10498 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
10499 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
10500 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
10501 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
10502 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
10503 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
10504 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
10505 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
10506 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
10507 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
10508 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
10509 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
10510 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
10511 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
10512 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
10513 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
10514 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
10515 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
10516 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
10517 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
10518 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
10519 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
10520 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
10521 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
10522 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
10523 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
10524 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
10525 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
10526 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
10527 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
10528 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
10529 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
10530 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
10531 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
10532 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
10533 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
10534 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
10535 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
10536 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
10537 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
10538 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
10539 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
10540 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
10541 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
10542 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
10543 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
10544 s-osinte-mingw.ads: Update to GPLv3 run-time license.
10545 Use GNAT instead of GNARL.
10546
105472011-08-01 Bob Duff <duff@adacore.com>
10548
10549 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
10550 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
10551 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
10552 reformatting.
10553
105542011-08-01 Yannick Moy <moy@adacore.com>
10555
10556 * debug.adb (d.D) reverve flag for the SPARK mode
10557 (d.E) reverve flag for SPARK generation mode
10558 (d.F) reverve flag for Why generation mode
2c7f9cc0 10559 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
052e0603
AC
10560 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
10561 functions which return True when the corresponding modes are set
10562 (Formal_Language): return "spark" or "alfa" when in formal verification
10563 mode.
10564 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
10565 Error_Msg to prefix the error message with a tag giving the formal
10566 language
10567 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
10568 message with a tag giving the formal language
10569 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
10570 block statement
10571 (Analyze_Case_Statement): issue error in formal mode on case statement
10572 with a single "others" case alternative
10573 (Analyze_Exit_Statement): issue errors in formal mode on exit
10574 statements which do not respect SPARK restrictions
10575 (Analyze_Goto_Statement): issue error in formal mode on goto statement
10576 (Check_Unreachable_Code): always issue an error (not a warning) in
10577 formal mode on unreachable code (concerns both code after an infinite
10578 loop and after an unconditional jump, both not allowed in SPARK)
10579 * sem_ch6.adb (Analyze_Return_Statement): add call to
10580 Set_Return_Present for a procedure containing a return statement
10581 (already done for functions in Analyze_Function_Return)
10582 (Analyze_Function_Return): issue error in formal mode on extended
10583 return or if return is not last statement in function
10584 (Check_Missing_Return): issue error in formal mode if function does
10585 not end with return or if procedure contains a return
10586 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
10587 function to detect if there is an inner scope of its parameter S which
10588 is a loop.
10589
105902011-08-01 Thomas Quinot <quinot@adacore.com>
10591
10592 * sem_ch6.ads: Minor reformatting.
10593
105942011-08-01 Javier Miranda <miranda@adacore.com>
10595
10596 * sem_util.adb (Abstract_Interface_List): Complete condition when
10597 processing private type declarations to avoid reading unavailable
10598 attribute.
10599 (Is_Synchronized_Tagged_Type): Complete condition when processing
10600 private extension declaration nodes to avoid reading unavailable
10601 attribute.
10602
106032011-08-01 Thomas Quinot <quinot@adacore.com>
10604
10605 * sem_ch3.adb: Minor reformatting.
10606
106072011-08-01 Thomas Quinot <quinot@adacore.com>
10608
10609 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
10610 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
10611 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
10612 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
10613 for VMS, instead parametrize the common implementation with
10614 System.Parameters declarations.
10615
106162011-08-01 Eric Botcazou <ebotcazou@adacore.com>
10617
10618 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
10619
106202011-08-01 Tristan Gingold <gingold@adacore.com>
10621
10622 * seh_init.c: Fix SEH handler installation on win64.
10623
106242011-08-01 Ed Schonberg <schonberg@adacore.com>
10625
10626 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
10627 double analysis of an anonymous access to subprogram, because it can
10628 lead to improper sharing of profiles and a back-end crash.
10629
106302011-08-01 Robert Dewar <dewar@adacore.com>
10631
10632 * make.adb, sem_ch4.adb: Minor reformatting.
10633 * gcc-interface/Make-lang.in: Update dependencies.
10634 * sem_util.adb, exp_ch5.adb: Minor reformatting.
10635
106362011-08-01 Arnaud Charlet <charlet@adacore.com>
10637
10638 * gnat_rm.texi: Fix definition of Long_Integer.
10639
106402011-08-01 Ed Schonberg <schonberg@adacore.com>
10641
10642 * exp_aggr.adb: check limit size of static aggregate unconditionally,
10643 to prevent storage exhaustion.
10644 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
10645 finalized is a function body, insert the cleanup code before the final
10646 return statement, to prevent spurious warnings.
10647 * s-pooglo.ads: add overriding indicator.
10648
106492011-08-01 Ed Schonberg <schonberg@adacore.com>
10650
10651 * sem_ch4.adb (Operator_Check): improve error message when both a
10652 with_clause and a use_clause are needed to make operator usage legal.
10653 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
10654 determine whether a compilation unit is visible within an other,
10655 either through a with_clause in the current unit, or a with_clause in
10656 its library unit or one one of its parents.
10657
106582011-08-01 Ed Schonberg <schonberg@adacore.com>
10659
10660 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
10661 over an arbitrary expression of an array or container type.
10662 * lib-xref.adb: clarify comment.
10663
106642011-08-01 Bob Duff <duff@adacore.com>
10665
10666 * einfo.ads: Minor reformatting.
10667 * debug.adb: Minor comment improvement.
10668
106692011-08-01 Javier Miranda <miranda@adacore.com>
10670
10671 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
10672 consider hidden subprograms as valid candidates.
10673
106742011-08-01 Arnaud Charlet <charlet@adacore.com>
10675
10676 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
10677
106782011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
10679
10680 * gnat_ugn.texi: Fix typo.
10681
106822011-08-01 Robert Dewar <dewar@adacore.com>
10683
10684 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
10685 lib-xref.adb: Minor reformatting
10686
106872011-08-01 Gary Dismukes <dismukes@adacore.com>
10688
10689 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
10690 when to generate a call to Move_Final_List.
10691 (Has_Controlled_Parts): Remove this function.
10692
106932011-08-01 Geert Bosch <bosch@adacore.com>
10694
10695 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
10696 "," in choice list.
10697
106982011-08-01 Thomas Quinot <quinot@adacore.com>
10699
10700 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
10701 explicit raise of a predefined exception as Comes_From_Source if the
10702 original N_Raise_Statement comes from source.
10703
107042011-08-01 Robert Dewar <dewar@adacore.com>
10705
10706 * sinfo.ads: Add comment.
10707 * sem_ch6.adb: Minor reformatting.
10708
107092011-08-01 Robert Dewar <dewar@adacore.com>
10710
10711 * freeze.adb (Freeze_Entity): Refine check for bad component size
10712 clause to avoid rejecting confirming clause when atomic/aliased present.
10713
107142011-08-01 Ed Schonberg <schonberg@adacore.com>
10715
10716 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
10717 better determine whether an entity reference is a write.
10718 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
10719 subcomponent.
10720 * lib-xref.adb (Output_References): Do no suppress a read reference at
10721 the same location as an immediately preceeding modify-reference, to
10722 handle properly in-out actuals.
10723
107242011-08-01 Tristan Gingold <gingold@adacore.com>
10725
10726 * env.c (__gnat_setenv) [VMS]: Refine previous change.
10727
107282011-08-01 Quentin Ochem <ochem@adacore.com>
10729
10730 * i-cstrin.adb (New_String): Changed implementation, now uses only the
10731 heap to compute the result.
10732
107332011-08-01 Robert Dewar <dewar@adacore.com>
10734
10735 * atree.ads: Minor reformatting.
10736
107372011-08-01 Emmanuel Briot <briot@adacore.com>
10738
10739 * g-expect.adb (Get_Command_Output): Fix memory leak.
10740
107412011-08-01 Geert Bosch <bosch@adacore.com>
10742
10743 * cstand.adb (P_Float_Type): New procedure to print the definition of
10744 predefined fpt types.
10745 (P_Mixed_Name): New procedure to print a name using mixed case
10746 (Print_Standard): Use P_Float_Type for printing floating point types
10747 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
10748 precision IEEE float.
10749
107502011-08-01 Thomas Quinot <quinot@adacore.com>
10751
10752 * sem_ch3.adb: Minor reformatting.
10753
107542011-08-01 Ed Schonberg <schonberg@adacore.com>
10755
10756 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
10757 the completion of a generic function, insert the new body rather than
10758 rewriting the original.
10759
107602011-08-01 Yannick Moy <moy@adacore.com>
10761
10762 * sinfo.ads, errout.ads: Typos in comments.
10763
107642011-08-01 Robert Dewar <dewar@adacore.com>
10765
10766 * par-endh.adb: Minor reformatting.
10767
107682011-08-01 Robert Dewar <dewar@adacore.com>
10769
10770 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
10771 (Pre_Post_Aspects): New subtype.
10772 * par-ch12.adb (P_Generic): New syntax for aspects in packages
10773 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
10774 * par-ch7.adb (P_Package): Remove Decl parameter
10775 (P_Package): Handle new syntax for aspects (before IS)
10776 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
10777 new aspect syntax
10778 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
10779 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
10780 (P_Package): Remove Decl parameter
10781 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
10782 aspects
10783 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
10784 specs
10785 * sem_util.ads, sem_util.adb (Static_Boolean): New function
10786 * sinfo.ads: Document new syntax for aspects in packages etc.
10787 * sprint.adb: Handle new syntax of aspects before IS in package
10788
107892011-08-01 Thomas Quinot <quinot@adacore.com>
10790
10791 * atree.ads: Minor reformatting.
10792 * sem_prag.adb: Minor reformatting.
10793
107942011-08-01 Robert Dewar <dewar@adacore.com>
10795
10796 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
10797 case expr alternative.
10798
107992011-08-01 Ed Schonberg <schonberg@adacore.com>
10800
10801 * sem_ch12.adb: Fix typo.
10802
108032011-08-01 Geert Bosch <bosch@adacore.com>
10804
10805 * sem_prag.adb (Check_No_Link_Name): New procedure.
10806 (Process_Import_Or_Interface): Use Check_No_Link_Name.
10807 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
10808 instead of Standard_Long_Long_Float_Size global. Preparation for
10809 eventual removal of per type constants.
10810 * exp_util.ads (Get_Stream_Size): New function returning the stream
10811 size value of subtype E.
10812 * exp_util.adb (Get_Stream_Size): Implement new function.
10813 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
10814 function.
10815 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
10816 * einfo.adb:
10817 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
10818
108192011-08-01 Geert Bosch <bosch@adacore.com>
10820
10821 * cstand.adb: Fix comments.
10822 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
10823 count of arguments.
10824
108252011-08-01 Robert Dewar <dewar@adacore.com>
10826
10827 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
10828
108292011-08-01 Geert Bosch <bosch@adacore.com>
10830
10831 * atree.ads: Fix comment.
10832
108332011-08-01 Robert Dewar <dewar@adacore.com>
10834
10835 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
10836 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
10837 * par.adb: Add with for Namet.Sp.
10838 * par-tchk.adb: Minor reformatting.
10839
108402011-08-01 Vincent Celier <celier@adacore.com>
10841
10842 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
10843 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
10844 of the init procedure of a SAL.
10845 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
10846 New procedure.
10847
108482011-08-01 Thomas Quinot <quinot@adacore.com>
10849
10850 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
10851 reformatting.
10852
108532011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10854
10855 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
10856
108572011-08-01 Thomas Quinot <quinot@adacore.com>
10858
10859 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
10860 conformant with its spec (return True only for types that have
10861 an overriding Initialize primitive operation that prevents them from
10862 having preelaborable initialization).
10863 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
10864 initialization for controlled types in Ada 2005 or later mode.
10865
108662011-08-01 Robert Dewar <dewar@adacore.com>
10867
10868 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
10869 Postcondition.
10870 (Same_Aspect): New function.
10871 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
10872 Type_Invariant, Precondition, Postcondition.
10873 * snames.ads-tmpl: Add Name_Type_Invariant.
10874
108752011-08-01 Robert Dewar <dewar@adacore.com>
10876
10877 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
10878 here.
10879 (Freeze_All_Ent): Fix error in handling inherited aspects.
10880 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
10881 already analyzed, but don't skip entire processing of a declaration,
10882 that's wrong in some cases of declarations being rewritten.
10883 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
10884 Don't delay for integer, string literals
10885 Treat predicates in usual manner for delay, remove special case code,
10886 not needed.
10887 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
10888 (Build_Predicate_Function): Update saved expression in aspect
10889 (Build_Invariant_Procedure): Update saved expression in aspect
10890 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
10891 of replacement of discriminant references if the reference is simple.
10892
108932011-08-01 Robert Dewar <dewar@adacore.com>
10894
10895 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
10896 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
10897 Static_Predicate and Dynamic_Predicate.
10898 (Build_Predicate_Function): Add processing for Static_Predicate
10899 and Dynamic_Predicate.
10900 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
10901 (From_Static_Predicate): New flag
10902 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
10903
109042011-08-01 Robert Dewar <dewar@adacore.com>
10905
10906 * usage.adb: Documentation cleanup for Ada version modes in usage.
10907 * expander.adb: Minor reformatting.
10908
109092011-08-01 Robert Dewar <dewar@adacore.com>
10910
10911 * atree.ads: Minor comment fix.
10912 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
10913 a-witeio.ads, sem_prag.adb: Minor reformatting.
10914
109152011-08-01 Doug Rupp <rupp@adacore.com>
10916
10917 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
10918 pointers. Use descrip.h header file for convenience. Add some
10919 comments.
10920
109212011-08-01 Robert Dewar <dewar@adacore.com>
10922
10923 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
10924 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
10925 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
10926 New procedure.
10927 (Check_Aspect_At_End_Of_Declarations): New procedure
10928 (Analye_Aspect_Specification): Minor changes for above procedures
10929 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
10930 specification node as well.
10931
109322011-08-01 Pascal Obry <obry@adacore.com>
10933
10934 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
10935 Windows files. Use GetFilesAttributes() in this case to check for file
10936 existence instead of returning with an error code.
10937
109382011-08-01 Vincent Celier <celier@adacore.com>
10939
10940 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
10941 High is above Source length.
10942
109432011-08-01 Robert Dewar <dewar@adacore.com>
10944
10945 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
10946
109472011-08-01 Robert Dewar <dewar@adacore.com>
10948
10949 * aspects.ads (Boolean_Aspects): New subtype.
10950 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
10951 for derived types in cases where the parent type and derived type have
10952 aspects.
10953 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
10954 with aspects when parent type also has aspects.
10955 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
10956 boolean expression at this point).
10957 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
10958 accordance with final decision on the Ada 2012 feature.
10959 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
10960
109612011-08-01 Matthew Heaney <heaney@adacore.com>
10962
10963 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
10964
109652011-08-01 Pascal Obry <obry@adacore.com>
10966
10967 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
10968 Fix Replace_Slice when High is above current string size.
10969 (Replace_Slice): Fix DL computation when High is above current
10970 string length.
10971
109722011-08-01 Gary Dismukes <dismukes@adacore.com>
10973
10974 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
10975
109762011-08-01 Matthew Heaney <heaney@adacore.com>
10977
10978 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
10979 of node.
10980
109812011-08-01 Pascal Obry <obry@adacore.com>
10982
10983 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
10984 reformatting.
10985
109862011-08-01 Ed Schonberg <schonberg@adacore.com>
10987
10988 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
10989 access to protected subprograms in generic bodies.
10990 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
10991 protected type, indicate that the convention of the subprogram is
10992 Convention_Protected, because it may be used in subsequent declarations
10993 within the protected declaration.
10994
109952011-08-01 Vincent Celier <celier@adacore.com>
10996
10997 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
10998 and "final" procedures when the name of the library is "ada", to avoid
10999 duplicate symbols "adainit" and "adafinal" in executables.
11000
110012011-08-01 Ed Schonberg <schonberg@adacore.com>
11002
11003 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
11004 quantified expression that appears within a postcondition and uses the
11005 Ada2012 'Result attribute.
11006
110072011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11008
11009 * init.c (__gnat_error_handler): Cast reason to int.
11010 (__gnat_install_handler): Explain sa_sigaction use.
11011
110122011-07-24 Eric Botcazou <ebotcazou@adacore.com>
11013
11014 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
11015 subprogram has copy-in copy-out parameters, try to promote the mode of
11016 the return type if it is passed in registers.
11017
110182011-07-24 Eric Botcazou <ebotcazou@adacore.com>
11019
11020 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
11021 left operand as addressable.
11022
110232011-07-24 Eric Botcazou <ebotcazou@adacore.com>
11024
11025 * gcc-interface/gigi.h (build_function_stub): Remove.
11026 (build_return_expr): Likewise.
11027 (convert_vms_descriptor): Declare.
11028 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
11029 (build_function_stub): Move to...
11030 * gcc-interface/utils2.c (build_return_expr): Move to...
11031 * gcc-interface/trans.c (build_function_stub): ...here.
11032 (build_return_expr): ...here.
11033 (Subprogram_Body_to_gnu): Add local variable for language_function.
11034 Disconnect the parameter attributes cache, if any, once done with it.
11035 Call end_subprog_body only after setting the end_locus.
11036 Build the stub associated with the function, if any, at the very end.
11037 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
11038 variables and streamline control flow.
11039
110402011-07-23 Arnaud Charlet <charlet@adacore.com>
11041
11042 PR ada/49819
11043 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
11044 g-trasym-dwarf.adb.
11045
110462011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11047
11048 PR bootstrap/49794
11049 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
11050 Assign to act.sa_sigaction.
11051 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
11052 current->return_address to char * before arithmetic.
11053
110542011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11055
11056 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
11057 Correct argument types.
11058 Extract code from reason.
11059 (__gnat_install_handler): Assign to act.sa_sigaction.
11060
110612011-07-21 Eric Botcazou <ebotcazou@adacore.com>
11062
11063 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
11064 (GNAT1_OBJS): ...here.
11065
110662011-07-15 Eric Botcazou <ebotcazou@adacore.com>
11067
11068 PR ada/48711
11069 * g-socthi-mingw.adb (Fill): Fix formatting.
11070
11071 * gcc-interface/gigi.h: Move around comment.
11072
110732011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11074
11075 PR ada/46350
11076 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
11077
110782011-07-14 Florian Weimer <fw@deneb.enyo.de>
11079
11080 PR ada/48711
11081 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
11082
110832011-07-13 Eric Botcazou <ebotcazou@adacore.com>
11084
11085 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
11086 range comparison if Pmode is SImode.
11087
110882011-07-12 Laurent GUERBY <laurent@guerby.net>
11089 Eric Botcazou <ebotcazou@adacore.com>
11090
11091 * adadecode.c: Wrap up in extern "C" block.
11092 * adadecode.h: Likewise.
11093 * adaint.c: Likewise. Remove 'const' keyword.
11094 * adaint.h: Likewise.
11095 * argv.c: Likewise.
11096 * atree.h: Likewise.
11097 * cio.c: Likewise.
11098 * cstreams.c: Likewise.
11099 * env.c: Likewise.
11100 * exit.c: Likewise.
11101 * fe.h: Likewise.
11102 * final.c: Likewise.
11103 * init.c: Likewise.
11104 * initialize.c: Likewise.
11105 * link.c: Likewise.
11106 * namet.h: Likewise.
11107 * nlists.h: Likewise.
11108 * raise.c: Likewise.
11109 * raise.h: Likewise.
11110 * repinfo.h: Likewise.
11111 * seh_init.c: Likewise.
11112 * targext.c: Likewise.
11113 * tracebak.c: Likewise.
11114 * uintp.h: Likewise.
11115 * urealp.h: Likewise.
11116 * xeinfo.adb: Wrap up generated C code in extern "C" block.
11117 * xsinfo.adb: Likewise.
11118 * xsnamest.adb: Likewise.
11119 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
11120 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
11121 * gcc-interface/misc.c: Likewise.
11122 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
11123 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
11124 ada/targext.o here...
11125 (GNAT_ADA_OBJS): ...and not here.
11126 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
11127 (GNATBIND_OBJS): Reorder.
11128
111292011-07-07 Richard Henderson <rth@redhat.com>
11130
11131 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
11132 dwarf2out_frame_init.
11133
111342011-07-07 Eric Botcazou <ebotcazou@adacore.com>
11135
11136 * gcc-interface/misc.c (gnat_init): Tweak previous change.
11137
111382011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11139
11140 PR target/39150
11141 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
11142
111432011-07-06 Richard Guenther <rguenther@suse.de>
11144
11145 * gcc-interface/misc.c (gnat_init): Merge calls to
11146 build_common_tree_nodes and build_common_tree_nodes_2.
11147 Re-initialize boolean_false_node.
11148
111492011-07-02 Eric Botcazou <ebotcazou@adacore.com>
11150 Olivier Hainque <hainque@adacore.com>
11151 Nicolas Setton <setton@adacore.com>
11152
11153 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
11154 the type according to the ARTIFICIAL_P parameter.
11155 (create_type_decl): Likewise.
11156 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
11157
111582011-07-01 Eric Botcazou <ebotcazou@adacore.com>
11159
11160 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
11161 (gnatbind): Likewise.
11162
111632011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11164
11165 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
11166
111672011-06-18 Eric Botcazou <ebotcazou@adacore.com>
11168
11169 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
11170 local variable throughout. Remove useless call to Base_Type.
11171 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
11172 Take it also into account for the volatileness of the field. Set the
11173 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
11174
111752011-06-18 Eric Botcazou <ebotcazou@adacore.com>
11176
11177 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
11178 on a dereference built for a by-ref object if it has an address clause.
11179
111802011-06-18 Eric Botcazou <ebotcazou@adacore.com>
11181
11182 * einfo.ads (Address_Taken): Document use for the second argument of
11183 Asm_Input and Asm_Output attributes.
11184 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
11185 argument is an entity name, then set Address_Taken on it.
11186 <Attribute_Asm_Output>: Likewise.
11187 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
11188 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
11189 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
11190 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
11191
111922011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
11193
11194 PR middle-end/46500
11195 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
11196
111972011-06-14 Joseph Myers <joseph@codesourcery.com>
11198
11199 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
11200 (ada/utils.o): Update dependencies.
11201 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
11202 ../../../libcpp/libcpp.a.
11203 * gcc-interface/utils.c: Include common/common-target.h.
11204 (process_attributes): Use targetm_common.have_named_sections.
11205
112062011-06-07 Richard Guenther <rguenther@suse.de>
11207
11208 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
11209 set_sizetype.
11210
112112011-06-06 Eric Botcazou <ebotcazou@adacore.com>
11212
11213 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
11214 TREE_THIS_NOTRAP flag.
11215
112162011-06-06 Eric Botcazou <ebotcazou@adacore.com>
11217
11218 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
11219 Fix thinko.
11220
112212011-06-06 Eric Botcazou <ebotcazou@adacore.com>
11222
11223 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
11224 constants whose full view has discriminants specially.
11225
112262011-06-06 Eric Botcazou <ebotcazou@adacore.com>
11227
11228 * gcc-interface/utils.c: Include diagnostic.h.
11229 (gnat_write_global_declarations): Output debug information for all
11230 global type declarations before finalizing the compilation unit.
11231 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
11232
112332011-05-25 Jakub Jelinek <jakub@redhat.com>
11234
11235 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
11236
112372011-05-25 Kai Tietz <ktietz@redhat.com>
11238
11239 * adaint.c (__gnat_to_canonical_file_list_next): Use array
11240 initialization instead of const/none-const pointer assignment.
11241
112422011-05-24 Joseph Myers <joseph@codesourcery.com>
11243
11244 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
11245 $(EXTRA_GNAT1_OBJS).
11246 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
11247 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
11248 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
11249 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
11250 libcommon-target.a instead of prefix.o.
11251
112522011-05-21 Joseph Myers <joseph@codesourcery.com>
11253
11254 PR ada/49097
11255 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
11256
112572011-05-20 Joseph Myers <joseph@codesourcery.com>
11258
11259 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
11260 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
11261 instead of version.o.
11262
112632011-05-18 Kai Tietz <ktietz@redhat.com>
11264
11265 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
11266 boolean_false_node instead of integer_zero_node.
11267 (convert_with_check): Likewise.
11268 * gcc-interface/decl.c (choices_to_gnu): Likewise.
11269
112702011-05-12 Eric Botcazou <ebotcazou@adacore.com>
11271
11272 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
11273 type of the parameter is an unconstrained array, convert the actual to
11274 the type of the formal in the In Out and Out cases as well.
11275
112762011-05-11 Nathan Froyd <froydnj@codesourcery.com>
11277
11278 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
11279 call build_function_type_array or build_varargs_function_type_array
11280 instead.
11281 (create_subprog_type): Don't call build_function_type; call
11282 build_function_type_vec instead.
11283
112842011-05-11 Nathan Froyd <froydnj@codesourcery.com>
11285
11286 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
11287 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
11288 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
11289
112902011-05-07 Eric Botcazou <ebotcazou@adacore.com>
11291
11292 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
11293
11294 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
11295 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
11296
112972011-05-05 Nathan Froyd <froydnj@codesourcery.com>
11298
11299 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
11300
113012011-05-05 Nathan Froyd <froydnj@codesourcery.com>
11302
11303 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
11304 instead of accessing TYPE_ARG_TYPES directly.
11305 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
11306
113072011-05-05 Eric Botcazou <ebotcazou@adacore.com>
11308
11309 PR ada/48844
11310 * gcc-interface/gigi.h (get_variant_part): Declare.
11311 * gcc-interface/decl.c (get_variant_part): Make global.
11312 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
11313 types have the same constant size, are record types and T1 has a
11314 variant part while T2 doesn't.
11315
113162011-05-05 Eric Botcazou <ebotcazou@adacore.com>
11317
11318 * gcc-interface/utils.c (begin_subprog_body): Do not call
11319 get_pending_sizes.
11320 (end_subprog_body): Likewise.
11321
113222011-05-04 Richard Guenther <rguenther@suse.de>
11323
11324 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
11325 int_const_binop.
11326 (pos_to_constructor): Likewise.
11327
113282011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 11329 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
11330
11331 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
11332 of build_function_type. Adjust calls to...
11333 (build_raise_check): ...this. Do not take a void_tree parameter.
11334 Call build_function_type_list instead of build_function_type.
11335 Fix head comment and swap couple of conditional blocks.
11336
113372011-04-30 Eric Botcazou <ebotcazou@adacore.com>
11338
11339 * gnatvsn.ads (Library_Version): Bump to 4.7.
11340 (Current_Year): Bump to 2011.
11341
113422011-04-29 Michael Matz <matz@suse.de>
11343
11344 * gcc-interface/misc.c (gnat_handle_option): Set
11345 warn_maybe_uninitialized.
11346
113472011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
11348
11349 * gnat_ugn.texi (Complexity Metrics Control): Update link to
11350 the Watson/McCabe paper.
11351
113522011-04-23 Jim Meyering <meyering@redhat.com>
11353
11354 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
11355
113562011-04-22 Eric Botcazou <ebotcazou@adacore.com>
11357
11358 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
11359 onto the new type.
11360
113612011-04-22 Eric Botcazou <ebotcazou@adacore.com>
11362
11363 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
11364 parameter.
11365 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
11366 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
11367 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
11368 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
11369 <all>: Do not set flags on the reused DECL node coming from an alias.
11370 Set DECL_IGNORED_P on the DECL node built for subprograms if they
11371 don't need debug info here...
11372 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
11373 (gigi): Adjust calls to create_subprog_decl.
11374 (build_raise_check): Likewise.
11375 (establish_gnat_vms_condition_handler): Likewise.
11376 (Compilation_Unit_to_gnu): Likewise.
11377 (gnat_to_gnu): Likewise.
11378
113792011-04-21 Eric Botcazou <ebotcazou@adacore.com>
11380
11381 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
11382 (NO_REORDER_ADAFLAGS): New variable.
11383 (EXTRA_GNATTOOLS): Always define.
11384 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
11385 Clean up and adjust list of files compiled with special options.
11386 * gcc-interface/Make-lang.in: Likewise.
11387 (ada/decl.o): Cosmetical change.
11388 (ada/misc.o): Remove dependency on $(PLUGIN_H).
11389
113902011-04-20 Jim Meyering <meyering@redhat.com>
11391
11392 * initialize.c (__gnat_initialize): Remove useless if-before-free.
11393
113942011-04-17 Eric Botcazou <ebotcazou@adacore.com>
11395
11396 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
11397 $(CFLAGS) on the link line.
11398
113992011-04-17 Eric Botcazou <ebotcazou@adacore.com>
11400
11401 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
11402 padded type built for the return type if it is unconstrained.
11403
114042011-04-14 Nathan Froyd <froydnj@codesourcery.com>
11405
11406 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
11407
114082011-04-12 Nathan Froyd <froydnj@codesourcery.com>
11409
11410 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
11411 before calling TREE_CHAIN.
11412 * gcc-interface/misc.c (gnat_init_ts): New function.
11413 (LANG_HOOKS_INIT_TS): Define.
11414
114152011-04-12 Martin Jambor <mjambor@suse.cz>
11416
11417 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
11418 instead of cgraph_node.
11419
114202011-04-08 Eric Botcazou <ebotcazou@adacore.com>
11421
11422 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
11423 alignment on fields of the RETURN type built for the Copy-In Copy-Out
11424 mechanism.
11425
114262011-04-08 Eric Botcazou <ebotcazou@adacore.com>
11427
11428 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
11429 of aggregate types that contain a placeholder.
11430
114312011-04-08 Nathan Froyd <froydnj@codesourcery.com>
11432
11433 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
11434 TYPE_ARG_TYPES.
11435 (handle_type_generic_attribute): Likewise.
11436
114372011-04-04 Eric Botcazou <ebotcazou@adacore.com>
11438
11439 PR ada/47163
11440 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
11441
114422011-04-04 Kai Tietz <ktietz@redhat.com>
11443
11444 PR ada/47163
11445 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
11446 to flag value.
11447
114482011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11449
11450 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
11451 type case, do not strip a padding type around the array type.
11452
114532011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11454
11455 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
11456 types.
11457
114582011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11459
11460 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
11461 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
11462 code for -feliminate-unused-debug-types.
11463 (gnat_post_options): Likewise.
11464
114652011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11466
11467 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
11468 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
11469 distinct copy.
11470
114712011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11472
11473 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
11474 DECL_ARTIFICIAL flag on enumeration types.
11475
114762011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11477
11478 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
11479 fat pointer types artificial unconditionally.
11480 <E_Array_Subtype>: Attach the base array type as a parallel type if it
11481 isn't artificial.
11482
114832011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11484
11485 * gcc-interface/gigi.h (get_dummy_type): Declare.
11486 (build_dummy_unc_pointer_types): Likewise.
11487 (finish_fat_pointer_type): Likewise.
11488 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
11489 fat pointer type has been built, complete it in place.
11490 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
11491 and thin pointers. Remove useless variable.
11492 (finish_fat_pointer_type): Make global and move to...
11493 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
11494 (get_dummy_type): New function.
11495 (build_dummy_unc_pointer_types): Likewise.
11496 (gnat_pushdecl): Propage the name to the anonymous variants only.
11497 (update_pointer_to): Only adjust the pointer types in the unconstrained
11498 array case.
11499
115002011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11501
11502 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
11503 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
11504 if this is a Taft amendment type and the full declaration is available.
11505 * gcc-interface/trans.c (process_type): Likewise.
11506 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
11507 (process_freeze_entity): Likewise.
11508 * gcc-interface/utils.c (dummy_global): New static variable.
11509 (gnat_write_global_declarations): If there are types declared as used
11510 at the global level, insert them in the global hash table.
11511
115122011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11513
11514 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
11515 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
11516 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
11517 copy.
11518 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
11519 flag of the type accordingly.
11520 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
11521
115222011-04-02 Eric Botcazou <ebotcazou@adacore.com>
11523
11524 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
11525 finalizing types when updating the pointers to the designated type.
11526 <all>: Finalize the deferred types even if we didn't defer processing
11527 of incomplete types in this invocation.
11528
115292011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
11530 Nicolas Setton <setton@adacore.com>
11531 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
11532
11533 * gcc-interface/misc.c (gnat_descriptive_type): New function.
11534 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
11535
115362011-03-28 Kai Tietz <ktietz@redhat.com>
11537
11538 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
11539 Windows targets.
11540 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
11541 * system-mingw.ads (System): Change ZCX_By_Default default to True.
11542
11543 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
11544
115452011-03-28 Tristan Gingold <gingold@adacore.com>
11546
11547 PR ada/44431
11548 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
11549 Use ada output of gnatbind.
11550 (ada/b_gnatb.adb): Ditto.
11551 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
11552 (ada.mostlyclean, ada.stage1)
11553 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
11554 (ada.stagefeedback): Adjust.
11555 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
11556 Use ada output of gnatbind.
11557 (b_gnatm.adb): Ditto.
11558 (b_gnatl.o, b_gnatm.o): New rules.
11559
115602011-03-26 Eric Botcazou <ebotcazou@adacore.com>
11561
11562 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
11563 for the padded type built to support a specified size or alignment.
11564
115652011-03-26 Eric Botcazou <ebotcazou@adacore.com>
11566
11567 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
11568 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
11569 unconditionally to the end of the unit when the designated type is
11570 limited_with'ed.
11571 <all>: Rename local variable. Attempt to un-defer types only and do it
11572 for limited_with'ed types as well.
11573 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
11574 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
11575 consistently and remove redundant call to finalize_from_with_types.
11576
115772011-03-26 Eric Botcazou <ebotcazou@adacore.com>
11578
11579 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
11580 subprograms without a previous spec declared in the same unit.
11581 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
11582 subprograms at the end of the unit instead of at the beginning.
11583 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
11584 isn't public for the special handling of non-inline functions nested
11585 inside inline external functions.
11586
115872011-03-25 Jeff Law <law@redhat.com>
11588
11589 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
11590
115912011-03-24 Eric Botcazou <ebotcazou@adacore.com>
11592
11593 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
11594 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
11595 to compute Set_Size_Depends_On_Discriminant.
11596 (Layout_Type): Call it on array types in back-end layout mode.
11597 * sem_util.adb (Requires_Transient_Scope): Return true for array
11598 types only if the size depends on the value of discriminants.
11599 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
11600 type if the RHS is a call to a function that returns an unconstrained
11601 type with default discriminant.
11602
116032011-03-24 Eric Botcazou <ebotcazou@adacore.com>
11604
11605 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
11606 non-conversion to the nominal result type at the end.
11607
116082011-03-23 Eric Botcazou <ebotcazou@adacore.com>
11609
11610 * gcc-interface/trans.c (create_temporary): New function taken from...
11611 (create_init_temporary): ...here. Call it.
11612 (call_to_gnu): Create the temporary for the return value early, if any.
11613 Create it for a function with copy-in/copy-out parameters if there is
11614 no target; in other cases of copy-in/copy-out, use another temporary.
11615 Push the new binding level lazily. Add and rename local variables.
11616
116172011-03-23 Eric Botcazou <ebotcazou@adacore.com>
11618
11619 * gcc-interface/decl.c (validate_size): Improve comments and tweak
11620 error message.
11621 (set_rm_size): Likewise.
11622
116232011-03-23 Eric Botcazou <ebotcazou@adacore.com>
11624
11625 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
11626 for the padded type built in order to support a specified alignment.
11627 Fix incorrect formatting.
11628
116292011-03-21 Eric Botcazou <ebotcazou@adacore.com>
11630
11631 PR bootstrap/48216
11632 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
11633
116342011-03-21 Eric Botcazou <ebotcazou@adacore.com>
11635
11636 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
11637 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
11638 to the end of the list. Adjust recursive call. Rename local variable.
11639 If REORDER is true, reorder components of the record type.
11640 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
11641 components_to_record and adjust the parameter list.
11642
116432011-03-21 Eric Botcazou <ebotcazou@adacore.com>
11644
11645 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
11646 disabled, use the variable for bounds of loop iteration scheme.
11647
116482011-03-21 Kai Tietz <ktietz@redhat.com>
11649
11650 PR target/12171
11651 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
11652
116532011-03-17 Eric Botcazou <ebotcazou@adacore.com>
11654
11655 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
11656 out whether the expression is read-only. Short-circuit placeholder
11657 case and rename a couple of local variables.
11658
116592011-03-17 Eric Botcazou <ebotcazou@adacore.com>
11660
11661 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
11662 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
11663 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
11664 (convert): Deal with conversions from a smaller form type specially.
11665
116662011-02-14 Eric Botcazou <ebotcazou@adacore.com>
11667
11668 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
11669 its argument, except for the special -I- switch.
11670
116712011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
11672
11673 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
11674 "Ada Issues".
11675
116762011-02-08 Eric Botcazou <ebotcazou@adacore.com>
11677
11678 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
11679
116802011-02-03 Eric Botcazou <ebotcazou@adacore.com>
11681
11682 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
11683 GNAT_FORMAL.
11684 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
11685 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
11686 instead of GNAT_FORMAL. Protect the expression against multiple uses.
11687 Do not generate the check directly, instead instantiate the template
11688 check present in the descriptor.
11689 (make_descriptor_field): Move around.
11690 (build_vms_descriptor32): Build a template check in the POINTER field.
11691 (build_vms_descriptor): Remove useless suffixes.
11692 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
11693
116942011-01-26 Eric Botcazou <ebotcazou@adacore.com>
11695
11696 PR bootstrap/47467
11697 * targext.c: Include target files if IN_RTS is defined.
11698
116992011-01-26 Richard Guenther <rguenther@suse.de>
11700
11701 PR bootstrap/47467
11702 * targext.c: Include config.h.
11703 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
11704 dependency.
11705
117062011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 11707 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
11708
11709 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
11710
117112011-01-04 Eric Botcazou <ebotcazou@adacore.com>
11712
11713 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
11714 end-of-case on the end label and its associated gotos, if any.
11715
117162011-01-04 Eric Botcazou <ebotcazou@adacore.com>
11717
11718 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
11719 expressions of the parameter cache within the statement group of
11720 the CICO mechanism.
11721
117222011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 11723 Eric Botcazou <ebotcazou@adacore.com>
052e0603
AC
11724
11725 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
11726 (set_end_locus_from_node): New function.
11727 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
11728 make and the function end_locus.
11729 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
11730 for the elaboration subprogram.
11731 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
11732 set the end_locus of the expression as well.
11733
117342011-01-04 Eric Botcazou <ebotcazou@adacore.com>
11735
11736 PR ada/47131
11737 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
11738 variables that are referenced in exception handlers volatile.
11739
11740
11741\f
11742Copyright (C) 2011 Free Software Foundation, Inc.
11743
11744Copying and distribution of this file, with or without modification,
11745are permitted in any medium without royalty provided the copyright
11746notice and this notice are preserved.
11747
11748 * gnat_rm.texi: Ramification of pragma Eliminate documentation
11749 - fix bugs in the description of Source_Trace;
11750 - get rid of UNIT_NAME;
11751
4fbad0ba
AC
117522011-08-02 Javier Miranda <miranda@adacore.com>
11753
11754 * exp_ch9.adb
11755 (Build_Dispatching_Requeue): Adding support for VM targets
11756 since we cannot directly reference the Tag entity.
11757 * exp_sel.adb (Build_K): Adding support for VM targets.
11758 (Build_S_Assignment): Adding support for VM targets.
11759 * exp_disp.adb
11760 (Default_Prim_Op_Position): In VM targets do not restrict availability
11761 of predefined interface primitives to compiling in Ada 2005 mode.
11762 (Is_Predefined_Interface_Primitive): In VM targets this service is not
11763 restricted to compiling in Ada 2005 mode.
11764 (Make_VM_TSD): Generate code that declares and initializes the OSD
11765 record. Needed to support dispatching calls through synchronized
11766 interfaces.
11767 * exp_ch3.adb
11768 (Make_Predefined_Primitive_Specs): Enable generation of predefined
11769 primitives associated with synchronized interfaces.
11770 (Make_Predefined_Primitive_Bodies): Enable generation of predefined
11771 primitives associated with synchronized interfaces.
11772
117732011-08-02 Yannick Moy <moy@adacore.com>
11774
11775 * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
11776 statements hidden in SPARK if preceded by the HIDE directive
11777 (Parse_Exception_Handlers): mark each exception handler in a sequence of
11778 exception handlers as hidden in SPARK if preceded by the HIDE directive
11779 * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
11780 if starting with the HIDE directive
11781 * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
11782 starting with the HIDE directive; mark the declarations in a private
11783 part as hidden in SPARK if the private part starts with the HIDE
11784 directive
11785 * restrict.adb, restrict.ads
11786 (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
11787 (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
11788 argument node belongs to a part which is hidden in SPARK
11789 (Check_SPARK_Restriction): do not issue violations on nodes in hidden
11790 parts in SPARK; protect the possibly costly call to
11791 Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
11792 * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
11793 * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
11794 Accumulate_Token_Checksum_GNAT_5_03): add case for new token
11795 Tok_SPARK_Hide.
11796 (Scan): recognize special comment starting with '#' and followed by
11797 SPARK keyword "hide" as a HIDE directive.
11798
117992011-08-02 Yannick Moy <moy@adacore.com>
11800
11801 * types.ads, erroutc.ads: Minor reformatting.
11802
118032011-08-02 Vincent Celier <celier@adacore.com>
11804
11805 * link.c: Add response file support for cross platforms.
11806
6ff6152d
ES
118072011-08-02 Ed Schonberg <schonberg@adacore.com>
11808
11809 * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
11810 in an association, set parent field of copy before partial analysis.
11811 * sem_res.adb (Resolve_Slice): create reference to itype only when
11812 expansion is enabled.
11813
975c6896
YM
118142011-08-02 Yannick Moy <moy@adacore.com>
11815
11816 * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
11817 for new flag denoting which subprogram bodies are in ALFA
11818 * restrict.adb, sem_ch7.adb: Update comment
11819 * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
11820 sem_ch9.adb, sem_res.adb: Add calls to
11821 Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
11822 * sem_ch6.adb (Analyze_Function_Return): add calls to
11823 Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
11824 middle of the body, and extended return.
11825 (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
11826 False when missing return.
11827 (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
11828 to True for subprograms whose spec is in ALFA. Remove later on the flag
11829 on the entity used for a subprogram body when there exists a separate
11830 declaration.
11831 * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
11832 if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
11833 False, otherwise do nothing.
11834
afc8324d
AC
118352011-08-02 Robert Dewar <dewar@adacore.com>
11836
11837 * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
11838
118392011-08-02 Yannick Moy <moy@adacore.com>
11840
11841 * sem_ch4.ads: minor formatting.
11842
2ba431e5
YM
118432011-08-02 Yannick Moy <moy@adacore.com>
11844
11845 * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
11846 debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
11847 errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
11848 restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
11849 opt.ads: cleanup of SPARK mode
11850
0f853035
YM
118512011-08-02 Yannick Moy <moy@adacore.com>
11852
11853 * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
11854 types.
11855 * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
11856 (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
11857 * sem_ch3.adb
11858 (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
11859 (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
11860 (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
11861 (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
11862 types.
11863 (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
11864 non-static range.
11865 * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
11866 functions whose return type is not in ALFA.
11867 (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
11868 specifications.
11869 (Process_Formals): unset Is_In_ALFA flag for subprograms if a
11870 parameter's type is not in ALFA.
11871 * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
11872 types are in ALFA.
11873
d2b10647
ES
118742011-08-02 Ed Schonberg <schonberg@adacore.com>
11875
11876 * sem_ch6 (Analyze_Expression_Function): treat the function as
11877 Inline_Always, and introduce a subprogram declaration for it when it is
11878 not a completion.
11879 * inline.adb (Add_Inlined_Body): recognize bodies that come from
11880 expression functions, so that the back-end can determine whether they
11881 can in fact be inlined.
11882 * sem_util.adb (Is_Expression_Function): predicate to determine whether
11883 a function body comes from an expression function.
11884
c7b9d548
AC
118852011-08-02 Gary Dismukes <dismukes@adacore.com>
11886
11887 * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
11888 null exclusions to test Can_Never_Be_Null on the anonymous access types
11889 of the formals rather than testing the formals themselves. Exclude this
11890 check in cases where the Old_Formal is marked as a controlling formal,
11891 to avoid issuing spurious errors for bodies completing dispatching
11892 operations (due to the flag not getting set on controlling access
11893 formals in body specs).
11894 (Find_Corresponding_Spec): When checking full and subtype conformance of
11895 subprogram bodies in instances, pass Designated and E in that order, for
11896 consistency with the expected order of the formals (New_Id followed by
11897 Old_Id).
11898
118992011-08-02 Robert Dewar <dewar@adacore.com>
11900
11901 * sem_ch8.adb: Minor reformatting.
11902
1138cf59
AC
119032011-08-02 Ed Schonberg <schonberg@adacore.com>
11904
11905 * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
11906 Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
11907 primitive operations of class-wide actuals.
11908
119092011-08-02 Javier Miranda <miranda@adacore.com>
11910
11911 * exp_atag.ads, exp_atag.adb
11912 (Build_Common_Dispatching_Select_Statements): Remove argument Loc
11913 since its value is implicitly passed in argument Typ.
11914 * exp_disp.adb (Make_Disp_Conditional_Select_Body,
11915 Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
11916 Build_Common_Dispatching_Select_Statements.
11917
7b9db926
RD
119182011-08-02 Robert Dewar <dewar@adacore.com>
11919
11920 * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
11921 exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
11922 Minor reformatting.
11923
e8374e7a
AC
119242011-08-02 Robert Dewar <dewar@adacore.com>
11925
11926 * sem_res.adb: Minor reformatting.
11927 * sem_prag.adb: Minor reformatting.
11928
119292011-08-02 Javier Miranda <miranda@adacore.com>
11930
11931 * exp_atag.adb, exp_atags.ads
11932 (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
11933 by the tagged type Entity. Required to use this routine in the VM
11934 targets since we do not have available the Tag entity in the VM
11935 platforms.
11936 * exp_ch6.adb
11937 (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
11938 Ada.Tags has not been previously loaded.
11939 * exp_ch7.adb
11940 (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
11941 Build_VM_TSDs if package Ada.Tags has not been previously loaded.
11942 * sem_aux.adb
11943 (Enclosing_Dynamic_Scope): Add missing support to handle the full
11944 view of enclosing scopes. Required to handle enclosing scopes that
11945 are synchronized types whose full view is a task type.
11946 * exp_disp.adb
11947 (Build_VM_TSDs): Minor code improvement to avoid generating and
11948 analyzing lists with empty nodes.
11949 (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
11950 (Make_Disp_Conditional_Select_Body): Add support for VM targets.
11951 (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
11952 (Make_Disp_Timed_Select_Body): Add support for VM targets.
11953 (Make_Select_Specific_Data_Table): Add support for VM targets.
11954 (Make_VM_TSD): Generate code to initialize the SSD structure of
11955 the TSD.
11956
119572011-08-02 Yannick Moy <moy@adacore.com>
11958
11959 * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
11960 cross-references section in ALI.
11961 * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
11962 (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
11963 Sub).
11964 (Enclosing_Subprogram_Or_Package): new function to return the enclosing
11965 subprogram or package entity of a node
11966 (Is_Local_Reference_Type): new function returns True for references
11967 selected in local cross-references.
11968 (Lt): function extracted from Lt in Output_References
11969 (Write_Entity_Name): function extracted from Output_References
11970 (Generate_Definition): generate reference with type 'D' for definition
11971 of objects (object declaration and parameter specification), with
11972 appropriate locations and units, for use in local cross-references.
11973 (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
11974 references of type 'I' for initialization in object definition.
11975 (Output_References): move part of function Lt and procedure
11976 Write_Entity_Name outside of the body. Ignore references of types 'D'
11977 and 'I' introduced for local cross-references.
11978 (Output_Local_References): new procedure to output the local
11979 cross-references sections.
11980 (Lref_Entity_Status): new array defining whether an entity is a local
11981 * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
11982 with 'I' type when initialization expression is present.
11983 * get_scos.adb, get_scos.ads: Correct comments and typos
11984
1f6439e3
AC
119852011-08-02 Javier Miranda <miranda@adacore.com>
11986
11987 * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
11988 the JVM target.
11989 * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
11990 the JVM target.
11991 * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
11992 TSD support.
11993
119942011-08-02 Vincent Celier <celier@adacore.com>
11995
11996 * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
11997 (No_Space_Img): New function
11998 (Find_Excluded_Sources): When reading from a file, record the file name
11999 and the line number for each excluded source.
12000 (Mark_Excluded_Sources): When reporting an error, if the excluded
12001 sources were read from a file, include file name and line number in
12002 the error message.
12003
120042011-08-02 Ed Schonberg <schonberg@adacore.com>
12005
12006 * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
12007
ab027d28
RD
120082011-08-02 Robert Dewar <dewar@adacore.com>
12009
12010 * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
12011
b3b28b0c
JM
120122011-08-02 Javier Miranda <miranda@adacore.com>
12013
12014 * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
12015 generation of TSDs to the DOTNET compiler.
12016 * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
12017 generation of TSDs to the DOTNET compiler.
12018
9732e886
JM
120192011-08-02 Javier Miranda <miranda@adacore.com>
12020
12021 * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
12022 record of all the tagged types declared inside library level package
12023 declarations, library level package bodies or library level subprograms.
12024 * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
12025 associated with a given tagged type.
12026 (Build_VM_TSDs): New subprogram.
12027 * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
12028 compilation units that are subprograms.
12029 * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
12030 compilation units that are package bodies.
12031 (Expand_N_Package_Declaration): Generate TSDs of the main compilation
12032 units that are a package declaration or a package instantiation.
12033 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
12034 reorganization to improve the error generated by the frontend when the
12035 function Ada.Tags.Secondary_Tag is not available.
12036 * rtsfind.ads (RE_Register_TSD): New runtime entity.
12037 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
12038
e526d0c7
AC
120392011-08-02 Javier Miranda <miranda@adacore.com>
12040
12041 * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
12042
120432011-08-02 Robert Dewar <dewar@adacore.com>
12044
12045 * s-imenne.ads: Minor reformatting.
12046
120472011-08-02 Robert Dewar <dewar@adacore.com>
12048
12049 * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
12050 * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
12051 * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
12052
120532011-08-02 Robert Dewar <dewar@adacore.com>
12054
12055 * einfo.ads (Materialize_Entity): Document this is only for renamings
12056 * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
12057 required debug information in the case where we transform the object
12058 declaration into a renaming declaration.
12059 * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
12060 object
12061 * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
12062 Materialize_Entity.
12063
5b1e6aca
RD
120642011-08-02 Robert Dewar <dewar@adacore.com>
12065
12066 * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
12067 Suppress_Init_Procs.
12068 * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
12069 Suppress_Initialization/Initialization_Suppressed.
12070 * gnat_rm.texi: New documentation for pragma Suppress_Initialization
12071 * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
12072 * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
12073 * sem_prag.adb: New processing for pragma Suppress_Initialization.
12074
5ad4969d
RD
120752011-08-02 Robert Dewar <dewar@adacore.com>
12076
12077 * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
12078 Minor reformatting.
12079
8c4ee6f5
AC
120802011-08-02 Ed Schonberg <schonberg@adacore.com>
12081
12082 * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
12083 only have inheritable classwide pre/postconditions.
12084
120852011-08-02 Javier Miranda <miranda@adacore.com>
12086
12087 * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
12088 * rtsfind.ads (RE_Check_TSD): New runtime entity.
12089 * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
12090 checks if the external tag of a type is the same as the external tag
12091 of some other declaration.
12092
0b3d16c0
AC
120932011-08-02 Thomas Quinot <quinot@adacore.com>
12094
12095 * s-taskin.ads: Minor reformatting.
12096
120972011-08-02 Emmanuel Briot <briot@adacore.com>
12098
12099 * g-comlin.adb (Display_Help): swap the order in which it prints the
12100 short help and the general usage.
12101
121022011-08-02 Ed Schonberg <schonberg@adacore.com>
12103
12104 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
12105 the aspect declarations and attach them to the generic copy for
12106 subsequent analysis.
12107 (Analyze_Subprogram_Instantiation): copy explicitly the aspect
12108 declarations of the generic tree to the new subprogram declarations.
12109 * sem_attr.adb (Check_Precondition_Postcondition): recognize
12110 conditions that apply to a subprogram instance.
12111
121122011-08-02 Robert Dewar <dewar@adacore.com>
12113
12114 * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
12115
121162011-08-02 Ed Schonberg <schonberg@adacore.com>
12117
12118 * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
12119 private type with a tagged full view is not derived in the immediate
12120 scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
12121
4637729f
AC
121222011-08-02 Robert Dewar <dewar@adacore.com>
12123
12124 * exp_ch4.adb: Minor reformatting.
12125
121262011-08-02 Ed Schonberg <schonberg@adacore.com>
12127
12128 * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
12129 Ada2012 iterator, the loop will be rewritten during expansion into a
12130 while loop with a cursor and an element declaration. Do not analyze the
12131 body in this case, because if the container is for indefinite types the
12132 actual subtype of the elements will only be determined when the cursor
12133 declaration is analyzed.
12134
121352011-08-02 Arnaud Charlet <charlet@adacore.com>
12136
12137 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
12138 size/alignment related attributes in CodePeer_Mode.
12139
121402011-08-02 Gary Dismukes <dismukes@adacore.com>
12141
12142 * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
12143 Prepend_Element, since this can result in the operation getting the
12144 wrong slot in the full type's dispatch table if the full type has
12145 inherited operations. The incomplete type's operation will get added
12146 to the proper position in the full type's primitives
12147 list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
12148 (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
12149 dispatching operations, since there are cases where nonprimitive
12150 subprograms can get added to the list of incomplete dependents (such
12151 as subprograms in nested packages).
12152 * sem_ch6.adb (Process_Formals): First, remove test for being in a
12153 private part when determining whether to add a primitive with a
12154 parameter of a tagged incomplete type to the Private_Dependents list.
12155 Such primitives can also occur in the visible part, and should not have
12156 been excluded from being private dependents.
12157 * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
12158 RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
12159 list of a Taft-amendment incomplete type is a primitive before issuing
12160 an error that the full type must appear in the same unit. There are
12161 cases where nonprimitives can be in the list (such as subprograms in
12162 nested packages).
12163 * sem_disp.adb (Derives_From): Use correct condition for checking that
12164 a formal's type is derived from the type of the corresponding formal in
12165 the parent subprogram (the condition was completely wrong). Add
12166 checking that was missing for controlling result types being derived
12167 from the result type of the parent operation.
12168
4c60de0c
YM
121692011-08-02 Yannick Moy <moy@adacore.com>
12170
12171 * errout.adb (First_Node): minor renaming
12172 * restrict.adb (Check_Formal_Restriction): put restriction warning on
12173 first node.
12174
f5afb270
AC
121752011-08-02 Yannick Moy <moy@adacore.com>
12176
12177 * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
12178 before accessing operands.
12179 * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
12180 decide whether an initialization expression respects SPARK rules, as
12181 the plain node is the expanded one. This allows for more valid warnings
12182 to be issued.
12183 * gnat_rm.texi: Minor update.
12184
121852011-08-02 Arnaud Charlet <charlet@adacore.com>
12186
12187 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
12188 previous change.
12189
121902011-08-02 Robert Dewar <dewar@adacore.com>
12191
12192 * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
12193
121942011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
12195
12196 * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
12197 loop statements and the element renaming declaration with a block when
12198 the element type is controlled.
12199
122002011-08-02 Yannick Moy <moy@adacore.com>
12201
12202 * sinfo.ads: Minor formatting.
12203
122042011-08-02 Ed Schonberg <schonberg@adacore.com>
12205
12206 * sem_aggr.adb (Add_Association): if the association has a box and no
12207 expression, use the Sloc of the aggregate itself for the new
12208 association.
12209 * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
12210 the Original_Node.
12211
db72f10a
AC
122122011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
12213
12214 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
12215 When a container is provided via a function call, generate a renaming
12216 of the function result. This avoids the creation of a transient scope
12217 and the premature finalization of the container.
12218 * exp_ch7.adb (Is_Container_Cursor): Removed.
12219 (Wrap_Transient_Declaration): Remove the supression of the finalization
12220 of the list controller when the declaration denotes a container cursor,
12221 it is not needed.
12222
122232011-08-02 Yannick Moy <moy@adacore.com>
12224
12225 * restrict.adb (Check_Formal_Restriction): only issue a warning if the
12226 node is from source, instead of the original node being from source.
12227 * sem_aggr.adb
12228 (Resolve_Array_Aggregate): refine the check for a static expression, to
12229 recognize also static ranges
12230 * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
12231 Array_Type_Declaration): postpone the test for the type being a subtype
12232 mark after the type has been resolved, so that component-selection and
12233 expanded-name are discriminated.
12234 (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
12235 to distinguish the case of an iteration scheme, so that an error is
12236 issed on a non-static range in SPARK except in an iteration scheme.
12237 * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
12238 In_Iter_Schm = True.
12239 * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
12240 user-defined operators so that they are allowed in renaming
12241 * sem_ch8.adb
12242 (Find_Selected_Component): refine the check for prefixing of operators
12243 so that they are allowed in renaming. Move the checks for restrictions
12244 on selector name after analysis discriminated between
12245 component-selection and expanded-name.
12246 * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
12247 concatenation argument of string type if it is static.
12248 * sem_util.adb, sem_util.ads
12249 (Check_Later_Vs_Basic_Declarations): add a new function
12250 Is_Later_Declarative_Item to decice which declarations are allowed as
12251 later items, in the two different modes Ada 83 and SPARK. In the SPARK
12252 mode, add that renamings are considered as later items.
12253 (Enclosing_Package): new function to return the enclosing package
12254 (Enter_Name): correct the rule for homonyms in SPARK
12255 (Is_SPARK_Initialization_Expr): default to returning True on nodes not
12256 from source (result of expansion) to avoid issuing wrong warnings.
12257
122582011-08-02 Ed Schonberg <schonberg@adacore.com>
12259
12260 * errout.adb: On anything but an expression First_Node returns its
12261 argument.
12262
23685ae6
AC
122632011-08-02 Pascal Obry <obry@adacore.com>
12264
12265 * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
12266
122672011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
12268
12269 * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
12270 Set the associated loop as the related expression of internally
12271 generated cursors.
12272 * exp_ch7.adb (Is_Container_Cursor): New routine.
12273 (Wrap_Transient_Declaration): Supress the finalization of the list
12274 controller when the declaration denotes a container cursor.
12275
122762011-08-02 Yannick Moy <moy@adacore.com>
12277
12278 * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
12279 command line now.
12280 * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
12281 expression is a simple expression. This check cannot be performed in
12282 the semantics, so just drop it.
12283 (P_Index_Or_Discriminant_Constraint): move check that the index or
12284 discriminant is a subtype mark to Analyze_Subtype_Declaration in the
12285 semantics. Other cases were previously checked in the semantics.
12286 * par-ch4.adb (P_Name): move checks that a selector name is not
12287 character literal or an operator symbol to Find_Selected_Component in
12288 the semantics
12289 * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
12290 declarations are not placed after later declarations in a separate
12291 procedure in Sem_Util (possibly not the best choice?), to be used both
12292 during parsing, for Ada 83 mode, and during semantic analysis, for
12293 SPARK mode.
12294 * par-endh.adb (Check_End): move check that end label is not missing
12295 to Process_End_Label in the semantics
12296 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
12297 the special case for SPARK restriction
12298 * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
12299 * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
12300 parameter Force to issue the error message even on internal node (used
12301 for generated end label). Call Check_Restriction to check when an error
12302 must be issued. In SPARK mode, issue an error message even if the
12303 restriction is not set.
12304 (Check_Restriction): new procedure with an additional out parameter to
12305 inform the caller that a message has been issued
12306 * sem_aggr.adb: Minor modification of message
12307 * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
12308 instead of issuing an error message directly
12309 * sem_ch3.adb (Analyze_Declarations): move here the check that basic
12310 declarations are not placed after later declarations, by calling
12311 Check_Later_Vs_Basic_Declarations
12312 (Analyze_Subtype_Declaration): move here the check that an index or
12313 discriminant constraint must be a subtype mark. Change the check that
12314 a subtype of String must start at one so that it works on subtype marks.
12315 * sem_ch4.adb (Analyze_Call): move here the check that a named
12316 association cannot follow a positional one in a call
12317 * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
12318 instead of issuing an error message directly
12319 * sem_ch8.adb (Find_Selected_Component): move here the check that a
12320 selector name is not a character literal or an operator symbol. Move
12321 here the check that the prefix of an expanded name cannot be a
12322 subprogram or a loop statement.
12323 * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
12324 procedure called from parsing and semantics to check that basic
12325 declarations are not placed after later declarations
12326 (Process_End_Label): move here the check that end label is not missing
12327
123282011-08-02 Arnaud Charlet <charlet@adacore.com>
12329
12330 * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
12331 representation clause in codepeer mode, since it confuses CodePeer and
12332 does not bring useful info.
12333
123342011-08-02 Ed Falis <falis@adacore.com>
12335
12336 * init.c: initialize fp hw on MILS.
12337
123382011-08-02 Ed Schonberg <schonberg@adacore.com>
12339
12340 * errout.adb (First_Node): for bodies, return the node itself (small
12341 optimization). For other nodes, do not check source_unit if the node
12342 comes from Standard.
12343
d2d9cc22
AC
123442011-08-02 Robert Dewar <dewar@adacore.com>
12345
12346 * exp_ch3.adb: Minor comment additions.
12347 * sem_ch13.adb: Minor reformatting.
12348
123492011-08-02 Pascal Obry <obry@adacore.com>
12350
12351 * make.adb, makeutl.adb: Removes some superfluous directory separator.
12352
a01b9df6
AC
123532011-08-02 Robert Dewar <dewar@adacore.com>
12354
12355 * sem_attr.adb: Minor reformatting.
12356
123572011-08-02 Robert Dewar <dewar@adacore.com>
12358
12359 * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
12360 (Has_Default_Component_Value): Removed
12361 * einfo.ads Comment updates
12362 (Has_Default_Aspect): Replaces Has_Default_Value
12363 (Has_Default_Component_Value): Removed
12364 * exp_ch13.adb
12365 (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
12366 * exp_ch3.adb
12367 (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
12368 (Get_Simple_Init_Val): Handle Default_Value aspect
12369 (Needs_Simple_Initialization): Handle Default_Value aspect
12370 * exp_ch3.ads: Needs_Simple_Initialization
12371 * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
12372 * par-prag.adb (Pragma_Default[_Component]Value) Removed
12373 * sem_ch13.adb
12374 (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
12375 * sem_prag.adb (Pragma_Default[_Component]Value) Removed
12376 * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
12377
123782011-08-02 Ed Schonberg <schonberg@adacore.com>
12379
12380 * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
12381 package containing iteration primitives.
12382 exp_ch5.adb (Expand_Iterator_Loop): ditto.
12383
75c90775
AC
123842011-08-02 Ed Schonberg <schonberg@adacore.com>
12385
12386 * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
12387 "of", pre-analyze expression in case it is a function call with
12388 finalization actions that must be placed ahead of the loop.
12389 * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
12390 on an Ada2012 iterator, insert them ahead of the rewritten loop.
12391
123922011-08-02 Geert Bosch <bosch@adacore.com>
12393
12394 * cstand.adb (Create_Float_Types): Only consider C's long double for
12395 Long_Long_Float, in addition to double.
12396
ded8909b
AC
123972011-08-02 Robert Dewar <dewar@adacore.com>
12398
12399 * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
12400 sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
12401 prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
12402 Minor reformatting.
12403
124042011-08-02 Ed Schonberg <schonberg@adacore.com>
12405
12406 * sem_attr.adb: handle properly 'Result when it is a prefix of an
12407 indexed component.
12408
124092011-08-02 Javier Miranda <miranda@adacore.com>
12410
12411 * einfo.ads, einfo.adb
12412 (Original_Access_Type): Move this attribute to Node26 since there was
12413 an undocumented use of Node21 in E_Access_Subprogram_Type entities
12414 which causes conflicts and breaks the generation of the .NET compiler.
12415 (Interface_Name): Add missing documentation on JGNAT only uses of
12416 this attribute.
12417
70c34e1c
AC
124182011-08-02 Geert Bosch <bosch@adacore.com>
12419
12420 * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
12421 (Find_Back_End_Float_Type): Likewise
12422 (Create_Back_End_Float_Types): Likewise
12423 (Create_Float_Types): Likewise
12424 (Register_Float_Type): Likewise
12425 * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
12426 Nlist and split out type selection in new local Find_Base_Type function.
12427 * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
12428 Nlist
12429 * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
12430
124312011-08-02 Robert Dewar <dewar@adacore.com>
12432
12433 * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
12434 alpha order).
12435 * opt.ads: Minor comment change.
12436 * sem_ch12.adb: Minor code reorganization.
12437
b715bc59
AC
124382011-08-02 Gary Dismukes <dismukes@adacore.com>
12439
12440 * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
12441 subtype's list of rep items to the list on the full subtype in the case
12442 where the lists are the same.
12443
124442011-08-02 Geert Bosch <bosch@adacore.com>
12445
12446 * switch-c.adb (Free): New deallocation procedure to avoid implicitly
12447 using the one from System.Strings, which also deallocates all strings.
12448
002bdd68
AC
124492011-08-02 Geert Bosch <bosch@adacore.com>
12450
12451 * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
12452 function.
12453 * gcc-interface/Make-lang.in: Update dependencies.
12454
124552011-08-02 Olivier Hainque <hainque@adacore.com>
12456
12457 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
12458 end_locus.
12459
499769ec
AC
124602011-08-02 Javier Miranda <miranda@adacore.com>
12461
12462 * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
12463 associated with anonymous access to subprograms.
12464
124652011-08-02 Geert Bosch <bosch@adacore.com>
12466
12467 * opt.ads
12468 (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
12469 (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
12470 * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
12471 (Add_Symbol_Definition): Move to switch-c.adb
12472 (Process_Command_Line_Symbol_Definitions): Adjust references to above.
12473 * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
12474 (Add_Symbol_Definition): Move to switch-c.adb.
12475 * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
12476 * sem_warn.adb
12477 (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
12478 Move to warnsw.adb.
12479 * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
12480 Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
12481 Move to warnsw.adb.
12482 * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
12483 (Add_Symbol_Definition): Moved from Prepcomp.
12484 * switch-c.ads: Update copyright notice. Use String_List instead of
12485 Argument_List, removing dependency on System.OS_Lib.
12486
aa1e353a
AC
124872011-08-02 Yannick Moy <moy@adacore.com>
12488
12489 * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
12490 mode on initialization expression which does not respect SPARK
12491 restrictions.
12492 * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
12493 if the tree referenced by its argument represents an initialization
12494 expression in SPARK, suitable for initializing an object in an object
12495 declaration.
12496
124972011-08-02 Javier Miranda <miranda@adacore.com>
12498
12499 * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
12500 internally generated access to subprogram with its associated protected
12501 subprogram type.
12502 * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
12503
15b682ca
GB
125042011-08-02 Geert Bosch <bosch@adacore.com>
12505
12506 * cstand.adb (Register_Float_Type): Print information about type to
12507 register, if the Debug_Flag_Dot_B is set.
12508 * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
12509 * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
12510 * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
12511 with a requested precision of more than Max_Digits digits and no more
12512 than Max_Base_Digits digits, if a range specification is present and the
12513 Predefined_Float_Types list has a suitable type to derive from.
12514 * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
12515 case of type completion with pragma Import
12516 * sem_prag.adb
12517 (Process_Import_Predefined_Type): Processing to complete a type
12518 with pragma Import. Currently supports floating point types only.
12519 (Set_Convention_From_Pragma): Do nothing without underlying type.
12520 (Process_Convention): Guard against absence of underlying type,
12521 which may happen when importing incomplete types.
12522 (Process_Import_Or_Interface): Handle case of importing predefined
12523 types. Tweak error message.
12524
f8726f2b
AC
125252011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12526
12527 * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
12528 functions to previous change. Reorganize code slightly.
12529
125302011-08-02 Geert Bosch <bosch@adacore.com>
12531
12532 * back_end.ads (Register_Type_Proc): New call back procedure type for
12533 allowing the back end to provide information about available types.
12534 (Register_Back_End_Types): New procedure to register back end types.
12535 * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
12536 available types.
12537 * cstand.adb (Back_End_Float_Types): New list for floating point types
12538 supported by the back end.
12539 (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
12540 (Copy_Float_Type): New procedure to make new copies of predefined types.
12541 (Register_Float_Type): New call back procedure to populate the BEFT list
12542 (Find_Back_End_Float_Type): New procedure to find a BEFT by name
12543 (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
12544 (Create_Float_Types): New procedure to create entities for floating
12545 point types predefined in Standard, and put these and any remaining
12546 BEFTs on the Predefined_Float_Types list.
12547 * stand.ads (Predefined_Float_Types): New list for predefined floating
12548 point types that do not have declarations in package Standard.
12549
feecad68
AC
125502011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12551
12552 * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
12553 entity node for the unit containing the parameter.
12554 (Add_Inlined_Body): Use it to find the unit containing the subprogram.
12555 (Add_Inlined_Subprogram): Likewise.
12556 * gcc-interface/Make-lang.in: Update dependencies.
12557
125582011-08-02 Thomas Quinot <quinot@adacore.com>
12559
12560 * s-stusta.adb (Print): Make sure Pos is always initialized to a
12561 suitable value.
12562
12f0c50c
AC
125632011-08-02 Geert Bosch <bosch@adacore.com>
12564
12565 * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
12566
125672011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12568
12569 * sem_type.adb (Covers): Move trivial case to the top and reuse the
12570 computed value of Base_Type.
12571
125722011-08-02 Yannick Moy <moy@adacore.com>
12573
12574 * restrict.adb (Check_Restriction): issue an error for any use of
12575 class-wide, even if the No_Dispatch restriction is not set.
12576 * sem_aggr.adb: Correct typos in comments and messages in formal mode
12577 * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
12578 when completing a private extension, the type named in the private part
12579 is not the same as that named in the visible part.
12580 * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
12581 of an inherited primitive operations of a tagged type or type extension
12582 that returns the tagged type.
12583 * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
12584 function which returns True for an implicit operation inherited by the
12585 derived type declaration for the argument type.
12586 (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
12587 order.
12588
fb86fe11
ES
125892011-08-02 Ed Schonberg <schonberg@adacore.com>
12590
12591 * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
12592 Process_Bounds, to perform analysis with expansion of a range or an
12593 expression that is the iteration scheme for a loop.
12594 (Analyze_Iterator_Specification): If domain of iteration is given by a
12595 function call with a controlled result, as is the case if call returns
12596 a predefined container, ensure that finalization actions are properly
12597 generated.
12598 * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
12599
62be5d0a
JM
126002011-08-02 Javier Miranda <miranda@adacore.com>
12601
12602 * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
12603 * gcc-interface/Make-lang.in: Update dependencies.
12604
126052011-08-02 Javier Miranda <miranda@adacore.com>
12606
12607 * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
12608 determine if the analysis is performed using N or Original_Node (N).
12609 * exp_util.adb (Side_Effect_Free): Code cleanup since the new
12610 functionality of routine Is_Variable avoids code duplication.
12611 * checks.adb (Determine_Range): Handle temporaries generated by
12612 Remove_Side_Effects.
12613
126142011-08-02 Javier Miranda <miranda@adacore.com>
12615
12616 * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
12617 expansion of the condition. Required since the previous analysis was
12618 done with expansion disabled (see Resolve_Quantified_Expression) and
12619 hence checks were not inserted and record comparisons have not been
12620 expanded.
12621
a20f4389
AC
126222011-08-02 Ed Falis <falis@adacore.com>
12623
12624 * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
12625 Update header.
12626
126272011-08-02 Bob Duff <duff@adacore.com>
12628
12629 * opt.ads: Minor comment fix.
12630
126312011-08-02 Bob Duff <duff@adacore.com>
12632
12633 * sem_ch12.adb (Analyze_Package_Instantiation,
12634 Analyze_Subprogram_Instantiation): Turn off style checking while
12635 analyzing an instance. Whatever style checks that apply to the generic
12636 unit should apply, so it makes no sense to apply them in an instance.
12637 This was causing trouble when compiling an instance of a runtime
12638 unit that violates the -gnatyO switch.
12639 * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
12640 one of the two case statements, causing spurious errors.
12641
126422011-08-02 Robert Dewar <dewar@adacore.com>
12643
12644 * uname.adb: Minor reformatting.
12645 * gnatcmd.adb: Minor reformatting.
12646 * exp_attr.adb: Minor reformatting.
12647
90878b12
AC
126482011-08-02 Ed Schonberg <schonberg@adacore.com>
12649
12650 * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
12651 No_Dispatching_Calls, do not look for the Assign primitive, because
12652 predefined primitives are not created in this case.
12653
126542011-08-02 Bob Duff <duff@adacore.com>
12655
12656 * stylesw.ads: Minor comment fixes.
12657
126582011-08-02 Robert Dewar <dewar@adacore.com>
12659
12660 * freeze.adb (Add_To_Result): New procedure.
12661
126622011-08-02 Jose Ruiz <ruiz@adacore.com>
12663
12664 * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
12665 time, if the specific run-time routines for handling streams of strings
12666 are not available, use the default mechanism.
12667
126682011-08-02 Arnaud Charlet <charlet@adacore.com>
12669
12670 * s-regpat.ads: Fix typo.
12671
126722011-08-02 Vincent Celier <celier@adacore.com>
12673
12674 * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
12675 not null, call it to create the in memory config project file without
12676 parsing an existing default config project file.
12677
126782011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12679
12680 * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
12681
126822011-08-02 Ed Schonberg <schonberg@adacore.com>
12683
12684 * sem_elim.adb: an abstract subprogram does not need an eliminate
12685 pragma for its descendant to be eliminable.
12686
126872011-08-02 Ed Falis <falis@adacore.com>
12688
12689 * init.c: revert to handling before previous checkin for VxWorks
12690 * s-intman-vxworks.adb: delete unnecessary declarations related to
12691 using Ada interrupt facilities for handling signals.
12692 Delete Initialize_Interrupts. Use __gnat_install_handler instead.
12693 * s-intman-vxworks.ads: Import __gnat_install_handler as
12694 Initialize_Interrupts.
12695 * s-taprop-vxworks.adb: Delete Signal_Mask.
12696 (Abort_Handler): change construction of mask to unblock exception
12697 signals.
12698
273adcdf
AC
126992011-08-02 Jerome Guitton <guitton@adacore.com>
12700
12701 * a-except-2005.adb (Raise_From_Signal_Handler): Call
12702 Debug_Raise_Exception before propagation starts.
12703
127042011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12705
12706 * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
12707 to Restriction_Check_Required.
12708 * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
12709 * sem_res.adb (Resolve_Call): Likewise.
12710 * sem_attr.adb (Check_Stream_Attribute): Likewise.
12711
127122011-08-02 Bob Duff <duff@adacore.com>
12713
12714 * stylesw.ads: Update comment.
12715 * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
12716 * errout.ads: Remove obsolete comment.
12717
127182011-08-02 Javier Miranda <miranda@adacore.com>
12719
12720 * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
12721 (Set_Is_Safe_To_Reevaluate): new procedure.
12722 * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
12723 assignment is allowed on safe-to-reevaluate variables.
12724 (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
12725 temporary created to remove side effects in expressions that use
12726 the secondary stack as safe-to-reevaluate.
12727 * exp_util.adb (Side_Effect_Free): Add missing code to handle well
12728 variables that are not true constants.
12729
6320f5e1
AC
127302011-08-02 Robert Dewar <dewar@adacore.com>
12731
12732 * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
12733 sem_res.adb, sem_ch6.adb: Minor reformatting.
12734
127352011-08-02 Jerome Guitton <guitton@adacore.com>
12736
12737 * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
12738
2fe829ae
ES
127392011-08-02 Ed Schonberg <schonberg@adacore.com>
12740
12741 * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
12742 not set Overridden_Operation if subprogram is an initialization
12743 procedure.
12744
e24329cd
YM
127452011-08-02 Yannick Moy <moy@adacore.com>
12746
12747 * par-ch6.adb: Correct obsolete name in comments
12748 * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
12749 which takes two message arguments (existing function takes one), with
12750 second message used for continuation.
12751 * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
12752 block statements that originate from a source block statement, not
12753 generated block statements
12754 * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
12755 symmetry with procedure case
12756 * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
12757 function to issue an error in formal mode if a package specification
12758 contains more than one tagged type or type extension.
12759 * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
12760 parameters matching formals of tagged types are objects (or ancestor
12761 type conversions of objects), not general expressions. Issue an error
12762 on view conversions that are not involving ancestor conversion of an
12763 extended type.
12764 (Resolve_Type_Conversion): in formal mode, issue an error on the
12765 operand of an ancestor type conversion which is not an object
12766 * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
12767 procedure so that it works also for actuals of function calls
12768 (Is_Actual_Tagged_Parameter): new function which determines if its
12769 argument is an actual parameter of a formal of tagged type in a
12770 subprogram call
12771 (Is_SPARK_Object_Reference): new function which determines if the tree
12772 referenced by its argument represents an object in SPARK
12773
176dadf6
AC
127742011-08-02 Robert Dewar <dewar@adacore.com>
12775
12776 * sem_ch3.adb: Minor reformatting
12777 Minor comment addition
12778 Minor error msg text change
12779
127802011-08-02 Javier Miranda <miranda@adacore.com>
12781
12782 * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
12783 function. Used to be more precise when we generate a variable plus one
12784 assignment to remove side effects in the evaluation of the Bound
12785 expressions.
12786 (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
12787 of the bound expression to force its re-analysis and thus expand the
12788 associated transient scope (if required). Code cleanup replacing the
12789 previous code that declared the constant entity by an invocation to
12790 routine Force_Evaluation which centralizes this work in the frontend.
12791
d8b962d8
AC
127922011-08-02 Robert Dewar <dewar@adacore.com>
12793
12794 * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
12795 (Base_Type): Now uses improved Is_Base_Type function
12796 * einfo.ads (Base_Type): Inline this function
12797
127982011-08-02 Robert Dewar <dewar@adacore.com>
12799
12800 * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
12801 (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
12802
128032011-08-02 Arnaud Charlet <charlet@adacore.com>
12804
12805 * gcc-interface/Make-lang.in: Update dependencies.
12806 * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
12807 targets.
12808
128092011-08-02 Yannick Moy <moy@adacore.com>
12810
12811 * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
12812 non-simple expression used in delta constraint
12813 (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
12814 index constraint which is not a subtype mark
12815 * par.adb: With and use Restrict
12816 * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
12817 mode on component type which is not a subtype mark and default
12818 expression on component
12819 (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
12820 of string which does not have a lower index bound equal to 1
12821 (Array_Type_Declaration): issue an error in formal mode on index or
12822 component type which is not a subtype mark, and on aliased keyword on
12823 component
12824 (Derived_Type_Declaration): issue an error in formal mode on interface,
12825 limited or abstract type
12826 (Record_Type_Declaration): issue an error in formal mode on interface
12827 (Record_Type_Definition): issue an error in formal mode on tagged types
12828 and type extensions not declared in the specification of a library unit
12829 package; on null non-tagged record; on variant part
12830
128312011-08-02 Vincent Celier <celier@adacore.com>
12832
12833 * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
12834 not declared for qualified library project when Library_Name is not
12835 declared, but Library_Dir is.
12836
128372011-08-02 Robert Dewar <dewar@adacore.com>
12838
12839 * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
12840 pragmas (affects aspects [Component_]Default_Value
12841 (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
12842 component type for the resolution
12843
f96b2d85
AC
128442011-08-02 Eric Botcazou <ebotcazou@adacore.com>
12845
12846 * einfo.adb (Base_Type): Tune implementation for speed.
12847
128482011-08-02 Robert Dewar <dewar@adacore.com>
12849
12850 * freeze.adb: Minor reformatting.
12851
8b3c6430
AC
128522011-08-02 Thomas Quinot <quinot@adacore.com>
12853
12854 * scos.ads: Update comments.
12855
128562011-08-02 Ed Schonberg <schonberg@adacore.com>
12857
12858 * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
12859 base type, because the parent may be a subtype of a private type whose
12860 convention is established in a private part.
12861
128622011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
12863
12864 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
12865 statement in a block when the expansion of the return expression has
12866 created a finalization chain.
12867 * freeze.adb (Freeze_Expression): Alphabetize all choices associated
12868 with the parent node.
12869 Add N_Extended_Return_Statement to handle the case where a transient
12870 object declaration appears in the Return_Object_Declarations list of
12871 an extended return statement.
12872
128732011-08-02 Matthew Gingell <gingell@adacore.com>
12874
12875 * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
12876 unused parameter 'name'.
12877
128782011-08-02 Ed Schonberg <schonberg@adacore.com>
12879
12880 * sem_elim.adb (Set_Eliminated): If the overridden operation is an
12881 inherited operation, check whether its alias, which is the source
12882 operastion that it renames, has been marked eliminated.
12883
cae81f17
JM
128842011-08-02 Javier Miranda <miranda@adacore.com>
12885
12886 * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
12887 in-mode parameter whose type is an access type since it can be used to
12888 modify its designated object. Enforce code that handles as safe an
12889 access type that is not access-to-constant but it is the result of a
12890 previous removal of side-effects.
12891 (Remove_Side_Effects): Minor code reorganization of cases which require
12892 no action. Done to incorporate documentation on new cases uncovered
12893 working in this ticket: no action needed if this routine was invoked
12894 too early and the nodes are not yet decorated.
12895 * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
12896 to routine Remove_Side_Effects by calls to Force_Evaluation since they
12897 were issued with actuals that are implicitly provided by
12898 Force_Evaluation.
12899
218e6dee
RD
129002011-08-02 Robert Dewar <dewar@adacore.com>
12901
12902 * sem_ch3.adb, sem_res.adb: Minor reformatting.
12903
7a489a2b
AC
129042011-08-02 Yannick Moy <moy@adacore.com>
12905
12906 * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
12907 to issue an error in formal mode on attribute not supported in this mode
12908 (Analyze_Attribute): issue errors on standard attributes not supported
12909 in formal mode.
12910 * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
12911 comment, and issue error in formal mode on modulus which is not a power
12912 of 2.
12913 (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
12914 range.
12915 * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
12916 subtype mark.
12917 * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
12918 operator on modular type (except 'not').
12919
129202011-08-02 Robert Dewar <dewar@adacore.com>
12921
12922 * gnat_rm.texi: Minor reformatting.
12923
cb7fa356
AC
129242011-08-02 Arnaud Charlet <charlet@adacore.com>
12925
12926 * s-osinte-linux.ads: Minor comment update and reformatting.
12927 * i-cexten.ads: Make this unit pure, as for its parent.
12928 Will allow its usage in more contexts if needed.
12929
129302011-08-02 Robert Dewar <dewar@adacore.com>
12931
12932 * s-utf_32.ads: Minor comment fix.
12933
129342011-08-02 Ed Schonberg <schonberg@adacore.com>
12935
12936 * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
12937 operation of a tagged synchronized type, handle the case where the
12938 controlling argument is overloaded.
12939
129402011-08-02 Yannick Moy <moy@adacore.com>
12941
12942 * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
12943 Replace pragma SPARK_95 with pragma Restrictions (SPARK)
12944 * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
12945 SPARK mode and formal verification mode on processing SPARK restriction
12946 * s-rident.ads (Restriction_Id): add SPARK restriction in those not
12947 requiring consistency checking.
12948
5cc9353d
RD
129492011-08-02 Robert Dewar <dewar@adacore.com>
12950
12951 * sem_res.adb: Minor reformatting.
12952
e51537ff
RD
129532011-08-02 Robert Dewar <dewar@adacore.com>
12954
12955 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
12956 a-cforse.ads: Remove unneeded with of Ada.Containers
12957 Remove commented out pragma Inline's
12958 Move specifications of new subprograms to the actual specs
12959
83fa09c5
AC
129602011-08-02 Yannick Moy <moy@adacore.com>
12961
12962 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
12963 a-cforse.ads: Update comments.
12964
129652011-08-02 Ed Schonberg <schonberg@adacore.com>
12966
12967 * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
12968
d11cfaf8
RD
129692011-08-02 Robert Dewar <dewar@adacore.com>
12970
12971 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
12972 a-cforse.ads, a-cofove.ads: Minor reformatting.
12973
300b98bb
AC
129742011-08-02 Claire Dross <dross@adacore.com>
12975
12976 * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
12977 a-cofove.ads: Add comments.
12978
129792011-08-02 Yannick Moy <moy@adacore.com>
12980
12981 * gnat_rm.texi: Document formal containers.
12982
129832011-08-02 Emmanuel Briot <briot@adacore.com>
12984
12985 * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
12986 are empty sections.
12987
19fb051c
AC
129882011-08-02 Robert Dewar <dewar@adacore.com>
12989
12990 * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
12991 reformatting.
12992
129932011-08-02 Robert Dewar <dewar@adacore.com>
12994
12995 * aspects.adb: New aspects Default_Value and Default_Component_Value
12996 New format of Aspect_Names table checks for omitted entries
12997 * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
12998 handling of boolean aspects for derived types.
12999 New aspects Default_Value and Default_Component_Value
13000 New format of Aspect_Names table checks for omitted entries
13001 * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
13002 (Has_Default_Value): New flag
13003 (Has_Default_Component_Value): New flag
13004 (Has_Default_Value): New flag
13005 * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
13006 table.
13007 * par-prag.adb: New pragmas Default_Value and Default_Component_Value
13008 * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
13009 Default_Value and Default_Component_Value
13010 * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
13011 New aspects Default_Value and Default_Component_Value
13012 * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
13013 * sprint.adb: Print N_Aspect_Specification node when called from gdb
13014
130152011-08-02 Vincent Celier <celier@adacore.com>
13016
13017 * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
13018 inherit library kind.
13019
130202011-08-02 Ed Schonberg <schonberg@adacore.com>
13021
13022 * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
13023 Minor reformatting.
13024
130252011-08-02 Robert Dewar <dewar@adacore.com>
13026
13027 * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
13028
5f7747af
AC
130292011-08-02 Yannick Moy <moy@adacore.com>
13030
13031 * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
13032
130332011-08-02 Robert Dewar <dewar@adacore.com>
13034
13035 * impunit.adb: Add comment.
13036
a5fe697b
AC
130372011-08-02 Yannick Moy <moy@adacore.com>
13038
13039 * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
13040 qualification of aggregates in formal mode
13041 (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
13042 another aggregate
13043 (Resolve_Aggregate): complete the test that an aggregate is adequately
13044 qualified in formal mode
13045
130462011-08-02 Pascal Obry <obry@adacore.com>
13047
13048 * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
13049 * mlib-prj.adb: Supress warning when compiling binder generated file.
13050 (Build_Library): Supress all warnings when compiling the binder
13051 generated file.
13052
bd65a2d7 130532011-08-02 Yannick Moy <moy@adacore.com>
d4487611 13054
bd65a2d7
AC
13055 * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
13056 from here...
13057 * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
13058 * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
13059 Add with/use clauses to make Check_Formal_Restriction visible
13060
130612011-08-02 Ed Schonberg <schonberg@adacore.com>
13062
13063 * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
13064 in-parameters when type of the generic formal is private in the generic
13065 spec and non-private in the body.
13066
130672011-08-02 Claire Dross <dross@adacore.com>
13068
13069 * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
13070 a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
13071 a-cofove.adb, a-cofove.ads: New files implementing formal containers.
13072 * impunit.adb, Makefile.rtl: Take new files into account.
d4487611
AC
13073
130742011-08-02 Robert Dewar <dewar@adacore.com>
13075
13076 * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
13077 sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
13078
bd434b3f
YM
130792011-08-02 Yannick Moy <moy@adacore.com>
13080
13081 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
13082 formal mode
13083 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
13084 matching static array bounds, taking into account the special case of
13085 string literals
13086 * sem_ch3.adb: Typo in comment.
13087
fe5d3068
YM
130882011-08-02 Yannick Moy <moy@adacore.com>
13089
13090 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
13091 which issues an error in formal mode if its argument node is originally
13092 from source
13093 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
13094 has a discriminant specification so that it does not include the case
13095 of derived types
13096 (Derived_Type_Declaration): move here the test that a derived type has a
13097 discriminant specification
13098 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
13099 first element of a component association before accessing its choices
13100 (presence of component association is not enough)
13101 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
13102 declaration is a library item before accessing the next element in a
13103 list, as library items are not member of lists
13104 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
13105 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
13106 Check_Formal_Restriction whenever possible.
13107
b60a3f26
AC
131082011-08-02 Ed Schonberg <schonberg@adacore.com>
13109
13110 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
13111 reference when needed.
13112
131132011-08-02 Bob Duff <duff@adacore.com>
13114
13115 * gnat_ugn.texi: Fix typo.
13116
131172011-08-02 Vincent Celier <celier@adacore.com>
13118
13119 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
13120 archive file name. Do not use the full path name of archives for Open
13121 VMS.
13122
eaba57fb
RD
131232011-08-02 Robert Dewar <dewar@adacore.com>
13124
13125 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
13126 Analyze_Aspect_Specifications
13127 * sem_ch13.adb
13128 (Analyze_Aspect_Specifications): New handling for boolean aspects
13129 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
13130 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
13131 sequence for Analyze_Aspect_Specifications
13132 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
13133 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
13134
131352011-08-02 Robert Dewar <dewar@adacore.com>
13136
13137 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
13138 aspects, since these no longer exist.
13139
131402011-08-02 Robert Dewar <dewar@adacore.com>
13141
13142 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
13143 semicolon, do not try to see if there are aspects following it.
13144 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
13145 aspect spec.
13146
8830d1d2
AC
131472011-08-02 Robert Dewar <dewar@adacore.com>
13148
13149 * sem_ch8.adb, aspects.ads: Minor reformatting.
13150
131512011-08-02 Eric Botcazou <ebotcazou@adacore.com>
13152
13153 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
13154 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
13155 extracted from...
13156 (Analyze_Aspect_Specifications): ...here. Call above procedure.
13157
7ff2d234
AC
131582011-08-02 Yannick Moy <moy@adacore.com>
13159
13160 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
13161 mode on subprogram declaration outside of package specification, unless
13162 it is followed by a pragma Import
13163 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
13164 Access_Type_Declaration): issue error in formal mode on access type
13165 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
13166 incomplete type
13167 (Analyze_Object_Declaration): issue error in formal mode on object
13168 declaration which does not respect SPARK restrictions
13169 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
13170 declaration which does not respect SPARK restrictions
13171 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
13172 error in formal mode on digits or delta constraint
13173 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
13174 decimal fixed point type
13175 (Derived_Type_Declaration): issue error in formal mode on derived type
13176 other than type extensions of tagged record types
13177 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
13178 with check on access definition
13179 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
13180 mode on protected definition.
13181 (Analyze_Task_Definition): issue error in formal mode on task definition
13182
131832011-08-02 Robert Dewar <dewar@adacore.com>
13184
13185 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
13186
806f6d37
AC
131872011-08-02 Javier Miranda <miranda@adacore.com>
13188
13189 * sem_ch6.adb (Can_Override_Operator): New function.
13190 (Verify_Overriding_Indicator): Add missing code to check overriding
13191 indicator in operators. Fixes regression.
13192 (Check_Overriding_Indicator): Minor reformating after replacing the
13193 code that evaluates if the subprogram can override an operator by
13194 invocations to the above new function.
13195 * einfo.adb
13196 (Write_Field26_Name): Add missing code to ensure that, following
13197 the documentation in einfo.ads, this field is not shown as attribute
13198 "Static_Initialization" on non-dispatching functions.
13199
132002011-08-02 Jose Ruiz <ruiz@adacore.com>
13201
13202 * sem_res.adb (Resolve_Call): A call to
13203 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
13204 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
13205 i.e., when the second parameter is of type Time_Span.
13206
132072011-08-02 Vincent Celier <celier@adacore.com>
13208
13209 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
13210 with an archive instead of -L<library dir> -l<library name>.
13211
132122011-08-02 Ed Schonberg <schonberg@adacore.com>
13213
13214 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
13215 mark the base types In_Use in addition to making the operations
13216 use_visible.
13217
132182011-08-02 Ed Falis <falis@adacore.com>
13219
13220 * init.c: add and setup __gnat_signal_mask for the exception signals
13221 * s-inmaop-vxworks.adb: new file.
13222 * s-intman-vxworks.adb: remove unnecessary initializations and
13223 simplify remaining
13224 * s-intman-vxworks.ads: remove unnecessary variable
13225 * s-taprop-vxworks.adb: simplify signal initialization
13226
780d052e
RD
132272011-08-02 Robert Dewar <dewar@adacore.com>
13228
13229 * sem_ch8.adb: Minor code reorganization, comment updates.
13230
132312011-08-02 Robert Dewar <dewar@adacore.com>
13232
13233 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
13234 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
13235 here from Sem_Res.
13236 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
13237 (Matching_Static_Array_Bounds): Moved here from Sem_Res
13238
29efbb8c
ES
132392011-08-02 Ed Schonberg <schonberg@adacore.com>
13240
13241 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
13242 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
13243 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
13244 use_type_clauses, to handle more efficiently use_type and use_all_type
13245 constructs.
13246 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
13247 Ada2012 Use_All_Type clause.
13248 (Use_Class_Wide_Operations): new procedure.
13249
b0186f71
AC
132502011-08-02 Robert Dewar <dewar@adacore.com>
13251
13252 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
13253 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
13254 expression to expression function.
13255
132562011-08-02 Ed Schonberg <schonberg@adacore.com>
13257
13258 * sem_ch4.adb: transform simple Ada2012 membership into equality only
13259 if types are compatible.
13260
132612011-08-02 Yannick Moy <moy@adacore.com>
13262
13263 * sem_res.adb (Matching_Static_Array_Bounds): new function which
13264 returns True if its argument array types have same dimension and same
13265 static bounds at each index.
13266 (Resolve_Actuals): issue an error in formal mode on actuals passed as
13267 OUT or IN OUT paramaters which are not view conversions in SPARK.
13268 (Resolve_Arithmetic_Op): issue an error in formal mode on
13269 multiplication or division with operands of fixed point types which are
13270 not qualified or explicitly converted.
13271 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
13272 Boolean or array type (except String) operands.
13273 (Resolve_Equality_Op): issue an error in formal mode on equality
13274 operators for array types other than String with non-matching static
13275 bounds.
13276 (Resolve_Logical_Op): issue an error in formal mode on logical operators
13277 for array types with non-matching static bounds. Factorize the code in
13278 Matching_Static_Array_Bounds.
13279 (Resolve_Qualified_Expression): issue an error in formal mode on
13280 qualified expressions for array types with non-matching static bounds.
13281 (Resolve_Type_Conversion): issue an error in formal mode on type
13282 conversion for array types with non-matching static bounds
13283
767bb4e8
AC
132842011-08-02 Robert Dewar <dewar@adacore.com>
13285
13286 * par-ch10.adb: Minor code reorganization (use Nkind_In).
13287
132882011-08-02 Ed Schonberg <schonberg@adacore.com>
13289
13290 * par-ch9.adb: save location of entry for proper error message.
13291
4ac2477e
JM
132922011-08-02 Javier Miranda <miranda@adacore.com>
13293
13294 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
13295 (Use_Full_View) which permits this routine to climb through the
13296 ancestors using the full-view of private parents.
13297 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
13298 Use_Full_View to true in calls to Is_Ancestor.
13299 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
13300 true in call to Is_Ancestor.
13301 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
13302 Use_Full_View to true in call to Is_Ancestor.
13303 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
13304 call to Is_Ancestor.
13305 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
13306 Use_Full_View to true in calls to Is_Ancestor.
13307 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
13308 Make_Select_Specific_Data_Table, Register_Primitive,
13309 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
13310 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
13311 to true in call to Is_Ancestor.
13312 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
13313 Use_Full_View to true in calls to Is_Ancestor.
13314 * exp_cg.adb
13315 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
13316 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
13317
9f90d123
AC
133182011-08-02 Robert Dewar <dewar@adacore.com>
13319
13320 * gnat_rm.texi: Minor reformatting.
13321 * sem_prag.adb: Minor reformatting.
13322
133232011-08-02 Tristan Gingold <gingold@adacore.com>
13324
13325 * vms_data.ads: Add VMS qualifier for -gnateP.
13326
133272011-08-02 Robert Dewar <dewar@adacore.com>
13328
13329 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
13330 * par-ch7.adb (P_Package): Proper placement of aspects for package
13331 decl/instantiation.
13332 * par-endh.adb (Check_End): Ad Is_Sloc parameter
13333 (End_Statements): Add Is_Sloc parameterr
13334 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
13335 (Check_End): Ad Is_Sloc parameter
13336 (End_Statements): Add Is_Sloc parameterr
13337
133382011-08-02 Vincent Celier <celier@adacore.com>
13339
13340 * ug_words: Add VMS qualifier equivalent to -gnateP:
13341 /SYMBOL_PREPROCESSING.
13342
133432011-08-02 Jose Ruiz <ruiz@adacore.com>
13344
13345 * gnat-style.texi: For hexadecimal numeric literals the typical
13346 grouping of digits is 4 to represent 2 bytes.
13347 A procedure spec which is split into several lines is indented two
13348 characters.
13349
133502011-08-02 Yannick Moy <moy@adacore.com>
13351
13352 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
13353 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
13354 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
13355 properly qualified
13356 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
13357 choice in array aggregate
13358 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
13359 mark as ancestor
13360 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
13361 positional and named aggregate for record, or others in record
13362 aggregate, or multiple choice in record aggregate
13363 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
13364 array operands to logical operations AND, OR and XOR do not have the
13365 same static lower and higher bounds
13366 * sem_ch5.adb, sinfo.ads: Correct typos in comments
13367
2933b16c
RD
133682011-08-01 Robert Dewar <dewar@adacore.com>
13369
13370 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
13371 Replaces Last_Source_Node_In_Sequence.
13372 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
13373 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
13374 parens and blank in string (this was inconsistently implemented).
13375 * errout.ads
13376 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
13377 blank in string (this was inconsistently implemented).
13378 * gnat1drv.adb
13379 (Set_Global_Switches): Set formal mode switches appropriately
13380 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
13381 * par-prag.adb
13382 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
13383 call Set_Error_Msg_Lang to set "spark" as language name.
13384 * par.adb: Remove unnecessary call to set formal language for errout
13385 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
13386 appropriately and call Set_Error_Msg_Lang to set "spark" as language
13387 name.
13388 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
13389 calls to it, moved after resolution so that types are known
13390 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
13391 result of concatenation is not of type String
13392 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
13393 concatenation is not properly restricted
13394 * gnat_rm.texi: Add doc on pragma Spark_95.
13395 * gcc-interface/Makefile.in: Remove obsolete target pairs for
13396 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
13397 * gcc-interface/Make-lang.in: Update dependencies.
13398
05dbd302
AC
133992011-08-01 Javier Miranda <miranda@adacore.com>
13400
13401 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
13402 condition that detects if the overridden operation must replace an
13403 existing entity.
13404
134052011-08-01 Javier Miranda <miranda@adacore.com>
13406
13407 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
13408 code declarations inserted by Insert_Actions in each alternative of the
13409 N_Case_Expression node.
13410
134112011-08-01 Robert Dewar <dewar@adacore.com>
13412
13413 * sem_ch6.adb: Minor code reorganization.
13414 * sem_util.adb: Minor reformatting.
13415
af9e051f
PO
134162011-08-01 Pascal Obry <obry@adacore.com>
13417
13418 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
13419 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
13420
1d801f21
AC
134212011-08-01 Yannick Moy <moy@adacore.com>
13422
13423 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
13424 literal or operator symbol which is prefixed
13425 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
13426 mode on access attributes.
13427 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
13428 that concatenation operands are properly restricted in formal mode
13429 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
13430 Analyze_Concatenation_Operand. Issue an error in formal mode if the
13431 result of the concatenation has a type different from String.
13432 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
13433 Analyze_Quantified_Expression, Analyze_Slice,
13434 Analyze_Null): issue an error in formal mode on unsupported constructs
13435 * sem_ch5.adb
13436 (Analyze_Block_Statement): only issue error on source block statement
13437 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
13438 function which returns the last node in a list of nodes for which
13439 Comes_From_Source returns True, if any
13440 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
13441 Last_Source_Node_In_Sequence
13442 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
13443 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
13444 mode on unsupported constructs
13445 * sem_ch9.adb Do not return after issuing error in formal mode, as the
13446 rest of the actions may be needed later on since the error is marked as
13447 not serious.
13448 * sinfo.ads: Typos in comments.
13449
134502011-08-01 Pascal Obry <obry@adacore.com>
13451
13452 * projects.texi: Minor editing.
13453
53beff22
YM
134542011-08-01 Yannick Moy <moy@adacore.com>
13455
13456 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
13457 insertion character ~~
13458 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
13459 (Set_Error_Msg_Lang): new procedure which fixes the language for use
13460 with insertion character ~~
13461 (Set_Msg_Text): treat insertion character ~~
13462 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
13463 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
13464 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
13465 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
13466 errors related to the formal language restriction not serious
13467 (insertion character |).
13468 * par.adb (Par): set formal language for error messages if needed
13469 * sem_ch6.adb (Check_Missing_Return): take into account possible
13470 generated statements at the end of the function
13471 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
13472 enumeration value to define a new pragma SPARK_95
13473 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
13474 SPARK_Version): new type and variables to store the SPARK version
13475 (none by default).
13476 (SPARK_Mode): return True when SPARK_Version is set
13477 * par-prag.adb: Correct indentation
13478 (Prag): take Pragma_SPARK_95 into account
13479 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
13480 into account.
13481
8d606a78
RD
134822011-08-01 Robert Dewar <dewar@adacore.com>
13483
13484 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
13485 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
13486 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
13487
1982d5a8
PO
134882011-08-01 Pascal Obry <obry@adacore.com>
13489
13490 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
13491 Target_Name to Get_Path call.
13492 (Parse_Single_Project): Likewise.
13493 (Post_Parse_Context_Clause): Likewise.
13494 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
13495 Call Initialise_Project_Path with the proper Target_Name.
13496 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
13497 search path.
13498 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
13499 with the proper Target_Name.
13500 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
13501 Part.Parse routine.
13502 (Parse_Project_And_Apply_Config): Likewise.
13503 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
13504 This is fine as this part of the code is supporting only native
13505 compilation.
13506 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
13507 is fine as this part of the code is supporting only native compilation.
13508
0d53d36b
AC
135092011-08-01 Yannick Moy <moy@adacore.com>
13510
13511 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
13512 of homonym, unless the homonym is one of the cases allowed in SPARK
13513 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
13514 package declaration occurring after a body.
13515
135162011-08-01 Robert Dewar <dewar@adacore.com>
13517
13518 * checks.adb, exp_ch4.adb: Minor reformatting.
13519
135202011-08-01 Javier Miranda <miranda@adacore.com>
13521
13522 * einfo.ads (Access_Disp_Table): Fix documentation.
13523 (Dispatch_Table_Wrappers): Fix documentation.
13524
135252011-08-01 Pascal Obry <obry@adacore.com>
13526
13527 * prj-env.adb, prj-env.ads: Minor reformatting.
13528
8ed68165
AC
135292011-08-01 Yannick Moy <moy@adacore.com>
13530
13531 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
13532 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
13533 procedures out of these packages.
2c7f9cc0 13534 * errout.ads, errout.adb
8ed68165
AC
13535 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
13536 procedures in of this package
13537 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
13538 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
13539 on misplaced later vs initial declarations, like in Ada 83
13540 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
13541 formal mode on attribute of private type whose full type declaration
13542 is not visible
13543 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
13544 package declaration inside a package specification
13545 (Analyze_Full_Type_Declaration): issue error in formal mode on
13546 controlled type or discriminant type
13547 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
13548 user-defined operator means that it should come from the source
13549 (New_Overloaded_Entity): issue error in formal mode on overloaded
13550 entity.
13551 * sem_ch6.ads, sem_ch13.ads: typos in comments.
13552
135532011-08-01 Thomas Quinot <quinot@adacore.com>
13554
13555 * atree.adb: Minor reformatting.
13556 * checks.adb: Minor reformatting.
13557
4230bdb7
AC
135582011-08-01 Vincent Celier <celier@adacore.com>
13559
13560 * s-parame-vms-ia64.ads: Fix typo in comment
13561 Minor reformatting
13562 * s-parame-vms-restrict.ads: Removed, unused.
13563
135642011-08-01 Javier Miranda <miranda@adacore.com>
13565
13566 * exp_ch3.adb
13567 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
13568 * sem_ch3.adb
13569 (Constrain_Index): Remove side effects in the evaluation of the bounds.
13570 * sem_ch3.ads, sem_ch3.adb
13571 (Is_Constant_Bound): New extended version of the subprogram that was
13572 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
13573 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
13574 * sem_aux.ads (Constant_Value): Fix typo in comment.
13575 * checks.adb (Generate_Index_Checks): New implementation which, for
13576 array objects with constant bounds, generates the runtime check
13577 referencing the bounds of the array type. For other cases this routine
13578 provides its previous behavior obtaining such values from the array
13579 object.
13580 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
13581 parent type.
13582 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
13583 we cannot have semantic interpretations of the new node.
13584
2010d078
AC
135852011-08-01 Ed Schonberg <schonberg@adacore.com>
13586
13587 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
13588 expressions.
13589
135902011-08-01 Arnaud Charlet <charlet@adacore.com>
13591
13592 * sem_ch8.adb: Minor code editing.
13593 * s-vxwext.adb: Remove trailing space.
13594 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
13595 consistency with other files.
13596
135972011-08-01 Thomas Quinot <quinot@adacore.com>
13598
13599 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
13600
136012011-08-01 Ed Schonberg <schonberg@adacore.com>
13602
13603 * par-ch10.adb: reject parameterized expressions as compilation unit.
13604 * sem_ch4.adb: handle properly conditional expression with overloaded
13605 then_clause and no else_clause.
13606
136072011-08-01 Tristan Gingold <gingold@adacore.com>
13608
13609 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
13610 like done by System.Aux_DEC.
13611 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
13612
daec8eeb
YM
136132011-08-01 Yannick Moy <moy@adacore.com>
13614
13615 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
13616 missing label at end of declaration (subprogram or package)
13617 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
13618 of positional and named parameter association
13619 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
13620 Error_Msg_SP which adds a prefix to the error message giving the name
13621 of the formal language analyzed
13622 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
13623 access result type in subprogram, unconstrained array as result type,.
13624 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
13625 procedure
13626 * sem_ch8.adb: Code clean up.
13627
38171f43
AC
136282011-08-01 Javier Miranda <miranda@adacore.com>
13629
13630 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
13631 * einfo.ads (Access_Disp_Table): Fix documentation.
13632 (Dispatch_Table_Wrappers): Fix documentation.
13633 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
13634 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
13635 to enforce the documentation of this attribute.
13636 (Set_Is_Interface): Cleanup the assertion.
13637 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
13638 the Underlying_Type entity before reading attribute Access_Disp_Table.
13639 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
13640 Locate the Underlying_Type before reading attribute Access_Disp_Table.
13641 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
13642 the Underlying_Type entity before reading attribute Access_Disp_Table.
13643 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
13644 Locate the Underlying_Type entity before reading attribute
13645 Access_Disp_Table.
13646
136472011-08-01 Ed Schonberg <schonberg@adacore.com>
13648
13649 * s-poosiz.ads: Additional overriding indicators.
13650
136512011-08-01 Yannick Moy <moy@adacore.com>
13652
13653 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
13654 formal mode.
13655 (Analyze_Iteration_Scheme): issue error in formal mode when loop
13656 parameter specification does not include a subtype mark.
13657 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
13658 formal mode on abstract subprogram.
13659 (Analyze_Subprogram_Specification): issue error in formal mode on
13660 user-defined operator.
13661 (Process_Formals): issue error in formal mode on access parameter and
13662 default expression.
13663 * sem_ch9.adb (Analyze_Abort_Statement,
13664 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
13665 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
13666 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
13667 Analyze_Requeue, Analyze_Selective_Accept,
13668 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
13669 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
13670 issue error in formal mode on user-defined raise statement.
13671
1f250383
AC
136722011-08-01 Thomas Quinot <quinot@adacore.com>
13673
13674 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
13675 declaration being hidden when overriding an implicit inherited
13676 subprogram.
13677 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
13678 (-gnats), do not complain about a source file that contains only a
13679 pragma No_Body.
13680
136812011-08-01 Ed Schonberg <schonberg@adacore.com>
13682
13683 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
13684 variable if already set.
13685
607d0635
AC
136862011-08-01 Arnaud Charlet <charlet@adacore.com>
13687
13688 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
13689 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
13690 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
13691 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
13692 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
13693 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
13694 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
13695 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
13696 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
13697 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
13698 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
13699 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
13700 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
13701 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
13702 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
13703 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
13704 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
13705 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
13706 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
13707 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
13708 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
13709 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
13710 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
13711 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
13712 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
13713 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
13714 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
13715 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
13716 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
13717 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
13718 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
13719 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
13720 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
13721 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
13722 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
13723 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
13724 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
13725 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
13726 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
13727 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
13728 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
13729 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
13730 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
13731 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
13732 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
13733 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
13734 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
13735 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
13736 s-osinte-mingw.ads: Update to GPLv3 run-time license.
13737 Use GNAT instead of GNARL.
13738
137392011-08-01 Bob Duff <duff@adacore.com>
13740
13741 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
13742 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
13743 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
13744 reformatting.
13745
137462011-08-01 Yannick Moy <moy@adacore.com>
13747
13748 * debug.adb (d.D) reverve flag for the SPARK mode
13749 (d.E) reverve flag for SPARK generation mode
13750 (d.F) reverve flag for Why generation mode
2c7f9cc0 13751 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
607d0635
AC
13752 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
13753 functions which return True when the corresponding modes are set
13754 (Formal_Language): return "spark" or "alfa" when in formal verification
13755 mode.
13756 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
13757 Error_Msg to prefix the error message with a tag giving the formal
13758 language
13759 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
13760 message with a tag giving the formal language
13761 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
13762 block statement
13763 (Analyze_Case_Statement): issue error in formal mode on case statement
13764 with a single "others" case alternative
13765 (Analyze_Exit_Statement): issue errors in formal mode on exit
13766 statements which do not respect SPARK restrictions
13767 (Analyze_Goto_Statement): issue error in formal mode on goto statement
13768 (Check_Unreachable_Code): always issue an error (not a warning) in
13769 formal mode on unreachable code (concerns both code after an infinite
13770 loop and after an unconditional jump, both not allowed in SPARK)
13771 * sem_ch6.adb (Analyze_Return_Statement): add call to
13772 Set_Return_Present for a procedure containing a return statement
13773 (already done for functions in Analyze_Function_Return)
13774 (Analyze_Function_Return): issue error in formal mode on extended
13775 return or if return is not last statement in function
13776 (Check_Missing_Return): issue error in formal mode if function does
13777 not end with return or if procedure contains a return
13778 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
13779 function to detect if there is an inner scope of its parameter S which
13780 is a loop.
13781
137822011-08-01 Thomas Quinot <quinot@adacore.com>
13783
13784 * sem_ch6.ads: Minor reformatting.
13785
d8b3ccb9
AC
137862011-08-01 Javier Miranda <miranda@adacore.com>
13787
13788 * sem_util.adb (Abstract_Interface_List): Complete condition when
13789 processing private type declarations to avoid reading unavailable
13790 attribute.
13791 (Is_Synchronized_Tagged_Type): Complete condition when processing
13792 private extension declaration nodes to avoid reading unavailable
13793 attribute.
13794
137952011-08-01 Thomas Quinot <quinot@adacore.com>
13796
13797 * sem_ch3.adb: Minor reformatting.
13798
137992011-08-01 Thomas Quinot <quinot@adacore.com>
13800
13801 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
13802 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
13803 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
13804 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
13805 for VMS, instead parametrize the common implementation with
13806 System.Parameters declarations.
13807
0bb9276c
AC
138082011-08-01 Eric Botcazou <ebotcazou@adacore.com>
13809
13810 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
13811
138122011-08-01 Tristan Gingold <gingold@adacore.com>
13813
13814 * seh_init.c: Fix SEH handler installation on win64.
13815
138162011-08-01 Ed Schonberg <schonberg@adacore.com>
13817
13818 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
13819 double analysis of an anonymous access to subprogram, because it can
13820 lead to improper sharing of profiles and a back-end crash.
13821
6a2e4f0b
AC
138222011-08-01 Robert Dewar <dewar@adacore.com>
13823
13824 * make.adb, sem_ch4.adb: Minor reformatting.
13825 * gcc-interface/Make-lang.in: Update dependencies.
13826 * sem_util.adb, exp_ch5.adb: Minor reformatting.
13827
138282011-08-01 Arnaud Charlet <charlet@adacore.com>
13829
13830 * gnat_rm.texi: Fix definition of Long_Integer.
13831
138322011-08-01 Ed Schonberg <schonberg@adacore.com>
13833
13834 * exp_aggr.adb: check limit size of static aggregate unconditionally,
13835 to prevent storage exhaustion.
13836 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
13837 finalized is a function body, insert the cleanup code before the final
13838 return statement, to prevent spurious warnings.
13839 * s-pooglo.ads: add overriding indicator.
13840
4561baf7
ES
138412011-08-01 Ed Schonberg <schonberg@adacore.com>
13842
13843 * sem_ch4.adb (Operator_Check): improve error message when both a
13844 with_clause and a use_clause are needed to make operator usage legal.
13845 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
13846 determine whether a compilation unit is visible within an other,
13847 either through a with_clause in the current unit, or a with_clause in
13848 its library unit or one one of its parents.
13849
383e179e
AC
138502011-08-01 Ed Schonberg <schonberg@adacore.com>
13851
13852 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
13853 over an arbitrary expression of an array or container type.
13854 * lib-xref.adb: clarify comment.
13855
138562011-08-01 Bob Duff <duff@adacore.com>
13857
13858 * einfo.ads: Minor reformatting.
13859 * debug.adb: Minor comment improvement.
13860
138612011-08-01 Javier Miranda <miranda@adacore.com>
13862
13863 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
13864 consider hidden subprograms as valid candidates.
13865
138662011-08-01 Arnaud Charlet <charlet@adacore.com>
13867
13868 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
13869
138702011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
13871
13872 * gnat_ugn.texi: Fix typo.
13873
61c161b2
AC
138742011-08-01 Robert Dewar <dewar@adacore.com>
13875
13876 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
13877 lib-xref.adb: Minor reformatting
13878
138792011-08-01 Gary Dismukes <dismukes@adacore.com>
13880
13881 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
13882 when to generate a call to Move_Final_List.
13883 (Has_Controlled_Parts): Remove this function.
13884
84df40f7
AC
138852011-08-01 Geert Bosch <bosch@adacore.com>
13886
13887 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
13888 "," in choice list.
13889
138902011-08-01 Thomas Quinot <quinot@adacore.com>
13891
13892 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
13893 explicit raise of a predefined exception as Comes_From_Source if the
13894 original N_Raise_Statement comes from source.
13895
138962011-08-01 Robert Dewar <dewar@adacore.com>
13897
13898 * sinfo.ads: Add comment.
13899 * sem_ch6.adb: Minor reformatting.
13900
139012011-08-01 Robert Dewar <dewar@adacore.com>
13902
13903 * freeze.adb (Freeze_Entity): Refine check for bad component size
13904 clause to avoid rejecting confirming clause when atomic/aliased present.
13905
139062011-08-01 Ed Schonberg <schonberg@adacore.com>
13907
13908 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
13909 better determine whether an entity reference is a write.
13910 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
13911 subcomponent.
13912 * lib-xref.adb (Output_References): Do no suppress a read reference at
13913 the same location as an immediately preceeding modify-reference, to
13914 handle properly in-out actuals.
13915
139162011-08-01 Tristan Gingold <gingold@adacore.com>
13917
13918 * env.c (__gnat_setenv) [VMS]: Refine previous change.
13919
139202011-08-01 Quentin Ochem <ochem@adacore.com>
13921
13922 * i-cstrin.adb (New_String): Changed implementation, now uses only the
13923 heap to compute the result.
13924
c7f0d2c0
AC
139252011-08-01 Robert Dewar <dewar@adacore.com>
13926
13927 * atree.ads: Minor reformatting.
13928
139292011-08-01 Emmanuel Briot <briot@adacore.com>
13930
13931 * g-expect.adb (Get_Command_Output): Fix memory leak.
13932
139332011-08-01 Geert Bosch <bosch@adacore.com>
13934
13935 * cstand.adb (P_Float_Type): New procedure to print the definition of
13936 predefined fpt types.
13937 (P_Mixed_Name): New procedure to print a name using mixed case
13938 (Print_Standard): Use P_Float_Type for printing floating point types
13939 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
13940 precision IEEE float.
13941
139422011-08-01 Thomas Quinot <quinot@adacore.com>
13943
13944 * sem_ch3.adb: Minor reformatting.
13945
139462011-08-01 Ed Schonberg <schonberg@adacore.com>
13947
13948 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
13949 the completion of a generic function, insert the new body rather than
13950 rewriting the original.
13951
139522011-08-01 Yannick Moy <moy@adacore.com>
13953
13954 * sinfo.ads, errout.ads: Typos in comments.
13955
1c54829e
AC
139562011-08-01 Robert Dewar <dewar@adacore.com>
13957
13958 * par-endh.adb: Minor reformatting.
13959
139602011-08-01 Robert Dewar <dewar@adacore.com>
13961
13962 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
13963 (Pre_Post_Aspects): New subtype.
13964 * par-ch12.adb (P_Generic): New syntax for aspects in packages
13965 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
13966 * par-ch7.adb (P_Package): Remove Decl parameter
13967 (P_Package): Handle new syntax for aspects (before IS)
13968 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
13969 new aspect syntax
13970 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
13971 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
13972 (P_Package): Remove Decl parameter
13973 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
13974 aspects
13975 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
13976 specs
13977 * sem_util.ads, sem_util.adb (Static_Boolean): New function
13978 * sinfo.ads: Document new syntax for aspects in packages etc.
13979 * sprint.adb: Handle new syntax of aspects before IS in package
13980
139812011-08-01 Thomas Quinot <quinot@adacore.com>
13982
13983 * atree.ads: Minor reformatting.
13984 * sem_prag.adb: Minor reformatting.
13985
139862011-08-01 Robert Dewar <dewar@adacore.com>
13987
13988 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
13989 case expr alternative.
13990
139912011-08-01 Ed Schonberg <schonberg@adacore.com>
13992
13993 * sem_ch12.adb: Fix typo.
13994
9eea4346
GB
139952011-08-01 Geert Bosch <bosch@adacore.com>
13996
13997 * sem_prag.adb (Check_No_Link_Name): New procedure.
13998 (Process_Import_Or_Interface): Use Check_No_Link_Name.
13999 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
14000 instead of Standard_Long_Long_Float_Size global. Preparation for
14001 eventual removal of per type constants.
14002 * exp_util.ads (Get_Stream_Size): New function returning the stream
14003 size value of subtype E.
14004 * exp_util.adb (Get_Stream_Size): Implement new function.
14005 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
14006 function.
14007 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
14008 * einfo.adb:
14009 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
14010
3d6c3bd7
GB
140112011-08-01 Geert Bosch <bosch@adacore.com>
14012
14013 * cstand.adb: Fix comments.
14014 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
14015 count of arguments.
14016
e7d897b8
AC
140172011-08-01 Robert Dewar <dewar@adacore.com>
14018
14019 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
14020
140212011-08-01 Geert Bosch <bosch@adacore.com>
14022
14023 * atree.ads: Fix comment.
14024
c228a069
AC
140252011-08-01 Robert Dewar <dewar@adacore.com>
14026
14027 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
14028 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
14029 * par.adb: Add with for Namet.Sp.
14030 * par-tchk.adb: Minor reformatting.
14031
140322011-08-01 Vincent Celier <celier@adacore.com>
14033
14034 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
14035 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
14036 of the init procedure of a SAL.
14037 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
14038 New procedure.
14039
140402011-08-01 Thomas Quinot <quinot@adacore.com>
14041
14042 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
14043 reformatting.
14044
140452011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14046
14047 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
14048
140492011-08-01 Thomas Quinot <quinot@adacore.com>
14050
14051 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
14052 conformant with its spec (return True only for types that have
14053 an overriding Initialize primitive operation that prevents them from
14054 having preelaborable initialization).
14055 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
14056 initialization for controlled types in Ada 2005 or later mode.
14057
857ade1b
RD
140582011-08-01 Robert Dewar <dewar@adacore.com>
14059
14060 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
14061 Postcondition.
14062 (Same_Aspect): New function.
14063 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
14064 Type_Invariant, Precondition, Postcondition.
14065 * snames.ads-tmpl: Add Name_Type_Invariant.
14066
bd949ee2
RD
140672011-08-01 Robert Dewar <dewar@adacore.com>
14068
14069 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
14070 here.
14071 (Freeze_All_Ent): Fix error in handling inherited aspects.
14072 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
14073 already analyzed, but don't skip entire processing of a declaration,
14074 that's wrong in some cases of declarations being rewritten.
14075 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
14076 Don't delay for integer, string literals
14077 Treat predicates in usual manner for delay, remove special case code,
14078 not needed.
14079 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
14080 (Build_Predicate_Function): Update saved expression in aspect
14081 (Build_Invariant_Procedure): Update saved expression in aspect
14082 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
14083 of replacement of discriminant references if the reference is simple.
14084
f1c952af
RD
140852011-08-01 Robert Dewar <dewar@adacore.com>
14086
14087 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
14088 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
14089 Static_Predicate and Dynamic_Predicate.
14090 (Build_Predicate_Function): Add processing for Static_Predicate
14091 and Dynamic_Predicate.
14092 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
14093 (From_Static_Predicate): New flag
14094 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
14095
140962011-08-01 Robert Dewar <dewar@adacore.com>
14097
14098 * usage.adb: Documentation cleanup for Ada version modes in usage.
14099 * expander.adb: Minor reformatting.
14100
47e11d08
AC
141012011-08-01 Robert Dewar <dewar@adacore.com>
14102
14103 * atree.ads: Minor comment fix.
14104 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
14105 a-witeio.ads, sem_prag.adb: Minor reformatting.
14106
141072011-08-01 Doug Rupp <rupp@adacore.com>
14108
14109 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
14110 pointers. Use descrip.h header file for convenience. Add some
14111 comments.
14112
141132011-08-01 Robert Dewar <dewar@adacore.com>
14114
14115 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
14116 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
14117 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
14118 New procedure.
14119 (Check_Aspect_At_End_Of_Declarations): New procedure
14120 (Analye_Aspect_Specification): Minor changes for above procedures
14121 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
14122 specification node as well.
14123
141242011-08-01 Pascal Obry <obry@adacore.com>
14125
14126 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
14127 Windows files. Use GetFilesAttributes() in this case to check for file
14128 existence instead of returning with an error code.
14129
a3a16b21
VC
141302011-08-01 Vincent Celier <celier@adacore.com>
14131
14132 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
14133 High is above Source length.
14134
ff58cc69
RD
141352011-08-01 Robert Dewar <dewar@adacore.com>
14136
14137 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
14138
6bb88533
AC
141392011-08-01 Robert Dewar <dewar@adacore.com>
14140
14141 * aspects.ads (Boolean_Aspects): New subtype.
14142 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
14143 for derived types in cases where the parent type and derived type have
14144 aspects.
14145 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
14146 with aspects when parent type also has aspects.
14147 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
14148 boolean expression at this point).
14149 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
14150 accordance with final decision on the Ada 2012 feature.
14151 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
14152
141532011-08-01 Matthew Heaney <heaney@adacore.com>
14154
14155 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
14156
060a3f28
AC
141572011-08-01 Pascal Obry <obry@adacore.com>
14158
14159 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
14160 Fix Replace_Slice when High is above current string size.
14161 (Replace_Slice): Fix DL computation when High is above current
14162 string length.
14163
141642011-08-01 Gary Dismukes <dismukes@adacore.com>
14165
14166 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
14167
e7f567a3
AC
141682011-08-01 Matthew Heaney <heaney@adacore.com>
14169
14170 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
14171 of node.
14172
141732011-08-01 Pascal Obry <obry@adacore.com>
14174
14175 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
14176 reformatting.
14177
1a265e78
AC
141782011-08-01 Ed Schonberg <schonberg@adacore.com>
14179
14180 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
14181 access to protected subprograms in generic bodies.
14182 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
14183 protected type, indicate that the convention of the subprogram is
14184 Convention_Protected, because it may be used in subsequent declarations
14185 within the protected declaration.
14186
141872011-08-01 Vincent Celier <celier@adacore.com>
14188
14189 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
14190 and "final" procedures when the name of the library is "ada", to avoid
14191 duplicate symbols "adainit" and "adafinal" in executables.
14192
67e28ef8
ES
141932011-08-01 Ed Schonberg <schonberg@adacore.com>
14194
14195 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
14196 quantified expression that appears within a postcondition and uses the
14197 Ada2012 'Result attribute.
14198
6da2ca7d
RO
141992011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14200
14201 * init.c (__gnat_error_handler): Cast reason to int.
14202 (__gnat_install_handler): Explain sa_sigaction use.
14203
7d5997c6
EB
142042011-07-24 Eric Botcazou <ebotcazou@adacore.com>
14205
14206 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
14207 subprogram has copy-in copy-out parameters, try to promote the mode of
14208 the return type if it is passed in registers.
14209
4b4cfdd5
EB
142102011-07-24 Eric Botcazou <ebotcazou@adacore.com>
14211
14212 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
14213 left operand as addressable.
14214
f3d34576
EB
142152011-07-24 Eric Botcazou <ebotcazou@adacore.com>
14216
14217 * gcc-interface/gigi.h (build_function_stub): Remove.
14218 (build_return_expr): Likewise.
14219 (convert_vms_descriptor): Declare.
14220 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
14221 (build_function_stub): Move to...
14222 * gcc-interface/utils2.c (build_return_expr): Move to...
14223 * gcc-interface/trans.c (build_function_stub): ...here.
14224 (build_return_expr): ...here.
14225 (Subprogram_Body_to_gnu): Add local variable for language_function.
14226 Disconnect the parameter attributes cache, if any, once done with it.
14227 Call end_subprog_body only after setting the end_locus.
14228 Build the stub associated with the function, if any, at the very end.
14229 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
14230 variables and streamline control flow.
14231
0a6ecc08
AC
142322011-07-23 Arnaud Charlet <charlet@adacore.com>
14233
14234 PR ada/49819
14235 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
14236 g-trasym-dwarf.adb.
14237
5b6d595b
RO
142382011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14239
14240 PR bootstrap/49794
14241 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
14242 Assign to act.sa_sigaction.
14243 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
14244 current->return_address to char * before arithmetic.
14245
94017021
RO
142462011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14247
14248 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
14249 Correct argument types.
14250 Extract code from reason.
14251 (__gnat_install_handler): Assign to act.sa_sigaction.
14252
52fd02bb
EB
142532011-07-21 Eric Botcazou <ebotcazou@adacore.com>
14254
14255 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
14256 (GNAT1_OBJS): ...here.
14257
f39a9ca2
EB
142582011-07-15 Eric Botcazou <ebotcazou@adacore.com>
14259
14260 PR ada/48711
14261 * g-socthi-mingw.adb (Fill): Fix formatting.
14262
9e36aa23
EB
14263 * gcc-interface/gigi.h: Move around comment.
14264
e3aca522
JDA
142652011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14266
14267 PR ada/46350
14268 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
14269
696b1960
FW
142702011-07-14 Florian Weimer <fw@deneb.enyo.de>
14271
14272 PR ada/48711
14273 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
14274
f542c405
EB
142752011-07-13 Eric Botcazou <ebotcazou@adacore.com>
14276
14277 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
14278 range comparison if Pmode is SImode.
14279
9e9bd455
LG
142802011-07-12 Laurent GUERBY <laurent@guerby.net>
14281 Eric Botcazou <ebotcazou@adacore.com>
14282
14283 * adadecode.c: Wrap up in extern "C" block.
14284 * adadecode.h: Likewise.
14285 * adaint.c: Likewise. Remove 'const' keyword.
14286 * adaint.h: Likewise.
14287 * argv.c: Likewise.
14288 * atree.h: Likewise.
14289 * cio.c: Likewise.
14290 * cstreams.c: Likewise.
14291 * env.c: Likewise.
14292 * exit.c: Likewise.
14293 * fe.h: Likewise.
14294 * final.c: Likewise.
14295 * init.c: Likewise.
14296 * initialize.c: Likewise.
14297 * link.c: Likewise.
14298 * namet.h: Likewise.
14299 * nlists.h: Likewise.
14300 * raise.c: Likewise.
14301 * raise.h: Likewise.
14302 * repinfo.h: Likewise.
14303 * seh_init.c: Likewise.
14304 * targext.c: Likewise.
14305 * tracebak.c: Likewise.
14306 * uintp.h: Likewise.
14307 * urealp.h: Likewise.
14308 * xeinfo.adb: Wrap up generated C code in extern "C" block.
14309 * xsinfo.adb: Likewise.
14310 * xsnamest.adb: Likewise.
14311 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
14312 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
14313 * gcc-interface/misc.c: Likewise.
14314 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
14315 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
14316 ada/targext.o here...
14317 (GNAT_ADA_OBJS): ...and not here.
14318 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
14319 (GNATBIND_OBJS): Reorder.
14320
7644b3c7
RH
143212011-07-07 Richard Henderson <rth@redhat.com>
14322
14323 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
14324 dwarf2out_frame_init.
14325
8384ac41
EB
143262011-07-07 Eric Botcazou <ebotcazou@adacore.com>
14327
14328 * gcc-interface/misc.c (gnat_init): Tweak previous change.
14329
fbdd5d87
RO
143302011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14331
14332 PR target/39150
14333 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
14334
1a072294
RG
143352011-07-06 Richard Guenther <rguenther@suse.de>
14336
8384ac41
EB
14337 * gcc-interface/misc.c (gnat_init): Merge calls to
14338 build_common_tree_nodes and build_common_tree_nodes_2.
1a072294
RG
14339 Re-initialize boolean_false_node.
14340
bc712852
EB
143412011-07-02 Eric Botcazou <ebotcazou@adacore.com>
14342 Olivier Hainque <hainque@adacore.com>
14343 Nicolas Setton <setton@adacore.com>
14344
14345 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
14346 the type according to the ARTIFICIAL_P parameter.
14347 (create_type_decl): Likewise.
14348 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
14349
2eb22389
EB
143502011-07-01 Eric Botcazou <ebotcazou@adacore.com>
14351
14352 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
14353 (gnatbind): Likewise.
14354
4bdaaf2f
RO
143552011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14356
14357 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
14358
c020c92b
EB
143592011-06-18 Eric Botcazou <ebotcazou@adacore.com>
14360
14361 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
14362 local variable throughout. Remove useless call to Base_Type.
14363 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
14364 Take it also into account for the volatileness of the field. Set the
14365 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
14366
96769d32
EB
143672011-06-18 Eric Botcazou <ebotcazou@adacore.com>
14368
14369 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
14370 on a dereference built for a by-ref object if it has an address clause.
14371
7e4680c1
EB
143722011-06-18 Eric Botcazou <ebotcazou@adacore.com>
14373
14374 * einfo.ads (Address_Taken): Document use for the second argument of
14375 Asm_Input and Asm_Output attributes.
14376 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
14377 argument is an entity name, then set Address_Taken on it.
14378 <Attribute_Asm_Output>: Likewise.
14379 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
14380 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
14381 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
14382 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
14383
143842011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
d5cc9181
JR
14385
14386 PR middle-end/46500
14387 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
14388
677f3fa8
JM
143892011-06-14 Joseph Myers <joseph@codesourcery.com>
14390
14391 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
14392 (ada/utils.o): Update dependencies.
14393 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
14394 ../../../libcpp/libcpp.a.
14395 * gcc-interface/utils.c: Include common/common-target.h.
14396 (process_attributes): Use targetm_common.have_named_sections.
14397
009db074
RG
143982011-06-07 Richard Guenther <rguenther@suse.de>
14399
0bad0e23
EB
14400 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
14401 set_sizetype.
009db074 14402
3bfc61cf
EB
144032011-06-06 Eric Botcazou <ebotcazou@adacore.com>
14404
0bad0e23 14405 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
3bfc61cf
EB
14406 TREE_THIS_NOTRAP flag.
14407
5c4a1c7b
EB
144082011-06-06 Eric Botcazou <ebotcazou@adacore.com>
14409
14410 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
14411 Fix thinko.
14412
e9f57686
EB
144132011-06-06 Eric Botcazou <ebotcazou@adacore.com>
14414
14415 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
14416 constants whose full view has discriminants specially.
14417
10e4d056
EB
144182011-06-06 Eric Botcazou <ebotcazou@adacore.com>
14419
14420 * gcc-interface/utils.c: Include diagnostic.h.
14421 (gnat_write_global_declarations): Output debug information for all
14422 global type declarations before finalizing the compilation unit.
14423 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
14424
0957c029
JJ
144252011-05-25 Jakub Jelinek <jakub@redhat.com>
14426
14427 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
14428
52d0a7ac
KT
144292011-05-25 Kai Tietz <ktietz@redhat.com>
14430
14431 * adaint.c (__gnat_to_canonical_file_list_next): Use array
14432 initialization instead of const/none-const pointer assignment.
14433
1ed1641d
JM
144342011-05-24 Joseph Myers <joseph@codesourcery.com>
14435
14436 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
14437 $(EXTRA_GNAT1_OBJS).
14438 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
14439 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
14440 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
14441 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
14442 libcommon-target.a instead of prefix.o.
14443
9fe72ebd
JM
144442011-05-21 Joseph Myers <joseph@codesourcery.com>
14445
14446 PR ada/49097
0bad0e23 14447 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
9fe72ebd 14448
2691e6d7
JM
144492011-05-20 Joseph Myers <joseph@codesourcery.com>
14450
0bad0e23
EB
14451 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
14452 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
14453 instead of version.o.
2691e6d7 14454
bf6490b5
KT
144552011-05-18 Kai Tietz <ktietz@redhat.com>
14456
14457 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
14458 boolean_false_node instead of integer_zero_node.
14459 (convert_with_check): Likewise.
14460 * gcc-interface/decl.c (choices_to_gnu): Likewise.
14461
7bf9a5ac
EB
144622011-05-12 Eric Botcazou <ebotcazou@adacore.com>
14463
14464 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
14465 type of the parameter is an unconstrained array, convert the actual to
14466 the type of the formal in the In Out and Out cases as well.
14467
e5b00edf
NF
144682011-05-11 Nathan Froyd <froydnj@codesourcery.com>
14469
14470 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
14471 call build_function_type_array or build_varargs_function_type_array
14472 instead.
14473 (create_subprog_type): Don't call build_function_type; call
14474 build_function_type_vec instead.
14475
51545682
NF
144762011-05-11 Nathan Froyd <froydnj@codesourcery.com>
14477
14478 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
14479 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
14480 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
14481
c99c0026
EB
144822011-05-07 Eric Botcazou <ebotcazou@adacore.com>
14483
f620bd21
EB
14484 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
14485
c99c0026
EB
14486 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
14487 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
14488
3d528853
NF
144892011-05-05 Nathan Froyd <froydnj@codesourcery.com>
14490
c99c0026 14491 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
3d528853 14492
d7d058c5
NF
144932011-05-05 Nathan Froyd <froydnj@codesourcery.com>
14494
14495 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
14496 instead of accessing TYPE_ARG_TYPES directly.
14497 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
14498
805e60a0
EB
144992011-05-05 Eric Botcazou <ebotcazou@adacore.com>
14500
14501 PR ada/48844
14502 * gcc-interface/gigi.h (get_variant_part): Declare.
14503 * gcc-interface/decl.c (get_variant_part): Make global.
14504 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
14505 types have the same constant size, are record types and T1 has a
14506 variant part while T2 doesn't.
14507
907a08d9
EB
145082011-05-05 Eric Botcazou <ebotcazou@adacore.com>
14509
14510 * gcc-interface/utils.c (begin_subprog_body): Do not call
14511 get_pending_sizes.
14512 (end_subprog_body): Likewise.
14513
d35936ab
RG
145142011-05-04 Richard Guenther <rguenther@suse.de>
14515
14516 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
14517 int_const_binop.
14518 (pos_to_constructor): Likewise.
14519
c1fd8753 145202011-05-03 Nathan Froyd <froydnj@codesourcery.com>
2c7f9cc0 14521 Eric Botcazou <ebotcazou@adacore.com>
c1fd8753
NF
14522
14523 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
14524 of build_function_type. Adjust calls to...
14525 (build_raise_check): ...this. Do not take a void_tree parameter.
14526 Call build_function_type_list instead of build_function_type.
14527 Fix head comment and swap couple of conditional blocks.
14528
4fb87d2b
EB
145292011-04-30 Eric Botcazou <ebotcazou@adacore.com>
14530
14531 * gnatvsn.ads (Library_Version): Bump to 4.7.
14532 (Current_Year): Bump to 2011.
14533
fa5e5a76
MM
145342011-04-29 Michael Matz <matz@suse.de>
14535
14536 * gcc-interface/misc.c (gnat_handle_option): Set
14537 warn_maybe_uninitialized.
14538
8d6a2f69
GP
145392011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
14540
14541 * gnat_ugn.texi (Complexity Metrics Control): Update link to
14542 the Watson/McCabe paper.
14543
770937fd
JM
145442011-04-23 Jim Meyering <meyering@redhat.com>
14545
14546 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
14547
eb601ae1
EB
145482011-04-22 Eric Botcazou <ebotcazou@adacore.com>
14549
14550 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
14551 onto the new type.
14552
7d7fcb08
EB
145532011-04-22 Eric Botcazou <ebotcazou@adacore.com>
14554
14555 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
14556 parameter.
14557 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
14558 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
14559 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
14560 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
14561 <all>: Do not set flags on the reused DECL node coming from an alias.
14562 Set DECL_IGNORED_P on the DECL node built for subprograms if they
14563 don't need debug info here...
14564 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
14565 (gigi): Adjust calls to create_subprog_decl.
14566 (build_raise_check): Likewise.
14567 (establish_gnat_vms_condition_handler): Likewise.
14568 (Compilation_Unit_to_gnu): Likewise.
14569 (gnat_to_gnu): Likewise.
14570
e1876cac
EB
145712011-04-21 Eric Botcazou <ebotcazou@adacore.com>
14572
14573 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
14574 (NO_REORDER_ADAFLAGS): New variable.
14575 (EXTRA_GNATTOOLS): Always define.
14576 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
14577 Clean up and adjust list of files compiled with special options.
14578 * gcc-interface/Make-lang.in: Likewise.
14579 (ada/decl.o): Cosmetical change.
14580 (ada/misc.o): Remove dependency on $(PLUGIN_H).
14581
04695783
JM
145822011-04-20 Jim Meyering <meyering@redhat.com>
14583
14584 * initialize.c (__gnat_initialize): Remove useless if-before-free.
14585
23399579
EB
145862011-04-17 Eric Botcazou <ebotcazou@adacore.com>
14587
14588 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
14589 $(CFLAGS) on the link line.
14590
51c5169c
EB
145912011-04-17 Eric Botcazou <ebotcazou@adacore.com>
14592
14593 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
14594 padded type built for the return type if it is unconstrained.
14595
61e46a7d
NF
145962011-04-14 Nathan Froyd <froydnj@codesourcery.com>
14597
14598 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
14599
81f653d6
NF
146002011-04-12 Nathan Froyd <froydnj@codesourcery.com>
14601
b4867846
EB
14602 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
14603 before calling TREE_CHAIN.
81f653d6
NF
14604 * gcc-interface/misc.c (gnat_init_ts): New function.
14605 (LANG_HOOKS_INIT_TS): Define.
14606
a358e188
MJ
146072011-04-12 Martin Jambor <mjambor@suse.cz>
14608
b4867846
EB
14609 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
14610 instead of cgraph_node.
a358e188 14611
29b1c5a4
EB
146122011-04-08 Eric Botcazou <ebotcazou@adacore.com>
14613
14614 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
14615 alignment on fields of the RETURN type built for the Copy-In Copy-Out
14616 mechanism.
14617
88872b00
EB
146182011-04-08 Eric Botcazou <ebotcazou@adacore.com>
14619
14620 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
14621 of aggregate types that contain a placeholder.
14622
dcf0c47e
NF
146232011-04-08 Nathan Froyd <froydnj@codesourcery.com>
14624
14625 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
b4867846 14626 TYPE_ARG_TYPES.
dcf0c47e
NF
14627 (handle_type_generic_attribute): Likewise.
14628
53e3000c
EB
146292011-04-04 Eric Botcazou <ebotcazou@adacore.com>
14630
14631 PR ada/47163
14632 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
14633
ab380bb4
KT
146342011-04-04 Kai Tietz <ktietz@redhat.com>
14635
14636 PR ada/47163
0bad0e23
EB
14637 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
14638 to flag value.
ab380bb4 14639
8ffac116
EB
146402011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14641
14642 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
14643 type case, do not strip a padding type around the array type.
14644
de9528f0
EB
146452011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14646
14647 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
14648 types.
14649
d9d7a26c
EB
146502011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14651
14652 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
14653 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
de9528f0 14654 code for -feliminate-unused-debug-types.
d9d7a26c
EB
14655 (gnat_post_options): Likewise.
14656
4cb12a90
EB
146572011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14658
14659 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
14660 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
14661 distinct copy.
14662
acccc61c
EB
146632011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14664
14665 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
14666 DECL_ARTIFICIAL flag on enumeration types.
14667
583eb0c9
EB
146682011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14669
14670 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
14671 fat pointer types artificial unconditionally.
14672 <E_Array_Subtype>: Attach the base array type as a parallel type if it
14673 isn't artificial.
14674
e3edbd56
EB
146752011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14676
14677 * gcc-interface/gigi.h (get_dummy_type): Declare.
14678 (build_dummy_unc_pointer_types): Likewise.
14679 (finish_fat_pointer_type): Likewise.
14680 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
14681 fat pointer type has been built, complete it in place.
14682 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
14683 and thin pointers. Remove useless variable.
14684 (finish_fat_pointer_type): Make global and move to...
14685 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
14686 (get_dummy_type): New function.
14687 (build_dummy_unc_pointer_types): Likewise.
14688 (gnat_pushdecl): Propage the name to the anonymous variants only.
14689 (update_pointer_to): Only adjust the pointer types in the unconstrained
14690 array case.
14691
65444786
EB
146922011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14693
14694 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
14695 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
14696 if this is a Taft amendment type and the full declaration is available.
14697 * gcc-interface/trans.c (process_type): Likewise.
14698 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
14699 (process_freeze_entity): Likewise.
14700 * gcc-interface/utils.c (dummy_global): New static variable.
14701 (gnat_write_global_declarations): If there are types declared as used
14702 at the global level, insert them in the global hash table.
14703
1aeb40dd
EB
147042011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14705
14706 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
14707 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
14708 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
14709 copy.
14710 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
14711 flag of the type accordingly.
14712 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
14713
80ec8b4c
EB
147142011-04-02 Eric Botcazou <ebotcazou@adacore.com>
14715
14716 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
14717 finalizing types when updating the pointers to the designated type.
14718 <all>: Finalize the deferred types even if we didn't defer processing
14719 of incomplete types in this invocation.
14720
2a9d769a 147212011-04-01 Olivier Hainque <hainque@adacore.com>
2c7f9cc0
AS
14722 Nicolas Setton <setton@adacore.com>
14723 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
14724
14725 * gcc-interface/misc.c (gnat_descriptive_type): New function.
14726 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
14727
2438d7a6
KT
147282011-03-28 Kai Tietz <ktietz@redhat.com>
14729
333d8aff 14730 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
80ec8b4c
EB
14731 Windows targets.
14732 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
14733 * system-mingw.ads (System): Change ZCX_By_Default default to True.
333d8aff 14734
80ec8b4c 14735 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
2438d7a6 14736
8ad150f6
TG
147372011-03-28 Tristan Gingold <gingold@adacore.com>
14738
14739 PR ada/44431
80ec8b4c
EB
14740 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
14741 Use ada output of gnatbind.
8ad150f6
TG
14742 (ada/b_gnatb.adb): Ditto.
14743 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
14744 (ada.mostlyclean, ada.stage1)
14745 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
14746 (ada.stagefeedback): Adjust.
80ec8b4c 14747 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
8ad150f6
TG
14748 Use ada output of gnatbind.
14749 (b_gnatm.adb): Ditto.
14750 (b_gnatl.o, b_gnatm.o): New rules.
14751
51c7954d
EB
147522011-03-26 Eric Botcazou <ebotcazou@adacore.com>
14753
14754 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
14755 for the padded type built to support a specified size or alignment.
14756
6ddf9843
EB
147572011-03-26 Eric Botcazou <ebotcazou@adacore.com>
14758
14759 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
14760 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
14761 unconditionally to the end of the unit when the designated type is
14762 limited_with'ed.
14763 <all>: Rename local variable. Attempt to un-defer types only and do it
14764 for limited_with'ed types as well.
14765 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
14766 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
14767 consistently and remove redundant call to finalize_from_with_types.
14768
5daed84a
EB
147692011-03-26 Eric Botcazou <ebotcazou@adacore.com>
14770
14771 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
14772 subprograms without a previous spec declared in the same unit.
14773 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
14774 subprograms at the end of the unit instead of at the beginning.
14775 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
14776 isn't public for the special handling of non-inline functions nested
14777 inside inline external functions.
14778
0edf1bb2
JL
147792011-03-25 Jeff Law <law@redhat.com>
14780
5daed84a 14781 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
0edf1bb2 14782
e3c4580e
EB
147832011-03-24 Eric Botcazou <ebotcazou@adacore.com>
14784
14785 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
14786 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
14787 to compute Set_Size_Depends_On_Discriminant.
14788 (Layout_Type): Call it on array types in back-end layout mode.
14789 * sem_util.adb (Requires_Transient_Scope): Return true for array
14790 types only if the size depends on the value of discriminants.
14791 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
14792 type if the RHS is a call to a function that returns an unconstrained
14793 type with default discriminant.
14794
abbc8c7b
EB
147952011-03-24 Eric Botcazou <ebotcazou@adacore.com>
14796
14797 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
14798 non-conversion to the nominal result type at the end.
14799
ddb5a105
EB
148002011-03-23 Eric Botcazou <ebotcazou@adacore.com>
14801
14802 * gcc-interface/trans.c (create_temporary): New function taken from...
14803 (create_init_temporary): ...here. Call it.
14804 (call_to_gnu): Create the temporary for the return value early, if any.
14805 Create it for a function with copy-in/copy-out parameters if there is
14806 no target; in other cases of copy-in/copy-out, use another temporary.
14807 Push the new binding level lazily. Add and rename local variables.
14808
0d853156
EB
148092011-03-23 Eric Botcazou <ebotcazou@adacore.com>
14810
14811 * gcc-interface/decl.c (validate_size): Improve comments and tweak
14812 error message.
14813 (set_rm_size): Likewise.
14814
4184ef1b
EB
148152011-03-23 Eric Botcazou <ebotcazou@adacore.com>
14816
14817 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
14818 for the padded type built in order to support a specified alignment.
14819 Fix incorrect formatting.
14820
bf7eefab
EB
148212011-03-21 Eric Botcazou <ebotcazou@adacore.com>
14822
14823 PR bootstrap/48216
14824 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
14825
ef0feeb2
EB
148262011-03-21 Eric Botcazou <ebotcazou@adacore.com>
14827
14828 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
14829 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
14830 to the end of the list. Adjust recursive call. Rename local variable.
14831 If REORDER is true, reorder components of the record type.
14832 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
14833 components_to_record and adjust the parameter list.
14834
646f9414
EB
148352011-03-21 Eric Botcazou <ebotcazou@adacore.com>
14836
14837 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
14838 disabled, use the variable for bounds of loop iteration scheme.
14839
62d784f7
KT
148402011-03-21 Kai Tietz <ktietz@redhat.com>
14841
14842 PR target/12171
0bad0e23 14843 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
62d784f7 14844
f230d759
EB
148452011-03-17 Eric Botcazou <ebotcazou@adacore.com>
14846
14847 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
14848 out whether the expression is read-only. Short-circuit placeholder
14849 case and rename a couple of local variables.
14850
bb1f7929
EB
148512011-03-17 Eric Botcazou <ebotcazou@adacore.com>
14852
14853 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
14854 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
14855 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
14856 (convert): Deal with conversions from a smaller form type specially.
14857
400a2d24
EB
148582011-02-14 Eric Botcazou <ebotcazou@adacore.com>
14859
14860 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
14861 its argument, except for the special -I- switch.
14862
c26bc3ad
GP
148632011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
14864
0bad0e23
EB
14865 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
14866 "Ada Issues".
c26bc3ad 14867
07b8e910
EB
148682011-02-08 Eric Botcazou <ebotcazou@adacore.com>
14869
14870 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
14871
31a5a547
EB
148722011-02-03 Eric Botcazou <ebotcazou@adacore.com>
14873
14874 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
14875 GNAT_FORMAL.
14876 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
14877 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
14878 instead of GNAT_FORMAL. Protect the expression against multiple uses.
14879 Do not generate the check directly, instead instantiate the template
14880 check present in the descriptor.
14881 (make_descriptor_field): Move around.
14882 (build_vms_descriptor32): Build a template check in the POINTER field.
14883 (build_vms_descriptor): Remove useless suffixes.
14884 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
14885
dcf25f59
EB
148862011-01-26 Eric Botcazou <ebotcazou@adacore.com>
14887
14888 PR bootstrap/47467
14889 * targext.c: Include target files if IN_RTS is defined.
14890
0418e131
RG
148912011-01-26 Richard Guenther <rguenther@suse.de>
14892
14893 PR bootstrap/47467
14894 * targext.c: Include config.h.
14895 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
14896 dependency.
14897
c6eecbd8 148982011-01-04 Pascal Obry <obry@adacore.com>
2c7f9cc0 14899 Eric Botcazou <ebotcazou@adacore.com>
c6eecbd8
PO
14900
14901 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
14902
2d3c7e4f
EB
149032011-01-04 Eric Botcazou <ebotcazou@adacore.com>
14904
14905 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
14906 end-of-case on the end label and its associated gotos, if any.
14907
0394741f
EB
149082011-01-04 Eric Botcazou <ebotcazou@adacore.com>
14909
14910 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
14911 expressions of the parameter cache within the statement group of
14912 the CICO mechanism.
14913
2a02d090 149142011-01-04 Olivier Hainque <hainque@adacore.com>
2c7f9cc0 14915 Eric Botcazou <ebotcazou@adacore.com>
2a02d090
OH
14916
14917 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
14918 (set_end_locus_from_node): New function.
14919 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
14920 make and the function end_locus.
14921 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
14922 for the elaboration subprogram.
14923 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
14924 set the end_locus of the expression as well.
14925
89f5e978
EB
149262011-01-04 Eric Botcazou <ebotcazou@adacore.com>
14927
14928 PR ada/47131
14929 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
14930 variables that are referenced in exception handlers volatile.
14931
14932
ad41bd84 14933\f
797103eb 14934Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
14935
14936Copying and distribution of this file, with or without modification,
14937are permitted in any medium without royalty provided the copyright
14938notice and this notice are preserved.
This page took 2.316442 seconds and 5 git commands to generate.