utils.c (finish_record_type): Return early for padded types and tidy up.
[gcc.git] / gcc / ada / ChangeLog
1 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
2
3 * gcc-interface/utils.c (finish_record_type): Return early for padded
4 types and tidy up.
5
6 2012-03-20 Arnaud Charlet <charlet@adacore.com>
7
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.
13
14 2012-03-20 Yannick Moy <moy@adacore.com>
15
16 * gnat_rm.texi, sem_attr.ads: Update documentation.
17
18 2012-03-19 Yannick Moy <moy@adacore.com>
19
20 * sem_ch6.adb: Minor code clean up.
21
22 2012-03-19 Vincent Celier <celier@adacore.com>
23
24 * make.adb (Scan_Make_Arg): Make sure all significant -m switches
25 on the command line are counted.
26
27 2012-03-19 Robert Dewar <dewar@adacore.com>
28
29 * sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
30 reference case
31
32 2012-03-19 Robert Dewar <dewar@adacore.com>
33
34 * par-ch4.adb (Check_Bad_Exp): New procedure
35
36 2012-03-19 Robert Dewar <dewar@adacore.com>
37
38 * exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
39 initial framework for Valid_Scalars attribute.
40
41 2012-03-19 Robert Dewar <dewar@adacore.com>
42
43 * scng.adb (Scan): Recognize incorrect preprocessor directive
44
45 2012-03-19 Robert Dewar <dewar@adacore.com>
46
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
52
53 2012-03-19 Eric Botcazou <ebotcazou@adacore.com>
54
55 * einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
56 descriptions.
57
58 2012-03-19 Robert Dewar <dewar@adacore.com>
59
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.
65
66 2012-03-19 Yannick Moy <moy@adacore.com>
67
68 * sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings
69 on trivially True or False postconditions and Ensures components
70 of contract-cases.
71
72 2012-03-19 Robert Dewar <dewar@adacore.com>
73
74 * gnat_ugn.texi: Fix index entry for -gnatei (now we have
75 ug_words entry).
76
77 2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
78
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.
84
85 2012-03-19 Bob Duff <duff@adacore.com>
86
87 * debug.adb: Minor comment change.
88 * gnat_ugn.texi: Update documentation for elaboration regarding
89 indirect calls.
90
91 2012-03-19 Gary Dismukes <dismukes@adacore.com>
92
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).
100
101 2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
102
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.
107
108 2012-03-19 Robert Dewar <dewar@adacore.com>
109
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.
113
114 2012-03-15 Robert Dewar <dewar@adacore.com>
115
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).
127
128 2012-03-15 Yannick Moy <moy@adacore.com>
129
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
134 a unit file name.
135 * lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the
136 file name of the unit.
137
138 2012-03-15 Yannick Moy <moy@adacore.com>
139
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.
144
145 2012-03-15 Bob Duff <duff@adacore.com>
146
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
149 to disable this.
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
153 for Subp'Access.
154
155 2012-03-15 Vincent Pucci <pucci@adacore.com>
156
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.
162
163 2012-03-15 Robert Dewar <dewar@adacore.com>
164
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
168 is frozen.
169
170 2012-03-15 Vincent Pucci <pucci@adacore.com>
171
172 * sem_ch4.adb (Analyze_Quantified_Expression):
173 Preanalyze the condition when the quantified expression will be
174 further expanded.
175
176 2012-03-15 Yannick Moy <moy@adacore.com>
177
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).
182
183 2012-03-15 Robert Dewar <dewar@adacore.com>
184
185 * sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb,
186 sem_warn.adb: Minor reformatting.
187
188 2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
189
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
192 component.
193
194 2012-03-15 Ed Schonberg <schonberg@adacore.com>
195
196 * sem_ch12.adb (Validate_Access_Subprogram_Instance): keep
197 Mode_Conformance check for older versions of the language.
198
199 2012-03-15 Yannick Moy <moy@adacore.com>
200
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
204 analyzed.
205 * sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures
206 components of contract cases for detecting suspicious contracts.
207
208 2012-03-15 Yannick Moy <moy@adacore.com>
209
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
224 postconditions.
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
232 the new pragma.
233
234 2012-03-15 Robert Dewar <dewar@adacore.com>
235
236 * sem_ch6.ads: Minor comment updates.
237 * sem_ch12.adb: Minor comment clarification.
238
239 2012-03-15 Robert Dewar <dewar@adacore.com>
240
241 * sem_ch5.adb: Minor reformatting.
242
243 2012-03-15 Ed Schonberg <schonberg@adacore.com>
244
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.
248
249 2012-03-15 Yannick Moy <moy@adacore.com>
250
251 * gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant
252 terminology.
253
254 2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
255
256 * exp_util.adb (Initialized_By_Ctrl_Function): Add code to
257 process the case when a function call appears in object.operation
258 format.
259
260 2012-03-15 Ed Schonberg <schonberg@adacore.com>
261
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.
269
270 2012-03-15 Robert Dewar <dewar@adacore.com>
271
272 * par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads,
273 sem_case.adb: Minor reformatting.
274
275 2012-03-15 Robert Dewar <dewar@adacore.com>
276
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.
283
284 2012-03-15 Ed Schonberg <schonberg@adacore.com>
285
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.
289
290 2012-03-15 Vincent Pucci <pucci@adacore.com>
291
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
300 expressions.
301
302 2012-03-15 Ed Falis <falis@adacore.com>
303
304 * s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad
305 field matches VxWorks headers.
306
307 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
308
309 * gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.
310
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:
316 Remove.
317
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.
328 [sgi]: Remove.
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.
339
340 * g-traceb.ads: Remove IRIX reference.
341 * g-trasym.ads: Likewise.
342 * memtrack.adb: Likewise.
343 * s-interr-sigaction.adb: Likewise.
344
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):
348 Remove.
349 (Irix-Specific Considerations): Remove.
350
351 2012-03-13 Tristan Gingold <gingold@adacore.com>
352
353 * gcc-interface/gigi.h (flag_vms_malloc64): Refine condition.
354
355 2012-03-13 Tristan Gingold <gingold@adacore.com>
356
357 * sysdep.c: Adjust condition after removal of __osf__.
358
359 2012-03-12 Eric Botcazou <ebotcazou@adacore.com>
360
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
363 to above function.
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.
372
373 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
374
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.
380
381 * adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
382 Remove.
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.
393 [OSF1]: Remove.
394
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.
400
401 2012-03-12 Tristan Gingold <gingold@adacore.com>
402
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
406 of TARGET_MALLOC64.
407
408 2012-03-09 Robert Dewar <dewar@adacore.com>
409
410 * a-direct.adb, comperr.adb, freeze.adb: Minor reformatting.
411
412 2012-03-09 Arnaud Charlet <charlet@adacore.com>
413
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).
417
418 2012-03-09 Vincent Pucci <pucci@adacore.com>
419
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.
424
425 2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
426
427 * uintp.ads: Fix minor pasto in comment.
428
429 2012-03-09 Vasiliy Fofanov <fofanov@adacore.com>
430
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:").
435
436 2012-03-09 Thomas Quinot <quinot@adacore.com>
437
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.
448
449 2012-03-09 Robert Dewar <dewar@adacore.com>
450
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.
454
455 2012-03-09 Thomas Quinot <quinot@adacore.com>
456
457 * s-ransee-vms.adb: Minor reformatting.
458
459 2012-03-09 Arnaud Charlet <charlet@adacore.com>
460
461 * comperr.adb (Delete_SCIL_Files): Fix handling of
462 N_Package_Renaming_Declaration and N_Generic_Package_Declaration.
463
464 2012-03-09 Javier Miranda <miranda@adacore.com>
465
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.
472
473 2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
474
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.
489
490 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
491
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.
494
495 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
496
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.
508
509 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
510
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.
514
515 2012-03-07 Tristan Gingold <gingold@adacore.com>
516
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.
520
521 2012-03-07 Bob Duff <duff@adacore.com>
522
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
530 super strings.
531 * a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments.
532 * exp_ch3.adb (Expand_Freeze_Record_Type): Comment.
533
534 2012-03-07 Robert Dewar <dewar@adacore.com>
535
536 * sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor
537 reformatting.
538
539 2012-03-07 Sergey Rybin <rybin@adacore.com frybin>
540
541 * gnat_ugn.texi: gnatpp: fix paragraph about sources with
542 preprocessor directives.
543
544 2012-03-07 Arnaud Charlet <charlet@adacore.com>
545
546 * s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function.
547 (Enter_Task): Call prctl when relevant.
548
549 2012-03-07 Tristan Gingold <gingold@adacore.com>
550
551 * s-osinte-vms.ads: pthread_mutex_setname_np: new function.
552
553 2012-03-07 Ed Schonberg <schonberg@adacore.com>
554
555 * sem_ch6.adb (Process_Formals): a generic subprogram with
556 a formal incomplete type does not require a freeze node.
557
558 2012-03-07 Bob Duff <duff@adacore.com>
559
560 * sem_util.ads: Minor reformatting.
561
562 2012-03-07 Geert Bosch <bosch@adacore.com>
563
564 * targparm.ads: New target parameter Atomic_Sync_Default,
565 defaulting to True.
566 * targparm.adb (Get_Target_Parameters): Add processing for
567 Atomic_Sync_Default.
568 * gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options
569 based on ASD.
570
571 2012-03-07 Javier Miranda <miranda@adacore.com>
572
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
581 documentation.
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):
592 New subprogram.
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
596 for inlined calls.
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.
612
613 2012-03-07 Robert Dewar <dewar@adacore.com>
614
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.
617
618 2012-03-07 Javier Miranda <miranda@adacore.com>
619
620 * a-ngrear.ads: Add documentation.
621
622 2012-03-07 Tristan Gingold <gingold@adacore.com>
623
624 * s-taprop-vms.adb (Create_Task): set thread name.
625 * s-osinte-vms.ads (pthread_attr_setname_np): Declare.
626
627 2012-03-07 Arnaud Charlet <charlet@adacore.com>
628
629 * g-trasym.adb: Minor reformatting.
630
631 2012-03-07 Robert Dewar <dewar@adacore.com>
632
633 * a-ngrear.ads: Minor addition of ??? comment.
634
635 2012-03-07 Gary Dismukes <dismukes@adacore.com>
636
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.
640
641 2012-03-07 Javier Miranda <miranda@adacore.com>
642
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
649 Inline.
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
667 statement.
668
669 2012-03-07 Vincent Pucci <pucci@adacore.com>
670
671 * sem_ch5.adb (One_Bound): Minor reformatting.
672
673 2012-03-07 Tristan Gingold <gingold@adacore.com>
674
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
677 s-osinte-vms-ia64.
678
679 2012-03-07 Ed Schonberg <schonberg@adacore.com>
680
681 * checks.adb (Apply_Predicate_Check): Do not generate a predicate
682 check is the context is an internally generated type-specific
683 function.
684 * sem_ch6.adb (Process_PPCs); the formals of internally generated
685 type-specific functions do not get assertion checks.
686
687 2012-03-07 Yannick Moy <moy@adacore.com>
688
689 * gnat_rm.texi: Minor renaming of title.
690 * gnat_ugn.texi: Minor correction.
691
692 2012-03-07 Vincent Pucci <pucci@adacore.com>
693
694 * exp_ch4.adb (Expand_N_Quantified_Expression): Minor
695 reformating.
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.
702
703 2012-03-07 Thomas Quinot <quinot@adacore.com>
704
705 * einfo.adb, einfo.ads: Add flag Reverse_Storage_Order.
706
707 2012-03-07 Yannick Moy <moy@adacore.com>
708
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.
711
712 2012-03-07 Thomas Quinot <quinot@adacore.com>
713
714 * exp_attr.adb, sem_attr.adb: Minor reformatting.
715
716 2012-03-07 Bob Duff <duff@adacore.com>
717
718 * hostparm.ads (Max_Instantiations): Increase parameter.
719
720 2012-03-07 Bob Duff <duff@adacore.com>
721
722 * par-prag.adb: Minor code rearrangement.
723
724 2012-03-07 Bob Duff <duff@adacore.com>
725
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.
730
731 2012-03-07 Ed Schonberg <schonberg@adacore.com>
732
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
737 a constant.
738
739 2012-03-07 Thomas Quinot <quinot@adacore.com>
740
741 * einfo.adb, einfo.ads: Remove unused entity flags.
742
743 2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
744
745 * gnat_ugn.texi (Inline Assembler): Fix swapping of Input and
746 Output operands throughout.
747
748 2012-03-07 Hristian Kirtchev <kirtchev@adacore.com>
749
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.
753
754 2012-03-07 Thomas Quinot <quinot@adacore.com>
755
756 * einfo.ads, sem_prag.adb: Minor reformatting.
757
758 2012-03-05 Jason Merrill <jason@redhat.com>
759
760 * gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn
761 before using it.
762
763 2012-03-04 Eric Botcazou <ebotcazou@adacore.com>
764
765 * gnatvsn.ads (Library_Version): Bump to 4.8.
766
767 2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
768
769 * init.c (__gnat_adjust_context_for_raise): Also check
770 "orq $0x0,(%esp)" for x32.
771
772 * link.c (__gnat_default_libgcc_subdir): Set to libx32 for x32.
773
774 * gcc-interface/Makefile.in (arch): Set to x32 if MULTISUBDIR
775 is /x32 and add support for x32.
776
777 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
778
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.
784
785 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
786
787 * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the
788 dummy global built for global types is preserved.
789
790 2012-02-27 Tristan Gingold <gingold@adacore.com>
791
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
794 gnu_template_type.
795
796 2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
797
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
820 types explicitly.
821
822 2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
823
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.
830
831 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
832
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.
840
841 2012-02-22 Robert Dewar <dewar@adacore.com>
842
843 * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
844 reformatting.
845
846 2012-02-22 Geert Bosch <bosch@adacore.com>
847
848 * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove
849 x86-specific version of byteswap and use GCC builtins instead.
850
851 2012-02-22 Tristan Gingold <gingold@adacore.com>
852
853 * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
854 E_Array_Type]: Translate component ealier.
855
856 2012-02-22 Robert Dewar <dewar@adacore.com>
857
858 * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize
859 error message for 'Range.
860
861 2012-02-22 Pascal Obry <obry@adacore.com>
862
863 * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as
864 this is our own thread.
865
866 2012-02-22 Sergey Rybin <rybin@adacore.com frybin>
867
868 * tree_io.ads: Update ASIS_Version_Number because of the changes
869 in Snames.
870
871 2012-02-22 Hristian Kirtchev <kirtchev@adacore.com>
872
873 * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on
874 stack-related finalizers.
875
876 2012-02-22 Ed Schonberg <schonberg@adacore.com>
877
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.
885
886 2012-02-22 Vincent Celier <celier@adacore.com>
887
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
894 of Boolean
895
896 2012-02-22 Ed Schonberg <schonberg@adacore.com>
897
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.
902
903 2012-02-22 Tristan Gingold <gingold@adacore.com>
904
905 * init.c: Minor code clean up.
906 * gcc-interface/Make-lang.in: Update dependencies.
907
908 2012-02-22 Arnaud Charlet <charlet@adacore.com>
909
910 * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
911 otherwise GCC will generate an object file.
912
913 2012-02-22 Vincent Celier <celier@adacore.com>
914
915 * projects.texi: Correct typo related to "**" in Source_Dirs.
916
917 2012-02-22 Steve Baird <baird@adacore.com>
918
919 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of
920 error message text.
921
922 2012-02-22 Vincent Pucci <pucci@adacore.com>
923
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
930 new RTU_Id subtypes.
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
939 removed.
940
941 2012-02-22 Vincent Pucci <pucci@adacore.com>
942
943 * sem_prag.adb: Minor reformatting.
944
945 2012-02-22 Ed Schonberg <schonberg@adacore.com>
946
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).
956
957 2012-02-22 Robert Dewar <dewar@adacore.com>
958
959 * exp_ch5.adb: Add comment.
960 * sem_ch12.adb, exp_ch6.adb: minor reformatting
961
962 2012-02-22 Ed Schonberg <schonberg@adacore.com>
963
964 * freeze.adb (Freeze_Entity): Do not perform type layout within
965 a generic unit.
966
967 2012-02-22 Eric Botcazou <ebotcazou@adacore.com>
968
969 * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
970 Storage_Error.
971
972 2012-02-22 Ed Schonberg <schonberg@adacore.com>
973
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
977 AI05-0087.
978
979 2012-02-17 Ed Schonberg <schonberg@adacore.com>
980
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.
987
988 2012-02-17 Nicolas Roche <roche@adacore.com>
989
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.
993
994 2012-02-17 Thomas Quinot <quinot@adacore.com>
995
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)).
1001
1002 2012-02-17 Steve Baird <baird@adacore.com>
1003
1004 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and
1005 Post'Class aspects can only be specified for a primitive operation
1006 of a tagged type.
1007
1008 2012-02-17 Yannick Moy <moy@adacore.com>
1009
1010 * gnat_rm.texi: Minor shuffling.
1011
1012 2012-02-17 Ed Schonberg <schonberg@adacore.com>
1013
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
1018 functions.
1019
1020 2012-02-17 Vincent Pucci <pucci@adacore.com>
1021
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
1030 and Lock counters.
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
1036 reference types.
1037
1038 2012-02-17 Robert Dewar <dewar@adacore.com>
1039
1040 * restrict.adb (Check_Restriction): Add special handling for
1041 No_Obsolescent_Features.
1042
1043 2012-02-17 Hristian Kirtchev <kirtchev@adacore.com>
1044
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.
1048
1049 2012-02-17 Robert Dewar <dewar@adacore.com>
1050
1051 * sem_dim.adb: Minor reformatting.
1052
1053 2012-02-17 Yannick Moy <moy@adacore.com>
1054
1055 * gnat_rm.texi: Minor rewording.
1056
1057 2012-02-17 Thomas Quinot <quinot@adacore.com>
1058
1059 * sem_aggr.adb: Minor reformatting.
1060
1061 2012-02-17 Robert Dewar <dewar@adacore.com>
1062
1063 * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case.
1064
1065 2012-02-17 Vincent Pucci <pucci@adacore.com>
1066
1067 * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine.
1068 (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity
1069 call added.
1070 (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity
1071 call added.
1072 * s-dim.ads: Make package Pure.
1073
1074 2012-02-17 Gary Dismukes <dismukes@adacore.com>
1075
1076 * prj-nmsc.adb: Minor reformatting.
1077
1078 2012-02-17 Yannick Moy <moy@adacore.com>
1079
1080 * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions.
1081
1082 2012-02-17 Yannick Moy <moy@adacore.com>
1083
1084 * gnat_ugn.texi: Fix typos.
1085
1086 2012-02-17 Pascal Obry <obry@adacore.com>
1087
1088 * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an
1089 aggregate is not Externally_Built.
1090
1091 2012-02-17 Ed Schonberg <schonberg@adacore.com>
1092
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.
1097
1098 2012-02-17 Robert Dewar <dewar@adacore.com>
1099
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.
1103
1104 2012-02-17 Ed Schonberg <schonberg@adacore.com>
1105
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.
1109
1110 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
1111
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.
1115
1116 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
1117
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.
1121
1122 2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
1123
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.
1127
1128 2012-02-09 Tristan Gingold <gingold@adacore.com>
1129
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.
1148
1149 2012-02-08 Vincent Celier <celier@adacore.com>
1150
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
1158
1159 2012-02-08 Vincent Pucci <pucci@adacore.com>
1160
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
1172 names updated.
1173
1174 2012-02-08 Gary Dismukes <dismukes@adacore.com>
1175
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.
1180
1181 2012-02-08 Yannick Moy <moy@adacore.com>
1182
1183 * gnat_rm.texi: Minor reshuffling to place restriction at
1184 appropriate place.
1185
1186 2012-02-08 Bob Duff <duff@adacore.com>
1187
1188 * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
1189 False for '-gnatwA', to suppress these warnings.
1190
1191 2012-02-08 Vincent Celier <celier@adacore.com>
1192
1193 * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
1194 starting to scan, so that UTF8 encoding is taken into account.
1195
1196 2012-02-08 Arnaud Charlet <charlet@adacore.com>
1197
1198 * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
1199 function.
1200 (Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
1201 (Exceptional_Complete_Rendezvous): Mark No_Return.
1202
1203 2012-02-08 Eric Botcazou <ebotcazou@adacore.com>
1204
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
1213 built statically.
1214
1215 2012-02-08 Gary Dismukes <dismukes@adacore.com>
1216
1217 * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
1218 (Impl_Defined_Aspects): Add association for
1219 Aspect_Simple_Storage_Pool_Type.
1220 (Aspect_Names): Add
1221 association for Aspect_Simple_Storage_Pool_Type.
1222 * aspects.adb:
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.
1235 * sem_prag.adb:
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
1243 attribute name.
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.
1247
1248 2012-02-08 Robert Dewar <dewar@adacore.com>
1249
1250 * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
1251
1252 2012-02-08 Pascal Obry <obry@adacore.com>
1253
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.
1260
1261 2012-02-08 Pascal Obry <obry@adacore.com>
1262
1263 * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
1264 terminated string.
1265
1266 2012-02-08 Pascal Obry <obry@adacore.com>
1267
1268 * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
1269 generic routine with a context parameter.
1270
1271 2012-02-08 Robert Dewar <dewar@adacore.com>
1272
1273 * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
1274 a-convec.adb: Minor reformatting and code reorganization.
1275
1276 2012-02-08 Steve Baird <baird@adacore.com>
1277
1278 * sem_cat.adb (In_Preelaborated_Unit): A child
1279 unit instantiation does not inherit preelaboration requirements
1280 from its parent.
1281
1282 2012-02-08 Gary Dismukes <dismukes@adacore.com>
1283
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
1310 use of Rtsfind.
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
1325 object.
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.
1341
1342 2012-02-08 Cyrille Comar <comar@adacore.com>
1343
1344 * projects.texi: Clarify doc for interfaces.
1345
1346 2012-02-07 Eric Botcazou <ebotcazou@adacore.com>
1347
1348 * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
1349 (GCC_LINK): Use it.
1350
1351 2012-02-01 Tristan Gingold <gingold@adacore.com>
1352
1353 * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
1354 instead of size_type_node.
1355
1356 2012-01-30 Nicolas Roche <roche@adacore.com>
1357
1358 * gcc-interface/Make-lang.in: Update dependencies.
1359 * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
1360 when needed.
1361 Remove Linker_Options -crtbe when building sjlj run-time.
1362
1363 2012-01-30 Robert Dewar <dewar@adacore.com>
1364
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
1369 mod value).
1370 * sem_ch4.ads (Analyze_Mod): New procedure.
1371
1372 2012-01-30 Ed Schonberg <schonberg@adacore.com>
1373
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
1377 instantiation.
1378
1379 2012-01-30 Matthew Heaney <heaney@adacore.com>
1380
1381 * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
1382 Reverse_Elements): Check for cursor tampering.
1383
1384 2012-01-30 Ed Schonberg <schonberg@adacore.com>
1385
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
1389 generate warnings.
1390
1391 2012-01-30 Javier Miranda <miranda@adacore.com>
1392
1393 PR ada/15846
1394 * sem_ch8.adb (Analyze_Subprogram_Renaming):
1395 Handle self-renaming when the renamed entity is referenced using
1396 its expanded name.
1397
1398 2012-01-30 Vincent Celier <celier@adacore.com>
1399
1400 * projects.texi: Add documentation for attribute Interfaces.
1401
1402 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
1403
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.
1408
1409 2012-01-30 Pascal Obry <obry@adacore.com>
1410
1411 * s-rannum.adb: Minor reformatting.
1412
1413 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
1414
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.
1417
1418 2012-01-30 Robert Dewar <dewar@adacore.com>
1419
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.
1424
1425 2012-01-30 Thomas Quinot <quinot@adacore.com>
1426
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).
1431
1432 2012-01-30 Thomas Quinot <quinot@adacore.com>
1433
1434 * sem_cat.adb, sem_ch12.adb: Minor reformatting.
1435
1436 2012-01-30 Yannick Moy <moy@adacore.com>
1437
1438 * gnat_ugn.texi: Minor correction of GNAT UG, to take into
1439 account changes to -gnatwa and more recent warnings.
1440
1441 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
1442
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
1447 consistency sake.
1448
1449 2012-01-30 Ed Schonberg <schonberg@adacore.com>
1450
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
1458 partial views.
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.
1469
1470 2012-01-30 Thomas Quinot <quinot@adacore.com>
1471
1472 * a-strhas.ads: Document risk of collision attack.
1473
1474 2012-01-30 Yannick Moy <moy@adacore.com>
1475
1476 * gnat_ugn.texi: Minor update wrt warning switches.
1477
1478 2012-01-30 Vincent Celier <celier@adacore.com>
1479
1480 * prj-nmsc.adb (Check_Interfaces): Report an error when a
1481 unit from Library_Interface is not a unit of the project.
1482
1483 2012-01-30 Vincent Pucci <pucci@adacore.com>
1484
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.
1488
1489 2012-01-30 Thomas Quinot <quinot@adacore.com>
1490
1491 * s-ransee.ads: Minor reformatting.
1492
1493 2012-01-30 Pascal Obry <obry@adacore.com>
1494
1495 * prj.ads, prj.adb (For_Each_Source): Add support for skipping
1496 sources coming from an encapsulated library.
1497
1498 2012-01-30 Ed Schonberg <schonberg@adacore.com>
1499
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.
1506
1507 2012-01-30 Vincent Celier <celier@adacore.com>
1508
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
1513 Check_Interfaces.
1514
1515 2012-01-30 Pascal Obry <obry@adacore.com>
1516
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.
1523
1524 2012-01-30 Vincent Pucci <pucci@adacore.com>
1525
1526 * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
1527 code clean up.
1528 * s-diflio.ads: Minor change.
1529
1530 2012-01-30 Javier Miranda <miranda@adacore.com>
1531
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.
1535
1536 2012-01-30 Nicolas Roche <roche@adacore.com>
1537
1538 * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
1539 fix issue with zcx on VxWorks5.
1540
1541 2012-01-30 Pascal Obry <obry@adacore.com>
1542
1543 * prj.ads, prj.adb (For_Every_Project_Imported): Remove
1544 In_Aggregate_Lib.
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.
1550
1551 2012-01-30 Thomas Quinot <quinot@adacore.com>
1552
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.
1556
1557 2012-01-30 Vincent Pucci <pucci@adacore.com>
1558
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
1564 long float.
1565 * s-llflex.ads: Modifications in comments.
1566
1567 2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
1568
1569 * sem_ch12.adb (Earlier): Do not use the
1570 top level source locations of the two input nodes.
1571
1572 2012-01-30 Robert Dewar <dewar@adacore.com>
1573
1574 * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
1575 sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
1576
1577 2012-01-30 Robert Dewar <dewar@adacore.com>
1578
1579 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
1580
1581 2012-01-30 Olivier Hainque <hainque@adacore.com>
1582
1583 * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
1584 comments.
1585
1586 2012-01-30 Thomas Quinot <quinot@adacore.com>
1587
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
1597 applies.
1598 (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
1599 Remote_Access_Type.
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.
1604
1605 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1606
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.
1609
1610 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1611
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.
1616
1617 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1618
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.
1632
1633 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1634
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.
1639
1640 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1641
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
1646 create_label_decl.
1647 * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the
1648 label for debugging purposes.
1649
1650 2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
1651
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.
1655
1656 2012-01-23 Robert Dewar <dewar@adacore.com>
1657
1658 * sem_prag.ads, sem_prag.adb: Minor reformatting.
1659
1660 2012-01-23 Robert Dewar <dewar@adacore.com>
1661
1662 * sem_ch13.adb (Analyze_Aspect_Specifications): Check for
1663 language defined aspect applied to renaming or formal type
1664 declaration (not permitted)
1665
1666 2012-01-23 Matthew Heaney <heaney@adacore.com>
1667
1668 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
1669 comment with pragma Assert.
1670
1671 2012-01-23 Vincent Pucci <pucci@adacore.com>
1672
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
1678 expressions.
1679
1680 2012-01-23 Robert Dewar <dewar@adacore.com>
1681
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).
1685
1686 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1687
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
1692 the real body.
1693
1694 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1695
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.
1700
1701 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1702
1703 * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
1704 constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
1705 to Saved_Formal.
1706 Freeze all eligible subprograms which appear as actuals in
1707 the instantiation.
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.
1712
1713 2012-01-23 Gary Dismukes <dismukes@adacore.com>
1714
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).
1722
1723 2012-01-23 Thomas Quinot <quinot@adacore.com>
1724
1725 * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
1726 omit statement SCOs for disabled pragmas.
1727
1728 2012-01-23 Matthew Heaney <heaney@adacore.com>
1729
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.
1737
1738 2012-01-23 Robert Dewar <dewar@adacore.com>
1739
1740 * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
1741 reformatting.
1742
1743 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1744
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.
1749
1750 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1751
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.
1762
1763 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1764
1765 * par-ch13.adb: Better error recovery in illegal aspect
1766 specification.
1767
1768 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1769
1770 * a-calend.adb: Add with clause for Interfaces.C. Add constant
1771 Unix_Max.
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
1783 Date.
1784
1785 2012-01-23 Robert Dewar <dewar@adacore.com>
1786
1787 * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
1788 (pg,po,ps): Make sure each entry starts on new line.
1789
1790 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1791
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
1794 comment.
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
1803 to localtime_tzoff.
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.
1810
1811 2012-01-23 Robert Dewar <dewar@adacore.com>
1812
1813 * a-calend.adb: Minor reformatting.
1814
1815 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1816
1817 * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
1818 interface in requeue statement.
1819
1820 2012-01-23 Cyrille Comar <comar@adacore.com>
1821
1822 * projects.texi: Remove references to main units and replace
1823 with references to main programs to be coherent with the
1824 documentation.
1825
1826 2012-01-23 Robert Dewar <dewar@adacore.com>
1827
1828 * s-utf_32.adb: Minor reformatting.
1829
1830 2012-01-23 Vincent Celier <celier@adacore.com>
1831
1832 * snames.ads-tmpl: Minor comment addition Indicate that
1833 Name_Library_Encapsulated_Options is only used in gprbuild.
1834
1835 2012-01-23 Robert Dewar <dewar@adacore.com>
1836
1837 * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
1838 restrictions.
1839
1840 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1841
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.
1850
1851 2012-01-23 Robert Dewar <dewar@adacore.com>
1852
1853 * sem_ch10.adb, errout.adb: Minor reformatting.
1854
1855 2012-01-23 Ed Schonberg <schonberg@adacore.com>
1856
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
1859 dependence.
1860
1861 2012-01-23 Gary Dismukes <dismukes@adacore.com>
1862
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.
1867
1868 2012-01-23 Thomas Quinot <quinot@adacore.com>
1869
1870 * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
1871 the complete expanded name, rather than just its Selector_Name.
1872
1873 2012-01-23 Thomas Quinot <quinot@adacore.com>
1874
1875 * a-textio.adb (Put): Rewrite one-parameter Character version to
1876 just call the two-parameter one with Current_Out.
1877
1878 2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
1879
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
1885 checks.
1886 (Is_Aliased_View_Of_Type): New routine.
1887
1888 2012-01-23 Thomas Quinot <quinot@adacore.com>
1889
1890 * errout.ads, freeze.adb: Minor reformatting.
1891
1892 2012-01-23 Thomas Quinot <quinot@adacore.com>
1893
1894 * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
1895 messages.
1896
1897 2012-01-23 Olivier Hainque <hainque@adacore.com>
1898
1899 * adadecode.c (__gnat_decode): Deal with empty input early,
1900 preventing potential erroneous memory access later on.
1901
1902 2012-01-21 Eric Botcazou <ebotcazou@adacore.com>
1903
1904 PR ada/46192
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.
1907
1908 2012-01-14 Andreas Schwab <schwab@linux-m68k.org>
1909
1910 * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
1911 $(GNATLIBCFLAGS).
1912
1913 2012-01-10 Pascal Obry <obry@adacore.com>
1914
1915 * prj-nmsc.adb (Check_Library_Attributes):
1916 Kill check for object/source directories for aggregate libraries.
1917
1918 2012-01-10 Matthew Heaney <heaney@adacore.com>
1919
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.
1930 Code clean ups.
1931
1932 2012-01-10 Bob Duff <duff@adacore.com>
1933
1934 * s-os_lib.ads: Improve comment.
1935
1936 2012-01-10 Geert Bosch <bosch@adacore.com>
1937
1938 * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
1939 for complex Scalar.
1940
1941 2012-01-10 Bob Duff <duff@adacore.com>
1942
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
1947 not detected.
1948 * gnat_rm.texi: Improve documentation of shift
1949 and rotate intrinsics.
1950
1951 2012-01-10 Pascal Obry <obry@adacore.com>
1952
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.
1961
1962 2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
1963
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.
1968
1969 2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
1970
1971 * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
1972
1973 2012-01-06 Robert Dewar <dewar@adacore.com>
1974
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
1978 that this is Pure).
1979
1980 2012-01-06 Bob Duff <duff@adacore.com>
1981
1982 * s-rpc.ads (Read, Write): Add overriding indicators.
1983
1984 2012-01-06 Robert Dewar <dewar@adacore.com>
1985
1986 * gnat_rm.texi: Add documentation for conventions
1987 Ada_Pass_By_Copy and Ada_Pass_By_Reference.
1988
1989 2012-01-06 Gary Dismukes <dismukes@adacore.com>
1990
1991 * a-tienio.adb (Put): Add exception message on
1992 raise statements. Remove unneeded blocks and object declarations.
1993
1994 2012-01-06 Robert Dewar <dewar@adacore.com>
1995
1996 * sem_prag.adb: Minor reformatting.
1997
1998 2012-01-06 Ed Schonberg <schonberg@adacore.com>
1999
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
2007 of the type.
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.
2011
2012 2012-01-02 Eric Botcazou <ebotcazou@adacore.com>
2013
2014 * gnatvsn.ads (Current_Year): Bump to 2012.
2015 \f
2016 Copyright (C) 2012 Free Software Foundation, Inc.
2017
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.