1 2011-08-01 Yannick Moy <moy@adacore.com>
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.
8 2011-08-01 Robert Dewar <dewar@adacore.com>
10 * checks.adb, exp_ch4.adb: Minor reformatting.
12 2011-08-01 Javier Miranda <miranda@adacore.com>
14 * einfo.ads (Access_Disp_Table): Fix documentation.
15 (Dispatch_Table_Wrappers): Fix documentation.
17 2011-08-01 Pascal Obry <obry@adacore.com>
19 * prj-env.adb, prj-env.ads: Minor reformatting.
21 2011-08-01 Yannick Moy <moy@adacore.com>
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
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
43 * sem_ch6.ads, sem_ch13.ads: typos in comments.
45 2011-08-01 Thomas Quinot <quinot@adacore.com>
47 * atree.adb: Minor reformatting.
48 * checks.adb: Minor reformatting.
50 2011-08-01 Vincent Celier <celier@adacore.com>
52 * s-parame-vms-ia64.ads: Fix typo in comment
54 * s-parame-vms-restrict.ads: Removed, unused.
56 2011-08-01 Javier Miranda <miranda@adacore.com>
59 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
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
72 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
74 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
75 we cannot have semantic interpretations of the new node.
77 2011-08-01 Ed Schonberg <schonberg@adacore.com>
79 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
82 2011-08-01 Arnaud Charlet <charlet@adacore.com>
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.
89 2011-08-01 Thomas Quinot <quinot@adacore.com>
91 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
93 2011-08-01 Ed Schonberg <schonberg@adacore.com>
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.
99 2011-08-01 Tristan Gingold <gingold@adacore.com>
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.
105 2011-08-01 Yannick Moy <moy@adacore.com>
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
118 * sem_ch8.adb: Code clean up.
120 2011-08-01 Javier Miranda <miranda@adacore.com>
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
139 2011-08-01 Ed Schonberg <schonberg@adacore.com>
141 * s-poosiz.ads: Additional overriding indicators.
143 2011-08-01 Yannick Moy <moy@adacore.com>
145 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
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
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.
164 2011-08-01 Thomas Quinot <quinot@adacore.com>
166 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
167 declaration being hidden when overriding an implicit inherited
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
173 2011-08-01 Ed Schonberg <schonberg@adacore.com>
175 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
176 variable if already set.
178 2011-08-01 Arnaud Charlet <charlet@adacore.com>
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.
231 2011-08-01 Bob Duff <duff@adacore.com>
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
238 2011-08-01 Yannick Moy <moy@adacore.com>
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
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
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
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
274 2011-08-01 Thomas Quinot <quinot@adacore.com>
276 * sem_ch6.ads: Minor reformatting.
278 2011-08-01 Javier Miranda <miranda@adacore.com>
280 * sem_util.adb (Abstract_Interface_List): Complete condition when
281 processing private type declarations to avoid reading unavailable
283 (Is_Synchronized_Tagged_Type): Complete condition when processing
284 private extension declaration nodes to avoid reading unavailable
287 2011-08-01 Thomas Quinot <quinot@adacore.com>
289 * sem_ch3.adb: Minor reformatting.
291 2011-08-01 Thomas Quinot <quinot@adacore.com>
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.
300 2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
302 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
304 2011-08-01 Tristan Gingold <gingold@adacore.com>
306 * seh_init.c: Fix SEH handler installation on win64.
308 2011-08-01 Ed Schonberg <schonberg@adacore.com>
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.
314 2011-08-01 Robert Dewar <dewar@adacore.com>
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.
320 2011-08-01 Arnaud Charlet <charlet@adacore.com>
322 * gnat_rm.texi: Fix definition of Long_Integer.
324 2011-08-01 Ed Schonberg <schonberg@adacore.com>
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.
333 2011-08-01 Ed Schonberg <schonberg@adacore.com>
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.
342 2011-08-01 Ed Schonberg <schonberg@adacore.com>
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.
348 2011-08-01 Bob Duff <duff@adacore.com>
350 * einfo.ads: Minor reformatting.
351 * debug.adb: Minor comment improvement.
353 2011-08-01 Javier Miranda <miranda@adacore.com>
355 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
356 consider hidden subprograms as valid candidates.
358 2011-08-01 Arnaud Charlet <charlet@adacore.com>
360 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
362 2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
364 * gnat_ugn.texi: Fix typo.
366 2011-08-01 Robert Dewar <dewar@adacore.com>
368 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
369 lib-xref.adb: Minor reformatting
371 2011-08-01 Gary Dismukes <dismukes@adacore.com>
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.
377 2011-08-01 Geert Bosch <bosch@adacore.com>
379 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
382 2011-08-01 Thomas Quinot <quinot@adacore.com>
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.
388 2011-08-01 Robert Dewar <dewar@adacore.com>
390 * sinfo.ads: Add comment.
391 * sem_ch6.adb: Minor reformatting.
393 2011-08-01 Robert Dewar <dewar@adacore.com>
395 * freeze.adb (Freeze_Entity): Refine check for bad component size
396 clause to avoid rejecting confirming clause when atomic/aliased present.
398 2011-08-01 Ed Schonberg <schonberg@adacore.com>
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
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.
408 2011-08-01 Tristan Gingold <gingold@adacore.com>
410 * env.c (__gnat_setenv) [VMS]: Refine previous change.
412 2011-08-01 Quentin Ochem <ochem@adacore.com>
414 * i-cstrin.adb (New_String): Changed implementation, now uses only the
415 heap to compute the result.
417 2011-08-01 Robert Dewar <dewar@adacore.com>
419 * atree.ads: Minor reformatting.
421 2011-08-01 Emmanuel Briot <briot@adacore.com>
423 * g-expect.adb (Get_Command_Output): Fix memory leak.
425 2011-08-01 Geert Bosch <bosch@adacore.com>
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.
434 2011-08-01 Thomas Quinot <quinot@adacore.com>
436 * sem_ch3.adb: Minor reformatting.
438 2011-08-01 Ed Schonberg <schonberg@adacore.com>
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.
444 2011-08-01 Yannick Moy <moy@adacore.com>
446 * sinfo.ads, errout.ads: Typos in comments.
448 2011-08-01 Robert Dewar <dewar@adacore.com>
450 * par-endh.adb: Minor reformatting.
452 2011-08-01 Robert Dewar <dewar@adacore.com>
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
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
467 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
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
473 2011-08-01 Thomas Quinot <quinot@adacore.com>
475 * atree.ads: Minor reformatting.
476 * sem_prag.adb: Minor reformatting.
478 2011-08-01 Robert Dewar <dewar@adacore.com>
480 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
481 case expr alternative.
483 2011-08-01 Ed Schonberg <schonberg@adacore.com>
485 * sem_ch12.adb: Fix typo.
487 2011-08-01 Geert Bosch <bosch@adacore.com>
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
499 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
501 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
503 2011-08-01 Geert Bosch <bosch@adacore.com>
505 * cstand.adb: Fix comments.
506 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
509 2011-08-01 Robert Dewar <dewar@adacore.com>
511 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
513 2011-08-01 Geert Bosch <bosch@adacore.com>
515 * atree.ads: Fix comment.
517 2011-08-01 Robert Dewar <dewar@adacore.com>
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.
524 2011-08-01 Vincent Celier <celier@adacore.com>
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):
532 2011-08-01 Thomas Quinot <quinot@adacore.com>
534 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
537 2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
539 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
541 2011-08-01 Thomas Quinot <quinot@adacore.com>
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.
550 2011-08-01 Robert Dewar <dewar@adacore.com>
552 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
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.
559 2011-08-01 Robert Dewar <dewar@adacore.com>
561 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
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,
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.
577 2011-08-01 Robert Dewar <dewar@adacore.com>
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
588 2011-08-01 Robert Dewar <dewar@adacore.com>
590 * usage.adb: Documentation cleanup for Ada version modes in usage.
591 * expander.adb: Minor reformatting.
593 2011-08-01 Robert Dewar <dewar@adacore.com>
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.
599 2011-08-01 Doug Rupp <rupp@adacore.com>
601 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
602 pointers. Use descrip.h header file for convenience. Add some
605 2011-08-01 Robert Dewar <dewar@adacore.com>
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):
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.
616 2011-08-01 Pascal Obry <obry@adacore.com>
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.
622 2011-08-01 Vincent Celier <celier@adacore.com>
624 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
625 High is above Source length.
627 2011-08-01 Robert Dewar <dewar@adacore.com>
629 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
631 2011-08-01 Robert Dewar <dewar@adacore.com>
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
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.
645 2011-08-01 Matthew Heaney <heaney@adacore.com>
647 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
649 2011-08-01 Pascal Obry <obry@adacore.com>
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
656 2011-08-01 Gary Dismukes <dismukes@adacore.com>
658 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
660 2011-08-01 Matthew Heaney <heaney@adacore.com>
662 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
665 2011-08-01 Pascal Obry <obry@adacore.com>
667 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
670 2011-08-01 Ed Schonberg <schonberg@adacore.com>
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.
679 2011-08-01 Vincent Celier <celier@adacore.com>
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.
685 2011-08-01 Ed Schonberg <schonberg@adacore.com>
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.
691 2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
693 * init.c (__gnat_error_handler): Cast reason to int.
694 (__gnat_install_handler): Explain sa_sigaction use.
696 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
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.
702 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
704 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
705 left operand as addressable.
707 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
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.
724 2011-07-23 Arnaud Charlet <charlet@adacore.com>
727 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
730 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
738 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
745 2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
747 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
748 (GNAT1_OBJS): ...here.
750 2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
753 * g-socthi-mingw.adb (Fill): Fix formatting.
755 * gcc-interface/gigi.h: Move around comment.
757 2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
760 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
762 2011-07-14 Florian Weimer <fw@deneb.enyo.de>
765 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
767 2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
769 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
770 range comparison if Pmode is SImode.
772 2011-07-12 Laurent GUERBY <laurent@guerby.net>
773 Eric Botcazou <ebotcazou@adacore.com>
775 * adadecode.c: Wrap up in extern "C" block.
776 * adadecode.h: Likewise.
777 * adaint.c: Likewise. Remove 'const' keyword.
778 * adaint.h: Likewise.
782 * cstreams.c: Likewise.
788 * initialize.c: Likewise.
791 * nlists.h: Likewise.
794 * repinfo.h: Likewise.
795 * seh_init.c: Likewise.
796 * targext.c: Likewise.
797 * tracebak.c: 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.
813 2011-07-07 Richard Henderson <rth@redhat.com>
815 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
816 dwarf2out_frame_init.
818 2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
820 * gcc-interface/misc.c (gnat_init): Tweak previous change.
822 2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
825 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
827 2011-07-06 Richard Guenther <rguenther@suse.de>
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.
833 2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
834 Olivier Hainque <hainque@adacore.com>
835 Nicolas Setton <setton@adacore.com>
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.
842 2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
844 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
845 (gnatbind): Likewise.
847 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
849 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
851 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
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.
859 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
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.
864 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
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.
876 2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
879 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
881 2011-06-14 Joseph Myers <joseph@codesourcery.com>
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.
890 2011-06-07 Richard Guenther <rguenther@suse.de>
892 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
895 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
897 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
898 TREE_THIS_NOTRAP flag.
900 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
902 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
905 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
907 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
908 constants whose full view has discriminants specially.
910 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
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.
917 2011-05-25 Jakub Jelinek <jakub@redhat.com>
919 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
921 2011-05-25 Kai Tietz <ktietz@redhat.com>
923 * adaint.c (__gnat_to_canonical_file_list_next): Use array
924 initialization instead of const/none-const pointer assignment.
926 2011-05-24 Joseph Myers <joseph@codesourcery.com>
928 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
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.
936 2011-05-21 Joseph Myers <joseph@codesourcery.com>
939 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
941 2011-05-20 Joseph Myers <joseph@codesourcery.com>
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.
947 2011-05-18 Kai Tietz <ktietz@redhat.com>
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.
954 2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
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.
960 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
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
965 (create_subprog_type): Don't call build_function_type; call
966 build_function_type_vec instead.
968 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
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.
974 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
976 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
978 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
979 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
981 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
983 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
985 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
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.
991 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
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.
1000 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
1002 * gcc-interface/utils.c (begin_subprog_body): Do not call
1004 (end_subprog_body): Likewise.
1006 2011-05-04 Richard Guenther <rguenther@suse.de>
1008 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
1010 (pos_to_constructor): Likewise.
1012 2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1013 Eric Botcazou <ebotcazou@adacore.com>
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.
1021 2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
1023 * gnatvsn.ads (Library_Version): Bump to 4.7.
1024 (Current_Year): Bump to 2011.
1026 2011-04-29 Michael Matz <matz@suse.de>
1028 * gcc-interface/misc.c (gnat_handle_option): Set
1029 warn_maybe_uninitialized.
1031 2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
1033 * gnat_ugn.texi (Complexity Metrics Control): Update link to
1034 the Watson/McCabe paper.
1036 2011-04-23 Jim Meyering <meyering@redhat.com>
1038 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
1040 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
1042 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
1045 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
1047 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
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.
1063 2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
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).
1074 2011-04-20 Jim Meyering <meyering@redhat.com>
1076 * initialize.c (__gnat_initialize): Remove useless if-before-free.
1078 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
1080 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
1081 $(CFLAGS) on the link line.
1083 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
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.
1088 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
1090 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
1092 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
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.
1099 2011-04-12 Martin Jambor <mjambor@suse.cz>
1101 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
1102 instead of cgraph_node.
1104 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
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
1110 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
1112 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
1113 of aggregate types that contain a placeholder.
1115 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
1117 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
1119 (handle_type_generic_attribute): Likewise.
1121 2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
1124 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
1126 2011-04-04 Kai Tietz <ktietz@redhat.com>
1129 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
1132 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1134 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
1135 type case, do not strip a padding type around the array type.
1137 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1139 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
1142 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
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.
1149 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
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
1155 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1157 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
1158 DECL_ARTIFICIAL flag on enumeration types.
1160 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
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
1167 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
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
1184 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
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.
1196 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
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
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.
1206 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
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.
1213 2011-04-01 Olivier Hainque <hainque@adacore.com>
1214 Nicolas Setton <setton@adacore.com>
1215 Eric Botcazou <ebotcazou@adacore.com>
1217 * gcc-interface/misc.c (gnat_descriptive_type): New function.
1218 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
1220 2011-03-28 Kai Tietz <ktietz@redhat.com>
1222 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
1224 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
1225 * system-mingw.ads (System): Change ZCX_By_Default default to True.
1227 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
1229 2011-03-28 Tristan Gingold <gingold@adacore.com>
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.
1244 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
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.
1249 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
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
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.
1261 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
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.
1271 2011-03-25 Jeff Law <law@redhat.com>
1273 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
1275 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
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.
1287 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
1289 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
1290 non-conversion to the nominal result type at the end.
1292 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
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.
1301 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
1303 * gcc-interface/decl.c (validate_size): Improve comments and tweak
1305 (set_rm_size): Likewise.
1307 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
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.
1313 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
1316 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
1318 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
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.
1327 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
1329 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
1330 disabled, use the variable for bounds of loop iteration scheme.
1332 2011-03-21 Kai Tietz <ktietz@redhat.com>
1335 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
1337 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
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.
1343 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
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.
1350 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
1352 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
1353 its argument, except for the special -I- switch.
1355 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1357 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
1360 2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
1362 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
1364 2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
1366 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
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.
1378 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
1381 * targext.c: Include target files if IN_RTS is defined.
1383 2011-01-26 Richard Guenther <rguenther@suse.de>
1386 * targext.c: Include config.h.
1387 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
1390 2011-01-04 Pascal Obry <obry@adacore.com>
1391 Eric Botcazou <ebotcazou@adacore.com>
1393 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
1395 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
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.
1400 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1402 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
1403 expressions of the parameter cache within the statement group of
1406 2011-01-04 Olivier Hainque <hainque@adacore.com>
1407 Eric Botcazou <ebotcazou@adacore.com>
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.
1418 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1421 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
1422 variables that are referenced in exception handlers volatile.
1426 Copyright (C) 2011 Free Software Foundation, Inc.
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.