]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/ChangeLog
Adjust.
[thirdparty/gcc.git] / gcc / ada / ChangeLog
CommitLineData
69416e98
AC
12012-05-02 Pascal Obry <obry@adacore.com>
2
3 Revert
4 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
5
62957409
EB
6 * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
7 Windows-specific make variable.
8 (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
9 (install-gnatlib): Respect the above during installation when set,
10 and also install any windows import library that has been built.
11 (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
12 build a corresponding import library.
13
65d630d4
JH
142012-04-30 Jan Hubicka <jh@suse.cz>
15
16 * gcc-interface/utils.c (rest_of_subprog_body_compilation): Update
17 comment.
18 (gnat_write_global_declarations): Use finalize_compilation_unit.
19
b38086f0
EB
202012-04-30 Eric Botcazou <ebotcazou@adacore.com>
21
22 * gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode,
23 do not adjust the size of a tagged type if there is a representation
24 clause on it. Otherwise, round the adjustment up to the alignment
25 of the first field and use the appropriate helper routine.
26 (maybe_pad_type): Do not warn in type annotation mode on a tagged type.
27 (gnat_to_gnu_field): Do not error out under the same circumstances.
28 (annotate_rep): In type annotation mode, do not adjust the offset of
29 components of a tagged type with representation clause. Otherwise,
30 round the adjustment up to the alignment of the first field.
31
bb358f1c
EB
322012-04-30 Eric Botcazou <ebotcazou@adacore.com>
33
34 * gcc-interface/utils.c (finish_record_type): Force the traditional GCC
35 layout for bitfields on the type if it is packed or has a representation
36 clause and an alternate layout is available.
37
f04b8d69
EB
382012-04-30 Eric Botcazou <ebotcazou@adacore.com>
39
40 * gcc-interface/gigi.h (mark_out_of_scope): Delete.
41 (destroy_gnat_to_gnu): Declare.
42 (destroy_dummy_type): Likewise.
43 * gcc-interface/decl.c (mark_out_of_scope): Delete.
44 * gcc-interface/utils.c (destroy_gnat_to_gnu): New function.
45 (destroy_dummy_type): Likewise.
46 * gcc-interface/trans.c (gnat_validate_uc_list): New variable.
47 (gigi): Call validate_unchecked_conversion on gnat_validate_uc_list
b38086f0 48 after the translation is completed. Call destroy_gnat_to_gnu and
f04b8d69
EB
49 destroy_dummy_type at the end.
50 (Subprogram_Body_to_gnu): Do not call mark_out_of_scope.
51 (gnat_to_gnu) <N_Block_Statement>: Likewise.
52 <N_Validate_Unchecked_Conversion>: Do not process the node, only push
53 it onto gnat_validate_uc_list.
54 (validate_unchecked_conversion): New function.
55
7989e392
AC
562012-04-26 Tristan Gingold <gingold@adacore.com>
57
58 * gcc-interface/Make-lang.in: Update dependencies.
59 Remove s-traceb and tracebak objects from gnat1 and gnatbind (not used).
60 Remove s-tasdeb and s-vaflop rules (not used).
61
622012-04-26 Olivier Hainque <hainque@adacore.com>
63
64 * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Default to
65 DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE.
66
672012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
68
69 * a-calend.adb (Day_Of_Week): Keep the internal
70 usage of UTC_Time_Offset consistent with Time_Of and Split.
71
d99ff0f4
AC
722012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
73
74 * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Do not freeze
75 the loop variable while preanalyzing a quantified expression.
76
772012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
78
79 * a-calend.adb (Split, Time_Of): Rename parameter Is_Ada_05
80 to Use_TZ to better illustrate its function. Update all
81 references to the parameter.
82 (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
83 * a-calend.ads (Split, Time_Of): Rename parameter Is_Ada_05
84 to Use_TZ to better illustrate its function. Update the related
85 comment on usage.
86 * a-calend-vms.adb (Split, Time_Of): Rename parameter
87 Is_Ada_05 to Use_TZ to better illustrate its function. Update
88 all references to the parameter.
89 (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
90 * a-calend-vms.ads (Split, Time_Of): Rename parameter Is_Ada_05
91 to Use_TZ to better illustrate its function. Update the related
92 comment on usage.
93 * a-calfor.adb (Split, Time_Of): Update the call to
94 Formatting_Operations.Time_Of.
95 * sysdep.c (__gnat_localtime_tzoff): Dereference pointer
96 "is_historic" and rewrite the check as a comparison. Add a
97 comment on flag values.
98
992012-04-26 Robert Dewar <dewar@adacore.com>
100
101 * exp_ch2.adb, sem_ch8.adb: Minor reformatting.
102
1032012-04-26 Vasiliy Fofanov <fofanov@adacore.com>
104
105 * a-stzunb-shared.adb, gnat_ugn.texi, a-strunb-shared.adb,
106 a-strunb-shared.ads, uintp.adb, a-stwiun-shared.adb,
107 a-stwiun-shared.ads, a-cbhama.ads, vms_data.ads, a-cobove.adb,
108 a-convec.adb, sem_ch13.adb, a-cbhase.ads: Fix common misuses of the
109 word "then" where "than" should be used in English.
110
f146302c
AC
1112012-04-26 Robert Dewar <dewar@adacore.com>
112
113 * sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas.
114
1152012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
116
117 * s-finroo.ads: Remove with clause for
118 Ada.Streams. Type Root_Controlled is now abstract tagged null
119 record. Remove internal package Stream_Attributes. Root_Controlled
120 doesn't need stream attribute redeclaration and avoids the
121 dependency on streams.
122
1232012-04-26 Tristan Gingold <gingold@adacore.com>
124
125 * adaint.c (to_host_path_spec): Removed (unused).
126 Minor reformatting.
127
1282012-04-26 Steve Baird <baird@adacore.com>
129
130 * gnat_rm.texi Improve description of Valid_Scalars attribute.
131
1322012-04-26 Ed Schonberg <schonberg@adacore.com>
133
134 * sem_ch6.adb (Can_Override_Operator): If the formal is a
135 generic type the operator cannot be overriding.
136
1372012-04-26 Ed Schonberg <schonberg@adacore.com>
138
139 * sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type
140 is declared in a package specification, and current unit is the
141 corresponding package body. The use clauses themselves may be
142 within a nested package.
143
1442012-04-26 Bob Duff <duff@adacore.com>
145
146 * exp_ch2.adb (Param_Entity): Take into account the case where
147 the type of the entry parameter has a representation clause.
148
7a6de2e2
AC
1492012-04-26 Ed Schonberg <schonberg@adacore.com>
150
151 * gnat_ugn.texi: Tweak dimensionality doc.
152
1532012-04-26 Robert Dewar <dewar@adacore.com>
154
155 * sem_eval.adb: Minor reformatting.
156
5f44f0d4
AC
1572012-04-26 Robert Dewar <dewar@adacore.com>
158
159 * einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb,
160 sem_eval.adb: Minor reformatting.
161
1622012-04-26 Thomas Quinot <quinot@adacore.com>
163
164 * freeze.adb: Minor change in error wording.
165
1662012-04-26 Ed Schonberg <schonberg@adacore.com>
167
168 * gnat_ugn.texi: Documentation on dimensional analysis.
169
1702012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
171
172 * einfo.adb, einfo.ads: Remove synthesized attribute
173 Proper_First_Index along with its associations in various nodes.
174 (Proper_First_Index): Removed.
175 * sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new
176 local variable Index_Type. The index type of a string literal
177 subtype is that of the stored low bound.
178 * sem_eval (Get_Static_Length): Remove the use of Proper_First_Index.
179 * sem_res.adb (Resolve_Slice): Alphabetize constants. Add
180 new local variable Index_Type. The index type of a
181 string literal subtype is that of the stored low bound.
182 (Set_String_Literal_Subtype): Code reformatting.
183
fcf848c4
AC
1842012-04-26 Robert Dewar <dewar@adacore.com>
185
186 * exp_aggr.adb: Minor reformatting.
187
1882012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
189
190 * exp_ch7.adb (Expand_Cleanup_Actions): Update the call to
191 Requires_Cleanup_Actions.
192 * exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean;
193 Boolean)): Rename formal parameter For_Package to Lib_Level to
194 better reflect its purpose. Update the related comment and all
195 occurrences of For_Package in the body.
196 (Requires_Cleanup_Actions
197 (Node_Id; Boolean)): Add new formal parameter Lib_Level. Add
198 local constant At_Lib_Level to keep monitor whether the path
199 taken from the top-most context to the current construct involves
200 package constructs. Update all calls to Requires_Cleanup_Actions.
201 * exp_util.ads (Requires_Cleanup_Actions): Add new formal
202 parameter Lib_Level and associated comment.
203
2042012-04-26 Ed Schonberg <schonberg@adacore.com>
205
206 * sem_ch6.adb (Process_Formals): If the type of the formal is
207 a non null access type, mark the generated subtype as having a
208 delayed freeze only if the designated type is not frozen yet.
209
2102012-04-26 Vincent Celier <celier@adacore.com>
211
212 * prj-attr.adb: New package Clean with attributes
213 Object_Artifact_Extensions and Source_Artifact_Extensions.
214 * prj-nmsc.adb (Process_Clean): Process new package Clean
215 * prj.ads (Language_Config): New components
216 Clean_Object_Artifacts and Clean_Source_Artifacts.
217 * snames.ads-tmpl: New standard names Clean,
218 Object_Artifact_Extensions and Source_Artifact_Extensions.
219
68f640f2
AC
2202012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
221
222 * einfo.adb (Proper_First_Index): Moved from Sem_Util.
223 * einfo.ads: Add new synthesized attribute Proper_First_Index
224 along with usage in nodes.
225 (Proper_First_Index): Moved from Sem_Util.
226 * sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo.
227
2282012-04-26 Gary Dismukes <dismukes@adacore.com>
229
230 * layout.adb (Layout_Component_List): Test for the case of a
231 single variant and the size of its component list was computed
232 as an integer literal, and use that size (which is in bits)
233 as is rather than converting to storage units.
234
2352012-04-26 Robert Dewar <dewar@adacore.com>
236
237 * exp_aggr.adb: Minor reformatting.
238
50cd5b4d
AC
2392012-04-26 Robert Dewar <dewar@adacore.com>
240
241 * sem_util.adb: Minor reformatting.
242
2432012-04-26 Thomas Quinot <quinot@adacore.com>
244
245 * exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference,
246 Packed_Array_Aggregate_Handled.Get_Component_Val):
247 Reverse bit numbering within PAT when Reverse_Storage_Order
248 applies to the enclosing record.
249
2502012-04-26 Thomas Quinot <quinot@adacore.com>
251
252 * freeze.adb (Freeze_Record_Type): Improve error message for
253 Scalar_Storage_Order inconsistent with Bit_Order.
254
03ad478d
AC
2552012-04-25 Gary Dismukes <dismukes@adacore.com>
256
257 * exp_ch9.adb: Add comments on the usage of the
258 lock-free data structures.
259
2602012-04-25 Vincent Pucci <pucci@adacore.com>
261
262 * exp_intr.adb (Expand_Shift): Convert the left
263 operand and the operator when the type of the call differs from
264 the type of the operator.
265
2662012-04-25 Geert Bosch <bosch@adacore.com>
267
268 * stand.ads: Minor comment fix.
269
2702012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
271
272 * sem_ch4.adb (Analyze_Slice): Handle the case where the prefix
273 is a string literal. Retrieve the first index from the base type
274 when slicing a string literal.
275 * sem_ch12.adb (Check_Private_View): Move the initialization
276 of the type inside the loop to reflect the changing index.
277 * sem_eval.adb (Eval_Relational_Op): Retrieve the first index
278 from the base type when dealing with a string literal.
279 * sem_res.adb (Resolve_Slice): Retrieve the first index from
280 the base type when slicing a string literal.
281 * sem_util.adb (Is_Internally_Generated_Renaming): New routine.
282 (Is_Object_Reference): String literals may act
283 as object references only when they are renamed internally.
284 (Proper_First_Index): New routine.
285 * sem_util.ads (Proper_First_Index): New routine.
286
39ad1665
AC
2872012-04-25 Robert Dewar <dewar@adacore.com>
288
289 * sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb,
290 lib-xref.adb: Minor reformatting.
291
2922012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
293
294 * exp_ch9.adb: Rename Lock_Free_Sub_Type
295 to Lock_Free_Subprogram. Remove type Subprogram_Id.
296 Rename LF_Sub_Table to Lock_Free_Subprogram_Table.
297 (Allow_Lock_Free_Implementation): Renamed to
298 Allows_Lock_Free_Implementation. Update the comment on
299 lock-free restrictions. Code clean up and restructuring.
300 (Build_Lock_Free_Protected_Subprogram_Body): Update the
301 profile and related comments. Code clean up and restructuring.
302 (Build_Lock_Free_Unprotected_Subprogram_Body): Update the
303 profile and related comments. Code clean up and restructuring.
304 (Comp_Of): Removed.
305
d024b126
AC
3062012-04-25 Vincent Celier <celier@adacore.com>
307
308 * sem_ch12.adb (Inherit_Context): Compare library units, not
309 names of units, when checking if a unit is already in the context.
310
3112012-04-25 Thomas Quinot <quinot@adacore.com>
312
313 * sem_ch3.adb: Reverse_Storage_Order must be propagated to
314 untagged derived record types.
315
3162012-04-25 Ed Schonberg <schonberg@adacore.com>
317
318 * lib-xref.adb: Adjust position of end label.
319
66058468
JH
3202012-04-22 Jan Hubicka <jh@suse.cz>
321
322 * gcc-interface/utils.c (gnat_write_global_declarations): Do not mark
323 needed node.
324
ead84f73
JH
3252012-04-20 Jan Hubicka <jh@suse.cz>
326
327 * gcc-interface/utils.c (gnat_write_global_declarations): Update for new
328 force_output placement.
329
960bfb69
JH
3302012-04-14 Jan Hubicka <jh@suse.cz>
331
332 * gcc-interface/trans.c (finalize_nrv): Update field referenced for new
333 cgraph/varpool layout.
334
b832b14d
MS
3352012-04-09 Mike Stump <mikestump@comcast.net>
336
337 * a-assert.ads: Remove execute permission.
338 * a-chacon.ads: Likewise.
339 * a-coteio.ads: Likewise.
340 * a-envvar.ads: Likewise.
341 * a-exetim-mingw.ads: Likewise.
342 * a-fzteio.ads: Likewise.
343 * a-izteio.ads: Likewise.
344 * a-lcteio.ads: Likewise.
345 * a-llctio.ads: Likewise.
346 * a-scteio.ads: Likewise.
347 * a-suenco.ads: Likewise.
348 * a-suenst.ads: Likewise.
349 * a-suewst.ads: Likewise.
350 * a-suezst.ads: Likewise.
351 * a-tirsfi.ads: Likewise.
352 * a-wichha.ads: Likewise.
353 * a-zchara.ads: Likewise.
354 * a-zchhan.ads: Likewise.
355 * a-zchuni.ads: Likewise.
356 * a-zrstfi.ads: Likewise.
357 * aspects.ads: Likewise.
358 * g-byorma.ads: Likewise.
359 * g-decstr.ads: Likewise.
360 * g-encstr.ads: Likewise.
361 * g-spchge.ads: Likewise.
362 * g-u3spch.ads: Likewise.
363 * g-wispch.ads: Likewise.
364 * g-zspche.ads: Likewise.
365 * namet-sp.ads: Likewise.
366 * s-os_lib.ads: Likewise.
367 * s-regexp.ads: Likewise.
368 * s-regpat.ads: Likewise.
369 * s-string.ads: Likewise.
370 * s-tasloc.ads: Likewise.
371 * s-utf_32.ads: Likewise.
372 * sem_aux.ads: Likewise.
373 * a-assert.adb: Likewise.
374 * a-chacon.adb: Likewise.
375 * a-envvar.adb: Likewise.
376 * a-exetim-mingw.adb: Likewise.
377 * a-suenco.adb: Likewise.
378 * a-suenst.adb: Likewise.
379 * a-suewst.adb: Likewise.
380 * a-suezst.adb: Likewise.
381 * a-tirsfi.adb: Likewise.
382 * a-wichha.adb: Likewise.
383 * a-zchhan.adb: Likewise.
384 * a-zchuni.adb: Likewise.
385 * a-zrstfi.adb: Likewise.
386 * aspects.adb: Likewise.
387 * g-byorma.adb: Likewise.
388 * g-decstr.adb: Likewise.
389 * g-encstr.adb: Likewise.
390 * g-spchge.adb: Likewise.
391 * g-u3spch.adb: Likewise.
392 * g-wispch.adb: Likewise.
393 * g-zspche.adb: Likewise.
394 * namet-sp.adb: Likewise.
395 * s-except.adb: Likewise.
396 * s-inmaop-vxworks.adb: Likewise.
397 * s-os_lib.adb: Likewise.
398 * s-regexp.adb: Likewise.
399 * s-regpat.adb: Likewise.
400 * s-string.adb: Likewise.
401 * s-tasloc.adb: Likewise.
402 * s-utf_32.adb: Likewise.
403 * s-wchcon.adb: Likewise.
404 * sem_aux.adb: Likewise.
405
cf5ba8a8
AC
4062012-04-02 Robert Dewar <dewar@adacore.com>
407
408 * s-atopri.ads: Minor reformatting.
409
4102012-04-02 Thomas Quinot <quinot@adacore.com>
411
412 * sem_util.adb: Minor reformatting, minor code cleanup.
413
4142012-04-02 Ed Schonberg <schonberg@adacore.com>
415
416 * lib-xref.adb (Generate_Reference): For a reference to an
417 operator symbol, set the sloc to point to the first character
418 of the operator name, and not to the initial quaote.
419 (Output_References): Ditto for the definition of an operator
420 symbol.
421
4222012-04-02 Vincent Celier <celier@adacore.com>
423
424 * ali.adb (Scan_Ali): Recognize Z lines. Set
425 Implicit_With_From_Instantiation to True in the With_Record for
426 Z lines.
427 * ali.ads (With_Record): New Boolean component
428 Implicit_With_From_Instantiation, defaulted to False.
429 * csinfo.adb: Indicate that Implicit_With_From_Instantiation
430 is special
431 * lib-writ.adb (Write_ALI): New array Implicit_With.
432 (Collect_Withs): Set Implicit_With for the unit is it is not Yes.
433 (Write_With_Lines): Write a Z line instead of a W line if
434 Implicit_With is Yes for the unit.
435 * sem_ch12.adb (Inherit_Context): Only add a unit in the context
436 if it is not there yet.
437 * sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12)
438 added.
439
36504e5f
AC
4402012-04-02 Yannick Moy <moy@adacore.com>
441
442 * osint.adb, osint.ads (Add_Default_Search_Dirs): Add library
443 search dirs in file specified with option -gnateO.
444
4452012-04-02 Robert Dewar <dewar@adacore.com>
446
447 * sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb: Minor
448 reformatting.
449
4502012-04-02 Olivier Hainque <hainque@adacore.com>
451
452 * g-sse.ads: Add x86-solaris and x86_64-darwin to the set of
453 platforms where the use of this spec is supported. Add current
454 year to the copyright notice.
455 * gcc-interfaces/Makefile.in: Add g-sse.o and g-ssvety.o to
456 EXTRA_GNATRTL_NONTASKING_OBJS on x86 32/64 targets that support
457 it and where they were missing (x86-solaris, x86-freebsd,
458 x86_64-freebsd, and x86-darwin).
459
4602012-04-02 Gary Dismukes <dismukes@adacore.com>
461
462 * bindgen.adb (Gen_Ada_Init): When compiling for the AAMP small
463 library, where we no longer suppress the Standard_Library,
464 generate an empty body rather than the usual generation of
465 assignments to imported globals, since those aren't present in
466 the small library.
467
4682012-04-02 Ed Schonberg <schonberg@adacore.com>
469
470 * sinfo.ads: Minor documentation fix.
471
4722012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
473
474 * sem_res.adb (Resolve_Conditional_Expression): Add local variables
475 Else_Typ and Then_Typ. Add missing type conversions to the "then" and
476 "else" expressions when their respective types are scalar.
477
4782012-04-02 Vincent Pucci <pucci@adacore.com>
479
480 * exp_ch9.adb: Reordering of the local subprograms. New Table
481 for the lock free implementation that maps each protected
482 subprograms with the protected component it references.
483 (Allow_Lock_Free_Implementation): New routine. Check if
484 the protected body enables the lock free implementation.
485 (Build_Lock_Free_Protected_Subprogram_Body): New routine.
486 (Build_Lock_Free_Unprotected_Subprogram_Body): New routine.
487 (Comp_Of): New routine.
488 * Makefile.rtl: Add s-atopri.o
489 * debug.adb: New compiler debug flag -gnatd9 for lock free
490 implementation.
491 * rtsfind.ads: RE_Atomic_Compare_Exchange_8,
492 RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
493 RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
494 RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Uint8,
495 RE_Uint16, RE_Uint32, RE_Uint64 added.
496 * s-atropi.ads: New file. Defines atomic primitives used
497 by the lock free implementation.
498
804670f1
AC
4992012-04-02 Emmanuel Briot <briot@adacore.com>
500
501 * g-expect.adb (Expect_Internal): Fix leak of the input file descriptor.
502
5032012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
504
505 * exp_ch4.adb (Expand_N_Quantified_Expression): Reimplemented.
506 The expansion no longer uses the copy of the original QE created
507 during analysis.
508 * sem.adb (Analyze): Add processing for loop parameter specifications.
509 * sem_ch4.adb (Analyze_Quantified_Expression): Reimplemented. The
510 routine no longer creates a copy of the original QE. All
511 constituents of a QE are now preanalyzed and resolved.
512 * sem_ch5.adb (Analyze_Iteration_Scheme): Remove the guard which
513 bypasses all processing when the iteration scheme is related to a
514 QE. Relovate the code which analyzes loop parameter specifications
515 to a separate routine. (Analyze_Iterator_Specification):
516 Preanalyze the iterator name. This action was originally
517 done in Analyze_Iteration_Scheme. Update the check which
518 detects an iterator specification in the context of a QE.
519 (Analyze_Loop_Parameter_Specification): New routine. This
520 procedure allows for a stand-alone analysis of a loop parameter
521 specification without the need of a parent iteration scheme. Add
522 code to update the type of the loop variable when the range
523 generates an itype and the context is a QE.
524 (Pre_Analyze_Range): Renamed to Preanalyze_Range. Update all references
525 to the routine.
526 * sem_ch5.ads: Code reformatting.
527 (Analyze_Loop_Parameter_Specification): New routine.
528 * sem_ch6.adb (Fully_Conformant_Expressions): Detect a case
529 when establishing conformance between two QEs utilizing different
530 specifications.
531 * sem_res.adb (Proper_Current_Scope): New routine.
532 (Resolve): Do not resolve a QE as there is nothing to be done now.
533 Ignore any loop scopes generated for QEs when detecting an expression
534 function as the scopes are cosmetic and do not appear in the tree.
535 (Resolve_Quantified_Expression): Removed. All resolution of
536 QE constituents is now performed during analysis. This ensures
537 that loop variables appearing in array aggregates are properly
538 resolved.
539
5402012-04-02 Ed Schonberg <schonberg@adacore.com>
541
542 * sem_util.adb (Build_Default_Subtype): If the base type is
543 private and its full view is available, use the full view in
544 the subtype declaration.
545
a1e16658
AC
5462012-04-02 Jose Ruiz <ruiz@adacore.com>
547
548 * gnat_ugn.texi: Add some minimal documentation about how to
549 use GNATtest for cross platforms.
550
5512012-04-02 Vincent Celier <celier@adacore.com>
552
553 * opt.ads (Object_Path_File_Name): New variable.
554 * prj-attr.adb: New Compiler attribute Object_Path_Switches.
555 * prj-nmsc.adb (Process_Compiler): Recognize new attribute
556 Object_Path_Switches.
557 * snames.ads-tmpl: New standard name Object_Path_Switches.
558 * switch-c.adb (Scan_Front_End_Switches): Recognize new switch
559 -gnateO= and put its value in Opt.Object_Path_File_Name.
560
a429e6b3
AC
5612012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
562
563 * exp_ch7.adb (Process_Declarations): Detect a case where
564 a source object was initialized by another source object,
565 but the expression was rewritten as a class-wide conversion
566 of Ada.Tags.Displace.
567 * exp_util.adb (Initialized_By_Ctrl_Function): Removed.
568 (Is_Controlled_Function_Call): New routine.
569 (Is_Displacement_Of_Ctrl_Function_Result): Removed.
570 (Is_Displacement_Of_Object_Or_Function_Result): New routine.
571 (Is_Source_Object): New routine.
572 (Requires_Cleanup_Actions): Detect a case where a source object was
573 initialized by another source object, but the expression was rewritten
574 as a class-wide conversion of Ada.Tags.Displace.
575 * exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): Removed.
576 (Is_Displacement_Of_Object_Or_Function_Result): New routine.
577
5782012-04-02 Ed Schonberg <schonberg@adacore.com>
579
580 * sem_res.adb (Resolve_Call): A call to an expression function
581 does not freeze if it appears in a different scope from the
582 expression function itself. Such calls appear in the generated
583 bodies of other expression functions, or in pre/postconditions
584 of subsequent subprograms.
585
e228f7ee
AC
5862012-04-02 Yannick Moy <moy@adacore.com>
587
588 * lib-xref-alfa.adb: Code clean up.
589
5902012-04-02 Ed Schonberg <schonberg@adacore.com>
591
592 * sem_ch12.adb (Analyze_Subprogram_Instantiation): Do not suppress
593 style checks, because the subprogram instance itself may contain
594 violations of syle rules.
595 * style.adb (Missing_Overriding): Check for missing overriding
596 indicator on a subprogram instance.
597
5982012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
599
600 * sem_ch6.adb (Last_Implicit_Declaration): New routine.
601 (Process_PPCs): Insert the body of _postconditions after the
602 last internally generated declaration. This ensures that actual
603 subtypes created for formal parameters are visible and properly
604 frozen as _postconditions may reference them.
605
99fc068e
RD
6062012-04-02 Robert Dewar <dewar@adacore.com>
607
608 * einfo.adb (First_Component_Or_Discriminant) Now applies to
609 all types with discriminants, not just records.
610 * exp_attr.adb (Expand_N_Attribute): Add Scalar_Values handling
611 for arrays, scalars and non-variant records.
612 * sem_attr.adb (Analyze_Attribute): Handle Valid_Scalars
613 * sem_attr.ads (Valid_Scalars): Update description
614 * sem_util.ads, sem_util.adb (No_Scalar_Parts): New function.
615
71bb37ba
EB
6162012-03-31 Eric Botcazou <ebotcazou@adacore.com>
617
618 Revert
619 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
620
621 * gcc-interface/decl.c (SS_MARK_NAME): New define.
622 (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
623 whose name is SS_MARK_NAME.
624
4b985e20
AC
6252012-03-30 Robert Dewar <dewar@adacore.com>
626
627 * exp_ch5.adb, sem_util.adb, exp_ch4.adb: Minor comment updates.
628
6292012-03-30 Yannick Moy <moy@adacore.com>
630
631 * lib-xref-alfa.adb (Add_Alfa_File): Treat possibly 2 units at the same
632 time, putting all scopes in the same Alfa file.
633 (Add_Alfa_Xrefs): Correct errors in comparison function. Correct value
634 of Def component.
635 (Collect_Alfa): Possibly pass 2 units to Add_Alfa_File.
636
e0adfeb4
AC
6372012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
638
639 * exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Handle a case where
640 a build-in-place call appears as Prefix'Reference'Reference.
641
6422012-03-30 Yannick Moy <moy@adacore.com>
643
644 * lib-xref-alfa.adb: Minor refactoring to remove internal package.
645
6462012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
647
648 * sem_ch5.adb (Analyze_Iteration_Scheme): Preanalyze the subtype
649 definition of a loop when the context is a quantified expression.
650
6512012-03-30 Vincent Celier <celier@adacore.com>
652
653 * prj.ads: Minor comment update.
654
ce5c2061
YM
6552012-03-30 Yannick Moy <moy@adacore.com>
656
657 * lib-xref-alfa.adb, alloc.ads, lib-xref.ads: Minor addition of
658 comments and refactoring.
659
5b0113d6
RD
6602012-03-30 Robert Dewar <dewar@adacore.com>
661
662 * lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code
663 reorganization.
664
23e7bf6a
YM
6652012-03-30 Yannick Moy <moy@adacore.com>
666
667 * lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit
668 instead of Get_Source_Unit to get file for reference.
669 (Traverse_Compilation_Unit): Do not add scopes for generic units.
670 * lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead
671 of Get_Source_Unit to get file for reference.
672 * sem_ch12.adb (Analyze_Package_Instantiation): Enable
673 instantiation in Alfa mode.
674
cdc96e3e
AC
6752012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
676
677 * exp_ch7.adb (Process_Declarations): Replace
678 the call to Is_Null_Access_BIP_Func_Call with
679 Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
680 * exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed.
681 (Is_Secondary_Stack_BIP_Func_Call): New routine.
682 (Requires_Cleanup_Actions): Replace
683 the call to Is_Null_Access_BIP_Func_Call with
684 Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
685 * exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed.
686 (Is_Secondary_Stack_BIP_Func_Call): New routine.
687
6882012-03-30 Yannick Moy <moy@adacore.com>
689
690 * lib-xref-alfa.adb, lib-xref.adb: Code clean ups.
691
207503fa
AC
6922012-03-30 Gary Dismukes <dismukes@adacore.com>
693
694 * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a
695 loop entity which is rewritten as a renaming
696 of the indexed array, explicitly mark the entity as needing
697 debug info so that Materialize entity will be set later by
698 Debug_Renaming_Declaration when the renaming is expanded.
699
7002012-03-30 Robert Dewar <dewar@adacore.com>
701
702 * sem_attr.ads: Update comment.
703
50421527
AC
7042012-03-30 Vincent Celier <celier@adacore.com>
705
706 * prj.ads: New Dependency_Kind: ALI_Closure.
707
7082012-03-30 Thomas Quinot <quinot@adacore.com>
709
710 * exp_pakd.adb: Minor reformatting.
711
2fa3b955
YM
7122012-03-30 Yannick Moy <moy@adacore.com>
713
714 * lib-xref-alfa.adb (Add_Alfa_File): Take into account possible absence
715 of compilation unit for unit in Sdep_Table.
716
702d139e
TQ
7172012-03-30 Thomas Quinot <quinot@adacore.com>
718
719 * freeze.adb (Freeze_Record_Type): For a type with reversed bit
720 order and reversed storage order, disable front-end relayout.
721
92eee8f8
EB
7222012-03-25 Eric Botcazou <ebotcazou@adacore.com>
723
724 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copy
725 the TYPE_PACKED flag from the base type.
726
d3cef56c
EB
7272012-03-25 Eric Botcazou <ebotcazou@adacore.com>
728
729 * gcc-interface/decl.c (SS_MARK_NAME): New define.
730 (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
731 whose name is SS_MARK_NAME.
732
a5695aa2
EB
7332012-03-25 Eric Botcazou <ebotcazou@adacore.com>
734
735 * gcc-interface/utils.c (add_parallel_type): Take a TYPE instead of a
736 DECL and adjust. Move around.
737 (has_parallel_type): New predicate.
738 (rest_of_record_type_compilation): Return early if the type already
739 has a parallel type.
740 * gcc-interface/gigi.h (add_parallel_type): Adjust.
741 * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
742
fb88e1dd
EB
7432012-03-25 Eric Botcazou <ebotcazou@adacore.com>
744
745 * gcc-interface/utils.c (finish_record_type): Return early for padded
746 types and tidy up.
747
ce40d1ce
AC
7482012-03-20 Arnaud Charlet <charlet@adacore.com>
749
750 * hlo.ads, hlo.adb: Removed, no longer used.
751 * gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies.
752 * gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly)
753 and compute it from EXTRA_LIBGNAT_OBJS.
754 Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS.
755
9b96cf92
YM
7562012-03-20 Yannick Moy <moy@adacore.com>
757
758 * gnat_rm.texi, sem_attr.ads: Update documentation.
759
2a1f6a1f
AC
7602012-03-19 Yannick Moy <moy@adacore.com>
761
762 * sem_ch6.adb: Minor code clean up.
763
7642012-03-19 Vincent Celier <celier@adacore.com>
765
766 * make.adb (Scan_Make_Arg): Make sure all significant -m switches
767 on the command line are counted.
768
7692012-03-19 Robert Dewar <dewar@adacore.com>
770
771 * sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
772 reference case
773
7742012-03-19 Robert Dewar <dewar@adacore.com>
775
776 * par-ch4.adb (Check_Bad_Exp): New procedure
777
7782012-03-19 Robert Dewar <dewar@adacore.com>
779
780 * exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
781 initial framework for Valid_Scalars attribute.
782
7832012-03-19 Robert Dewar <dewar@adacore.com>
784
785 * scng.adb (Scan): Recognize incorrect preprocessor directive
786
7872012-03-19 Robert Dewar <dewar@adacore.com>
788
789 * atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes
790 * atree.ads (Num_Extension_Nodes): New variable
791 * debug.adb: New debug flag -gnatd.N
792 * gnat1drv.adb (Adjust_Global_Switches): Adjust
793 Num_Extension_Nodes if -gnatd.N set
794
7952012-03-19 Eric Botcazou <ebotcazou@adacore.com>
796
797 * einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
798 descriptions.
799
8002012-03-19 Robert Dewar <dewar@adacore.com>
801
802 * opt.ads: Remove HLO_Active flag.
803 * sem.adb: Remove call of high level optimizer.
804 * sem.ads (New_Nodes_OK): Removed.
805 * sem_ch10.adb: Remove references to New_Nodes_OK.
806 * switch-c.adb: Remove handling of -gnatH switch.
807
119e3be6
AC
8082012-03-19 Yannick Moy <moy@adacore.com>
809
810 * sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings
811 on trivially True or False postconditions and Ensures components
812 of contract-cases.
813
8142012-03-19 Robert Dewar <dewar@adacore.com>
815
816 * gnat_ugn.texi: Fix index entry for -gnatei (now we have
817 ug_words entry).
818
78c0f016
AC
8192012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
820
821 * sem_ch3.adb (Get_Discriminant_Value): Instead of looking
822 at the immediate correcponsing discriminant, traverse a
823 potential chain of discriminants produced by type derivations.
824 (Root_Corresponding_Discriminant): Traverse a chain of inherited
825 discriminants and return the topmost discriminant.
826
8272012-03-19 Bob Duff <duff@adacore.com>
828
829 * debug.adb: Minor comment change.
830 * gnat_ugn.texi: Update documentation for elaboration regarding
831 indirect calls.
832
8332012-03-19 Gary Dismukes <dismukes@adacore.com>
834
835 * exp_ch3.adb (Expand_N_Object_Declaration): In
836 the case of an object of a class-wide interface type, where the
837 declaration is rewritten as a renaming, call Set_Debug_Info_Needed
838 on the renaming entity so that Materialize_Entity will be
839 set. Also, change existing call (for other than interface cases)
840 to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info
841 (as specified for that flag).
842
a4956515
AC
8432012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
844
845 * sem_ch4.adb (Analyze_Allocator): Detect an allocator generated
846 by the build-in-place machinery where the designated type is
847 indefinite, but the underlying type is not. Do not emit errors
848 related to missing initialization in this case.
849
8502012-03-19 Robert Dewar <dewar@adacore.com>
851
852 * gnat_ugn.texi: Add documentation for -gnateinnn switch.
853 * sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting.
854 * sem_prag.adb: Minor comment update.
855
1f163ef7
AC
8562012-03-15 Robert Dewar <dewar@adacore.com>
857
858 * errout.ads: Add entry for translating -gnateinn to
859 /MAX_INSTANTIATIONS for VMS.
860 * hostparm.ads (Max_Instantiations): Moved to Opt.
861 * opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed.
862 * sem_ch12.adb (Maximum_Instantiations): New name of
863 Max_Instantiations (Analyze_Package_Instantiation): Change error
864 msg for too many instantiations (mention -gnateinn switch).
865 * switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch.
866 * switch.ads: Minor comment update.
867 * usage.adb (Usage): Output line for -maxeinn switch.
868 * vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn).
869
8702012-03-15 Yannick Moy <moy@adacore.com>
871
872 * alfa.ads Update the decription of ALI sections.
873 (Alfa_File_Record): Add a component Unit_File_Name to store the
874 unit file name for subunits.
875 * get_alfa.adb, put_alfa.adb Adapt to the possible presence of
876 a unit file name.
877 * lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the
878 file name of the unit.
879
8802012-03-15 Yannick Moy <moy@adacore.com>
881
882 * sem_ch6.adb (Check_Subprogram_Contract): Do
883 not issue warning on missing 'Result in postcondition if all
884 postconditions and contract-cases already get a warning for only
885 referring to pre-state.
886
8872012-03-15 Bob Duff <duff@adacore.com>
888
889 * debug.adb: Add new debug switch -gnatd.U, which disables the
890 support added below, in case someone trips over a cycle, and needs
891 to disable this.
892 * sem_attr.adb (Analyze_Access_Attribute):
893 Treat Subp'Access as a call for elaboration purposes.
894 * sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support
895 for Subp'Access.
896
b3e42de5
VP
8972012-03-15 Vincent Pucci <pucci@adacore.com>
898
899 * sem.ads, sem.adb (Preanalyze): New routine.
900 * sem_ch4.adb (Analyze_Quantified_Expression): Call to the
901 Preanalyze routine in Sem added. Renaming of Needs_Expansion
902 into Need_Preanalysis.
903 * sem_ch6.adb (Preanalyze): Removed.
904
2a1b208c
RD
9052012-03-15 Robert Dewar <dewar@adacore.com>
906
907 * sem_ch4.adb (Analyze_Quantified_Expression): Add comment.
908 * sem_prag.adb: Minor comment additions.
909 * sem_attr.adb (Check_First_Last_Valid): Make sure prefix type
910 is frozen.
911
ce6002ec
AC
9122012-03-15 Vincent Pucci <pucci@adacore.com>
913
914 * sem_ch4.adb (Analyze_Quantified_Expression):
915 Preanalyze the condition when the quantified expression will be
916 further expanded.
917
9182012-03-15 Yannick Moy <moy@adacore.com>
919
920 * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb,
921 sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma,
922 to refer to both Test_Case pragma and Contract_Case pragma (same
923 acronym as in Spec_CTC_List).
924
b285815e
RD
9252012-03-15 Robert Dewar <dewar@adacore.com>
926
927 * sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb,
928 sem_warn.adb: Minor reformatting.
929
22f46473
AC
9302012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
931
932 * exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over
933 selector names as the function call always appears at the top selected
934 component.
935
9362012-03-15 Ed Schonberg <schonberg@adacore.com>
937
938 * sem_ch12.adb (Validate_Access_Subprogram_Instance): keep
939 Mode_Conformance check for older versions of the language.
940
9412012-03-15 Yannick Moy <moy@adacore.com>
942
943 * gnat_ugn.texi Document the extension of option -gnatw.t.
944 * sem_ch3.adb (Analyze_Declaration): Check for suspicious
945 contracts only after contract cases have been semantically
946 analyzed.
947 * sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures
948 components of contract cases for detecting suspicious contracts.
949
90e85233
YM
9502012-03-15 Yannick Moy <moy@adacore.com>
951
952 * aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect
953 Aspect_Contract_Case.
954 * gnat_rm.texi Document the new pragma/aspect
955 Contract_Case. Correct the documentation of the existing
956 pragma/aspect Test_Case with the new semantics.
957 * sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the
958 Ensures component of a Contract_Case pragma.
959 * sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect
960 and translate it into a pragma.
961 (Check_Aspect_At_Freeze_Point): Take into account the new aspect.
962 * sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case)
963 into CTC (for contract and test case).
964 * sem_ch6.adb (Process_PPCs): Generate Check pragmas from
965 Contract_Case pragmas, similarly to what is done already for
966 postconditions.
967 * sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case):
968 Renaming of Check_Test_Case.
969 (Analyze_Pragma, Sig_Flags): Take into account the new pragma.
970 * sem_util.adb, sem_util.ads Renaming to take into account the
971 new pragma, so that functions which applied only to Test_Case
972 now apply to both Test_Case and Contract_Case.
973 * par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account
974 the new pragma.
975
4fa04e5c
RD
9762012-03-15 Robert Dewar <dewar@adacore.com>
977
978 * sem_ch6.ads: Minor comment updates.
979 * sem_ch12.adb: Minor comment clarification.
980
f307415a
AC
9812012-03-15 Robert Dewar <dewar@adacore.com>
982
983 * sem_ch5.adb: Minor reformatting.
984
9852012-03-15 Ed Schonberg <schonberg@adacore.com>
986
987 * exp_ch3.adb (Expand_N_Object_Declaration): When rewriting the
988 declaration of a class-wide object, retain the Ekind to prevent
989 subsequent misuse of constants.
990
9912012-03-15 Yannick Moy <moy@adacore.com>
992
993 * gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant
994 terminology.
995
9962012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
997
998 * exp_util.adb (Initialized_By_Ctrl_Function): Add code to
999 process the case when a function call appears in object.operation
1000 format.
1001
10022012-03-15 Ed Schonberg <schonberg@adacore.com>
1003
1004 * sem_ch6.ads, sem_ch6.adb (Check_Subtype_Conformant): add
1005 Get_Inst formal, so that conformance within an instantiation
1006 follows renamings of formals. This is similar to what is already
1007 done in Check_Mode_conformant.
1008 * sem_ch12.adb (Vailidate_Access_Subprogram_Instance): check that
1009 formal and actual are subtype conformant. Previously only mode
1010 conformance was required.
1011
011f9d5d
AC
10122012-03-15 Robert Dewar <dewar@adacore.com>
1013
1014 * par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads,
1015 sem_case.adb: Minor reformatting.
1016
10172012-03-15 Robert Dewar <dewar@adacore.com>
1018
1019 * exp_attr.adb (Expand_N_Attribute_Reference): Add handling
1020 of First_Valid/Last_Valid.
1021 * sem_attr.adb (Check_First_Last_Valid): New procedure
1022 (Analyze_Attribute): Add handling of First_Valid and Last_Valid
1023 (Eval_Attribute): ditto.
1024 * snames.ads-tmpl: Add entries for First_Valid and Last_Valid.
1025
10262012-03-15 Ed Schonberg <schonberg@adacore.com>
1027
1028 * exp_ch5.adb (Expand_Predicated_Loop): Suppress warnings on
1029 loop variable, for the unusual case where the range has a single
1030 element and the loop variable has no visible assignment to it.
1031
10322012-03-15 Vincent Pucci <pucci@adacore.com>
1033
1034 * exp_ch4.adb (Expand_N_Quantified_Expression): Expand the
1035 original quantified expression node.
1036 * sem_ch4.adb (Analyze_Quantified_Expression): Properly analyze
1037 the quantified expression and preserve the original non-analyzed
1038 quantified expression when an expansion is needed.
1039 * sem_ch5.adb (Analyze_Iteration_Scheme): Special treatment
1040 for quantified expressions.
1041 (Analyze_Iterator_Specification): Special treatment for quantified
1042 expressions.
1043
10442012-03-15 Ed Falis <falis@adacore.com>
1045
1046 * s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad
1047 field matches VxWorks headers.
1048
b24513a1
RO
10492012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1050
1051 * gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.
1052
1053 * a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
1054 s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
1055 s-osinte-irix.ads, s-proinf-irix-athread.adb,
1056 s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
1057 system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
1058 Remove.
1059
1060 * adaint.c [__mips && __sgi]: Remove.
1061 (__gnat_number_of_cpus) [__mips && __sgi]: Remove.
1062 [IS_CROSS && !(__mips && __sgi)]: Remove.
1063 * adaint.h [sgi && _LFAPI]: Remove.
1064 * cstreams.c (__gnat_full_name) [sgi]: Remove.
1065 * env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
1066 (__gnat_clearenv) [__mips && __sgi]: Remove.
1067 * errno.c (_SGI_MP_SOURCE): Remove.
1068 * gsocket.h [sgi]: Remove.
1069 * init.c: Remove IRIX reference.
1070 [sgi]: Remove.
1071 * link.c [sgi]: Remove.
1072 * s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
1073 (main) [__mips && __sgi] (MAX_tv_sec): Don't define.
1074 (CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
1075 * sysdep.c [sgi]: Remove.
1076 (getc_immediate_common) [sgi]: Remove.
1077 (__gnat_localtime_tzoff) [sgi]: Remove.
1078 * terminals.c [__mips && __sgi] (IRIX): Don't define.
1079 [IRIX] (USE_GETPTY): Don't define.
1080 (allocate_pty_desc) [USE_GETPTY]: Remove.
1081
1082 * g-traceb.ads: Remove IRIX reference.
1083 * g-trasym.ads: Likewise.
1084 * memtrack.adb: Likewise.
1085 * s-interr-sigaction.adb: Likewise.
1086
1087 * gnat_rm.texi (Implementation Advice): Remove SGI info.
1088 (Implementation Defined Characteristics): Likewise.
1089 * gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
1090 Remove.
1091 (Irix-Specific Considerations): Remove.
1092
7e9e7e6c
TG
10932012-03-13 Tristan Gingold <gingold@adacore.com>
1094
1095 * gcc-interface/gigi.h (flag_vms_malloc64): Refine condition.
1096
3985be59
TG
10972012-03-13 Tristan Gingold <gingold@adacore.com>
1098
1099 * sysdep.c: Adjust condition after removal of __osf__.
1100
2b45154d
EB
11012012-03-12 Eric Botcazou <ebotcazou@adacore.com>
1102
1103 * gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill.
1104 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call
1105 to above function.
1106 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust
1107 handling of thin pointers.
1108 <Attr_Descriptor_Size>: Likewise.
1109 (gnat_to_gnu) <N_Free_Statement>: Likewise.
1110 * gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill.
1111 (convert_to_fat_pointer): Adjust handling of thin pointers.
1112 (convert) <POINTER_TYPE>: Likewise.
1113 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
1114
5c30094f
RO
11152012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1116
1117 * gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
1118 * a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
1119 s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
1120 s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
1121 system-tru64.ads: Remove.
1122
1123 * adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
1124 Remove.
1125 [IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
1126 * env.c [__alpha__ && __osf__]: Remove.
1127 * gsocket.h (_OSF_SOURCE): Remove.
1128 (HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
1129 * init.c [__alpha__ && __osf__]: Remove.
1130 * link.c [__osf__]: Remove.
1131 * s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
1132 [__osf__ && !_SS_MAXSIZE]: Remove.
1133 * sysdep.c [__osf__]: Remove.
1134 * terminals.c [__alpha__ && __osf__]: Remove.
1135 [OSF1]: Remove.
1136
1137 * g-traceb.ads: Remove Tru64 reference.
1138 * g-trasym.ads: Likewise.
1139 * gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
1140 (Summary of Run-Time Configurations): Likewise.
1141 * memtrack.adb: Likewise.
1142
d8aba32a
TG
11432012-03-12 Tristan Gingold <gingold@adacore.com>
1144
1145 * gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64
1146 instead of TARGET_MALLOC64.
1147 * gcc-interface/gigi.h (flag_vms_malloc64): Define instead
1148 of TARGET_MALLOC64.
1149
d3a26d5d
AC
11502012-03-09 Robert Dewar <dewar@adacore.com>
1151
1152 * a-direct.adb, comperr.adb, freeze.adb: Minor reformatting.
1153
11542012-03-09 Arnaud Charlet <charlet@adacore.com>
1155
1156 * s-taskin.adb (Initialize_ATCB): Set Task_Image_Len to
1157 0 so that we never access this field uninitialized (e.g. in
1158 Task_Primitives.Operations.Enter_Task for the environment task).
1159
11602012-03-09 Vincent Pucci <pucci@adacore.com>
1161
1162 * exp_ch5.adb (Expand_Iterator_Loop):
1163 Call to Expand_Iterator_Loop_Over_Array added.
1164 (Expand_Iterator_Loop_Over_Array): New routine. Expansion of
1165 "of" iterator loop over arrays. Multidimensional array case added.
1166
11672012-03-09 Eric Botcazou <ebotcazou@adacore.com>
1168
1169 * uintp.ads: Fix minor pasto in comment.
1170
f91510fc
AC
11712012-03-09 Vasiliy Fofanov <fofanov@adacore.com>
1172
1173 * a-direct.adb: Do not strip the trailing directory separator
1174 from path, as this is already done inside Normalize_Pathname;
1175 doing it again produces the wrong result on Windows for the
1176 drive's root dir (i.e. "X:\" becomes "X:").
1177
11782012-03-09 Thomas Quinot <quinot@adacore.com>
1179
1180 * exp_attr.adb, freeze.adb, sem_attr.adb, aspects.adb, aspects.ads,
1181 sem_ch13.adb, snames.ads-tmpl (Exp_Attr.Expand_N_Attribute_Reference):
1182 Add Attribute_Scalar_Storage_Order.
1183 (Sem_Attr.Analyze_Attribute, Eval_Attribute): Ditto.
1184 (Aspects): Add Aspect_Scalar_Storage_Order (Snames): Add
1185 Name_Scalar_Storage_Order and Attribute_Scalar_Storage_Order.
1186 (Sem_Ch13.Analyze_Attribute_Definition_Clause): Add processing
1187 for Scalar_Storage_Order.
1188 (Freeze): If Scalar_Storage_Order is specified, check that it
1189 is compatible with Bit_Order.
1190
a1fc903a
AC
11912012-03-09 Robert Dewar <dewar@adacore.com>
1192
1193 * s-osinte-linux.ads, sem_util.adb, s-taprop-linux.adb, exp_ch4.adb,
1194 a-strsup.ads, sem_ch6.adb, a-stwisu.ads, exp_ch3.adb,
1195 a-stzsup.ads: Minor reformatting.
1196
11972012-03-09 Thomas Quinot <quinot@adacore.com>
1198
1199 * s-ransee-vms.adb: Minor reformatting.
1200
12012012-03-09 Arnaud Charlet <charlet@adacore.com>
1202
1203 * comperr.adb (Delete_SCIL_Files): Fix handling of
1204 N_Package_Renaming_Declaration and N_Generic_Package_Declaration.
1205
ea3a4ad0
JM
12062012-03-09 Javier Miranda <miranda@adacore.com>
1207
1208 * sem_ch6.adb (Check_Body_To_Inline): In AAMP and VM targets
1209 use frontend inlining at all optimization levels.
1210 * sem_util.adb (Must_Inline): In AAMP and VM targets, given that
1211 there is no inlining support in the backend, use also frontend
1212 inlining when compiling with optimizations enabled.
1213 * exp_ch6.adb (Expand_Call): Minor code reorganization.
1214
0d7de0e1
EB
12152012-03-09 Eric Botcazou <ebotcazou@adacore.com>
1216
1217 * gcc-interface/ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around.
1218 (TYPE_UNCONSTRAINED_ARRAY): Adjust comment.
1219 * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Tidy
1220 up. Add comment and use canonical predicate for thin pointers.
1221 (gnat_to_gnu) <N_Free_Statement>: Tidy up and reorder. Add comment
1222 and use canonical predicate for thin pointers.
1223 * gcc-interface/utils.c (convert_to_fat_pointer): Remove superfluous
1224 'else' and use standard name.
1225 (convert_to_thin_pointer): Delete.
1226 (convert) <POINTER_TYPE>: Do the difference in sizetype directly and
1227 change obsolete idioms. Do not call above function.
1228 (unchecked_convert): Fix formatting.
1229 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: In the thin
1230 pointer case, use byte_position to get the field position.
1231
12fc7dea
EB
12322012-03-07 Eric Botcazou <ebotcazou@adacore.com>
1233
1234 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the
1235 DECL node built for a type which has a non-trivial equivalent type.
1236
50741117
EB
12372012-03-07 Eric Botcazou <ebotcazou@adacore.com>
1238
1239 * gcc-interface/gigi.h (rest_of_type_decl_compilation): Delete.
1240 * gcc-interface/decl.c (defer_finalize_level): Likewise.
1241 (defer_finalize_list): Likewise.
1242 (gnat_to_gnu_entity): Delete references to above variables and do not
1243 call rest_of_type_decl_compilation.
1244 (rest_of_type_decl_compilation): Delete.
1245 (rest_of_type_decl_compilation_no_defer): Likewise.
1246 * gcc-interface/utils.c (rest_of_record_type_compilation): Do not call
1247 rest_of_type_decl_compilation.
1248 (create_type_decl): Likewise.
1249 (update_pointer_to): Likewise.
1250
6ba4f08f
EB
12512012-03-07 Eric Botcazou <ebotcazou@adacore.com>
1252
1253 * gcc-interface/trans.c (Identifier_to_gnu): Don't unshare initializer.
1254 (add_decl_expr): Mark external DECLs as used.
1255 * gcc-interface/utils.c (convert) <CONSTRUCTOR>: Copy the vector.
1256
5869104b
TG
12572012-03-07 Tristan Gingold <gingold@adacore.com>
1258
1259 * s-ransee-vms.adb: New file.
1260 * gcc-interface/Makefile.in: Use s-ransee-vms.adb on VMS.
1261 * gcc-interface/Make-lang.in: Update dependencies.
1262
3058f181
BD
12632012-03-07 Bob Duff <duff@adacore.com>
1264
1265 * rtsfind.ads: Add support for finding Super_String types.
1266 * sem_util.ads, sem_util.adb (Is_Bounded_String): New function
1267 to determine whether a given type is a bounded string type.
1268 (Is_Fully_Initialized_Type): Return True for bounded
1269 string types, to suppress bogus warnings.
1270 * exp_ch4.adb (Expand_Composite_Equality): Special case for bounded
1271 strings: equality composes. This allows us to remove default values in
1272 super strings.
1273 * a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments.
1274 * exp_ch3.adb (Expand_Freeze_Record_Type): Comment.
1275
bde73c6b
AC
12762012-03-07 Robert Dewar <dewar@adacore.com>
1277
1278 * sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor
1279 reformatting.
1280
12812012-03-07 Sergey Rybin <rybin@adacore.com frybin>
1282
1283 * gnat_ugn.texi: gnatpp: fix paragraph about sources with
1284 preprocessor directives.
1285
12862012-03-07 Arnaud Charlet <charlet@adacore.com>
1287
1288 * s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function.
1289 (Enter_Task): Call prctl when relevant.
1290
12912012-03-07 Tristan Gingold <gingold@adacore.com>
1292
1293 * s-osinte-vms.ads: pthread_mutex_setname_np: new function.
1294
6eddd7b4
AC
12952012-03-07 Ed Schonberg <schonberg@adacore.com>
1296
1297 * sem_ch6.adb (Process_Formals): a generic subprogram with
1298 a formal incomplete type does not require a freeze node.
1299
13002012-03-07 Bob Duff <duff@adacore.com>
1301
1302 * sem_util.ads: Minor reformatting.
1303
13042012-03-07 Geert Bosch <bosch@adacore.com>
1305
1306 * targparm.ads: New target parameter Atomic_Sync_Default,
1307 defaulting to True.
1308 * targparm.adb (Get_Target_Parameters): Add processing for
1309 Atomic_Sync_Default.
1310 * gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options
1311 based on ASD.
1312
84f4072a
JM
13132012-03-07 Javier Miranda <miranda@adacore.com>
1314
1315 * sem_ch3.adb (Analyze_Object_Declaration): If the object
1316 declaration has an init expression then stop the analysis of the
1317 object declaration if the expression which initializes the object
1318 is a call to an inlined function which returns an unconstrained
1319 and has been expanded into a procedure call.
1320 * sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing
1321 support to handle selected components.
1322 * sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus
1323 documentation.
1324 * sem_ch6.adb (Check_And_Build_Body_To_Inline): New
1325 subprogram which implements the checks required by the
1326 new rules for frontend inlining and builds the body to inline.
1327 (Analyze_Subprogram_Body_Helper): Move code that
1328 checks inlining of subprogram that has nested subprogram
1329 to Check_And_Build_Body_To_Inline. Replace call to
1330 Build_Body_To_Inline by call to the new subprogram
1331 Check_And_Build_Body_To_Inline.
1332 (Cannot_Inline): New implementation.
1333 * sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp):
1334 New subprogram.
1335 * sem_util.ad[sb] (Must_Inline): New subprogram.
1336 (Returns_Unconstrained_Type): New subprogram.
1337 * sem_res.adb (Resolve_Call): Do not create a transient scope
1338 for inlined calls.
1339 * inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable.
1340 * inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting
1341 to false the variable Analyzing_Inlined_Bodies. Fix comments.
1342 * exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master.
1343 * exp_ch6.ads (List_Inlining_Info): New subprogram.
1344 * exp_ch6.adb (Expand_Call.Do_Inline): New subprogram.
1345 (Expand_Call.Do_Inline_Always): New subprogram.
1346 (In_Unfrozen_Instance): Move the declaration of this subprogram.
1347 (Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram.
1348 (Expand_Inlined_Call): Adding new support for inlining functions
1349 that return unconstrained types.
1350 (List_Inlining_Info): New subprogram.
1351 * debug.adb Document flags -gnatd.j and -gnatd.k
1352 * gnat1drv.adb Add call to generate the new listing of inlined
1353 calls and calls passed to the backend.
1354
844ec038
AC
13552012-03-07 Robert Dewar <dewar@adacore.com>
1356
1357 * sem_ch5.adb, s-vaflop.adb, s-taprop-vms.adb, exp_ch6.adb,
1358 s-gearop.adb, sem_ch6.adb, g-trasym.adb: Minor reformatting.
1359
13602012-03-07 Javier Miranda <miranda@adacore.com>
1361
1362 * a-ngrear.ads: Add documentation.
1363
207aaeda
AC
13642012-03-07 Tristan Gingold <gingold@adacore.com>
1365
1366 * s-taprop-vms.adb (Create_Task): set thread name.
1367 * s-osinte-vms.ads (pthread_attr_setname_np): Declare.
1368
13692012-03-07 Arnaud Charlet <charlet@adacore.com>
1370
1371 * g-trasym.adb: Minor reformatting.
1372
13732012-03-07 Robert Dewar <dewar@adacore.com>
1374
1375 * a-ngrear.ads: Minor addition of ??? comment.
1376
e761d11c
AC
13772012-03-07 Gary Dismukes <dismukes@adacore.com>
1378
1379 * exp_ch4.adb (Apply_Accessibility_Check): Call
1380 Remove_Side_Effects in the build-in-place case, to ensure that
1381 we capture the call and don't end up with two calls.
1382
13832012-03-07 Javier Miranda <miranda@adacore.com>
1384
1385 * exp_ch6.adb (Expand_Inlined_Call): Skip inlining of functions
1386 that return unconstrained types using an extended return statement
1387 since the support for inlining these functions has not been yet
1388 added to the frontend.
1389 * s-vaflop.adb, s-vaflop-vms-alpha.adb: Code reorganization.
1390 * a-ngrear.ads: Replace all the Inline_Always pragmas by pragma
1391 Inline.
1392 * a-ngrear.adb (Eigenvalues, Transpose): Restructured to use
1393 extended return statement.
1394 * a-strsup.adb, a-stzsup.adb, a-stwisu.adb (Concat, Super_Slice,
1395 Super_To_String): Restructured to use extended return statement.
1396 * a-chahan.adb (To_Basic, To_Lower, To_Upper): Restructured to
1397 use extended return statement.
1398 * s-gearop.adb (Diagonal, Matrix_Elementwise_Operation,
1399 Vector_Elementwise_Operation, Matrix_Elementwise_Operation,
1400 Matrix_Matrix_Scalar_Elementwise_Operation,
1401 Vector_Vector_Elementwise_Operation,
1402 Vector_Vector_Scalar_Elementwise_Operation,
1403 Matrix_Scalar_Elementwise_Operation,
1404 Vector_Scalar_Elementwise_Operation,
1405 Scalar_Matrix_Elementwise_Operation,
1406 Scalar_Vector_Elementwise_Operation, Matrix_Matrix_Product,
1407 Matrix_Vector_Product, Outer_Product, Unit_Matrix, Unit_Vector,
1408 Vector_Matrix_Product): Restructured to use extended return
1409 statement.
1410
14112012-03-07 Vincent Pucci <pucci@adacore.com>
1412
1413 * sem_ch5.adb (One_Bound): Minor reformatting.
1414
14152012-03-07 Tristan Gingold <gingold@adacore.com>
1416
1417 * s-osinte-vms-ia64.adb, s-osinte-vms-ia64.ads, s-osinte-vms.adb,
1418 s-osinte-vms.ads, gcc-interface/Makefile.in: Merge s-osinte-vms and
1419 s-osinte-vms-ia64.
1420
62db841a
AC
14212012-03-07 Ed Schonberg <schonberg@adacore.com>
1422
1423 * checks.adb (Apply_Predicate_Check): Do not generate a predicate
1424 check is the context is an internally generated type-specific
1425 function.
1426 * sem_ch6.adb (Process_PPCs); the formals of internally generated
1427 type-specific functions do not get assertion checks.
1428
14292012-03-07 Yannick Moy <moy@adacore.com>
1430
1431 * gnat_rm.texi: Minor renaming of title.
1432 * gnat_ugn.texi: Minor correction.
1433
14342012-03-07 Vincent Pucci <pucci@adacore.com>
1435
1436 * exp_ch4.adb (Expand_N_Quantified_Expression): Minor
1437 reformating.
1438 * sem_ch4.adb (Analyze_Quantified_Expression): Creation and
1439 analysis of the iteration scheme added in all cases.
1440 * sem_ch5.adb (Analyze_Iteration_Scheme): Minor reformating.
1441 (Analyze_Iterator_Specification): Minor reformating.
1442 * sem_res.adb (Resolve_Quantified_Expression): Resolution of
1443 the condition added in all cases.
1444
de94a7e7
AC
14452012-03-07 Thomas Quinot <quinot@adacore.com>
1446
1447 * einfo.adb, einfo.ads: Add flag Reverse_Storage_Order.
1448
14492012-03-07 Yannick Moy <moy@adacore.com>
1450
1451 * gnat_rm.texi, gnat_ugn.texi: Rewording of GNAT UG and GNAT RM to
1452 account for Ada 2012 assertions, and their pragma counterparts in GNAT.
1453
14542012-03-07 Thomas Quinot <quinot@adacore.com>
1455
1456 * exp_attr.adb, sem_attr.adb: Minor reformatting.
1457
14582012-03-07 Bob Duff <duff@adacore.com>
1459
1460 * hostparm.ads (Max_Instantiations): Increase parameter.
1461
14622012-03-07 Bob Duff <duff@adacore.com>
1463
1464 * par-prag.adb: Minor code rearrangement.
1465
14662012-03-07 Bob Duff <duff@adacore.com>
1467
1468 * a-strsup.ads, a-stwisu.ads, a-stzsup.ads (Super_String):
1469 Remove default initial value for Data. It is no longer needed
1470 because "=" now composes properly for untagged records. This
1471 default has caused efficiency problems.
1472
14732012-03-07 Ed Schonberg <schonberg@adacore.com>
1474
1475 * sem_res.adb (Resolve_Actuals): If the actual is a selected
1476 component of an anonymous access type, whose prefix is a variable,
1477 treat the variable as if it may be modified by the call, to
1478 suppress spurious warnings that a variable might be declared as
1479 a constant.
1480
cae20ed0
TQ
14812012-03-07 Thomas Quinot <quinot@adacore.com>
1482
1483 * einfo.adb, einfo.ads: Remove unused entity flags.
1484
3777b2c0
AC
14852012-03-07 Eric Botcazou <ebotcazou@adacore.com>
1486
1487 * gnat_ugn.texi (Inline Assembler): Fix swapping of Input and
1488 Output operands throughout.
1489
14902012-03-07 Hristian Kirtchev <kirtchev@adacore.com>
1491
1492 * sem_ch12.adb (Earlier): When two nodes come from the same
1493 generic instantiation, compare their locations. Otherwise always
1494 use the top level locations of the nodes.
1495
14962012-03-07 Thomas Quinot <quinot@adacore.com>
1497
1498 * einfo.ads, sem_prag.adb: Minor reformatting.
1499
aa96f3d8
JM
15002012-03-05 Jason Merrill <jason@redhat.com>
1501
1502 * gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn
1503 before using it.
1504
c679ec1f
EB
15052012-03-04 Eric Botcazou <ebotcazou@adacore.com>
1506
1507 * gnatvsn.ads (Library_Version): Bump to 4.8.
1508
8b1106fb
L
15092012-03-03 H.J. Lu <hongjiu.lu@intel.com>
1510
1511 * init.c (__gnat_adjust_context_for_raise): Also check
1512 "orq $0x0,(%esp)" for x32.
1513
c679ec1f 1514 * link.c (__gnat_default_libgcc_subdir): Set to libx32 for x32.
8b1106fb
L
1515
1516 * gcc-interface/Makefile.in (arch): Set to x32 if MULTISUBDIR
c679ec1f 1517 is /x32 and add support for x32.
8b1106fb 1518
fd787640
EB
15192012-02-29 Eric Botcazou <ebotcazou@adacore.com>
1520
1521 * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter
3f675741 1522 and set TYPE_ARTIFICIAL according to it. Adjust recursive call.
fd787640
EB
1523 (gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function.
1524 * gcc-interface/utils.c (rest_of_record_type_compilation): Do not
1525 invoke rest_of_type_decl_compilation on the parallel type, if any.
1526
35e8bcf4
EB
15272012-02-29 Eric Botcazou <ebotcazou@adacore.com>
1528
1529 * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the
1530 dummy global built for global types is preserved.
1531
2afda005
TG
15322012-02-27 Tristan Gingold <gingold@adacore.com>
1533
1534 * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
1535 E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and
1536 gnu_template_type.
1537
a0b8b1b7
EB
15382012-02-27 Eric Botcazou <ebotcazou@adacore.com>
1539
1540 * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking.
1541 (TYPE_BY_REFERENCE_P): New flag.
1542 (TYPE_IS_BY_REFERENCE_P): New macro.
1543 (TYPE_DUMMY_P): Add checking and remove VOID_TYPE.
1544 (TYPE_IS_DUMMY_P): Adjust for above change.
1545 * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P
1546 and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE.
1547 (gnat_to_gnu_param): Likewise.
1548 (maybe_pad_type): Likewise.
1549 (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P.
1550 * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P
1551 instead of TREE_ADDRESSABLE.
1552 * gcc-interface/trans.c (finalize_nrv): Likewise.
1553 (call_to_gnu): Likewise. Do not create a temporary for return values
1554 with by-reference type here.
1555 (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P.
1556 (gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant
1557 CONSTRUCTORs and calls.
1558 * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of
1559 the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P
1560 instead of TREE_ADDRESSABLE.
1561 * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference
1562 types explicitly.
1563
184d436a
EB
15642012-02-27 Eric Botcazou <ebotcazou@adacore.com>
1565
1566 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous
1567 change that creates a special VAR_DECL for debugging purposes. For an
1568 aliased object with an unconstrained nominal subtype, make its type a
1569 thin reference to the underlying object.
1570 * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with
1571 expressions built for the initialization of above objects.
1572
7d78d5a6
DK
15732012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
1574
1575 * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
1576 Windows-specific make variable.
1577 (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
1578 (install-gnatlib): Respect the above during installation when set,
1579 and also install any windows import library that has been built.
1580 (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
1581 build a corresponding import library.
1582
9aa04cc7
AC
15832012-02-22 Robert Dewar <dewar@adacore.com>
1584
1585 * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
1586 reformatting.
1587
15882012-02-22 Geert Bosch <bosch@adacore.com>
1589
1590 * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove
1591 x86-specific version of byteswap and use GCC builtins instead.
1592
15932012-02-22 Tristan Gingold <gingold@adacore.com>
1594
1595 * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
1596 E_Array_Type]: Translate component ealier.
1597
15982012-02-22 Robert Dewar <dewar@adacore.com>
1599
1600 * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize
1601 error message for 'Range.
1602
31af8899
AC
16032012-02-22 Pascal Obry <obry@adacore.com>
1604
1605 * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as
1606 this is our own thread.
1607
16082012-02-22 Sergey Rybin <rybin@adacore.com frybin>
1609
1610 * tree_io.ads: Update ASIS_Version_Number because of the changes
1611 in Snames.
1612
16132012-02-22 Hristian Kirtchev <kirtchev@adacore.com>
1614
69416e98 1615 * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on
31af8899
AC
1616 stack-related finalizers.
1617
16182012-02-22 Ed Schonberg <schonberg@adacore.com>
1619
1620 * sem_ch6.adb (Analyze_Expression_Function): If the construct
1621 is a completion, indicate that its formals are the formals of
1622 a completion, and as such do not get a cross- reference entry.
1623 (Analyze_Subprogram_Specification): Do not generate a definition
1624 for the entity of an expression function, because it may be a
1625 completion. Definition will be generated if needed when analyzing
1626 the generated subprogram declaration.
1627
16282012-02-22 Vincent Celier <celier@adacore.com>
1629
1630 * make.adb (Check): When checking if an object file is in the
1631 correct object directory, get the unit name from a previous call
1632 to Check_Source_Info_In_ALI.
1633 * makeutl.adb (Check_Source_Info_In_ALI): Return the name of
1634 the unit when everything is OK, otherwise return No_Name.
1635 * makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead
1636 of Boolean
1637
16382012-02-22 Ed Schonberg <schonberg@adacore.com>
1639
1640 * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an
1641 instance, the operator is visible if an operand is of some
1642 numeric type which is not in use or directly visible, and the
1643 other operand is a numeric literal.
1644
16452012-02-22 Tristan Gingold <gingold@adacore.com>
1646
1647 * init.c: Minor code clean up.
1648 * gcc-interface/Make-lang.in: Update dependencies.
1649
16502012-02-22 Arnaud Charlet <charlet@adacore.com>
1651
1652 * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
1653 otherwise GCC will generate an object file.
1654
16552012-02-22 Vincent Celier <celier@adacore.com>
1656
1657 * projects.texi: Correct typo related to "**" in Source_Dirs.
1658
740ce331
SB
16592012-02-22 Steve Baird <baird@adacore.com>
1660
1661 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of
1662 error message text.
1663
98ee6f8d
AC
16642012-02-22 Vincent Pucci <pucci@adacore.com>
1665
1666 * rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and
1667 System_Dim_Child cases added.
1668 * rtsfind.ads: Ada_Numerics,
1669 Ada_Numerics_Generic_Elementary_Functions, System_Dim,
1670 System_Dim_Float_IO and System_Dim_Integer_IO added to the list
1671 of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as
1672 new RTU_Id subtypes.
1673 * sem_dim.adb (Is_Dim_IO_Package_Entity): Use of
1674 Rtsfind to verify the package entity is located either
1675 in System.Dim.Integer_IO or in System.Dim.Float_IO.
1676 (Is_Dim_IO_Package_Instantiation): Minor
1677 changes. (Is_Elementary_Function_Call): Removed.
1678 (Is_Elementary_Function_Entity): New routine.
1679 (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added.
1680 * snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions
1681 removed.
1682
16832012-02-22 Vincent Pucci <pucci@adacore.com>
1684
1685 * sem_prag.adb: Minor reformatting.
1686
16872012-02-22 Ed Schonberg <schonberg@adacore.com>
1688
1689 * sem_ch3.adb (Find_Type_Name): When analyzing a private type
1690 declaration that is the completion of a tagged incomplete type, do
1691 not associate the class-wide type already created with the private
1692 type to prevent order-of-elaboration issues in the back-end.
1693 * exp_disp.adb (Find_Specific_Type): Find specific type of
1694 a class-wide type, and handle the case of an incomplete type
1695 coming either from a limited_with clause or from an incomplete
1696 type declaration. Used when expanding a dispatchin call and
1697 generating tag checks (minor refactoring).
1698
aaf1cd90
RD
16992012-02-22 Robert Dewar <dewar@adacore.com>
1700
1701 * exp_ch5.adb: Add comment.
1702 * sem_ch12.adb, exp_ch6.adb: minor reformatting
1703
84c4181d
AC
17042012-02-22 Ed Schonberg <schonberg@adacore.com>
1705
1706 * freeze.adb (Freeze_Entity): Do not perform type layout within
1707 a generic unit.
1708
17092012-02-22 Eric Botcazou <ebotcazou@adacore.com>
1710
1711 * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
1712 Storage_Error.
1713
17142012-02-22 Ed Schonberg <schonberg@adacore.com>
1715
1716 * exp_ch5.adb (Expand_N_Assignment_Statement): Reject an
1717 assignment to a classwide type whose type is limited, as
1718 can happen in an instantiation in programs that run afoul or
1719 AI05-0087.
1720
f45ccc7c
AC
17212012-02-17 Ed Schonberg <schonberg@adacore.com>
1722
1723 * exp_ch6.adb (Legal_Copy): If layout is not
1724 determined in the front-end, do not emit error message when
1725 by-reference actual is potentially unaligned.
1726 * gcc-interface/decl.c (gnat_to_gnu_field): Better error message for
1727 illegal representation clause on tagged or aliased component, or on
1728 by-reference type with forced alignment.
1729
17302012-02-17 Nicolas Roche <roche@adacore.com>
1731
1732 * gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is
1733 propagated by gnatlib-sjlj and gnatlib-zcx targets.
1734 * gcc-interface/Make-lang.in: Update dependencies.
1735
17362012-02-17 Thomas Quinot <quinot@adacore.com>
1737
1738 * sem_ch12.adb (Analyze_Package_Instantiation): For an
1739 instantiation in an RCI library unit, omit the instance body
1740 if the RCI library unit is the instance itself (E.2.3(18)),
1741 but include the body if the instantiation is within the RCI
1742 declaration (12.3(12)).
1743
acf49e88
SB
17442012-02-17 Steve Baird <baird@adacore.com>
1745
1746 * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and
1747 Post'Class aspects can only be specified for a primitive operation
1748 of a tagged type.
1749
794b9b72
AC
17502012-02-17 Yannick Moy <moy@adacore.com>
1751
1752 * gnat_rm.texi: Minor shuffling.
1753
17542012-02-17 Ed Schonberg <schonberg@adacore.com>
1755
1756 * aspects.adb: Expression functions can carry pre/postconditions.
1757 * par-ch6.adb (P_Subprogram): look for optional pre/postconditions
1758 in an expression function.
1759 * sem_prag (Check_Precondition_Postcondition): legal on expression
1760 functions.
1761
17622012-02-17 Vincent Pucci <pucci@adacore.com>
1763
1764 * a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb,
1765 * a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb,
1766 * a-convec.adb, a-coorma.adb (Adjust): New routine.
1767 (Constant_Reference): Increment Busy and Lock counters.
1768 (Reference): Increase Busy and Lock counters.
1769 (Finalize): New routine.
1770 * a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb:
1771 (Adjust): New routine. (Constant_Reference): Increment Busy
1772 and Lock counters.
1773 (Finalize): New routine.
1774 * a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads,
1775 * a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads,
1776 * a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads,
1777 * a-coorma.ads, a-coorse: Controlled component added to the
1778 reference types.
1779
17802012-02-17 Robert Dewar <dewar@adacore.com>
1781
1782 * restrict.adb (Check_Restriction): Add special handling for
1783 No_Obsolescent_Features.
1784
17852012-02-17 Hristian Kirtchev <kirtchev@adacore.com>
1786
1787 * exp_util.adb (Find_Finalize_Address): When dealing with an
1788 internally built full view for a type with unknown discriminants,
1789 use the original record type.
1790
0eb75c59
AC
17912012-02-17 Robert Dewar <dewar@adacore.com>
1792
1793 * sem_dim.adb: Minor reformatting.
1794
17952012-02-17 Yannick Moy <moy@adacore.com>
1796
1797 * gnat_rm.texi: Minor rewording.
1798
2293611f
AC
17992012-02-17 Thomas Quinot <quinot@adacore.com>
1800
1801 * sem_aggr.adb: Minor reformatting.
1802
18032012-02-17 Robert Dewar <dewar@adacore.com>
1804
1805 * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case.
1806
18072012-02-17 Vincent Pucci <pucci@adacore.com>
1808
1809 * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine.
1810 (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity
1811 call added.
1812 (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity
1813 call added.
1814 * s-dim.ads: Make package Pure.
1815
18162012-02-17 Gary Dismukes <dismukes@adacore.com>
1817
1818 * prj-nmsc.adb: Minor reformatting.
1819
18202012-02-17 Yannick Moy <moy@adacore.com>
1821
1822 * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions.
1823
0df7e2d0
AC
18242012-02-17 Yannick Moy <moy@adacore.com>
1825
1826 * gnat_ugn.texi: Fix typos.
1827
18282012-02-17 Pascal Obry <obry@adacore.com>
1829
1830 * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an
1831 aggregate is not Externally_Built.
1832
18332012-02-17 Ed Schonberg <schonberg@adacore.com>
1834
1835 * sem_aggr.adb (Resolve_Record_Aggregate): If a composite
1836 component has a box association, copy the default value using
1837 the current scope as the scope of internal types, to prevent
1838 scoping anomalies in gigi.
1839
260359e3
AC
18402012-02-17 Robert Dewar <dewar@adacore.com>
1841
1842 * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb,
1843 sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb,
1844 exp_intr.adb, s-os_lib.adb: Minor reformatting.
1845
18462012-02-17 Ed Schonberg <schonberg@adacore.com>
1847
1848 * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the
1849 old operation is abstract, the relevant type is not abstract,
1850 and the new subprogram fails to override.
1851
1c4ae4e5
EB
18522012-02-15 Eric Botcazou <ebotcazou@adacore.com>
1853
1854 * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the
1855 type of the result to the end and execute it for a deferred constant of
1856 a discriminated type whose full view can be elaborated statically.
1857
0029bafd
EB
18582012-02-15 Eric Botcazou <ebotcazou@adacore.com>
1859
1860 * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the
1861 type is tagged, mark it as used for debugging purposes.
1862 <N_Allocator>: Likewise for a qualified expression.
1863
4a582c9f
EB
18642012-02-15 Eric Botcazou <ebotcazou@adacore.com>
1865
1866 * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
1867 return value in the by-reference return type case if this isn't the
0029bafd 1868 expression of an object declaration. Tidy up.
4a582c9f 1869
19d7de5b
TG
18702012-02-09 Tristan Gingold <gingold@adacore.com>
1871
1872 * gcc-interface/Makefile.in: Remove .sym rule (not used).
1873 Remove adamsg.o object (requires native message compiler).
1874 * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a
1875 macro instead of as extern int.
1876 (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR)
1877 (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT)
1878 (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH)
1879 (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC)
1880 (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH)
1881 (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH)
1882 (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH)
1883 (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR)
1884 (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise.
1885 (struct cond_except): Field cond is now an unsigned int.
1886 (dec_ada_cond_except_table): Adjust.
1887 (cond_except_table): Likewise.
1888 (cond_resignal_table): Likewise.
1889 (__gnat_default_resignal_p): Fix style.
1890
7b50c4a3
AC
18912012-02-08 Vincent Celier <celier@adacore.com>
1892
1893 * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects
1894 (g-buorma is now imported by sinput).
1895 Update dependencies.
1896 * scn.adb (Initialize_Scanner): Call Check_For_BOM
1897 * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM
1898 * sinput.adb: New procedure Check_For_BOM
1899 * sinput.ads: New procedure Check_For_BOM
1900
19012012-02-08 Vincent Pucci <pucci@adacore.com>
1902
1903 * impunit.adb: Dimension package names updated
1904 * Makefile.rtl: s-dim added
1905 * sem_dim.adb (Is_Procedure_Put_Call): minor changes
1906 (Is_Dim_IO_Package_Instantiation): minor changes
1907 * sem_dim.ads: minor changes in comments
1908 * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and
1909 Name_Dim_Integer_IO removed
1910 * s-dim.ads: New package. Define the dimension terminology.
1911 * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads,
1912 * s-dmotpr.ads: Package names updated.
1913 * s-diflio.ads, s-diinio.ads: Documentation added and package
1914 names updated.
1915
19162012-02-08 Gary Dismukes <dismukes@adacore.com>
1917
1918 * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test
1919 for storage pools to test for an underlying record type rather than
1920 testing Is_Tagged_Type, so that simple storage pools will be handled
1921 the same as normal Ada storage pools.
1922
f6205414
AC
19232012-02-08 Yannick Moy <moy@adacore.com>
1924
1925 * gnat_rm.texi: Minor reshuffling to place restriction at
1926 appropriate place.
1927
19282012-02-08 Bob Duff <duff@adacore.com>
1929
1930 * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
1931 False for '-gnatwA', to suppress these warnings.
1932
19332012-02-08 Vincent Celier <celier@adacore.com>
1934
1935 * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
1936 starting to scan, so that UTF8 encoding is taken into account.
1937
19382012-02-08 Arnaud Charlet <charlet@adacore.com>
1939
1940 * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
1941 function.
1942 (Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
1943 (Exceptional_Complete_Rendezvous): Mark No_Return.
1944
19452012-02-08 Eric Botcazou <ebotcazou@adacore.com>
1946
1947 * exp_aggr.adb (Compile_Time_Known_Composite_Value):
1948 New predicate to compute whether a composite value can be
1949 evaluated at compile time.
1950 (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all
1951 expressions of elementary type and Compile_Time_Known_Composite_Value
1952 for all other expressions.
1953 (Expand_Record_Aggregate): Convert to assignments in the case
1954 of a type with mutable components if the aggregate cannot be
1955 built statically.
1956
19572012-02-08 Gary Dismukes <dismukes@adacore.com>
1958
1959 * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
1960 (Impl_Defined_Aspects): Add association for
1961 Aspect_Simple_Storage_Pool_Type.
1962 (Aspect_Names): Add
1963 association for Aspect_Simple_Storage_Pool_Type.
1964 * aspects.adb:
1965 (Canonical_Aspect): Add association for Simple_Storage_Pool_Type.
1966 * exp_attr.adb (Expand_N_Attribute_Reference):
1967 Change name to Name_Simple_Storage_Pool_Type.
1968 * exp_ch4.adb (Expand_N_Allocator): Change
1969 name to Name_Simple_Storage_Pool_Type.
1970 * exp_intr.adb (Expand_Unc_Deallocation): Change name to
1971 Name_Simple_Storage_Pool_Type. * freeze.adb (Freeze_Entity):
1972 Change names to Name_Simple_Storage_Pool_Type. * par-prag.adb:
1973 Change names to Name_Simple_Storage_Pool_Type. * sem_attr.adb:
1974 (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type.
1975 * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
1976 Change name to Name_Simple_Storage_Pool_Type.
1977 * sem_prag.adb:
1978 (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type.
1979 (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type.
1980 * sem_res.adb (Resolve_Allocator): Change name to
1981 Name_Simple_Storage_Pool_Type. * snames.ads-tmpl:
1982 (Name_Simple_Storage_Pool_Type): New name constant.
1983 (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and
1984 move to main pragma section because it no longer matches the
1985 attribute name.
1986 * snames.adb-tmpl (Get_Pragma_Id): Remove test for
1987 Name_Simple_Storage_Pool.
1988 (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool.
1989
19902012-02-08 Robert Dewar <dewar@adacore.com>
1991
1992 * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
1993
75685ef7
PO
19942012-02-08 Pascal Obry <obry@adacore.com>
1995
1996 * prj.adb (Compute_All_Imported_Projects): Use new
1997 For_Project_And_Aggregated_Context to ensure proper context is
1998 used for encapsulated aggregate libraries.
1999 * prj-proc.adb (Recursive_Process): Call
2000 Process_Aggregated_Projects earlier to ensure that all dependent
2001 projects are set with the proper encapsulated status.
2002
20032012-02-08 Pascal Obry <obry@adacore.com>
2004
2005 * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
2006 terminated string.
2007
83649257
PO
20082012-02-08 Pascal Obry <obry@adacore.com>
2009
2010 * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
2011 generic routine with a context parameter.
2012
a8551b5f
AC
20132012-02-08 Robert Dewar <dewar@adacore.com>
2014
2015 * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
2016 a-convec.adb: Minor reformatting and code reorganization.
2017
20182012-02-08 Steve Baird <baird@adacore.com>
2019
2020 * sem_cat.adb (In_Preelaborated_Unit): A child
2021 unit instantiation does not inherit preelaboration requirements
2022 from its parent.
2023
20242012-02-08 Gary Dismukes <dismukes@adacore.com>
2025
2026 * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool.
2027 (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool.
2028 (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool.
2029 (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool.
2030 * aspects.adb (Canonical_Aspect): Add entry for
2031 Aspect_Simple_Storage_Pool.
2032 * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of
2033 Attribute_Simple_Storage_Pool in the same way as Storage_Pool
2034 (add conversion, analyze/resolve). For the Storage_Size attribute,
2035 for the simple pool case, locate and use the simple pool type's
2036 Storage_Size function (if any), otherwise evaluate to zero.
2037 * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator
2038 for an access type with an associated simple storage pool,
2039 locate and use the pool type's Allocate.
2040 * exp_intr.adb (Expand_Unc_Deallocation): In the case where the
2041 access type has a simple storage pool, locate the pool type's
2042 Deallocate procedure (if present) and use it as the procedure
2043 to call on the Free operation.
2044 * freeze.adb (Freeze_Entity): In the case of a full type for
2045 a private type defined with pragma Simple_Storage_Pool, check
2046 that the full type is also appropriate for the pragma. For
2047 a simple storage pool type, validate that the operations
2048 Allocate, Deallocate (if present), and Storage_Size
2049 (if present) are defined with appropriate expected profiles.
2050 (Validate_Simple_Pool_Op_Formal): New procedure
2051 (Validate_Simple_Pool_Operation): New procedure Add with and
2052 use of Rtsfind.
2053 * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement
2054 (no action required).
2055 * sem_attr.adb (Analyze_Attribute): For the case of the
2056 Storage_Pool attribute, give a warning if the prefix type has an
2057 associated simple storage pool, and rewrite the attribute as a
2058 raise of Program_Error. In the case of the Simple_Storage_Pool
2059 attribute, check that the prefix type has an associated simple
2060 storage pool, and set the attribute type to the pool's type.
2061 * sem_ch13.adb (Analyze_Aspect_Specifications): Add
2062 Aspect_Simple_Storage_Pool case choice.
2063 (Analyze_Attribute_Definition_Clause): Add
2064 Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses
2065 (no action). Add handling for Simple_Storage_Pool attribute
2066 definition, requiring the name to denote a simple storage pool
2067 object.
2068 (Check_Aspect_At_Freeze_Point): For a simple storage pool
2069 aspect, set the type to that of the name specified for the aspect.
2070 * sem_prag.adb (Analyze_Pragma): Add handling for pragma
2071 Simple_Storage_Pool, requiring that it applies to a library-level
2072 type declared in a package declaration that is a limited private
2073 or limited record type.
2074 * sem_res.adb (Resolve_Allocator): Flag an attempt to call a
2075 build-in-place function in an allocator for an access type with
2076 a simple storage pool as unsupported.
2077 * snames.ads-tmpl: Add Name_Simple_Storage_Pool.
2078 (type Attribute_Id): Add Attribute_Simple_Storage_Pool.
2079 (type Pragma_Id): Add Pragma_Simple_Storage_Pool.
2080 * snames.adb-tmpl (Get_Pragma_Id): Handle case of
2081 Name_Simple_Storage_Pool.
2082 (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool.
2083
20842012-02-08 Cyrille Comar <comar@adacore.com>
2085
2086 * projects.texi: Clarify doc for interfaces.
2087
f95c6539
EB
20882012-02-07 Eric Botcazou <ebotcazou@adacore.com>
2089
2090 * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
2091 (GCC_LINK): Use it.
2092
a5c15014
TG
20932012-02-01 Tristan Gingold <gingold@adacore.com>
2094
2095 * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
2096 instead of size_type_node.
2097
982edf3a
NR
20982012-01-30 Nicolas Roche <roche@adacore.com>
2099
2100 * gcc-interface/Make-lang.in: Update dependencies.
2101 * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
2102 when needed.
2103 Remove Linker_Options -crtbe when building sjlj run-time.
2104
b727a82b
AC
21052012-01-30 Robert Dewar <dewar@adacore.com>
2106
2107 * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
2108 * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
2109 form 2 * small-literal.
2110 * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
2111 mod value).
2112 * sem_ch4.ads (Analyze_Mod): New procedure.
2113
21142012-01-30 Ed Schonberg <schonberg@adacore.com>
2115
2116 * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
2117 types and return expression when building spec for implicit
2118 body, to preserve global references that may be present in an
2119 instantiation.
2120
21212012-01-30 Matthew Heaney <heaney@adacore.com>
2122
2123 * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
2124 Reverse_Elements): Check for cursor tampering.
2125
21262012-01-30 Ed Schonberg <schonberg@adacore.com>
2127
2128 * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
2129 type with aspect Default_Value or Default_Component_Value is
2130 fully initialized, and use of variables of such types do not
2131 generate warnings.
2132
21332012-01-30 Javier Miranda <miranda@adacore.com>
2134
2135PR ada/15846
2136 * sem_ch8.adb (Analyze_Subprogram_Renaming):
2137 Handle self-renaming when the renamed entity is referenced using
2138 its expanded name.
2139
21402012-01-30 Vincent Celier <celier@adacore.com>
2141
2142 * projects.texi: Add documentation for attribute Interfaces.
2143
f849ad6f
AC
21442012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
2145
2146 * exp_ch7.adb (Build_Finalizer_Call): Set loc again.
2147 * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
2148 location for the wrapped call to the original AT_END routine
2149 and the subsequent return statement.
2150
21512012-01-30 Pascal Obry <obry@adacore.com>
2152
2153 * s-rannum.adb: Minor reformatting.
2154
21552012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
2156
2157 * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds
2158 to 25 and add the hard time value for 2012-06-30.
2159
37da997b
RD
21602012-01-30 Robert Dewar <dewar@adacore.com>
2161
2162 * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb,
2163 freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads,
2164 s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb:
2165 Minor reformatting/code reorganization.
2166
7873037f
TQ
21672012-01-30 Thomas Quinot <quinot@adacore.com>
2168
2169 * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
2170 Unsigned_64 rather than Duration.
2171 (System.Random_Numbers.Reset): Use full value of seed
2172 (do not truncate sub-second bits).
2173
21742012-01-30 Thomas Quinot <quinot@adacore.com>
2175
2176 * sem_cat.adb, sem_ch12.adb: Minor reformatting.
2177
6d9e03cb
AC
21782012-01-30 Yannick Moy <moy@adacore.com>
2179
2180 * gnat_ugn.texi: Minor correction of GNAT UG, to take into
2181 account changes to -gnatwa and more recent warnings.
2182
21832012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
2184
2185 * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
2186 location when creating a call to a finalizer.
2187 * exp_ch11.adb (Expand_Exception_Handlers): Do not provide
2188 a source location for the first actual of Save_Occurrence for
2189 consistency sake.
2190
21912012-01-30 Ed Schonberg <schonberg@adacore.com>
2192
2193 * einfo.ads, einfo,adb: New attribute on scalar types:
2194 Default_Aspect_Value New attribute on array types:
2195 Default_Aspect_Component_Value Move attribute Related_Array_Object
2196 to a different position to accomodate new aspect attributes.
2197 * freeze.adb (Freeze_Entity): Use new attributes to retrieve value
2198 of defaults set with an aspect specification, rather than using
2199 the list of aspects attached to the type, to prevent issues with
2200 partial views.
2201 * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
2202 Default_Value and Default_Component _Value, store corresponding
2203 expression in type entity.
2204 (Check_Aspect_At_End_Of_Declaration): If the default aspects
2205 are declared on the full view, use the full view to resolve the
2206 correseponding expression.
2207 * exp_ch3.adb (Init_Component): Use attribute
2208 Default_Aspect_Component_Value to perform default initialization,
2209 rather than relying on the rep item list for the type.
2210 (Get_Simple_Init_Val): Ditto.
2211
b688e030
AC
22122012-01-30 Thomas Quinot <quinot@adacore.com>
2213
2214 * a-strhas.ads: Document risk of collision attack.
2215
22162012-01-30 Yannick Moy <moy@adacore.com>
2217
2218 * gnat_ugn.texi: Minor update wrt warning switches.
2219
14237616
AC
22202012-01-30 Vincent Celier <celier@adacore.com>
2221
2222 * prj-nmsc.adb (Check_Interfaces): Report an error when a
2223 unit from Library_Interface is not a unit of the project.
2224
22252012-01-30 Vincent Pucci <pucci@adacore.com>
2226
2227 * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent
2228 links fixed inside PPC pragmas.
2229 * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl.
2230
22312012-01-30 Thomas Quinot <quinot@adacore.com>
2232
2233 * s-ransee.ads: Minor reformatting.
2234
de6e4fc4
AC
22352012-01-30 Pascal Obry <obry@adacore.com>
2236
2237 * prj.ads, prj.adb (For_Each_Source): Add support for skipping
2238 sources coming from an encapsulated library.
2239
22402012-01-30 Ed Schonberg <schonberg@adacore.com>
2241
2242 * sem_ch3.adb (Process-Full_View): fix typo.
2243 * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
2244 appear on a private type and the full view is available, ensure
2245 existence of freeze node for full view.
2246 (Build_Predicate_Function): Attach predicate function to both
2247 views of a private type.
2248
22492012-01-30 Vincent Celier <celier@adacore.com>
2250
2251 * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
2252 for the project if either attribute Library_Interface or
2253 Interfaces is declared.
2254 (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
2255 Check_Interfaces.
2256
a76b09dc
PO
22572012-01-30 Pascal Obry <obry@adacore.com>
2258
2259 * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
2260 boolean value to true in the process list created by this routine.
2261 * prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
2262 Continued work for KA06-021.
2263 * prj.adb (Compute_All_Imported_Projects): Set
2264 From_Encapsulated_Lib boolean flag.
2265
457c5df4
AC
22662012-01-30 Vincent Pucci <pucci@adacore.com>
2267
2268 * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
2269 code clean up.
2270 * s-diflio.ads: Minor change.
2271
22722012-01-30 Javier Miranda <miranda@adacore.com>
2273
2274 * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
2275 to Get_Entry_Index. Required to generate code which provides
2276 the correct value of Entry_Index in the target entry.
2277
22782012-01-30 Nicolas Roche <roche@adacore.com>
2279
2280 * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
2281 fix issue with zcx on VxWorks5.
2282
22832012-01-30 Pascal Obry <obry@adacore.com>
2284
2285 * prj.ads, prj.adb (For_Every_Project_Imported): Remove
2286 In_Aggregate_Lib.
2287 (For_Every_Project_Imported_Context): New generic routine with
2288 a context parameter.
2289 * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
2290 distributed complexity.
2291 * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
2292
1b6897ce
AC
22932012-01-30 Thomas Quinot <quinot@adacore.com>
2294
2295 * exp_aggr.adb (Expand_Record_Aggregate): After creating the
2296 _parent aggregate for an extension aggregate, check whether it
2297 requires delayed (top-down) expansion.
2298
22992012-01-30 Vincent Pucci <pucci@adacore.com>
2300
2301 * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
2302 * snames.ads-tmpl: Name_Item and Name_Symbols added.
2303 * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
2304 and change the position of parameter Symbols in every Put routine.
2305 * s-dimmks.ads: Convert long float type Mks_Type into long
2306 long float.
2307 * s-llflex.ads: Modifications in comments.
2308
23092012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
2310
2311 * sem_ch12.adb (Earlier): Do not use the
2312 top level source locations of the two input nodes.
2313
22243c12
RD
23142012-01-30 Robert Dewar <dewar@adacore.com>
2315
2316 * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
2317 sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
2318
25081892
AC
23192012-01-30 Robert Dewar <dewar@adacore.com>
2320
2321 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
2322
23232012-01-30 Olivier Hainque <hainque@adacore.com>
2324
2325 * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
2326 comments.
2327
23282012-01-30 Thomas Quinot <quinot@adacore.com>
2329
2330 * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
2331 sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
2332 sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
2333 New subprogram (extracted from
2334 Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
2335 (Einfo.Is_Remote_Types): Now applies to generic types. Update
2336 documentation accordingly.
2337 (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
2338 actual for a formal type to which a pragma Remote_Access_Type
2339 applies.
2340 (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
2341 Remote_Access_Type.
2342 (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
2343 be applied to a generic type if pragma Remote_Access_Type
2344 applies, in which case the type of the attribute is
2345 System.Partition_Interface.RACW_Stub_Type.
2346
46c91e45
EB
23472012-01-27 Eric Botcazou <ebotcazou@adacore.com>
2348
2349 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
2350 an alignment on fields of the RETURN type built for the CICO mechanism.
2351
16934bbf
EB
23522012-01-27 Eric Botcazou <ebotcazou@adacore.com>
2353
2354 * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
2355 a call to a function that returns an unconstrained type with default
46c91e45 2356 discriminant. Similarly, avoid doing the conversion to the nominal
16934bbf
EB
2357 result type in this case.
2358
5f2e59d4
EB
23592012-01-27 Eric Botcazou <ebotcazou@adacore.com>
2360
2361 * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
2362 * gcc-interface/decl.c (is_variable_size): Rename to...
2363 (type_has_variable_size): ...this.
2364 (adjust_packed): Adjust to above renaming.
2365 (gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
2366 (field_is_artificial): New predicate.
2367 (field_is_aliased): Likewise.
2368 (field_has_self_size): Likewise.
2369 (field_has_variable_size): Likewise.
2370 (components_to_record): Record information for the final layout during
2371 the first pass on fields.
2372 If there is an aliased field placed after a field whose length depends
2373 on discriminants, put all the fields of the latter sort, last.
2374
1228a6a6
EB
23752012-01-27 Eric Botcazou <ebotcazou@adacore.com>
2376
2377 * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
2378 * gcc-interface/decl.c (get_minimal_subprog_decl): New function.
2379 * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
2380 Access-like attribute in a dispatch table if the subprogram is public.
2381
88a94e2b
EB
23822012-01-27 Eric Botcazou <ebotcazou@adacore.com>
2383
2384 * gcc-interface/gigi.h (create_label_decl): Adjust.
2385 * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
2386 and invoke gnat_pushdecl on it. Remove obsolete settings.
2387 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
2388 create_label_decl.
2389 * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the
2390 label for debugging purposes.
2391
6b318bf2
EB
23922012-01-27 Eric Botcazou <ebotcazou@adacore.com>
2393
2394 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
2395 object with an unconstrained nominal subtype and if optimization isn't
2396 enabled, create a special VAR_DECL for debugging purposes.
2397
dd91386d
AC
23982012-01-23 Robert Dewar <dewar@adacore.com>
2399
2400 * sem_prag.ads, sem_prag.adb: Minor reformatting.
2401
24022012-01-23 Robert Dewar <dewar@adacore.com>
2403
2404 * sem_ch13.adb (Analyze_Aspect_Specifications): Check for
2405 language defined aspect applied to renaming or formal type
2406 declaration (not permitted)
2407
24082012-01-23 Matthew Heaney <heaney@adacore.com>
2409
2410 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
2411 comment with pragma Assert.
2412
f6834394
VP
24132012-01-23 Vincent Pucci <pucci@adacore.com>
2414
2415 * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
2416 to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode.
2417 * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New
2418 routine. In ASIS mode, convert any PPC pragmas into aspects in generic
2419 subprogram declaration in order to enable the analysis of PPC boolean
2420 expressions.
2421
926a0900
AC
24222012-01-23 Robert Dewar <dewar@adacore.com>
2423
2424 * sem_ch3.adb (Analyze_Object_Declaration): Properly
2425 handle Current_Value for volatile variables (also propagate
2426 Treat_As_Volatile from type to object).
2427
24282012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
2429
2430 * sem_ch12.adb (Install_Body): Detect the case
2431 where the enclosing context is a package with a stub body that
2432 has already been replaced by the actual body. In such cases,
2433 the freeze node for the enclosing context must be inserted after
2434 the real body.
2435
24362012-01-23 Ed Schonberg <schonberg@adacore.com>
2437
2438 * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called
2439 subprogram before expanding the pragma into an if-statement with
2440 a block, to ensure that when the subprogram is null its body is
2441 properly generated before expansion.
2442
88a27b18
AC
24432012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
2444
2445 * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
2446 constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
2447 to Saved_Formal.
2448 Freeze all eligible subprograms which appear as actuals in
2449 the instantiation.
2450 (Has_Fully_Defined_Profile): New routine.
2451 (Renames_Standard_Subprogram): New routine.
2452 (Earlier): Add local variable N. Comment update. Do not use source
2453 locations when trying to determine whether one node precedes another.
2454
24552012-01-23 Gary Dismukes <dismukes@adacore.com>
2456
2457 * exp_ch4.adb (Expand_Concatenate): In the case
2458 where the result of a concatentation can be null, set the to
2459 result have both the low and high bounds of the right operand (not
2460 just the high bound, as was the case prior to this fix). Also,
2461 fix the saved high bound setting (Last_Opnd_High_Bound) in the
2462 empty string literal case (should have been low bound minus one,
2463 rather than plus one).
2464
24652012-01-23 Thomas Quinot <quinot@adacore.com>
2466
2467 * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
2468 omit statement SCOs for disabled pragmas.
2469
3c24c853
MH
24702012-01-23 Matthew Heaney <heaney@adacore.com>
2471
2472 * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads,
2473 a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads,
2474 a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads,
2475 a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read,
2476 Cursor'Write): Declare in private part.
2477 (Reference_Type'Read, Reference_Type'Write): Ditto.
2478 (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto.
2479
c61b6f0f
RD
24802012-01-23 Robert Dewar <dewar@adacore.com>
2481
2482 * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
2483 reformatting.
2484
b3aa0ca8
AC
24852012-01-23 Ed Schonberg <schonberg@adacore.com>
2486
2487 * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the
2488 Corresponding_Body on a defaulted null formal subprogram.
2489 * sem_ch12.adb (Check_Formal_Package_Instance): No check needed
2490 on a defaulted formal subprogram that is a null procedure.
2491
24922012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
2493
2494 * exp_ch9.adb: Update the comments involving pragma Implemented.
2495 * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local
2496 constant Subp_Alias and local variable Impl_Subp. Properly
2497 handle aliases of synchronized wrappers. Code cleanup.
2498 (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add
2499 Name_Optional as part of the condition.
2500 * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the
2501 valid choices of implementation kind.
2502 (Check_Arg_Is_One_Of): New routine.
2503 * snames.ads-tmlp: Add Name_Optional.
2504
25052012-01-23 Ed Schonberg <schonberg@adacore.com>
2506
2507 * par-ch13.adb: Better error recovery in illegal aspect
2508 specification.
2509
25102012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
2511
2512 * a-calend.adb: Add with clause for Interfaces.C. Add constant
2513 Unix_Max.
2514 (Day_Of_Week): Call the internal UTC_Time_Offset.
2515 (Split): Call the internal UTC_Time_Offset.
2516 (Time_Of): Call the internal UTC_Time_Offset.
2517 (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset.
2518 (UTC_Time_Offset): New library-level routine.
2519 * a-calend.ads (UTC_Time_Offset): Remove parameter
2520 Is_Historic. Update related comment on usage.
2521 * a-catizo.adb (UTC_Time_Offset): Removed.
2522 (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset.
2523 * a-caltizo.ads (UTC_Time_Offset): Removed.
2524 (UTC_Time_Offset (Time)): Add back the default expression of parameter
2525 Date.
2526
3ffd18f1
AC
25272012-01-23 Robert Dewar <dewar@adacore.com>
2528
2529 * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
2530 (pg,po,ps): Make sure each entry starts on new line.
2531
25322012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
2533
2534 * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update
2535 the parameter profile of procedure localtime_tzoff and its associated
2536 comment.
2537 (Day_Of_Week): Do not treat the input date as historical
2538 with respect to time zones.
2539 (Split): Do not treat the input
2540 date as historical with respect to time zones. (Time_Of): Do
2541 not treat the input constituents as forming a historical date
2542 with respect to time zones.
2543 (UTC_Time_Offset): Add new formal
2544 parameter Is_Historic. Add local variable Flag. Update the call
2545 to localtime_tzoff.
2546 * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine.
2547 (UTC_Time_Offset (Time)): Update the call to
2548 Time_Zone_Operations.UTC_Time_Offset.
2549 * sysdep.c (__gnat_localtime_tzoff): Update parameter
2550 profile. Split the processing of offsets on Windows into two - one
2551 part of historic time stamps and the other for the current time.
2552
ce20f35b
AC
25532012-01-23 Robert Dewar <dewar@adacore.com>
2554
2555 * a-calend.adb: Minor reformatting.
2556
25572012-01-23 Ed Schonberg <schonberg@adacore.com>
2558
2559 * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
2560 interface in requeue statement.
2561
25622012-01-23 Cyrille Comar <comar@adacore.com>
2563
2564 * projects.texi: Remove references to main units and replace
2565 with references to main programs to be coherent with the
2566 documentation.
2567
7647cd4b
AC
25682012-01-23 Robert Dewar <dewar@adacore.com>
2569
2570 * s-utf_32.adb: Minor reformatting.
2571
25722012-01-23 Vincent Celier <celier@adacore.com>
2573
2574 * snames.ads-tmpl: Minor comment addition Indicate that
2575 Name_Library_Encapsulated_Options is only used in gprbuild.
2576
6cbab959
AC
25772012-01-23 Robert Dewar <dewar@adacore.com>
2578
2579 * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
2580 restrictions.
2581
25822012-01-23 Ed Schonberg <schonberg@adacore.com>
2583
2584 * snames.ads-tmpl: Add Name_Synchronization.
2585 * aspects.ads, aspects.adb: Add Aspect_Synchronization to
2586 enumeration type and related maps.
2587 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect
2588 Synchronization, build corresponding pragma Implemented.
2589 * sem_util.adb (Implementation_Kind): Handle both explicit and
2590 implicit pragma_argument association to retrieve the given
2591 synchronization mode.
2592
67bdbf1e
AC
25932012-01-23 Robert Dewar <dewar@adacore.com>
2594
2595 * sem_ch10.adb, errout.adb: Minor reformatting.
2596
25972012-01-23 Ed Schonberg <schonberg@adacore.com>
2598
2599 * sem_res.adb (Resolve_Actuals): An actual in a call to an
2600 Ada 2012 Reference function does not lead to a dangerous order
2601 dependence.
2602
022d9ce8
AC
26032012-01-23 Gary Dismukes <dismukes@adacore.com>
2604
2605 * exp_util.adb (Is_Iterated_Container): Test
2606 Is_Entity_Name when searching for calls to the default iterator,
2607 to avoid blowing up on indirect calls which have an explicit
2608 dereference as the call name.
2609
26102012-01-23 Thomas Quinot <quinot@adacore.com>
2611
2612 * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
2613 the complete expanded name, rather than just its Selector_Name.
2614
26152012-01-23 Thomas Quinot <quinot@adacore.com>
2616
2617 * a-textio.adb (Put): Rewrite one-parameter Character version to
2618 just call the two-parameter one with Current_Out.
2619
e1308fa8
AC
26202012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
2621
2622 * freeze.adb (Check_Current_Instance): Issue an
2623 error when the prefix of 'Unchecked_Access or 'Access does not
2624 denote a legal aliased view of a type.
2625 (Freeze_Record_Type): Do not halt the processing of record components
2626 once the Has_Controlled_Component is set as this bypasses the remaining
2627 checks.
2628 (Is_Aliased_View_Of_Type): New routine.
2629
26302012-01-23 Thomas Quinot <quinot@adacore.com>
2631
2632 * errout.ads, freeze.adb: Minor reformatting.
2633
26342012-01-23 Thomas Quinot <quinot@adacore.com>
2635
2636 * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
2637 messages.
2638
26392012-01-23 Olivier Hainque <hainque@adacore.com>
2640
2641 * adadecode.c (__gnat_decode): Deal with empty input early,
2642 preventing potential erroneous memory access later on.
2643
7eeb2aa7
EB
26442012-01-21 Eric Botcazou <ebotcazou@adacore.com>
2645
2646 PR ada/46192
2647 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
2648 renaming, preserve the volatileness through the indirection, if any.
2649
a8a9e2a8
AS
26502012-01-14 Andreas Schwab <schwab@linux-m68k.org>
2651
2652 * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
2653 $(GNATLIBCFLAGS).
2654
c9423ca3
AC
26552012-01-10 Pascal Obry <obry@adacore.com>
2656
2657 * prj-nmsc.adb (Check_Library_Attributes):
2658 Kill check for object/source directories for aggregate libraries.
2659
26602012-01-10 Matthew Heaney <heaney@adacore.com>
2661
2662 * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
2663 a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
2664 a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
2665 a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
2666 a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
2667 a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
2668 a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
2669 a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
2670 a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
2671 container parameter as aliased in/in out.
2672 Code clean ups.
2673
26742012-01-10 Bob Duff <duff@adacore.com>
2675
2676 * s-os_lib.ads: Improve comment.
2677
26782012-01-10 Geert Bosch <bosch@adacore.com>
2679
2680 * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
2681 for complex Scalar.
2682
72348e26
AC
26832012-01-10 Bob Duff <duff@adacore.com>
2684
2685 * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
2686 checking that the 'Size is correct. If the type is "mod 2**12",
2687 for example, it's illegal, but Esize is the 'Object_Size, which
2688 will be something like 16 or 32, so the error ('Size = 12) was
2689 not detected.
2690 * gnat_rm.texi: Improve documentation of shift
2691 and rotate intrinsics.
2692
26932012-01-10 Pascal Obry <obry@adacore.com>
2694
2695 * prj.adb (For_Every_Project_Imported): Fix
2696 implementation to make sure we return each project only once
2697 for aggragte libraries. It is fine to return a project twice for
2698 aggregate projects, this was the case as a Project_Id is different
2699 in each project tree. The new implementation use a table based on
2700 the project name to ensure proper detection of duplicate project
2701 in aggregate library. A new context is then created to continue
2702 retrurning duplicate project for aggregate libraries.
2703
24e7a4a0
EB
27042012-01-09 Eric Botcazou <ebotcazou@adacore.com>
2705
2706 * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
2707 return value in the variable-sized return type case if the target is
2708 an array with fixed size. However, do not create it if this is the
2709 expression of an object declaration.
2710
3c157c27
EB
27112012-01-09 Eric Botcazou <ebotcazou@adacore.com>
2712
2713 * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
2714
4913e24c
AC
27152012-01-06 Robert Dewar <dewar@adacore.com>
2716
2717 * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
2718 s-utf_32.ads: Add pragma Pure
2719 * s-utf_32.adb: Suppress warnings on non-static constants (now
2720 that this is Pure).
2721
27222012-01-06 Bob Duff <duff@adacore.com>
2723
2724 * s-rpc.ads (Read, Write): Add overriding indicators.
2725
27262012-01-06 Robert Dewar <dewar@adacore.com>
2727
2728 * gnat_rm.texi: Add documentation for conventions
2729 Ada_Pass_By_Copy and Ada_Pass_By_Reference.
2730
27312012-01-06 Gary Dismukes <dismukes@adacore.com>
2732
2733 * a-tienio.adb (Put): Add exception message on
2734 raise statements. Remove unneeded blocks and object declarations.
2735
27362012-01-06 Robert Dewar <dewar@adacore.com>
2737
2738 * sem_prag.adb: Minor reformatting.
2739
27402012-01-06 Ed Schonberg <schonberg@adacore.com>
2741
2742 * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
2743 that a selected component within a generic unit has been resolved
2744 as a prefixed call with local references.
2745 * sem_ch3.adb (Is_Visible_Component): In an instance body a selected
2746 component is always visible.
2747 * sem_ch4.adb (Analyze_Selected_Component): If the node is a
2748 prefixed call in an instance, do not look for visible components
2749 of the type.
2750 * sem_ch12.adb (Reset_Entity): If a selected component has resolved
2751 to a prefixed call, mark the node accordingly when prefix and
2752 selector are local references.
2753
6a521d16
EB
27542012-01-02 Eric Botcazou <ebotcazou@adacore.com>
2755
2756 * gnatvsn.ads (Current_Year): Bump to 2012.
ad41bd84 2757\f
a7f45047 2758Copyright (C) 2012 Free Software Foundation, Inc.
ad41bd84
JM
2759
2760Copying and distribution of this file, with or without modification,
2761are permitted in any medium without royalty provided the copyright
2762notice and this notice are preserved.