]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
2012-10-02 Vincent Pucci <pucci@adacore.com>
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
3b045963 12012-10-02 Vincent Pucci <pucci@adacore.com>
2
3 * sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension
4 analysis for indexed components added.
5 * sem_ch6.adb (Analyze_Function_Call): Dimension propagation
6 for function calls added.
7 * sem_dim.adb (Analyze_Dimension): Call to
8 Analyze_Dimension_Has_Etype when N is a function call.
9 (Analyze_Dimension_Call): Don't propagate anymore the dimensions
10 for function calls since this is now treated separately in
11 Analyze_Dimension_Has_Etype.
12 (Analyze_Dimension_Has_Etype): For
13 attribute references, propagate the dimensions from the prefix.
14 * sem_dim.ads (Copy_Dimensions): Fix comment.
15
162012-10-02 Hristian Kirtchev <kirtchev@adacore.com>
17
18 * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
19 (Apply_Parameter_Aliasing_And_Validity_Checks): This routine
20 has been split into two.
21 (Apply_Parameter_Validity_Checks): New routine.
22 * exp_ch6.adb (Expand_Call): Add checks to verify that actuals
23 do not overlap. The checks are made on the caller side to overcome
24 issues of parameter passing mechanisms.
25 * freeze.adb (Freeze_Entity): Update call to
26 Apply_Parameter_Aliasing_And_Validity_Checks.
27
c9e56837 282012-10-02 Ed Schonberg <schonberg@adacore.com>
29
30 * sem_ch4.adb (Is_Empty_Range): Use bounds of index type
31 to determine whether an array is empty when optimizing
32 a quantified expression over a null range. Use of RM_Size
33 was incorrect. Analyze condition before constant-folding the
34 expression to catch potential errors. Modify the error message
35 to avoid mathematical terminology.
36
df7590c5 372012-10-02 Robert Dewar <dewar@adacore.com>
38
39 * usage.adb, gnat_rm.texi, vms_data.ads: Add entry for
40 /OVERFLOW_CHECKS=?? generating -gnato?? for control
41 of extended overflow checking.
42 * ug_words: Add entry for -gnato?? for /OVERFLOW_CHECKS=??
43 * gnat_ugn.texi: Add documentation for -gnato?? for control of overflow
44 checking mode.
45
462012-10-02 Ed Schonberg <schonberg@adacore.com>
47
48 * sem_ch4.adb (Analyze_Quantified_Expression): If the iterator in
49 a quantified expression is statically known to be null (e.g. a
50 array with an empty index type) emit a warning.
51
61016a7a 522012-10-02 Robert Dewar <dewar@adacore.com>
53
54 * sem_dim.adb: Minor code reorganization.
55 * sem_dim.ads: Add comment.
56
572012-10-02 Robert Dewar <dewar@adacore.com>
58
59 * checks.ads, exp_ch4.adb, checks.adb
60 (Minimize_Eliminate_Overflow_Checks): Add Top_Level parameter to avoid
61 unnecessary conversions to Bignum.
62 Minor reformatting.
63
642012-10-02 Ed Schonberg <schonberg@adacore.com>
65
66 * sem_ch6.adb (Process_PPCs): Generate invariant checks for a
67 return value whose type is an access type and whose designated
68 type has invariants. Ditto for in-out parameters and in-parameters
69 of an access type.
70 * exp_ch3.adb (Build_Component_Invariant_Call): Add invariant check
71 for an access component whose designated type has invariants.
72
cf4089a8 732012-10-01 Vincent Pucci <pucci@adacore.com>
74
75 * sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.
76 (Resolve_Record_Aggregate): New_Copy_Tree calls replaced by
77 New_Copy_Tree_And_Copy_Dimensions calls. Move_Dimensions call
78 replaced by Copy_Dimensions call.
79 * sem_dim.adb (Analyze_Dimension_Component_Declaration): Don't
80 remove the dimensions of expression in component declaration anymore.
81 (Copy_Dimensions): New routine.
82 (Move_Dimensions): Add call to Copy_Dimensions.
83 * sem_dim.ads (Copy_Dimensions): New routine.
84 (Move_Dimensions): Spec moved to body of Sem_Dim.
85
e6281d47 862012-10-01 Ed Schonberg <schonberg@adacore.com>
87
88 * checks.adb (Apply_Predicate_Check): If the predicate is a
89 static one and the operand is static, evaluate the predicate at
90 compile time.
91 * sem_eval.ads, sem_eval.adb (Eval_Static_Predicate_Check): new
92 procedure, to evaluate a static predicate check whenever possible.
93 * sem_res.adb (Resolve_Type_Conversion): Apply predicate check
94 on the conversion if the target type has predicates.
95
962012-10-01 Vincent Pucci <pucci@adacore.com>
97
98 * sem_dim.adb (Has_Symbols): Complain if parameter Symbol has been
99 provided by the user in the dimension output call.
100
2fe22c69 1012012-10-01 Robert Dewar <dewar@adacore.com>
102
103 * checks.adb (Apply_Divide_Checks): New name for
104 Apply_Divide_Check (Minimize_Eliminate_Overflow_Checks):
105 Add code to handle division (and rem and mod) properly.
106 (Apply_Division_Check): New procedure (Apply_Divide_Checks):
107 Use Apply_Division_Check (Apply_Divide_Checks): Use
108 Apply_Arithmetic_Overflow_Minimized_Eliminated.
109 * checks.ads (Apply_Divide_Checks): New name for
110 Apply_Divide_Check, also add clearer documentation for this
111 routine and put in alfa order.
112 * exp_ch4.adb (Apply_Divide_Checks): New name for
113 Apply_Divide_Check.
114 * s-bignum.adb (To_Bignum): Handle largest negative integer
115 properly.
116 * sem.adb (Analyze): Handle overflow suppression correctly
117 (Analyze_List): Handle overflow suppression correctly
118 * sem_res.adb (Analyze_And_Resolve): Handle overflow suppression
119 correctly.
120
1212012-10-01 Vasiliy Fofanov <fofanov@adacore.com>
122
123 * s-oscons-tmplt.c, g-socket.ads: Revert previous change, breaks VMS.
124
de922300 1252012-10-01 Robert Dewar <dewar@adacore.com>
126
127 * checks.adb (Minimize_Eliminate_Overflow_Checks): Changes
128 for exponentiation.
129 * exp_ch4.adb (Expand_N_Op_Expon): Changes for Minimize/Eliminate
130 overflow checks.
131 * s-bignum.adb (Compare): Fix bad precondition.
132
1332012-10-01 Ed Schonberg <schonberg@adacore.com>
134
135 * sem_ch3.adb (Build_Derived_Record_Type): If the derived
136 type has new discriminantss that constrain inherited ones, use
137 the discriminant type in the original declaration to check for
138 conformance, because in the presence of array components with a
139 smaller range that are constrained by the origina discriminant,
140 the compiler will have created a narrower subtype for that
141 discriminant.
142
aa4b16cb 1432012-10-01 Robert Dewar <dewar@adacore.com>
144
145 * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
146 Handle case of appearing in range in membership test.
147 * exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
148 New procedure (Expand_N_In): Use
149 Expand_Membership_Minimize_Eliminate_Overflow.
150 * rtsfind.ads: Add RE_Bignum_In_LLI_Range.
151 * s-bignum.ads, s-bignum.adb (Bignum_In_LLI_Range): New function.
152 * sinfo.ads, sinfo.adb (No_Minimize_Eliminate): New flag.
153
1542012-10-01 Robert Dewar <dewar@adacore.com>
155
156 * uintp.ads: Minor reformatting.
157
96a2d100 1582012-10-01 Ed Schonberg <schonberg@adacore.com>
159
160 * checks.adb: Improve warning message.
161
d94b5da2 1622012-10-01 Robert Dewar <dewar@adacore.com>
163
164 * checks.adb: Minor reformatting.
165
1662012-10-01 Javier Miranda <miranda@adacore.com>
167
168 * exp_ch3.adb (Expand_N_Object_Declaration): Suppress tag
169 assignment for initializations that are aggregates.
170
1712012-10-01 Robert Dewar <dewar@adacore.com>
172
173 * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
174 New procedure.
175
49b3a812 1762012-10-01 Robert Dewar <dewar@adacore.com>
177
178 * checks.adb (Minimize_Eliminate_Checks): Changes from testing.
179 (Apply_Arithmetic_Overflow_Minimized_Eliminated): Changes
180 from testing.
181 * sinfo.ads: Remove note on not setting Entity field in overflow
182 case since this is no longer true.
183 * Makefile.rtl: Add s-bignum.o
184
1852012-10-01 Thomas Quinot <quinot@adacore.com>
186
187 * Make-generated.in: Correction to previous change for s-oscons
188 target.
189
1902012-10-01 Thomas Quinot <quinot@adacore.com>
191
192 * s-bignum.adb (Allocate_Bignum): Reorganize to kill strict
193 aliasing warning.
194
3cce7f32 1952012-10-01 Robert Dewar <dewar@adacore.com>
196
197 * checks.adb (Overflow_Check_Mode): New function
198 (Apply_Overflow_Check): New procedure (Is_Check_Suppressed):
199 Moved here from Sem, Overflow_Check case now specially treated.
200 * checks.ads (Overflow_Check_Mode): New function
201 (Is_Check_Suppressed): Moved here from Sem (more logical)
202 * exp_ch4.adb (Substitute_Valid_Check): Suppress warning about
203 optimization if we are in MINIMIZED or ELIMINATED overflow
204 checking mode and within an assertiom expression.
205 * rtsfind.ads: Add entries for Bignum stuff.
206 * s-bignum.ads, s-bignum.adb: New files.
207 * sem.ads, sem.adb (Is_Check_Suppressed): Moved to Checks, more logical.
208 * sem_prag.adb (Process_Suppress_Unsuppress): New behavior for
209 Unsuppress of Overflow_Check (sets Checked instead of Minimized)
210 * sem_res.adb: Update comments.
211 * sinfo.ads (N_Op): Add documentation on overflow handling.
212 * tbuild.ads, tbuild.adb (Convert_To_And_Rewrite): New procedure.
213 * types.ads (Minimized_Or_Eliminated): New subtype.
214
2152012-10-01 Eric Botcazou <ebotcazou@adacore.com>
216
217 * layout.adb (Layout_Type): Do not set twice the address size
218 on an access-to-unconstrained array if Debug_Flag_6 is set.
219
15e5d5ca 2202012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
221
222 * sem_ch3.adb (Analyze_Declarations): Remove the specialized
223 code which prevents freezing when the declarative list contains
224 a _postconditions body. This is no longer needed because the
225 body is now inserted at the end of the declarations.
226 * sem_ch6.adb (Insert_After_Last_Declaration): New routine.
227 (Insert_Before_First_Source_Declaration): Removed.
228 (Process_PPCs): Insert the _postconditions body at the end of
229 the declarative list to prevent premature freezing of types that
230 appear in the declarations.
231
2322012-10-01 Robert Dewar <dewar@adacore.com>
233
234 * sem_aggr.adb, sem_dim.adb: Minor reformatting.
235
22631b41 2362012-10-01 Ed Schonberg <schonberg@adacore.com>
237
238 * sem_prag.adb (Process_Convention, Process_Import_Or_Interface):
239 Adjust test so that when the pragma comes from an aspect
240 specification it only applies to the entity in the original
241 declaration.
242
2432012-10-01 Thomas Quinot <quinot@adacore.com>
244
245 * gnat_ugn.texi: Document new command line switch -fada-spec-parent.
246
2472012-10-01 Thomas Quinot <quinot@adacore.com>
248
249 * s-oscons-tmplt.c, g-socket.ads: Minor code improvement: use gcc
250 builtin __alignof__ to get the alignment of struct fd_set.
251
2522012-10-01 Vincent Pucci <pucci@adacore.com>
253
254 * exp_ch6.adb (Expand_Call): Remove call to
255 Remove_Dimension_In_Call.
256 * sem_aggr.adb (Resolve_Array_Aggregate): Analyze dimension of
257 components in array aggregate.
258 (Resolve_Aggr_Expr): Propagate dimensions from the original expression
259 Expr to the new created expression New_Expr when resolving the
260 expression of a component in record aggregates.
261 (Resolve_Record_Aggregate): Analyze
262 dimension of components in record (or extension) aggregate.
263 * sem_ch6.adb (Analyze_Subprogram_Specification): Analyze
264 dimension of formals with default expressions in subprogram
265 specification.
266 * sem_ch8.adb (Analyze_Expanded_Name): Analyze dimension of
267 expanded names.
268 (Find_Selected_Component): Analyze dimension of selected component.
269 * sem_dim.adb: Several dimension error messages reformatting.
270 (Dimensions_Msg_Of): New flag Description_Needed in order to
271 differentiate two different sort of dimension error messages.
272 (Dim_Warning_For_Numeric_Literal): New routine.
273 (Exists): New routine.
274 (Move_Dimensions): Routine spec moved to spec file.
275 * sem_dim.ads (String_From_Numeric_Literal): New routine.
276 (Analyze_Dimension): Analyze dimension only when the
277 node comes from source. Dimension analysis for expanded names added.
278 (Analyze_Dimension_Array_Aggregate): New routine.
279 (Analyze_Dimension_Call): New routine.
280 (Analyze_Dimension_Component_Declaration): Warning if default
281 expression is a numeric literal.
282 (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
283 (Analyze_Dimension_Formals): New routine.
284 (Analyze_Dimension_Object_Declaration): Warning if default
285 expression is a numeric literal.
286 (Symbol_Of): Return either the dimension subtype symbol or the
287 dimension symbol built by From_Dim_To_Str_Of_Unit_Symbols.
288 * sem_dim.ads (Analyze_Dimension_Array_Aggregate): New routine.
289 (Analyze_Dimension_Call): New routine.
290 (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
291 (Analyze_Dimension_Formals): New routine.
292 (Move_Dimensions): Moved from sem_dim.adb.
293 * s-dimmks.ads: Turn off the warnings for dimensioned object
294 declaration. Dimensioned subtypes sorted in alphabetical
295 order. New subtypes Area, Speed, Volume.
296 * s-dmotpr.ads: Turn off the warnings for dimensioned object
297 declaration.
298 * sem_res.adb (Resolve_Call): Analyze dimension for calls.
299
3002012-10-01 Thomas Quinot <quinot@adacore.com>
301
302 * Make-generated.in: Minor cleanup of all targets: use
303 MOVE_IF_CHANGE to put generated files in place, to avoid useless
304 recompilations.
305
3062012-10-01 Javier Miranda <miranda@adacore.com>
307
308 * exp_disp.adb (Expand_Dispatching_Call): For functions returning
309 interface types add an implicit conversion to the returned object
310 to force the displacement of the pointer to the returned object
311 to reference the corresponding secondary dispatch table. This
312 is needed to handle well combined calls involving secondary
313 dispatch tables (for example Obj.Prim1.Prim2).
314 * exp_ch4.adb (Expand_Allocator_Expression): Declare internal
315 access type as access to constant or access to variable depending
316 on the context. Found working in this ticket.
317
3182012-10-01 Ed Schonberg <schonberg@adacore.com>
319
320 * checks.adb (Apply_Predicate_Check): Do not apply check to
321 actual of predicate checking procedure, to prevent infinite
322 recursion.
323
71e95bca 3242012-10-01 Arnaud Charlet <charlet@adacore.com>
325
326 * gcc-interface/Make-lang.in: Update dependencies.
327 (GCC_LINK): Add -static-libstdc++.
328
b6341c67 3292012-10-01 Arnaud Charlet <charlet@adacore.com>
330
331 * a-catizo.adb, a-stwiun.adb, a-cdlili.adb, a-cihama.adb, a-direct.adb,
332 a-coinve.adb, a-calend.adb, a-ciorse.adb, a-coorma.adb, a-cfdlli.adb,
333 a-stzunb-shared.adb, a-cfhase.adb, bindgen.adb, ceinfo.adb, a-tags.adb,
334 einfo.adb, checks.adb, eval_fat.adb, a-cborma.adb, a-stwifi.adb,
335 a-tifiio.adb, a-textio.adb, a-cidlli.adb, a-strunb-shared.adb,
336 a-cimutr.adb, a-calcon.adb, a-exexpr-gcc.adb, a-ciormu.adb,
337 a-stzunb.adb, a-stzsea.adb, a-ngelfu.adb, a-stzfix.adb,
338 a-cihase.adb, a-cohama.adb, a-exetim-posix.adb, a-dirval-vms.adb,
339 a-caldel-vms.adb, a-coorse.adb, errout.adb,
340 a-except.adb, butil.adb, a-dirval-mingw.adb, a-cforma.adb,
341 a-except-2005.adb, a-wtedit.adb, cstand.adb, a-stwiun-shared.adb,
342 a-cbhama.adb, a-direio.adb, clean.adb, a-cborse.adb, back_end.adb,
343 binde.adb, a-exexda.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb,
344 a-coormu.adb, a-teioed.adb, a-convec.adb, a-wtenau.adb, exp_aggr.adb,
345 a-ztedit.adb, a-cohase.adb, a-exetim-mingw.adb, bcheck.adb,
346 a-dynpri.adb, a-cfhama.adb, a-calfor.adb, a-cbdlli.adb,
347 a-crdlli.adb, a-cbmutr.adb, a-sequio.adb, a-ngcoar.adb, a-cforse.adb,
348 a-strunb.adb, a-calend-vms.adb, a-clrefi.adb, a-cofove.adb,
349 a-ztenau.adb, a-strfix.adb, a-cbhase.adb, a-stzsup.adb: Minor
350 reformatting.
351
91e47010 3522012-10-01 Vincent Pucci <pucci@adacore.com>
353
354 * s-gearop.adb (Vector_Matrix_Product): Dimensions check fixed. Index
355 of Left in S evaluation fixed.
356
3572012-10-01 Javier Miranda <miranda@adacore.com>
358
359 * sem_ch3.adb (Analyze_Declarations): Avoid
360 premature freezing caused by the internally generated subprogram
361 _postconditions.
362 * checks.adb (Expr_Known_Valid): Float literals are assumed to be valid
363 in VM targets.
364
3652012-10-01 Thomas Quinot <quinot@adacore.com>
366
367 * sinput.ads, sinput.adb, sinput-l.adb sinput-c.adb (Sinput): New
368 Instances table, tracking all generic instantiations. Source file
369 attribute Instance replaces previous Instantiation attribute with an
370 index into the Instances table.
371 (Iterate_On_Instances): New generic procedure.
372 (Create_Instantiation_Source): Record instantiations in Instances.
373 (Tree_Read, Tree_Write): Read/write the instance table.
374 * scils.ads, scos.adb (SCO_Instance_Table): New table, contains
375 information copied from Sinput.Instance_Table, but self-contained
376 within the SCO data structures.
377 * par_sco.ads, par_sco.adb (To_Source_Location): Move to library level.
378 (Record_Instance): New subprogram, used by...
379 (Populate_SCO_Instance_Table): New subprogram to fill
380 the SCO instance table from the Sinput one (called by SCO_Output).
381 * opt.ads (Generate_SCO_Instance_Table): New option.
382 * put_scos.adb (Write_Instance_Table): New subprogram, used by...
383 (Put_SCOs): Dump the instance table at the end of SCO information
384 if requested.
385 * get_scos.adb (Get_SCOs): Read SCO_Instance_Table.
386 * types.h: Add declaration for Instance_Id.
387 * back_end.adb (Call_Back_End): Pass instance ids in source file
388 information table.
389 (Scan_Back_End_Switches): -fdebug-instances sets
390 Opt.Generate_SCO_Instance_Table.
391 * gcc-interface/gigi.h: File_Info_Type includes instance id.
392 * gcc-interface/trans.c: Under -fdebug-instances, set instance
393 id in line map from same in file info.
394
3952012-10-01 Thomas Quinot <quinot@adacore.com>
396
397 * sem_elab.adb: Minor reformatting
398 (Check_Elab_Call): Minor fix to debugging code
399 (add special circuit for the valid case where a 'Access attribute
400 reference is passed to Check_Elab_Call).
401
4022012-10-01 Thomas Quinot <quinot@adacore.com>
403
404 * exp_ch3.adb: Minor reformatting.
405
1bd93de5 4062012-10-01 Ed Schonberg <schonberg@adacore.com>
407
408 * exp_ch3.ads (Build_Array_Invariant_Proc): moved to body.
409 * exp_ch3.adb (Build_Array_Invariant_Proc,
410 Build_Record_Invariant_Proc): transform into functions.
411 (Insert_Component_Invariant_Checks): for composite types that have
412 components with specified invariants, build a checking procedure,
413 and make into the invariant procedure of the composite type,
414 or incorporate it into the user- defined invariant procedure if
415 one has been created.
416 * sem_ch3.adb (Array_Type_Declaration): Checking for invariants
417 on the component type is defered to the expander.
418
4192012-10-01 Thomas Quinot <quinot@adacore.com>
420
421 * xsnamest.adb, namet.h, sem_ch10.adb, s-oscons-tmplt.c,
422 xoscons.adb: Minor reformatting.
423
4242012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
425
426 * checks.adb (Apply_Parameter_Aliasing_And_Validity_Checks):
427 Do not process subprogram renaminds because a) those cannot
428 have PPC pragmas b) the renamed entity already has the PPCs.
429 (Build_PPC_Pragma): Prepend a PPC pragma for consistency with
430 Process_PPCs.
431 * sem_ch6.adb (Last_Implicit_Declaration): Removed.
432 (Process_PPCs): Insert a post condition body at the start of the
433 declarative region of the related subprogram. This way the body
434 will not freeze anything it shouldn't.
435
7c443ae8 4362012-10-01 Robert Dewar <dewar@adacore.com>
437
438 * freeze.adb, sem_ch6.adb, opt.ads, sem_ch13.adb,
439 exp_ch3.adb: Minor reformatting.
440
4412012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
442
443 * checks.adb (Build_PPC_Pragma): A PPC pragma can now be properly
444 associated with a subprogram body.
445
5d3fb947 4462012-10-01 Ed Schonberg <schonberg@adacore.com>
447
448 * aspects.ads: Type_Invariant'class is a valid aspect.
449 * sem_ch6.adb (Is_Public_Subprogram_For): with the exception of
450 initialization procedures, subprograms that do not come from
451 source are not public for the purpose of invariant checking.
452 * sem_ch13.adb (Build_Invariant_Procedure): Handle properly the
453 case of a non-private type in a package without a private part,
454 when the type inherits invariants from its ancestor.
455
4562012-10-01 Ed Schonberg <schonberg@adacore.com>
457
458 * exp_ch3.adb (Build_Record_Invariant_Proc): new procedure to
459 generate a checking procedure for record types that may have
460 components whose types have type invariants declared.
461
4a9e7f0c 4622012-10-01 Vincent Pucci <pucci@adacore.com>
463
464 * system-solaris-sparcv9.ads, system-mingw.ads, system-vms_64.ads: Flag
465 Support_Atomic_Primitives set to True.
466
4672012-10-01 Robert Dewar <dewar@adacore.com>
468
469 * impunit.adb: Ada.Locales is a language defined unit.
470
4712012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
472
473 * checks.adb (Apply_Parameter_Aliasing_Checks): Removed.
474 (Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
475 (Apply_Parameter_Validity_Checks): Removed.
476 * checks.ads (Apply_Parameter_Aliasing_Checks): Removed.
477 (Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
478 (Apply_Parameter_Validity_Checks): Removed.
479 * exp_ch6.adb (Expand_Call): Remove the generation of parameter
480 aliasing checks.
481 * freeze.adb: Remove with and use clauses for Validsw.
482 (Freeze_Entity): Update the guard and generation of aliasing
483 and scalar initialization checks for subprogram parameters.
484 * opt.ads: Add new flags Check_Aliasing_Of_Parameters and
485 Check_Validity_Of_Parameters along with comments on usage.
486 * sem_attr.adb (Analyze_Attribute): Pragma Overlaps_Storage is
487 no longer an Ada 2012 feature.
488 * sem_ch4.adb: Remove with and use clauses for Checks and Validsw.
489 (Analyze_Call): Remove the generation of aliasing checks for
490 subprogram parameters.
491 * sem_ch13.adb: Remove with and use clauses for Validsw.
492 (Analyze_Aspect_Specifications): Remove the generation of scalar
493 initialization checks.
494 * switch-c.adb (Scan_Front_End_Switches): Add processing for
495 -gnateA and -gnateV.
496 * usage.adb (Usage): Add information on switches -gnateA and
497 -gnateV. Remove information on validity switches 'l', 'L',
498 'v' and 'V'.
499 * validsw.adb (Reset_Validity_Check_Options): Remove the
500 reset of flags Validity_Check_Non_Overlapping_Params
501 and Validity_Check_Valid_Scalars_On_Params.
502 (Save_Validity_Check_Options): Remove the processing
503 for flags Validity_Check_Non_Overlapping_Params
504 and Validity_Check_Valid_Scalars_On_Params.
505 (Set_Validity_Check_Options): Remove the processing
506 for flags Validity_Check_Non_Overlapping_Params and
507 Validity_Check_Valid_Scalars_On_Params.
508 * validsw.ads: Remove flags Validity_Check_Non_Overlapping_Params
509 and Validity_Check_Valid_Scalars_On_Params along with their
510 comments on usage.
511
d513339a 5122012-10-01 Yannick Moy <moy@adacore.com>
513
514 * sem_ch13.adb (Add_Invariants): Analyze the invariant expression
515 as an assertion expression.
516 * sem_ch3.adb / sem_ch3.ads (Preanalyze_Assert_Expression):
517 New procedure that wraps a call to Preanalyze_Spec_Expression
518 for assertion expressions, so that In_Assertion_Expr can be
519 properly adjusted.
520 * sem_prag.adb (Analyze_PPC_In_Decl_Part
521 Check_Precondition_Postcondition Preanalyze_CTC_Args): Call the
522 new Preanalyze_Assert_Expression.
523
a1c925e5 5242012-10-01 Robert Dewar <dewar@adacore.com>
525
526 * checks.ads: Minor reformatting.
527
5282012-10-01 Yannick Moy <moy@adacore.com>
529
530 * types.ads, sem_prag.adb, sem.ads: Correct minor typos in comments.
531
724d2bd8 5322012-10-01 Vincent Celier <celier@adacore.com>
533
534 * make.adb (Scan_Make_Arg): Only test for "vP" of the option
535 includes at least 3 characters.
536 * gnatcmd.adb (GNATCmd): Ditto.
537
5382012-10-01 Eric Botcazou <ebotcazou@adacore.com>
539
540 * exp_ch7.adb, sinfo.ads: Add comments.
541
5422012-10-01 Robert Dewar <dewar@adacore.com>
543
544 * checks.adb: Remove reference to Enable_Overflow_Checks Use
545 Suppress_Options rather than Scope_Suppress.
546 * gnat1drv.adb (Adjust_Global_Switches): Handle new overflow
547 settings (Adjust_Global_Switches): Initialize Scope_Suppress
548 from Suppress_Options.
549 * opt.adb: Remove Enable_Overflow_Checks (use Suppress_Options
550 instead).
551 * opt.ads: Remove Overflow_Checks_Unsuppressed (not used)
552 Remove Enable_Overflow_Checks (use Suppress_Options instead)
553 Suppress_Options is now current setting (replaces Scope_Suppress).
554 * osint.adb (Initialize): Deal with initializing overflow
555 checking.
556 * par-prag.adb: Add dummy entry for pragma Overflow_Checks.
557 * sem.adb (Semantics): Save and restore In_Assertion_Expr Use
558 Suppress_Options instead of Scope_Suppress.
559 * sem.ads (In_Assertion_Expr): New flag (Scope_Suppress):
560 Removed, use Suppress_Options instead.
561 * sem_eval.adb (Compile_Time_Compare): Return Unknown in
562 preanalysis mode.
563 * sem_prag.adb (Process_Suppress_Unsuppress): Setting of
564 Overflow_Checks_Unsuppressed removed (not used anywhere!)
565 (Analyze_Pragma, case Check): Set In_Assertion_Expression
566 (Analyze_Pragma, case Overflow_Checks): Implement new pragma
567 * snames.ads-tmpl: Add names needed for handling pragma
568 Overflow_Checks
569 * switch-c.adb (Scan_Front_End_Switches) Handle -gnato? and
570 -gnato?? where ? is 0-3
571 * types.ads: Updates and fixes to comment on Suppress_Record.
572
5732012-10-01 Vincent Celier <celier@adacore.com>
574
575 * prj-part.adb (Parse): Remove incorrect comment about checking
576 imported non extending projects from and "extending all"
577 one. Minor correction.
578
c9e9106d 5792012-10-01 Robert Dewar <dewar@adacore.com>
580
581 * make.adb, exp_ch3.adb: Minor reformatting.
582
5832012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
584
585 * validsw.adb (Save_Validity_Check_Options): Do not set
586 Validity_Check_Non_Overlapping_Params and
587 Validity_Check_Valid_Scalars_On_Params when -gnatVa is present
588 because the related checks are deemed too aggressive.
589
5902012-10-01 Ed Schonberg <schonberg@adacore.com>
591
592 * sem_util.ads sem_util.adb (Check_Internal_Protected_Use):
593 reject use of protected procedure or entry within the body of
594 a protected function of the same protected type, when usage is
595 a call, an actual in an instantiation, a or prefix of 'Access.
596 * sem_ch8.adb (Analyze_Subprogram_Renaming): Verify that target
597 object in renaming of protected procedure is a variable, and
598 apply Check_Internal_Protected_Use.
599 * sem_res.adb (Analyze_Call, Analyze_Entry_Call): apply
600 Check_Internal_Protected_Use rather than on-line code.
601 * sem_attr.adb (Analyze_Access_Attribute): Verify that target
602 object in accsss to protected procedure is a variable, and apply
603 Check_Internal_Protected_Use.
604
6052012-10-01 Gary Dismukes <dismukes@adacore.com>
606
607 * sem_ch4.adb (Find_Equality_Types.Try_One_Interp): Exclude the
608 predefined interpretation from consideration if it's for a "/="
609 operator of a tagged type. This will allow Analyze_Equality_Op to
610 rewrite the "/=" as a logical negation of a call to the appropriate
611 dispatching equality function. This needs to be done during
612 analysis rather than expansion for the benefit of ASIS, which
613 otherwise gets the unresolved N_Op_Ne operator from Standard.
614
9e58d7ed 6152012-10-01 Thomas Quinot <quinot@adacore.com>
616
617 * gnatcmd.adb, make.adb (Scan_Make_Arg, Inspect_Switches): Recognize
618 and reject an invalid parameter passed to -vP.
619
6202012-10-01 Yannick Moy <moy@adacore.com>
621
622 * sem_warn.adb (Check_Infinite_Loop_Warning/Test_Ref): Improve
623 the detection of modifications to the loop variable by noting
624 that, if the type of variable is elementary and the condition
625 does not contain a function call, then the condition cannot be
626 modified by side-effects from a procedure call.
627
6282012-10-01 Robert Dewar <dewar@adacore.com>
629
630 * checks.adb: Add comments.
631
6322012-10-01 Javier Miranda <miranda@adacore.com>
633
634 * exp_ch3.adb (Expand_N_Object_Declaration): Improve condition catching
635 never-ending recursion. The previous condition erroneously disabled
636 silently the expansion of the class-wide interface object
637 initialization in cases not involving the recursion.
638
b73adb97 6392012-10-01 Thomas Quinot <quinot@adacore.com>
640
641 * make.adb: Minor documentation fix: error messages are sent to
642 stderr, not stdout.
643
6442012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
645
646 * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
647 (Apply_Parameter_Validity_Checks): New routines.
648 * exp_ch6.adb (Expand_Call): Add aliasing checks to detect
649 overlapping objects.
650 * freeze.adb: Add with and use clauses for Checks and Validsw.
651 (Freeze_Entity): Add checks to detect proper initialization
652 of scalars.
653 * sem_ch4.adb: Add with and use clauses for Checks and Validsw.
654 (Analyze_Call): Add aliasing checks to detect overlapping objects.
655 * sem_ch13.adb: Add with and use clauses for Validsw.
656 (Analyze_Aspect_Specifications): Add checks to detect proper
657 initialization of scalars.
658 * sem_prag.adb (Chain_PPC): Correct the extraction of the
659 subprogram name.
660 * sem_util.adb (Is_Object_Reference): Attribute 'Result now
661 produces an object.
662 * usage.adb (Usage): Add usage lines for validity switches 'l',
663 'L', 'v' and 'V'.
664 * validsw.adb (Reset_Validity_Check_Options): Include
665 processing for flags Validity_Check_Non_Overlapping_Params and
666 Validity_Check_Valid_Scalars_On_Params. Code reformatting.
667 (Save_Validity_Check_Options): Include processing
668 for flags Validity_Check_Non_Overlapping_Params
669 and Validity_Check_Valid_Scalars_On_Params.
670 (Set_Validity_Check_Options): Add processing for validity switches
671 'a', 'l', 'L', 'n', 'v' and 'V'. Code reformatting.
672 * validsw.ads: Add new flags Validity_Check_Non_Overlapping_Params
673 and Validity_Check_Valid_Scalars_On_Params along with comments
674 on usage.
675
6762012-10-01 Thomas Quinot <quinot@adacore.com>
677
678 * namet.ads, xsnamest.adb, prj-env.adb, sem_warn.adb,
679 errout.ads: Minor reformatting.
680 * prj-part.adb: Add comment.
681
29a9d4be 6822012-10-01 Robert Dewar <dewar@adacore.com>
683
684 * sinfo.ads, exp_aggr.adb, sem_ch13.adb: Minor reformatting.
685
6862012-10-01 Ed Schonberg <schonberg@adacore.com>
687
688 * sem_aggr.adb (Resolve_Array_Aggregate): Handle properly
689 component associations given by subtypes that have static
690 predicates. Improve error message for overlapping ranges in
691 array aggregates.
692
6932012-10-01 Pascal Obry <obry@adacore.com>
694
695 * snames.ads-tmpl (Name_Link_Lib_Subdir): New constant.
696
6972012-10-01 Ed Schonberg <schonberg@adacore.com>
698
699 * sem_ch9.adb (Analyze_Requeue): The target of a requeue
700 statement on a protected entry must be a variable. This is part
701 of AI05-0225.
702
e1f2eb1e 7032012-09-26 Ian Lance Taylor <iant@google.com>
704
705 * gcc-interface/Makefile.in (LIBBACKTRACE): New variable.
706 (LIBS): Add $(LIBBACKTRACE).
707 (LIBDEPS): Add $(LIBBACKTRACE).
708 (TOOLS_LIBS): Add ../../../libbacktrace/.libs/libbacktrace.a.
709
1bb62874 7102012-09-10 Diego Novillo <dnovillo@google.com>
711
712 * gcc-interface/decl.c (build_subst_list): Adjust call to VEC_safe_push.
713 (build_variant_list): Likewise.
714 * gcc-interface/utils.c (convert): Adjust calls to VEC_quick_push.
715
dd1d981f 7162012-09-07 Eric Botcazou <ebotcazou@adacore.com>
717
718 * gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using
719 size_type_node instead of sizetype.
720
0ade479e 7212012-08-19 Eric Botcazou <ebotcazou@adacore.com>
722
723 * layout.adb (Set_Elem_Alignment): Cap the alignment of access types
724 to that of a regular access type for non-strict-alignment platforms.
725 * gcc-interface/utils.c (finish_fat_pointer_type): Do not set the
726 alignment for non-strict-alignment platforms.
727
8b8701ea 7282012-08-19 Eric Botcazou <ebotcazou@adacore.com>
729
730 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use proper
731 dummy type for the temporary COMPONENT_REF built for a derived tagged
732 type with discriminant.
733
7a6732ec 7342012-08-14 Diego Novillo <dnovillo@google.com>
735
736 Merge from cxx-conversion branch. Re-implement VEC in C++.
737
738 * gcc-interface/trans.c (finalize_nrv_unc_r): Adjust VEC_index usage.
739 * gcc-interface/utils.c (convert): Likewise.
740 (remove_conversions): Likewise.
741 * gcc-interface/utils2.c (compare_fat_pointers): Likewise.
742 (build_unary_op): Likewise.
743 (gnat_stabilize_reference): Likewise.
744
12c79495 7452012-08-06 Jose Ruiz <ruiz@adacore.com>
746
747 * gcc-interface/Makefile.in: Add support for 32-bit VxWorks for SPARC
748 in kernel mode.
749
99a2d5bd 7502012-08-06 Arnaud Charlet <charlet@adacore.com>
751
752 * prj-attr.adb (Register_New_Package): Add missing blank.
753
7542012-08-06 Ed Schonberg <schonberg@adacore.com>
755
756 * exp_aggr.adb (Is_Two_Dim_Packed_Array): New predicate,
757 used when computing maximum size allowable to construct static
758 aggregate.
759
7602012-08-06 Vincent Pucci <pucci@adacore.com>
761
762 * freeze.adb (Freeze_Entity): Inherit_Aspects_At_Freeze_Point
763 calls added for derived types and subtypes.
764 * sem_aux.adb, sem_aux.ads (Get_Rep_Item, Get_Rep_Pragma,
765 Has_Rep_Pragma): New routines.
766 * sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): New routine.
767 * sem_ch13.adb (Analyze_Aspect_Specifications): Error message
768 for aspect Lock_Free fixed.
769 (Inherits_Aspects_At_Freeze_Point): New routine.
770 * sem_ch3.adb: Several flag settings removed since inheritance
771 of aspects must be performed at freeze point.
772
7732012-08-06 Thomas Quinot <quinot@adacore.com>
774
775 * s-oscons-tmplt.c: Fix s-oscons.ads formatting on VxWorks.
776
7772012-08-06 Vincent Pucci <pucci@adacore.com>
778
779 * sem_dim.adb (Analyze_Dimension_Binary_Op): Issue an error message
780 for unknown exponent at compile-time.
781
7822012-08-06 Gary Dismukes <dismukes@adacore.com>
783
784 * sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Enhance
785 comment to make it clear that the aggregate's evaluation might
786 still involve run-time checks even though the aggregate is
787 considered known at compile time.
788 * sinfo.ads (Compile_Time_Known_Aggregate): Correct comment to
789 refer to Exp_Aggr instead of Sem_Aggr.
790
08861748 7912012-08-06 Robert Dewar <dewar@adacore.com>
792
793 * xoscons.adb: Minor code reorganization (remove unused variable
794 E at line 331).
795 * g-sercom.ads, exp_attr.adb: Minor reformatting.
796 * sinfo.adb, sinfo.ads: Minor cleanup, remove unused flag
797 Static_Processing_OK.
798
7992012-08-06 Ed Schonberg <schonberg@adacore.com>
800
801 * sem_ch3.adb (Build_Derived_Concurrent_Type): Copy discriminant
802 constraint when building a constrained subtype, to prevent
803 undesirable tree sharing betweeb geberated subtype and derived
804 type definition.
805
8062012-08-06 Thomas Quinot <quinot@adacore.com>
807
808 * g-sercom-mingw.adb, s-oscons-tmplt.c: Add missing constants
809 on Windows.
810
8112012-08-06 Sergey Rybin <rybin@adacore.com frybin>
812
813 * tree_io.ads: Update ASIS_Version_Number because of the tree fix
814 for discriminant constraints for concurrent types.
815
b76829e9 8162012-08-06 Thomas Quinot <quinot@adacore.com>
817
818 * sem_ch4.adb: Minor reformatting.
819
8202012-08-06 Thomas Quinot <quinot@adacore.com>
821
822 * s-oscons-tmplt.c, xoscons.adb: Per the Single UNIX Specification,
823 types cc_t, speed_t, and tcflag_t defined in <termios.h> all are
824 unsigned types. Add required special handling to have their correct
825 unsigned values in s-oscons.ads.
826
8272012-08-06 Thomas Quinot <quinot@adacore.com>
828
829 * par-ch13.adb: Minor reformatting.
830
8312012-08-06 Thomas Quinot <quinot@adacore.com>
832
833 * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb
834 (Set): Add Local and Flow_Control settings.
835
8362012-08-06 Ed Schonberg <schonberg@adacore.com>
837
838 * exp_attr.adb: Suppress saving of 'Old if assertions are not
839 enabled.
840
53f836d1 8412012-08-06 Yannick Moy <moy@adacore.com>
842
843 * sem_ch4.adb (Analyze_Selected_Component): Issue an error in
844 Alfa mode for component not present.
845
8462012-08-06 Thomas Quinot <quinot@adacore.com>
847
848 * exp_ch7.adb (Insert_Actions_In_Scope_Around): Do not
849 use a renaming of Scope_Stack.Table (Scope_Stack.Last), as
850 Process_Transient_Object may introduce new scopes and cause
851 Scope_Stack.Table to be reallocated.
852
fafc6b97 8532012-08-06 Robert Dewar <dewar@adacore.com>
854
855 * exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads,
856 checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb,
857 gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement
858 extended overflow checks (step 1).
859 (Overflow_Check_Type, Suppress_Record, Suppress_All): New types.
860 (Suppress_Array): Extended to include switches to control extended
861 overflow checking (and renamed to Suppress_Record).
862 Update all uses of Suppress_Array.
863
8642012-08-06 Thomas Quinot <quinot@adacore.com>
865
866 * makeutl.ads: Minor documentation fix.
867
8682012-08-06 Thomas Quinot <quinot@adacore.com>
869
870 * exp_ch7.adb: Minor reformatting.
871
825c3598 8722012-08-06 Geert Bosch <bosch@adacore.com>
873
874 * a-ngelfu.adb: Change obsolete comment that this is a non-strict
875 implementation.
876
8772012-08-06 Steve Baird <baird@adacore.com>
878
879 * exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): If
880 CodePeer_Mode = True then omit exception handlers for finalization calls
881
8822012-08-06 Robert Dewar <dewar@adacore.com>
883
884 * exp_aggr.adb: Minor reformatting.
885
3f3f8d79 8862012-08-06 Robert Dewar <dewar@adacore.com>
887
888 * sem_ch6.adb: Remove useless flag Body_Deleted.
889
8902012-08-06 Thomas Quinot <quinot@adacore.com>
891
892 * sinfo.ads (End_Span): Change default from No_Uint to Uint_0,
893 as this is what all usage occurrences of this attribute are
894 expecting.
895 * uintp.adb (UI_To_Int): Add assertion to guard against calling
896 with No_Uint.
897
8982012-08-06 Vincent Pucci <pucci@adacore.com>
899
7a6732ec 900 PR ada/54125
3f3f8d79 901 * exp_attr.adb (Expand_N_Attribute_Reference): Expand new
902 Atomic_Always_Lock_Free attribute.
903 * sem_attr.adb (Analyze_Attribute): Analyze new
904 Atomic_Always_Lock_Free attribute.
905 (Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free
906 attribute.
907 * sem_ch9.adb (Allows_Lock_Free_Implementation):
908 Support_Atomic_Primitives check replaces previous erroneous
909 size check.
910 * sem_util.adb, sem_util.ads (Support_Atomic_Primitives):
911 New routine.
912 * snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and
913 new attribute Attribute_Atomic_Always_Lock_Free defined.
914 * s-atopri.adb: Support_Atomic_Primitives checks replaced by
915 Atomic_Always_Lock_Free queries.
916 * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
917 system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads,
918 system-linux-ppc.ads, system-linux-s390.ads,
919 system-linux-s390x.ads, system-linux-sh4.ads,
920 system-linux-sparc.ads, system-lynxos178-ppc.ads,
921 system-lynxos-ppc.ads, system-mingw.ads,
922 system-vxworks-arm.ads, system-solaris-sparc.ads,
923 system-solaris-sparcv9.ads, system-vms_64.ads,
924 system-vxworks-m68k.ads, system-vxworks-mips.ads,
925 system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag
926 Support_Atomic_Primitives removed.
927
a39ff582 9282012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
929
930 * sem_mech.adb (Set_Mechanisms): OUT and IN OUT parameters are
931 now unconditionally passed by reference. IN parameters subject
932 to convention C_Pass_By_Copy are passed by copy, otherwise they
933 are passed by reference.
934
9352012-08-06 Ed Schonberg <schonberg@adacore.com>
936
937 * sem_ch3.adb (Analyze_Object_Declaration): According to
938 AI95-0303, protected objects with interrupt handlers can be
939 declared in nested scopes. This is a binding interpretation,
940 and thus applies to all versions of the compiler.
941
9422012-08-06 Robert Dewar <dewar@adacore.com>
943
944 * frontend.adb, exp_aggr.adb: Minor reformatting.
945
9462012-08-06 Thomas Quinot <quinot@adacore.com>
947
948 * par-endh.adb: Minor reformatting.
949
ace3389d 9502012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
951
952 * exp_ch7.adb (Process_Transient_Objects): Remove obsolete loop
953 processing related to array initialization. The expansion of
954 loops already contains a mechanism to detect controlled objects
955 generated by expansion and introduce a block around the loop
956 statements for finalization purposes.
957
9582012-08-06 Vincent Pucci <pucci@adacore.com>
959
960 * sem_ch13.adb: Current scope must be within
961 or same as the scope of the entity while analysing aspect
962 specifications at freeze point.
963
9642012-08-06 Thomas Quinot <quinot@adacore.com>
965
966 * par_sco.adb: Add note about dubious SCO for TERMINATE
967 alternative.
968 * sem_ch8.adb, exp_ch11.adb: Minor reformatting.
969
9702012-08-06 Ed Schonberg <schonberg@adacore.com>
971
972 * exp_aggr.adb (Two_Dim_Packed_Array_Handled): New procedure to
973 transform an aggregate for a packed two-dimensional array into
974 a one-dimensional array of constant values, in order to avoid
975 the generation of component-by-component assignments.
976
9772012-08-06 Thomas Quinot <quinot@adacore.com>
978
979 * frontend.adb: Do not attempt to process deferred configuration
980 pragmas if the main unit failed to load, to avoid cascaded
981 inconsistencies that can lead to a compiler crash.
982
8ef22b90 9832012-08-06 Vincent Pucci <pucci@adacore.com>
984
985 * s-atopri.adb: Minor reformatting.
986
9872012-08-06 Arnaud Charlet <charlet@adacore.com>
988
989 * gnat-style.texi: Clarify that all subprograms should be
990 documented. Minor rewording.
991
5134891e 9922012-08-06 Robert Dewar <dewar@adacore.com>
993
994 * aspects.ads: Define Aspect_Id_Exclude_No_Aspect.
995 * par-ch13.adb, restrict.adb: Use Aspect_Id_Exclude_No_Aspect to
996 simplify code.
997
9982012-08-06 Yannick Moy <moy@adacore.com>
999
1000 * gnat-style.texi: Update style guide for declarations.
1001
10022012-08-06 Yannick Moy <moy@adacore.com>
1003
1004 * sem_attr.adb (Analyze_Attribute): In the case for 'Old,
1005 skip a special expansion which is not needed in Alfa mode.
1006
10072012-08-06 Yannick Moy <moy@adacore.com>
1008
1009 * sem_ch5.adb (Analyze_Iterator_Specification): Do not perform
1010 an expansion of the iterator in Alfa mode.
1011
dcbac5c0 10122012-08-06 Robert Dewar <dewar@adacore.com>
1013
1014 * s-oscons-tmplt.c, sem_ch9.adb, osint.adb: Minor reformatting.
1015
10162012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
1017
1018 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Remove obsolete
1019 Alfa-specific guard. The code is a leftover from an early
1020 implementation of iterators which is no longer in use.
1021
10222012-08-06 Vincent Celier <celier@adacore.com>
1023
1024 * par-ch13.adb (Get_Aspect_Specifications): Do not consider
1025 No_Aspect when checking for a mispelled aspect.
1026
81beaf05 10272012-08-06 Robert Dewar <dewar@adacore.com>
1028
1029 * s-htable.adb: Minor reformatting.
1030
10312012-08-06 Thomas Quinot <quinot@adacore.com>
1032
1033 * s-oscons-tmplt.c, g-socket.adb (System.OS_Constants.Target_OS):
1034 Suppress warnings so that we don't have to do it at each usage.
1035
ba9b1a39 10362012-08-06 Vincent Pucci <pucci@adacore.com>
1037
1038 * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
1039 Use of Known_Static_Esize instead of Known_Esize and
1040 Known_Static_RM_Size instead of Known_RM_Size in order to
1041 properly call UI_To_Int. Don't check the size of the component
1042 type in case of generic.
1043 * sem_ch9.adb (Allows_Lock_Free_Implementation):
1044 Use of Known_Static_Esize instead of Known_Esize and
1045 Known_Static_RM_Size instead of Known_RM_Size in order to properly
1046 call UI_To_Int. Don't check the size of the component type in
1047 case of generic.
1048
10492012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
1050
1051 * checks.adb (Discrete_Range_Cond): Do not try to optimize on
1052 the assumption that the type of an expression can always fit in
1053 the target type of a conversion.
1054
1094a5ca 10552012-07-30 Robert Dewar <dewar@adacore.com>
1056
1057 * bindusg.adb: Clarify file in -A lines.
1058
10592012-07-30 Robert Dewar <dewar@adacore.com>
1060
1061 * freeze.adb: Minor reformatting.
1062
10632012-07-30 Robert Dewar <dewar@adacore.com>
1064
1065 * gnatcmd.adb, makeutl.adb, makeutl.ads: Minor code reorganization.
1066
10672012-07-30 Vincent Pucci <pucci@adacore.com>
1068
1069 * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Minor
1070 reformatting.
1071 * sem_ch9.adb (Allows_Lock_Free_Implementation): Minor reformatting.
1072 Capture the correct error message in case of a quantified expression.
1073
10742012-07-30 Thomas Quinot <quinot@adacore.com>
1075
1076 * g-socket.adb (Get_Socket_Option, Set_Socket_Option): On Windows, the
1077 value is a milliseconds count in a DWORD, not a struct timeval.
1078
50b3164d 10792012-07-30 Hristian Kirtchev <kirtchev@adacore.com>
1080
1081 * sem_ch12.adb (Earlier): Add local variables T1 and T2. Minor code
1082 refactoring.
1083
10842012-07-30 Thomas Quinot <quinot@adacore.com>
1085
1086 * gnatcmd.adb, make.adb, makeutl.adb, makeutl.ads
1087 (Test_If_Relative_Path): Rename to Ensure_Absolute_Path to better
1088 reflect what this subprogram does. Rename argument Including_L_Switch
1089 to For_Gnatbind, and also exempt -A from rewriting.
1090 * bindusg.adb: Document optional =file argument to gnatbind -A.
1091
10922012-07-30 Ed Schonberg <schonberg@adacore.com>
1093
1094 * freeze.adb (Freeze_Entity): Do no apply restriction check on
1095 storage pools to access to subprogram types.
1096
2beb22b1 10972012-07-30 Robert Dewar <dewar@adacore.com>
1098
1099 * par_sco.adb, a-cihama.adb, a-coinve.adb, exp_ch7.adb, a-ciorse.adb,
1100 exp_ch9.adb, sem_dim.adb, par-ch13.adb, sem_ch9.adb, a-cidlli.adb,
1101 a-cimutr.adb, freeze.adb, a-ciormu.adb, sem_res.adb, sem_attr.adb,
1102 a-cihase.adb, exp_ch4.adb, sem_ch4.adb, a-ciorma.adb,
1103 s-tasinf-linux.ads, sem_ch13.adb, a-coinho.adb: Minor reformatting.
1104 Add comments.
1105
7c3537be 11062012-07-30 Vincent Pucci <pucci@adacore.com>
1107
1108 * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit
1109 dereferences of access values.
1110
2953bbc2 11112012-07-27 Iain Sandoe <iain@codesourcery.com>
1112
1113 * system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True.
1114
2330f9c5 11152012-07-25 Eric Botcazou <ebotcazou@adacore.com>
1116
1117 * gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do
1118 not stabilize operand #1 and #2.
1119
c2d9cb26 11202012-07-23 Tristan Gingold <gingold@adacore.com>
1121
1122 * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Use
1123 End_Label sloc when possible for sloc of the TRY_CATCH_EXPR node.
1124
11252012-07-23 Olivier Hainque <hainque@adacore.com>
1126
1127 * gcc-interface/Makefile.in: Adjust processing of Linker_Options for
1128 VxWorks.
1129 * gcc-interface/Make-lang.in: Update dependencies.
1130
8f531643 11312012-07-23 Arnaud Charlet <charlet@adacore.com>
1132
1133 * s-tasinf-linux.ads: Fix typo.
1134
11352012-07-23 Thomas Quinot <quinot@adacore.com>
1136
1137 * exp_ch7.adb, switch-m.adb, exp_ch3.adb, freeze.adb: Minor reformatting
1138
11392012-07-23 Ed Schonberg <schonberg@adacore.com>
1140
1141 * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): If original
1142 loop carries an identifier, preserve it when rewriting it as a
1143 standard loop to validate exit statements that may reference
1144 that name in the body of the loop.
1145
11462012-07-23 Thomas Quinot <quinot@adacore.com>
1147
1148 * exp_ch9.adb: Minor code cleanup.
1149
094ed68e 11502012-07-23 Ed Schonberg <schonberg@adacore.com>
1151
1152 * sem_ch4.adb (Analyze_Selected_Component): When checking for
1153 potential ambiguities with class-wide operations on synchronized
1154 types, attach the copied node properly to the tree, to prevent
1155 errors during expansion.
1156
11572012-07-23 Yannick Moy <moy@adacore.com>
1158
1159 * sem_ch5.adb (Analyze_Loop_Statement): Make sure the loop body
1160 is analyzed in Alfa mode.
1161
11622012-07-23 Ed Schonberg <schonberg@adacore.com>
1163
1164 * sem_res.adb: Adjust previous change.
1165
11662012-07-23 Vincent Pucci <pucci@adacore.com>
1167
1168 * sem_ch9.adb (Allows_Lock_Free_Implementation): Flag
1169 Lock_Free_Given renames previous flag Complain. Description
1170 updated. Henceforth, catch every error messages issued by this
1171 routine when Lock_Free_Given is True. Declaration restriction
1172 updated: No non-elementary parameter instead (even in parameter)
1173 New subprogram body restrictions implemented: No allocator,
1174 no address, import or export rep items, no delay statement,
1175 no goto statement, no quantified expression and no dereference
1176 of access value.
1177
11782012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
1179
1180 * checks.adb (Determine_Range): Add local variable Btyp. Handle
1181 the case where the base type of an enumeration subtype is
1182 private. Replace all occurrences of Base_Type with Btyp.
1183 * exp_attr.adb (Attribute_Valid): Handle the case where the
1184 base type of an enumeration subtype is private. Replace all
1185 occurrences of Base_Type with Btyp.
1186 * sem_util.adb (Get_Enum_Lit_From_Pos): Add local variable
1187 Btyp. Handle the case where the base type of an enumeration
1188 subtype is private. Replace all occurrences of Base_Type with
1189 Btyp.
1190
1630f2a9 11912012-07-23 Ed Schonberg <schonberg@adacore.com>
1192
1193 * par-ch6.adb (P_Mode): in Ada 2005, a mode indicator can apply
1194 to a formal object of an anonymous access type.
1195
11962012-07-23 Ed Schonberg <schonberg@adacore.com>
1197
1198 * sem_ch4.adb (Try_Container_Indexing): A user-defined indexing
1199 aspect can have more than one index, e.g. to describe indexing
1200 of a multidimensional object.
1201
12022012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
1203
1204 * exp_ch4.adb (Apply_Accessibility_Check): Reimplemented. The check is
1205 now more complex and contains optional finalization part and mandatory
1206 deallocation part.
1207
12082012-07-23 Gary Dismukes <dismukes@adacore.com>
1209
1210 * a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb, a-ciormu.adb,
1211 a-ciorse.adb, a-coinho.adb, a-coinve.adb, a-cidlli.adb: Unsuppress
1212 Accessibility_Check for Element_Type allocators.
1213
12142012-07-23 Vasiliy Fofanov <fofanov@adacore.com>
1215
1216 * projects.texi: Fix typo.
1217
12182012-07-23 Ed Schonberg <schonberg@adacore.com>
1219
1220 * sem_res.adb (Resolve_Explicit_Derenference): If prefix is
1221 overloaded, remove those interpretations whose designated type
1222 does not match the context, to avoid spurious ambiguities that
1223 may be caused by the Ada 2012 conversion rule for anonymous
1224 access types.
1225
3a72f9c3 12262012-07-23 Vincent Celier <celier@adacore.com>
1227
1228 * g-spitbo.adb (Substr (String)): Return full string and do not
1229 raise exception when Start is 1 and Len is exactly the length
1230 of the string parameter.
1231 * g-spitbo.ads: Fix spelling error in the name of exception
1232 Index_Error.
1233
12342012-07-23 Ed Schonberg <schonberg@adacore.com>
1235
1236 * par.adb: new subprogram Get_Aspect_Specifications.
1237 * par-ch6.adb (P_Subprogram): handle subprogram bodies with aspect
1238 specifications.
1239 * par-ch13.adb (Get_Aspect_Specifications): extracted from
1240 P_Aspect_Specifications. Collect aspect specifications in some
1241 legal context, but do not attach them to any declaration. Used
1242 when parsing subprogram declarations or bodies that include
1243 aspect specifications.
1244 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If aspects are
1245 present, analyze them, or reject them if the subprogram as a
1246 previous spec.
1247
12482012-07-23 Vasiliy Fofanov <fofanov@adacore.com>
1249
1250 * gnat_ugn.texi: Omit section on other platforms/runtimes support
1251 in gnattest for vms version.
1252
12532012-07-23 Ed Schonberg <schonberg@adacore.com>
1254
1255 * sem_ch13.adb (Analyze_Aspect_Specifications):
1256 Handle properly aspects that can be specified on a subprogram
1257 body: CPU, Priority, and Interrupt_Priority.
1258
12592012-07-23 Claire Dross <dross@adacore.com>
1260
1261 * a-cfdlli.ads: Switch definition of Constant_Reference_Type
1262 and Empty_List.
1263
12642012-07-23 Thomas Quinot <quinot@adacore.com>
1265
1266 * par_sco.adb (Process_Decisions.Output_Header): For the guard
1267 on an alternative in a SELECT statement, use the First_Sloc
1268 of the guard expression (not its topmost sloc) as the decision
1269 location, because this is what is referenced by dominance markers.
1270
12712012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
1272
1273 * exp_ch7.adb (Requires_Hooking): Examine the original expression
1274 of an object declaration node because a function call that
1275 returns on the secondary stack may have been rewritten into
1276 something else.
1277
12782012-07-23 Vincent Pucci <pucci@adacore.com>
1279
1280 * sem_dim.adb (Analyze_Dimension_Has_Etype): For identifier, propagate
1281 dimension when entity is a non-dimensionless constant.
1282 (Analyze_Dimension_Object_Declaration): Propagate
1283 dimension from the expression to the entity when type is a
1284 dimensioned type and object is a constant.
1285
12862012-07-23 Ed Schonberg <schonberg@adacore.com>
1287
1288 * sem_attr.adb (Analyze_Attribute, case 'Old): if the prefix
1289 is not an entity name, expand at once so that code generated by
1290 the expansion of the prefix is not generated before the constant
1291 that captures the old value is properly inserted and analyzed.
1292
12932012-07-23 Thomas Quinot <quinot@adacore.com>
1294
1295 * exp_ch9.adb (Ensure_Statement_Present): Mark generated NULL
1296 statement as Comes_From_Source so that GIGI does not eliminate it.
1297
549ddc37 12982012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
1299
1300 * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Inst is now
1301 a local variable. Retrieve the related instance when processing
1302 a subprogram instantiation. Such instances appear as wrapper
1303 packages.
1304
13052012-07-23 Vincent Pucci <pucci@adacore.com>
1306
1307 * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
1308 system-hpux.ads, system-linux-alpha.ads,
1309 system-linux-hppa.ads, system-linux-ppc.ads,
1310 system-linux-s390.ads, system-linux-s390x.ads,
1311 system-linux-sh4.ads, system-linux-sparc.ads,
1312 system-lynxos-ppc.ads, system-mingw.ads,
1313 system-solaris-sparc.ads, system-solaris-sparcv9.ads,
1314 system-vms_64.ads, * system-vxworks-arm.ads, system-vxworks-m68k.ads,
1315 system-vxworks-mips.ads, system-vxworks-ppc.ads,
1316 system-vxworks-sparcv9.ads: Support_Atomic_Primitives set to False.
1317 * system-darwin-x86.ads, system-darwin-x86_64.ads,
1318 system-freebsd-x86.ads, system-freebsd-x86_64.ads,
1319 system-hpux-ia64.ads, system-linux-ia64.ads, system-linux-x86.ads,
1320 system-linux-x86_64.ads, system-lynxos-x86.ads,
1321 system-mingw-x86_64.ads, system-solaris-x86.ads,
1322 system-solaris-x86_64.ads, system-vms-ia64.ads,
1323 system-vxworks-x86.ads: Support_Atomic_Primitives set to True.
1324 * s-atopri.adb (Lock_Free_Read_X): New body.
1325 (Lock_Free_Try_Write_X): Support_Atomic_Primitives check added.
1326 (Lock_Free_Try_Write_64): New body.
1327 * s-atopri.ads: New type uint.
1328 (Sync_Compare_And_Swap_64): __sync_val_compare_and_swap_8 intrinsic
1329 import.
1330 (Lock_Free_Read_X): Body moved to s-atopri.adb.
1331 (Lock_Free_Try_Write_64): Similar to other Lock_Free_Try_Write_X
1332 routines.
1333 * targparm.adb: New enumeration literal SAP
1334 (Support_Atomic_Primitives) for type Targparm_Tags. New constant
1335 SAP_Str. New component SAP_Str'Access for array Targparm_Str.
1336 (Get_Target_Parameters): Parse Support_Atomic_Primitives_On_Target
1337 flag.
1338 * targparm.ads: New back-end code generation flag
1339 Support_Atomic_Primitives_On_Target
1340
13412012-07-23 Vincent Pucci <pucci@adacore.com>
1342
1343 * gnat_ugn.texi: Dimensionality checking documentation updated.
1344
13452012-07-23 Ed Schonberg <schonberg@adacore.com>
1346
1347 * sem_prag.adb (Make_Inline): If the pragma applies to a
1348 subprogram renaming, set inline flags on both the renamed entity
1349 and on the renaming, so that some ASIS queries can be handled
1350 consistently in the absence of expansion.
1351
d6a9dc1e 13522012-07-23 Fedor Rybin <frybin@adacore.com>
1353
1354 * gnat_ugn.texi: Removing obsolete limitation of gnattest
1355 to support only ada05. Updating gnattest support for other
1356 platforms/run-times section to reflect the usage of taget
1357 prefix in gnattest calls. Fixing missed obsolete --stub-default
1358 option name.
1359
13602012-07-23 Robert Dewar <dewar@adacore.com>
1361
1362 * uintp.adb: Minor reformatting.
1363
13642012-07-23 Olivier Hainque <hainque@adacore.com>
1365
1366 * system-vxworks-ppc.ads: Replace the default
1367 Linker_Options requesting crtbe by a commented out request for
1368 -nostartfiles.
1369
13702012-07-23 Vincent Celier <celier@adacore.com>
1371
1372 * prj-nmsc.adb (Check_Naming): Do not get the exceptions names
1373 in a virtual project.
1374
c7dbb79e 13752012-07-23 Robert Dewar <dewar@adacore.com>
1376
1377 * layout.adb, sem_prag.adb, sem.ads, freeze.adb,
1378 switch-m.adb, exp_disp.adb, system-vxworks-ppc.ads, exp_ch6.adb: Minor
1379 reformatting.
1380
1831dae0 13812012-07-23 Tristan Gingold <gingold@adacore.com>
1382
1383 * gcc-interface/trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set
1384 location on TRY_CATCH_EXPR.
1385
be42dbce 13862012-07-19 Eric Botcazou <ebotcazou@adacore.com>
1387
1388 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure
1389 that an object of CW type initialized to a value is sufficiently
1390 aligned for this value.
1391
061ad733 13922012-07-19 Eric Botcazou <ebotcazou@adacore.com>
1393
1394 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not
1395 look up the REP part of the base type in advance. Deal with that of
1396 the variant types.
1397 (get_rep_part): Be prepared for record types with fields.
1398
5df7fe69 13992012-07-18 Eric Botcazou <ebotcazou@adacore.com>
1400
1401 * gcc-interface/trans.c (stmt_group_may_fallthru): New function.
1402 (gnat_to_gnu) <N_Block_Statement>: Use it to find out whether the
1403 block needs to be translated.
1404
eb87f0fd 14052012-07-17 Tristan Gingold <gingold@adacore.com>
1406
1407 * gnat_rm.texi: Adjust previous change.
1408
14092012-07-17 Ed Schonberg <schonberg@adacore.com>
1410
1411 * sem_prag.adb (Process_Import_Or_Interface): If the pragma
1412 comes from an aspect, it applies to the corresponding entity
1413 without further check.
1414
14152012-07-17 Olivier Hainque <hainque@adacore.com>
1416
1417 * initialize.c (__gnat_initialize for VxWorks): Remove section with
1418 call to __gnat_vxw_setup_for_eh.
1419 * system-vxworks-ppc.ads: Add -auto-register to -crtbe, relying
1420 on the VxWorks constructor mechanism for network loaded modules
1421 by default.
1422
14232012-07-17 Tristan Gingold <gingold@adacore.com>
1424
1425 * adaint.c: Minor reformatting.
1426
14272012-07-17 Pascal Obry <obry@adacore.com>
1428
1429 * s-regexp.adb (Adjust): Fix access violation in Adjust.
1430
14312012-07-17 Ed Schonberg <schonberg@adacore.com>
1432
1433 * freeze.adb (Freeze_Entity): Warn if an imported subprogram
1434 has pre/post conditions, because these will not be enforced.
1435
14362012-07-17 Eric Botcazou <ebotcazou@adacore.com>
1437
1438 * exp_ch7.adb (Process_Transient_Objects): Put all the
1439 finalization blocks and the final raise statement into a wrapper
1440 block.
1441
14422012-07-17 Vincent Pucci <pucci@adacore.com>
1443
1444 * s-atopri.adb (Lock_Free_Try_Write_X): Atomic_Compare_Exchange_X
1445 replaced by Sync_Compare_And_Swap_X.
1446 (Lock_Free_Try_Write_64): Removed.
1447 * s-atopri.ads (Sync_Compare_And_Swap_X): Replaces previous
1448 routine Atomic_Compare_Exchange_X.
1449 (Lock_Free_Read_64): Renaming of Atomic_Load_64.
1450 (Lock_Free_Try_Write_64): Renaming of Sync_Compare_And_Swap_64.
1451
14522012-07-17 Vincent Celier <celier@adacore.com>
1453
1454 * switch-m.adb (Normalize_Compiler_Switches): Recognize new
1455 switches -gnatn1 and -gnatn2.
1456
14572012-07-17 Vincent Pucci <pucci@adacore.com>
1458
1459 * gnat_ugn.texi: GNAT dimensionality checking
1460 documentation updated with System.Dim.Mks modifications.
1461
14622012-07-17 Ed Schonberg <schonberg@adacore.com>
1463
1464 * exp_ch3.adb: sloc of array init_proc is sloc of type declaration.
1465
14662012-07-17 Tristan Gingold <gingold@adacore.com>
1467
1468 * raise-gcc.c (get_call_site_action_for): Remove useless init
1469 expression for p.
1470 (get_action_description_for): Do not overwrite action->kind.
1471
14722012-07-17 Hristian Kirtchev <kirtchev@adacore.com>
1473
1474 * exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr
1475 and Conversion_Added. Add local constant Typ.
1476 Retrieve the original attribute after the arithmetic check
1477 machinery has modified the node. Add a conversion to the target
1478 type when the prefix of attribute Max_Size_In_Storage_Elements
1479 is a controlled type.
1480
14812012-07-17 Gary Dismukes <dismukes@adacore.com>
1482
1483 * exp_ch6.adb (Expand_Inlined_Call): For each actual parameter
1484 of mode 'out' or 'in out' that denotes an entity, reset
1485 Last_Assignment on the entity so that any assignments to the
1486 corresponding formal in the inlining will not trigger spurious
1487 warnings about overwriting assignments.
1488
2ff0322d 14892012-07-17 Robert Dewar <dewar@adacore.com>
1490
1491 * s-assert.ads: Fix comments to make it clear that this is used
1492 for all assertions, not just pragma Assert.
1493
14942012-07-17 Jerome Guitton <guitton@adacore.com>
1495
1496 * par_sco.ads: Minor typo fix.
1497
14982012-07-17 Gary Dismukes <dismukes@adacore.com>
1499
1500 * layout.adb (Layout_Type): In the case where the target is
1501 AAMP, use 32 bits (a single pointer) rather than 64 bits for an
1502 anonymous access-to-subprogram type if the type is library-level
1503 and Is_Local_Anonymous_Access is True.
1504
15052012-07-17 Jose Ruiz <ruiz@adacore.com>
1506
1507 * s-tassta.adb, s-tarest.adb (Create_Task, Create_Restricted_Task,
1508 Initialize): Add comments explaining that the CPU affinity value that
1509 is passed to the run-time library can be either Unspecified_CPU, to
1510 indicate that the task inherits the affinity of its activating task,
1511 or a value in the range of CPU_Range but no greater than Number_Of_CPUs.
1512
15132012-07-17 Javier Miranda <miranda@adacore.com>
1514
1515 * exp_disp.adb (Make_DT): Remove decoration of Ada.Tags entities.
1516 (Make_Tags): Add decoration of Ada.Tags entities.
1517
15182012-07-17 Ed Schonberg <schonberg@adacore.com>
1519
1520 * sem_ch6.adb (Check_Statement_Sequence): When locating the
1521 last significant statement in a sequence, ignore iserted nodes
1522 that typically come from expansion of controlled operations.
1523
15242012-07-17 Tristan Gingold <gingold@adacore.com>
1525
1526 * gnat_rm.texi: Document foreign exceptions.
1527
fc34391d 15282012-07-17 Robert Dewar <dewar@adacore.com>
1529
1530 * sem_prag.adb, treepr.ads: Minor reformatting.
1531
e22bc81a 15322012-07-17 Robert Dewar <dewar@adacore.com>
1533
1534 * exp_ch9.adb: Minor code reorganization.
1535 * exp_ch3.adb: Minor code improvement.
1536
15372012-07-17 Tristan Gingold <gingold@adacore.com>
1538
1539 * seh_init.c (__gnat_SEH_error_handler): Not compiled anymore
1540 on Windows 64 (+ SEH), as it is unused.
1541
e22bc81a 15422012-07-17 Javier Miranda <miranda@adacore.com>
1543
1544 * sem_prag.adb (CPP_Class): Transform obsolescent pragma CPP_Class into
1545 CPP convention automatically.
1546
4be5aafb 15472012-07-16 Tristan Gingold <gingold@adacore.com>
1548
1549 * gcc-interface/decl.c (intrin_return_compatible_p): Map Address to
1550 void *.
1551
e3cb8202 15522012-07-16 Thomas Quinot <quinot@adacore.com>
1553
1554 * exp_ch9.adb (Ensure_Statement_Present): New subprogram.
1555 (Expand_N_Asynchronous_Select,
1556 Expand_N_Selective_Accept.Process_Accept_Alternative,
1557 Expand_N_Selective_Accept.Process_Delay_Alternative,
1558 Expand_N_Timed_Entry_Call): For an alternative with no trailing
1559 statements, introduce a null statement to carry the sloc of
1560 the initial special statement (accept, delay, or entry call)
1561 in the alternative, for coverage analysis purposes.
1562
15632012-07-16 Thomas Quinot <quinot@adacore.com>
1564
1565 * sem_eval.adb (In_Subrange_Of): Fix typo in test for scalar
1566 arguments.
1567
85377c9b 15682012-07-16 Robert Dewar <dewar@adacore.com>
1569
1570 * a-exexpr.adb, freeze.adb, a-exexpr-gcc.adb, a-except-2005.adb,
1571 sem_eval.adb, s-fileio.adb: Minor reformatting.
1572
15732012-07-16 Javier Miranda <miranda@adacore.com>
1574
1575 * sem_prag.adb (Analyze_Pragma): Remove support for obsolescent
1576 pragma CPP_Class.
1577 * sem_ch13.adb (Analyze_Freeze_Entity): Add missing error on Ada
1578 derivations of CPP types. Found updating the tests affected by
1579 the removal of pragma CPP_Class.
1580
15812012-07-16 Thomas Quinot <quinot@adacore.com>
1582
1583 * back_end.adb: Minor reformatting.
1584
15852012-07-16 Thomas Quinot <quinot@adacore.com>
1586
1587 * exp_ch9.adb (Expand_N_Selective_Accept.Process_Accept_Alternative):
1588 Remove junk test that was always true. For the case of no statements
1589 following the ACCEPT, jump directly to End_Lab instead of
1590 introducing an intermediate jump.
1591 (Expand_N_Selective_Accept.Process_Delay_Alternative): Fix
1592 predicate testing for presence of statements following the DELAY.
1593 that was always true. For the case of no statements following
1594 the ACCEPT, jump directly to End_Lab instead of introducing an
1595 intermediate jump.
1596 (Expand_N_Selective_Accept): Fix incorrect insertion point for
1597 end label.
1598
b3d5d0ad 15992012-07-16 Thomas Quinot <quinot@adacore.com>
1600
1601 * gnat_rm.texi: Minor documentation improvements.
1602
16032012-07-16 Yannick Moy <moy@adacore.com>
1604
1605 * sem_ch13.adb (Analyze_Aspect_Specifications): Allow Pre
1606 and Pre'Class aspects on the same declaration.
1607 * sem_prag.adb (Chain_PPC): Allow Pre and Pre'Class aspects on the
1608 same hierarchy of primitive operations.
1609
204c9c3d 16102012-07-16 Thomas Quinot <quinot@adacore.com>
1611
1612 * freeze.adb (Check_Component_Storage_Order): Do not reject a
1613 nested composite with different scalar storage order if it is
1614 byte aligned.
1615
16162012-07-16 Thomas Quinot <quinot@adacore.com>
1617
1618 * gnat_rm.texi: Update documentation for Scalar_Storage_Order.
1619
16202012-07-16 Tristan Gingold <gingold@adacore.com>
1621
1622 * a-exexpr.adb (Propagate_Exception): Adjust call to
1623 Exception_Traces procedures.
1624 * a-exexpr-gcc.adb (Setup_Current_Excep): Now a
1625 function that returns an access to the Ada occurrence.
1626 (Propagate_GCC_Exception): Adjust calls.
1627 * raise.h (struct Exception_Occurrence): Declare.
1628 * a-exextr.adb: Remove useless pragma. (Notify_Handled_Exception,
1629 Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
1630 Add Excep parameter.
1631 * a-except.adb (Notify_Handled_Exception,
1632 Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
1633 Add Excep parameter.
1634 (Process_Raise_Exception): Adjust calls.
1635 * a-except-2005.adb (Notify_Handled_Exception,
1636 Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add
1637 Excep parameter.
1638 (Raise_Exception): Calls Raise_Exception_Always.
1639 * raise-gcc.c (__gnat_setup_current_excep,
1640 __gnat_notify_handled_exception)
1641 (__gnat_notify_unhandled_exception): Adjust declarations.
1642 (PERSONALITY_FUNCTION): Adjust calls.
1643 (__gnat_personality_seh0): Remove warning.
1644
16452012-07-16 Javier Miranda <miranda@adacore.com>
1646
1647 * sem_eval.adb (Test_Expression_Is_Foldable): Adding documentation.
1648 (Eval_Relational_Op): Adding documentation.
1649
9f661339 16502012-07-16 Robert Dewar <dewar@adacore.com>
1651
1652 * freeze.adb, g-debpoo.adb, exp_ch3.adb: Minor reformatting.
1653
16542012-07-16 Thomas Quinot <quinot@adacore.com>
1655
1656 * s-oscons-tmplt.c: Add definitions of E2BIG and EILSEQ.
1657
16582012-07-16 Tristan Gingold <gingold@adacore.com>
1659
1660 * a-exexpr.adb (Propagate_Continue): New function replacing
1661 Raise_Current_Excep.
1662 (Allocate_Occurrence): New function.
1663 (Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
1664 * a-exexpr-gcc.adb (GNAT_GCC_Exception): Occurrence component
1665 is now aliased.
1666 (To_GCC_Exception): Convert from Address.
1667 (Allocate_Occurrence): Allocate an Unwind exception occurrence.
1668 (Setup_Current_Excep): Fill the machine occurrence in case of
1669 foreign exception.
1670 (Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
1671 * a-except.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
1672 Excep parameter.
1673 (Raise_Exception, Raise_Exception_Always,
1674 Raise_Exception_No_Defer): Adjust calls to the above procedures.
1675 (Raise_From_Signal_Handler, Raise_With_Location_And_Msg)
1676 (Rcheck_PE_Finalize_Raised_Exception): Likewise.
1677 * a-except-2005.adb (Set_Exception_C_Msg, Set_Exception_Msg):
1678 add Excep parameter.
1679 (Propagate_Exception): Likewise.
1680 (Allocate_Occurrence): New function.
1681 (Raise_Current_Excep): Removed.
1682 (Complete_Occurrence): New function to save the call chain.
1683 (Complete_And_Propagate_Occurrence): New procedure.
1684 (Create_Occurrence_From_Signal_Handler): New function to build an
1685 occurrence without propagating it.
1686 (Create_Machine_Occurrence_From_Signal_Handler): Likewise, but
1687 return the machine occurrence.
1688 (Raise_From_Signal_Handler): Use Create_Occurrence_From_Signal_Handler.
1689 (Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer):
1690 Adjust calls to the above procedures. Allocate the occurrence at
1691 the beginning.
1692 (Raise_With_Location_And_Msg, Raise_With_Msg)
1693 (Rcheck_PE_Finalize_Raised_Exceptionm Reraise): Likewise.
1694 (Reraise_Occurrence): Use Reraise_Occurrence_Always.
1695 (Reraise_Occurrence_Always): Use Reraise_Occurrence_No_Defer.
1696 (Reraise_Occurrence_No_Defer): Preserve machine occurrence.
1697 (Save_Occurrence): Do not save machine occurrence.
1698 * a-except-2005.ads (Exception_Occurrence): Add Machine_Occurrence
1699 component.
1700 (Null_Occurrence): Consider it.
1701 * a-exexda.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
1702 Excep parameter.
1703
17042012-07-16 Tristan Gingold <gingold@adacore.com>
1705
1706 * seh_init.c (__gnat_map_SEH): New function extracted from
1707 __gnat_SEH_error_handler.
1708 * raise-gcc.c: __gnat_personality_seh0: Directly transforms
1709 Windows system exception into GCC one when possible, in order
1710 to save stack room (particularly useful when Storage_Error will
1711 be propagated).
1712
1398e762 17132012-07-16 Robert Dewar <dewar@adacore.com>
1714
1715 * a-direct.adb, g-dirope.adb: Minor reformatting.
1716
17172012-07-16 Tristan Gingold <gingold@adacore.com>
1718
1719 * a-except.ads, a-except-2005.ads: Remove outdated comment.
1720
17212012-07-16 Robert Dewar <dewar@adacore.com>
1722
1723 * sem_ch6.adb (Subprogram_Name_Greater): Fix algorithm to
1724 conform to documentation.
1725
17262012-07-16 Ed Schonberg <schonberg@adacore.com>
1727
1728 * gnat1drv.adb (Check_Library_Items): Removed, no longer used.
1729
17302012-07-16 Ed Schonberg <schonberg@adacore.com>
1731
1732 * sem_ch3.adb (Array_Type_Declaration): if component type has
1733 invariants, the array type itself requires an invariant procedure.
1734 * exp_ch3.ads, exp_ch3.adb (Build_Array_Invariant_Proc): new
1735 procedure, to build a checking procedure that applies the
1736 invariant check on some type T to each component of an array
1737 of T's. Code is similar to the construction of the init_proc
1738 for an array, and handles multidimensional arrays by recursing
1739 over successive dimensions.
1740
17412012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
1742
1743 * g-debpoo.adb: Revert previous change.
1744
17452012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
1746
1747 * freeze.adb (Freeze_Entity): Insert the itype reference to a
1748 library-level class-wide subtype after the freeze node of the
1749 equivalent record type.
1750
0c6c84ba 17512012-07-16 Pascal Obry <obry@adacore.com>
1752
1753 * s-crtl.ads (mkdir): New routine, support encoding.
1754 * adaint.h (__gnat_mkdir): Update spec to pass encoding.
1755 * mkdir.c (__gnat_mkdir): Add encoding parameter.
1756 * a-direct.adb (Create_Directory): Use CRTL.mkdir, parse encoding
1757 in form parameter.
1758 * g-dirope.adb (Make_Dir): Update to pass encoding parameter.
1759
17602012-07-16 Pascal Obry <obry@adacore.com>
1761
1762 * adaint.c: Minor reformatting.
1763
b9ed1410 17642012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1765
1766 * gcc-interface/utils.c: Include timevar.h.
1767 * Make-lang.in: Fix dependencies.
1768
cf883842 17692012-07-16 Vasiliy Fofanov <fofanov@adacore.com>
1770
1771 * ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2
1772 switches.
1773
17742012-07-16 Bob Duff <duff@adacore.com>
1775
1776 * sinfo.ads: Minor comment fix.
1777
17782012-07-16 Bob Duff <duff@adacore.com>
1779
1780 * sem_elab.adb (Within_Elaborate_All): Walk the with clauses to
1781 find pragmas Elaborate_All that may be found in the transitive
1782 closure of the dependences.
1783
f50256f3 17842012-07-16 Robert Dewar <dewar@adacore.com>
1785
1786 * exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor
1787 reformatting.
1788
d0685419 17892012-07-12 Vasiliy Fofanov <fofanov@adacore.com>
1790
1791 * vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches.
1792
17932012-07-12 Thomas Quinot <quinot@adacore.com>
1794
1795 * exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb,
1796 sem_util.ads, exp_aggr.adb
1797 (Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing
1798 for reverse storage order aggregate.
1799 (Exp_Pakd.Byte_Swap): New utility routine used by...
1800 (Exp_Pakd.Expand_Bit_Packed_Element_Set,
1801 Expand_Packed_Element_Reference): For the case of a free-standing
1802 packed array with reverse storage order, perform byte swapping.
1803 (Rtsfind): Make new entities RE_Bswap_{16,32,64} available.
1804 (Freeze.Check_Component_Storage_Order): New utility routine
1805 to enforce legality rules for nested composite types whose
1806 enclosing composite has an explicitly defined Scalar_Storage_Order
1807 attribute.
1808 (Sem_Util.In_Reverse_Storage_Order_Object): Renamed from
1809 Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to
1810 array types as well.
1811 (Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge
1812 for change of scalar storage order in assignments. The Lhs and
1813 Rhs now always have the same scalar storage order.
1814
18152012-07-12 Hristian Kirtchev <kirtchev@adacore.com>
1816
1817 * g-debpoo.adb (Allocate): Add local constant
1818 No_Element. Initialize the allocated memory chunk to No_Element.
1819
18202012-07-12 Ed Schonberg <schonberg@adacore.com>
1821
1822 * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
1823 the case of an instance of a child unit where a formal derived
1824 type DT is an extension of a type T declared in a parent unit,
1825 and the actual in the instance of the child is the type T declared
1826 in the parent instance, and that actual is not a derived type.
1827
18282012-07-12 Eric Botcazou <ebotcazou@adacore.com>
1829 Tristan Gingold <gingold@adacore.com>
1830
1831 * system-hpux-ia64.ads: Enable ZCX by default.
1832 * gcc-interface/Makefile.in: Use alternate stack on ia64-hpux.
1833 Change soext to .so.
1834
aee191ca 18352012-07-12 Robert Dewar <dewar@adacore.com>
1836
1837 * s-atopri.adb, s-atopri.ads: Minor reformatting.
1838
18392012-07-12 Robert Dewar <dewar@adacore.com>
1840
1841 * ali.adb: Add circuitry to read new named form of restrictions lines.
1842 * debug.adb: Add doc for new -gnatd.R switch (used positional
1843 notation for output of restrictions data in ali file).
1844 * lib-writ.adb: Implement new named format for restrictions lines.
1845 * lib-writ.ads: Add documentation for new named format for
1846 restrictions in ali files.
1847 * restrict.adb, restrict.ads, sem_prag.adb: Update comments.
1848 * rident.ads: Go back to withing System.Rident
1849 * s-rident.ads: Add extensive comment on dealing with consistency
1850 checking.
1851
18522012-07-12 Thomas Quinot <quinot@adacore.com>
1853
1854 * par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements.
1855
da2e82e9 18562012-07-12 Robert Dewar <dewar@adacore.com>
1857
1858 * sem_disp.adb: Minor reformatting
1859 * s-bytswa.ads: Minor comment update.
1860
18612012-07-12 Vincent Pucci <pucci@adacore.com>
1862
1863 * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
1864 Atomic_Load_N replaced by Lock_Free_Read_N. Atomic_Compare_Exchange_N
1865 replaced by Lock_Free_Try_Write_N.
1866 Renaming of several local variables. For
1867 procedure, Expected_Comp declaration moved to the declaration
1868 list of the procedure.
1869 * rtsfind.ads: RE_Atomic_Compare_Exchange_8,
1870 RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
1871 RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
1872 RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64,
1873 RE_Atomic_Synchronize, RE_Relaxed removed. RE_Lock_Free_Read_8,
1874 RE_Lock_Free_Read_16, RE_Lock_Free_Read_32, RE_Lock_Free_Read_64,
1875 RE_Lock_Free_Try_Write_8, RE_Lock_Free_Try_Write_16,
1876 RE_Lock_Free_Try_Write_32, RE_Lock_Free_Try_Write_64 added.
1877 * s-atopri.adb: New file.
1878 * s-atopri.ads (Atomic_Compare_Exchange_8): Renaming of
1879 parameters. Import primitive __sync_val_compare_and_swap_1.
1880 (Atomic_Compare_Exchange_16): Renaming of parameters.
1881 Import primitive __sync_val_compare_and_swap_2.
1882 (Atomic_Compare_Exchange_32): Renaming of parameters.
1883 Import primitive __sync_val_compare_and_swap_4.
1884 (Atomic_Compare_Exchange_64): Renaming of parameters. Import
1885 primitive __sync_val_compare_and_swap_8.
1886 (Atomic_Load_8): Ptr renames parameter X.
1887 (Atomic_Load_16): Ptr renames parameter X.
1888 (Atomic_Load_32): Ptr renames parameter X.
1889 (Atomic_Load_64): Ptr renames parameter X.
1890 (Lock_Free_Read_8): New routine.
1891 (Lock_Free_Read_16): New routine.
1892 (Lock_Free_Read_32): New routine.
1893 (Lock_Free_Read_64): New routine.
1894 (Lock_Free_Try_Write_8): New routine.
1895 (Lock_Free_Try_Write_16): New routine.
1896 (Lock_Free_Try_Write_32): New routine.
1897 (Lock_Free_Try_Write_64): New routine.
1898
10381db1 18992012-07-12 Robert Dewar <dewar@adacore.com>
1900
1901 * exp_attr.adb, exp_ch9.adb, sem_ch9.adb, exp_aggr.adb: Minor
1902 reformatting.
1903
19042012-07-12 Vincent Pucci <pucci@adacore.com>
1905
1906 * sem_dim.adb (Analyze_Dimension_Function_Call): Reformatting of error
1907 msgs for elementary functions.
1908
19092012-07-12 Vincent Pucci <pucci@adacore.com>
1910
1911 * sem_attr.adb (Eval_Attribute): Minor reformatting.
1912
19132012-07-12 Pascal Obry <obry@adacore.com>
1914
1915 * prj-nmsc.adb (Check_Library_Attributes): Allow the same library
1916 project in different project tree (different aggregated projects).
1917
19182012-07-12 Thomas Quinot <quinot@adacore.com>
1919
1920 * s-bytswa.adb, g-bytswa.adb, g-bytswa.ads, s-bytswa.ads: Further
1921 reorganization of byte swapping routines.
1922
19232012-07-12 Ed Schonberg <schonberg@adacore.com>
1924
1925 * sem_disp.adb (Check_Dispatching_Context): Refine legality
1926 checks on tagg indeterminate calls to abstract operations,
1927 that appear in the context of other calls.
1928
d0a9ea3b 19292012-07-12 Thomas Quinot <quinot@adacore.com>
1930
1931 * s-bytswa.adb (Swapped2.Bswap16): Remove local function,
1932 no longer needed.
1933
19342012-07-12 Javier Miranda <miranda@adacore.com>
1935
1936 * exp_attr.adb (Expand_N_Attribute_Reference): For
1937 attributes 'access, 'unchecked_access and 'unrestricted_access,
1938 iff the current instance reference is located in a protected
1939 subprogram or entry then rewrite the access attribute to be the
1940 name of the "_object" parameter.
1941
19422012-07-12 Tristan Gingold <gingold@adacore.com>
1943
1944 * raise.h: Revert previous patch: structure is used in init.c
1945 by vms.
1946
19472012-07-12 Vincent Celier <celier@adacore.com>
1948
1949 * make.adb (Binding_Phase): If --subdirs was used, but not
1950 -P, change the working directory to the specified subdirectory
1951 before invoking gnatbind.
1952 (Linking_Phase): If --subdirs was used, but not -P, change the working
1953 directory to the specified subdirectory before invoking gnatlink.
1954
19552012-07-12 Vincent Pucci <pucci@adacore.com>
1956
1957 * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
1958 For a procedure, instead of replacing each Comp reference by a
1959 reference to Current_Comp, make a renaming Comp of Current_Comp
1960 that rewrites the original renaming generated by the compiler
1961 during the analysis. Move the declarations of the procedure
1962 inside the generated block.
1963 (Process_Stmts): Moved in the body
1964 of Build_Lock_Free_Unprotected_Subprogram_Body.
1965 (Process_Node):
1966 Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body.
1967 * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict any
1968 non-elementary out parameters in protected procedures.
1969
19702012-07-12 Thomas Quinot <quinot@adacore.com>
1971
1972 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
1973 Scalar_Storage_Order): Attribute applies to base type only.
1974
9e6a9b40 19752012-07-12 Ed Schonberg <schonberg@adacore.com>
1976
1977 * exp_aggr.adb (Convert_To_Positional): Increase acceptable size
1978 of static aggregate when Static_Elaboration_Desired is requested.
1979 Add a warning if the request cannot be satisfied either because
1980 some components or some array bounds are non-static.
1981
19822012-07-12 Thomas Quinot <quinot@adacore.com>
1983
1984 * exp_pakd.adb: Minor reformatting.
1985
19862012-07-12 Tristan Gingold <gingold@adacore.com>
1987
1988 * tracebak.c: Fix warnings.
1989 * raise-gcc.c (__gnat_adjust_context): New function
1990 (__gnat_personality_seh0): Call __gnat_adjust_context to adjust
1991 PC in machine frame for exceptions that occur in the current
1992 function.
1993
19942012-07-12 Thomas Quinot <quinot@adacore.com>
1995
1996 * g-bytswa.adb, g-bytswa.ads, s-bytswa.adb, s-bytswa.ads, Makefile.rtl:
1997 Move GNAT.Byte_Swapping to System (with a renaming under GNAT)
1998 so that it is usable in expanded code.
1999
20002012-07-12 Tristan Gingold <gingold@adacore.com>
2001
2002 * s-osinte-hpux.ads: Increase alternate stack size on hpux.
2003
f893f3ac 20042012-07-12 Javier Miranda <miranda@adacore.com>
2005
2006 * exp_ch3.adb (Make_Neq_Body): Fix typo in comment.
2007
20082012-07-12 Eric Botcazou <ebotcazou@adacore.com>
2009
2010 * tb-gcc.c (trace_callback): On IA-64/HP-UX, use workaround only
2011 if USE_LIBUNWIND_EXCEPTIONS is defined.
2012 * init.c: Further tweaks for IA-64/HP-UX.
2013
20142012-07-12 Tristan Gingold <gingold@adacore.com>
2015
2016 * raise-gcc.c: Do not include unwind-dw2-fde.h. Adjust comments.
2017 (db_region_for): Second argument is ip. Do not recompute ip.
2018 (action_kind): Remove typedef, add unhandler enum const.
2019 (action_descriptor): Adjust type of kind field.
2020 (db_action_for): Second argument is ip, do not recompute it.
2021 (get_call_site_action_for): First argument is call_site, do not
2022 recompute it. Remove useless return.
2023 (is_handled_by): Now return enum action_kind.
2024 Handle GNAT_ALL_OTHERS first.
2025 Return unhandler for GNAT_UNHANDLED_OTHERS.
2026 (get_action_description_for): First argument is now ip, do not
2027 recompute it. Adjust code for call to is_handled_by.
2028 (__gnat_notify_unhandled_exception): Add prototype.
2029 (PERSONALITY_FUNCTION): Call get_ip_from_context. Adjust calls.
2030 Handle unhandler case.
2031 (__gnat_cleanupunwind_handler): Add comments, add
2032 ATTRIBUTE_UNUSED on arguments.
2033 (__gnat_Unwind_RaiseException, __gnat_Unwind_ForcedUnwind): Define
2034 only once.
2035 * raise.h: Makes struct Exception_Data opaque.
2036
addebd97 20372012-07-12 Robert Dewar <dewar@adacore.com>
2038
2039 * make.adb, sem_ch9.adb, prj.adb, s-rident.ads, snames.ads-tmpl: Minor
2040 reformatting.
2041
20422012-07-12 Javier Miranda <miranda@adacore.com>
2043
2044 * exp_ch3.adb (Is_User_Defined_Equality): New subprogram.
2045 (Make_Neq_Body): New subprogram.
2046 (Make_Predefined_Primitive_Specs): Adding local variable
2047 Has_Predef_Eq_ Renaming to ensure that we enable the machinery
2048 which handles renamings of predefined primitive operators.
2049
3bf14af0 20502012-07-09 Pascal Obry <obry@adacore.com>
2051
2052 * prj.adb (For_Every_Project_Imported_Context): Make sure we
2053 callback with the project having sources.
2054 Minor reformatting.
2055
20562012-07-09 Eric Botcazou <ebotcazou@adacore.com>
2057
2058 * make.adb: Fix typo.
2059
155cbed1 20602012-07-09 Vincent Pucci <pucci@adacore.com>
2061
2062 * sem_ch9.adb (Check_Node): Allow attributes
2063 that denote static function for lock-free implementation.
2064 (Is_Static_Function): New routine.
2065
20662012-07-09 Tristan Gingold <gingold@adacore.com>
2067
2068 * tracebak.c: Adjust skip_frames on Win64.
2069
20702012-07-09 Tristan Gingold <gingold@adacore.com>
2071
2072 * init.c: Add __gnat_adjust_context_for_raise for ia64/hpux.
2073 * raise-gcc.c: __gnat_cleanupunwind_handler: Do not call
2074 _Unwind_GetGR on hpux when using libgcc unwinder. Part of
2075
20762012-07-09 Vincent Pucci <pucci@adacore.com>
2077
2078 * exp_attr.adb, sem_attr.adb: Minor reformatting.
2079 * par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting
2080 considering that internal attribute names are not defined anymore
2081 in the main attribute names list.
2082 * snames.adb-tmpl (Get_Attribute_Id): Special processinf
2083 for names CPU, Dispatching_Domain and Interrupt_Priority.
2084 (Is_Internal_Attribute_Name): Minor reformatting.
2085 * snames.ads-tmpl: New list of internal attribute names. Internal
2086 attributes moved at the end of the attribute Id list.
2087
1f526845 20882012-07-09 Robert Dewar <dewar@adacore.com>
2089
2090 * freeze.adb: Minor code reorganization (use Ekind_In).
2091 * exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb,
2092 sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb,
2093 sem_ch13.adb, snames.ads-tmpl: Minor reformatting.
2094
20952012-07-09 Tristan Gingold <gingold@adacore.com>
2096
2097 * raise-gcc.c: Adjust previous patch.
2098
20992012-07-09 Vincent Celier <celier@adacore.com>
2100
2101 * make.adb (Compilation_Phase): Do not build libraries in
2102 Codepeer mode (do not call Library_Phase).
2103
e2f8db26 21042012-07-09 Ed Schonberg <schonberg@adacore.com>
2105
2106 * sem_ch13.adb: Extend previous change to elementary types.
2107
21082012-07-09 Javier Miranda <miranda@adacore.com>
2109
2110 * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse
2111 previous patch since unconditionally handling as renaming_as_body
2112 renamings of predefined dispatching equality and unequality operator
2113 cause visibility problems with private overridings of the equality
2114 operator (see ACATS C854001).
2115
21162012-07-09 Vincent Pucci <pucci@adacore.com>
2117
2118 * exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in
2119 case of internal attribute names (already rejected by the parser).
2120 * par-ch13.adb (P_Representation_Clause): Complain if an internal
2121 attribute name that comes from source occurs.
2122 * par-ch4.adb (P_Name): Complain if an internal attribute name
2123 occurs in the context of an attribute reference.
2124 * par-util.adb (Signal_Bad_Attribute): Don't complain about
2125 mispelling attribute with internal attributes.
2126 * sem_attr.adb (Analyze_Attribute): Raise Program_Error in case
2127 of internal attribute names (already rejected by the parser).
2128 * snames.adb-tmpl (Is_Internal_Attribute_Name): New routine.
2129 * snames.ads-tmpl: Attributes CPU, Dispatching_Domain and
2130 Interrupt_Priority are marked as INT attributes since they
2131 don't denote real attribute and are only used internally in
2132 the compiler.
2133 (Is_Internal_Attribute_Name): New routine.
2134
f117057b 21352012-07-09 Thomas Quinot <quinot@adacore.com>
2136
2137 * einfo.adb (Set_Reverse_Storage_Order): Update assertion,
2138 flag is now valid for array types as well.
2139
21402012-07-09 Tristan Gingold <gingold@adacore.com>
2141
2142 * tracebak.c: Implement __gnat_backtrace for Win64 SEH.
2143
21442012-07-09 Robert Dewar <dewar@adacore.com>
2145
2146 * einfo.ads: Minor reformatting.
2147
21482012-07-09 Javier Miranda <miranda@adacore.com>
2149
2150 * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as
2151 renaming_as_body renamings of predefined dispatching equality
2152 and unequality operators.
2153
21542012-07-09 Robert Dewar <dewar@adacore.com>
2155
2156 * rident.ads: Do not instantiate r-ident.ads, this is now an
2157 independent unit.
2158
21592012-07-09 Javier Miranda <miranda@adacore.com>
2160
2161 * exp_disp.adb (Write_DT): Avoid runtime crash of this debugging
2162 routine.
2163 * sem_disp.adb (Find_Dispatching_Time): Protect this routine
2164 against partially decorated entities.
2165
21662012-07-09 Ed Schonberg <schonberg@adacore.com>
2167
2168 * sem_ch13.adb (Check_Size): Reject a size clause that specifies
2169 a value greater than Int'Last for a scalar type.
2170
21712012-07-09 Vincent Pucci <pucci@adacore.com>
2172
2173 * sem_ch9.adb (Allows_Lock_Free_Implementation): type must support
2174 atomic operation moved to the protected body case. No non-elementary
2175 out parameter moved to the protected declaration case. Functions have
2176 only one lock-free restriction.
2177 (Analyze_Protected_Type_Declaration): Issue a warning when
2178 Priority given with Lock_Free.
2179
21802012-07-09 Vincent Pucci <pucci@adacore.com>
2181
2182 * sem_dim.adb: Grammar of aspect Dimension fixed.
2183
21842012-07-09 Vincent Pucci <pucci@adacore.com>
2185
2186 * freeze.adb (Freeze_Record_Type): Code reorg in order to avoid
2187 pushing and popping the scope stack whenever a delayed aspect occurs.
2188
21892012-07-09 Gary Dismukes <dismukes@adacore.com>
2190
2191 * s-os_lib.ads: Remove pragma Elaborate_Body, as
2192 this is now unnecessary due to recently added pragma Preelaborate.
2193
21942012-07-09 Jose Ruiz <ruiz@adacore.com>
2195
2196 * s-taprop-mingw.adb (Set_Priority): Remove the code that was
2197 previously in place to reorder the ready queue when a task drops
2198 its priority due to the loss of inherited priority.
2199
b43a5770 22002012-07-09 Robert Dewar <dewar@adacore.com>
2201
2202 * layout.adb, i-cstrea.ads, a-ststio.ads, prj-util.ads, sem_cat.adb,
2203 s-commun.ads, s-ficobl.ads, s-os_lib.ads, s-fileio.ads: Minor
2204 reformatting.
2205
22062012-07-09 Eric Botcazou <ebotcazou@adacore.com>
2207
2208 * raise-gcc.c: Update comments. Fix typo.
2209
22102012-07-09 Thomas Quinot <quinot@adacore.com>
2211
2212 * einfo.adb, einfo.ads, sem_attr.adb, sem_ch13.adb: Attribute
2213 Scalar_Storage_Order can be defined or queried for array types as well
2214 as record types.
2215
a940e5c9 22162012-07-09 Tristan Gingold <gingold@adacore.com>
2217
2218 * a-exexpr-gcc.adb (CleanupUnwind_Handler): Now imported from
2219 raise-gcc.c
2220 * raise-gcc.c (__gnat_cleanupunwind_handler): Defined.
2221 Strictly follow the ABI convention on ia64.
2222
22232012-07-09 Gary Dismukes <dismukes@adacore.com>
2224
2225 * a-ststio.ads: Add pragma Preelaborate, per AI05-0283.
2226 * i-cstrea.ads (max_path_len): Change from variable to deferred
2227 constant to allow it to be used as a bound in string component
2228 in type System.File_IO.Temp_File_Record.
2229 * s-os_lib.ads, s-commun.ads, s-ficobl.ads, s-fileio.ads: Add pragma
2230 Preelaborate.
2231 * s-fileio.adb (Get_Case_Sensitive): Move function inside
2232 procedure Open.
2233 (File_Names_Case_Sensitive): Move variable inside
2234 procedure Open, to avoid violation of Preelaborate restriction
2235 (due to call to Get_Case_Sensitive).
2236
22372012-07-09 Ed Schonberg <schonberg@adacore.com>
2238
2239 * layout.adb (Set_Elem_Alignment): Protect against meaningless
2240 size clause, to prevent overflow in internal computation of
2241 alignment.
2242
6b34a333 22432012-07-09 Robert Dewar <dewar@adacore.com>
2244
2245 * freeze.adb, prj-util.adb, prj-util.ads, sem_ch13.adb: Minor
2246 reformatting.
2247
22482012-07-09 Gary Dismukes <dismukes@adacore.com>
2249
2250 * sem_cat.adb (Check_Categorization_Dependencies):
2251 Allow dependence of both Remote_Types and Remote_Call_Interface
2252 declarations (not just Remote_Types units) on preelaborated
2253 units, but require that the dependence be made via a private
2254 with_clause. Issue a specialized error message.
2255
960a0aad 22562012-07-09 Pascal Obry <obry@adacore.com>
2257
2258 * prj-util.adb, prj-util.ads (For_Interface_Sources): New routine.
2259
84ed7523 22602012-07-09 Tristan Gingold <gingold@adacore.com>
2261
2262 * seh_init.c (__gnat_SEH_error_handler): On Win64 and SEH,
2263 return for unknown exceptions.
2264 * raise-gcc.c (__gnat_personality_seh0): Call __gnat_SEH_error_handler.
2265
22662012-07-09 Joel Brobecker <brobecker@adacore.com brobecker>
2267
2268 * exp_dbug.ads (No_Dollar_In_Label): Delete.
2269
22702012-07-09 Vincent Pucci <pucci@adacore.com>
2271
2272 * sem_ch13.adb (Check_Overloaded_Name): New routine.
2273
22742012-07-09 Vincent Pucci <pucci@adacore.com>
2275
2276 * freeze.adb (Freeze_Record_Type): Analyze the delayed aspects of the
2277 components in a record type.
2278
22792012-07-09 Pascal Obry <obry@adacore.com>
2280
2281 * prj-util.ads: Minor reformatting.
2282
00c092f4 22832012-07-09 Tristan Gingold <gingold@adacore.com>
2284
2285 * raise-gcc.c (db_indent): Simplify style, improve comments.
2286 Remove !IN_RTS part (dead).
2287
22882012-07-09 Robert Dewar <dewar@adacore.com>
2289
2290 * usage.adb: Minor change to format of -gnatn line.
2291
22922012-07-09 Tristan Gingold <gingold@adacore.com>
2293
2294 * a-exexpr-gcc.adb: Reorder routine.
2295
e4c87fa5 22962012-07-09 Vincent Celier <celier@adacore.com>
2297
2298 * lib-writ.ads: Add documentation for the Z lines (implicitly
2299 withed units) and Y lines (limited withed units).
2300
23012012-07-09 Robert Dewar <dewar@adacore.com>
2302
2303 * lib.ads, exp_attr.adb, exp_ch9.adb, sem_dim.adb, sem_ch9.adb,
2304 sem_prag.adb, sem_ch12.adb, mlib-utl.adb, freeze.adb, sem_res.adb,
2305 sem_attr.adb, sem_case.adb, gnatlink.adb, exp_ch4.adb, sem_ch6.adb,
2306 sem_elim.adb, s-dimmks.ads, sem_ch13.adb: Minor code clean ups.
2307
23082012-07-09 Eric Botcazou <ebotcazou@adacore.com>
2309
2310 * gnat_ugn.texi (Switches for gcc): Document -gnatn[12] only
2311 lightly in the summary and more thoroughly in inlining section.
2312 (Performance Considerations): Document -gnatn[12] in inlining
2313 section.
2314
23152012-07-09 Tristan Gingold <gingold@adacore.com>
2316
2317 * a-exexpr-gcc.adb (Unhandled_Except_Handler): New procedure.
2318 (Unhandled_Others_Value): New const.
2319 * raise-gcc.c (GNAT_UNHANDLED_OTHERS): Define.
2320 (action_descriptor): Remove ttype_entry.
2321 (get_action_description_for): Do not assign ttype_entry.
2322 (is_handled_by): Consider GNAT_UNHANDLED_OTHERS.
2323
c1a30d6c 23242012-07-03 Eric Botcazou <ebotcazou@adacore.com>
2325
2326 * gcc-interface/trans.c (Call_to_gnu): Robustify test for function case
2327 if the CICO mechanism is used.
2328
0ceb8ef3 23292012-07-03 Eric Botcazou <ebotcazou@adacore.com>
2330
2331 * gcc-interface/utils2.c (build_simple_component_ref): Do not look
2332 through an extension if the type contains a placeholder.
2333
265200d0 23342012-07-03 Eric Botcazou <ebotcazou@adacore.com>
2335
2336 * exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on
2337 the designated subprogram type and also set Is_Dispatch_Table_Entity.
2338 (Expand_Interface_Thunk): Propagate the convention on the thunk.
2339 (Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on
2340 the internal view of the constructors.
2341 (Set_CPP_Constructors): Likewise.
2342 * sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the
2343 convention on the function.
2344 * gcc-interface/gigi.h (is_cplusplus_method): Declare.
2345 * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
2346 (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall'
2347 calling convention
2348 (get_minimal_subprog_decl): Likewise.
2349 (is_cplusplus_method): New predicate.
2350 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an
2351 error on access to C++ constructor or member function.
2352
66f0b044 23532012-07-03 Eric Botcazou <ebotcazou@adacore.com>
2354
2355 * gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types
2356 attached to a TYPE_DECL.
2357
06ef5f86 23582012-06-26 Vincent Pucci <pucci@adacore.com>
2359
2360 * exp_ch3.adb (Build_Init_Statements): Don't check the parents
2361 in the Rep Item Chain of the task for aspects Interrupt_Priority,
2362 Priority, CPU and Dispatching_Domain.
2363 * exp_ch9.adb (Expand_N_Task_Type_Declaration): fields _Priority,
2364 _CPU and _Domain are present in the corresponding record type
2365 only if the task entity has a pragma, attribute definition
2366 clause or aspect specification.
2367 (Make_Initialize_Protection): Don't check the parents in the Rep Item
2368 Chain of the task for aspects Interrupt_Priority, Priority, CPU and
2369 Dispatching_Domain.
2370 * freeze.adb (Freeze_Entity): Use of Evaluate_Aspects_At_Freeze_Point
2371 call replaced by Analyze_Aspects_At_Freeze_Point.
2372 * sem_ch13.adb, sem_ch13.ads (Analyze_Aspects_At_Freeze_Point):
2373 Renaming of Evaluate_Aspects_At_Freeze_Point.
2374
23752012-06-26 Yannick Moy <moy@adacore.com>
2376
2377 * sem_attr.adb (Analyze_Attribute): Detect if 'Old is used outside a
2378 postcondition, and issue an error in such a case.
2379
23802012-06-26 Yannick Moy <moy@adacore.com>
2381
2382 * gnat_rm.texi: Minor editing.
2383
23842012-06-26 Tristan Gingold <gingold@adacore.com>
2385
2386 * raise-gcc.c: Minor cleanup: remove unused prototype.
2387 * seh_init.c: Do not create an image wide unwind info to catch
2388 SEH when SEH unwind info are emitted by the compiler.
2389
367b1459 23902012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2391
2392 * gcc-interface/trans.c: Include target.h.
2393 (gigi): Try to put out .ident with targetm.asm_out.output_ident.
2394 Remove uses of ASM_OUTPUT_IDENT.
2395 * gcc-interface/Make-lang.in: Fix dependencies.
2396
ffda9ae3 23972012-06-15 Eric Botcazou <ebotcazou@adacore.com>
2398
2399 PR ada/53592
2400 * gcc-interface/gigi.h (maybe_vector_array): Make static inline.
2401 * gcc-interface/utils.c (maybe_vector_array): Delete.
2402 * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
2403 array object as addressable if it has vector type and is on the LHS.
2404
bc0dfc8d 24052012-06-15 Eric Botcazou <ebotcazou@adacore.com>
2406
2407 PR middle-end/53590
2408 * gcc-interface/misc.c (gnat_init_options_struct): Set
2409 opts->x_flag_delete_dead_exceptions to 1.
2410
d3544834 24112012-06-14 Jose Ruiz <ruiz@adacore.com>
2412
2413 * gcc-interface/Make-lang.in (ada.install-common, ada.uninstall):
2414 Use the prefix specified with the --program-prefix configure option
2415 to determine the install name of the Ada tools.
2416 (ada.all.cross): Use a for loop to iterate over the set of Ada tools
2417 instead of duplicate the same processing.
2418 Update dependencies.
2419
2b184b2f 24202012-06-14 Vincent Pucci <pucci@adacore.com>
2421
2422 * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_Symbol
2423 call replaced by Expand_Put_Call_With_Symbol call.
2424 * sem_dim.adb: New fields Unit_Names, Unit_Symbols
2425 and Dim_Symbols for record type System_Type.
2426 (From_Dimension_To_String_Of_Symbols): Removed.
2427 (From_Dim_To_Str_Of_Dim_Symbols): Renames previous
2428 routine From_Dimension_To_String_Of_Symbols.
2429 (From_Dim_To_Str_Of_Unit_Symbols): New routine.
2430 (Analyze_Aspect_Dimension): argument Symbol in aspect
2431 Dimension aggregate is optional. Named association implemented.
2432 (Has_Compile_Time_Known_Expressions): Removed.
2433 (Analyze_Aspect_Dimension_System): New
2434 component Dim_Symbol in each Dimension aggregate in
2435 aspect Dimension_System. Named associations implemented.
2436 (Add_Dimension_Vector_To_Buffer): Removed.
2437 (Add_Whole_To_Buffer): Removed.
2438 (Expand_Put_Call_With_Dimension_Symbol.): Removed.
2439 (Expand_Put_Call_With_Symbol): Renames previous routine
2440 Expand_Put_Call_With_Dimension_Symbol.
2441 (Has_Dimension_Symbols): Removed.
2442 (Has_Symbols): Renames previous routine
2443 Has_Dimension_Symbols. (Store_String_Oexpon): New routine.
2444 * sem_dim.ads (Expand_Put_Call_With_Dimension_Symbol.): Removed.
2445 (Expand_Put_Call_With_Symbol): Renames previous routine
2446 Expand_Put_Call_With_Dimension_Symbol.
2447 * s-diflio.adb, s-diinio.adb (Put): Symbol renames Symbols.
2448 (Put_Dim_Of): New routines.
2449 * s-diflio.ads, s-diinio.ads: documentation updated.
2450 (Put): Symbol renames Symbols.
2451 (Put_Dim_Of): New routines.
2452 * s-dim.ads: documentation updated.
2453 * s-dimmks.ads: dimensioned type and subtypes updated.
2454 * snames.ads-tmpl: Name_Dim_Symbol, Name_Put_Dim_Of, Name_Symbol,
2455 and Name_Unit_Symbol added. Name_Symbols removed.
2456
24572012-06-14 Vincent Pucci <pucci@adacore.com>
2458
2459 * freeze.adb (In_Exp_Body): Expression function case added.
2460 (Freeze_Expression): Insert the Freeze_Nodes
2461 list before the correct current scope in case of a quantified
2462 expression.
2463
24642012-06-14 Pascal Obry <obry@adacore.com>
2465
2466 * projects.texi: Document the Install package for gprinstall.
24672012-06-14 Ed Schonberg <schonberg@adacore.com>
2468
2469 * sem_elim.adb (Check_For_Eliminated_Subprogram): Do not check within
2470 a default expression.
2471 * sem_res.adb (Resolve_Call): simplify code.
2472
24732012-06-14 Ed Schonberg <schonberg@adacore.com>
2474
2475 * sem_case.adb (Check, Issue_Msg): within an instance, non-other
2476 values in a variant part or a case expression do not have to
2477 belong to the actual subtype.
2478
24792012-06-14 Ed Schonberg <schonberg@adacore.com>
2480
2481 * sem_ch12.adb (Validate_Derived_Type_Instance): If parent is
2482 an interface type, check whether it is itself a previous formal
2483 already instantiated in the current list of actuals.
2484
24852012-06-14 Ed Schonberg <schonberg@adacore.com>
2486
2487 * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): The
2488 expression for a stream attribute is a name that may be overloaded
2489 with other declarations. To determine whether it matches the
2490 aspect at the freeze point, it is necessary to verify that one
2491 of its interpretations matches.
2492
caf125ce 24932012-06-14 Robert Dewar <dewar@adacore.com>
2494
2495 * exp_ch7.adb, exp_util.adb, sem_aux.ads, exp_ch9.adb,
2496 sem_ch10.adb, freeze.adb, sem_util.adb, exp_ch4.adb,
2497 s-taprop-dummy.adb: Minor reformatting.
2498
24992012-06-14 Vincent Pucci <pucci@adacore.com>
2500
2501 * exp_attr.adb (Expand_N_Attribute_Reference): Lock_Free
2502 attribute case added.
2503 * par-prag.adb (Prag): Lock_Free pragma case added.
2504 * sem_attr.adb (Analyze_Attribute_Reference): Lock_Free attribute
2505 case added.
2506 * sem_ch13.adb (Analyze_Aspect_Specifications): Record_Rep_Item
2507 call added for Aspect_Lock_Free.
2508 * sem_ch9.adb (Allows_Lock_Free_Implementation): New Lock_Free
2509 error messages for subprogram bodies.
2510 (Lock_Free_Disabled): New routine.
2511 (Analyze_Protected_Body): Call to Lock_Free_Disabled added.
2512 * sem_prag.adb (Analyze_Pragma): Lock_Free pragma case added.
2513 * snames.adb-tmpl (Get_Pragma_Id): Name_Lock_Free case added.
2514 (Is_Pragma_Name): Name_Lock_Free case added.
2515 * snames.ads-tmpl: Attribute_Lock_Free and Pragma_Lock_Free added.
2516
25172012-06-14 Ed Schonberg <schonberg@adacore.com>
2518
2519 * a-coorma.adb, a-cborma.adb, a-cbhama.adb, a-ciorma.adb: Add missing
2520 aliased keyword.
2521
25222012-06-14 Bob Duff <duff@adacore.com>
2523
2524 * lib.ads, lib.adb, sem.adb (Write_Unit_Info): Move this
2525 procedure from Sem body to Lib spec, so it can be used for
2526 debugging elsewhere.
2527
25282012-06-14 Ed Schonberg <schonberg@adacore.com>
2529
2530 * sem_ch6.adb (Check_Conformance): Add Ada 2012 check on mode
2531 conformance: "aliased" must apply to both or neither formal
2532 parameters.
2533
2fec2b51 25342012-06-14 Gary Dismukes <dismukes@adacore.com>
2535
2536 * exp_ch9.adb: Minor reformatting.
2537
25382012-06-14 Thomas Quinot <quinot@adacore.com>
2539
2540 * freeze.adb (Freeze_Record_Type): Warn about useless bit order
2541 specification [when there's no component clause] regardless
2542 of whether the specified bit order is reversed or not.
2543
25442012-06-14 Tristan Gingold <gingold@adacore.com>
2545
2546 * raise-gcc.c (__gnat_personality_seh0): New function.
2547
25482012-06-14 Tristan Gingold <gingold@adacore.com>
2549
2550 * gnatname.adb (Gnatname): Make sure that dynamic table
2551 argument_data is initialized.
2552
25532012-06-14 Robert Dewar <dewar@adacore.com>
2554
2555 * sem_aux.adb: Minor code reorganization.
2556
89b3b365 25572012-06-14 Vincent Pucci <pucci@adacore.com>
2558
2559 * einfo.adb einfo.ads (Get_Rep_Item): Removed.
2560 (Get_Rep_Item_For_Entity): Removed.
2561 (Get_Rep_Pragma): Removed.
2562 (Get_Rep_Pragma_For_Entity): Removed.
2563 (Has_Rep_Item): Removed.
2564 (Has_Rep_Pragma): Removed.
2565 (Has_Rep_Pragma_For_Entity): Removed.
2566 * exp_ch9.adb (Expand_N_Task_Type_Declaration):
2567 Has_Rep_Pragma_For_Entity replaced by Has_Rep_Pragma
2568 and Get_Rep_Pragma_For_Entity replaced by Get_Rep_Pragma.
2569 (Make_Task_Create_Call): Has_Rep_Pragma_For_Entity replaced
2570 by Has_Rep_Pragma and Get_Rep_Pragma_For_Entity replaced by
2571 Get_Rep_Pragma.
2572 * exp_intr.adb: Dependency to Sem_Aux added for call to Get_Rep_Pragma.
2573 * sem_aux.adb (Get_Rep_Item): New routine.
2574 (Get_Rep_Pragma): New routine.
2575 (Has_Rep_Item): New routine.
2576 (Has_Rep_Pragma): New routine.
2577 (Nearest_Ancestor): Minor reformatting.
2578 * sem_aux.ads (Get_Rep_Item): New routine.
2579 (Get_Rep_Pragma): New routine.
2580 (Has_Rep_Item): New routine.
2581 (Has_Rep_Pragma): New routine.
2582 * sem_ch13.adb (Duplicate_Clause): Restore original error messages.
2583 * sem_eval.adb (Subtypes_Statically_Match): Get_Rep_Item_For_Entity
2584 replaced by Get_Rep_Item.
2585 * sem_prag.adb (Analyze_Pragma): Restore original error messages.
2586 (Check_Duplicate_Pragma): Restore original error messages.
2587
714e7f2d 25882012-06-14 Ed Schonberg <schonberg@adacore.com>
2589
2590 * sem_util.adb (Is_Object_Reference): in Ada 2012, qualified
2591 expressions are valid names.
2592
25932012-06-14 Ed Schonberg <schonberg@adacore.com>
2594
2595 * sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an
2596 instantiation do not emit warnings for obsolescent units. The
2597 warnings belong on the corresponding generic.
2598
25992012-06-14 Hristian Kirtchev <kirtchev@adacore.com>
2600
2601 * einfo.adb: Update the usage of Node15.
2602 (Return_Flag_Or_Transient_Decl): Removed.
2603 (Set_Return_Flag_Or_Transient_Decl): Removed.
2604 (Set_Status_Flag_Or_Transient_Decl): New routine.
2605 (Status_Flag_Or_Transient_Decl): New routine.
2606 (Write_Field15_Name): Update the output for variables and constants.
2607 * einfo.ads: Remove attribute
2608 Return_Flag_Or_Transient_Decl along with occurrences in nodes.
2609 (Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
2610 (Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
2611 (Set_Status_Flag_Or_Transient_Decl): New routine along with pragma
2612 Inline.
2613 (Status_Flag_Or_Transient_Decl): New routine along with pragma Inline.
2614 * exp_ch4.adb (Create_Alternative): New routine.
2615 (Expand_N_Conditional_Expression): Handle the case
2616 where at least one of the conditional expression
2617 alternatives prodices a controlled temporary by means of a function
2618 call.
2619 (Is_Controlled_Function_Call): New routine.
2620 (Process_Transient_Object): Update the call to
2621 Set_Return_Flag_Or_Transient_Decl.
2622 * exp_ch6.adb (Enclosing_Context): New routine.
2623 (Expand_N_Extended_Return_Statement): Update all calls to
2624 Set_Return_Flag_Or_Transient_Decl.
2625 (Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled
2626 function result when the context is a conditional expression.
2627 * exp_ch7.adb (Process_Declarations): Update all calls to
2628 Return_Flag_Or_Transient_Decl. Add processing for intermediate
2629 results of conditional expressions where one of the alternatives
2630 uses a controlled function call.
2631 (Process_Object_Declaration): Update all calls to
2632 Return_Flag_Or_Transient_Decl and rearrange the logic to process
2633 "hook" objects first.
2634 (Process_Transient_Objects): Update the call to
2635 Set_Return_Flag_Or_Transient_Decl.
2636 * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean,
2637 Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add
2638 detection for intermediate results of conditional expressions
2639 where one of the alternatives uses a controlled function call.
2640
39854e56 26412012-06-13 Eric Botcazou <ebotcazou@adacore.com>
ab19f7e4 2642
39854e56 2643 Revert
2644 2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
2645
2646 * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
2647 (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
2648 calling convention
2649 (get_minimal_subprog_decl): Likewise.
2650 (gnat_first_param_is_class): New predicate.
ab19f7e4 2651
17631aa0 26522012-06-12 Robert Dewar <dewar@adacore.com>
2653
2654 * gcc-interface/Make-lang.in: Update dependencies.
2655 * sem_ch9.ads, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb,
2656 sem_util.adb, sem_ch13.adb, sem_ch13.ads, exp_ch3.adb: Add comments.
2657 Minor reformatting.
2658
26592012-06-12 Ed Schonberg <schonberg@adacore.com>
2660
2661 * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove code that
2662 implements AI05-0296, because the actual may be overloaded.
2663 * sem_ch8.adb (Analyze_Subprogram_Renaming): and move it here,
2664 to be applied once the actual subprogram is properly resolved.
2665
89f1e35c 26662012-06-12 Robert Dewar <dewar@adacore.com>
2667
2668 * switch-c.adb, a-exexpr-gcc.adb: Minor reformatting.
2669
26702012-06-12 Vincent Pucci <pucci@adacore.com>
2671
2672 * checks.adb (Tag_Checks_Suppressed): Remove Kill_Tag_Checks check.
2673 * einfo.adb (Universal_Aliasing): Apply to the implementation
2674 base type instead of the base type.
2675 (Get_Rep_Item_For_Entity):
2676 Return a pragma if the pragma node is not present in the Rep
2677 Item chain of the parent.
2678 (Kill_Tag_Checks): Removed (unused flag).
2679 (Set_Kill_Tag_Checks): Removed.
2680 (Get_First_Rep_Item): New routine.
2681 (Get_Rep_Pragma_For_Entity): New routine.
2682 (Has_Rep_Item): New routine.
2683 (Has_Rep_Pragma_For_Entity): New routine.
2684 (Present_In_Rep_Item): New routine.
2685 * einfo.ads (Kill_Tag_Checks): Removed.
2686 (Set_Kill_Tag_Checks): Removed.
2687 (Get_First_Rep_Item): New routine.
2688 (Get_Rep_Pragma_For_Entity): New routine.
2689 (Has_Rep_Item): New routine.
2690 (Has_Rep_Pragma_For_Entity): New routine.
2691 (Present_In_Rep_Item): New routine.
2692 * exp_attr.adb, sem_attr.adb: Attribute_CPU,
2693 Attribute_Dispatching_Domain and Attribute_Interrupt_Priority
2694 case added.
2695 * exp_ch13.adb (Expand_N_Attribute_Definition_Clause): For
2696 attribute Storage_Size, insert the new assignement statement
2697 after the Size variable declaration.
2698 * exp_ch3.adb (Build_Init_Statements): Fill the CPU,
2699 Dispatching_Domain, Priority and Size components with the Rep
2700 Item expression (if any).
2701 * exp_ch9.adb (Expand_N_Task_Type_Declaration): _CPU,
2702 _Priority, _Domain fields are always present in the
2703 corresponding record type.
2704 (Find_Task_Or_Protected_Pragma): Removed.
2705 (Get_Relative_Deadline_Pragma): New routine.
2706 (Make_Initialize_Protection): Find_Task_Or_Protected_Pragma removed.
2707 (Make_Task_Create_Call): Check CPU, Size or
2708 Dispatching_Domain Rep Item is present using new routine Has_Rep_Item.
2709 * freeze.adb (Freeze_All): Push_Scope_And_Install_Discriminants
2710 and Uninstall_Discriminants_And_Pop_Scope calls added.
2711 (Freeze_Entity): Evaluate_Aspects_At_Freeze_Point call added.
2712 * sem_aux.adb (Nearest_Ancestor): Retrieve the nearest ancestor
2713 for private derived types.
2714 * sem_ch13.adb (Analyze_Aspect_Specifications): Clean-up
2715 and reordering. Delay analysis for all aspects (except some
2716 peculiar cases).
2717 (Analyze_Attribute_Definition_Clause):
2718 Attribute_CPU, Attribute_Dispatching_Domain,
2719 Interrupt_Priority and Attribute_Priority cases added.
2720 (Analyze_Freeze_Entity): Push_Scope_And_Install_Discriminants
2721 and Uninstall_Discriminants_And_Pop_Scope calls added.
2722 (Check_Aspect_At_Freeze_Point): Reordering and clean-up.
2723 (Duplicate_Clause): Issue an explicit error msg when the current
2724 clause duplicates an aspect specification, an attribute definition
2725 clause or a pragma.
2726 (Evaluate_Aspects_At_Freeze_Point): New routine.
2727 * sem_ch13.ads (Evaluate_Aspects_At_Freeze_Point): New routine.
2728 * sem_ch9.adb, sem_ch9.ads (Install_Discriminants): New routine.
2729 (Push_Scope_And_Install_Discriminants): New routine.
2730 (Uninstall_Discriminants): New routine.
2731 (Uninstall_Discriminants_And_Pop_Scope): New routine.
2732 * sem_prag.adb (Check_Duplicate_Pragma): Issue an explicit error
2733 msg when the current pragma duplicates an aspect specification,
2734 an attribute definition clause or a pragma.
2735 (Analyze_Pragma): Remove use of flags Has_Pragma_CPU,
2736 Has_Pragma_Priority and Has_Pragma_Dispatching_Domain.
2737 * sem_util.adb (Compile_Time_Constraint_Error): Don't complain
2738 about the type if the corresponding concurrent type doesn't come
2739 from source.
2740 * sinfo.adb, sinfo.ads (Has_Pragma_CPU): Removed.
2741 (Has_Pragma_Dispatching_Domain): Removed.
2742 (Has_Pragma_Priority): Removed.
2743 (Has_Task_Info_Pragma): Removed.
2744 (Has_Task_Name_Pragma): Removed.
2745 (Set_Has_Pragma_CPU): Removed.
2746 (Set_Has_Pragma_Dispatching_Domain): Removed.
2747 (Set_Has_Pragma_Priority): Removed.
2748 (Set_Has_Task_Info_Pragma): Removed.
2749 (Set_Has_Task_Name_Pragma): Removed.
2750 * snames.adb-tmpl (Get_Pragma_Id): Pragma_CPU,
2751 Pragma_Dispatching_Domain and Pragma_Interrupt_Priority added.
2752 (Is_Pragma_Name): Name_CPU, Name_Dispatching_Domain and
2753 Name_Interrupt_Priority added.
2754 * snames.ads-tmpl: Name_Dispatching_Domain, Name_CPU
2755 and Name_Interrupt_Priority moved to the list of
2756 Attribute_Name. Attribute_CPU, Attribute_Dispatching_Domain and
2757 Attribute_Interrupt_Priority added. Pragma_Dispatching_Domain,
2758 Pragma_CPU and Pragma_Interrupt_Priority moved to the end of
2759 the Pragma_Name list.
2760
a5e7b481 27612012-06-12 Arnaud Charlet <charlet@adacore.com>
2762
2763 * xref_lib.adb (Get_Full_Type): Add support for 'G'.
2764
27652012-06-12 Tristan Gingold <gingold@adacore.com>
2766
2767 * a-exexpr-gcc.adb (Unwind_Exception): Add 4 more private fields.
2768
27692012-06-12 Fedor Rybin <frybin@adacore.com>
2770
2771 * gnat_ugn.texi: Update doc on gnattest.
2772
27732012-06-12 Robert Dewar <dewar@adacore.com>
2774
2775 * sem_ch12.adb: Add comments.
2776
3e031dbf 27772012-06-12 Robert Dewar <dewar@adacore.com>
2778
2779 * switch-c.adb, inline.adb, usage.adb, opt.ads: Minor reformatting.
2780
6a8773aa 27812012-06-12 Robert Dewar <dewar@adacore.com>
2782
2783 * sem_ch12.adb: Minor reformatting.
2784
27852012-06-12 Eric Botcazou <ebotcazou@adacore.com>
2786
2787 * opt.ads (Inline_Level): New variable.
2788 * gnat1drv.adb (Adjust_Global_Switches): Set it based on optimization
2789 level if it has not been set by the user.
2790 * switch-c.adb (Scan_Front_End_Switches): Accept -gnatn1 and -gnatn2
2791 and set Inline_Level accordingly.
2792 * inline.adb (Add_Inlined_Body): Declate new Inline_Level_Type type.
2793 (Must_Inline): Return Inline_Level_T instead of Boolean to indicate
2794 whether the package of the inlined subprogram must be compiled.
2795 If Inline_Level is set to 1, only compile packages of subprograms
2796 directly called from the main unit.
2797 * usage.adb (Usage): Adjust line for -gnatn switch.
2798 * gnat_ugn.texi (Switches for gcc): Document -gnatn1 and -gnatn2.
2799
56381e22 28002012-06-12 Ed Schonberg <schonberg@adacore.com>
2801
2802 * sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply
2803 AI05-296 if the actual is overloaded. In this case The rule must
2804 be applied after resolution, in Analyze_Subprogram_Renaming.
2805
a96d5239 28062012-06-12 Robert Dewar <dewar@adacore.com>
2807
2808 * stringt.adb: Minor reformatting.
2809
28102012-06-12 Robert Dewar <dewar@adacore.com>
2811
2812 * ali-util.adb, stringt.ads: Minor reformatting.
2813
28142012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
2815
2816 * exp_ch7.adb (Process_Declarations): Handle the case where
2817 the original context has been wrapped in a block to avoid
2818 interference between exception handlers and At_End handlers.
2819 (Wrap_HSS_In_Block): Mark the block which contains the original
2820 statements of the context as being a finalization wrapper.
2821 * sinfo.adb (Is_Finalization_Wrapper): New routine.
2822 (Set_Is_Finalization_Wrapper): New routine.
2823
2824 * sinfo.ads: Add new attribute Is_Finalization_Wrapper applicable
2825 to block statemnts.
2826 (Is_Finalization_Wrapper): New routine with corresponding pragma Inline.
2827 (Set_Is_Finalization_Wrapper): New routine with corresponding pragma
2828 Inline.
2829
28302012-06-12 Steve Baird <baird@adacore.com>
2831
2832 * gnat1drv.adb (Adjust_Global_Switches): No longer need to set
2833 Exception_Extra_Info in CodePeer_Mode.
2834
37d19a65 28352012-06-12 Robert Dewar <dewar@adacore.com>
2836
2837 * sem_dist.adb, exp_ch7.adb, sem_type.adb, exp_attr.adb,
2838 sinfo.ads, sem_ch7.adb, exp_alfa.adb, sem_scil.adb, sem_ch12.adb,
2839 sem_util.adb, sem_res.adb, sem_attr.adb, sem_elab.adb, exp_ch6.adb,
2840 sem_ch4.adb, sem_warn.adb, scil_ll.adb, exp_cg.adb: Minor code
2841 reorganization.
2842
28432012-06-12 Eric Botcazou <ebotcazou@adacore.com>
2844
2845 * s-tasini.ads: Minor fix in comment.
2846
28472012-06-12 Thomas Quinot <quinot@adacore.com>
2848
2849 * freeze.adb (Freeze_Record_Type): Warn on record with
2850 Scalar_Storage_Order if there is no placed component.
2851
28522012-06-12 Thomas Quinot <quinot@adacore.com>
2853
2854 * sem_ch3.adb: Minor comment fix.
2855
28562012-06-12 Vincent Celier <celier@adacore.com>
2857
2858 * ali-util.adb (Time_Stamp_Mismatch): In minimal recompilation
2859 mode, use Stringt Mark and Release to avoid growing the Stringt
2860 internal tables uselessly.
2861 * stringt.adb (Strings_Last): New global variable
2862 (String_Chars_Last): New global variable.
2863 (Mark, Release): New procedures.
2864 * stringt.ads (Mark, Release) New procedures.
2865
f0224186 28662012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
2867
2868 * exp_ch7.adb (Process_Transient_Objects): Renamed constant
2869 Requires_Hooking to Must_Hook and replace all occurrences of the name.
2870 (Requires_Hooking): New routine. Detect all contexts that require
2871 transient variable export to the outer finalizer due to a potential
2872 exception.
2873
73c6a422 28742012-06-12 Ed Schonberg <schonberg@adacore.com>
2875
2876 * sem_ch12.adb: Small adjustment.
2877
28782012-06-12 Vincent Celier <celier@adacore.com>
2879
2880 * vms_cmds.ads (Command_Type): New enumeration value Test
2881 * vms_conv.adb (Initialize): Add component at index Test in
2882 Command_List
2883 * vms_data.ads (Test_Switches): New global variable for the
2884 switches of gnattest, currently empty.
2885
eb827c82 28862012-06-12 Ed Schonberg <schonberg@adacore.com>
2887
2888 * sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete
2889 type is tagged, so is a subtype of it.
2890 * sem_ch12.adb (Validate_Actual_Subprogram): implement AI05-0296,
2891 concerning freeze rules in the presence of formal incomplete
2892 types: a formal abstract subprogram cannot have an incomplete
2893 controlling type, and the profile of the actual subprogram does
2894 not freeze if it includes an incomplete untagged type.
2895
41d55ffb 28962012-06-12 Robert Dewar <dewar@adacore.com>
2897
2898 * a-direct.adb: Minor reformatting.
2899
29002012-06-12 Robert Dewar <dewar@adacore.com>
2901
2902 * gnat_ugn.texi: Add missing documentation for -gnatw.v and
2903 -gnatw.V.
2904
29052012-06-12 Thomas Quinot <quinot@adacore.com>
2906
2907 * sem_ch7.adb, sem_prag.adb, sem_ch12.adb, sem_ch4.adb,
2908 sem_ch13.adb: Minor rewording of error messages for unchecked unions.
2909
1d8c4b77 29102012-06-12 Robert Dewar <dewar@adacore.com>
2911
2912 * lib-xref.ads: Minor reformatting.
2913
29142012-06-12 Pascal Obry <obry@adacore.com>
2915
2916 * a-direct.adb (Delete_File): Delete symbolic links silently
2917 instead of raising the Name_Error exception when the symbolic
2918 link is pointing to a non existent file.
2919
b11ac6d5 29202012-06-12 Robert Dewar <dewar@adacore.com>
2921
2922 * xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
2923
29242012-06-12 Javier Miranda <miranda@adacore.com>
2925
2926 * lib-xref.ads Adding missing documentation.
2927
fc211e7d 29282012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
2929
2930 * exp_ch7.adb (Create_Finalizer): Add the
2931 exception reraise mechanism at the very end of the finalizer
2932 statements. This placement ensures that all objects are finalized,
2933 the secondary stack mark released and aborts undeferred before
2934 propagating an exception.
2935
29362012-06-12 Ed Schonberg <schonberg@adacore.com>
2937
2938 * sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a
2939 wrapper package. remove from visibility the original subprogram
2940 instance.
2941
29422012-06-12 Javier Miranda <miranda@adacore.com>
2943
2944 * sem_prag.adb (Process_Convention): Generate reference to entity
2945 exported to foreign language. Needed for GPS navigation.
2946 * xref_lib.adb (Parse_Identifier_Info): Parse exported entities.
2947 * lib-xref (Output_References): Output exported entities.
2948
29492012-06-12 Pascal Obry <obry@adacore.com>
2950
2951 * prj-attr.adb: Add install package and corresponding attributes.
2952 * snames.ads-tmpl (Name_Active): New constant.
2953 (Name_Exec_Subdir): Likewise.
2954 (Name_Install): Likewise.
2955 (Name_Lib_Subdir): Likewise.
2956 (Name_Project_Subdir): Likewise.
2957 (Name_Sources_Subdir): Likewise.
2958
29592012-06-12 Bob Duff <duff@adacore.com>
2960
2961 * sem_res.adb (Check_Infinite_Recursion):
2962 Suppress spurious warning on recursion after "raise with ...".
2963
608b54ce 29642012-06-12 Thomas Quinot <quinot@adacore.com>
2965
2966 * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Do
2967 not crash on illegal unchecked union that is a null record.
2968
29692012-06-12 Thomas Quinot <quinot@adacore.com>
2970
2971 * exp_ch4.adb (Has_Inferable_Discriminants): Reorganize code to
2972 treat implicit dereferences with a constrained unchecked union
2973 nominal subtype as having inferable discriminants.
2974
b6a174b7 29752012-06-12 Robert Dewar <dewar@adacore.com>
2976
2977 * sem_ch6.adb: Minor reformatting.
2978
29792012-06-12 Eric Botcazou <ebotcazou@adacore.com>
2980
2981 * gnat_ugn.texi: Couple of minor corrections.
2982
29832012-06-12 Thomas Quinot <quinot@adacore.com>
2984
2985 * sem_prag.adb (Check_Variant): An empty component list is not
2986 illegal in an unchecked union variant.
2987
5bf9d771 29882012-06-12 Gary Dismukes <dismukes@adacore.com>
2989
2990 * projects.texi: Remove comments.
2991
29922012-06-12 Thomas Quinot <quinot@adacore.com>
2993
2994 * back_end.adb (Scan_Back_End_Switches): Treat -fdump-scos as
2995 synonym of -gnateS.
2996 (gnat_post_options): Disable gimple-based SCO generator.
2997 * gnat_ugn.texi: Document that -gnateS is an obsolete synonym
2998 of -fdump-scos.
2999
30002012-06-12 Ed Schonberg <schonberg@adacore.com>
3001
3002 * sem_ch6.adb (Different_Generic_Profile): new predicate for
3003 Find_Corresponding_Spec, to handle a rare case of accidental
3004 overloading in an instance, when the profile of a subprogram body
3005 that depends on a formal type becomes compatible with that of
3006 a homonym whose profile in the generic mentions the actual type.
3007
30082012-06-12 Thomas Quinot <quinot@adacore.com>
3009
3010 * gnat1drv.adb: Minor reformatting.
3011
f4f8b6b5 30122012-06-12 Ed Schonberg <schonberg@adacore.com>
3013
3014 * sem_util.adb (Build_Explicit_Dereference): If the expression
3015 is an entity, ensure that the type of the expression is the same
3016 as that of the entity.
3017
30182012-06-12 Pat Rogers <rogers@adacore.com>
3019
3020 * projects.texi: Corrected instances of the word "build" that
3021 should be "built" instead. Other similar changes and minor
3022 punctuation changes.
3023
a5a64273 30242012-06-12 Eric Botcazou <ebotcazou@adacore.com>
3025
3026 * sem_util.adb (Is_Atomic_Object): Return true for an atomic
3027 component as well as a prefix which is an atomic component.
3028
30292012-06-12 Ed Schonberg <schonberg@adacore.com>
3030
3031 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): revert previous
3032 patch. The processing of interfacing aspects now generates a
3033 proper Ada 2005 pragma.
3034 * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
3035 Pragma_Import): revert previous patch. The processing of
3036 interfacing aspects now generates a proper Ada 2005 pragma.
3037 * sem_ch13.adb (Analyze_Aspect_Specifications): generate proper
3038 pragam for aspects Convention, Import and Export. Scan list
3039 of aspects to collect link name and external name if present,
3040 and verify that a complete pragma can be generated.
3041
39854e56 30422012-06-11 Olivier Hainque <hainque@adacore.com>
3043
3044 * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Remove
3045 $(PIC_FLAG_FOR_TARGET).
3046 (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
3047 GNATLIBCFLAGS_FOR_C passed to gnatlib.
3048 (gnatlib-shared-win32): Likewise.
3049 (gnatlib-shared-darwin): Likewise.
3050 (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to
3051 gnatlib-shared-win32.
3052
7016287f 30532012-06-11 Eric Botcazou <ebotcazou@adacore.com>
3054
3055 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZE
3056 to units before invoking allocatable_size_p on it.
3057 Remove orphaned comment. Do not use ssize_int.
3058 <E_Record_Subtype>: Traverse list in original order. Minor tweak.
3059 (allocatable_size_p): Adjust and simplify.
3060 (build_subst_list): Use consistent terminology throughout.
3061 (build_variant_list): Likewise. Traverse list in original order.
3062 (create_field_decl_from): Likewise.
3063 (copy_and_substitute_in_size): Likewise.
3064 (create_variant_part_from): Add comment about field list order.
3065 * gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int.
3066 * gcc-interface/utils2.c (build_allocator): Likewise.
3067
e45f3812 30682012-06-11 Eric Botcazou <ebotcazou@adacore.com>
3069
3070 * gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Type
3071 instead of Is_Scalar_Type for a constant with an address clause.
3072 Do not return the underlying constant for a constant used by reference
3073 if it holds the address of a constant and an lvalue is required.
3074
f29f9ff7 30752012-06-11 Eric Botcazou <ebotcazou@adacore.com>
3076
3077 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically deal
3078 with external constants wrt force_global here...
3079 <E_Constant>: ...but here instead.
3080 * gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto
3081 the list of global DECLs.
3082
5382f1dd 30832012-06-11 Eric Botcazou <ebotcazou@adacore.com>
3084
3085 * gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize on
3086 entry only for elementary types and abort if it is too large.
3087 <E_Record_Type>: Make sure the Esize is known before using it.
3088
dff12c10 30892012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3090
3091 * gcc-interface/utils2.c: Do not include output.h.
3092 * gcc-interface/Make-lang.in: Fix dependencies.
3093
7843e4bc 30942012-05-29 Michael Matz <matz@suse.de>
3095
3096 * gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl.
3097
b429b8a7 30982012-05-26 Eric Botcazou <ebotcazou@adacore.com>
3099
3100 * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
3101 (build_variant_list): Adjust to above renaming.
3102 (gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name
3103 to the type of the variant containers.
3104 (create_variant_part_from): Likewise. Give a unique name to the type
3105 of the variant part.
3106
8ffcff2e 31072012-05-25 Eric Botcazou <ebotcazou@adacore.com>
3108
3109 PR ada/52362
3110 * link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker.
3111 (__gnat_using_gnu_linker): Delete.
3112 * gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here...
3113 Declare Object_File_Option string constant and Using_GNU_response_file
3114 boolean constant.
be3c7aa1 3115 (Process_Binder_File): ...instead of here. Delete Using_GNU_Linker,
3116 Opening and Closing local variables. Do not handle the GNU linker
8ffcff2e 3117 specially.
be3c7aa1 3118 (Write_RF): New procedure to write into the response file. Escape some
3119 characters if a GNU response file is used. Keep track of error status.
3120 Invoke Write_RF to write into the response file. Delete the file only
8ffcff2e 3121 if the link was successful.
3122 * mlib-utl.adb: Do not `with' package System.
be3c7aa1 3123 (Gcc): Likewise. Declare Object_File_Option string constant and
8ffcff2e 3124 Using_GNU_response_file boolean constant.
be3c7aa1 3125 (Write_RF): Take a string instead of address and length. Escape some
8ffcff2e 3126 characters if a GNU response file is used.
be3c7aa1 3127 Invoke Write_RF to write into the response file. Delete the file only
3128 if the link was successful. Do not warn if it cannot be deleted.
8ffcff2e 3129
a7688838 31302012-05-20 Eric Botcazou <ebotcazou@adacore.com>
3131
3132 * gcc-interface/utils.c (gnat_write_global_declarations): Put a name
3133 on the dummy global variable.
3134
20a8df10 31352012-05-19 Eric Botcazou <ebotcazou@adacore.com>
3136
3137 * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
3138 (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
3139 calling convention
3140 (get_minimal_subprog_decl): Likewise.
3141 (gnat_first_param_is_class): New predicate.
3142
3143 * gcc-interface/misc.c (gnat_handle_option): Fix formatting.
3144 * gcc-interface/Makefile.in: Likewise.
3145
4b1fdfcc 31462012-05-18 Eric Botcazou <ebotcazou@adacore.com>
3147
3148 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at
3149 global level with unconstrained nominal subtype and a non-fixed size,
3150 make a variable for the size.
3151
5b4a2ac8 31522012-05-15 Andris Pavenis <andris.pavenis@iki.fi>
3153
3154 PR ada/52494
3155 * s-taprop-dummy.adb (Specific): New package.
3156
0b105f04 31572012-05-15 Olivier Hainque <hainque@adacore.com>
3158
3159 * gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS
3160 instead of trying to mimic it.
3161
7eb0e22f 31622012-05-15 Robert Dewar <dewar@adacore.com>
3163
3164 * sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor
3165 reformatting.
3166
31672012-05-15 Geert Bosch <bosch@adacore.com>
3168
3169 * uintp.adb (UI_Rem): Remove optimizations, as they are complex and are
3170 not needed.
3171 (Sum_Digits): Remove, no longer used.
3172 (Sum_Double_Digits): Likewise.
3173
31742012-05-15 Yannick Moy <moy@adacore.com>
3175
3176 * aspects.ads: Minor typo.
3177
31782012-05-15 Thomas Quinot <quinot@adacore.com>
3179
3180 * gnat_rm.texi (Scalar_Storage_Order): Fix RM reference.
3181 * sem_ch13.adb: Minor comment fix: incorrect RM reference.
3182
31832012-05-15 Eric Botcazou <ebotcazou@adacore.com>
3184
3185 * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
3186 atomicity from an object to its underlying type only if it
3187 is composite.
3188
18923d61 31892012-05-15 Ed Schonberg <schonberg@adacore.com>
3190
3191 * sem_ch5.adb (Analyze_Iterator_Specification): Set kind of
3192 loop variable after pre-analysis of iterator name, to prevent
3193 premature usage of loop variable.
3194
31952012-05-15 Ed Schonberg <schonberg@adacore.com>
3196
3197 * sem_util.adb (Is_Variable): In Ada 2012, an explicit
3198 dereference that is a rewriting of an expression whose type has
3199 a declared Implicit_Derenference aspect is a variable.
3200
30d0732d 32012012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
3202
3203 * exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The
3204 routine performs address and size adjustments for dereferences
3205 of heap-allocated controlled objects. This manipulation is needed
3206 in order to restore the original state of the memory at the time
3207 it was allocated by the finalization machinery.
3208 * rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables
3209 RE_Id and RE_Unit_Table.
3210 * sinfo.adb (Has_Dereference_Action): New routine.
3211 (Set_Has_Dereference_Action): New routine.
3212 * sinfo.ads: Add new semantic flag Has_Dereference_Action along
3213 its association in nodes.
3214 (Has_Dereference_Action): New routine and pragma Inline.
3215 (Set_Has_Dereference_Action): New routine and pragma Inline.
3216 * s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New
3217 routine.
3218
b98fca2b 32192012-05-15 Thomas Quinot <quinot@adacore.com>
3220
3221 * uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and
3222 remainder of U / Base in a single operation.
3223
32242012-05-15 Robert Dewar <dewar@adacore.com>
3225
3226 * exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb,
3227 a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb,
3228 vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting.
3229
7dc534ca 32302012-05-15 Thomas Quinot <quinot@adacore.com>
3231
3232 * exp_ch4.adb (Has_Inferable_Discriminants): For a qualified
3233 expression, use correct node for test on the subtype denoted by
3234 the subtype mark.
3235
32362012-05-15 Eric Botcazou <ebotcazou@adacore.com>
3237
3238 * inline.adb (Scope_In_Main_Unit): Rename into...
3239 (In_Main_Unit_Or_Subunit): ...this. Also return
3240 true if the subprogram is within a subunit of the
3241 main unit.
3242 (Add_Inlined_Body): Adjust for above renaming.
3243 (Add_Inlined_Subprogram): Likewise. Pass the subprogram directly.
3244 (Analyze_Inlined_Bodies): Really set aside inlined subprograms
3245 not handled by Add_Inlined_Body.
3246
984d005d 32472012-05-15 Ed Schonberg <schonberg@adacore.com>
3248
3249 * sem_ch10.adb (Expand_With_Clause): In the context of a generic
3250 package declaration, a private with-clause on a child unit implies
3251 that the implicit with clauses on its parents are private as well.
3252
32532012-05-15 Javier Miranda <miranda@adacore.com>
3254
3255 * sem_ch6.adb (Is_Interface_Conformant): Add missing call to
3256 Base_Type to handle subtypes.
3257 * exp_ch6.adb (Expand_Call): For calls located in thunks handle
3258 unchecked conversions of access types found in actuals.
3259 * exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked
3260 conversion to actuals whose type is an access type. Done to
3261 avoid reporting spurious errors.
3262
32632012-05-15 Vincent Celier <celier@adacore.com>
3264
3265 * prj-env.adb (Create_Mapping): Ignore sources that are
3266 suppressed (Create_Mapping_File.Process): Ditto
3267 * prj-nmsc.adb (Add_Source): Update to take into
3268 account suppressed files that may hide inherited sources.
3269 (Mark_Excluded_Sources): Mark excluded sources of the current
3270 project as suppressed.
3271 * prj.ads (Source_Data): New Boolean component Suppressed,
3272 defaulted to False
3273
32742012-05-15 Thomas Quinot <quinot@adacore.com>
3275
3276 * exp_intr.adb: Minor reformatting.
3277
32782012-05-15 Thomas Quinot <quinot@adacore.com>
3279
3280 * gnat_rm.texi: Document attribute Scalar_Storage_Order.
3281
32822012-05-15 Javier Miranda <miranda@adacore.com>
3283
3284 * exp_ch3.adb (Build_Offset_To_Top): Modify the
3285 expansion of the offset_to_top functions to ensure that their
3286 profile is conformant with the profile specified in Ada.Tags. No
3287 change in functionality.
3288
32892012-05-15 Eric Botcazou <ebotcazou@adacore.com>
3290
3291 * inline.adb (Subp_Info): Remove Count and Next_Nopred
3292 components, add Processed component and move around Next component.
3293 (Add_Call): Reverse meaning of Successors table to the natural one.
3294 (Add_Inlined_Body): Do not inline a package if it is in the main unit.
3295 (Add_Inlined_Subprogram): Do not add the subprogram to the list if the
3296 package is in the main unit. Do not recurse on the successors.
3297 (Add_Subp): Adjust to new contents of Subp_Info.
3298 (Analyze_Inlined_Bodies): Do not attempt
3299 to compute a topological order on the list of inlined subprograms,
3300 but compute the transitive closure from the main unit instead.
3301 (Get_Code_Unit_Entity): Always return the spec for a package.
3302
77416989 33032012-05-15 Yannick Moy <moy@adacore.com>
3304
3305 * aspects.ads: Minor addition of comments to provide info on
3306 how to add new aspects.
3307
33082012-05-15 Thomas Quinot <quinot@adacore.com>
3309
3310 * osint.ads: Minor reformatting.
3311
33122012-05-15 Thomas Quinot <quinot@adacore.com>
3313
3314 * exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads
3315 (Expand_Assign_Array): Handle the case of a packed bit array within a
3316 record with reverse storage order (assign element by element in that
3317 case).
3318 (In_Reverse_Storage_Order_Record): New subprogram,
3319 code extracted from Exp_Pakd.
3320
33212012-05-15 Yannick Moy <moy@adacore.com>
3322
3323 * a-ngelfu.ads: Add postconditions using Ada 2012
3324 aspect syntax, reflecting some of the RM requirements for these
3325 functions, from Annex A.5.1 or G.2.4.
3326
33272012-05-15 Thomas Quinot <quinot@adacore.com>
3328
3329 * adaint.c: Minor fix: move misplaced comment.
3330
33312012-05-15 Doug Rupp <rupp@adacore.com>
3332
3333 * vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage
3334 use by customers.
3335
e1cedbae 33362012-05-15 Tristan Gingold <gingold@adacore.com>
3337
3338 * a-exextr.adb: Add comment.
3339
33402012-05-15 Ed Schonberg <schonberg@adacore.com>
3341
3342 * sem_ch3.adb: Minor reformatting (remove long dead code).
3343
33442012-05-15 Ed Schonberg <schonberg@adacore.com>
3345
3346 * aspects.adb, aspects.ads: Add aspects for Convention, Export,
3347 External_Name, Import, and Link_Name.
3348 * exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the
3349 pragma comes from an aspect specification, the entity is the
3350 first argument.
3351 * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
3352 Pragma_Import): if the pragma comes from an aspect specification,
3353 the entity is the first argument, and the second has the value
3354 True by default.
3355 * sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam
3356 for aspect Convention. Add placeholders for Link_Name and
3357 External_Name.
3358
0703c8dc 33592012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
3360
3361 * exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements
3362 of the abortable part and triggering alternative after being processed
3363 for controlled objects.
3364 (Expand_N_Timed_Entry_Call): Code and comment reformatting.
3365
33662012-05-15 Robert Dewar <dewar@adacore.com>
3367
3368 * sem_util.adb: Minor code reorganization.
3369
6121886e 33702012-05-15 Robert Dewar <dewar@adacore.com>
3371
3372 * exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting.
3373
33742012-05-15 Thomas Quinot <quinot@adacore.com>
3375
3376 * sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for
3377 'Unrestricted_Access and 'Unchecked_Access (not just 'Access):
3378 even in those cases, a remote access type may only designate a
3379 remote subprogram.
3380
33812012-05-15 Thomas Quinot <quinot@adacore.com>
3382
3383 * sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring.
3384 (Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node.
3385
33862012-05-15 Ed Schonberg <schonberg@adacore.com>
3387
3388 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete
3389 checks on nested inlined subprograms.
3390
33912012-05-15 Tristan Gingold <gingold@adacore.com>
3392
3393 * fe.h (Get_RT_Exception_Name): Declare.
3394
33952012-05-15 Tristan Gingold <gingold@adacore.com>
3396
3397 * raise-gcc.c (db_region_for): Use %p + cast to avoid warnings.
3398 (get_region_description_for): Likewise.
3399 (db_action_for): Likewise.
3400 (get_call_site_action_for): Likewise.
3401 (get_ttype_entry_for): Remove useless 'const'.
3402 (PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class.
3403
34042012-05-15 Tristan Gingold <gingold@adacore.com>
3405
3406 * a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence
3407 on the stack to avoid a dynamic memory allocation.
3408
34092012-05-15 Bob Duff <duff@adacore.com>
3410
3411 * exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of
3412 E_Stats and D_Stats after Process_Statements_For_Controlled_Objects,
3413 because those calls can destroy the Statements list.
3414
f92ebffb 34152012-05-15 Tristan Gingold <gingold@adacore.com>
3416
3417 * fe.h (Get_RT_Exception_Name): Define.
3418 * types.ads (RT_Exception_Code): Update comment.
3419 * exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New
3420 procedure to get the name of the rcheck subprograms.
3421 * a-except-2005.adb (Rcheck_xx): Rename.
3422 * a-except.adb Likewise, but also keep the old Rcheck_nn routines
3423 for bootstrap.
3424 * arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check
3425 instead of __gnat_rcheck_10.
3426 * gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name
3427 to create the __gnat_rcheck routines name.
3428 * gcc-interface/Make-lang.in: Update dependencies.
3429
c075f76a 34302012-05-15 Tristan Gingold <gingold@adacore.com>
3431
3432 * exp_ch7.adb (Build_Exception_Handler): Save current
3433 occurrence only if -gnateE.
3434 (Build_Object_Declaration): Declare E_Id only if -gnateE.
3435 (Build_Raise_Statement): Call Raise_From_Controlled_Operation only if
3436 -gnateE (else raise PE).
3437 * s-soflin.adb (Save_Library_Occurrence): Handle null occurrence
3438 access.
3439 * a-except-2005.adb (Reraise_Library_Exception_If_Any): Call
3440 Raise_From_Controlled_Operation only if the saved occurrence is
3441 not null, otherwise raise PE.
3442
34432012-05-15 Yannick Moy <moy@adacore.com>
3444
3445 * exp_alfa.ads: Add comments describing the Alfa mode.
3446
504c14e8 34472012-05-15 Tristan Gingold <gingold@adacore.com>
3448
3449 * s-soflin.ads, s-soflin.adb (Save_Library_Occurrence): Parameter
3450 E is now of type Exception_Occurrence_Access.
3451 * exp_ch7.ads, exp_ch7.adb (Build_Exception_Handler): Adjust generated
3452 call to Save_Library_Occurrence.
3453
34542012-05-15 Thomas Quinot <quinot@adacore.com>
3455
3456 * exp_ch4.adb (Rewrite_Coextension): Use Insert_Action to
3457 insert temporary variable decl at the proper place in the tree.
3458
e3489cff 34592012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
3460
3461 * g-calend.adb (Split_At_Locale): New routine.
3462 (Time_Of_At_Locale): New routine.
3463 * g-calend.ads (Split_At_Locale): New routine.
3464 (Time_Of_At_Locale): New routine.
3465
34662012-05-15 Gary Dismukes <dismukes@adacore.com>
3467
3468 * a-except.ads: Minor reformatting.
3469
34702012-05-15 Ed Schonberg <schonberg@adacore.com>
3471
3472 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the loop
3473 parameter specification is part of a quantified expression, and it
3474 already carries a type, do not repeat the analysis to preserve
3475 type information: a range attribute reference may have been
3476 rewritten as a range with static bounds, and its re-analysis may
3477 type it as Integer by default, instead of the original index type.
3478
34792012-05-15 Robert Dewar <dewar@adacore.com>
3480
3481 * s-osprim-mingw.adb: Minor reformatting.
3482
3c7975d3 34832012-05-15 Arnaud Charlet <charlet@adacore.com>
3484
3485 * a-except.adb, a-except.ads (Reraise_Library_Exception_If_Any): New.
3486 Mark this unit preelaborate.
3487 * s-soflin.ads: Make package Preelaborate.
3488
1825e275 34892012-05-15 Robert Dewar <dewar@adacore.com>
3490
3491 * s-osprim-mingw.adb, sem_eval.adb, a-calend-vms.ads: Minor reformatting
3492
fa5c1550 34932012-05-15 Ed Schonberg <schonberg@adacore.com>
3494
3495 * sem_eval.adb (Subtypes_Statically_Match): In Ada 2012, static
3496 matching requires matching of static subtype predicates as well.
3497
34982012-05-15 Ed Schonberg <schonberg@adacore.com>
3499
3500 * sem_case.adb (Analyze_Choices): If the subtype of the
3501 expression has a non-static predicate, the case alternatives
3502 must cover the base type.
3503
35042012-05-15 Tristan Gingold <gingold@adacore.com>
3505
3506 * a-calend-vms.ads: Add pragma export to Split and Time_Of.
3507 Merge comments from a-calend.ads to minimize differences.
3508
35092012-05-15 Sergey Rybin <rybin@adacore.com frybin>
3510
3511 * gnat_ugn.texi: gnatmetric: add a small example that demonstrates
3512 the difference between control coupling and unit coupling.
3513
35142012-05-15 Tristan Gingold <gingold@adacore.com>
3515
3516 * bindgen.adb (Gen_Header): Remove code to emit LE_Set.
3517 (Gen_Finalize_Library): Replace test with
3518 a call to __gnat_reraise_library_exception_if_any.
3519 * s-soflin.ads (Library_Exception): Do not export.
3520 (Library_Exception_Set): Likewise.
3521 * a-except-2005.ads, a-except-2005.adb
3522 (Reraise_Library_Exception_If_Any): New procedure.
3523
f39ac8d7 35242012-05-15 Geert Bosch <bosch@adacore.com>
3525
3526 * sem_ch9.adb (Allows_Lock_Free_Implementation): out or in out
3527 parameters can be access types as well, not just scalar types,
3528 so relax the test to Is_Elementary_Type.
3529
35302012-05-15 Bob Duff <duff@adacore.com>
3531
3532 * s-atacco.ads s-atacco.adb: Replace pragma Elaborate_Body
3533 with pragma No_Body.
3534 (Xyz): Remove Xyz, which is apparently unnecessary.
3535
35362012-05-15 Tristan Gingold <gingold@adacore.com>
3537
3538 * a-calend-vms.adb: Complete previous change.
3539
35402012-05-15 Bob Duff <duff@adacore.com>
3541
3542 * s-win32.ads: Minor comment fix.
3543 * s-osprim-mingw.adb: Minor editing.
3544
a16536f8 35452012-05-15 Robert Dewar <dewar@adacore.com>
3546
3547 * exp_ch9.adb, sem_ch9.adb, sem_ch13.adb: Minor reformatting.
3548
7413d80d 35492012-05-15 Robert Dewar <dewar@adacore.com>
3550
3551 * g-comlin.adb, g-comlin.ads: Minor reformatting.
3552
35532012-05-15 Vincent Pucci <pucci@adacore.com>
3554
3555 * aspects.adb, aspects.adb: Reordering of the Aspect_Idi list. New
3556 aspect Aspect_Lock_Free.
3557 * einfo.adb, einfo.ads: New flag Uses_Lock_Free (flag 188).
3558 (Set_Uses_Lock_Free): New routine.
3559 (Uses_Lock_Free): New routine.
3560 * exp_ch7.adb (Is_Simple_Protected_Type): Return False for
3561 lock-free implementation.
3562 * exp_ch9.adb (Allows_Lock_Free_Implementation): Moved to Sem_Ch9.
3563 (Build_Lock_Free_Unprotected_Subprogram_Body): Protected
3564 procedure uses __sync_synchronise. Check both Object_Size
3565 and Value_Size.
3566 (Expand_N_Protected_Body): Lock_Free_Active
3567 renames Lock_Free_On.
3568 (Expand_N_Protected_Type_Declaration):
3569 _Object field removed for lock-free implementation.
3570 (Install_Private_Data_Declarations): Protection object removed
3571 for lock-free implementation.
3572 (Make_Initialize_Protection):
3573 Protection object initialization removed for lock-free implementation.
3574 * rtsfind.ads: RE_Atomic_Synchronize and RE_Relaxed added.
3575 * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect_Lock_Free
3576 analysis added.
3577 * sem_ch9.adb (Allows_Lock_Free_Implementation): New routine.
3578 (Analyze_Protected_Body): Allows_Lock_Free_Implementation call added.
3579 (Analyze_Protected_Type_Declaration):
3580 Allows_Lock_Free_Implementation call added.
3581 (Analyze_Single_Protected_Declaration): Second analysis of
3582 aspects removed.
3583 * s-atopri.ads: Header added.
3584 (Atomic_Synchronize): New routine.
3585
35862012-05-15 Robert Dewar <dewar@adacore.com>
3587
3588 * exp_ch7.ads: Add comment.
3589
f74ffaae 35902012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
3591
3592 * a-calend.adb (Day_Of_Week): The routine once again treats
3593 all dates as historic. (Formatting_Operations.Split): All
3594 calls to UTC_Time_Offset are now controlled through formal
3595 parameter Is_Historic. (Formatting_Operations.Time_Of):
3596 All calls to UTC_Time_Offset are now handled through
3597 formal parameter Is_Historic.
3598 (Split): Update the call to Formatting_Operations.Split.
3599 (Time_Of): Update the call to Formatting_Operations.Time_Of.
3600 (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
3601 (To_Strict_Tm): Update the call to Formatting_Operations.Split.
3602 * a-calend.ads (Split): Add new formal Is_Historic along with
3603 comment on usage. This routine is now exported for the purposes
3604 of GNAT.Calendar.Locale.
3605 (Time_Of): Remove defaults. Add new
3606 formal Is_Historic along with comment on usage. This routine is
3607 now exported for the purposes of GNAT.Calendar.Locale.
3608 * a-calend-vms.adb (Split): Update the call to
3609 Formatting_Operations.Split.
3610 (Time_Of): Update the call to Formatting_Operations.Time_Of.
3611 * a-calend-vms.ads (Split): Add new formal Is_Historic along
3612 with comment on usage. (Time_Of): Remove defaults. Add new
3613 formal Is_Historic along with comment on usage.
3614 * a-calfor.adb (Split): Update the call to
3615 Formatting_Operations.Split.
3616 (Time_Of): Update the call to Formatting_Operations.Time_Of.
f74ffaae 3617
36182012-05-15 Vincent Celier <celier@adacore.com>
3619
3620 * prj-nmsc.adb (Add_Source): Always add the source if it is
3621 excluded, to avoid incorrect duplicate checks.
3622
36232012-05-15 Yannick Moy <moy@adacore.com>
3624
3625 * sem_aux.ads: Correct typo.
3626 * sem_eval.adb (Compile_Time_Known_Value): Return False in Alfa
3627 mode for a deferred constant when outside of the scope of its
3628 full view.
3629
36302012-05-15 Emmanuel Briot <briot@adacore.com>
3631
3632 * g-comlin.adb, g-comlin.ads (Define_Switch): Allow specifying the name
3633 of the argument, for the automatic help message.
3634 (Getopt): do not systematically initialize switches with string values
3635 to the empty string, when the user has already specified a default.
3636
258a168d 36372012-05-14 Bernd Schmidt <bernds@codesourcery.com>
3638
3639 * gcc-interface/utils.c (DEF_ATTR_STRING): New.
3640
d3b7ee7c 36412012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
3642
3643 PR 53063
3644 * gcc-interface/misc.c: Include opts.h and options.h before tm.h.
3645 (gnat_handle_option): Call lang-specific generated function.
3646
4584d89f 36472012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
3648
3649 * gcc-interface/lang.opt (I): Comment out help text with no effect.
3650 (nostdinc): Comment out help text with no effect.
3651
bcd59a2b 36522012-05-12 Eric Botcazou <ebotcazou@adacore.com>
3653
3654 * gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.
3655
fbb6fbd8 36562012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3657
3658 PR 53063
3659 * gcc-interface/misc.c (gnat_parse_file): Move before ...
3660 (gnat_handle_option): ... this. Use handle_generated_option.
3661
5a1fe2db 36622012-05-10 Richard Guenther <rguenther@suse.de>
3663
3664 * gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.
3665
d349f8a8 36662012-05-06 Tristan Gingold <gingold@adacore.com>
3667
3668 * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.
3669
647b2843 36702012-05-06 Eric Botcazou <ebotcazou@adacore.com>
3671
3672 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
3673 case, use the padded type if the renamed object has an unconstrained
3674 type with default discriminant.
3675
7e48d3e6 36762012-05-06 Eric Botcazou <ebotcazou@adacore.com>
3677
3678 * gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant
3679 conditions with only one bound.
647b2843 3680 (Raise_Error_to_gnu): Likewise. New function extracted from...
3681 (gnat_to_gnu) <N_Raise_Constraint_Error>: ...here. Call above function
7e48d3e6 3682 in regular mode only.
3683
cd3ef822 36842012-05-06 Eric Botcazou <ebotcazou@adacore.com>
3685
3686 * gcc-interface/misc.c (gnat_post_options): Disable caret by default.
3687
76cb9822 36882012-05-06 Eric Botcazou <ebotcazou@adacore.com>
3689
3690 * gcc-interface/gigi.h (make_packable_type): Declare.
3691 (make_type_from_size): Likewise.
3692 (relate_alias_sets): Likewise.
3693 (maybe_pad_type): Adjust.
3694 (init_gnat_to_gnu): Delete.
3695 (destroy_gnat_to_gnu): Likewise.
3696 (init_dummy_type): Likewise.
3697 (destroy_dummy_type): Likewise.
3698 (init_gnat_utils): Declare.
3699 (destroy_gnat_utils): Likewise.
3700 (ceil_pow2): New inline function.
3701 * gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2.
3702 <object>: Pass True for the final processing of alignment and size.
3703 <E_Subprogram_Type>: Only create the TYPE_DECL for a padded return
3704 type if necessary.
3705 (round_up_to_align): Delete.
3706 (ceil_alignment): Likewise.
3707 (relate_alias_sets): Move to...
3708 (make_aligning_type): Likewise.
3709 (make_packable_type): Likewise.
3710 (maybe_pad_type): Likewise.
3711 (make_type_from_size): Likewise.
3712 * gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete.
3713 (struct pad_type_hash): New type.
3714 (pad_type_hash_table): New static variable.
3715 (init_gnat_to_gnu): Merge into...
3716 (init_dummy_type): Likewise.
3717 (init_gnat_utils): ...this. New function.
3718 (destroy_gnat_to_gnu): Merge into...
3719 (destroy_dummy_type): Likewise.
3720 (destroy_gnat_utils): ...this. New function.
3721 (pad_type_hash_marked_p): New function.
3722 (pad_type_hash_hash): Likewise.
3723 (pad_type_hash_eq): Likewise.
3724 (relate_alias_sets): ...here.
3725 (make_aligning_type): Likewise.
3726 (make_packable_type): Likewise.
3727 (maybe_pad_type): Likewise. Change same_rm_size parameter into
3728 set_rm_size; do not set TYPE_ADA_SIZE if it is false. Do not set
3729 null as Ada size. Do not set TYPE_VOLATILE on the padded type. If it
3730 is complete and has constant size, canonicalize it. Bail out earlier
3731 if a warning need not be issued.
3732 (make_type_from_size): Likewise.
3733 <INTEGER_TYPE>: Bail out if size is too large
3734 (gnat_types_compatible_p): Do not deal with padded types.
3735 (convert): Compare main variants for padded types.
3736 * gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils.
3737 (gnat_to_gnu): Do not convert at the end for a call to a function that
3738 returns an unconstrained type with default discriminant.
3739 (Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects.
3740 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise.
3741 Do not use the padded type if it is BLKmode and the inner type is
3742 non-BLKmode.
3743
38b1f0b0 37442012-05-02 Pascal Obry <obry@adacore.com>
3745
3746 Revert
3747 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
3748
fb824021 3749 * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
3750 Windows-specific make variable.
3751 (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
3752 (install-gnatlib): Respect the above during installation when set,
3753 and also install any windows import library that has been built.
3754 (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
3755 build a corresponding import library.
3756
cf951b1a 37572012-04-30 Jan Hubicka <jh@suse.cz>
3758
3759 * gcc-interface/utils.c (rest_of_subprog_body_compilation): Update
3760 comment.
3761 (gnat_write_global_declarations): Use finalize_compilation_unit.
3762
147e3036 37632012-04-30 Eric Botcazou <ebotcazou@adacore.com>
3764
3765 * gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode,
3766 do not adjust the size of a tagged type if there is a representation
3767 clause on it. Otherwise, round the adjustment up to the alignment
3768 of the first field and use the appropriate helper routine.
3769 (maybe_pad_type): Do not warn in type annotation mode on a tagged type.
3770 (gnat_to_gnu_field): Do not error out under the same circumstances.
3771 (annotate_rep): In type annotation mode, do not adjust the offset of
3772 components of a tagged type with representation clause. Otherwise,
3773 round the adjustment up to the alignment of the first field.
3774
81f9f420 37752012-04-30 Eric Botcazou <ebotcazou@adacore.com>
3776
3777 * gcc-interface/utils.c (finish_record_type): Force the traditional GCC
3778 layout for bitfields on the type if it is packed or has a representation
3779 clause and an alternate layout is available.
3780
5154a747 37812012-04-30 Eric Botcazou <ebotcazou@adacore.com>
3782
3783 * gcc-interface/gigi.h (mark_out_of_scope): Delete.
3784 (destroy_gnat_to_gnu): Declare.
3785 (destroy_dummy_type): Likewise.
3786 * gcc-interface/decl.c (mark_out_of_scope): Delete.
3787 * gcc-interface/utils.c (destroy_gnat_to_gnu): New function.
3788 (destroy_dummy_type): Likewise.
3789 * gcc-interface/trans.c (gnat_validate_uc_list): New variable.
3790 (gigi): Call validate_unchecked_conversion on gnat_validate_uc_list
147e3036 3791 after the translation is completed. Call destroy_gnat_to_gnu and
5154a747 3792 destroy_dummy_type at the end.
3793 (Subprogram_Body_to_gnu): Do not call mark_out_of_scope.
3794 (gnat_to_gnu) <N_Block_Statement>: Likewise.
3795 <N_Validate_Unchecked_Conversion>: Do not process the node, only push
3796 it onto gnat_validate_uc_list.
3797 (validate_unchecked_conversion): New function.
3798
a18430a0 37992012-04-26 Tristan Gingold <gingold@adacore.com>
3800
3801 * gcc-interface/Make-lang.in: Update dependencies.
3802 Remove s-traceb and tracebak objects from gnat1 and gnatbind (not used).
3803 Remove s-tasdeb and s-vaflop rules (not used).
3804
38052012-04-26 Olivier Hainque <hainque@adacore.com>
3806
3807 * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Default to
3808 DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE.
3809
38102012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
3811
3812 * a-calend.adb (Day_Of_Week): Keep the internal
3813 usage of UTC_Time_Offset consistent with Time_Of and Split.
3814
ce3e25d6 38152012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
3816
3817 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Do not freeze
3818 the loop variable while preanalyzing a quantified expression.
3819
38202012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
3821
3822 * a-calend.adb (Split, Time_Of): Rename parameter Is_Ada_05
3823 to Use_TZ to better illustrate its function. Update all
3824 references to the parameter.
3825 (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
3826 * a-calend.ads (Split, Time_Of): Rename parameter Is_Ada_05
3827 to Use_TZ to better illustrate its function. Update the related
3828 comment on usage.
3829 * a-calend-vms.adb (Split, Time_Of): Rename parameter
3830 Is_Ada_05 to Use_TZ to better illustrate its function. Update
3831 all references to the parameter.
3832 (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
3833 * a-calend-vms.ads (Split, Time_Of): Rename parameter Is_Ada_05
3834 to Use_TZ to better illustrate its function. Update the related
3835 comment on usage.
3836 * a-calfor.adb (Split, Time_Of): Update the call to
3837 Formatting_Operations.Time_Of.
3838 * sysdep.c (__gnat_localtime_tzoff): Dereference pointer
3839 "is_historic" and rewrite the check as a comparison. Add a
3840 comment on flag values.
3841
38422012-04-26 Robert Dewar <dewar@adacore.com>
3843
3844 * exp_ch2.adb, sem_ch8.adb: Minor reformatting.
3845
38462012-04-26 Vasiliy Fofanov <fofanov@adacore.com>
3847
3848 * a-stzunb-shared.adb, gnat_ugn.texi, a-strunb-shared.adb,
3849 a-strunb-shared.ads, uintp.adb, a-stwiun-shared.adb,
3850 a-stwiun-shared.ads, a-cbhama.ads, vms_data.ads, a-cobove.adb,
3851 a-convec.adb, sem_ch13.adb, a-cbhase.ads: Fix common misuses of the
3852 word "then" where "than" should be used in English.
3853
75f7f24d 38542012-04-26 Robert Dewar <dewar@adacore.com>
3855
3856 * sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas.
3857
38582012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
3859
3860 * s-finroo.ads: Remove with clause for
3861 Ada.Streams. Type Root_Controlled is now abstract tagged null
3862 record. Remove internal package Stream_Attributes. Root_Controlled
3863 doesn't need stream attribute redeclaration and avoids the
3864 dependency on streams.
3865
38662012-04-26 Tristan Gingold <gingold@adacore.com>
3867
3868 * adaint.c (to_host_path_spec): Removed (unused).
3869 Minor reformatting.
3870
38712012-04-26 Steve Baird <baird@adacore.com>
3872
3873 * gnat_rm.texi Improve description of Valid_Scalars attribute.
3874
38752012-04-26 Ed Schonberg <schonberg@adacore.com>
3876
3877 * sem_ch6.adb (Can_Override_Operator): If the formal is a
3878 generic type the operator cannot be overriding.
3879
38802012-04-26 Ed Schonberg <schonberg@adacore.com>
3881
3882 * sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type
3883 is declared in a package specification, and current unit is the
3884 corresponding package body. The use clauses themselves may be
3885 within a nested package.
3886
38872012-04-26 Bob Duff <duff@adacore.com>
3888
3889 * exp_ch2.adb (Param_Entity): Take into account the case where
3890 the type of the entry parameter has a representation clause.
3891
a9469533 38922012-04-26 Ed Schonberg <schonberg@adacore.com>
3893
3894 * gnat_ugn.texi: Tweak dimensionality doc.
3895
38962012-04-26 Robert Dewar <dewar@adacore.com>
3897
3898 * sem_eval.adb: Minor reformatting.
3899
0a4dc67b 39002012-04-26 Robert Dewar <dewar@adacore.com>
3901
3902 * einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb,
3903 sem_eval.adb: Minor reformatting.
3904
39052012-04-26 Thomas Quinot <quinot@adacore.com>
3906
3907 * freeze.adb: Minor change in error wording.
3908
39092012-04-26 Ed Schonberg <schonberg@adacore.com>
3910
3911 * gnat_ugn.texi: Documentation on dimensional analysis.
3912
39132012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
3914
3915 * einfo.adb, einfo.ads: Remove synthesized attribute
3916 Proper_First_Index along with its associations in various nodes.
3917 (Proper_First_Index): Removed.
3918 * sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new
3919 local variable Index_Type. The index type of a string literal
3920 subtype is that of the stored low bound.
3921 * sem_eval (Get_Static_Length): Remove the use of Proper_First_Index.
3922 * sem_res.adb (Resolve_Slice): Alphabetize constants. Add
3923 new local variable Index_Type. The index type of a
3924 string literal subtype is that of the stored low bound.
3925 (Set_String_Literal_Subtype): Code reformatting.
3926
cae6218b 39272012-04-26 Robert Dewar <dewar@adacore.com>
3928
3929 * exp_aggr.adb: Minor reformatting.
3930
39312012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
3932
3933 * exp_ch7.adb (Expand_Cleanup_Actions): Update the call to
3934 Requires_Cleanup_Actions.
3935 * exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean;
3936 Boolean)): Rename formal parameter For_Package to Lib_Level to
3937 better reflect its purpose. Update the related comment and all
3938 occurrences of For_Package in the body.
3939 (Requires_Cleanup_Actions
3940 (Node_Id; Boolean)): Add new formal parameter Lib_Level. Add
3941 local constant At_Lib_Level to keep monitor whether the path
3942 taken from the top-most context to the current construct involves
3943 package constructs. Update all calls to Requires_Cleanup_Actions.
3944 * exp_util.ads (Requires_Cleanup_Actions): Add new formal
3945 parameter Lib_Level and associated comment.
3946
39472012-04-26 Ed Schonberg <schonberg@adacore.com>
3948
3949 * sem_ch6.adb (Process_Formals): If the type of the formal is
3950 a non null access type, mark the generated subtype as having a
3951 delayed freeze only if the designated type is not frozen yet.
3952
39532012-04-26 Vincent Celier <celier@adacore.com>
3954
3955 * prj-attr.adb: New package Clean with attributes
3956 Object_Artifact_Extensions and Source_Artifact_Extensions.
3957 * prj-nmsc.adb (Process_Clean): Process new package Clean
3958 * prj.ads (Language_Config): New components
3959 Clean_Object_Artifacts and Clean_Source_Artifacts.
3960 * snames.ads-tmpl: New standard names Clean,
3961 Object_Artifact_Extensions and Source_Artifact_Extensions.
3962
a60794e6 39632012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
3964
3965 * einfo.adb (Proper_First_Index): Moved from Sem_Util.
3966 * einfo.ads: Add new synthesized attribute Proper_First_Index
3967 along with usage in nodes.
3968 (Proper_First_Index): Moved from Sem_Util.
3969 * sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo.
3970
39712012-04-26 Gary Dismukes <dismukes@adacore.com>
3972
3973 * layout.adb (Layout_Component_List): Test for the case of a
3974 single variant and the size of its component list was computed
3975 as an integer literal, and use that size (which is in bits)
3976 as is rather than converting to storage units.
3977
39782012-04-26 Robert Dewar <dewar@adacore.com>
3979
3980 * exp_aggr.adb: Minor reformatting.
3981
2884c9d1 39822012-04-26 Robert Dewar <dewar@adacore.com>
3983
3984 * sem_util.adb: Minor reformatting.
3985
39862012-04-26 Thomas Quinot <quinot@adacore.com>
3987
3988 * exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference,
3989 Packed_Array_Aggregate_Handled.Get_Component_Val):
3990 Reverse bit numbering within PAT when Reverse_Storage_Order
3991 applies to the enclosing record.
3992
39932012-04-26 Thomas Quinot <quinot@adacore.com>
3994
3995 * freeze.adb (Freeze_Record_Type): Improve error message for
3996 Scalar_Storage_Order inconsistent with Bit_Order.
3997
f572eafb 39982012-04-25 Gary Dismukes <dismukes@adacore.com>
3999
4000 * exp_ch9.adb: Add comments on the usage of the
4001 lock-free data structures.
4002
40032012-04-25 Vincent Pucci <pucci@adacore.com>
4004
4005 * exp_intr.adb (Expand_Shift): Convert the left
4006 operand and the operator when the type of the call differs from
4007 the type of the operator.
4008
40092012-04-25 Geert Bosch <bosch@adacore.com>
4010
4011 * stand.ads: Minor comment fix.
4012
40132012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
4014
4015 * sem_ch4.adb (Analyze_Slice): Handle the case where the prefix
4016 is a string literal. Retrieve the first index from the base type
4017 when slicing a string literal.
4018 * sem_ch12.adb (Check_Private_View): Move the initialization
4019 of the type inside the loop to reflect the changing index.
4020 * sem_eval.adb (Eval_Relational_Op): Retrieve the first index
4021 from the base type when dealing with a string literal.
4022 * sem_res.adb (Resolve_Slice): Retrieve the first index from
4023 the base type when slicing a string literal.
4024 * sem_util.adb (Is_Internally_Generated_Renaming): New routine.
4025 (Is_Object_Reference): String literals may act
4026 as object references only when they are renamed internally.
4027 (Proper_First_Index): New routine.
4028 * sem_util.ads (Proper_First_Index): New routine.
4029
e12ab46d 40302012-04-25 Robert Dewar <dewar@adacore.com>
4031
4032 * sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb,
4033 lib-xref.adb: Minor reformatting.
4034
40352012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
4036
4037 * exp_ch9.adb: Rename Lock_Free_Sub_Type
4038 to Lock_Free_Subprogram. Remove type Subprogram_Id.
4039 Rename LF_Sub_Table to Lock_Free_Subprogram_Table.
4040 (Allow_Lock_Free_Implementation): Renamed to
4041 Allows_Lock_Free_Implementation. Update the comment on
4042 lock-free restrictions. Code clean up and restructuring.
4043 (Build_Lock_Free_Protected_Subprogram_Body): Update the
4044 profile and related comments. Code clean up and restructuring.
4045 (Build_Lock_Free_Unprotected_Subprogram_Body): Update the
4046 profile and related comments. Code clean up and restructuring.
4047 (Comp_Of): Removed.
4048
841fbb5a 40492012-04-25 Vincent Celier <celier@adacore.com>
4050
4051 * sem_ch12.adb (Inherit_Context): Compare library units, not
4052 names of units, when checking if a unit is already in the context.
4053
40542012-04-25 Thomas Quinot <quinot@adacore.com>
4055
4056 * sem_ch3.adb: Reverse_Storage_Order must be propagated to
4057 untagged derived record types.
4058
40592012-04-25 Ed Schonberg <schonberg@adacore.com>
4060
4061 * lib-xref.adb: Adjust position of end label.
4062
ff2a5ada 40632012-04-22 Jan Hubicka <jh@suse.cz>
4064
4065 * gcc-interface/utils.c (gnat_write_global_declarations): Do not mark
4066 needed node.
4067
8efa224a 40682012-04-20 Jan Hubicka <jh@suse.cz>
4069
4070 * gcc-interface/utils.c (gnat_write_global_declarations): Update for new
4071 force_output placement.
4072
7d0d0ce1 40732012-04-14 Jan Hubicka <jh@suse.cz>
4074
4075 * gcc-interface/trans.c (finalize_nrv): Update field referenced for new
4076 cgraph/varpool layout.
4077
e6b3ff04 40782012-04-09 Mike Stump <mikestump@comcast.net>
4079
4080 * a-assert.ads: Remove execute permission.
4081 * a-chacon.ads: Likewise.
4082 * a-coteio.ads: Likewise.
4083 * a-envvar.ads: Likewise.
4084 * a-exetim-mingw.ads: Likewise.
4085 * a-fzteio.ads: Likewise.
4086 * a-izteio.ads: Likewise.
4087 * a-lcteio.ads: Likewise.
4088 * a-llctio.ads: Likewise.
4089 * a-scteio.ads: Likewise.
4090 * a-suenco.ads: Likewise.
4091 * a-suenst.ads: Likewise.
4092 * a-suewst.ads: Likewise.
4093 * a-suezst.ads: Likewise.
4094 * a-tirsfi.ads: Likewise.
4095 * a-wichha.ads: Likewise.
4096 * a-zchara.ads: Likewise.
4097 * a-zchhan.ads: Likewise.
4098 * a-zchuni.ads: Likewise.
4099 * a-zrstfi.ads: Likewise.
4100 * aspects.ads: Likewise.
4101 * g-byorma.ads: Likewise.
4102 * g-decstr.ads: Likewise.
4103 * g-encstr.ads: Likewise.
4104 * g-spchge.ads: Likewise.
4105 * g-u3spch.ads: Likewise.
4106 * g-wispch.ads: Likewise.
4107 * g-zspche.ads: Likewise.
4108 * namet-sp.ads: Likewise.
4109 * s-os_lib.ads: Likewise.
4110 * s-regexp.ads: Likewise.
4111 * s-regpat.ads: Likewise.
4112 * s-string.ads: Likewise.
4113 * s-tasloc.ads: Likewise.
4114 * s-utf_32.ads: Likewise.
4115 * sem_aux.ads: Likewise.
4116 * a-assert.adb: Likewise.
4117 * a-chacon.adb: Likewise.
4118 * a-envvar.adb: Likewise.
4119 * a-exetim-mingw.adb: Likewise.
4120 * a-suenco.adb: Likewise.
4121 * a-suenst.adb: Likewise.
4122 * a-suewst.adb: Likewise.
4123 * a-suezst.adb: Likewise.
4124 * a-tirsfi.adb: Likewise.
4125 * a-wichha.adb: Likewise.
4126 * a-zchhan.adb: Likewise.
4127 * a-zchuni.adb: Likewise.
4128 * a-zrstfi.adb: Likewise.
4129 * aspects.adb: Likewise.
4130 * g-byorma.adb: Likewise.
4131 * g-decstr.adb: Likewise.
4132 * g-encstr.adb: Likewise.
4133 * g-spchge.adb: Likewise.
4134 * g-u3spch.adb: Likewise.
4135 * g-wispch.adb: Likewise.
4136 * g-zspche.adb: Likewise.
4137 * namet-sp.adb: Likewise.
4138 * s-except.adb: Likewise.
4139 * s-inmaop-vxworks.adb: Likewise.
4140 * s-os_lib.adb: Likewise.
4141 * s-regexp.adb: Likewise.
4142 * s-regpat.adb: Likewise.
4143 * s-string.adb: Likewise.
4144 * s-tasloc.adb: Likewise.
4145 * s-utf_32.adb: Likewise.
4146 * s-wchcon.adb: Likewise.
4147 * sem_aux.adb: Likewise.
4148
2a9b01cb 41492012-04-02 Robert Dewar <dewar@adacore.com>
4150
4151 * s-atopri.ads: Minor reformatting.
4152
41532012-04-02 Thomas Quinot <quinot@adacore.com>
4154
4155 * sem_util.adb: Minor reformatting, minor code cleanup.
4156
41572012-04-02 Ed Schonberg <schonberg@adacore.com>
4158
4159 * lib-xref.adb (Generate_Reference): For a reference to an
4160 operator symbol, set the sloc to point to the first character
4161 of the operator name, and not to the initial quaote.
4162 (Output_References): Ditto for the definition of an operator
4163 symbol.
4164
41652012-04-02 Vincent Celier <celier@adacore.com>
4166
4167 * ali.adb (Scan_Ali): Recognize Z lines. Set
4168 Implicit_With_From_Instantiation to True in the With_Record for
4169 Z lines.
4170 * ali.ads (With_Record): New Boolean component
4171 Implicit_With_From_Instantiation, defaulted to False.
4172 * csinfo.adb: Indicate that Implicit_With_From_Instantiation
4173 is special
4174 * lib-writ.adb (Write_ALI): New array Implicit_With.
4175 (Collect_Withs): Set Implicit_With for the unit is it is not Yes.
4176 (Write_With_Lines): Write a Z line instead of a W line if
4177 Implicit_With is Yes for the unit.
4178 * sem_ch12.adb (Inherit_Context): Only add a unit in the context
4179 if it is not there yet.
4180 * sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12)
4181 added.
4182
7a19298b 41832012-04-02 Yannick Moy <moy@adacore.com>
4184
4185 * osint.adb, osint.ads (Add_Default_Search_Dirs): Add library
4186 search dirs in file specified with option -gnateO.
4187
41882012-04-02 Robert Dewar <dewar@adacore.com>
4189
4190 * sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb: Minor
4191 reformatting.
4192
41932012-04-02 Olivier Hainque <hainque@adacore.com>
4194
4195 * g-sse.ads: Add x86-solaris and x86_64-darwin to the set of
4196 platforms where the use of this spec is supported. Add current
4197 year to the copyright notice.
4198 * gcc-interfaces/Makefile.in: Add g-sse.o and g-ssvety.o to
4199 EXTRA_GNATRTL_NONTASKING_OBJS on x86 32/64 targets that support
4200 it and where they were missing (x86-solaris, x86-freebsd,
4201 x86_64-freebsd, and x86-darwin).
4202
42032012-04-02 Gary Dismukes <dismukes@adacore.com>
4204
4205 * bindgen.adb (Gen_Ada_Init): When compiling for the AAMP small
4206 library, where we no longer suppress the Standard_Library,
4207 generate an empty body rather than the usual generation of
4208 assignments to imported globals, since those aren't present in
4209 the small library.
4210
42112012-04-02 Ed Schonberg <schonberg@adacore.com>
4212
4213 * sinfo.ads: Minor documentation fix.
4214
42152012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
4216
4217 * sem_res.adb (Resolve_Conditional_Expression): Add local variables
4218 Else_Typ and Then_Typ. Add missing type conversions to the "then" and
4219 "else" expressions when their respective types are scalar.
4220
42212012-04-02 Vincent Pucci <pucci@adacore.com>
4222
4223 * exp_ch9.adb: Reordering of the local subprograms. New Table
4224 for the lock free implementation that maps each protected
4225 subprograms with the protected component it references.
4226 (Allow_Lock_Free_Implementation): New routine. Check if
4227 the protected body enables the lock free implementation.
4228 (Build_Lock_Free_Protected_Subprogram_Body): New routine.
4229 (Build_Lock_Free_Unprotected_Subprogram_Body): New routine.
4230 (Comp_Of): New routine.
4231 * Makefile.rtl: Add s-atopri.o
4232 * debug.adb: New compiler debug flag -gnatd9 for lock free
4233 implementation.
4234 * rtsfind.ads: RE_Atomic_Compare_Exchange_8,
4235 RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
4236 RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
4237 RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Uint8,
4238 RE_Uint16, RE_Uint32, RE_Uint64 added.
4239 * s-atropi.ads: New file. Defines atomic primitives used
4240 by the lock free implementation.
4241
0baac39e 42422012-04-02 Emmanuel Briot <briot@adacore.com>
4243
4244 * g-expect.adb (Expect_Internal): Fix leak of the input file descriptor.
4245
42462012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
4247
4248 * exp_ch4.adb (Expand_N_Quantified_Expression): Reimplemented.
4249 The expansion no longer uses the copy of the original QE created
4250 during analysis.
4251 * sem.adb (Analyze): Add processing for loop parameter specifications.
4252 * sem_ch4.adb (Analyze_Quantified_Expression): Reimplemented. The
4253 routine no longer creates a copy of the original QE. All
4254 constituents of a QE are now preanalyzed and resolved.
4255 * sem_ch5.adb (Analyze_Iteration_Scheme): Remove the guard which
4256 bypasses all processing when the iteration scheme is related to a
4257 QE. Relovate the code which analyzes loop parameter specifications
4258 to a separate routine. (Analyze_Iterator_Specification):
4259 Preanalyze the iterator name. This action was originally
4260 done in Analyze_Iteration_Scheme. Update the check which
4261 detects an iterator specification in the context of a QE.
4262 (Analyze_Loop_Parameter_Specification): New routine. This
4263 procedure allows for a stand-alone analysis of a loop parameter
4264 specification without the need of a parent iteration scheme. Add
4265 code to update the type of the loop variable when the range
4266 generates an itype and the context is a QE.
4267 (Pre_Analyze_Range): Renamed to Preanalyze_Range. Update all references
4268 to the routine.
4269 * sem_ch5.ads: Code reformatting.
4270 (Analyze_Loop_Parameter_Specification): New routine.
4271 * sem_ch6.adb (Fully_Conformant_Expressions): Detect a case
4272 when establishing conformance between two QEs utilizing different
4273 specifications.
4274 * sem_res.adb (Proper_Current_Scope): New routine.
4275 (Resolve): Do not resolve a QE as there is nothing to be done now.
4276 Ignore any loop scopes generated for QEs when detecting an expression
4277 function as the scopes are cosmetic and do not appear in the tree.
4278 (Resolve_Quantified_Expression): Removed. All resolution of
4279 QE constituents is now performed during analysis. This ensures
4280 that loop variables appearing in array aggregates are properly
4281 resolved.
4282
42832012-04-02 Ed Schonberg <schonberg@adacore.com>
4284
4285 * sem_util.adb (Build_Default_Subtype): If the base type is
4286 private and its full view is available, use the full view in
4287 the subtype declaration.
4288
d94b1a63 42892012-04-02 Jose Ruiz <ruiz@adacore.com>
4290
4291 * gnat_ugn.texi: Add some minimal documentation about how to
4292 use GNATtest for cross platforms.
4293
42942012-04-02 Vincent Celier <celier@adacore.com>
4295
4296 * opt.ads (Object_Path_File_Name): New variable.
4297 * prj-attr.adb: New Compiler attribute Object_Path_Switches.
4298 * prj-nmsc.adb (Process_Compiler): Recognize new attribute
4299 Object_Path_Switches.
4300 * snames.ads-tmpl: New standard name Object_Path_Switches.
4301 * switch-c.adb (Scan_Front_End_Switches): Recognize new switch
4302 -gnateO= and put its value in Opt.Object_Path_File_Name.
4303
849f127a 43042012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
4305
4306 * exp_ch7.adb (Process_Declarations): Detect a case where
4307 a source object was initialized by another source object,
4308 but the expression was rewritten as a class-wide conversion
4309 of Ada.Tags.Displace.
4310 * exp_util.adb (Initialized_By_Ctrl_Function): Removed.
4311 (Is_Controlled_Function_Call): New routine.
4312 (Is_Displacement_Of_Ctrl_Function_Result): Removed.
4313 (Is_Displacement_Of_Object_Or_Function_Result): New routine.
4314 (Is_Source_Object): New routine.
4315 (Requires_Cleanup_Actions): Detect a case where a source object was
4316 initialized by another source object, but the expression was rewritten
4317 as a class-wide conversion of Ada.Tags.Displace.
4318 * exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): Removed.
4319 (Is_Displacement_Of_Object_Or_Function_Result): New routine.
4320
43212012-04-02 Ed Schonberg <schonberg@adacore.com>
4322
4323 * sem_res.adb (Resolve_Call): A call to an expression function
4324 does not freeze if it appears in a different scope from the
4325 expression function itself. Such calls appear in the generated
4326 bodies of other expression functions, or in pre/postconditions
4327 of subsequent subprograms.
4328
98564bfc 43292012-04-02 Yannick Moy <moy@adacore.com>
4330
4331 * lib-xref-alfa.adb: Code clean up.
4332
43332012-04-02 Ed Schonberg <schonberg@adacore.com>
4334
4335 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Do not suppress
4336 style checks, because the subprogram instance itself may contain
4337 violations of syle rules.
4338 * style.adb (Missing_Overriding): Check for missing overriding
4339 indicator on a subprogram instance.
4340
43412012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
4342
4343 * sem_ch6.adb (Last_Implicit_Declaration): New routine.
4344 (Process_PPCs): Insert the body of _postconditions after the
4345 last internally generated declaration. This ensures that actual
4346 subtypes created for formal parameters are visible and properly
4347 frozen as _postconditions may reference them.
4348
d52c146a 43492012-04-02 Robert Dewar <dewar@adacore.com>
4350
4351 * einfo.adb (First_Component_Or_Discriminant) Now applies to
4352 all types with discriminants, not just records.
4353 * exp_attr.adb (Expand_N_Attribute): Add Scalar_Values handling
4354 for arrays, scalars and non-variant records.
4355 * sem_attr.adb (Analyze_Attribute): Handle Valid_Scalars
4356 * sem_attr.ads (Valid_Scalars): Update description
4357 * sem_util.ads, sem_util.adb (No_Scalar_Parts): New function.
4358
af403aef 43592012-03-31 Eric Botcazou <ebotcazou@adacore.com>
4360
4361 Revert
4362 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
4363
4364 * gcc-interface/decl.c (SS_MARK_NAME): New define.
4365 (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
4366 whose name is SS_MARK_NAME.
4367
d5be9f38 43682012-03-30 Robert Dewar <dewar@adacore.com>
4369
4370 * exp_ch5.adb, sem_util.adb, exp_ch4.adb: Minor comment updates.
4371
43722012-03-30 Yannick Moy <moy@adacore.com>
4373
4374 * lib-xref-alfa.adb (Add_Alfa_File): Treat possibly 2 units at the same
4375 time, putting all scopes in the same Alfa file.
4376 (Add_Alfa_Xrefs): Correct errors in comparison function. Correct value
4377 of Def component.
4378 (Collect_Alfa): Possibly pass 2 units to Add_Alfa_File.
4379
81dd521a 43802012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
4381
4382 * exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Handle a case where
4383 a build-in-place call appears as Prefix'Reference'Reference.
4384
43852012-03-30 Yannick Moy <moy@adacore.com>
4386
4387 * lib-xref-alfa.adb: Minor refactoring to remove internal package.
4388
43892012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
4390
4391 * sem_ch5.adb (Analyze_Iteration_Scheme): Preanalyze the subtype
4392 definition of a loop when the context is a quantified expression.
4393
43942012-03-30 Vincent Celier <celier@adacore.com>
4395
4396 * prj.ads: Minor comment update.
4397
8b22ebf6 43982012-03-30 Yannick Moy <moy@adacore.com>
4399
4400 * lib-xref-alfa.adb, alloc.ads, lib-xref.ads: Minor addition of
4401 comments and refactoring.
4402
6ab9aa28 44032012-03-30 Robert Dewar <dewar@adacore.com>
4404
4405 * lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code
4406 reorganization.
4407
96b0dd1e 44082012-03-30 Yannick Moy <moy@adacore.com>
4409
4410 * lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit
4411 instead of Get_Source_Unit to get file for reference.
4412 (Traverse_Compilation_Unit): Do not add scopes for generic units.
4413 * lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead
4414 of Get_Source_Unit to get file for reference.
4415 * sem_ch12.adb (Analyze_Package_Instantiation): Enable
4416 instantiation in Alfa mode.
4417
14980c45 44182012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
4419
4420 * exp_ch7.adb (Process_Declarations): Replace
4421 the call to Is_Null_Access_BIP_Func_Call with
4422 Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
4423 * exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed.
4424 (Is_Secondary_Stack_BIP_Func_Call): New routine.
4425 (Requires_Cleanup_Actions): Replace
4426 the call to Is_Null_Access_BIP_Func_Call with
4427 Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
4428 * exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed.
4429 (Is_Secondary_Stack_BIP_Func_Call): New routine.
4430
44312012-03-30 Yannick Moy <moy@adacore.com>
4432
4433 * lib-xref-alfa.adb, lib-xref.adb: Code clean ups.
4434
b4d9f546 44352012-03-30 Gary Dismukes <dismukes@adacore.com>
4436
4437 * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a
4438 loop entity which is rewritten as a renaming
4439 of the indexed array, explicitly mark the entity as needing
4440 debug info so that Materialize entity will be set later by
4441 Debug_Renaming_Declaration when the renaming is expanded.
4442
44432012-03-30 Robert Dewar <dewar@adacore.com>
4444
4445 * sem_attr.ads: Update comment.
4446
d0d085af 44472012-03-30 Vincent Celier <celier@adacore.com>
4448
4449 * prj.ads: New Dependency_Kind: ALI_Closure.
4450
44512012-03-30 Thomas Quinot <quinot@adacore.com>
4452
4453 * exp_pakd.adb: Minor reformatting.
4454
00a8e50e 44552012-03-30 Yannick Moy <moy@adacore.com>
4456
4457 * lib-xref-alfa.adb (Add_Alfa_File): Take into account possible absence
4458 of compilation unit for unit in Sdep_Table.
4459
9f071888 44602012-03-30 Thomas Quinot <quinot@adacore.com>
4461
4462 * freeze.adb (Freeze_Record_Type): For a type with reversed bit
4463 order and reversed storage order, disable front-end relayout.
4464
db056468 44652012-03-25 Eric Botcazou <ebotcazou@adacore.com>
4466
4467 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copy
4468 the TYPE_PACKED flag from the base type.
4469
3a4b0b99 44702012-03-25 Eric Botcazou <ebotcazou@adacore.com>
4471
4472 * gcc-interface/decl.c (SS_MARK_NAME): New define.
4473 (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
4474 whose name is SS_MARK_NAME.
4475
ae16f71d 44762012-03-25 Eric Botcazou <ebotcazou@adacore.com>
4477
4478 * gcc-interface/utils.c (add_parallel_type): Take a TYPE instead of a
4479 DECL and adjust. Move around.
4480 (has_parallel_type): New predicate.
4481 (rest_of_record_type_compilation): Return early if the type already
4482 has a parallel type.
4483 * gcc-interface/gigi.h (add_parallel_type): Adjust.
4484 * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
4485
96e7147a 44862012-03-25 Eric Botcazou <ebotcazou@adacore.com>
4487
4488 * gcc-interface/utils.c (finish_record_type): Return early for padded
4489 types and tidy up.
4490
fbd95193 44912012-03-20 Arnaud Charlet <charlet@adacore.com>
4492
4493 * hlo.ads, hlo.adb: Removed, no longer used.
4494 * gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies.
4495 * gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly)
4496 and compute it from EXTRA_LIBGNAT_OBJS.
4497 Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS.
4498
0a13aca8 44992012-03-20 Yannick Moy <moy@adacore.com>
4500
4501 * gnat_rm.texi, sem_attr.ads: Update documentation.
4502
9b8df6be 45032012-03-19 Yannick Moy <moy@adacore.com>
4504
4505 * sem_ch6.adb: Minor code clean up.
4506
45072012-03-19 Vincent Celier <celier@adacore.com>
4508
4509 * make.adb (Scan_Make_Arg): Make sure all significant -m switches
4510 on the command line are counted.
4511
45122012-03-19 Robert Dewar <dewar@adacore.com>
4513
4514 * sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
4515 reference case
4516
45172012-03-19 Robert Dewar <dewar@adacore.com>
4518
4519 * par-ch4.adb (Check_Bad_Exp): New procedure
4520
45212012-03-19 Robert Dewar <dewar@adacore.com>
4522
4523 * exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
4524 initial framework for Valid_Scalars attribute.
4525
45262012-03-19 Robert Dewar <dewar@adacore.com>
4527
4528 * scng.adb (Scan): Recognize incorrect preprocessor directive
4529
45302012-03-19 Robert Dewar <dewar@adacore.com>
4531
4532 * atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes
4533 * atree.ads (Num_Extension_Nodes): New variable
4534 * debug.adb: New debug flag -gnatd.N
4535 * gnat1drv.adb (Adjust_Global_Switches): Adjust
4536 Num_Extension_Nodes if -gnatd.N set
4537
45382012-03-19 Eric Botcazou <ebotcazou@adacore.com>
4539
4540 * einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
4541 descriptions.
4542
45432012-03-19 Robert Dewar <dewar@adacore.com>
4544
4545 * opt.ads: Remove HLO_Active flag.
4546 * sem.adb: Remove call of high level optimizer.
4547 * sem.ads (New_Nodes_OK): Removed.
4548 * sem_ch10.adb: Remove references to New_Nodes_OK.
4549 * switch-c.adb: Remove handling of -gnatH switch.
4550
e6ae24fa 45512012-03-19 Yannick Moy <moy@adacore.com>
4552
4553 * sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings
4554 on trivially True or False postconditions and Ensures components
4555 of contract-cases.
4556
45572012-03-19 Robert Dewar <dewar@adacore.com>
4558
4559 * gnat_ugn.texi: Fix index entry for -gnatei (now we have
4560 ug_words entry).
4561
eede3b44 45622012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
4563
4564 * sem_ch3.adb (Get_Discriminant_Value): Instead of looking
4565 at the immediate correcponsing discriminant, traverse a
4566 potential chain of discriminants produced by type derivations.
4567 (Root_Corresponding_Discriminant): Traverse a chain of inherited
4568 discriminants and return the topmost discriminant.
4569
45702012-03-19 Bob Duff <duff@adacore.com>
4571
4572 * debug.adb: Minor comment change.
4573 * gnat_ugn.texi: Update documentation for elaboration regarding
4574 indirect calls.
4575
45762012-03-19 Gary Dismukes <dismukes@adacore.com>
4577
4578 * exp_ch3.adb (Expand_N_Object_Declaration): In
4579 the case of an object of a class-wide interface type, where the
4580 declaration is rewritten as a renaming, call Set_Debug_Info_Needed
4581 on the renaming entity so that Materialize_Entity will be
4582 set. Also, change existing call (for other than interface cases)
4583 to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info
4584 (as specified for that flag).
4585
efe1035c 45862012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
4587
4588 * sem_ch4.adb (Analyze_Allocator): Detect an allocator generated
4589 by the build-in-place machinery where the designated type is
4590 indefinite, but the underlying type is not. Do not emit errors
4591 related to missing initialization in this case.
4592
45932012-03-19 Robert Dewar <dewar@adacore.com>
4594
4595 * gnat_ugn.texi: Add documentation for -gnateinnn switch.
4596 * sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting.
4597 * sem_prag.adb: Minor comment update.
4598
de2e6464 45992012-03-15 Robert Dewar <dewar@adacore.com>
4600
4601 * errout.ads: Add entry for translating -gnateinn to
4602 /MAX_INSTANTIATIONS for VMS.
4603 * hostparm.ads (Max_Instantiations): Moved to Opt.
4604 * opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed.
4605 * sem_ch12.adb (Maximum_Instantiations): New name of
4606 Max_Instantiations (Analyze_Package_Instantiation): Change error
4607 msg for too many instantiations (mention -gnateinn switch).
4608 * switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch.
4609 * switch.ads: Minor comment update.
4610 * usage.adb (Usage): Output line for -maxeinn switch.
4611 * vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn).
4612
46132012-03-15 Yannick Moy <moy@adacore.com>
4614
4615 * alfa.ads Update the decription of ALI sections.
4616 (Alfa_File_Record): Add a component Unit_File_Name to store the
4617 unit file name for subunits.
4618 * get_alfa.adb, put_alfa.adb Adapt to the possible presence of
4619 a unit file name.
4620 * lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the
4621 file name of the unit.
4622
46232012-03-15 Yannick Moy <moy@adacore.com>
4624
4625 * sem_ch6.adb (Check_Subprogram_Contract): Do
4626 not issue warning on missing 'Result in postcondition if all
4627 postconditions and contract-cases already get a warning for only
4628 referring to pre-state.
4629
46302012-03-15 Bob Duff <duff@adacore.com>
4631
4632 * debug.adb: Add new debug switch -gnatd.U, which disables the
4633 support added below, in case someone trips over a cycle, and needs
4634 to disable this.
4635 * sem_attr.adb (Analyze_Access_Attribute):
4636 Treat Subp'Access as a call for elaboration purposes.
4637 * sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support
4638 for Subp'Access.
4639
239fc533 46402012-03-15 Vincent Pucci <pucci@adacore.com>
4641
4642 * sem.ads, sem.adb (Preanalyze): New routine.
4643 * sem_ch4.adb (Analyze_Quantified_Expression): Call to the
4644 Preanalyze routine in Sem added. Renaming of Needs_Expansion
4645 into Need_Preanalysis.
4646 * sem_ch6.adb (Preanalyze): Removed.
4647
fc859004 46482012-03-15 Robert Dewar <dewar@adacore.com>
4649
4650 * sem_ch4.adb (Analyze_Quantified_Expression): Add comment.
4651 * sem_prag.adb: Minor comment additions.
4652 * sem_attr.adb (Check_First_Last_Valid): Make sure prefix type
4653 is frozen.
4654
ef3d7c7d 46552012-03-15 Vincent Pucci <pucci@adacore.com>
4656
4657 * sem_ch4.adb (Analyze_Quantified_Expression):
4658 Preanalyze the condition when the quantified expression will be
4659 further expanded.
4660
46612012-03-15 Yannick Moy <moy@adacore.com>
4662
4663 * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb,
4664 sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma,
4665 to refer to both Test_Case pragma and Contract_Case pragma (same
4666 acronym as in Spec_CTC_List).
4667
defed25d 46682012-03-15 Robert Dewar <dewar@adacore.com>
4669
4670 * sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb,
4671 sem_warn.adb: Minor reformatting.
4672
469bbc18 46732012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
4674
4675 * exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over
4676 selector names as the function call always appears at the top selected
4677 component.
4678
46792012-03-15 Ed Schonberg <schonberg@adacore.com>
4680
4681 * sem_ch12.adb (Validate_Access_Subprogram_Instance): keep
4682 Mode_Conformance check for older versions of the language.
4683
46842012-03-15 Yannick Moy <moy@adacore.com>
4685
4686 * gnat_ugn.texi Document the extension of option -gnatw.t.
4687 * sem_ch3.adb (Analyze_Declaration): Check for suspicious
4688 contracts only after contract cases have been semantically
4689 analyzed.
4690 * sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures
4691 components of contract cases for detecting suspicious contracts.
4692
fad014fe 46932012-03-15 Yannick Moy <moy@adacore.com>
4694
4695 * aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect
4696 Aspect_Contract_Case.
4697 * gnat_rm.texi Document the new pragma/aspect
4698 Contract_Case. Correct the documentation of the existing
4699 pragma/aspect Test_Case with the new semantics.
4700 * sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the
4701 Ensures component of a Contract_Case pragma.
4702 * sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect
4703 and translate it into a pragma.
4704 (Check_Aspect_At_Freeze_Point): Take into account the new aspect.
4705 * sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case)
4706 into CTC (for contract and test case).
4707 * sem_ch6.adb (Process_PPCs): Generate Check pragmas from
4708 Contract_Case pragmas, similarly to what is done already for
4709 postconditions.
4710 * sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case):
4711 Renaming of Check_Test_Case.
4712 (Analyze_Pragma, Sig_Flags): Take into account the new pragma.
4713 * sem_util.adb, sem_util.ads Renaming to take into account the
4714 new pragma, so that functions which applied only to Test_Case
4715 now apply to both Test_Case and Contract_Case.
4716 * par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account
4717 the new pragma.
4718
3b8208fd 47192012-03-15 Robert Dewar <dewar@adacore.com>
4720
4721 * sem_ch6.ads: Minor comment updates.
4722 * sem_ch12.adb: Minor comment clarification.
4723
ad3ac5aa 47242012-03-15 Robert Dewar <dewar@adacore.com>
4725
4726 * sem_ch5.adb: Minor reformatting.
4727
47282012-03-15 Ed Schonberg <schonberg@adacore.com>
4729
4730 * exp_ch3.adb (Expand_N_Object_Declaration): When rewriting the
4731 declaration of a class-wide object, retain the Ekind to prevent
4732 subsequent misuse of constants.
4733
47342012-03-15 Yannick Moy <moy@adacore.com>
4735
4736 * gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant
4737 terminology.
4738
47392012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
4740
4741 * exp_util.adb (Initialized_By_Ctrl_Function): Add code to
4742 process the case when a function call appears in object.operation
4743 format.
4744
47452012-03-15 Ed Schonberg <schonberg@adacore.com>
4746
4747 * sem_ch6.ads, sem_ch6.adb (Check_Subtype_Conformant): add
4748 Get_Inst formal, so that conformance within an instantiation
4749 follows renamings of formals. This is similar to what is already
4750 done in Check_Mode_conformant.
4751 * sem_ch12.adb (Vailidate_Access_Subprogram_Instance): check that
4752 formal and actual are subtype conformant. Previously only mode
4753 conformance was required.
4754
1b24a6cb 47552012-03-15 Robert Dewar <dewar@adacore.com>
4756
4757 * par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads,
4758 sem_case.adb: Minor reformatting.
4759
47602012-03-15 Robert Dewar <dewar@adacore.com>
4761
4762 * exp_attr.adb (Expand_N_Attribute_Reference): Add handling
4763 of First_Valid/Last_Valid.
4764 * sem_attr.adb (Check_First_Last_Valid): New procedure
4765 (Analyze_Attribute): Add handling of First_Valid and Last_Valid
4766 (Eval_Attribute): ditto.
4767 * snames.ads-tmpl: Add entries for First_Valid and Last_Valid.
4768
47692012-03-15 Ed Schonberg <schonberg@adacore.com>
4770
4771 * exp_ch5.adb (Expand_Predicated_Loop): Suppress warnings on
4772 loop variable, for the unusual case where the range has a single
4773 element and the loop variable has no visible assignment to it.
4774
47752012-03-15 Vincent Pucci <pucci@adacore.com>
4776
4777 * exp_ch4.adb (Expand_N_Quantified_Expression): Expand the
4778 original quantified expression node.
4779 * sem_ch4.adb (Analyze_Quantified_Expression): Properly analyze
4780 the quantified expression and preserve the original non-analyzed
4781 quantified expression when an expansion is needed.
4782 * sem_ch5.adb (Analyze_Iteration_Scheme): Special treatment
4783 for quantified expressions.
4784 (Analyze_Iterator_Specification): Special treatment for quantified
4785 expressions.
4786
47872012-03-15 Ed Falis <falis@adacore.com>
4788
4789 * s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad
4790 field matches VxWorks headers.
4791
5641963c 47922012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4793
4794 * gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.
4795
4796 * a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
4797 s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
4798 s-osinte-irix.ads, s-proinf-irix-athread.adb,
4799 s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
4800 system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
4801 Remove.
4802
4803 * adaint.c [__mips && __sgi]: Remove.
4804 (__gnat_number_of_cpus) [__mips && __sgi]: Remove.
4805 [IS_CROSS && !(__mips && __sgi)]: Remove.
4806 * adaint.h [sgi && _LFAPI]: Remove.
4807 * cstreams.c (__gnat_full_name) [sgi]: Remove.
4808 * env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
4809 (__gnat_clearenv) [__mips && __sgi]: Remove.
4810 * errno.c (_SGI_MP_SOURCE): Remove.
4811 * gsocket.h [sgi]: Remove.
4812 * init.c: Remove IRIX reference.
4813 [sgi]: Remove.
4814 * link.c [sgi]: Remove.
4815 * s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
4816 (main) [__mips && __sgi] (MAX_tv_sec): Don't define.
4817 (CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
4818 * sysdep.c [sgi]: Remove.
4819 (getc_immediate_common) [sgi]: Remove.
4820 (__gnat_localtime_tzoff) [sgi]: Remove.
4821 * terminals.c [__mips && __sgi] (IRIX): Don't define.
4822 [IRIX] (USE_GETPTY): Don't define.
4823 (allocate_pty_desc) [USE_GETPTY]: Remove.
4824
4825 * g-traceb.ads: Remove IRIX reference.
4826 * g-trasym.ads: Likewise.
4827 * memtrack.adb: Likewise.
4828 * s-interr-sigaction.adb: Likewise.
4829
4830 * gnat_rm.texi (Implementation Advice): Remove SGI info.
4831 (Implementation Defined Characteristics): Likewise.
4832 * gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
4833 Remove.
4834 (Irix-Specific Considerations): Remove.
4835
cb30e799 48362012-03-13 Tristan Gingold <gingold@adacore.com>
4837
4838 * gcc-interface/gigi.h (flag_vms_malloc64): Refine condition.
4839
1e958bb8 48402012-03-13 Tristan Gingold <gingold@adacore.com>
4841
4842 * sysdep.c: Adjust condition after removal of __osf__.
4843
dd0cd1e4 48442012-03-12 Eric Botcazou <ebotcazou@adacore.com>
4845
4846 * gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill.
4847 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call
4848 to above function.
4849 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust
4850 handling of thin pointers.
4851 <Attr_Descriptor_Size>: Likewise.
4852 (gnat_to_gnu) <N_Free_Statement>: Likewise.
4853 * gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill.
4854 (convert_to_fat_pointer): Adjust handling of thin pointers.
4855 (convert) <POINTER_TYPE>: Likewise.
4856 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
4857
126b6848 48582012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4859
4860 * gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
4861 * a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
4862 s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
4863 s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
4864 system-tru64.ads: Remove.
4865
4866 * adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
4867 Remove.
4868 [IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
4869 * env.c [__alpha__ && __osf__]: Remove.
4870 * gsocket.h (_OSF_SOURCE): Remove.
4871 (HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
4872 * init.c [__alpha__ && __osf__]: Remove.
4873 * link.c [__osf__]: Remove.
4874 * s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
4875 [__osf__ && !_SS_MAXSIZE]: Remove.
4876 * sysdep.c [__osf__]: Remove.
4877 * terminals.c [__alpha__ && __osf__]: Remove.
4878 [OSF1]: Remove.
4879
4880 * g-traceb.ads: Remove Tru64 reference.
4881 * g-trasym.ads: Likewise.
4882 * gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
4883 (Summary of Run-Time Configurations): Likewise.
4884 * memtrack.adb: Likewise.
4885
8f852c44 48862012-03-12 Tristan Gingold <gingold@adacore.com>
4887
4888 * gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64
4889 instead of TARGET_MALLOC64.
4890 * gcc-interface/gigi.h (flag_vms_malloc64): Define instead
4891 of TARGET_MALLOC64.
4892
1b989431 48932012-03-09 Robert Dewar <dewar@adacore.com>
4894
4895 * a-direct.adb, comperr.adb, freeze.adb: Minor reformatting.
4896
48972012-03-09 Arnaud Charlet <charlet@adacore.com>
4898
4899 * s-taskin.adb (Initialize_ATCB): Set Task_Image_Len to
4900 0 so that we never access this field uninitialized (e.g. in
4901 Task_Primitives.Operations.Enter_Task for the environment task).
4902
49032012-03-09 Vincent Pucci <pucci@adacore.com>
4904
4905 * exp_ch5.adb (Expand_Iterator_Loop):
4906 Call to Expand_Iterator_Loop_Over_Array added.
4907 (Expand_Iterator_Loop_Over_Array): New routine. Expansion of
4908 "of" iterator loop over arrays. Multidimensional array case added.
4909
49102012-03-09 Eric Botcazou <ebotcazou@adacore.com>
4911
4912 * uintp.ads: Fix minor pasto in comment.
4913
b7b74740 49142012-03-09 Vasiliy Fofanov <fofanov@adacore.com>
4915
4916 * a-direct.adb: Do not strip the trailing directory separator
4917 from path, as this is already done inside Normalize_Pathname;
4918 doing it again produces the wrong result on Windows for the
4919 drive's root dir (i.e. "X:\" becomes "X:").
4920
49212012-03-09 Thomas Quinot <quinot@adacore.com>
4922
4923 * exp_attr.adb, freeze.adb, sem_attr.adb, aspects.adb, aspects.ads,
4924 sem_ch13.adb, snames.ads-tmpl (Exp_Attr.Expand_N_Attribute_Reference):
4925 Add Attribute_Scalar_Storage_Order.
4926 (Sem_Attr.Analyze_Attribute, Eval_Attribute): Ditto.
4927 (Aspects): Add Aspect_Scalar_Storage_Order (Snames): Add
4928 Name_Scalar_Storage_Order and Attribute_Scalar_Storage_Order.
4929 (Sem_Ch13.Analyze_Attribute_Definition_Clause): Add processing
4930 for Scalar_Storage_Order.
4931 (Freeze): If Scalar_Storage_Order is specified, check that it
4932 is compatible with Bit_Order.
4933
385d80fe 49342012-03-09 Robert Dewar <dewar@adacore.com>
4935
4936 * s-osinte-linux.ads, sem_util.adb, s-taprop-linux.adb, exp_ch4.adb,
4937 a-strsup.ads, sem_ch6.adb, a-stwisu.ads, exp_ch3.adb,
4938 a-stzsup.ads: Minor reformatting.
4939
49402012-03-09 Thomas Quinot <quinot@adacore.com>
4941
4942 * s-ransee-vms.adb: Minor reformatting.
4943
49442012-03-09 Arnaud Charlet <charlet@adacore.com>
4945
4946 * comperr.adb (Delete_SCIL_Files): Fix handling of
4947 N_Package_Renaming_Declaration and N_Generic_Package_Declaration.
4948
2608e824 49492012-03-09 Javier Miranda <miranda@adacore.com>
4950
4951 * sem_ch6.adb (Check_Body_To_Inline): In AAMP and VM targets
4952 use frontend inlining at all optimization levels.
4953 * sem_util.adb (Must_Inline): In AAMP and VM targets, given that
4954 there is no inlining support in the backend, use also frontend
4955 inlining when compiling with optimizations enabled.
4956 * exp_ch6.adb (Expand_Call): Minor code reorganization.
4957
7b4b0e11 49582012-03-09 Eric Botcazou <ebotcazou@adacore.com>
4959
4960 * gcc-interface/ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around.
4961 (TYPE_UNCONSTRAINED_ARRAY): Adjust comment.
4962 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Tidy
4963 up. Add comment and use canonical predicate for thin pointers.
4964 (gnat_to_gnu) <N_Free_Statement>: Tidy up and reorder. Add comment
4965 and use canonical predicate for thin pointers.
4966 * gcc-interface/utils.c (convert_to_fat_pointer): Remove superfluous
4967 'else' and use standard name.
4968 (convert_to_thin_pointer): Delete.
4969 (convert) <POINTER_TYPE>: Do the difference in sizetype directly and
4970 change obsolete idioms. Do not call above function.
4971 (unchecked_convert): Fix formatting.
4972 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: In the thin
4973 pointer case, use byte_position to get the field position.
4974
a9e7ff04 49752012-03-07 Eric Botcazou <ebotcazou@adacore.com>
4976
4977 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the
4978 DECL node built for a type which has a non-trivial equivalent type.
4979
3fb9f0d4 49802012-03-07 Eric Botcazou <ebotcazou@adacore.com>
4981
4982 * gcc-interface/gigi.h (rest_of_type_decl_compilation): Delete.
4983 * gcc-interface/decl.c (defer_finalize_level): Likewise.
4984 (defer_finalize_list): Likewise.
4985 (gnat_to_gnu_entity): Delete references to above variables and do not
4986 call rest_of_type_decl_compilation.
4987 (rest_of_type_decl_compilation): Delete.
4988 (rest_of_type_decl_compilation_no_defer): Likewise.
4989 * gcc-interface/utils.c (rest_of_record_type_compilation): Do not call
4990 rest_of_type_decl_compilation.
4991 (create_type_decl): Likewise.
4992 (update_pointer_to): Likewise.
4993
97995ac1 49942012-03-07 Eric Botcazou <ebotcazou@adacore.com>
4995
4996 * gcc-interface/trans.c (Identifier_to_gnu): Don't unshare initializer.
4997 (add_decl_expr): Mark external DECLs as used.
4998 * gcc-interface/utils.c (convert) <CONSTRUCTOR>: Copy the vector.
4999
4e2b92f6 50002012-03-07 Tristan Gingold <gingold@adacore.com>
5001
5002 * s-ransee-vms.adb: New file.
5003 * gcc-interface/Makefile.in: Use s-ransee-vms.adb on VMS.
5004 * gcc-interface/Make-lang.in: Update dependencies.
5005
de4993fc 50062012-03-07 Bob Duff <duff@adacore.com>
5007
5008 * rtsfind.ads: Add support for finding Super_String types.
5009 * sem_util.ads, sem_util.adb (Is_Bounded_String): New function
5010 to determine whether a given type is a bounded string type.
5011 (Is_Fully_Initialized_Type): Return True for bounded
5012 string types, to suppress bogus warnings.
5013 * exp_ch4.adb (Expand_Composite_Equality): Special case for bounded
5014 strings: equality composes. This allows us to remove default values in
5015 super strings.
5016 * a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments.
5017 * exp_ch3.adb (Expand_Freeze_Record_Type): Comment.
5018
019bce56 50192012-03-07 Robert Dewar <dewar@adacore.com>
5020
5021 * sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor
5022 reformatting.
5023
50242012-03-07 Sergey Rybin <rybin@adacore.com frybin>
5025
5026 * gnat_ugn.texi: gnatpp: fix paragraph about sources with
5027 preprocessor directives.
5028
50292012-03-07 Arnaud Charlet <charlet@adacore.com>
5030
5031 * s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function.
5032 (Enter_Task): Call prctl when relevant.
5033
50342012-03-07 Tristan Gingold <gingold@adacore.com>
5035
5036 * s-osinte-vms.ads: pthread_mutex_setname_np: new function.
5037
50cab70b 50382012-03-07 Ed Schonberg <schonberg@adacore.com>
5039
5040 * sem_ch6.adb (Process_Formals): a generic subprogram with
5041 a formal incomplete type does not require a freeze node.
5042
50432012-03-07 Bob Duff <duff@adacore.com>
5044
5045 * sem_util.ads: Minor reformatting.
5046
50472012-03-07 Geert Bosch <bosch@adacore.com>
5048
5049 * targparm.ads: New target parameter Atomic_Sync_Default,
5050 defaulting to True.
5051 * targparm.adb (Get_Target_Parameters): Add processing for
5052 Atomic_Sync_Default.
5053 * gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options
5054 based on ASD.
5055
9ef23ec9 50562012-03-07 Javier Miranda <miranda@adacore.com>
5057
5058 * sem_ch3.adb (Analyze_Object_Declaration): If the object
5059 declaration has an init expression then stop the analysis of the
5060 object declaration if the expression which initializes the object
5061 is a call to an inlined function which returns an unconstrained
5062 and has been expanded into a procedure call.
5063 * sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing
5064 support to handle selected components.
5065 * sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus
5066 documentation.
5067 * sem_ch6.adb (Check_And_Build_Body_To_Inline): New
5068 subprogram which implements the checks required by the
5069 new rules for frontend inlining and builds the body to inline.
5070 (Analyze_Subprogram_Body_Helper): Move code that
5071 checks inlining of subprogram that has nested subprogram
5072 to Check_And_Build_Body_To_Inline. Replace call to
5073 Build_Body_To_Inline by call to the new subprogram
5074 Check_And_Build_Body_To_Inline.
5075 (Cannot_Inline): New implementation.
5076 * sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp):
5077 New subprogram.
5078 * sem_util.ad[sb] (Must_Inline): New subprogram.
5079 (Returns_Unconstrained_Type): New subprogram.
5080 * sem_res.adb (Resolve_Call): Do not create a transient scope
5081 for inlined calls.
5082 * inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable.
5083 * inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting
5084 to false the variable Analyzing_Inlined_Bodies. Fix comments.
5085 * exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master.
5086 * exp_ch6.ads (List_Inlining_Info): New subprogram.
5087 * exp_ch6.adb (Expand_Call.Do_Inline): New subprogram.
5088 (Expand_Call.Do_Inline_Always): New subprogram.
5089 (In_Unfrozen_Instance): Move the declaration of this subprogram.
5090 (Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram.
5091 (Expand_Inlined_Call): Adding new support for inlining functions
5092 that return unconstrained types.
5093 (List_Inlining_Info): New subprogram.
5094 * debug.adb Document flags -gnatd.j and -gnatd.k
5095 * gnat1drv.adb Add call to generate the new listing of inlined
5096 calls and calls passed to the backend.
5097
73692538 50982012-03-07 Robert Dewar <dewar@adacore.com>
5099
5100 * sem_ch5.adb, s-vaflop.adb, s-taprop-vms.adb, exp_ch6.adb,
5101 s-gearop.adb, sem_ch6.adb, g-trasym.adb: Minor reformatting.
5102
51032012-03-07 Javier Miranda <miranda@adacore.com>
5104
5105 * a-ngrear.ads: Add documentation.
5106
3ae6bcd5 51072012-03-07 Tristan Gingold <gingold@adacore.com>
5108
5109 * s-taprop-vms.adb (Create_Task): set thread name.
5110 * s-osinte-vms.ads (pthread_attr_setname_np): Declare.
5111
51122012-03-07 Arnaud Charlet <charlet@adacore.com>
5113
5114 * g-trasym.adb: Minor reformatting.
5115
51162012-03-07 Robert Dewar <dewar@adacore.com>
5117
5118 * a-ngrear.ads: Minor addition of ??? comment.
5119
44e15e2b 51202012-03-07 Gary Dismukes <dismukes@adacore.com>
5121
5122 * exp_ch4.adb (Apply_Accessibility_Check): Call
5123 Remove_Side_Effects in the build-in-place case, to ensure that
5124 we capture the call and don't end up with two calls.
5125
51262012-03-07 Javier Miranda <miranda@adacore.com>
5127
5128 * exp_ch6.adb (Expand_Inlined_Call): Skip inlining of functions
5129 that return unconstrained types using an extended return statement
5130 since the support for inlining these functions has not been yet
5131 added to the frontend.
5132 * s-vaflop.adb, s-vaflop-vms-alpha.adb: Code reorganization.
5133 * a-ngrear.ads: Replace all the Inline_Always pragmas by pragma
5134 Inline.
5135 * a-ngrear.adb (Eigenvalues, Transpose): Restructured to use
5136 extended return statement.
5137 * a-strsup.adb, a-stzsup.adb, a-stwisu.adb (Concat, Super_Slice,
5138 Super_To_String): Restructured to use extended return statement.
5139 * a-chahan.adb (To_Basic, To_Lower, To_Upper): Restructured to
5140 use extended return statement.
5141 * s-gearop.adb (Diagonal, Matrix_Elementwise_Operation,
5142 Vector_Elementwise_Operation, Matrix_Elementwise_Operation,
5143 Matrix_Matrix_Scalar_Elementwise_Operation,
5144 Vector_Vector_Elementwise_Operation,
5145 Vector_Vector_Scalar_Elementwise_Operation,
5146 Matrix_Scalar_Elementwise_Operation,
5147 Vector_Scalar_Elementwise_Operation,
5148 Scalar_Matrix_Elementwise_Operation,
5149 Scalar_Vector_Elementwise_Operation, Matrix_Matrix_Product,
5150 Matrix_Vector_Product, Outer_Product, Unit_Matrix, Unit_Vector,
5151 Vector_Matrix_Product): Restructured to use extended return
5152 statement.
5153
51542012-03-07 Vincent Pucci <pucci@adacore.com>
5155
5156 * sem_ch5.adb (One_Bound): Minor reformatting.
5157
51582012-03-07 Tristan Gingold <gingold@adacore.com>
5159
5160 * s-osinte-vms-ia64.adb, s-osinte-vms-ia64.ads, s-osinte-vms.adb,
5161 s-osinte-vms.ads, gcc-interface/Makefile.in: Merge s-osinte-vms and
5162 s-osinte-vms-ia64.
5163
301d5ec3 51642012-03-07 Ed Schonberg <schonberg@adacore.com>
5165
5166 * checks.adb (Apply_Predicate_Check): Do not generate a predicate
5167 check is the context is an internally generated type-specific
5168 function.
5169 * sem_ch6.adb (Process_PPCs); the formals of internally generated
5170 type-specific functions do not get assertion checks.
5171
51722012-03-07 Yannick Moy <moy@adacore.com>
5173
5174 * gnat_rm.texi: Minor renaming of title.
5175 * gnat_ugn.texi: Minor correction.
5176
51772012-03-07 Vincent Pucci <pucci@adacore.com>
5178
5179 * exp_ch4.adb (Expand_N_Quantified_Expression): Minor
5180 reformating.
5181 * sem_ch4.adb (Analyze_Quantified_Expression): Creation and
5182 analysis of the iteration scheme added in all cases.
5183 * sem_ch5.adb (Analyze_Iteration_Scheme): Minor reformating.
5184 (Analyze_Iterator_Specification): Minor reformating.
5185 * sem_res.adb (Resolve_Quantified_Expression): Resolution of
5186 the condition added in all cases.
5187
19a5cf04 51882012-03-07 Thomas Quinot <quinot@adacore.com>
5189
5190 * einfo.adb, einfo.ads: Add flag Reverse_Storage_Order.
5191
51922012-03-07 Yannick Moy <moy@adacore.com>
5193
5194 * gnat_rm.texi, gnat_ugn.texi: Rewording of GNAT UG and GNAT RM to
5195 account for Ada 2012 assertions, and their pragma counterparts in GNAT.
5196
51972012-03-07 Thomas Quinot <quinot@adacore.com>
5198
5199 * exp_attr.adb, sem_attr.adb: Minor reformatting.
5200
52012012-03-07 Bob Duff <duff@adacore.com>
5202
5203 * hostparm.ads (Max_Instantiations): Increase parameter.
5204
52052012-03-07 Bob Duff <duff@adacore.com>
5206
5207 * par-prag.adb: Minor code rearrangement.
5208
52092012-03-07 Bob Duff <duff@adacore.com>
5210
5211 * a-strsup.ads, a-stwisu.ads, a-stzsup.ads (Super_String):
5212 Remove default initial value for Data. It is no longer needed
5213 because "=" now composes properly for untagged records. This
5214 default has caused efficiency problems.
5215
52162012-03-07 Ed Schonberg <schonberg@adacore.com>
5217
5218 * sem_res.adb (Resolve_Actuals): If the actual is a selected
5219 component of an anonymous access type, whose prefix is a variable,
5220 treat the variable as if it may be modified by the call, to
5221 suppress spurious warnings that a variable might be declared as
5222 a constant.
5223
7f93d5de 52242012-03-07 Thomas Quinot <quinot@adacore.com>
5225
5226 * einfo.adb, einfo.ads: Remove unused entity flags.
5227
dc9027bc 52282012-03-07 Eric Botcazou <ebotcazou@adacore.com>
5229
5230 * gnat_ugn.texi (Inline Assembler): Fix swapping of Input and
5231 Output operands throughout.
5232
52332012-03-07 Hristian Kirtchev <kirtchev@adacore.com>
5234
5235 * sem_ch12.adb (Earlier): When two nodes come from the same
5236 generic instantiation, compare their locations. Otherwise always
5237 use the top level locations of the nodes.
5238
52392012-03-07 Thomas Quinot <quinot@adacore.com>
5240
5241 * einfo.ads, sem_prag.adb: Minor reformatting.
5242
581134a4 52432012-03-05 Jason Merrill <jason@redhat.com>
5244
5245 * gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn
5246 before using it.
5247
4b7b019d 52482012-03-04 Eric Botcazou <ebotcazou@adacore.com>
5249
5250 * gnatvsn.ads (Library_Version): Bump to 4.8.
5251
70d595c8 52522012-03-03 H.J. Lu <hongjiu.lu@intel.com>
5253
5254 * init.c (__gnat_adjust_context_for_raise): Also check
5255 "orq $0x0,(%esp)" for x32.
5256
4b7b019d 5257 * link.c (__gnat_default_libgcc_subdir): Set to libx32 for x32.
70d595c8 5258
5259 * gcc-interface/Makefile.in (arch): Set to x32 if MULTISUBDIR
4b7b019d 5260 is /x32 and add support for x32.
70d595c8 5261
ffb4f309 52622012-02-29 Eric Botcazou <ebotcazou@adacore.com>
5263
5264 * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter
6f9d8b76 5265 and set TYPE_ARTIFICIAL according to it. Adjust recursive call.
ffb4f309 5266 (gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function.
5267 * gcc-interface/utils.c (rest_of_record_type_compilation): Do not
5268 invoke rest_of_type_decl_compilation on the parallel type, if any.
5269
a2862f76 52702012-02-29 Eric Botcazou <ebotcazou@adacore.com>
5271
5272 * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the
5273 dummy global built for global types is preserved.
5274
e770c5fc 52752012-02-27 Tristan Gingold <gingold@adacore.com>
5276
5277 * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
5278 E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and
5279 gnu_template_type.
5280
a3b35344 52812012-02-27 Eric Botcazou <ebotcazou@adacore.com>
5282
5283 * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking.
5284 (TYPE_BY_REFERENCE_P): New flag.
5285 (TYPE_IS_BY_REFERENCE_P): New macro.
5286 (TYPE_DUMMY_P): Add checking and remove VOID_TYPE.
5287 (TYPE_IS_DUMMY_P): Adjust for above change.
5288 * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P
5289 and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE.
5290 (gnat_to_gnu_param): Likewise.
5291 (maybe_pad_type): Likewise.
5292 (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P.
5293 * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P
5294 instead of TREE_ADDRESSABLE.
5295 * gcc-interface/trans.c (finalize_nrv): Likewise.
5296 (call_to_gnu): Likewise. Do not create a temporary for return values
5297 with by-reference type here.
5298 (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P.
5299 (gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant
5300 CONSTRUCTORs and calls.
5301 * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of
5302 the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P
5303 instead of TREE_ADDRESSABLE.
5304 * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference
5305 types explicitly.
5306
6b5f97e1 53072012-02-27 Eric Botcazou <ebotcazou@adacore.com>
5308
5309 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous
5310 change that creates a special VAR_DECL for debugging purposes. For an
5311 aliased object with an unconstrained nominal subtype, make its type a
5312 thin reference to the underlying object.
5313 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with
5314 expressions built for the initialization of above objects.
5315
7ef88902 53162012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
5317
5318 * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
5319 Windows-specific make variable.
5320 (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
5321 (install-gnatlib): Respect the above during installation when set,
5322 and also install any windows import library that has been built.
5323 (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
5324 build a corresponding import library.
5325
ad6b44d8 53262012-02-22 Robert Dewar <dewar@adacore.com>
5327
5328 * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
5329 reformatting.
5330
53312012-02-22 Geert Bosch <bosch@adacore.com>
5332
5333 * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove
5334 x86-specific version of byteswap and use GCC builtins instead.
5335
53362012-02-22 Tristan Gingold <gingold@adacore.com>
5337
5338 * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
5339 E_Array_Type]: Translate component ealier.
5340
53412012-02-22 Robert Dewar <dewar@adacore.com>
5342
5343 * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize
5344 error message for 'Range.
5345
110e0530 53462012-02-22 Pascal Obry <obry@adacore.com>
5347
5348 * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as
5349 this is our own thread.
5350
53512012-02-22 Sergey Rybin <rybin@adacore.com frybin>
5352
5353 * tree_io.ads: Update ASIS_Version_Number because of the changes
5354 in Snames.
5355
53562012-02-22 Hristian Kirtchev <kirtchev@adacore.com>
5357
38b1f0b0 5358 * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on
110e0530 5359 stack-related finalizers.
5360
53612012-02-22 Ed Schonberg <schonberg@adacore.com>
5362
5363 * sem_ch6.adb (Analyze_Expression_Function): If the construct
5364 is a completion, indicate that its formals are the formals of
5365 a completion, and as such do not get a cross- reference entry.
5366 (Analyze_Subprogram_Specification): Do not generate a definition
5367 for the entity of an expression function, because it may be a
5368 completion. Definition will be generated if needed when analyzing
5369 the generated subprogram declaration.
5370
53712012-02-22 Vincent Celier <celier@adacore.com>
5372
5373 * make.adb (Check): When checking if an object file is in the
5374 correct object directory, get the unit name from a previous call
5375 to Check_Source_Info_In_ALI.
5376 * makeutl.adb (Check_Source_Info_In_ALI): Return the name of
5377 the unit when everything is OK, otherwise return No_Name.
5378 * makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead
5379 of Boolean
5380
53812012-02-22 Ed Schonberg <schonberg@adacore.com>
5382
5383 * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an
5384 instance, the operator is visible if an operand is of some
5385 numeric type which is not in use or directly visible, and the
5386 other operand is a numeric literal.
5387
53882012-02-22 Tristan Gingold <gingold@adacore.com>
5389
5390 * init.c: Minor code clean up.
5391 * gcc-interface/Make-lang.in: Update dependencies.
5392
53932012-02-22 Arnaud Charlet <charlet@adacore.com>
5394
5395 * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
5396 otherwise GCC will generate an object file.
5397
53982012-02-22 Vincent Celier <celier@adacore.com>
5399
5400 * projects.texi: Correct typo related to "**" in Source_Dirs.
5401
61aeebff 54022012-02-22 Steve Baird <baird@adacore.com>
5403
5404 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of
5405 error message text.
5406
bb5dfacc 54072012-02-22 Vincent Pucci <pucci@adacore.com>
5408
5409 * rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and
5410 System_Dim_Child cases added.
5411 * rtsfind.ads: Ada_Numerics,
5412 Ada_Numerics_Generic_Elementary_Functions, System_Dim,
5413 System_Dim_Float_IO and System_Dim_Integer_IO added to the list
5414 of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as
5415 new RTU_Id subtypes.
5416 * sem_dim.adb (Is_Dim_IO_Package_Entity): Use of
5417 Rtsfind to verify the package entity is located either
5418 in System.Dim.Integer_IO or in System.Dim.Float_IO.
5419 (Is_Dim_IO_Package_Instantiation): Minor
5420 changes. (Is_Elementary_Function_Call): Removed.
5421 (Is_Elementary_Function_Entity): New routine.
5422 (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added.
5423 * snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions
5424 removed.
5425
54262012-02-22 Vincent Pucci <pucci@adacore.com>
5427
5428 * sem_prag.adb: Minor reformatting.
5429
54302012-02-22 Ed Schonberg <schonberg@adacore.com>
5431
5432 * sem_ch3.adb (Find_Type_Name): When analyzing a private type
5433 declaration that is the completion of a tagged incomplete type, do
5434 not associate the class-wide type already created with the private
5435 type to prevent order-of-elaboration issues in the back-end.
5436 * exp_disp.adb (Find_Specific_Type): Find specific type of
5437 a class-wide type, and handle the case of an incomplete type
5438 coming either from a limited_with clause or from an incomplete
5439 type declaration. Used when expanding a dispatchin call and
5440 generating tag checks (minor refactoring).
5441
a58d632f 54422012-02-22 Robert Dewar <dewar@adacore.com>
5443
5444 * exp_ch5.adb: Add comment.
5445 * sem_ch12.adb, exp_ch6.adb: minor reformatting
5446
4e104ca3 54472012-02-22 Ed Schonberg <schonberg@adacore.com>
5448
5449 * freeze.adb (Freeze_Entity): Do not perform type layout within
5450 a generic unit.
5451
54522012-02-22 Eric Botcazou <ebotcazou@adacore.com>
5453
5454 * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
5455 Storage_Error.
5456
54572012-02-22 Ed Schonberg <schonberg@adacore.com>
5458
5459 * exp_ch5.adb (Expand_N_Assignment_Statement): Reject an
5460 assignment to a classwide type whose type is limited, as
5461 can happen in an instantiation in programs that run afoul or
5462 AI05-0087.
5463
b3ba409d 54642012-02-17 Ed Schonberg <schonberg@adacore.com>
5465
5466 * exp_ch6.adb (Legal_Copy): If layout is not
5467 determined in the front-end, do not emit error message when
5468 by-reference actual is potentially unaligned.
5469 * gcc-interface/decl.c (gnat_to_gnu_field): Better error message for
5470 illegal representation clause on tagged or aliased component, or on
5471 by-reference type with forced alignment.
5472
54732012-02-17 Nicolas Roche <roche@adacore.com>
5474
5475 * gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is
5476 propagated by gnatlib-sjlj and gnatlib-zcx targets.
5477 * gcc-interface/Make-lang.in: Update dependencies.
5478
54792012-02-17 Thomas Quinot <quinot@adacore.com>
5480
5481 * sem_ch12.adb (Analyze_Package_Instantiation): For an
5482 instantiation in an RCI library unit, omit the instance body
5483 if the RCI library unit is the instance itself (E.2.3(18)),
5484 but include the body if the instantiation is within the RCI
5485 declaration (12.3(12)).
5486
0fe91713 54872012-02-17 Steve Baird <baird@adacore.com>
5488
5489 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and
5490 Post'Class aspects can only be specified for a primitive operation
5491 of a tagged type.
5492
0b0eb1f6 54932012-02-17 Yannick Moy <moy@adacore.com>
5494
5495 * gnat_rm.texi: Minor shuffling.
5496
54972012-02-17 Ed Schonberg <schonberg@adacore.com>
5498
5499 * aspects.adb: Expression functions can carry pre/postconditions.
5500 * par-ch6.adb (P_Subprogram): look for optional pre/postconditions
5501 in an expression function.
5502 * sem_prag (Check_Precondition_Postcondition): legal on expression
5503 functions.
5504
55052012-02-17 Vincent Pucci <pucci@adacore.com>
5506
5507 * a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb,
5508 * a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb,
5509 * a-convec.adb, a-coorma.adb (Adjust): New routine.
5510 (Constant_Reference): Increment Busy and Lock counters.
5511 (Reference): Increase Busy and Lock counters.
5512 (Finalize): New routine.
5513 * a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb:
5514 (Adjust): New routine. (Constant_Reference): Increment Busy
5515 and Lock counters.
5516 (Finalize): New routine.
5517 * a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads,
5518 * a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads,
5519 * a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads,
5520 * a-coorma.ads, a-coorse: Controlled component added to the
5521 reference types.
5522
55232012-02-17 Robert Dewar <dewar@adacore.com>
5524
5525 * restrict.adb (Check_Restriction): Add special handling for
5526 No_Obsolescent_Features.
5527
55282012-02-17 Hristian Kirtchev <kirtchev@adacore.com>
5529
5530 * exp_util.adb (Find_Finalize_Address): When dealing with an
5531 internally built full view for a type with unknown discriminants,
5532 use the original record type.
5533
5491cb1c 55342012-02-17 Robert Dewar <dewar@adacore.com>
5535
5536 * sem_dim.adb: Minor reformatting.
5537
55382012-02-17 Yannick Moy <moy@adacore.com>
5539
5540 * gnat_rm.texi: Minor rewording.
5541
6a84a367 55422012-02-17 Thomas Quinot <quinot@adacore.com>
5543
5544 * sem_aggr.adb: Minor reformatting.
5545
55462012-02-17 Robert Dewar <dewar@adacore.com>
5547
5548 * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case.
5549
55502012-02-17 Vincent Pucci <pucci@adacore.com>
5551
5552 * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine.
5553 (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity
5554 call added.
5555 (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity
5556 call added.
5557 * s-dim.ads: Make package Pure.
5558
55592012-02-17 Gary Dismukes <dismukes@adacore.com>
5560
5561 * prj-nmsc.adb: Minor reformatting.
5562
55632012-02-17 Yannick Moy <moy@adacore.com>
5564
5565 * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions.
5566
5f31c6f3 55672012-02-17 Yannick Moy <moy@adacore.com>
5568
5569 * gnat_ugn.texi: Fix typos.
5570
55712012-02-17 Pascal Obry <obry@adacore.com>
5572
5573 * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an
5574 aggregate is not Externally_Built.
5575
55762012-02-17 Ed Schonberg <schonberg@adacore.com>
5577
5578 * sem_aggr.adb (Resolve_Record_Aggregate): If a composite
5579 component has a box association, copy the default value using
5580 the current scope as the scope of internal types, to prevent
5581 scoping anomalies in gigi.
5582
09ad6da2 55832012-02-17 Robert Dewar <dewar@adacore.com>
5584
5585 * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb,
5586 sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb,
5587 exp_intr.adb, s-os_lib.adb: Minor reformatting.
5588
55892012-02-17 Ed Schonberg <schonberg@adacore.com>
5590
5591 * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the
5592 old operation is abstract, the relevant type is not abstract,
5593 and the new subprogram fails to override.
5594
09188bfe 55952012-02-15 Eric Botcazou <ebotcazou@adacore.com>
5596
5597 * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the
5598 type of the result to the end and execute it for a deferred constant of
5599 a discriminated type whose full view can be elaborated statically.
5600
47219e5b 56012012-02-15 Eric Botcazou <ebotcazou@adacore.com>
5602
5603 * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the
5604 type is tagged, mark it as used for debugging purposes.
5605 <N_Allocator>: Likewise for a qualified expression.
5606
824ae42b 56072012-02-15 Eric Botcazou <ebotcazou@adacore.com>
5608
5609 * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
5610 return value in the by-reference return type case if this isn't the
47219e5b 5611 expression of an object declaration. Tidy up.
824ae42b 5612
f4a78d12 56132012-02-09 Tristan Gingold <gingold@adacore.com>
5614
5615 * gcc-interface/Makefile.in: Remove .sym rule (not used).
5616 Remove adamsg.o object (requires native message compiler).
5617 * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a
5618 macro instead of as extern int.
5619 (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR)
5620 (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT)
5621 (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH)
5622 (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC)
5623 (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH)
5624 (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH)
5625 (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH)
5626 (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR)
5627 (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise.
5628 (struct cond_except): Field cond is now an unsigned int.
5629 (dec_ada_cond_except_table): Adjust.
5630 (cond_except_table): Likewise.
5631 (cond_resignal_table): Likewise.
5632 (__gnat_default_resignal_p): Fix style.
5633
70db3df9 56342012-02-08 Vincent Celier <celier@adacore.com>
5635
5636 * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects
5637 (g-buorma is now imported by sinput).
5638 Update dependencies.
5639 * scn.adb (Initialize_Scanner): Call Check_For_BOM
5640 * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM
5641 * sinput.adb: New procedure Check_For_BOM
5642 * sinput.ads: New procedure Check_For_BOM
5643
56442012-02-08 Vincent Pucci <pucci@adacore.com>
5645
5646 * impunit.adb: Dimension package names updated
5647 * Makefile.rtl: s-dim added
5648 * sem_dim.adb (Is_Procedure_Put_Call): minor changes
5649 (Is_Dim_IO_Package_Instantiation): minor changes
5650 * sem_dim.ads: minor changes in comments
5651 * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and
5652 Name_Dim_Integer_IO removed
5653 * s-dim.ads: New package. Define the dimension terminology.
5654 * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads,
5655 * s-dmotpr.ads: Package names updated.
5656 * s-diflio.ads, s-diinio.ads: Documentation added and package
5657 names updated.
5658
56592012-02-08 Gary Dismukes <dismukes@adacore.com>
5660
5661 * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test
5662 for storage pools to test for an underlying record type rather than
5663 testing Is_Tagged_Type, so that simple storage pools will be handled
5664 the same as normal Ada storage pools.
5665
b15003c3 56662012-02-08 Yannick Moy <moy@adacore.com>
5667
5668 * gnat_rm.texi: Minor reshuffling to place restriction at
5669 appropriate place.
5670
56712012-02-08 Bob Duff <duff@adacore.com>
5672
5673 * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
5674 False for '-gnatwA', to suppress these warnings.
5675
56762012-02-08 Vincent Celier <celier@adacore.com>
5677
5678 * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
5679 starting to scan, so that UTF8 encoding is taken into account.
5680
56812012-02-08 Arnaud Charlet <charlet@adacore.com>
5682
5683 * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
5684 function.
5685 (Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
5686 (Exceptional_Complete_Rendezvous): Mark No_Return.
5687
56882012-02-08 Eric Botcazou <ebotcazou@adacore.com>
5689
5690 * exp_aggr.adb (Compile_Time_Known_Composite_Value):
5691 New predicate to compute whether a composite value can be
5692 evaluated at compile time.
5693 (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all
5694 expressions of elementary type and Compile_Time_Known_Composite_Value
5695 for all other expressions.
5696 (Expand_Record_Aggregate): Convert to assignments in the case
5697 of a type with mutable components if the aggregate cannot be
5698 built statically.
5699
57002012-02-08 Gary Dismukes <dismukes@adacore.com>
5701
5702 * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
5703 (Impl_Defined_Aspects): Add association for
5704 Aspect_Simple_Storage_Pool_Type.
5705 (Aspect_Names): Add
5706 association for Aspect_Simple_Storage_Pool_Type.
5707 * aspects.adb:
5708 (Canonical_Aspect): Add association for Simple_Storage_Pool_Type.
5709 * exp_attr.adb (Expand_N_Attribute_Reference):
5710 Change name to Name_Simple_Storage_Pool_Type.
5711 * exp_ch4.adb (Expand_N_Allocator): Change
5712 name to Name_Simple_Storage_Pool_Type.
5713 * exp_intr.adb (Expand_Unc_Deallocation): Change name to
5714 Name_Simple_Storage_Pool_Type. * freeze.adb (Freeze_Entity):
5715 Change names to Name_Simple_Storage_Pool_Type. * par-prag.adb:
5716 Change names to Name_Simple_Storage_Pool_Type. * sem_attr.adb:
5717 (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type.
5718 * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
5719 Change name to Name_Simple_Storage_Pool_Type.
5720 * sem_prag.adb:
5721 (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type.
5722 (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type.
5723 * sem_res.adb (Resolve_Allocator): Change name to
5724 Name_Simple_Storage_Pool_Type. * snames.ads-tmpl:
5725 (Name_Simple_Storage_Pool_Type): New name constant.
5726 (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and
5727 move to main pragma section because it no longer matches the
5728 attribute name.
5729 * snames.adb-tmpl (Get_Pragma_Id): Remove test for
5730 Name_Simple_Storage_Pool.
5731 (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool.
5732
57332012-02-08 Robert Dewar <dewar@adacore.com>
5734
5735 * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
5736
2006ed41 57372012-02-08 Pascal Obry <obry@adacore.com>
5738
5739 * prj.adb (Compute_All_Imported_Projects): Use new
5740 For_Project_And_Aggregated_Context to ensure proper context is
5741 used for encapsulated aggregate libraries.
5742 * prj-proc.adb (Recursive_Process): Call
5743 Process_Aggregated_Projects earlier to ensure that all dependent
5744 projects are set with the proper encapsulated status.
5745
57462012-02-08 Pascal Obry <obry@adacore.com>
5747
5748 * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
5749 terminated string.
5750
51d8eafc 57512012-02-08 Pascal Obry <obry@adacore.com>
5752
5753 * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
5754 generic routine with a context parameter.
5755
b55f7641 57562012-02-08 Robert Dewar <dewar@adacore.com>
5757
5758 * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
5759 a-convec.adb: Minor reformatting and code reorganization.
5760
57612012-02-08 Steve Baird <baird@adacore.com>
5762
5763 * sem_cat.adb (In_Preelaborated_Unit): A child
5764 unit instantiation does not inherit preelaboration requirements
5765 from its parent.
5766
57672012-02-08 Gary Dismukes <dismukes@adacore.com>
5768
5769 * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool.
5770 (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool.
5771 (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool.
5772 (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool.
5773 * aspects.adb (Canonical_Aspect): Add entry for
5774 Aspect_Simple_Storage_Pool.
5775 * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of
5776 Attribute_Simple_Storage_Pool in the same way as Storage_Pool
5777 (add conversion, analyze/resolve). For the Storage_Size attribute,
5778 for the simple pool case, locate and use the simple pool type's
5779 Storage_Size function (if any), otherwise evaluate to zero.
5780 * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator
5781 for an access type with an associated simple storage pool,
5782 locate and use the pool type's Allocate.
5783 * exp_intr.adb (Expand_Unc_Deallocation): In the case where the
5784 access type has a simple storage pool, locate the pool type's
5785 Deallocate procedure (if present) and use it as the procedure
5786 to call on the Free operation.
5787 * freeze.adb (Freeze_Entity): In the case of a full type for
5788 a private type defined with pragma Simple_Storage_Pool, check
5789 that the full type is also appropriate for the pragma. For
5790 a simple storage pool type, validate that the operations
5791 Allocate, Deallocate (if present), and Storage_Size
5792 (if present) are defined with appropriate expected profiles.
5793 (Validate_Simple_Pool_Op_Formal): New procedure
5794 (Validate_Simple_Pool_Operation): New procedure Add with and
5795 use of Rtsfind.
5796 * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement
5797 (no action required).
5798 * sem_attr.adb (Analyze_Attribute): For the case of the
5799 Storage_Pool attribute, give a warning if the prefix type has an
5800 associated simple storage pool, and rewrite the attribute as a
5801 raise of Program_Error. In the case of the Simple_Storage_Pool
5802 attribute, check that the prefix type has an associated simple
5803 storage pool, and set the attribute type to the pool's type.
5804 * sem_ch13.adb (Analyze_Aspect_Specifications): Add
5805 Aspect_Simple_Storage_Pool case choice.
5806 (Analyze_Attribute_Definition_Clause): Add
5807 Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses
5808 (no action). Add handling for Simple_Storage_Pool attribute
5809 definition, requiring the name to denote a simple storage pool
5810 object.
5811 (Check_Aspect_At_Freeze_Point): For a simple storage pool
5812 aspect, set the type to that of the name specified for the aspect.
5813 * sem_prag.adb (Analyze_Pragma): Add handling for pragma
5814 Simple_Storage_Pool, requiring that it applies to a library-level
5815 type declared in a package declaration that is a limited private
5816 or limited record type.
5817 * sem_res.adb (Resolve_Allocator): Flag an attempt to call a
5818 build-in-place function in an allocator for an access type with
5819 a simple storage pool as unsupported.
5820 * snames.ads-tmpl: Add Name_Simple_Storage_Pool.
5821 (type Attribute_Id): Add Attribute_Simple_Storage_Pool.
5822 (type Pragma_Id): Add Pragma_Simple_Storage_Pool.
5823 * snames.adb-tmpl (Get_Pragma_Id): Handle case of
5824 Name_Simple_Storage_Pool.
5825 (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool.
5826
58272012-02-08 Cyrille Comar <comar@adacore.com>
5828
5829 * projects.texi: Clarify doc for interfaces.
5830
346b8434 58312012-02-07 Eric Botcazou <ebotcazou@adacore.com>
5832
5833 * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
5834 (GCC_LINK): Use it.
5835
2a0abb3a 58362012-02-01 Tristan Gingold <gingold@adacore.com>
5837
5838 * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
5839 instead of size_type_node.
5840
62b2aa7d 58412012-01-30 Nicolas Roche <roche@adacore.com>
5842
5843 * gcc-interface/Make-lang.in: Update dependencies.
5844 * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
5845 when needed.
5846 Remove Linker_Options -crtbe when building sjlj run-time.
5847
9deff044 58482012-01-30 Robert Dewar <dewar@adacore.com>
5849
5850 * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
5851 * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
5852 form 2 * small-literal.
5853 * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
5854 mod value).
5855 * sem_ch4.ads (Analyze_Mod): New procedure.
5856
58572012-01-30 Ed Schonberg <schonberg@adacore.com>
5858
5859 * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
5860 types and return expression when building spec for implicit
5861 body, to preserve global references that may be present in an
5862 instantiation.
5863
58642012-01-30 Matthew Heaney <heaney@adacore.com>
5865
5866 * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
5867 Reverse_Elements): Check for cursor tampering.
5868
58692012-01-30 Ed Schonberg <schonberg@adacore.com>
5870
5871 * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
5872 type with aspect Default_Value or Default_Component_Value is
5873 fully initialized, and use of variables of such types do not
5874 generate warnings.
5875
58762012-01-30 Javier Miranda <miranda@adacore.com>
5877
5878PR ada/15846
5879 * sem_ch8.adb (Analyze_Subprogram_Renaming):
5880 Handle self-renaming when the renamed entity is referenced using
5881 its expanded name.
5882
58832012-01-30 Vincent Celier <celier@adacore.com>
5884
5885 * projects.texi: Add documentation for attribute Interfaces.
5886
516da07f 58872012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
5888
5889 * exp_ch7.adb (Build_Finalizer_Call): Set loc again.
5890 * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
5891 location for the wrapped call to the original AT_END routine
5892 and the subsequent return statement.
5893
58942012-01-30 Pascal Obry <obry@adacore.com>
5895
5896 * s-rannum.adb: Minor reformatting.
5897
58982012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
5899
5900 * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds
5901 to 25 and add the hard time value for 2012-06-30.
5902
30fe3fdc 59032012-01-30 Robert Dewar <dewar@adacore.com>
5904
5905 * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb,
5906 freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads,
5907 s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb:
5908 Minor reformatting/code reorganization.
5909
27121718 59102012-01-30 Thomas Quinot <quinot@adacore.com>
5911
5912 * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
5913 Unsigned_64 rather than Duration.
5914 (System.Random_Numbers.Reset): Use full value of seed
5915 (do not truncate sub-second bits).
5916
59172012-01-30 Thomas Quinot <quinot@adacore.com>
5918
5919 * sem_cat.adb, sem_ch12.adb: Minor reformatting.
5920
7b9b2f05 59212012-01-30 Yannick Moy <moy@adacore.com>
5922
5923 * gnat_ugn.texi: Minor correction of GNAT UG, to take into
5924 account changes to -gnatwa and more recent warnings.
5925
59262012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
5927
5928 * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
5929 location when creating a call to a finalizer.
5930 * exp_ch11.adb (Expand_Exception_Handlers): Do not provide
5931 a source location for the first actual of Save_Occurrence for
5932 consistency sake.
5933
59342012-01-30 Ed Schonberg <schonberg@adacore.com>
5935
5936 * einfo.ads, einfo,adb: New attribute on scalar types:
5937 Default_Aspect_Value New attribute on array types:
5938 Default_Aspect_Component_Value Move attribute Related_Array_Object
5939 to a different position to accomodate new aspect attributes.
5940 * freeze.adb (Freeze_Entity): Use new attributes to retrieve value
5941 of defaults set with an aspect specification, rather than using
5942 the list of aspects attached to the type, to prevent issues with
5943 partial views.
5944 * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
5945 Default_Value and Default_Component _Value, store corresponding
5946 expression in type entity.
5947 (Check_Aspect_At_End_Of_Declaration): If the default aspects
5948 are declared on the full view, use the full view to resolve the
5949 correseponding expression.
5950 * exp_ch3.adb (Init_Component): Use attribute
5951 Default_Aspect_Component_Value to perform default initialization,
5952 rather than relying on the rep item list for the type.
5953 (Get_Simple_Init_Val): Ditto.
5954
013c9832 59552012-01-30 Thomas Quinot <quinot@adacore.com>
5956
5957 * a-strhas.ads: Document risk of collision attack.
5958
59592012-01-30 Yannick Moy <moy@adacore.com>
5960
5961 * gnat_ugn.texi: Minor update wrt warning switches.
5962
9f64ee09 59632012-01-30 Vincent Celier <celier@adacore.com>
5964
5965 * prj-nmsc.adb (Check_Interfaces): Report an error when a
5966 unit from Library_Interface is not a unit of the project.
5967
59682012-01-30 Vincent Pucci <pucci@adacore.com>
5969
5970 * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent
5971 links fixed inside PPC pragmas.
5972 * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl.
5973
59742012-01-30 Thomas Quinot <quinot@adacore.com>
5975
5976 * s-ransee.ads: Minor reformatting.
5977
9f269bd8 59782012-01-30 Pascal Obry <obry@adacore.com>
5979
5980 * prj.ads, prj.adb (For_Each_Source): Add support for skipping
5981 sources coming from an encapsulated library.
5982
59832012-01-30 Ed Schonberg <schonberg@adacore.com>
5984
5985 * sem_ch3.adb (Process-Full_View): fix typo.
5986 * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
5987 appear on a private type and the full view is available, ensure
5988 existence of freeze node for full view.
5989 (Build_Predicate_Function): Attach predicate function to both
5990 views of a private type.
5991
59922012-01-30 Vincent Celier <celier@adacore.com>
5993
5994 * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
5995 for the project if either attribute Library_Interface or
5996 Interfaces is declared.
5997 (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
5998 Check_Interfaces.
5999
a82d9bf4 60002012-01-30 Pascal Obry <obry@adacore.com>
6001
6002 * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
6003 boolean value to true in the process list created by this routine.
6004 * prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
6005 Continued work for KA06-021.
6006 * prj.adb (Compute_All_Imported_Projects): Set
6007 From_Encapsulated_Lib boolean flag.
6008
caad910a 60092012-01-30 Vincent Pucci <pucci@adacore.com>
6010
6011 * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
6012 code clean up.
6013 * s-diflio.ads: Minor change.
6014
60152012-01-30 Javier Miranda <miranda@adacore.com>
6016
6017 * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
6018 to Get_Entry_Index. Required to generate code which provides
6019 the correct value of Entry_Index in the target entry.
6020
60212012-01-30 Nicolas Roche <roche@adacore.com>
6022
6023 * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
6024 fix issue with zcx on VxWorks5.
6025
60262012-01-30 Pascal Obry <obry@adacore.com>
6027
6028 * prj.ads, prj.adb (For_Every_Project_Imported): Remove
6029 In_Aggregate_Lib.
6030 (For_Every_Project_Imported_Context): New generic routine with
6031 a context parameter.
6032 * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
6033 distributed complexity.
6034 * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
6035
04e29e1d 60362012-01-30 Thomas Quinot <quinot@adacore.com>
6037
6038 * exp_aggr.adb (Expand_Record_Aggregate): After creating the
6039 _parent aggregate for an extension aggregate, check whether it
6040 requires delayed (top-down) expansion.
6041
60422012-01-30 Vincent Pucci <pucci@adacore.com>
6043
6044 * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
6045 * snames.ads-tmpl: Name_Item and Name_Symbols added.
6046 * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
6047 and change the position of parameter Symbols in every Put routine.
6048 * s-dimmks.ads: Convert long float type Mks_Type into long
6049 long float.
6050 * s-llflex.ads: Modifications in comments.
6051
60522012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
6053
6054 * sem_ch12.adb (Earlier): Do not use the
6055 top level source locations of the two input nodes.
6056
daa6a3ae 60572012-01-30 Robert Dewar <dewar@adacore.com>
6058
6059 * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
6060 sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
6061
14cf7fa7 60622012-01-30 Robert Dewar <dewar@adacore.com>
6063
6064 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
6065
60662012-01-30 Olivier Hainque <hainque@adacore.com>
6067
6068 * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
6069 comments.
6070
60712012-01-30 Thomas Quinot <quinot@adacore.com>
6072
6073 * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
6074 sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
6075 sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
6076 New subprogram (extracted from
6077 Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
6078 (Einfo.Is_Remote_Types): Now applies to generic types. Update
6079 documentation accordingly.
6080 (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
6081 actual for a formal type to which a pragma Remote_Access_Type
6082 applies.
6083 (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
6084 Remote_Access_Type.
6085 (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
6086 be applied to a generic type if pragma Remote_Access_Type
6087 applies, in which case the type of the attribute is
6088 System.Partition_Interface.RACW_Stub_Type.
6089
bfa2a0ba 60902012-01-27 Eric Botcazou <ebotcazou@adacore.com>
6091
6092 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
6093 an alignment on fields of the RETURN type built for the CICO mechanism.
6094
0c1dfc4b 60952012-01-27 Eric Botcazou <ebotcazou@adacore.com>
6096
6097 * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
6098 a call to a function that returns an unconstrained type with default
bfa2a0ba 6099 discriminant. Similarly, avoid doing the conversion to the nominal
0c1dfc4b 6100 result type in this case.
6101
587b5d75 61022012-01-27 Eric Botcazou <ebotcazou@adacore.com>
6103
6104 * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
6105 * gcc-interface/decl.c (is_variable_size): Rename to...
6106 (type_has_variable_size): ...this.
6107 (adjust_packed): Adjust to above renaming.
6108 (gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
6109 (field_is_artificial): New predicate.
6110 (field_is_aliased): Likewise.
6111 (field_has_self_size): Likewise.
6112 (field_has_variable_size): Likewise.
6113 (components_to_record): Record information for the final layout during
6114 the first pass on fields.
6115 If there is an aliased field placed after a field whose length depends
6116 on discriminants, put all the fields of the latter sort, last.
6117
15bd2796 61182012-01-27 Eric Botcazou <ebotcazou@adacore.com>
6119
6120 * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
6121 * gcc-interface/decl.c (get_minimal_subprog_decl): New function.
6122 * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
6123 Access-like attribute in a dispatch table if the subprogram is public.
6124
7e9d30ae 61252012-01-27 Eric Botcazou <ebotcazou@adacore.com>
6126
6127 * gcc-interface/gigi.h (create_label_decl): Adjust.
6128 * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
6129 and invoke gnat_pushdecl on it. Remove obsolete settings.
6130 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
6131 create_label_decl.
6132 * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the
6133 label for debugging purposes.
6134
48954d78 61352012-01-27 Eric Botcazou <ebotcazou@adacore.com>
6136
6137 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
6138 object with an unconstrained nominal subtype and if optimization isn't
6139 enabled, create a special VAR_DECL for debugging purposes.
6140
4db325e6 61412012-01-23 Robert Dewar <dewar@adacore.com>
6142
6143 * sem_prag.ads, sem_prag.adb: Minor reformatting.
6144
61452012-01-23 Robert Dewar <dewar@adacore.com>
6146
6147 * sem_ch13.adb (Analyze_Aspect_Specifications): Check for
6148 language defined aspect applied to renaming or formal type
6149 declaration (not permitted)
6150
61512012-01-23 Matthew Heaney <heaney@adacore.com>
6152
6153 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
6154 comment with pragma Assert.
6155
cf46479c 61562012-01-23 Vincent Pucci <pucci@adacore.com>
6157
6158 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
6159 to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode.
6160 * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New
6161 routine. In ASIS mode, convert any PPC pragmas into aspects in generic
6162 subprogram declaration in order to enable the analysis of PPC boolean
6163 expressions.
6164
24f0ba72 61652012-01-23 Robert Dewar <dewar@adacore.com>
6166
6167 * sem_ch3.adb (Analyze_Object_Declaration): Properly
6168 handle Current_Value for volatile variables (also propagate
6169 Treat_As_Volatile from type to object).
6170
61712012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
6172
6173 * sem_ch12.adb (Install_Body): Detect the case
6174 where the enclosing context is a package with a stub body that
6175 has already been replaced by the actual body. In such cases,
6176 the freeze node for the enclosing context must be inserted after
6177 the real body.
6178
61792012-01-23 Ed Schonberg <schonberg@adacore.com>
6180
6181 * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called
6182 subprogram before expanding the pragma into an if-statement with
6183 a block, to ensure that when the subprogram is null its body is
6184 properly generated before expansion.
6185
362e5ece 61862012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
6187
6188 * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
6189 constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
6190 to Saved_Formal.
6191 Freeze all eligible subprograms which appear as actuals in
6192 the instantiation.
6193 (Has_Fully_Defined_Profile): New routine.
6194 (Renames_Standard_Subprogram): New routine.
6195 (Earlier): Add local variable N. Comment update. Do not use source
6196 locations when trying to determine whether one node precedes another.
6197
61982012-01-23 Gary Dismukes <dismukes@adacore.com>
6199
6200 * exp_ch4.adb (Expand_Concatenate): In the case
6201 where the result of a concatentation can be null, set the to
6202 result have both the low and high bounds of the right operand (not
6203 just the high bound, as was the case prior to this fix). Also,
6204 fix the saved high bound setting (Last_Opnd_High_Bound) in the
6205 empty string literal case (should have been low bound minus one,
6206 rather than plus one).
6207
62082012-01-23 Thomas Quinot <quinot@adacore.com>
6209
6210 * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
6211 omit statement SCOs for disabled pragmas.
6212
dee4c239 62132012-01-23 Matthew Heaney <heaney@adacore.com>
6214
6215 * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads,
6216 a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads,
6217 a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads,
6218 a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read,
6219 Cursor'Write): Declare in private part.
6220 (Reference_Type'Read, Reference_Type'Write): Ditto.
6221 (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto.
6222
25122b4c 62232012-01-23 Robert Dewar <dewar@adacore.com>
6224
6225 * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
6226 reformatting.
6227
98108069 62282012-01-23 Ed Schonberg <schonberg@adacore.com>
6229
6230 * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the
6231 Corresponding_Body on a defaulted null formal subprogram.
6232 * sem_ch12.adb (Check_Formal_Package_Instance): No check needed
6233 on a defaulted formal subprogram that is a null procedure.
6234
62352012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
6236
6237 * exp_ch9.adb: Update the comments involving pragma Implemented.
6238 * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local
6239 constant Subp_Alias and local variable Impl_Subp. Properly
6240 handle aliases of synchronized wrappers. Code cleanup.
6241 (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add
6242 Name_Optional as part of the condition.
6243 * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the
6244 valid choices of implementation kind.
6245 (Check_Arg_Is_One_Of): New routine.
6246 * snames.ads-tmlp: Add Name_Optional.
6247
62482012-01-23 Ed Schonberg <schonberg@adacore.com>
6249
6250 * par-ch13.adb: Better error recovery in illegal aspect
6251 specification.
6252
62532012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
6254
6255 * a-calend.adb: Add with clause for Interfaces.C. Add constant
6256 Unix_Max.
6257 (Day_Of_Week): Call the internal UTC_Time_Offset.
6258 (Split): Call the internal UTC_Time_Offset.
6259 (Time_Of): Call the internal UTC_Time_Offset.
6260 (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset.
6261 (UTC_Time_Offset): New library-level routine.
6262 * a-calend.ads (UTC_Time_Offset): Remove parameter
6263 Is_Historic. Update related comment on usage.
6264 * a-catizo.adb (UTC_Time_Offset): Removed.
6265 (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset.
6266 * a-caltizo.ads (UTC_Time_Offset): Removed.
6267 (UTC_Time_Offset (Time)): Add back the default expression of parameter
6268 Date.
6269
f65e883c 62702012-01-23 Robert Dewar <dewar@adacore.com>
6271
6272 * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
6273 (pg,po,ps): Make sure each entry starts on new line.
6274
62752012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
6276
6277 * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update
6278 the parameter profile of procedure localtime_tzoff and its associated
6279 comment.
6280 (Day_Of_Week): Do not treat the input date as historical
6281 with respect to time zones.
6282 (Split): Do not treat the input
6283 date as historical with respect to time zones. (Time_Of): Do
6284 not treat the input constituents as forming a historical date
6285 with respect to time zones.
6286 (UTC_Time_Offset): Add new formal
6287 parameter Is_Historic. Add local variable Flag. Update the call
6288 to localtime_tzoff.
6289 * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine.
6290 (UTC_Time_Offset (Time)): Update the call to
6291 Time_Zone_Operations.UTC_Time_Offset.
6292 * sysdep.c (__gnat_localtime_tzoff): Update parameter
6293 profile. Split the processing of offsets on Windows into two - one
6294 part of historic time stamps and the other for the current time.
6295
6d852e2b 62962012-01-23 Robert Dewar <dewar@adacore.com>
6297
6298 * a-calend.adb: Minor reformatting.
6299
63002012-01-23 Ed Schonberg <schonberg@adacore.com>
6301
6302 * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
6303 interface in requeue statement.
6304
63052012-01-23 Cyrille Comar <comar@adacore.com>
6306
6307 * projects.texi: Remove references to main units and replace
6308 with references to main programs to be coherent with the
6309 documentation.
6310
cb9cb2d7 63112012-01-23 Robert Dewar <dewar@adacore.com>
6312
6313 * s-utf_32.adb: Minor reformatting.
6314
63152012-01-23 Vincent Celier <celier@adacore.com>
6316
6317 * snames.ads-tmpl: Minor comment addition Indicate that
6318 Name_Library_Encapsulated_Options is only used in gprbuild.
6319
49213728 63202012-01-23 Robert Dewar <dewar@adacore.com>
6321
6322 * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
6323 restrictions.
6324
63252012-01-23 Ed Schonberg <schonberg@adacore.com>
6326
6327 * snames.ads-tmpl: Add Name_Synchronization.
6328 * aspects.ads, aspects.adb: Add Aspect_Synchronization to
6329 enumeration type and related maps.
6330 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect
6331 Synchronization, build corresponding pragma Implemented.
6332 * sem_util.adb (Implementation_Kind): Handle both explicit and
6333 implicit pragma_argument association to retrieve the given
6334 synchronization mode.
6335
bc3646ef 63362012-01-23 Robert Dewar <dewar@adacore.com>
6337
6338 * sem_ch10.adb, errout.adb: Minor reformatting.
6339
63402012-01-23 Ed Schonberg <schonberg@adacore.com>
6341
6342 * sem_res.adb (Resolve_Actuals): An actual in a call to an
6343 Ada 2012 Reference function does not lead to a dangerous order
6344 dependence.
6345
6daf2e31 63462012-01-23 Gary Dismukes <dismukes@adacore.com>
6347
6348 * exp_util.adb (Is_Iterated_Container): Test
6349 Is_Entity_Name when searching for calls to the default iterator,
6350 to avoid blowing up on indirect calls which have an explicit
6351 dereference as the call name.
6352
63532012-01-23 Thomas Quinot <quinot@adacore.com>
6354
6355 * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
6356 the complete expanded name, rather than just its Selector_Name.
6357
63582012-01-23 Thomas Quinot <quinot@adacore.com>
6359
6360 * a-textio.adb (Put): Rewrite one-parameter Character version to
6361 just call the two-parameter one with Current_Out.
6362
2691091b 63632012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
6364
6365 * freeze.adb (Check_Current_Instance): Issue an
6366 error when the prefix of 'Unchecked_Access or 'Access does not
6367 denote a legal aliased view of a type.
6368 (Freeze_Record_Type): Do not halt the processing of record components
6369 once the Has_Controlled_Component is set as this bypasses the remaining
6370 checks.
6371 (Is_Aliased_View_Of_Type): New routine.
6372
63732012-01-23 Thomas Quinot <quinot@adacore.com>
6374
6375 * errout.ads, freeze.adb: Minor reformatting.
6376
63772012-01-23 Thomas Quinot <quinot@adacore.com>
6378
6379 * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
6380 messages.
6381
63822012-01-23 Olivier Hainque <hainque@adacore.com>
6383
6384 * adadecode.c (__gnat_decode): Deal with empty input early,
6385 preventing potential erroneous memory access later on.
6386
465cee25 63872012-01-21 Eric Botcazou <ebotcazou@adacore.com>
6388
6389 PR ada/46192
6390 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
6391 renaming, preserve the volatileness through the indirection, if any.
6392
cfe97a8d 63932012-01-14 Andreas Schwab <schwab@linux-m68k.org>
6394
6395 * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
6396 $(GNATLIBCFLAGS).
6397
ae8e99a3 63982012-01-10 Pascal Obry <obry@adacore.com>
6399
6400 * prj-nmsc.adb (Check_Library_Attributes):
6401 Kill check for object/source directories for aggregate libraries.
6402
64032012-01-10 Matthew Heaney <heaney@adacore.com>
6404
6405 * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
6406 a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
6407 a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
6408 a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
6409 a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
6410 a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
6411 a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
6412 a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
6413 a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
6414 container parameter as aliased in/in out.
6415 Code clean ups.
6416
64172012-01-10 Bob Duff <duff@adacore.com>
6418
6419 * s-os_lib.ads: Improve comment.
6420
64212012-01-10 Geert Bosch <bosch@adacore.com>
6422
6423 * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
6424 for complex Scalar.
6425
43537c96 64262012-01-10 Bob Duff <duff@adacore.com>
6427
6428 * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
6429 checking that the 'Size is correct. If the type is "mod 2**12",
6430 for example, it's illegal, but Esize is the 'Object_Size, which
6431 will be something like 16 or 32, so the error ('Size = 12) was
6432 not detected.
6433 * gnat_rm.texi: Improve documentation of shift
6434 and rotate intrinsics.
6435
64362012-01-10 Pascal Obry <obry@adacore.com>
6437
6438 * prj.adb (For_Every_Project_Imported): Fix
6439 implementation to make sure we return each project only once
6440 for aggragte libraries. It is fine to return a project twice for
6441 aggregate projects, this was the case as a Project_Id is different
6442 in each project tree. The new implementation use a table based on
6443 the project name to ensure proper detection of duplicate project
6444 in aggregate library. A new context is then created to continue
6445 retrurning duplicate project for aggregate libraries.
6446
5c0db21d 64472012-01-09 Eric Botcazou <ebotcazou@adacore.com>
6448
6449 * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
6450 return value in the variable-sized return type case if the target is
6451 an array with fixed size. However, do not create it if this is the
6452 expression of an object declaration.
6453
2f7233cb 64542012-01-09 Eric Botcazou <ebotcazou@adacore.com>
6455
6456 * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
6457
c8e4bf42 64582012-01-06 Robert Dewar <dewar@adacore.com>
6459
6460 * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
6461 s-utf_32.ads: Add pragma Pure
6462 * s-utf_32.adb: Suppress warnings on non-static constants (now
6463 that this is Pure).
6464
64652012-01-06 Bob Duff <duff@adacore.com>
6466
6467 * s-rpc.ads (Read, Write): Add overriding indicators.
6468
64692012-01-06 Robert Dewar <dewar@adacore.com>
6470
6471 * gnat_rm.texi: Add documentation for conventions
6472 Ada_Pass_By_Copy and Ada_Pass_By_Reference.
6473
64742012-01-06 Gary Dismukes <dismukes@adacore.com>
6475
6476 * a-tienio.adb (Put): Add exception message on
6477 raise statements. Remove unneeded blocks and object declarations.
6478
64792012-01-06 Robert Dewar <dewar@adacore.com>
6480
6481 * sem_prag.adb: Minor reformatting.
6482
64832012-01-06 Ed Schonberg <schonberg@adacore.com>
6484
6485 * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
6486 that a selected component within a generic unit has been resolved
6487 as a prefixed call with local references.
6488 * sem_ch3.adb (Is_Visible_Component): In an instance body a selected
6489 component is always visible.
6490 * sem_ch4.adb (Analyze_Selected_Component): If the node is a
6491 prefixed call in an instance, do not look for visible components
6492 of the type.
6493 * sem_ch12.adb (Reset_Entity): If a selected component has resolved
6494 to a prefixed call, mark the node accordingly when prefix and
6495 selector are local references.
6496
4e6fa7c5 64972012-01-02 Eric Botcazou <ebotcazou@adacore.com>
6498
6499 * gnatvsn.ads (Current_Year): Bump to 2012.
7dfbd804 6500\f
8dfa851a 6501Copyright (C) 2012 Free Software Foundation, Inc.
7dfbd804 6502
6503Copying and distribution of this file, with or without modification,
6504are permitted in any medium without royalty provided the copyright
6505notice and this notice are preserved.