1 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
3 * gcc-interface/utils.c (finish_record_type): Return early for padded
6 2012-03-20 Arnaud Charlet <charlet@adacore.com>
8 * hlo.ads, hlo.adb: Removed, no longer used.
9 * gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies.
10 * gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly)
11 and compute it from EXTRA_LIBGNAT_OBJS.
12 Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS.
14 2012-03-20 Yannick Moy <moy@adacore.com>
16 * gnat_rm.texi, sem_attr.ads: Update documentation.
18 2012-03-19 Yannick Moy <moy@adacore.com>
20 * sem_ch6.adb: Minor code clean up.
22 2012-03-19 Vincent Celier <celier@adacore.com>
24 * make.adb (Scan_Make_Arg): Make sure all significant -m switches
25 on the command line are counted.
27 2012-03-19 Robert Dewar <dewar@adacore.com>
29 * sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
32 2012-03-19 Robert Dewar <dewar@adacore.com>
34 * par-ch4.adb (Check_Bad_Exp): New procedure
36 2012-03-19 Robert Dewar <dewar@adacore.com>
38 * exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
39 initial framework for Valid_Scalars attribute.
41 2012-03-19 Robert Dewar <dewar@adacore.com>
43 * scng.adb (Scan): Recognize incorrect preprocessor directive
45 2012-03-19 Robert Dewar <dewar@adacore.com>
47 * atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes
48 * atree.ads (Num_Extension_Nodes): New variable
49 * debug.adb: New debug flag -gnatd.N
50 * gnat1drv.adb (Adjust_Global_Switches): Adjust
51 Num_Extension_Nodes if -gnatd.N set
53 2012-03-19 Eric Botcazou <ebotcazou@adacore.com>
55 * einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
58 2012-03-19 Robert Dewar <dewar@adacore.com>
60 * opt.ads: Remove HLO_Active flag.
61 * sem.adb: Remove call of high level optimizer.
62 * sem.ads (New_Nodes_OK): Removed.
63 * sem_ch10.adb: Remove references to New_Nodes_OK.
64 * switch-c.adb: Remove handling of -gnatH switch.
66 2012-03-19 Yannick Moy <moy@adacore.com>
68 * sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings
69 on trivially True or False postconditions and Ensures components
72 2012-03-19 Robert Dewar <dewar@adacore.com>
74 * gnat_ugn.texi: Fix index entry for -gnatei (now we have
77 2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
79 * sem_ch3.adb (Get_Discriminant_Value): Instead of looking
80 at the immediate correcponsing discriminant, traverse a
81 potential chain of discriminants produced by type derivations.
82 (Root_Corresponding_Discriminant): Traverse a chain of inherited
83 discriminants and return the topmost discriminant.
85 2012-03-19 Bob Duff <duff@adacore.com>
87 * debug.adb: Minor comment change.
88 * gnat_ugn.texi: Update documentation for elaboration regarding
91 2012-03-19 Gary Dismukes <dismukes@adacore.com>
93 * exp_ch3.adb (Expand_N_Object_Declaration): In
94 the case of an object of a class-wide interface type, where the
95 declaration is rewritten as a renaming, call Set_Debug_Info_Needed
96 on the renaming entity so that Materialize_Entity will be
97 set. Also, change existing call (for other than interface cases)
98 to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info
99 (as specified for that flag).
101 2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
103 * sem_ch4.adb (Analyze_Allocator): Detect an allocator generated
104 by the build-in-place machinery where the designated type is
105 indefinite, but the underlying type is not. Do not emit errors
106 related to missing initialization in this case.
108 2012-03-19 Robert Dewar <dewar@adacore.com>
110 * gnat_ugn.texi: Add documentation for -gnateinnn switch.
111 * sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting.
112 * sem_prag.adb: Minor comment update.
114 2012-03-15 Robert Dewar <dewar@adacore.com>
116 * errout.ads: Add entry for translating -gnateinn to
117 /MAX_INSTANTIATIONS for VMS.
118 * hostparm.ads (Max_Instantiations): Moved to Opt.
119 * opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed.
120 * sem_ch12.adb (Maximum_Instantiations): New name of
121 Max_Instantiations (Analyze_Package_Instantiation): Change error
122 msg for too many instantiations (mention -gnateinn switch).
123 * switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch.
124 * switch.ads: Minor comment update.
125 * usage.adb (Usage): Output line for -maxeinn switch.
126 * vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn).
128 2012-03-15 Yannick Moy <moy@adacore.com>
130 * alfa.ads Update the decription of ALI sections.
131 (Alfa_File_Record): Add a component Unit_File_Name to store the
132 unit file name for subunits.
133 * get_alfa.adb, put_alfa.adb Adapt to the possible presence of
135 * lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the
136 file name of the unit.
138 2012-03-15 Yannick Moy <moy@adacore.com>
140 * sem_ch6.adb (Check_Subprogram_Contract): Do
141 not issue warning on missing 'Result in postcondition if all
142 postconditions and contract-cases already get a warning for only
143 referring to pre-state.
145 2012-03-15 Bob Duff <duff@adacore.com>
147 * debug.adb: Add new debug switch -gnatd.U, which disables the
148 support added below, in case someone trips over a cycle, and needs
150 * sem_attr.adb (Analyze_Access_Attribute):
151 Treat Subp'Access as a call for elaboration purposes.
152 * sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support
155 2012-03-15 Vincent Pucci <pucci@adacore.com>
157 * sem.ads, sem.adb (Preanalyze): New routine.
158 * sem_ch4.adb (Analyze_Quantified_Expression): Call to the
159 Preanalyze routine in Sem added. Renaming of Needs_Expansion
160 into Need_Preanalysis.
161 * sem_ch6.adb (Preanalyze): Removed.
163 2012-03-15 Robert Dewar <dewar@adacore.com>
165 * sem_ch4.adb (Analyze_Quantified_Expression): Add comment.
166 * sem_prag.adb: Minor comment additions.
167 * sem_attr.adb (Check_First_Last_Valid): Make sure prefix type
170 2012-03-15 Vincent Pucci <pucci@adacore.com>
172 * sem_ch4.adb (Analyze_Quantified_Expression):
173 Preanalyze the condition when the quantified expression will be
176 2012-03-15 Yannick Moy <moy@adacore.com>
178 * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb,
179 sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma,
180 to refer to both Test_Case pragma and Contract_Case pragma (same
181 acronym as in Spec_CTC_List).
183 2012-03-15 Robert Dewar <dewar@adacore.com>
185 * sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb,
186 sem_warn.adb: Minor reformatting.
188 2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
190 * exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over
191 selector names as the function call always appears at the top selected
194 2012-03-15 Ed Schonberg <schonberg@adacore.com>
196 * sem_ch12.adb (Validate_Access_Subprogram_Instance): keep
197 Mode_Conformance check for older versions of the language.
199 2012-03-15 Yannick Moy <moy@adacore.com>
201 * gnat_ugn.texi Document the extension of option -gnatw.t.
202 * sem_ch3.adb (Analyze_Declaration): Check for suspicious
203 contracts only after contract cases have been semantically
205 * sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures
206 components of contract cases for detecting suspicious contracts.
208 2012-03-15 Yannick Moy <moy@adacore.com>
210 * aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect
211 Aspect_Contract_Case.
212 * gnat_rm.texi Document the new pragma/aspect
213 Contract_Case. Correct the documentation of the existing
214 pragma/aspect Test_Case with the new semantics.
215 * sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the
216 Ensures component of a Contract_Case pragma.
217 * sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect
218 and translate it into a pragma.
219 (Check_Aspect_At_Freeze_Point): Take into account the new aspect.
220 * sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case)
221 into CTC (for contract and test case).
222 * sem_ch6.adb (Process_PPCs): Generate Check pragmas from
223 Contract_Case pragmas, similarly to what is done already for
225 * sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case):
226 Renaming of Check_Test_Case.
227 (Analyze_Pragma, Sig_Flags): Take into account the new pragma.
228 * sem_util.adb, sem_util.ads Renaming to take into account the
229 new pragma, so that functions which applied only to Test_Case
230 now apply to both Test_Case and Contract_Case.
231 * par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account
234 2012-03-15 Robert Dewar <dewar@adacore.com>
236 * sem_ch6.ads: Minor comment updates.
237 * sem_ch12.adb: Minor comment clarification.
239 2012-03-15 Robert Dewar <dewar@adacore.com>
241 * sem_ch5.adb: Minor reformatting.
243 2012-03-15 Ed Schonberg <schonberg@adacore.com>
245 * exp_ch3.adb (Expand_N_Object_Declaration): When rewriting the
246 declaration of a class-wide object, retain the Ekind to prevent
247 subsequent misuse of constants.
249 2012-03-15 Yannick Moy <moy@adacore.com>
251 * gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant
254 2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
256 * exp_util.adb (Initialized_By_Ctrl_Function): Add code to
257 process the case when a function call appears in object.operation
260 2012-03-15 Ed Schonberg <schonberg@adacore.com>
262 * sem_ch6.ads, sem_ch6.adb (Check_Subtype_Conformant): add
263 Get_Inst formal, so that conformance within an instantiation
264 follows renamings of formals. This is similar to what is already
265 done in Check_Mode_conformant.
266 * sem_ch12.adb (Vailidate_Access_Subprogram_Instance): check that
267 formal and actual are subtype conformant. Previously only mode
268 conformance was required.
270 2012-03-15 Robert Dewar <dewar@adacore.com>
272 * par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads,
273 sem_case.adb: Minor reformatting.
275 2012-03-15 Robert Dewar <dewar@adacore.com>
277 * exp_attr.adb (Expand_N_Attribute_Reference): Add handling
278 of First_Valid/Last_Valid.
279 * sem_attr.adb (Check_First_Last_Valid): New procedure
280 (Analyze_Attribute): Add handling of First_Valid and Last_Valid
281 (Eval_Attribute): ditto.
282 * snames.ads-tmpl: Add entries for First_Valid and Last_Valid.
284 2012-03-15 Ed Schonberg <schonberg@adacore.com>
286 * exp_ch5.adb (Expand_Predicated_Loop): Suppress warnings on
287 loop variable, for the unusual case where the range has a single
288 element and the loop variable has no visible assignment to it.
290 2012-03-15 Vincent Pucci <pucci@adacore.com>
292 * exp_ch4.adb (Expand_N_Quantified_Expression): Expand the
293 original quantified expression node.
294 * sem_ch4.adb (Analyze_Quantified_Expression): Properly analyze
295 the quantified expression and preserve the original non-analyzed
296 quantified expression when an expansion is needed.
297 * sem_ch5.adb (Analyze_Iteration_Scheme): Special treatment
298 for quantified expressions.
299 (Analyze_Iterator_Specification): Special treatment for quantified
302 2012-03-15 Ed Falis <falis@adacore.com>
304 * s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad
305 field matches VxWorks headers.
307 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
309 * gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.
311 * a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
312 s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
313 s-osinte-irix.ads, s-proinf-irix-athread.adb,
314 s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
315 system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
318 * adaint.c [__mips && __sgi]: Remove.
319 (__gnat_number_of_cpus) [__mips && __sgi]: Remove.
320 [IS_CROSS && !(__mips && __sgi)]: Remove.
321 * adaint.h [sgi && _LFAPI]: Remove.
322 * cstreams.c (__gnat_full_name) [sgi]: Remove.
323 * env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
324 (__gnat_clearenv) [__mips && __sgi]: Remove.
325 * errno.c (_SGI_MP_SOURCE): Remove.
326 * gsocket.h [sgi]: Remove.
327 * init.c: Remove IRIX reference.
329 * link.c [sgi]: Remove.
330 * s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
331 (main) [__mips && __sgi] (MAX_tv_sec): Don't define.
332 (CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
333 * sysdep.c [sgi]: Remove.
334 (getc_immediate_common) [sgi]: Remove.
335 (__gnat_localtime_tzoff) [sgi]: Remove.
336 * terminals.c [__mips && __sgi] (IRIX): Don't define.
337 [IRIX] (USE_GETPTY): Don't define.
338 (allocate_pty_desc) [USE_GETPTY]: Remove.
340 * g-traceb.ads: Remove IRIX reference.
341 * g-trasym.ads: Likewise.
342 * memtrack.adb: Likewise.
343 * s-interr-sigaction.adb: Likewise.
345 * gnat_rm.texi (Implementation Advice): Remove SGI info.
346 (Implementation Defined Characteristics): Likewise.
347 * gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
349 (Irix-Specific Considerations): Remove.
351 2012-03-13 Tristan Gingold <gingold@adacore.com>
353 * gcc-interface/gigi.h (flag_vms_malloc64): Refine condition.
355 2012-03-13 Tristan Gingold <gingold@adacore.com>
357 * sysdep.c: Adjust condition after removal of __osf__.
359 2012-03-12 Eric Botcazou <ebotcazou@adacore.com>
361 * gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill.
362 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call
364 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust
365 handling of thin pointers.
366 <Attr_Descriptor_Size>: Likewise.
367 (gnat_to_gnu) <N_Free_Statement>: Likewise.
368 * gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill.
369 (convert_to_fat_pointer): Adjust handling of thin pointers.
370 (convert) <POINTER_TYPE>: Likewise.
371 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
373 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
375 * gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
376 * a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
377 s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
378 s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
379 system-tru64.ads: Remove.
381 * adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
383 [IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
384 * env.c [__alpha__ && __osf__]: Remove.
385 * gsocket.h (_OSF_SOURCE): Remove.
386 (HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
387 * init.c [__alpha__ && __osf__]: Remove.
388 * link.c [__osf__]: Remove.
389 * s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
390 [__osf__ && !_SS_MAXSIZE]: Remove.
391 * sysdep.c [__osf__]: Remove.
392 * terminals.c [__alpha__ && __osf__]: Remove.
395 * g-traceb.ads: Remove Tru64 reference.
396 * g-trasym.ads: Likewise.
397 * gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
398 (Summary of Run-Time Configurations): Likewise.
399 * memtrack.adb: Likewise.
401 2012-03-12 Tristan Gingold <gingold@adacore.com>
403 * gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64
404 instead of TARGET_MALLOC64.
405 * gcc-interface/gigi.h (flag_vms_malloc64): Define instead
408 2012-03-09 Robert Dewar <dewar@adacore.com>
410 * a-direct.adb, comperr.adb, freeze.adb: Minor reformatting.
412 2012-03-09 Arnaud Charlet <charlet@adacore.com>
414 * s-taskin.adb (Initialize_ATCB): Set Task_Image_Len to
415 0 so that we never access this field uninitialized (e.g. in
416 Task_Primitives.Operations.Enter_Task for the environment task).
418 2012-03-09 Vincent Pucci <pucci@adacore.com>
420 * exp_ch5.adb (Expand_Iterator_Loop):
421 Call to Expand_Iterator_Loop_Over_Array added.
422 (Expand_Iterator_Loop_Over_Array): New routine. Expansion of
423 "of" iterator loop over arrays. Multidimensional array case added.
425 2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
427 * uintp.ads: Fix minor pasto in comment.
429 2012-03-09 Vasiliy Fofanov <fofanov@adacore.com>
431 * a-direct.adb: Do not strip the trailing directory separator
432 from path, as this is already done inside Normalize_Pathname;
433 doing it again produces the wrong result on Windows for the
434 drive's root dir (i.e. "X:\" becomes "X:").
436 2012-03-09 Thomas Quinot <quinot@adacore.com>
438 * exp_attr.adb, freeze.adb, sem_attr.adb, aspects.adb, aspects.ads,
439 sem_ch13.adb, snames.ads-tmpl (Exp_Attr.Expand_N_Attribute_Reference):
440 Add Attribute_Scalar_Storage_Order.
441 (Sem_Attr.Analyze_Attribute, Eval_Attribute): Ditto.
442 (Aspects): Add Aspect_Scalar_Storage_Order (Snames): Add
443 Name_Scalar_Storage_Order and Attribute_Scalar_Storage_Order.
444 (Sem_Ch13.Analyze_Attribute_Definition_Clause): Add processing
445 for Scalar_Storage_Order.
446 (Freeze): If Scalar_Storage_Order is specified, check that it
447 is compatible with Bit_Order.
449 2012-03-09 Robert Dewar <dewar@adacore.com>
451 * s-osinte-linux.ads, sem_util.adb, s-taprop-linux.adb, exp_ch4.adb,
452 a-strsup.ads, sem_ch6.adb, a-stwisu.ads, exp_ch3.adb,
453 a-stzsup.ads: Minor reformatting.
455 2012-03-09 Thomas Quinot <quinot@adacore.com>
457 * s-ransee-vms.adb: Minor reformatting.
459 2012-03-09 Arnaud Charlet <charlet@adacore.com>
461 * comperr.adb (Delete_SCIL_Files): Fix handling of
462 N_Package_Renaming_Declaration and N_Generic_Package_Declaration.
464 2012-03-09 Javier Miranda <miranda@adacore.com>
466 * sem_ch6.adb (Check_Body_To_Inline): In AAMP and VM targets
467 use frontend inlining at all optimization levels.
468 * sem_util.adb (Must_Inline): In AAMP and VM targets, given that
469 there is no inlining support in the backend, use also frontend
470 inlining when compiling with optimizations enabled.
471 * exp_ch6.adb (Expand_Call): Minor code reorganization.
473 2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
475 * gcc-interface/ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around.
476 (TYPE_UNCONSTRAINED_ARRAY): Adjust comment.
477 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Tidy
478 up. Add comment and use canonical predicate for thin pointers.
479 (gnat_to_gnu) <N_Free_Statement>: Tidy up and reorder. Add comment
480 and use canonical predicate for thin pointers.
481 * gcc-interface/utils.c (convert_to_fat_pointer): Remove superfluous
482 'else' and use standard name.
483 (convert_to_thin_pointer): Delete.
484 (convert) <POINTER_TYPE>: Do the difference in sizetype directly and
485 change obsolete idioms. Do not call above function.
486 (unchecked_convert): Fix formatting.
487 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: In the thin
488 pointer case, use byte_position to get the field position.
490 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
492 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the
493 DECL node built for a type which has a non-trivial equivalent type.
495 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
497 * gcc-interface/gigi.h (rest_of_type_decl_compilation): Delete.
498 * gcc-interface/decl.c (defer_finalize_level): Likewise.
499 (defer_finalize_list): Likewise.
500 (gnat_to_gnu_entity): Delete references to above variables and do not
501 call rest_of_type_decl_compilation.
502 (rest_of_type_decl_compilation): Delete.
503 (rest_of_type_decl_compilation_no_defer): Likewise.
504 * gcc-interface/utils.c (rest_of_record_type_compilation): Do not call
505 rest_of_type_decl_compilation.
506 (create_type_decl): Likewise.
507 (update_pointer_to): Likewise.
509 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
511 * gcc-interface/trans.c (Identifier_to_gnu): Don't unshare initializer.
512 (add_decl_expr): Mark external DECLs as used.
513 * gcc-interface/utils.c (convert) <CONSTRUCTOR>: Copy the vector.
515 2012-03-07 Tristan Gingold <gingold@adacore.com>
517 * s-ransee-vms.adb: New file.
518 * gcc-interface/Makefile.in: Use s-ransee-vms.adb on VMS.
519 * gcc-interface/Make-lang.in: Update dependencies.
521 2012-03-07 Bob Duff <duff@adacore.com>
523 * rtsfind.ads: Add support for finding Super_String types.
524 * sem_util.ads, sem_util.adb (Is_Bounded_String): New function
525 to determine whether a given type is a bounded string type.
526 (Is_Fully_Initialized_Type): Return True for bounded
527 string types, to suppress bogus warnings.
528 * exp_ch4.adb (Expand_Composite_Equality): Special case for bounded
529 strings: equality composes. This allows us to remove default values in
531 * a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments.
532 * exp_ch3.adb (Expand_Freeze_Record_Type): Comment.
534 2012-03-07 Robert Dewar <dewar@adacore.com>
536 * sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor
539 2012-03-07 Sergey Rybin <rybin@adacore.com frybin>
541 * gnat_ugn.texi: gnatpp: fix paragraph about sources with
542 preprocessor directives.
544 2012-03-07 Arnaud Charlet <charlet@adacore.com>
546 * s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function.
547 (Enter_Task): Call prctl when relevant.
549 2012-03-07 Tristan Gingold <gingold@adacore.com>
551 * s-osinte-vms.ads: pthread_mutex_setname_np: new function.
553 2012-03-07 Ed Schonberg <schonberg@adacore.com>
555 * sem_ch6.adb (Process_Formals): a generic subprogram with
556 a formal incomplete type does not require a freeze node.
558 2012-03-07 Bob Duff <duff@adacore.com>
560 * sem_util.ads: Minor reformatting.
562 2012-03-07 Geert Bosch <bosch@adacore.com>
564 * targparm.ads: New target parameter Atomic_Sync_Default,
566 * targparm.adb (Get_Target_Parameters): Add processing for
568 * gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options
571 2012-03-07 Javier Miranda <miranda@adacore.com>
573 * sem_ch3.adb (Analyze_Object_Declaration): If the object
574 declaration has an init expression then stop the analysis of the
575 object declaration if the expression which initializes the object
576 is a call to an inlined function which returns an unconstrained
577 and has been expanded into a procedure call.
578 * sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing
579 support to handle selected components.
580 * sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus
582 * sem_ch6.adb (Check_And_Build_Body_To_Inline): New
583 subprogram which implements the checks required by the
584 new rules for frontend inlining and builds the body to inline.
585 (Analyze_Subprogram_Body_Helper): Move code that
586 checks inlining of subprogram that has nested subprogram
587 to Check_And_Build_Body_To_Inline. Replace call to
588 Build_Body_To_Inline by call to the new subprogram
589 Check_And_Build_Body_To_Inline.
590 (Cannot_Inline): New implementation.
591 * sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp):
593 * sem_util.ad[sb] (Must_Inline): New subprogram.
594 (Returns_Unconstrained_Type): New subprogram.
595 * sem_res.adb (Resolve_Call): Do not create a transient scope
597 * inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable.
598 * inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting
599 to false the variable Analyzing_Inlined_Bodies. Fix comments.
600 * exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master.
601 * exp_ch6.ads (List_Inlining_Info): New subprogram.
602 * exp_ch6.adb (Expand_Call.Do_Inline): New subprogram.
603 (Expand_Call.Do_Inline_Always): New subprogram.
604 (In_Unfrozen_Instance): Move the declaration of this subprogram.
605 (Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram.
606 (Expand_Inlined_Call): Adding new support for inlining functions
607 that return unconstrained types.
608 (List_Inlining_Info): New subprogram.
609 * debug.adb Document flags -gnatd.j and -gnatd.k
610 * gnat1drv.adb Add call to generate the new listing of inlined
611 calls and calls passed to the backend.
613 2012-03-07 Robert Dewar <dewar@adacore.com>
615 * sem_ch5.adb, s-vaflop.adb, s-taprop-vms.adb, exp_ch6.adb,
616 s-gearop.adb, sem_ch6.adb, g-trasym.adb: Minor reformatting.
618 2012-03-07 Javier Miranda <miranda@adacore.com>
620 * a-ngrear.ads: Add documentation.
622 2012-03-07 Tristan Gingold <gingold@adacore.com>
624 * s-taprop-vms.adb (Create_Task): set thread name.
625 * s-osinte-vms.ads (pthread_attr_setname_np): Declare.
627 2012-03-07 Arnaud Charlet <charlet@adacore.com>
629 * g-trasym.adb: Minor reformatting.
631 2012-03-07 Robert Dewar <dewar@adacore.com>
633 * a-ngrear.ads: Minor addition of ??? comment.
635 2012-03-07 Gary Dismukes <dismukes@adacore.com>
637 * exp_ch4.adb (Apply_Accessibility_Check): Call
638 Remove_Side_Effects in the build-in-place case, to ensure that
639 we capture the call and don't end up with two calls.
641 2012-03-07 Javier Miranda <miranda@adacore.com>
643 * exp_ch6.adb (Expand_Inlined_Call): Skip inlining of functions
644 that return unconstrained types using an extended return statement
645 since the support for inlining these functions has not been yet
646 added to the frontend.
647 * s-vaflop.adb, s-vaflop-vms-alpha.adb: Code reorganization.
648 * a-ngrear.ads: Replace all the Inline_Always pragmas by pragma
650 * a-ngrear.adb (Eigenvalues, Transpose): Restructured to use
651 extended return statement.
652 * a-strsup.adb, a-stzsup.adb, a-stwisu.adb (Concat, Super_Slice,
653 Super_To_String): Restructured to use extended return statement.
654 * a-chahan.adb (To_Basic, To_Lower, To_Upper): Restructured to
655 use extended return statement.
656 * s-gearop.adb (Diagonal, Matrix_Elementwise_Operation,
657 Vector_Elementwise_Operation, Matrix_Elementwise_Operation,
658 Matrix_Matrix_Scalar_Elementwise_Operation,
659 Vector_Vector_Elementwise_Operation,
660 Vector_Vector_Scalar_Elementwise_Operation,
661 Matrix_Scalar_Elementwise_Operation,
662 Vector_Scalar_Elementwise_Operation,
663 Scalar_Matrix_Elementwise_Operation,
664 Scalar_Vector_Elementwise_Operation, Matrix_Matrix_Product,
665 Matrix_Vector_Product, Outer_Product, Unit_Matrix, Unit_Vector,
666 Vector_Matrix_Product): Restructured to use extended return
669 2012-03-07 Vincent Pucci <pucci@adacore.com>
671 * sem_ch5.adb (One_Bound): Minor reformatting.
673 2012-03-07 Tristan Gingold <gingold@adacore.com>
675 * s-osinte-vms-ia64.adb, s-osinte-vms-ia64.ads, s-osinte-vms.adb,
676 s-osinte-vms.ads, gcc-interface/Makefile.in: Merge s-osinte-vms and
679 2012-03-07 Ed Schonberg <schonberg@adacore.com>
681 * checks.adb (Apply_Predicate_Check): Do not generate a predicate
682 check is the context is an internally generated type-specific
684 * sem_ch6.adb (Process_PPCs); the formals of internally generated
685 type-specific functions do not get assertion checks.
687 2012-03-07 Yannick Moy <moy@adacore.com>
689 * gnat_rm.texi: Minor renaming of title.
690 * gnat_ugn.texi: Minor correction.
692 2012-03-07 Vincent Pucci <pucci@adacore.com>
694 * exp_ch4.adb (Expand_N_Quantified_Expression): Minor
696 * sem_ch4.adb (Analyze_Quantified_Expression): Creation and
697 analysis of the iteration scheme added in all cases.
698 * sem_ch5.adb (Analyze_Iteration_Scheme): Minor reformating.
699 (Analyze_Iterator_Specification): Minor reformating.
700 * sem_res.adb (Resolve_Quantified_Expression): Resolution of
701 the condition added in all cases.
703 2012-03-07 Thomas Quinot <quinot@adacore.com>
705 * einfo.adb, einfo.ads: Add flag Reverse_Storage_Order.
707 2012-03-07 Yannick Moy <moy@adacore.com>
709 * gnat_rm.texi, gnat_ugn.texi: Rewording of GNAT UG and GNAT RM to
710 account for Ada 2012 assertions, and their pragma counterparts in GNAT.
712 2012-03-07 Thomas Quinot <quinot@adacore.com>
714 * exp_attr.adb, sem_attr.adb: Minor reformatting.
716 2012-03-07 Bob Duff <duff@adacore.com>
718 * hostparm.ads (Max_Instantiations): Increase parameter.
720 2012-03-07 Bob Duff <duff@adacore.com>
722 * par-prag.adb: Minor code rearrangement.
724 2012-03-07 Bob Duff <duff@adacore.com>
726 * a-strsup.ads, a-stwisu.ads, a-stzsup.ads (Super_String):
727 Remove default initial value for Data. It is no longer needed
728 because "=" now composes properly for untagged records. This
729 default has caused efficiency problems.
731 2012-03-07 Ed Schonberg <schonberg@adacore.com>
733 * sem_res.adb (Resolve_Actuals): If the actual is a selected
734 component of an anonymous access type, whose prefix is a variable,
735 treat the variable as if it may be modified by the call, to
736 suppress spurious warnings that a variable might be declared as
739 2012-03-07 Thomas Quinot <quinot@adacore.com>
741 * einfo.adb, einfo.ads: Remove unused entity flags.
743 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
745 * gnat_ugn.texi (Inline Assembler): Fix swapping of Input and
746 Output operands throughout.
748 2012-03-07 Hristian Kirtchev <kirtchev@adacore.com>
750 * sem_ch12.adb (Earlier): When two nodes come from the same
751 generic instantiation, compare their locations. Otherwise always
752 use the top level locations of the nodes.
754 2012-03-07 Thomas Quinot <quinot@adacore.com>
756 * einfo.ads, sem_prag.adb: Minor reformatting.
758 2012-03-05 Jason Merrill <jason@redhat.com>
760 * gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn
763 2012-03-04 Eric Botcazou <ebotcazou@adacore.com>
765 * gnatvsn.ads (Library_Version): Bump to 4.8.
767 2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
769 * init.c (__gnat_adjust_context_for_raise): Also check
770 "orq $0x0,(%esp)" for x32.
772 * link.c (__gnat_default_libgcc_subdir): Set to libx32 for x32.
774 * gcc-interface/Makefile.in (arch): Set to x32 if MULTISUBDIR
775 is /x32 and add support for x32.
777 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
779 * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter
780 and set TYPE_ARTIFICIAL according to it. Adjust recursive call.
781 (gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function.
782 * gcc-interface/utils.c (rest_of_record_type_compilation): Do not
783 invoke rest_of_type_decl_compilation on the parallel type, if any.
785 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
787 * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the
788 dummy global built for global types is preserved.
790 2012-02-27 Tristan Gingold <gingold@adacore.com>
792 * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
793 E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and
796 2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
798 * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking.
799 (TYPE_BY_REFERENCE_P): New flag.
800 (TYPE_IS_BY_REFERENCE_P): New macro.
801 (TYPE_DUMMY_P): Add checking and remove VOID_TYPE.
802 (TYPE_IS_DUMMY_P): Adjust for above change.
803 * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P
804 and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE.
805 (gnat_to_gnu_param): Likewise.
806 (maybe_pad_type): Likewise.
807 (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P.
808 * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P
809 instead of TREE_ADDRESSABLE.
810 * gcc-interface/trans.c (finalize_nrv): Likewise.
811 (call_to_gnu): Likewise. Do not create a temporary for return values
812 with by-reference type here.
813 (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P.
814 (gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant
815 CONSTRUCTORs and calls.
816 * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of
817 the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P
818 instead of TREE_ADDRESSABLE.
819 * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference
822 2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
824 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous
825 change that creates a special VAR_DECL for debugging purposes. For an
826 aliased object with an unconstrained nominal subtype, make its type a
827 thin reference to the underlying object.
828 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with
829 expressions built for the initialization of above objects.
831 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
833 * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
834 Windows-specific make variable.
835 (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
836 (install-gnatlib): Respect the above during installation when set,
837 and also install any windows import library that has been built.
838 (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
839 build a corresponding import library.
841 2012-02-22 Robert Dewar <dewar@adacore.com>
843 * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
846 2012-02-22 Geert Bosch <bosch@adacore.com>
848 * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove
849 x86-specific version of byteswap and use GCC builtins instead.
851 2012-02-22 Tristan Gingold <gingold@adacore.com>
853 * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
854 E_Array_Type]: Translate component ealier.
856 2012-02-22 Robert Dewar <dewar@adacore.com>
858 * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize
859 error message for 'Range.
861 2012-02-22 Pascal Obry <obry@adacore.com>
863 * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as
864 this is our own thread.
866 2012-02-22 Sergey Rybin <rybin@adacore.com frybin>
868 * tree_io.ads: Update ASIS_Version_Number because of the changes
871 2012-02-22 Hristian Kirtchev <kirtchev@adacore.com>
873 * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on
874 stack-related finalizers.
876 2012-02-22 Ed Schonberg <schonberg@adacore.com>
878 * sem_ch6.adb (Analyze_Expression_Function): If the construct
879 is a completion, indicate that its formals are the formals of
880 a completion, and as such do not get a cross- reference entry.
881 (Analyze_Subprogram_Specification): Do not generate a definition
882 for the entity of an expression function, because it may be a
883 completion. Definition will be generated if needed when analyzing
884 the generated subprogram declaration.
886 2012-02-22 Vincent Celier <celier@adacore.com>
888 * make.adb (Check): When checking if an object file is in the
889 correct object directory, get the unit name from a previous call
890 to Check_Source_Info_In_ALI.
891 * makeutl.adb (Check_Source_Info_In_ALI): Return the name of
892 the unit when everything is OK, otherwise return No_Name.
893 * makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead
896 2012-02-22 Ed Schonberg <schonberg@adacore.com>
898 * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an
899 instance, the operator is visible if an operand is of some
900 numeric type which is not in use or directly visible, and the
901 other operand is a numeric literal.
903 2012-02-22 Tristan Gingold <gingold@adacore.com>
905 * init.c: Minor code clean up.
906 * gcc-interface/Make-lang.in: Update dependencies.
908 2012-02-22 Arnaud Charlet <charlet@adacore.com>
910 * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
911 otherwise GCC will generate an object file.
913 2012-02-22 Vincent Celier <celier@adacore.com>
915 * projects.texi: Correct typo related to "**" in Source_Dirs.
917 2012-02-22 Steve Baird <baird@adacore.com>
919 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of
922 2012-02-22 Vincent Pucci <pucci@adacore.com>
924 * rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and
925 System_Dim_Child cases added.
926 * rtsfind.ads: Ada_Numerics,
927 Ada_Numerics_Generic_Elementary_Functions, System_Dim,
928 System_Dim_Float_IO and System_Dim_Integer_IO added to the list
929 of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as
931 * sem_dim.adb (Is_Dim_IO_Package_Entity): Use of
932 Rtsfind to verify the package entity is located either
933 in System.Dim.Integer_IO or in System.Dim.Float_IO.
934 (Is_Dim_IO_Package_Instantiation): Minor
935 changes. (Is_Elementary_Function_Call): Removed.
936 (Is_Elementary_Function_Entity): New routine.
937 (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added.
938 * snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions
941 2012-02-22 Vincent Pucci <pucci@adacore.com>
943 * sem_prag.adb: Minor reformatting.
945 2012-02-22 Ed Schonberg <schonberg@adacore.com>
947 * sem_ch3.adb (Find_Type_Name): When analyzing a private type
948 declaration that is the completion of a tagged incomplete type, do
949 not associate the class-wide type already created with the private
950 type to prevent order-of-elaboration issues in the back-end.
951 * exp_disp.adb (Find_Specific_Type): Find specific type of
952 a class-wide type, and handle the case of an incomplete type
953 coming either from a limited_with clause or from an incomplete
954 type declaration. Used when expanding a dispatchin call and
955 generating tag checks (minor refactoring).
957 2012-02-22 Robert Dewar <dewar@adacore.com>
959 * exp_ch5.adb: Add comment.
960 * sem_ch12.adb, exp_ch6.adb: minor reformatting
962 2012-02-22 Ed Schonberg <schonberg@adacore.com>
964 * freeze.adb (Freeze_Entity): Do not perform type layout within
967 2012-02-22 Eric Botcazou <ebotcazou@adacore.com>
969 * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
972 2012-02-22 Ed Schonberg <schonberg@adacore.com>
974 * exp_ch5.adb (Expand_N_Assignment_Statement): Reject an
975 assignment to a classwide type whose type is limited, as
976 can happen in an instantiation in programs that run afoul or
979 2012-02-17 Ed Schonberg <schonberg@adacore.com>
981 * exp_ch6.adb (Legal_Copy): If layout is not
982 determined in the front-end, do not emit error message when
983 by-reference actual is potentially unaligned.
984 * gcc-interface/decl.c (gnat_to_gnu_field): Better error message for
985 illegal representation clause on tagged or aliased component, or on
986 by-reference type with forced alignment.
988 2012-02-17 Nicolas Roche <roche@adacore.com>
990 * gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is
991 propagated by gnatlib-sjlj and gnatlib-zcx targets.
992 * gcc-interface/Make-lang.in: Update dependencies.
994 2012-02-17 Thomas Quinot <quinot@adacore.com>
996 * sem_ch12.adb (Analyze_Package_Instantiation): For an
997 instantiation in an RCI library unit, omit the instance body
998 if the RCI library unit is the instance itself (E.2.3(18)),
999 but include the body if the instantiation is within the RCI
1000 declaration (12.3(12)).
1002 2012-02-17 Steve Baird <baird@adacore.com>
1004 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and
1005 Post'Class aspects can only be specified for a primitive operation
1008 2012-02-17 Yannick Moy <moy@adacore.com>
1010 * gnat_rm.texi: Minor shuffling.
1012 2012-02-17 Ed Schonberg <schonberg@adacore.com>
1014 * aspects.adb: Expression functions can carry pre/postconditions.
1015 * par-ch6.adb (P_Subprogram): look for optional pre/postconditions
1016 in an expression function.
1017 * sem_prag (Check_Precondition_Postcondition): legal on expression
1020 2012-02-17 Vincent Pucci <pucci@adacore.com>
1022 * a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb,
1023 * a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb,
1024 * a-convec.adb, a-coorma.adb (Adjust): New routine.
1025 (Constant_Reference): Increment Busy and Lock counters.
1026 (Reference): Increase Busy and Lock counters.
1027 (Finalize): New routine.
1028 * a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb:
1029 (Adjust): New routine. (Constant_Reference): Increment Busy
1031 (Finalize): New routine.
1032 * a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads,
1033 * a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads,
1034 * a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads,
1035 * a-coorma.ads, a-coorse: Controlled component added to the
1038 2012-02-17 Robert Dewar <dewar@adacore.com>
1040 * restrict.adb (Check_Restriction): Add special handling for
1041 No_Obsolescent_Features.
1043 2012-02-17 Hristian Kirtchev <kirtchev@adacore.com>
1045 * exp_util.adb (Find_Finalize_Address): When dealing with an
1046 internally built full view for a type with unknown discriminants,
1047 use the original record type.
1049 2012-02-17 Robert Dewar <dewar@adacore.com>
1051 * sem_dim.adb: Minor reformatting.
1053 2012-02-17 Yannick Moy <moy@adacore.com>
1055 * gnat_rm.texi: Minor rewording.
1057 2012-02-17 Thomas Quinot <quinot@adacore.com>
1059 * sem_aggr.adb: Minor reformatting.
1061 2012-02-17 Robert Dewar <dewar@adacore.com>
1063 * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case.
1065 2012-02-17 Vincent Pucci <pucci@adacore.com>
1067 * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine.
1068 (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity
1070 (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity
1072 * s-dim.ads: Make package Pure.
1074 2012-02-17 Gary Dismukes <dismukes@adacore.com>
1076 * prj-nmsc.adb: Minor reformatting.
1078 2012-02-17 Yannick Moy <moy@adacore.com>
1080 * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions.
1082 2012-02-17 Yannick Moy <moy@adacore.com>
1084 * gnat_ugn.texi: Fix typos.
1086 2012-02-17 Pascal Obry <obry@adacore.com>
1088 * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an
1089 aggregate is not Externally_Built.
1091 2012-02-17 Ed Schonberg <schonberg@adacore.com>
1093 * sem_aggr.adb (Resolve_Record_Aggregate): If a composite
1094 component has a box association, copy the default value using
1095 the current scope as the scope of internal types, to prevent
1096 scoping anomalies in gigi.
1098 2012-02-17 Robert Dewar <dewar@adacore.com>
1100 * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb,
1101 sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb,
1102 exp_intr.adb, s-os_lib.adb: Minor reformatting.
1104 2012-02-17 Ed Schonberg <schonberg@adacore.com>
1106 * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the
1107 old operation is abstract, the relevant type is not abstract,
1108 and the new subprogram fails to override.
1110 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
1112 * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the
1113 type of the result to the end and execute it for a deferred constant of
1114 a discriminated type whose full view can be elaborated statically.
1116 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
1118 * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the
1119 type is tagged, mark it as used for debugging purposes.
1120 <N_Allocator>: Likewise for a qualified expression.
1122 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
1124 * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
1125 return value in the by-reference return type case if this isn't the
1126 expression of an object declaration. Tidy up.
1128 2012-02-09 Tristan Gingold <gingold@adacore.com>
1130 * gcc-interface/Makefile.in: Remove .sym rule (not used).
1131 Remove adamsg.o object (requires native message compiler).
1132 * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a
1133 macro instead of as extern int.
1134 (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR)
1135 (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT)
1136 (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH)
1137 (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC)
1138 (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH)
1139 (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH)
1140 (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH)
1141 (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR)
1142 (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise.
1143 (struct cond_except): Field cond is now an unsigned int.
1144 (dec_ada_cond_except_table): Adjust.
1145 (cond_except_table): Likewise.
1146 (cond_resignal_table): Likewise.
1147 (__gnat_default_resignal_p): Fix style.
1149 2012-02-08 Vincent Celier <celier@adacore.com>
1151 * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects
1152 (g-buorma is now imported by sinput).
1153 Update dependencies.
1154 * scn.adb (Initialize_Scanner): Call Check_For_BOM
1155 * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM
1156 * sinput.adb: New procedure Check_For_BOM
1157 * sinput.ads: New procedure Check_For_BOM
1159 2012-02-08 Vincent Pucci <pucci@adacore.com>
1161 * impunit.adb: Dimension package names updated
1162 * Makefile.rtl: s-dim added
1163 * sem_dim.adb (Is_Procedure_Put_Call): minor changes
1164 (Is_Dim_IO_Package_Instantiation): minor changes
1165 * sem_dim.ads: minor changes in comments
1166 * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and
1167 Name_Dim_Integer_IO removed
1168 * s-dim.ads: New package. Define the dimension terminology.
1169 * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads,
1170 * s-dmotpr.ads: Package names updated.
1171 * s-diflio.ads, s-diinio.ads: Documentation added and package
1174 2012-02-08 Gary Dismukes <dismukes@adacore.com>
1176 * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test
1177 for storage pools to test for an underlying record type rather than
1178 testing Is_Tagged_Type, so that simple storage pools will be handled
1179 the same as normal Ada storage pools.
1181 2012-02-08 Yannick Moy <moy@adacore.com>
1183 * gnat_rm.texi: Minor reshuffling to place restriction at
1186 2012-02-08 Bob Duff <duff@adacore.com>
1188 * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
1189 False for '-gnatwA', to suppress these warnings.
1191 2012-02-08 Vincent Celier <celier@adacore.com>
1193 * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
1194 starting to scan, so that UTF8 encoding is taken into account.
1196 2012-02-08 Arnaud Charlet <charlet@adacore.com>
1198 * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
1200 (Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
1201 (Exceptional_Complete_Rendezvous): Mark No_Return.
1203 2012-02-08 Eric Botcazou <ebotcazou@adacore.com>
1205 * exp_aggr.adb (Compile_Time_Known_Composite_Value):
1206 New predicate to compute whether a composite value can be
1207 evaluated at compile time.
1208 (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all
1209 expressions of elementary type and Compile_Time_Known_Composite_Value
1210 for all other expressions.
1211 (Expand_Record_Aggregate): Convert to assignments in the case
1212 of a type with mutable components if the aggregate cannot be
1215 2012-02-08 Gary Dismukes <dismukes@adacore.com>
1217 * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
1218 (Impl_Defined_Aspects): Add association for
1219 Aspect_Simple_Storage_Pool_Type.
1221 association for Aspect_Simple_Storage_Pool_Type.
1223 (Canonical_Aspect): Add association for Simple_Storage_Pool_Type.
1224 * exp_attr.adb (Expand_N_Attribute_Reference):
1225 Change name to Name_Simple_Storage_Pool_Type.
1226 * exp_ch4.adb (Expand_N_Allocator): Change
1227 name to Name_Simple_Storage_Pool_Type.
1228 * exp_intr.adb (Expand_Unc_Deallocation): Change name to
1229 Name_Simple_Storage_Pool_Type. * freeze.adb (Freeze_Entity):
1230 Change names to Name_Simple_Storage_Pool_Type. * par-prag.adb:
1231 Change names to Name_Simple_Storage_Pool_Type. * sem_attr.adb:
1232 (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type.
1233 * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
1234 Change name to Name_Simple_Storage_Pool_Type.
1236 (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type.
1237 (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type.
1238 * sem_res.adb (Resolve_Allocator): Change name to
1239 Name_Simple_Storage_Pool_Type. * snames.ads-tmpl:
1240 (Name_Simple_Storage_Pool_Type): New name constant.
1241 (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and
1242 move to main pragma section because it no longer matches the
1244 * snames.adb-tmpl (Get_Pragma_Id): Remove test for
1245 Name_Simple_Storage_Pool.
1246 (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool.
1248 2012-02-08 Robert Dewar <dewar@adacore.com>
1250 * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
1252 2012-02-08 Pascal Obry <obry@adacore.com>
1254 * prj.adb (Compute_All_Imported_Projects): Use new
1255 For_Project_And_Aggregated_Context to ensure proper context is
1256 used for encapsulated aggregate libraries.
1257 * prj-proc.adb (Recursive_Process): Call
1258 Process_Aggregated_Projects earlier to ensure that all dependent
1259 projects are set with the proper encapsulated status.
1261 2012-02-08 Pascal Obry <obry@adacore.com>
1263 * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
1266 2012-02-08 Pascal Obry <obry@adacore.com>
1268 * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
1269 generic routine with a context parameter.
1271 2012-02-08 Robert Dewar <dewar@adacore.com>
1273 * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
1274 a-convec.adb: Minor reformatting and code reorganization.
1276 2012-02-08 Steve Baird <baird@adacore.com>
1278 * sem_cat.adb (In_Preelaborated_Unit): A child
1279 unit instantiation does not inherit preelaboration requirements
1282 2012-02-08 Gary Dismukes <dismukes@adacore.com>
1284 * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool.
1285 (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool.
1286 (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool.
1287 (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool.
1288 * aspects.adb (Canonical_Aspect): Add entry for
1289 Aspect_Simple_Storage_Pool.
1290 * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of
1291 Attribute_Simple_Storage_Pool in the same way as Storage_Pool
1292 (add conversion, analyze/resolve). For the Storage_Size attribute,
1293 for the simple pool case, locate and use the simple pool type's
1294 Storage_Size function (if any), otherwise evaluate to zero.
1295 * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator
1296 for an access type with an associated simple storage pool,
1297 locate and use the pool type's Allocate.
1298 * exp_intr.adb (Expand_Unc_Deallocation): In the case where the
1299 access type has a simple storage pool, locate the pool type's
1300 Deallocate procedure (if present) and use it as the procedure
1301 to call on the Free operation.
1302 * freeze.adb (Freeze_Entity): In the case of a full type for
1303 a private type defined with pragma Simple_Storage_Pool, check
1304 that the full type is also appropriate for the pragma. For
1305 a simple storage pool type, validate that the operations
1306 Allocate, Deallocate (if present), and Storage_Size
1307 (if present) are defined with appropriate expected profiles.
1308 (Validate_Simple_Pool_Op_Formal): New procedure
1309 (Validate_Simple_Pool_Operation): New procedure Add with and
1311 * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement
1312 (no action required).
1313 * sem_attr.adb (Analyze_Attribute): For the case of the
1314 Storage_Pool attribute, give a warning if the prefix type has an
1315 associated simple storage pool, and rewrite the attribute as a
1316 raise of Program_Error. In the case of the Simple_Storage_Pool
1317 attribute, check that the prefix type has an associated simple
1318 storage pool, and set the attribute type to the pool's type.
1319 * sem_ch13.adb (Analyze_Aspect_Specifications): Add
1320 Aspect_Simple_Storage_Pool case choice.
1321 (Analyze_Attribute_Definition_Clause): Add
1322 Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses
1323 (no action). Add handling for Simple_Storage_Pool attribute
1324 definition, requiring the name to denote a simple storage pool
1326 (Check_Aspect_At_Freeze_Point): For a simple storage pool
1327 aspect, set the type to that of the name specified for the aspect.
1328 * sem_prag.adb (Analyze_Pragma): Add handling for pragma
1329 Simple_Storage_Pool, requiring that it applies to a library-level
1330 type declared in a package declaration that is a limited private
1331 or limited record type.
1332 * sem_res.adb (Resolve_Allocator): Flag an attempt to call a
1333 build-in-place function in an allocator for an access type with
1334 a simple storage pool as unsupported.
1335 * snames.ads-tmpl: Add Name_Simple_Storage_Pool.
1336 (type Attribute_Id): Add Attribute_Simple_Storage_Pool.
1337 (type Pragma_Id): Add Pragma_Simple_Storage_Pool.
1338 * snames.adb-tmpl (Get_Pragma_Id): Handle case of
1339 Name_Simple_Storage_Pool.
1340 (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool.
1342 2012-02-08 Cyrille Comar <comar@adacore.com>
1344 * projects.texi: Clarify doc for interfaces.
1346 2012-02-07 Eric Botcazou <ebotcazou@adacore.com>
1348 * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
1351 2012-02-01 Tristan Gingold <gingold@adacore.com>
1353 * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
1354 instead of size_type_node.
1356 2012-01-30 Nicolas Roche <roche@adacore.com>
1358 * gcc-interface/Make-lang.in: Update dependencies.
1359 * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
1361 Remove Linker_Options -crtbe when building sjlj run-time.
1363 2012-01-30 Robert Dewar <dewar@adacore.com>
1365 * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
1366 * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
1367 form 2 * small-literal.
1368 * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
1370 * sem_ch4.ads (Analyze_Mod): New procedure.
1372 2012-01-30 Ed Schonberg <schonberg@adacore.com>
1374 * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
1375 types and return expression when building spec for implicit
1376 body, to preserve global references that may be present in an
1379 2012-01-30 Matthew Heaney <heaney@adacore.com>
1381 * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
1382 Reverse_Elements): Check for cursor tampering.
1384 2012-01-30 Ed Schonberg <schonberg@adacore.com>
1386 * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
1387 type with aspect Default_Value or Default_Component_Value is
1388 fully initialized, and use of variables of such types do not
1391 2012-01-30 Javier Miranda <miranda@adacore.com>
1394 * sem_ch8.adb (Analyze_Subprogram_Renaming):
1395 Handle self-renaming when the renamed entity is referenced using
1398 2012-01-30 Vincent Celier <celier@adacore.com>
1400 * projects.texi: Add documentation for attribute Interfaces.
1402 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
1404 * exp_ch7.adb (Build_Finalizer_Call): Set loc again.
1405 * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
1406 location for the wrapped call to the original AT_END routine
1407 and the subsequent return statement.
1409 2012-01-30 Pascal Obry <obry@adacore.com>
1411 * s-rannum.adb: Minor reformatting.
1413 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
1415 * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds
1416 to 25 and add the hard time value for 2012-06-30.
1418 2012-01-30 Robert Dewar <dewar@adacore.com>
1420 * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb,
1421 freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads,
1422 s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb:
1423 Minor reformatting/code reorganization.
1425 2012-01-30 Thomas Quinot <quinot@adacore.com>
1427 * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
1428 Unsigned_64 rather than Duration.
1429 (System.Random_Numbers.Reset): Use full value of seed
1430 (do not truncate sub-second bits).
1432 2012-01-30 Thomas Quinot <quinot@adacore.com>
1434 * sem_cat.adb, sem_ch12.adb: Minor reformatting.
1436 2012-01-30 Yannick Moy <moy@adacore.com>
1438 * gnat_ugn.texi: Minor correction of GNAT UG, to take into
1439 account changes to -gnatwa and more recent warnings.
1441 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
1443 * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
1444 location when creating a call to a finalizer.
1445 * exp_ch11.adb (Expand_Exception_Handlers): Do not provide
1446 a source location for the first actual of Save_Occurrence for
1449 2012-01-30 Ed Schonberg <schonberg@adacore.com>
1451 * einfo.ads, einfo,adb: New attribute on scalar types:
1452 Default_Aspect_Value New attribute on array types:
1453 Default_Aspect_Component_Value Move attribute Related_Array_Object
1454 to a different position to accomodate new aspect attributes.
1455 * freeze.adb (Freeze_Entity): Use new attributes to retrieve value
1456 of defaults set with an aspect specification, rather than using
1457 the list of aspects attached to the type, to prevent issues with
1459 * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
1460 Default_Value and Default_Component _Value, store corresponding
1461 expression in type entity.
1462 (Check_Aspect_At_End_Of_Declaration): If the default aspects
1463 are declared on the full view, use the full view to resolve the
1464 correseponding expression.
1465 * exp_ch3.adb (Init_Component): Use attribute
1466 Default_Aspect_Component_Value to perform default initialization,
1467 rather than relying on the rep item list for the type.
1468 (Get_Simple_Init_Val): Ditto.
1470 2012-01-30 Thomas Quinot <quinot@adacore.com>
1472 * a-strhas.ads: Document risk of collision attack.
1474 2012-01-30 Yannick Moy <moy@adacore.com>
1476 * gnat_ugn.texi: Minor update wrt warning switches.
1478 2012-01-30 Vincent Celier <celier@adacore.com>
1480 * prj-nmsc.adb (Check_Interfaces): Report an error when a
1481 unit from Library_Interface is not a unit of the project.
1483 2012-01-30 Vincent Pucci <pucci@adacore.com>
1485 * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent
1486 links fixed inside PPC pragmas.
1487 * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl.
1489 2012-01-30 Thomas Quinot <quinot@adacore.com>
1491 * s-ransee.ads: Minor reformatting.
1493 2012-01-30 Pascal Obry <obry@adacore.com>
1495 * prj.ads, prj.adb (For_Each_Source): Add support for skipping
1496 sources coming from an encapsulated library.
1498 2012-01-30 Ed Schonberg <schonberg@adacore.com>
1500 * sem_ch3.adb (Process-Full_View): fix typo.
1501 * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
1502 appear on a private type and the full view is available, ensure
1503 existence of freeze node for full view.
1504 (Build_Predicate_Function): Attach predicate function to both
1505 views of a private type.
1507 2012-01-30 Vincent Celier <celier@adacore.com>
1509 * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
1510 for the project if either attribute Library_Interface or
1511 Interfaces is declared.
1512 (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
1515 2012-01-30 Pascal Obry <obry@adacore.com>
1517 * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
1518 boolean value to true in the process list created by this routine.
1519 * prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
1520 Continued work for KA06-021.
1521 * prj.adb (Compute_All_Imported_Projects): Set
1522 From_Encapsulated_Lib boolean flag.
1524 2012-01-30 Vincent Pucci <pucci@adacore.com>
1526 * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
1528 * s-diflio.ads: Minor change.
1530 2012-01-30 Javier Miranda <miranda@adacore.com>
1532 * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
1533 to Get_Entry_Index. Required to generate code which provides
1534 the correct value of Entry_Index in the target entry.
1536 2012-01-30 Nicolas Roche <roche@adacore.com>
1538 * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
1539 fix issue with zcx on VxWorks5.
1541 2012-01-30 Pascal Obry <obry@adacore.com>
1543 * prj.ads, prj.adb (For_Every_Project_Imported): Remove
1545 (For_Every_Project_Imported_Context): New generic routine with
1546 a context parameter.
1547 * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
1548 distributed complexity.
1549 * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
1551 2012-01-30 Thomas Quinot <quinot@adacore.com>
1553 * exp_aggr.adb (Expand_Record_Aggregate): After creating the
1554 _parent aggregate for an extension aggregate, check whether it
1555 requires delayed (top-down) expansion.
1557 2012-01-30 Vincent Pucci <pucci@adacore.com>
1559 * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
1560 * snames.ads-tmpl: Name_Item and Name_Symbols added.
1561 * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
1562 and change the position of parameter Symbols in every Put routine.
1563 * s-dimmks.ads: Convert long float type Mks_Type into long
1565 * s-llflex.ads: Modifications in comments.
1567 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
1569 * sem_ch12.adb (Earlier): Do not use the
1570 top level source locations of the two input nodes.
1572 2012-01-30 Robert Dewar <dewar@adacore.com>
1574 * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
1575 sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
1577 2012-01-30 Robert Dewar <dewar@adacore.com>
1579 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
1581 2012-01-30 Olivier Hainque <hainque@adacore.com>
1583 * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
1586 2012-01-30 Thomas Quinot <quinot@adacore.com>
1588 * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
1589 sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
1590 sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
1591 New subprogram (extracted from
1592 Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
1593 (Einfo.Is_Remote_Types): Now applies to generic types. Update
1594 documentation accordingly.
1595 (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
1596 actual for a formal type to which a pragma Remote_Access_Type
1598 (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
1600 (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
1601 be applied to a generic type if pragma Remote_Access_Type
1602 applies, in which case the type of the attribute is
1603 System.Partition_Interface.RACW_Stub_Type.
1605 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1607 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
1608 an alignment on fields of the RETURN type built for the CICO mechanism.
1610 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1612 * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
1613 a call to a function that returns an unconstrained type with default
1614 discriminant. Similarly, avoid doing the conversion to the nominal
1615 result type in this case.
1617 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1619 * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
1620 * gcc-interface/decl.c (is_variable_size): Rename to...
1621 (type_has_variable_size): ...this.
1622 (adjust_packed): Adjust to above renaming.
1623 (gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
1624 (field_is_artificial): New predicate.
1625 (field_is_aliased): Likewise.
1626 (field_has_self_size): Likewise.
1627 (field_has_variable_size): Likewise.
1628 (components_to_record): Record information for the final layout during
1629 the first pass on fields.
1630 If there is an aliased field placed after a field whose length depends
1631 on discriminants, put all the fields of the latter sort, last.
1633 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1635 * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
1636 * gcc-interface/decl.c (get_minimal_subprog_decl): New function.
1637 * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
1638 Access-like attribute in a dispatch table if the subprogram is public.
1640 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1642 * gcc-interface/gigi.h (create_label_decl): Adjust.
1643 * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
1644 and invoke gnat_pushdecl on it. Remove obsolete settings.
1645 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
1647 * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the
1648 label for debugging purposes.
1650 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1652 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
1653 object with an unconstrained nominal subtype and if optimization isn't
1654 enabled, create a special VAR_DECL for debugging purposes.
1656 2012-01-23 Robert Dewar <dewar@adacore.com>
1658 * sem_prag.ads, sem_prag.adb: Minor reformatting.
1660 2012-01-23 Robert Dewar <dewar@adacore.com>
1662 * sem_ch13.adb (Analyze_Aspect_Specifications): Check for
1663 language defined aspect applied to renaming or formal type
1664 declaration (not permitted)
1666 2012-01-23 Matthew Heaney <heaney@adacore.com>
1668 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
1669 comment with pragma Assert.
1671 2012-01-23 Vincent Pucci <pucci@adacore.com>
1673 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
1674 to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode.
1675 * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New
1676 routine. In ASIS mode, convert any PPC pragmas into aspects in generic
1677 subprogram declaration in order to enable the analysis of PPC boolean
1680 2012-01-23 Robert Dewar <dewar@adacore.com>
1682 * sem_ch3.adb (Analyze_Object_Declaration): Properly
1683 handle Current_Value for volatile variables (also propagate
1684 Treat_As_Volatile from type to object).
1686 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1688 * sem_ch12.adb (Install_Body): Detect the case
1689 where the enclosing context is a package with a stub body that
1690 has already been replaced by the actual body. In such cases,
1691 the freeze node for the enclosing context must be inserted after
1694 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1696 * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called
1697 subprogram before expanding the pragma into an if-statement with
1698 a block, to ensure that when the subprogram is null its body is
1699 properly generated before expansion.
1701 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1703 * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
1704 constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
1706 Freeze all eligible subprograms which appear as actuals in
1708 (Has_Fully_Defined_Profile): New routine.
1709 (Renames_Standard_Subprogram): New routine.
1710 (Earlier): Add local variable N. Comment update. Do not use source
1711 locations when trying to determine whether one node precedes another.
1713 2012-01-23 Gary Dismukes <dismukes@adacore.com>
1715 * exp_ch4.adb (Expand_Concatenate): In the case
1716 where the result of a concatentation can be null, set the to
1717 result have both the low and high bounds of the right operand (not
1718 just the high bound, as was the case prior to this fix). Also,
1719 fix the saved high bound setting (Last_Opnd_High_Bound) in the
1720 empty string literal case (should have been low bound minus one,
1721 rather than plus one).
1723 2012-01-23 Thomas Quinot <quinot@adacore.com>
1725 * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
1726 omit statement SCOs for disabled pragmas.
1728 2012-01-23 Matthew Heaney <heaney@adacore.com>
1730 * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads,
1731 a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads,
1732 a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads,
1733 a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read,
1734 Cursor'Write): Declare in private part.
1735 (Reference_Type'Read, Reference_Type'Write): Ditto.
1736 (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto.
1738 2012-01-23 Robert Dewar <dewar@adacore.com>
1740 * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
1743 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1745 * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the
1746 Corresponding_Body on a defaulted null formal subprogram.
1747 * sem_ch12.adb (Check_Formal_Package_Instance): No check needed
1748 on a defaulted formal subprogram that is a null procedure.
1750 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1752 * exp_ch9.adb: Update the comments involving pragma Implemented.
1753 * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local
1754 constant Subp_Alias and local variable Impl_Subp. Properly
1755 handle aliases of synchronized wrappers. Code cleanup.
1756 (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add
1757 Name_Optional as part of the condition.
1758 * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the
1759 valid choices of implementation kind.
1760 (Check_Arg_Is_One_Of): New routine.
1761 * snames.ads-tmlp: Add Name_Optional.
1763 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1765 * par-ch13.adb: Better error recovery in illegal aspect
1768 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1770 * a-calend.adb: Add with clause for Interfaces.C. Add constant
1772 (Day_Of_Week): Call the internal UTC_Time_Offset.
1773 (Split): Call the internal UTC_Time_Offset.
1774 (Time_Of): Call the internal UTC_Time_Offset.
1775 (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset.
1776 (UTC_Time_Offset): New library-level routine.
1777 * a-calend.ads (UTC_Time_Offset): Remove parameter
1778 Is_Historic. Update related comment on usage.
1779 * a-catizo.adb (UTC_Time_Offset): Removed.
1780 (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset.
1781 * a-caltizo.ads (UTC_Time_Offset): Removed.
1782 (UTC_Time_Offset (Time)): Add back the default expression of parameter
1785 2012-01-23 Robert Dewar <dewar@adacore.com>
1787 * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
1788 (pg,po,ps): Make sure each entry starts on new line.
1790 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1792 * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update
1793 the parameter profile of procedure localtime_tzoff and its associated
1795 (Day_Of_Week): Do not treat the input date as historical
1796 with respect to time zones.
1797 (Split): Do not treat the input
1798 date as historical with respect to time zones. (Time_Of): Do
1799 not treat the input constituents as forming a historical date
1800 with respect to time zones.
1801 (UTC_Time_Offset): Add new formal
1802 parameter Is_Historic. Add local variable Flag. Update the call
1804 * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine.
1805 (UTC_Time_Offset (Time)): Update the call to
1806 Time_Zone_Operations.UTC_Time_Offset.
1807 * sysdep.c (__gnat_localtime_tzoff): Update parameter
1808 profile. Split the processing of offsets on Windows into two - one
1809 part of historic time stamps and the other for the current time.
1811 2012-01-23 Robert Dewar <dewar@adacore.com>
1813 * a-calend.adb: Minor reformatting.
1815 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1817 * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
1818 interface in requeue statement.
1820 2012-01-23 Cyrille Comar <comar@adacore.com>
1822 * projects.texi: Remove references to main units and replace
1823 with references to main programs to be coherent with the
1826 2012-01-23 Robert Dewar <dewar@adacore.com>
1828 * s-utf_32.adb: Minor reformatting.
1830 2012-01-23 Vincent Celier <celier@adacore.com>
1832 * snames.ads-tmpl: Minor comment addition Indicate that
1833 Name_Library_Encapsulated_Options is only used in gprbuild.
1835 2012-01-23 Robert Dewar <dewar@adacore.com>
1837 * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
1840 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1842 * snames.ads-tmpl: Add Name_Synchronization.
1843 * aspects.ads, aspects.adb: Add Aspect_Synchronization to
1844 enumeration type and related maps.
1845 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect
1846 Synchronization, build corresponding pragma Implemented.
1847 * sem_util.adb (Implementation_Kind): Handle both explicit and
1848 implicit pragma_argument association to retrieve the given
1849 synchronization mode.
1851 2012-01-23 Robert Dewar <dewar@adacore.com>
1853 * sem_ch10.adb, errout.adb: Minor reformatting.
1855 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1857 * sem_res.adb (Resolve_Actuals): An actual in a call to an
1858 Ada 2012 Reference function does not lead to a dangerous order
1861 2012-01-23 Gary Dismukes <dismukes@adacore.com>
1863 * exp_util.adb (Is_Iterated_Container): Test
1864 Is_Entity_Name when searching for calls to the default iterator,
1865 to avoid blowing up on indirect calls which have an explicit
1866 dereference as the call name.
1868 2012-01-23 Thomas Quinot <quinot@adacore.com>
1870 * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
1871 the complete expanded name, rather than just its Selector_Name.
1873 2012-01-23 Thomas Quinot <quinot@adacore.com>
1875 * a-textio.adb (Put): Rewrite one-parameter Character version to
1876 just call the two-parameter one with Current_Out.
1878 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1880 * freeze.adb (Check_Current_Instance): Issue an
1881 error when the prefix of 'Unchecked_Access or 'Access does not
1882 denote a legal aliased view of a type.
1883 (Freeze_Record_Type): Do not halt the processing of record components
1884 once the Has_Controlled_Component is set as this bypasses the remaining
1886 (Is_Aliased_View_Of_Type): New routine.
1888 2012-01-23 Thomas Quinot <quinot@adacore.com>
1890 * errout.ads, freeze.adb: Minor reformatting.
1892 2012-01-23 Thomas Quinot <quinot@adacore.com>
1894 * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
1897 2012-01-23 Olivier Hainque <hainque@adacore.com>
1899 * adadecode.c (__gnat_decode): Deal with empty input early,
1900 preventing potential erroneous memory access later on.
1902 2012-01-21 Eric Botcazou <ebotcazou@adacore.com>
1905 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
1906 renaming, preserve the volatileness through the indirection, if any.
1908 2012-01-14 Andreas Schwab <schwab@linux-m68k.org>
1910 * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
1913 2012-01-10 Pascal Obry <obry@adacore.com>
1915 * prj-nmsc.adb (Check_Library_Attributes):
1916 Kill check for object/source directories for aggregate libraries.
1918 2012-01-10 Matthew Heaney <heaney@adacore.com>
1920 * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
1921 a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
1922 a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
1923 a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
1924 a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
1925 a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
1926 a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
1927 a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
1928 a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
1929 container parameter as aliased in/in out.
1932 2012-01-10 Bob Duff <duff@adacore.com>
1934 * s-os_lib.ads: Improve comment.
1936 2012-01-10 Geert Bosch <bosch@adacore.com>
1938 * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
1941 2012-01-10 Bob Duff <duff@adacore.com>
1943 * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
1944 checking that the 'Size is correct. If the type is "mod 2**12",
1945 for example, it's illegal, but Esize is the 'Object_Size, which
1946 will be something like 16 or 32, so the error ('Size = 12) was
1948 * gnat_rm.texi: Improve documentation of shift
1949 and rotate intrinsics.
1951 2012-01-10 Pascal Obry <obry@adacore.com>
1953 * prj.adb (For_Every_Project_Imported): Fix
1954 implementation to make sure we return each project only once
1955 for aggragte libraries. It is fine to return a project twice for
1956 aggregate projects, this was the case as a Project_Id is different
1957 in each project tree. The new implementation use a table based on
1958 the project name to ensure proper detection of duplicate project
1959 in aggregate library. A new context is then created to continue
1960 retrurning duplicate project for aggregate libraries.
1962 2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
1964 * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
1965 return value in the variable-sized return type case if the target is
1966 an array with fixed size. However, do not create it if this is the
1967 expression of an object declaration.
1969 2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
1971 * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
1973 2012-01-06 Robert Dewar <dewar@adacore.com>
1975 * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
1976 s-utf_32.ads: Add pragma Pure
1977 * s-utf_32.adb: Suppress warnings on non-static constants (now
1980 2012-01-06 Bob Duff <duff@adacore.com>
1982 * s-rpc.ads (Read, Write): Add overriding indicators.
1984 2012-01-06 Robert Dewar <dewar@adacore.com>
1986 * gnat_rm.texi: Add documentation for conventions
1987 Ada_Pass_By_Copy and Ada_Pass_By_Reference.
1989 2012-01-06 Gary Dismukes <dismukes@adacore.com>
1991 * a-tienio.adb (Put): Add exception message on
1992 raise statements. Remove unneeded blocks and object declarations.
1994 2012-01-06 Robert Dewar <dewar@adacore.com>
1996 * sem_prag.adb: Minor reformatting.
1998 2012-01-06 Ed Schonberg <schonberg@adacore.com>
2000 * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
2001 that a selected component within a generic unit has been resolved
2002 as a prefixed call with local references.
2003 * sem_ch3.adb (Is_Visible_Component): In an instance body a selected
2004 component is always visible.
2005 * sem_ch4.adb (Analyze_Selected_Component): If the node is a
2006 prefixed call in an instance, do not look for visible components
2008 * sem_ch12.adb (Reset_Entity): If a selected component has resolved
2009 to a prefixed call, mark the node accordingly when prefix and
2010 selector are local references.
2012 2012-01-02 Eric Botcazou <ebotcazou@adacore.com>
2014 * gnatvsn.ads (Current_Year): Bump to 2012.
2016 Copyright (C) 2012 Free Software Foundation, Inc.
2018 Copying and distribution of this file, with or without modification,
2019 are permitted in any medium without royalty provided the copyright
2020 notice and this notice are preserved.