[multiple changes]
[gcc.git] / gcc / ada / ChangeLog
1 2011-08-01 Yannick Moy <moy@adacore.com>
2
3 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
4 of homonym, unless the homonym is one of the cases allowed in SPARK
5 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
6 package declaration occurring after a body.
7
8 2011-08-01 Robert Dewar <dewar@adacore.com>
9
10 * checks.adb, exp_ch4.adb: Minor reformatting.
11
12 2011-08-01 Javier Miranda <miranda@adacore.com>
13
14 * einfo.ads (Access_Disp_Table): Fix documentation.
15 (Dispatch_Table_Wrappers): Fix documentation.
16
17 2011-08-01 Pascal Obry <obry@adacore.com>
18
19 * prj-env.adb, prj-env.ads: Minor reformatting.
20
21 2011-08-01 Yannick Moy <moy@adacore.com>
22
23 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
24 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
25 procedures out of these packages.
26 * errout.ads, errout.adb
27 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
28 procedures in of this package
29 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
30 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
31 on misplaced later vs initial declarations, like in Ada 83
32 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
33 formal mode on attribute of private type whose full type declaration
34 is not visible
35 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
36 package declaration inside a package specification
37 (Analyze_Full_Type_Declaration): issue error in formal mode on
38 controlled type or discriminant type
39 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
40 user-defined operator means that it should come from the source
41 (New_Overloaded_Entity): issue error in formal mode on overloaded
42 entity.
43 * sem_ch6.ads, sem_ch13.ads: typos in comments.
44
45 2011-08-01 Thomas Quinot <quinot@adacore.com>
46
47 * atree.adb: Minor reformatting.
48 * checks.adb: Minor reformatting.
49
50 2011-08-01 Vincent Celier <celier@adacore.com>
51
52 * s-parame-vms-ia64.ads: Fix typo in comment
53 Minor reformatting
54 * s-parame-vms-restrict.ads: Removed, unused.
55
56 2011-08-01 Javier Miranda <miranda@adacore.com>
57
58 * exp_ch3.adb
59 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
60 * sem_ch3.adb
61 (Constrain_Index): Remove side effects in the evaluation of the bounds.
62 * sem_ch3.ads, sem_ch3.adb
63 (Is_Constant_Bound): New extended version of the subprogram that was
64 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
65 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
66 * sem_aux.ads (Constant_Value): Fix typo in comment.
67 * checks.adb (Generate_Index_Checks): New implementation which, for
68 array objects with constant bounds, generates the runtime check
69 referencing the bounds of the array type. For other cases this routine
70 provides its previous behavior obtaining such values from the array
71 object.
72 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
73 parent type.
74 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
75 we cannot have semantic interpretations of the new node.
76
77 2011-08-01 Ed Schonberg <schonberg@adacore.com>
78
79 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
80 expressions.
81
82 2011-08-01 Arnaud Charlet <charlet@adacore.com>
83
84 * sem_ch8.adb: Minor code editing.
85 * s-vxwext.adb: Remove trailing space.
86 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
87 consistency with other files.
88
89 2011-08-01 Thomas Quinot <quinot@adacore.com>
90
91 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
92
93 2011-08-01 Ed Schonberg <schonberg@adacore.com>
94
95 * par-ch10.adb: reject parameterized expressions as compilation unit.
96 * sem_ch4.adb: handle properly conditional expression with overloaded
97 then_clause and no else_clause.
98
99 2011-08-01 Tristan Gingold <gingold@adacore.com>
100
101 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
102 like done by System.Aux_DEC.
103 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
104
105 2011-08-01 Yannick Moy <moy@adacore.com>
106
107 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
108 missing label at end of declaration (subprogram or package)
109 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
110 of positional and named parameter association
111 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
112 Error_Msg_SP which adds a prefix to the error message giving the name
113 of the formal language analyzed
114 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
115 access result type in subprogram, unconstrained array as result type,.
116 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
117 procedure
118 * sem_ch8.adb: Code clean up.
119
120 2011-08-01 Javier Miranda <miranda@adacore.com>
121
122 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
123 * einfo.ads (Access_Disp_Table): Fix documentation.
124 (Dispatch_Table_Wrappers): Fix documentation.
125 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
126 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
127 to enforce the documentation of this attribute.
128 (Set_Is_Interface): Cleanup the assertion.
129 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
130 the Underlying_Type entity before reading attribute Access_Disp_Table.
131 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
132 Locate the Underlying_Type before reading attribute Access_Disp_Table.
133 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
134 the Underlying_Type entity before reading attribute Access_Disp_Table.
135 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
136 Locate the Underlying_Type entity before reading attribute
137 Access_Disp_Table.
138
139 2011-08-01 Ed Schonberg <schonberg@adacore.com>
140
141 * s-poosiz.ads: Additional overriding indicators.
142
143 2011-08-01 Yannick Moy <moy@adacore.com>
144
145 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
146 formal mode.
147 (Analyze_Iteration_Scheme): issue error in formal mode when loop
148 parameter specification does not include a subtype mark.
149 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
150 formal mode on abstract subprogram.
151 (Analyze_Subprogram_Specification): issue error in formal mode on
152 user-defined operator.
153 (Process_Formals): issue error in formal mode on access parameter and
154 default expression.
155 * sem_ch9.adb (Analyze_Abort_Statement,
156 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
157 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
158 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
159 Analyze_Requeue, Analyze_Selective_Accept,
160 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
161 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
162 issue error in formal mode on user-defined raise statement.
163
164 2011-08-01 Thomas Quinot <quinot@adacore.com>
165
166 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
167 declaration being hidden when overriding an implicit inherited
168 subprogram.
169 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
170 (-gnats), do not complain about a source file that contains only a
171 pragma No_Body.
172
173 2011-08-01 Ed Schonberg <schonberg@adacore.com>
174
175 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
176 variable if already set.
177
178 2011-08-01 Arnaud Charlet <charlet@adacore.com>
179
180 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
181 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
182 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
183 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
184 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
185 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
186 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
187 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
188 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
189 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
190 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
191 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
192 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
193 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
194 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
195 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
196 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
197 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
198 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
199 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
200 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
201 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
202 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
203 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
204 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
205 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
206 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
207 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
208 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
209 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
210 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
211 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
212 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
213 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
214 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
215 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
216 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
217 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
218 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
219 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
220 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
221 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
222 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
223 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
224 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
225 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
226 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
227 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
228 s-osinte-mingw.ads: Update to GPLv3 run-time license.
229 Use GNAT instead of GNARL.
230
231 2011-08-01 Bob Duff <duff@adacore.com>
232
233 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
234 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
235 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
236 reformatting.
237
238 2011-08-01 Yannick Moy <moy@adacore.com>
239
240 * debug.adb (d.D) reverve flag for the SPARK mode
241 (d.E) reverve flag for SPARK generation mode
242 (d.F) reverve flag for Why generation mode
243 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
244 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
245 functions which return True when the corresponding modes are set
246 (Formal_Language): return "spark" or "alfa" when in formal verification
247 mode.
248 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
249 Error_Msg to prefix the error message with a tag giving the formal
250 language
251 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
252 message with a tag giving the formal language
253 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
254 block statement
255 (Analyze_Case_Statement): issue error in formal mode on case statement
256 with a single "others" case alternative
257 (Analyze_Exit_Statement): issue errors in formal mode on exit
258 statements which do not respect SPARK restrictions
259 (Analyze_Goto_Statement): issue error in formal mode on goto statement
260 (Check_Unreachable_Code): always issue an error (not a warning) in
261 formal mode on unreachable code (concerns both code after an infinite
262 loop and after an unconditional jump, both not allowed in SPARK)
263 * sem_ch6.adb (Analyze_Return_Statement): add call to
264 Set_Return_Present for a procedure containing a return statement
265 (already done for functions in Analyze_Function_Return)
266 (Analyze_Function_Return): issue error in formal mode on extended
267 return or if return is not last statement in function
268 (Check_Missing_Return): issue error in formal mode if function does
269 not end with return or if procedure contains a return
270 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
271 function to detect if there is an inner scope of its parameter S which
272 is a loop.
273
274 2011-08-01 Thomas Quinot <quinot@adacore.com>
275
276 * sem_ch6.ads: Minor reformatting.
277
278 2011-08-01 Javier Miranda <miranda@adacore.com>
279
280 * sem_util.adb (Abstract_Interface_List): Complete condition when
281 processing private type declarations to avoid reading unavailable
282 attribute.
283 (Is_Synchronized_Tagged_Type): Complete condition when processing
284 private extension declaration nodes to avoid reading unavailable
285 attribute.
286
287 2011-08-01 Thomas Quinot <quinot@adacore.com>
288
289 * sem_ch3.adb: Minor reformatting.
290
291 2011-08-01 Thomas Quinot <quinot@adacore.com>
292
293 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
294 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
295 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
296 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
297 for VMS, instead parametrize the common implementation with
298 System.Parameters declarations.
299
300 2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
301
302 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
303
304 2011-08-01 Tristan Gingold <gingold@adacore.com>
305
306 * seh_init.c: Fix SEH handler installation on win64.
307
308 2011-08-01 Ed Schonberg <schonberg@adacore.com>
309
310 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
311 double analysis of an anonymous access to subprogram, because it can
312 lead to improper sharing of profiles and a back-end crash.
313
314 2011-08-01 Robert Dewar <dewar@adacore.com>
315
316 * make.adb, sem_ch4.adb: Minor reformatting.
317 * gcc-interface/Make-lang.in: Update dependencies.
318 * sem_util.adb, exp_ch5.adb: Minor reformatting.
319
320 2011-08-01 Arnaud Charlet <charlet@adacore.com>
321
322 * gnat_rm.texi: Fix definition of Long_Integer.
323
324 2011-08-01 Ed Schonberg <schonberg@adacore.com>
325
326 * exp_aggr.adb: check limit size of static aggregate unconditionally,
327 to prevent storage exhaustion.
328 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
329 finalized is a function body, insert the cleanup code before the final
330 return statement, to prevent spurious warnings.
331 * s-pooglo.ads: add overriding indicator.
332
333 2011-08-01 Ed Schonberg <schonberg@adacore.com>
334
335 * sem_ch4.adb (Operator_Check): improve error message when both a
336 with_clause and a use_clause are needed to make operator usage legal.
337 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
338 determine whether a compilation unit is visible within an other,
339 either through a with_clause in the current unit, or a with_clause in
340 its library unit or one one of its parents.
341
342 2011-08-01 Ed Schonberg <schonberg@adacore.com>
343
344 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
345 over an arbitrary expression of an array or container type.
346 * lib-xref.adb: clarify comment.
347
348 2011-08-01 Bob Duff <duff@adacore.com>
349
350 * einfo.ads: Minor reformatting.
351 * debug.adb: Minor comment improvement.
352
353 2011-08-01 Javier Miranda <miranda@adacore.com>
354
355 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
356 consider hidden subprograms as valid candidates.
357
358 2011-08-01 Arnaud Charlet <charlet@adacore.com>
359
360 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
361
362 2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
363
364 * gnat_ugn.texi: Fix typo.
365
366 2011-08-01 Robert Dewar <dewar@adacore.com>
367
368 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
369 lib-xref.adb: Minor reformatting
370
371 2011-08-01 Gary Dismukes <dismukes@adacore.com>
372
373 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
374 when to generate a call to Move_Final_List.
375 (Has_Controlled_Parts): Remove this function.
376
377 2011-08-01 Geert Bosch <bosch@adacore.com>
378
379 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
380 "," in choice list.
381
382 2011-08-01 Thomas Quinot <quinot@adacore.com>
383
384 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
385 explicit raise of a predefined exception as Comes_From_Source if the
386 original N_Raise_Statement comes from source.
387
388 2011-08-01 Robert Dewar <dewar@adacore.com>
389
390 * sinfo.ads: Add comment.
391 * sem_ch6.adb: Minor reformatting.
392
393 2011-08-01 Robert Dewar <dewar@adacore.com>
394
395 * freeze.adb (Freeze_Entity): Refine check for bad component size
396 clause to avoid rejecting confirming clause when atomic/aliased present.
397
398 2011-08-01 Ed Schonberg <schonberg@adacore.com>
399
400 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
401 better determine whether an entity reference is a write.
402 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
403 subcomponent.
404 * lib-xref.adb (Output_References): Do no suppress a read reference at
405 the same location as an immediately preceeding modify-reference, to
406 handle properly in-out actuals.
407
408 2011-08-01 Tristan Gingold <gingold@adacore.com>
409
410 * env.c (__gnat_setenv) [VMS]: Refine previous change.
411
412 2011-08-01 Quentin Ochem <ochem@adacore.com>
413
414 * i-cstrin.adb (New_String): Changed implementation, now uses only the
415 heap to compute the result.
416
417 2011-08-01 Robert Dewar <dewar@adacore.com>
418
419 * atree.ads: Minor reformatting.
420
421 2011-08-01 Emmanuel Briot <briot@adacore.com>
422
423 * g-expect.adb (Get_Command_Output): Fix memory leak.
424
425 2011-08-01 Geert Bosch <bosch@adacore.com>
426
427 * cstand.adb (P_Float_Type): New procedure to print the definition of
428 predefined fpt types.
429 (P_Mixed_Name): New procedure to print a name using mixed case
430 (Print_Standard): Use P_Float_Type for printing floating point types
431 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
432 precision IEEE float.
433
434 2011-08-01 Thomas Quinot <quinot@adacore.com>
435
436 * sem_ch3.adb: Minor reformatting.
437
438 2011-08-01 Ed Schonberg <schonberg@adacore.com>
439
440 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
441 the completion of a generic function, insert the new body rather than
442 rewriting the original.
443
444 2011-08-01 Yannick Moy <moy@adacore.com>
445
446 * sinfo.ads, errout.ads: Typos in comments.
447
448 2011-08-01 Robert Dewar <dewar@adacore.com>
449
450 * par-endh.adb: Minor reformatting.
451
452 2011-08-01 Robert Dewar <dewar@adacore.com>
453
454 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
455 (Pre_Post_Aspects): New subtype.
456 * par-ch12.adb (P_Generic): New syntax for aspects in packages
457 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
458 * par-ch7.adb (P_Package): Remove Decl parameter
459 (P_Package): Handle new syntax for aspects (before IS)
460 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
461 new aspect syntax
462 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
463 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
464 (P_Package): Remove Decl parameter
465 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
466 aspects
467 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
468 specs
469 * sem_util.ads, sem_util.adb (Static_Boolean): New function
470 * sinfo.ads: Document new syntax for aspects in packages etc.
471 * sprint.adb: Handle new syntax of aspects before IS in package
472
473 2011-08-01 Thomas Quinot <quinot@adacore.com>
474
475 * atree.ads: Minor reformatting.
476 * sem_prag.adb: Minor reformatting.
477
478 2011-08-01 Robert Dewar <dewar@adacore.com>
479
480 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
481 case expr alternative.
482
483 2011-08-01 Ed Schonberg <schonberg@adacore.com>
484
485 * sem_ch12.adb: Fix typo.
486
487 2011-08-01 Geert Bosch <bosch@adacore.com>
488
489 * sem_prag.adb (Check_No_Link_Name): New procedure.
490 (Process_Import_Or_Interface): Use Check_No_Link_Name.
491 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
492 instead of Standard_Long_Long_Float_Size global. Preparation for
493 eventual removal of per type constants.
494 * exp_util.ads (Get_Stream_Size): New function returning the stream
495 size value of subtype E.
496 * exp_util.adb (Get_Stream_Size): Implement new function.
497 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
498 function.
499 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
500 * einfo.adb:
501 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
502
503 2011-08-01 Geert Bosch <bosch@adacore.com>
504
505 * cstand.adb: Fix comments.
506 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
507 count of arguments.
508
509 2011-08-01 Robert Dewar <dewar@adacore.com>
510
511 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
512
513 2011-08-01 Geert Bosch <bosch@adacore.com>
514
515 * atree.ads: Fix comment.
516
517 2011-08-01 Robert Dewar <dewar@adacore.com>
518
519 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
520 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
521 * par.adb: Add with for Namet.Sp.
522 * par-tchk.adb: Minor reformatting.
523
524 2011-08-01 Vincent Celier <celier@adacore.com>
525
526 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
527 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
528 of the init procedure of a SAL.
529 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
530 New procedure.
531
532 2011-08-01 Thomas Quinot <quinot@adacore.com>
533
534 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
535 reformatting.
536
537 2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
538
539 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
540
541 2011-08-01 Thomas Quinot <quinot@adacore.com>
542
543 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
544 conformant with its spec (return True only for types that have
545 an overriding Initialize primitive operation that prevents them from
546 having preelaborable initialization).
547 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
548 initialization for controlled types in Ada 2005 or later mode.
549
550 2011-08-01 Robert Dewar <dewar@adacore.com>
551
552 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
553 Postcondition.
554 (Same_Aspect): New function.
555 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
556 Type_Invariant, Precondition, Postcondition.
557 * snames.ads-tmpl: Add Name_Type_Invariant.
558
559 2011-08-01 Robert Dewar <dewar@adacore.com>
560
561 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
562 here.
563 (Freeze_All_Ent): Fix error in handling inherited aspects.
564 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
565 already analyzed, but don't skip entire processing of a declaration,
566 that's wrong in some cases of declarations being rewritten.
567 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
568 Don't delay for integer, string literals
569 Treat predicates in usual manner for delay, remove special case code,
570 not needed.
571 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
572 (Build_Predicate_Function): Update saved expression in aspect
573 (Build_Invariant_Procedure): Update saved expression in aspect
574 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
575 of replacement of discriminant references if the reference is simple.
576
577 2011-08-01 Robert Dewar <dewar@adacore.com>
578
579 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
580 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
581 Static_Predicate and Dynamic_Predicate.
582 (Build_Predicate_Function): Add processing for Static_Predicate
583 and Dynamic_Predicate.
584 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
585 (From_Static_Predicate): New flag
586 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
587
588 2011-08-01 Robert Dewar <dewar@adacore.com>
589
590 * usage.adb: Documentation cleanup for Ada version modes in usage.
591 * expander.adb: Minor reformatting.
592
593 2011-08-01 Robert Dewar <dewar@adacore.com>
594
595 * atree.ads: Minor comment fix.
596 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
597 a-witeio.ads, sem_prag.adb: Minor reformatting.
598
599 2011-08-01 Doug Rupp <rupp@adacore.com>
600
601 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
602 pointers. Use descrip.h header file for convenience. Add some
603 comments.
604
605 2011-08-01 Robert Dewar <dewar@adacore.com>
606
607 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
608 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
609 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
610 New procedure.
611 (Check_Aspect_At_End_Of_Declarations): New procedure
612 (Analye_Aspect_Specification): Minor changes for above procedures
613 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
614 specification node as well.
615
616 2011-08-01 Pascal Obry <obry@adacore.com>
617
618 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
619 Windows files. Use GetFilesAttributes() in this case to check for file
620 existence instead of returning with an error code.
621
622 2011-08-01 Vincent Celier <celier@adacore.com>
623
624 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
625 High is above Source length.
626
627 2011-08-01 Robert Dewar <dewar@adacore.com>
628
629 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
630
631 2011-08-01 Robert Dewar <dewar@adacore.com>
632
633 * aspects.ads (Boolean_Aspects): New subtype.
634 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
635 for derived types in cases where the parent type and derived type have
636 aspects.
637 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
638 with aspects when parent type also has aspects.
639 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
640 boolean expression at this point).
641 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
642 accordance with final decision on the Ada 2012 feature.
643 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
644
645 2011-08-01 Matthew Heaney <heaney@adacore.com>
646
647 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
648
649 2011-08-01 Pascal Obry <obry@adacore.com>
650
651 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
652 Fix Replace_Slice when High is above current string size.
653 (Replace_Slice): Fix DL computation when High is above current
654 string length.
655
656 2011-08-01 Gary Dismukes <dismukes@adacore.com>
657
658 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
659
660 2011-08-01 Matthew Heaney <heaney@adacore.com>
661
662 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
663 of node.
664
665 2011-08-01 Pascal Obry <obry@adacore.com>
666
667 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
668 reformatting.
669
670 2011-08-01 Ed Schonberg <schonberg@adacore.com>
671
672 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
673 access to protected subprograms in generic bodies.
674 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
675 protected type, indicate that the convention of the subprogram is
676 Convention_Protected, because it may be used in subsequent declarations
677 within the protected declaration.
678
679 2011-08-01 Vincent Celier <celier@adacore.com>
680
681 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
682 and "final" procedures when the name of the library is "ada", to avoid
683 duplicate symbols "adainit" and "adafinal" in executables.
684
685 2011-08-01 Ed Schonberg <schonberg@adacore.com>
686
687 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
688 quantified expression that appears within a postcondition and uses the
689 Ada2012 'Result attribute.
690
691 2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
692
693 * init.c (__gnat_error_handler): Cast reason to int.
694 (__gnat_install_handler): Explain sa_sigaction use.
695
696 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
697
698 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
699 subprogram has copy-in copy-out parameters, try to promote the mode of
700 the return type if it is passed in registers.
701
702 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
703
704 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
705 left operand as addressable.
706
707 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
708
709 * gcc-interface/gigi.h (build_function_stub): Remove.
710 (build_return_expr): Likewise.
711 (convert_vms_descriptor): Declare.
712 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
713 (build_function_stub): Move to...
714 * gcc-interface/utils2.c (build_return_expr): Move to...
715 * gcc-interface/trans.c (build_function_stub): ...here.
716 (build_return_expr): ...here.
717 (Subprogram_Body_to_gnu): Add local variable for language_function.
718 Disconnect the parameter attributes cache, if any, once done with it.
719 Call end_subprog_body only after setting the end_locus.
720 Build the stub associated with the function, if any, at the very end.
721 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
722 variables and streamline control flow.
723
724 2011-07-23 Arnaud Charlet <charlet@adacore.com>
725
726 PR ada/49819
727 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
728 g-trasym-dwarf.adb.
729
730 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
731
732 PR bootstrap/49794
733 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
734 Assign to act.sa_sigaction.
735 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
736 current->return_address to char * before arithmetic.
737
738 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
739
740 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
741 Correct argument types.
742 Extract code from reason.
743 (__gnat_install_handler): Assign to act.sa_sigaction.
744
745 2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
746
747 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
748 (GNAT1_OBJS): ...here.
749
750 2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
751
752 PR ada/48711
753 * g-socthi-mingw.adb (Fill): Fix formatting.
754
755 * gcc-interface/gigi.h: Move around comment.
756
757 2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
758
759 PR ada/46350
760 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
761
762 2011-07-14 Florian Weimer <fw@deneb.enyo.de>
763
764 PR ada/48711
765 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
766
767 2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
768
769 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
770 range comparison if Pmode is SImode.
771
772 2011-07-12 Laurent GUERBY <laurent@guerby.net>
773 Eric Botcazou <ebotcazou@adacore.com>
774
775 * adadecode.c: Wrap up in extern "C" block.
776 * adadecode.h: Likewise.
777 * adaint.c: Likewise. Remove 'const' keyword.
778 * adaint.h: Likewise.
779 * argv.c: Likewise.
780 * atree.h: Likewise.
781 * cio.c: Likewise.
782 * cstreams.c: Likewise.
783 * env.c: Likewise.
784 * exit.c: Likewise.
785 * fe.h: Likewise.
786 * final.c: Likewise.
787 * init.c: Likewise.
788 * initialize.c: Likewise.
789 * link.c: Likewise.
790 * namet.h: Likewise.
791 * nlists.h: Likewise.
792 * raise.c: Likewise.
793 * raise.h: Likewise.
794 * repinfo.h: Likewise.
795 * seh_init.c: Likewise.
796 * targext.c: Likewise.
797 * tracebak.c: Likewise.
798 * uintp.h: Likewise.
799 * urealp.h: Likewise.
800 * xeinfo.adb: Wrap up generated C code in extern "C" block.
801 * xsinfo.adb: Likewise.
802 * xsnamest.adb: Likewise.
803 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
804 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
805 * gcc-interface/misc.c: Likewise.
806 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
807 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
808 ada/targext.o here...
809 (GNAT_ADA_OBJS): ...and not here.
810 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
811 (GNATBIND_OBJS): Reorder.
812
813 2011-07-07 Richard Henderson <rth@redhat.com>
814
815 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
816 dwarf2out_frame_init.
817
818 2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
819
820 * gcc-interface/misc.c (gnat_init): Tweak previous change.
821
822 2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
823
824 PR target/39150
825 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
826
827 2011-07-06 Richard Guenther <rguenther@suse.de>
828
829 * gcc-interface/misc.c (gnat_init): Merge calls to
830 build_common_tree_nodes and build_common_tree_nodes_2.
831 Re-initialize boolean_false_node.
832
833 2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
834 Olivier Hainque <hainque@adacore.com>
835 Nicolas Setton <setton@adacore.com>
836
837 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
838 the type according to the ARTIFICIAL_P parameter.
839 (create_type_decl): Likewise.
840 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
841
842 2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
843
844 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
845 (gnatbind): Likewise.
846
847 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
848
849 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
850
851 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
852
853 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
854 local variable throughout. Remove useless call to Base_Type.
855 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
856 Take it also into account for the volatileness of the field. Set the
857 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
858
859 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
860
861 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
862 on a dereference built for a by-ref object if it has an address clause.
863
864 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
865
866 * einfo.ads (Address_Taken): Document use for the second argument of
867 Asm_Input and Asm_Output attributes.
868 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
869 argument is an entity name, then set Address_Taken on it.
870 <Attribute_Asm_Output>: Likewise.
871 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
872 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
873 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
874 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
875
876 2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
877
878 PR middle-end/46500
879 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
880
881 2011-06-14 Joseph Myers <joseph@codesourcery.com>
882
883 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
884 (ada/utils.o): Update dependencies.
885 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
886 ../../../libcpp/libcpp.a.
887 * gcc-interface/utils.c: Include common/common-target.h.
888 (process_attributes): Use targetm_common.have_named_sections.
889
890 2011-06-07 Richard Guenther <rguenther@suse.de>
891
892 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
893 set_sizetype.
894
895 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
896
897 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
898 TREE_THIS_NOTRAP flag.
899
900 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
901
902 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
903 Fix thinko.
904
905 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
906
907 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
908 constants whose full view has discriminants specially.
909
910 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
911
912 * gcc-interface/utils.c: Include diagnostic.h.
913 (gnat_write_global_declarations): Output debug information for all
914 global type declarations before finalizing the compilation unit.
915 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
916
917 2011-05-25 Jakub Jelinek <jakub@redhat.com>
918
919 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
920
921 2011-05-25 Kai Tietz <ktietz@redhat.com>
922
923 * adaint.c (__gnat_to_canonical_file_list_next): Use array
924 initialization instead of const/none-const pointer assignment.
925
926 2011-05-24 Joseph Myers <joseph@codesourcery.com>
927
928 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
929 $(EXTRA_GNAT1_OBJS).
930 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
931 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
932 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
933 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
934 libcommon-target.a instead of prefix.o.
935
936 2011-05-21 Joseph Myers <joseph@codesourcery.com>
937
938 PR ada/49097
939 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
940
941 2011-05-20 Joseph Myers <joseph@codesourcery.com>
942
943 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
944 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
945 instead of version.o.
946
947 2011-05-18 Kai Tietz <ktietz@redhat.com>
948
949 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
950 boolean_false_node instead of integer_zero_node.
951 (convert_with_check): Likewise.
952 * gcc-interface/decl.c (choices_to_gnu): Likewise.
953
954 2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
955
956 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
957 type of the parameter is an unconstrained array, convert the actual to
958 the type of the formal in the In Out and Out cases as well.
959
960 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
961
962 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
963 call build_function_type_array or build_varargs_function_type_array
964 instead.
965 (create_subprog_type): Don't call build_function_type; call
966 build_function_type_vec instead.
967
968 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
969
970 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
971 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
972 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
973
974 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
975
976 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
977
978 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
979 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
980
981 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
982
983 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
984
985 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
986
987 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
988 instead of accessing TYPE_ARG_TYPES directly.
989 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
990
991 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
992
993 PR ada/48844
994 * gcc-interface/gigi.h (get_variant_part): Declare.
995 * gcc-interface/decl.c (get_variant_part): Make global.
996 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
997 types have the same constant size, are record types and T1 has a
998 variant part while T2 doesn't.
999
1000 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
1001
1002 * gcc-interface/utils.c (begin_subprog_body): Do not call
1003 get_pending_sizes.
1004 (end_subprog_body): Likewise.
1005
1006 2011-05-04 Richard Guenther <rguenther@suse.de>
1007
1008 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
1009 int_const_binop.
1010 (pos_to_constructor): Likewise.
1011
1012 2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1013 Eric Botcazou <ebotcazou@adacore.com>
1014
1015 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
1016 of build_function_type. Adjust calls to...
1017 (build_raise_check): ...this. Do not take a void_tree parameter.
1018 Call build_function_type_list instead of build_function_type.
1019 Fix head comment and swap couple of conditional blocks.
1020
1021 2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
1022
1023 * gnatvsn.ads (Library_Version): Bump to 4.7.
1024 (Current_Year): Bump to 2011.
1025
1026 2011-04-29 Michael Matz <matz@suse.de>
1027
1028 * gcc-interface/misc.c (gnat_handle_option): Set
1029 warn_maybe_uninitialized.
1030
1031 2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
1032
1033 * gnat_ugn.texi (Complexity Metrics Control): Update link to
1034 the Watson/McCabe paper.
1035
1036 2011-04-23 Jim Meyering <meyering@redhat.com>
1037
1038 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
1039
1040 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
1041
1042 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
1043 onto the new type.
1044
1045 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
1046
1047 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
1048 parameter.
1049 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
1050 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
1051 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
1052 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
1053 <all>: Do not set flags on the reused DECL node coming from an alias.
1054 Set DECL_IGNORED_P on the DECL node built for subprograms if they
1055 don't need debug info here...
1056 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
1057 (gigi): Adjust calls to create_subprog_decl.
1058 (build_raise_check): Likewise.
1059 (establish_gnat_vms_condition_handler): Likewise.
1060 (Compilation_Unit_to_gnu): Likewise.
1061 (gnat_to_gnu): Likewise.
1062
1063 2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
1064
1065 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
1066 (NO_REORDER_ADAFLAGS): New variable.
1067 (EXTRA_GNATTOOLS): Always define.
1068 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
1069 Clean up and adjust list of files compiled with special options.
1070 * gcc-interface/Make-lang.in: Likewise.
1071 (ada/decl.o): Cosmetical change.
1072 (ada/misc.o): Remove dependency on $(PLUGIN_H).
1073
1074 2011-04-20 Jim Meyering <meyering@redhat.com>
1075
1076 * initialize.c (__gnat_initialize): Remove useless if-before-free.
1077
1078 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
1079
1080 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
1081 $(CFLAGS) on the link line.
1082
1083 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
1084
1085 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
1086 padded type built for the return type if it is unconstrained.
1087
1088 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
1089
1090 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
1091
1092 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
1093
1094 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
1095 before calling TREE_CHAIN.
1096 * gcc-interface/misc.c (gnat_init_ts): New function.
1097 (LANG_HOOKS_INIT_TS): Define.
1098
1099 2011-04-12 Martin Jambor <mjambor@suse.cz>
1100
1101 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
1102 instead of cgraph_node.
1103
1104 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
1105
1106 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
1107 alignment on fields of the RETURN type built for the Copy-In Copy-Out
1108 mechanism.
1109
1110 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
1111
1112 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
1113 of aggregate types that contain a placeholder.
1114
1115 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
1116
1117 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
1118 TYPE_ARG_TYPES.
1119 (handle_type_generic_attribute): Likewise.
1120
1121 2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
1122
1123 PR ada/47163
1124 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
1125
1126 2011-04-04 Kai Tietz <ktietz@redhat.com>
1127
1128 PR ada/47163
1129 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
1130 to flag value.
1131
1132 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1133
1134 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
1135 type case, do not strip a padding type around the array type.
1136
1137 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1138
1139 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
1140 types.
1141
1142 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1143
1144 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
1145 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
1146 code for -feliminate-unused-debug-types.
1147 (gnat_post_options): Likewise.
1148
1149 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1150
1151 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
1152 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
1153 distinct copy.
1154
1155 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1156
1157 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
1158 DECL_ARTIFICIAL flag on enumeration types.
1159
1160 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1161
1162 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
1163 fat pointer types artificial unconditionally.
1164 <E_Array_Subtype>: Attach the base array type as a parallel type if it
1165 isn't artificial.
1166
1167 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1168
1169 * gcc-interface/gigi.h (get_dummy_type): Declare.
1170 (build_dummy_unc_pointer_types): Likewise.
1171 (finish_fat_pointer_type): Likewise.
1172 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
1173 fat pointer type has been built, complete it in place.
1174 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
1175 and thin pointers. Remove useless variable.
1176 (finish_fat_pointer_type): Make global and move to...
1177 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
1178 (get_dummy_type): New function.
1179 (build_dummy_unc_pointer_types): Likewise.
1180 (gnat_pushdecl): Propage the name to the anonymous variants only.
1181 (update_pointer_to): Only adjust the pointer types in the unconstrained
1182 array case.
1183
1184 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1185
1186 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
1187 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
1188 if this is a Taft amendment type and the full declaration is available.
1189 * gcc-interface/trans.c (process_type): Likewise.
1190 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
1191 (process_freeze_entity): Likewise.
1192 * gcc-interface/utils.c (dummy_global): New static variable.
1193 (gnat_write_global_declarations): If there are types declared as used
1194 at the global level, insert them in the global hash table.
1195
1196 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1197
1198 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
1199 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
1200 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
1201 copy.
1202 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
1203 flag of the type accordingly.
1204 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
1205
1206 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1207
1208 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
1209 finalizing types when updating the pointers to the designated type.
1210 <all>: Finalize the deferred types even if we didn't defer processing
1211 of incomplete types in this invocation.
1212
1213 2011-04-01 Olivier Hainque <hainque@adacore.com>
1214 Nicolas Setton <setton@adacore.com>
1215 Eric Botcazou <ebotcazou@adacore.com>
1216
1217 * gcc-interface/misc.c (gnat_descriptive_type): New function.
1218 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
1219
1220 2011-03-28 Kai Tietz <ktietz@redhat.com>
1221
1222 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
1223 Windows targets.
1224 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
1225 * system-mingw.ads (System): Change ZCX_By_Default default to True.
1226
1227 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
1228
1229 2011-03-28 Tristan Gingold <gingold@adacore.com>
1230
1231 PR ada/44431
1232 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
1233 Use ada output of gnatbind.
1234 (ada/b_gnatb.adb): Ditto.
1235 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
1236 (ada.mostlyclean, ada.stage1)
1237 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
1238 (ada.stagefeedback): Adjust.
1239 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
1240 Use ada output of gnatbind.
1241 (b_gnatm.adb): Ditto.
1242 (b_gnatl.o, b_gnatm.o): New rules.
1243
1244 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
1245
1246 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
1247 for the padded type built to support a specified size or alignment.
1248
1249 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
1250
1251 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
1252 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
1253 unconditionally to the end of the unit when the designated type is
1254 limited_with'ed.
1255 <all>: Rename local variable. Attempt to un-defer types only and do it
1256 for limited_with'ed types as well.
1257 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
1258 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
1259 consistently and remove redundant call to finalize_from_with_types.
1260
1261 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
1262
1263 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
1264 subprograms without a previous spec declared in the same unit.
1265 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
1266 subprograms at the end of the unit instead of at the beginning.
1267 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
1268 isn't public for the special handling of non-inline functions nested
1269 inside inline external functions.
1270
1271 2011-03-25 Jeff Law <law@redhat.com>
1272
1273 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
1274
1275 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
1276
1277 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
1278 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
1279 to compute Set_Size_Depends_On_Discriminant.
1280 (Layout_Type): Call it on array types in back-end layout mode.
1281 * sem_util.adb (Requires_Transient_Scope): Return true for array
1282 types only if the size depends on the value of discriminants.
1283 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
1284 type if the RHS is a call to a function that returns an unconstrained
1285 type with default discriminant.
1286
1287 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
1288
1289 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
1290 non-conversion to the nominal result type at the end.
1291
1292 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
1293
1294 * gcc-interface/trans.c (create_temporary): New function taken from...
1295 (create_init_temporary): ...here. Call it.
1296 (call_to_gnu): Create the temporary for the return value early, if any.
1297 Create it for a function with copy-in/copy-out parameters if there is
1298 no target; in other cases of copy-in/copy-out, use another temporary.
1299 Push the new binding level lazily. Add and rename local variables.
1300
1301 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
1302
1303 * gcc-interface/decl.c (validate_size): Improve comments and tweak
1304 error message.
1305 (set_rm_size): Likewise.
1306
1307 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
1308
1309 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
1310 for the padded type built in order to support a specified alignment.
1311 Fix incorrect formatting.
1312
1313 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
1314
1315 PR bootstrap/48216
1316 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
1317
1318 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
1319
1320 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
1321 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
1322 to the end of the list. Adjust recursive call. Rename local variable.
1323 If REORDER is true, reorder components of the record type.
1324 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
1325 components_to_record and adjust the parameter list.
1326
1327 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
1328
1329 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
1330 disabled, use the variable for bounds of loop iteration scheme.
1331
1332 2011-03-21 Kai Tietz <ktietz@redhat.com>
1333
1334 PR target/12171
1335 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
1336
1337 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
1338
1339 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
1340 out whether the expression is read-only. Short-circuit placeholder
1341 case and rename a couple of local variables.
1342
1343 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
1344
1345 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
1346 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
1347 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
1348 (convert): Deal with conversions from a smaller form type specially.
1349
1350 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
1351
1352 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
1353 its argument, except for the special -I- switch.
1354
1355 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1356
1357 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
1358 "Ada Issues".
1359
1360 2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
1361
1362 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
1363
1364 2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
1365
1366 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
1367 GNAT_FORMAL.
1368 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
1369 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
1370 instead of GNAT_FORMAL. Protect the expression against multiple uses.
1371 Do not generate the check directly, instead instantiate the template
1372 check present in the descriptor.
1373 (make_descriptor_field): Move around.
1374 (build_vms_descriptor32): Build a template check in the POINTER field.
1375 (build_vms_descriptor): Remove useless suffixes.
1376 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
1377
1378 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
1379
1380 PR bootstrap/47467
1381 * targext.c: Include target files if IN_RTS is defined.
1382
1383 2011-01-26 Richard Guenther <rguenther@suse.de>
1384
1385 PR bootstrap/47467
1386 * targext.c: Include config.h.
1387 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
1388 dependency.
1389
1390 2011-01-04 Pascal Obry <obry@adacore.com>
1391 Eric Botcazou <ebotcazou@adacore.com>
1392
1393 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
1394
1395 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1396
1397 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
1398 end-of-case on the end label and its associated gotos, if any.
1399
1400 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1401
1402 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
1403 expressions of the parameter cache within the statement group of
1404 the CICO mechanism.
1405
1406 2011-01-04 Olivier Hainque <hainque@adacore.com>
1407 Eric Botcazou <ebotcazou@adacore.com>
1408
1409 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
1410 (set_end_locus_from_node): New function.
1411 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
1412 make and the function end_locus.
1413 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
1414 for the elaboration subprogram.
1415 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
1416 set the end_locus of the expression as well.
1417
1418 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1419
1420 PR ada/47131
1421 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
1422 variables that are referenced in exception handlers volatile.
1423
1424
1425 \f
1426 Copyright (C) 2011 Free Software Foundation, Inc.
1427
1428 Copying and distribution of this file, with or without modification,
1429 are permitted in any medium without royalty provided the copyright
1430 notice and this notice are preserved.