1 2011-08-02 Yannick Moy <moy@adacore.com>
3 * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
5 * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
6 matching static array bounds, taking into account the special case of
8 * sem_ch3.adb: Typo in comment.
10 2011-08-02 Yannick Moy <moy@adacore.com>
12 * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
13 which issues an error in formal mode if its argument node is originally
15 * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
16 has a discriminant specification so that it does not include the case
18 (Derived_Type_Declaration): move here the test that a derived type has a
19 discriminant specification
20 * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
21 first element of a component association before accessing its choices
22 (presence of component association is not enough)
23 * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
24 declaration is a library item before accessing the next element in a
25 list, as library items are not member of lists
26 * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
27 sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
28 Check_Formal_Restriction whenever possible.
30 2011-08-02 Ed Schonberg <schonberg@adacore.com>
32 * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
33 reference when needed.
35 2011-08-02 Bob Duff <duff@adacore.com>
37 * gnat_ugn.texi: Fix typo.
39 2011-08-02 Vincent Celier <celier@adacore.com>
41 * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
42 archive file name. Do not use the full path name of archives for Open
45 2011-08-02 Robert Dewar <dewar@adacore.com>
47 * sem_ch12.adb, sem_ch11.adb: New calling sequence for
48 Analyze_Aspect_Specifications
50 (Analyze_Aspect_Specifications): New handling for boolean aspects
51 * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
52 * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
53 sequence for Analyze_Aspect_Specifications
54 * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
55 * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
57 2011-08-02 Robert Dewar <dewar@adacore.com>
59 * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
60 aspects, since these no longer exist.
62 2011-08-02 Robert Dewar <dewar@adacore.com>
64 * par-ch13.adb (Aspect_Specifications_Present): Always return false on
65 semicolon, do not try to see if there are aspects following it.
66 * par-ch3.adb (P_Declarative_Items): Better message for unexpected
69 2011-08-02 Robert Dewar <dewar@adacore.com>
71 * sem_ch8.adb, aspects.ads: Minor reformatting.
73 2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
75 * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
76 * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
78 (Analyze_Aspect_Specifications): ...here. Call above procedure.
80 2011-08-02 Yannick Moy <moy@adacore.com>
82 * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
83 mode on subprogram declaration outside of package specification, unless
84 it is followed by a pragma Import
85 * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
86 Access_Type_Declaration): issue error in formal mode on access type
87 (Analyze_Incomplete_Type_Decl): issue error in formal mode on
89 (Analyze_Object_Declaration): issue error in formal mode on object
90 declaration which does not respect SPARK restrictions
91 (Analyze_Subtype_Declaration): issue error in formal mode on subtype
92 declaration which does not respect SPARK restrictions
93 (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
94 error in formal mode on digits or delta constraint
95 (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
96 decimal fixed point type
97 (Derived_Type_Declaration): issue error in formal mode on derived type
98 other than type extensions of tagged record types
99 * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
100 with check on access definition
101 * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
102 mode on protected definition.
103 (Analyze_Task_Definition): issue error in formal mode on task definition
105 2011-08-02 Robert Dewar <dewar@adacore.com>
107 * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
109 2011-08-02 Javier Miranda <miranda@adacore.com>
111 * sem_ch6.adb (Can_Override_Operator): New function.
112 (Verify_Overriding_Indicator): Add missing code to check overriding
113 indicator in operators. Fixes regression.
114 (Check_Overriding_Indicator): Minor reformating after replacing the
115 code that evaluates if the subprogram can override an operator by
116 invocations to the above new function.
118 (Write_Field26_Name): Add missing code to ensure that, following
119 the documentation in einfo.ads, this field is not shown as attribute
120 "Static_Initialization" on non-dispatching functions.
122 2011-08-02 Jose Ruiz <ruiz@adacore.com>
124 * sem_res.adb (Resolve_Call): A call to
125 Ada.Real_Time.Timing_Events.Set_Handler violates restriction
126 No_Relative_Delay (AI-0211) only when it sets a relative timing event,
127 i.e., when the second parameter is of type Time_Span.
129 2011-08-02 Vincent Celier <celier@adacore.com>
131 * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
132 with an archive instead of -L<library dir> -l<library name>.
134 2011-08-02 Ed Schonberg <schonberg@adacore.com>
136 * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
137 mark the base types In_Use in addition to making the operations
140 2011-08-02 Ed Falis <falis@adacore.com>
142 * init.c: add and setup __gnat_signal_mask for the exception signals
143 * s-inmaop-vxworks.adb: new file.
144 * s-intman-vxworks.adb: remove unnecessary initializations and
146 * s-intman-vxworks.ads: remove unnecessary variable
147 * s-taprop-vxworks.adb: simplify signal initialization
149 2011-08-02 Robert Dewar <dewar@adacore.com>
151 * sem_ch8.adb: Minor code reorganization, comment updates.
153 2011-08-02 Robert Dewar <dewar@adacore.com>
155 * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
156 * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
158 (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
159 (Matching_Static_Array_Bounds): Moved here from Sem_Res
161 2011-08-02 Ed Schonberg <schonberg@adacore.com>
163 * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
164 * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
165 * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
166 use_type_clauses, to handle more efficiently use_type and use_all_type
168 * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
169 Ada2012 Use_All_Type clause.
170 (Use_Class_Wide_Operations): new procedure.
172 2011-08-02 Robert Dewar <dewar@adacore.com>
174 * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
175 sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
176 expression to expression function.
178 2011-08-02 Ed Schonberg <schonberg@adacore.com>
180 * sem_ch4.adb: transform simple Ada2012 membership into equality only
181 if types are compatible.
183 2011-08-02 Yannick Moy <moy@adacore.com>
185 * sem_res.adb (Matching_Static_Array_Bounds): new function which
186 returns True if its argument array types have same dimension and same
187 static bounds at each index.
188 (Resolve_Actuals): issue an error in formal mode on actuals passed as
189 OUT or IN OUT paramaters which are not view conversions in SPARK.
190 (Resolve_Arithmetic_Op): issue an error in formal mode on
191 multiplication or division with operands of fixed point types which are
192 not qualified or explicitly converted.
193 (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
194 Boolean or array type (except String) operands.
195 (Resolve_Equality_Op): issue an error in formal mode on equality
196 operators for array types other than String with non-matching static
198 (Resolve_Logical_Op): issue an error in formal mode on logical operators
199 for array types with non-matching static bounds. Factorize the code in
200 Matching_Static_Array_Bounds.
201 (Resolve_Qualified_Expression): issue an error in formal mode on
202 qualified expressions for array types with non-matching static bounds.
203 (Resolve_Type_Conversion): issue an error in formal mode on type
204 conversion for array types with non-matching static bounds
206 2011-08-02 Robert Dewar <dewar@adacore.com>
208 * par-ch10.adb: Minor code reorganization (use Nkind_In).
210 2011-08-02 Ed Schonberg <schonberg@adacore.com>
212 * par-ch9.adb: save location of entry for proper error message.
214 2011-08-02 Javier Miranda <miranda@adacore.com>
216 * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
217 (Use_Full_View) which permits this routine to climb through the
218 ancestors using the full-view of private parents.
219 * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
220 Use_Full_View to true in calls to Is_Ancestor.
221 * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
222 true in call to Is_Ancestor.
223 * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
224 Use_Full_View to true in call to Is_Ancestor.
225 * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
227 * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
228 Use_Full_View to true in calls to Is_Ancestor.
229 * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
230 Make_Select_Specific_Data_Table, Register_Primitive,
231 Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
232 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
233 to true in call to Is_Ancestor.
234 * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
235 Use_Full_View to true in calls to Is_Ancestor.
237 (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
238 (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
240 2011-08-02 Robert Dewar <dewar@adacore.com>
242 * gnat_rm.texi: Minor reformatting.
243 * sem_prag.adb: Minor reformatting.
245 2011-08-02 Tristan Gingold <gingold@adacore.com>
247 * vms_data.ads: Add VMS qualifier for -gnateP.
249 2011-08-02 Robert Dewar <dewar@adacore.com>
251 * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
252 * par-ch7.adb (P_Package): Proper placement of aspects for package
254 * par-endh.adb (Check_End): Ad Is_Sloc parameter
255 (End_Statements): Add Is_Sloc parameterr
256 * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
257 (Check_End): Ad Is_Sloc parameter
258 (End_Statements): Add Is_Sloc parameterr
260 2011-08-02 Vincent Celier <celier@adacore.com>
262 * ug_words: Add VMS qualifier equivalent to -gnateP:
263 /SYMBOL_PREPROCESSING.
265 2011-08-02 Jose Ruiz <ruiz@adacore.com>
267 * gnat-style.texi: For hexadecimal numeric literals the typical
268 grouping of digits is 4 to represent 2 bytes.
269 A procedure spec which is split into several lines is indented two
272 2011-08-02 Yannick Moy <moy@adacore.com>
274 * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
275 * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
276 (Resolve_Aggregate): issue errors in formal modes when aggregate is not
278 (Resolve_Array_Aggregate): issue errors in formal modes on non-static
279 choice in array aggregate
280 (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
282 (Resolve_Record_Aggregate): issue errors in formal modes on mixed
283 positional and named aggregate for record, or others in record
284 aggregate, or multiple choice in record aggregate
285 * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
286 array operands to logical operations AND, OR and XOR do not have the
287 same static lower and higher bounds
288 * sem_ch5.adb, sinfo.ads: Correct typos in comments
290 2011-08-01 Robert Dewar <dewar@adacore.com>
292 * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
293 Replaces Last_Source_Node_In_Sequence.
294 * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
295 * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
296 parens and blank in string (this was inconsistently implemented).
298 (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
299 blank in string (this was inconsistently implemented).
301 (Set_Global_Switches): Set formal mode switches appropriately
302 * opt.ads, opt.adb: Formal mode is now global switches, more consistent
304 (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
305 call Set_Error_Msg_Lang to set "spark" as language name.
306 * par.adb: Remove unnecessary call to set formal language for errout
307 * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
308 appropriately and call Set_Error_Msg_Lang to set "spark" as language
310 * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
311 calls to it, moved after resolution so that types are known
312 * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
313 result of concatenation is not of type String
314 (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
315 concatenation is not properly restricted
316 * gnat_rm.texi: Add doc on pragma Spark_95.
317 * gcc-interface/Makefile.in: Remove obsolete target pairs for
318 Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
319 * gcc-interface/Make-lang.in: Update dependencies.
321 2011-08-01 Javier Miranda <miranda@adacore.com>
323 * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
324 condition that detects if the overridden operation must replace an
327 2011-08-01 Javier Miranda <miranda@adacore.com>
329 * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
330 code declarations inserted by Insert_Actions in each alternative of the
331 N_Case_Expression node.
333 2011-08-01 Robert Dewar <dewar@adacore.com>
335 * sem_ch6.adb: Minor code reorganization.
336 * sem_util.adb: Minor reformatting.
338 2011-08-01 Pascal Obry <obry@adacore.com>
340 * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
341 * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
343 2011-08-01 Yannick Moy <moy@adacore.com>
345 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
346 literal or operator symbol which is prefixed
347 * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
348 mode on access attributes.
349 * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
350 that concatenation operands are properly restricted in formal mode
351 (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
352 Analyze_Concatenation_Operand. Issue an error in formal mode if the
353 result of the concatenation has a type different from String.
354 (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
355 Analyze_Quantified_Expression, Analyze_Slice,
356 Analyze_Null): issue an error in formal mode on unsupported constructs
358 (Analyze_Block_Statement): only issue error on source block statement
359 * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
360 function which returns the last node in a list of nodes for which
361 Comes_From_Source returns True, if any
362 * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
363 Last_Source_Node_In_Sequence
364 * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
365 Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
366 mode on unsupported constructs
367 * sem_ch9.adb Do not return after issuing error in formal mode, as the
368 rest of the actions may be needed later on since the error is marked as
370 * sinfo.ads: Typos in comments.
372 2011-08-01 Pascal Obry <obry@adacore.com>
374 * projects.texi: Minor editing.
376 2011-08-01 Yannick Moy <moy@adacore.com>
378 * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
379 insertion character ~~
380 * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
381 (Set_Error_Msg_Lang): new procedure which fixes the language for use
382 with insertion character ~~
383 (Set_Msg_Text): treat insertion character ~~
384 * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
385 sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
386 Formal_Error_Msg_... procedures by equivalent Error_Msg_...
387 procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
388 errors related to the formal language restriction not serious
389 (insertion character |).
390 * par.adb (Par): set formal language for error messages if needed
391 * sem_ch6.adb (Check_Missing_Return): take into account possible
392 generated statements at the end of the function
393 * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
394 enumeration value to define a new pragma SPARK_95
395 * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
396 SPARK_Version): new type and variables to store the SPARK version
398 (SPARK_Mode): return True when SPARK_Version is set
399 * par-prag.adb: Correct indentation
400 (Prag): take Pragma_SPARK_95 into account
401 * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
404 2011-08-01 Robert Dewar <dewar@adacore.com>
406 * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
407 sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
408 sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
410 2011-08-01 Pascal Obry <obry@adacore.com>
412 * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
413 Target_Name to Get_Path call.
414 (Parse_Single_Project): Likewise.
415 (Post_Parse_Context_Clause): Likewise.
416 * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
417 Call Initialise_Project_Path with the proper Target_Name.
418 (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
420 (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
421 with the proper Target_Name.
422 * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
424 (Parse_Project_And_Apply_Config): Likewise.
425 * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
426 This is fine as this part of the code is supporting only native
428 * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
429 is fine as this part of the code is supporting only native compilation.
431 2011-08-01 Yannick Moy <moy@adacore.com>
433 * sem_util.adb (Enter_Name): issue error in formal mode on declaration
434 of homonym, unless the homonym is one of the cases allowed in SPARK
435 * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
436 package declaration occurring after a body.
438 2011-08-01 Robert Dewar <dewar@adacore.com>
440 * checks.adb, exp_ch4.adb: Minor reformatting.
442 2011-08-01 Javier Miranda <miranda@adacore.com>
444 * einfo.ads (Access_Disp_Table): Fix documentation.
445 (Dispatch_Table_Wrappers): Fix documentation.
447 2011-08-01 Pascal Obry <obry@adacore.com>
449 * prj-env.adb, prj-env.ads: Minor reformatting.
451 2011-08-01 Yannick Moy <moy@adacore.com>
453 * sem_util.ads, sem_util.adb, par.adb, par_util.adb
454 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
455 procedures out of these packages.
456 * errout.ads, errout.adb
457 (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
458 procedures in of this package
459 (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
460 * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
461 on misplaced later vs initial declarations, like in Ada 83
462 * sem_attr.adb (Processing for Analyze_Attribute): issue error in
463 formal mode on attribute of private type whose full type declaration
465 * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
466 package declaration inside a package specification
467 (Analyze_Full_Type_Declaration): issue error in formal mode on
468 controlled type or discriminant type
469 * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
470 user-defined operator means that it should come from the source
471 (New_Overloaded_Entity): issue error in formal mode on overloaded
473 * sem_ch6.ads, sem_ch13.ads: typos in comments.
475 2011-08-01 Thomas Quinot <quinot@adacore.com>
477 * atree.adb: Minor reformatting.
478 * checks.adb: Minor reformatting.
480 2011-08-01 Vincent Celier <celier@adacore.com>
482 * s-parame-vms-ia64.ads: Fix typo in comment
484 * s-parame-vms-restrict.ads: Removed, unused.
486 2011-08-01 Javier Miranda <miranda@adacore.com>
489 (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
491 (Constrain_Index): Remove side effects in the evaluation of the bounds.
492 * sem_ch3.ads, sem_ch3.adb
493 (Is_Constant_Bound): New extended version of the subprogram that was
494 previously located inside function Exp_Ch3.Is_Variable_Size_Array.
495 Moved here since it is shared by routines of sem_ch3 and exp_ch3.
496 * sem_aux.ads (Constant_Value): Fix typo in comment.
497 * checks.adb (Generate_Index_Checks): New implementation which, for
498 array objects with constant bounds, generates the runtime check
499 referencing the bounds of the array type. For other cases this routine
500 provides its previous behavior obtaining such values from the array
502 * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
504 * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
505 we cannot have semantic interpretations of the new node.
507 2011-08-01 Ed Schonberg <schonberg@adacore.com>
509 * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
512 2011-08-01 Arnaud Charlet <charlet@adacore.com>
514 * sem_ch8.adb: Minor code editing.
515 * s-vxwext.adb: Remove trailing space.
516 * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
517 consistency with other files.
519 2011-08-01 Thomas Quinot <quinot@adacore.com>
521 * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
523 2011-08-01 Ed Schonberg <schonberg@adacore.com>
525 * par-ch10.adb: reject parameterized expressions as compilation unit.
526 * sem_ch4.adb: handle properly conditional expression with overloaded
527 then_clause and no else_clause.
529 2011-08-01 Tristan Gingold <gingold@adacore.com>
531 * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
532 like done by System.Aux_DEC.
533 * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
535 2011-08-01 Yannick Moy <moy@adacore.com>
537 * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
538 missing label at end of declaration (subprogram or package)
539 * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
540 of positional and named parameter association
541 * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
542 Error_Msg_SP which adds a prefix to the error message giving the name
543 of the formal language analyzed
544 * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
545 access result type in subprogram, unconstrained array as result type,.
546 (Analyze_Subprogram_Declaration): issue an error in formal mode for null
548 * sem_ch8.adb: Code clean up.
550 2011-08-01 Javier Miranda <miranda@adacore.com>
552 * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
553 * einfo.ads (Access_Disp_Table): Fix documentation.
554 (Dispatch_Table_Wrappers): Fix documentation.
555 * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
556 Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
557 to enforce the documentation of this attribute.
558 (Set_Is_Interface): Cleanup the assertion.
559 * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
560 the Underlying_Type entity before reading attribute Access_Disp_Table.
561 * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
562 Locate the Underlying_Type before reading attribute Access_Disp_Table.
563 * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
564 the Underlying_Type entity before reading attribute Access_Disp_Table.
565 * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
566 Locate the Underlying_Type entity before reading attribute
569 2011-08-01 Ed Schonberg <schonberg@adacore.com>
571 * s-poosiz.ads: Additional overriding indicators.
573 2011-08-01 Yannick Moy <moy@adacore.com>
575 * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
577 (Analyze_Iteration_Scheme): issue error in formal mode when loop
578 parameter specification does not include a subtype mark.
579 * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
580 formal mode on abstract subprogram.
581 (Analyze_Subprogram_Specification): issue error in formal mode on
582 user-defined operator.
583 (Process_Formals): issue error in formal mode on access parameter and
585 * sem_ch9.adb (Analyze_Abort_Statement,
586 Analyze_Accept_Statement, Analyze_Asynchronous_Select,
587 Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
588 Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
589 Analyze_Requeue, Analyze_Selective_Accept,
590 Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
591 * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
592 issue error in formal mode on user-defined raise statement.
594 2011-08-01 Thomas Quinot <quinot@adacore.com>
596 * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
597 declaration being hidden when overriding an implicit inherited
599 * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
600 (-gnats), do not complain about a source file that contains only a
603 2011-08-01 Ed Schonberg <schonberg@adacore.com>
605 * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
606 variable if already set.
608 2011-08-01 Arnaud Charlet <charlet@adacore.com>
610 * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
611 g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
612 s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
613 g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
614 g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
615 g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
616 g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
617 g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
618 g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
619 g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
620 g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
621 s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
622 g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
623 s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
624 g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
625 g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
626 g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
627 g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
628 g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
629 g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
630 s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
631 s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
632 a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
633 s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
634 s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
635 g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
636 g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
637 g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
638 g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
639 g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
640 g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
641 s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
642 s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
643 g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
644 g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
645 s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
646 s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
647 g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
648 g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
649 g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
650 s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
651 g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
652 g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
653 g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
654 s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
655 g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
656 g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
657 g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
658 s-osinte-mingw.ads: Update to GPLv3 run-time license.
659 Use GNAT instead of GNARL.
661 2011-08-01 Bob Duff <duff@adacore.com>
663 * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
664 a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
665 a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
668 2011-08-01 Yannick Moy <moy@adacore.com>
670 * debug.adb (d.D) reverve flag for the SPARK mode
671 (d.E) reverve flag for SPARK generation mode
672 (d.F) reverve flag for Why generation mode
673 * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
674 ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
675 functions which return True when the corresponding modes are set
676 (Formal_Language): return "spark" or "alfa" when in formal verification
678 * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
679 Error_Msg to prefix the error message with a tag giving the formal
681 (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
682 message with a tag giving the formal language
683 * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
685 (Analyze_Case_Statement): issue error in formal mode on case statement
686 with a single "others" case alternative
687 (Analyze_Exit_Statement): issue errors in formal mode on exit
688 statements which do not respect SPARK restrictions
689 (Analyze_Goto_Statement): issue error in formal mode on goto statement
690 (Check_Unreachable_Code): always issue an error (not a warning) in
691 formal mode on unreachable code (concerns both code after an infinite
692 loop and after an unconditional jump, both not allowed in SPARK)
693 * sem_ch6.adb (Analyze_Return_Statement): add call to
694 Set_Return_Present for a procedure containing a return statement
695 (already done for functions in Analyze_Function_Return)
696 (Analyze_Function_Return): issue error in formal mode on extended
697 return or if return is not last statement in function
698 (Check_Missing_Return): issue error in formal mode if function does
699 not end with return or if procedure contains a return
700 * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
701 function to detect if there is an inner scope of its parameter S which
704 2011-08-01 Thomas Quinot <quinot@adacore.com>
706 * sem_ch6.ads: Minor reformatting.
708 2011-08-01 Javier Miranda <miranda@adacore.com>
710 * sem_util.adb (Abstract_Interface_List): Complete condition when
711 processing private type declarations to avoid reading unavailable
713 (Is_Synchronized_Tagged_Type): Complete condition when processing
714 private extension declaration nodes to avoid reading unavailable
717 2011-08-01 Thomas Quinot <quinot@adacore.com>
719 * sem_ch3.adb: Minor reformatting.
721 2011-08-01 Thomas Quinot <quinot@adacore.com>
723 * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
724 i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
725 s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
726 s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
727 for VMS, instead parametrize the common implementation with
728 System.Parameters declarations.
730 2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
732 * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
734 2011-08-01 Tristan Gingold <gingold@adacore.com>
736 * seh_init.c: Fix SEH handler installation on win64.
738 2011-08-01 Ed Schonberg <schonberg@adacore.com>
740 * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
741 double analysis of an anonymous access to subprogram, because it can
742 lead to improper sharing of profiles and a back-end crash.
744 2011-08-01 Robert Dewar <dewar@adacore.com>
746 * make.adb, sem_ch4.adb: Minor reformatting.
747 * gcc-interface/Make-lang.in: Update dependencies.
748 * sem_util.adb, exp_ch5.adb: Minor reformatting.
750 2011-08-01 Arnaud Charlet <charlet@adacore.com>
752 * gnat_rm.texi: Fix definition of Long_Integer.
754 2011-08-01 Ed Schonberg <schonberg@adacore.com>
756 * exp_aggr.adb: check limit size of static aggregate unconditionally,
757 to prevent storage exhaustion.
758 * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
759 finalized is a function body, insert the cleanup code before the final
760 return statement, to prevent spurious warnings.
761 * s-pooglo.ads: add overriding indicator.
763 2011-08-01 Ed Schonberg <schonberg@adacore.com>
765 * sem_ch4.adb (Operator_Check): improve error message when both a
766 with_clause and a use_clause are needed to make operator usage legal.
767 * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
768 determine whether a compilation unit is visible within an other,
769 either through a with_clause in the current unit, or a with_clause in
770 its library unit or one one of its parents.
772 2011-08-01 Ed Schonberg <schonberg@adacore.com>
774 * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
775 over an arbitrary expression of an array or container type.
776 * lib-xref.adb: clarify comment.
778 2011-08-01 Bob Duff <duff@adacore.com>
780 * einfo.ads: Minor reformatting.
781 * debug.adb: Minor comment improvement.
783 2011-08-01 Javier Miranda <miranda@adacore.com>
785 * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
786 consider hidden subprograms as valid candidates.
788 2011-08-01 Arnaud Charlet <charlet@adacore.com>
790 * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
792 2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
794 * gnat_ugn.texi: Fix typo.
796 2011-08-01 Robert Dewar <dewar@adacore.com>
798 * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
799 lib-xref.adb: Minor reformatting
801 2011-08-01 Gary Dismukes <dismukes@adacore.com>
803 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
804 when to generate a call to Move_Final_List.
805 (Has_Controlled_Parts): Remove this function.
807 2011-08-01 Geert Bosch <bosch@adacore.com>
809 * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
812 2011-08-01 Thomas Quinot <quinot@adacore.com>
814 * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
815 explicit raise of a predefined exception as Comes_From_Source if the
816 original N_Raise_Statement comes from source.
818 2011-08-01 Robert Dewar <dewar@adacore.com>
820 * sinfo.ads: Add comment.
821 * sem_ch6.adb: Minor reformatting.
823 2011-08-01 Robert Dewar <dewar@adacore.com>
825 * freeze.adb (Freeze_Entity): Refine check for bad component size
826 clause to avoid rejecting confirming clause when atomic/aliased present.
828 2011-08-01 Ed Schonberg <schonberg@adacore.com>
830 * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
831 better determine whether an entity reference is a write.
832 * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
834 * lib-xref.adb (Output_References): Do no suppress a read reference at
835 the same location as an immediately preceeding modify-reference, to
836 handle properly in-out actuals.
838 2011-08-01 Tristan Gingold <gingold@adacore.com>
840 * env.c (__gnat_setenv) [VMS]: Refine previous change.
842 2011-08-01 Quentin Ochem <ochem@adacore.com>
844 * i-cstrin.adb (New_String): Changed implementation, now uses only the
845 heap to compute the result.
847 2011-08-01 Robert Dewar <dewar@adacore.com>
849 * atree.ads: Minor reformatting.
851 2011-08-01 Emmanuel Briot <briot@adacore.com>
853 * g-expect.adb (Get_Command_Output): Fix memory leak.
855 2011-08-01 Geert Bosch <bosch@adacore.com>
857 * cstand.adb (P_Float_Type): New procedure to print the definition of
858 predefined fpt types.
859 (P_Mixed_Name): New procedure to print a name using mixed case
860 (Print_Standard): Use P_Float_Type for printing floating point types
861 * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
862 precision IEEE float.
864 2011-08-01 Thomas Quinot <quinot@adacore.com>
866 * sem_ch3.adb: Minor reformatting.
868 2011-08-01 Ed Schonberg <schonberg@adacore.com>
870 * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
871 the completion of a generic function, insert the new body rather than
872 rewriting the original.
874 2011-08-01 Yannick Moy <moy@adacore.com>
876 * sinfo.ads, errout.ads: Typos in comments.
878 2011-08-01 Robert Dewar <dewar@adacore.com>
880 * par-endh.adb: Minor reformatting.
882 2011-08-01 Robert Dewar <dewar@adacore.com>
884 * aspects.ads, aspects.adb: Add aspects for library unit pragmas
885 (Pre_Post_Aspects): New subtype.
886 * par-ch12.adb (P_Generic): New syntax for aspects in packages
887 * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
888 * par-ch7.adb (P_Package): Remove Decl parameter
889 (P_Package): Handle new syntax for aspects (before IS)
890 * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
892 (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
893 * par.adb (P_Aspect_Specifications): Add Semicolon parameter
894 (P_Package): Remove Decl parameter
895 * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
897 * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
899 * sem_util.ads, sem_util.adb (Static_Boolean): New function
900 * sinfo.ads: Document new syntax for aspects in packages etc.
901 * sprint.adb: Handle new syntax of aspects before IS in package
903 2011-08-01 Thomas Quinot <quinot@adacore.com>
905 * atree.ads: Minor reformatting.
906 * sem_prag.adb: Minor reformatting.
908 2011-08-01 Robert Dewar <dewar@adacore.com>
910 * exp_util.adb (Insert_Actions): Fix error in handling Actions for
911 case expr alternative.
913 2011-08-01 Ed Schonberg <schonberg@adacore.com>
915 * sem_ch12.adb: Fix typo.
917 2011-08-01 Geert Bosch <bosch@adacore.com>
919 * sem_prag.adb (Check_No_Link_Name): New procedure.
920 (Process_Import_Or_Interface): Use Check_No_Link_Name.
921 * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
922 instead of Standard_Long_Long_Float_Size global. Preparation for
923 eventual removal of per type constants.
924 * exp_util.ads (Get_Stream_Size): New function returning the stream
925 size value of subtype E.
926 * exp_util.adb (Get_Stream_Size): Implement new function.
927 * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
929 * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
931 (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
933 2011-08-01 Geert Bosch <bosch@adacore.com>
935 * cstand.adb: Fix comments.
936 * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
939 2011-08-01 Robert Dewar <dewar@adacore.com>
941 * exp_ch4.adb, sem_cat.adb: Minor reformatting.
943 2011-08-01 Geert Bosch <bosch@adacore.com>
945 * atree.ads: Fix comment.
947 2011-08-01 Robert Dewar <dewar@adacore.com>
949 * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
950 * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
951 * par.adb: Add with for Namet.Sp.
952 * par-tchk.adb: Minor reformatting.
954 2011-08-01 Vincent Celier <celier@adacore.com>
956 * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
957 (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
958 of the init procedure of a SAL.
959 * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
962 2011-08-01 Thomas Quinot <quinot@adacore.com>
964 * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
967 2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
969 * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
971 2011-08-01 Thomas Quinot <quinot@adacore.com>
973 * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
974 conformant with its spec (return True only for types that have
975 an overriding Initialize primitive operation that prevents them from
976 having preelaborable initialization).
977 * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
978 initialization for controlled types in Ada 2005 or later mode.
980 2011-08-01 Robert Dewar <dewar@adacore.com>
982 * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
984 (Same_Aspect): New function.
985 * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
986 Type_Invariant, Precondition, Postcondition.
987 * snames.ads-tmpl: Add Name_Type_Invariant.
989 2011-08-01 Robert Dewar <dewar@adacore.com>
991 * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
993 (Freeze_All_Ent): Fix error in handling inherited aspects.
994 * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
995 already analyzed, but don't skip entire processing of a declaration,
996 that's wrong in some cases of declarations being rewritten.
997 (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
998 Don't delay for integer, string literals
999 Treat predicates in usual manner for delay, remove special case code,
1001 (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
1002 (Build_Predicate_Function): Update saved expression in aspect
1003 (Build_Invariant_Procedure): Update saved expression in aspect
1004 * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
1005 of replacement of discriminant references if the reference is simple.
1007 2011-08-01 Robert Dewar <dewar@adacore.com>
1009 * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
1010 * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
1011 Static_Predicate and Dynamic_Predicate.
1012 (Build_Predicate_Function): Add processing for Static_Predicate
1013 and Dynamic_Predicate.
1014 * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
1015 (From_Static_Predicate): New flag
1016 * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
1018 2011-08-01 Robert Dewar <dewar@adacore.com>
1020 * usage.adb: Documentation cleanup for Ada version modes in usage.
1021 * expander.adb: Minor reformatting.
1023 2011-08-01 Robert Dewar <dewar@adacore.com>
1025 * atree.ads: Minor comment fix.
1026 * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
1027 a-witeio.ads, sem_prag.adb: Minor reformatting.
1029 2011-08-01 Doug Rupp <rupp@adacore.com>
1031 * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
1032 pointers. Use descrip.h header file for convenience. Add some
1035 2011-08-01 Robert Dewar <dewar@adacore.com>
1037 * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
1038 (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
1039 * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
1041 (Check_Aspect_At_End_Of_Declarations): New procedure
1042 (Analye_Aspect_Specification): Minor changes for above procedures
1043 * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
1044 specification node as well.
1046 2011-08-01 Pascal Obry <obry@adacore.com>
1048 * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
1049 Windows files. Use GetFilesAttributes() in this case to check for file
1050 existence instead of returning with an error code.
1052 2011-08-01 Vincent Celier <celier@adacore.com>
1054 * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
1055 High is above Source length.
1057 2011-08-01 Robert Dewar <dewar@adacore.com>
1059 * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
1061 2011-08-01 Robert Dewar <dewar@adacore.com>
1063 * aspects.ads (Boolean_Aspects): New subtype.
1064 * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
1065 for derived types in cases where the parent type and derived type have
1067 * freeze.adb (Freeze_Entity): Fix problems in handling derived type
1068 with aspects when parent type also has aspects.
1069 (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
1070 boolean expression at this point).
1071 * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
1072 accordance with final decision on the Ada 2012 feature.
1073 * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
1075 2011-08-01 Matthew Heaney <heaney@adacore.com>
1077 * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
1079 2011-08-01 Pascal Obry <obry@adacore.com>
1081 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
1082 Fix Replace_Slice when High is above current string size.
1083 (Replace_Slice): Fix DL computation when High is above current
1086 2011-08-01 Gary Dismukes <dismukes@adacore.com>
1088 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
1090 2011-08-01 Matthew Heaney <heaney@adacore.com>
1092 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
1095 2011-08-01 Pascal Obry <obry@adacore.com>
1097 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
1100 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1102 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
1103 access to protected subprograms in generic bodies.
1104 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
1105 protected type, indicate that the convention of the subprogram is
1106 Convention_Protected, because it may be used in subsequent declarations
1107 within the protected declaration.
1109 2011-08-01 Vincent Celier <celier@adacore.com>
1111 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
1112 and "final" procedures when the name of the library is "ada", to avoid
1113 duplicate symbols "adainit" and "adafinal" in executables.
1115 2011-08-01 Ed Schonberg <schonberg@adacore.com>
1117 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
1118 quantified expression that appears within a postcondition and uses the
1119 Ada2012 'Result attribute.
1121 2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1123 * init.c (__gnat_error_handler): Cast reason to int.
1124 (__gnat_install_handler): Explain sa_sigaction use.
1126 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1128 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
1129 subprogram has copy-in copy-out parameters, try to promote the mode of
1130 the return type if it is passed in registers.
1132 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1134 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
1135 left operand as addressable.
1137 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
1139 * gcc-interface/gigi.h (build_function_stub): Remove.
1140 (build_return_expr): Likewise.
1141 (convert_vms_descriptor): Declare.
1142 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
1143 (build_function_stub): Move to...
1144 * gcc-interface/utils2.c (build_return_expr): Move to...
1145 * gcc-interface/trans.c (build_function_stub): ...here.
1146 (build_return_expr): ...here.
1147 (Subprogram_Body_to_gnu): Add local variable for language_function.
1148 Disconnect the parameter attributes cache, if any, once done with it.
1149 Call end_subprog_body only after setting the end_locus.
1150 Build the stub associated with the function, if any, at the very end.
1151 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
1152 variables and streamline control flow.
1154 2011-07-23 Arnaud Charlet <charlet@adacore.com>
1157 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
1160 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1163 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
1164 Assign to act.sa_sigaction.
1165 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
1166 current->return_address to char * before arithmetic.
1168 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1170 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
1171 Correct argument types.
1172 Extract code from reason.
1173 (__gnat_install_handler): Assign to act.sa_sigaction.
1175 2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
1177 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
1178 (GNAT1_OBJS): ...here.
1180 2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
1183 * g-socthi-mingw.adb (Fill): Fix formatting.
1185 * gcc-interface/gigi.h: Move around comment.
1187 2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1190 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
1192 2011-07-14 Florian Weimer <fw@deneb.enyo.de>
1195 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
1197 2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
1199 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
1200 range comparison if Pmode is SImode.
1202 2011-07-12 Laurent GUERBY <laurent@guerby.net>
1203 Eric Botcazou <ebotcazou@adacore.com>
1205 * adadecode.c: Wrap up in extern "C" block.
1206 * adadecode.h: Likewise.
1207 * adaint.c: Likewise. Remove 'const' keyword.
1208 * adaint.h: Likewise.
1210 * atree.h: Likewise.
1212 * cstreams.c: Likewise.
1216 * final.c: Likewise.
1218 * initialize.c: Likewise.
1220 * namet.h: Likewise.
1221 * nlists.h: Likewise.
1222 * raise.c: Likewise.
1223 * raise.h: Likewise.
1224 * repinfo.h: Likewise.
1225 * seh_init.c: Likewise.
1226 * targext.c: Likewise.
1227 * tracebak.c: Likewise.
1228 * uintp.h: Likewise.
1229 * urealp.h: Likewise.
1230 * xeinfo.adb: Wrap up generated C code in extern "C" block.
1231 * xsinfo.adb: Likewise.
1232 * xsnamest.adb: Likewise.
1233 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
1234 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
1235 * gcc-interface/misc.c: Likewise.
1236 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
1237 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
1238 ada/targext.o here...
1239 (GNAT_ADA_OBJS): ...and not here.
1240 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
1241 (GNATBIND_OBJS): Reorder.
1243 2011-07-07 Richard Henderson <rth@redhat.com>
1245 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1246 dwarf2out_frame_init.
1248 2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
1250 * gcc-interface/misc.c (gnat_init): Tweak previous change.
1252 2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1255 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
1257 2011-07-06 Richard Guenther <rguenther@suse.de>
1259 * gcc-interface/misc.c (gnat_init): Merge calls to
1260 build_common_tree_nodes and build_common_tree_nodes_2.
1261 Re-initialize boolean_false_node.
1263 2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
1264 Olivier Hainque <hainque@adacore.com>
1265 Nicolas Setton <setton@adacore.com>
1267 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
1268 the type according to the ARTIFICIAL_P parameter.
1269 (create_type_decl): Likewise.
1270 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
1272 2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
1274 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
1275 (gnatbind): Likewise.
1277 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1279 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
1281 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
1283 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
1284 local variable throughout. Remove useless call to Base_Type.
1285 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
1286 Take it also into account for the volatileness of the field. Set the
1287 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
1289 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
1291 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
1292 on a dereference built for a by-ref object if it has an address clause.
1294 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
1296 * einfo.ads (Address_Taken): Document use for the second argument of
1297 Asm_Input and Asm_Output attributes.
1298 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
1299 argument is an entity name, then set Address_Taken on it.
1300 <Attribute_Asm_Output>: Likewise.
1301 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
1302 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
1303 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
1304 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
1306 2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
1309 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
1311 2011-06-14 Joseph Myers <joseph@codesourcery.com>
1313 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
1314 (ada/utils.o): Update dependencies.
1315 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
1316 ../../../libcpp/libcpp.a.
1317 * gcc-interface/utils.c: Include common/common-target.h.
1318 (process_attributes): Use targetm_common.have_named_sections.
1320 2011-06-07 Richard Guenther <rguenther@suse.de>
1322 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
1325 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1327 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
1328 TREE_THIS_NOTRAP flag.
1330 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1332 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
1335 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1337 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
1338 constants whose full view has discriminants specially.
1340 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
1342 * gcc-interface/utils.c: Include diagnostic.h.
1343 (gnat_write_global_declarations): Output debug information for all
1344 global type declarations before finalizing the compilation unit.
1345 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
1347 2011-05-25 Jakub Jelinek <jakub@redhat.com>
1349 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
1351 2011-05-25 Kai Tietz <ktietz@redhat.com>
1353 * adaint.c (__gnat_to_canonical_file_list_next): Use array
1354 initialization instead of const/none-const pointer assignment.
1356 2011-05-24 Joseph Myers <joseph@codesourcery.com>
1358 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
1359 $(EXTRA_GNAT1_OBJS).
1360 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
1361 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
1362 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
1363 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
1364 libcommon-target.a instead of prefix.o.
1366 2011-05-21 Joseph Myers <joseph@codesourcery.com>
1369 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
1371 2011-05-20 Joseph Myers <joseph@codesourcery.com>
1373 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
1374 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
1375 instead of version.o.
1377 2011-05-18 Kai Tietz <ktietz@redhat.com>
1379 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
1380 boolean_false_node instead of integer_zero_node.
1381 (convert_with_check): Likewise.
1382 * gcc-interface/decl.c (choices_to_gnu): Likewise.
1384 2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
1386 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
1387 type of the parameter is an unconstrained array, convert the actual to
1388 the type of the formal in the In Out and Out cases as well.
1390 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
1392 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
1393 call build_function_type_array or build_varargs_function_type_array
1395 (create_subprog_type): Don't call build_function_type; call
1396 build_function_type_vec instead.
1398 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
1400 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
1401 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
1402 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
1404 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
1406 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
1408 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
1409 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
1411 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1413 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
1415 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1417 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
1418 instead of accessing TYPE_ARG_TYPES directly.
1419 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
1421 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
1424 * gcc-interface/gigi.h (get_variant_part): Declare.
1425 * gcc-interface/decl.c (get_variant_part): Make global.
1426 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
1427 types have the same constant size, are record types and T1 has a
1428 variant part while T2 doesn't.
1430 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
1432 * gcc-interface/utils.c (begin_subprog_body): Do not call
1434 (end_subprog_body): Likewise.
1436 2011-05-04 Richard Guenther <rguenther@suse.de>
1438 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
1440 (pos_to_constructor): Likewise.
1442 2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1443 Eric Botcazou <ebotcazou@adacore.com>
1445 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
1446 of build_function_type. Adjust calls to...
1447 (build_raise_check): ...this. Do not take a void_tree parameter.
1448 Call build_function_type_list instead of build_function_type.
1449 Fix head comment and swap couple of conditional blocks.
1451 2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
1453 * gnatvsn.ads (Library_Version): Bump to 4.7.
1454 (Current_Year): Bump to 2011.
1456 2011-04-29 Michael Matz <matz@suse.de>
1458 * gcc-interface/misc.c (gnat_handle_option): Set
1459 warn_maybe_uninitialized.
1461 2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
1463 * gnat_ugn.texi (Complexity Metrics Control): Update link to
1464 the Watson/McCabe paper.
1466 2011-04-23 Jim Meyering <meyering@redhat.com>
1468 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
1470 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
1472 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
1475 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
1477 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
1479 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
1480 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
1481 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
1482 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
1483 <all>: Do not set flags on the reused DECL node coming from an alias.
1484 Set DECL_IGNORED_P on the DECL node built for subprograms if they
1485 don't need debug info here...
1486 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
1487 (gigi): Adjust calls to create_subprog_decl.
1488 (build_raise_check): Likewise.
1489 (establish_gnat_vms_condition_handler): Likewise.
1490 (Compilation_Unit_to_gnu): Likewise.
1491 (gnat_to_gnu): Likewise.
1493 2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
1495 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
1496 (NO_REORDER_ADAFLAGS): New variable.
1497 (EXTRA_GNATTOOLS): Always define.
1498 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
1499 Clean up and adjust list of files compiled with special options.
1500 * gcc-interface/Make-lang.in: Likewise.
1501 (ada/decl.o): Cosmetical change.
1502 (ada/misc.o): Remove dependency on $(PLUGIN_H).
1504 2011-04-20 Jim Meyering <meyering@redhat.com>
1506 * initialize.c (__gnat_initialize): Remove useless if-before-free.
1508 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
1510 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
1511 $(CFLAGS) on the link line.
1513 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
1515 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
1516 padded type built for the return type if it is unconstrained.
1518 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
1520 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
1522 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
1524 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
1525 before calling TREE_CHAIN.
1526 * gcc-interface/misc.c (gnat_init_ts): New function.
1527 (LANG_HOOKS_INIT_TS): Define.
1529 2011-04-12 Martin Jambor <mjambor@suse.cz>
1531 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
1532 instead of cgraph_node.
1534 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
1536 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
1537 alignment on fields of the RETURN type built for the Copy-In Copy-Out
1540 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
1542 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
1543 of aggregate types that contain a placeholder.
1545 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
1547 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
1549 (handle_type_generic_attribute): Likewise.
1551 2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
1554 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
1556 2011-04-04 Kai Tietz <ktietz@redhat.com>
1559 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
1562 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1564 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
1565 type case, do not strip a padding type around the array type.
1567 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1569 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
1572 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1574 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
1575 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
1576 code for -feliminate-unused-debug-types.
1577 (gnat_post_options): Likewise.
1579 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1581 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
1582 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
1585 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1587 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
1588 DECL_ARTIFICIAL flag on enumeration types.
1590 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1592 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
1593 fat pointer types artificial unconditionally.
1594 <E_Array_Subtype>: Attach the base array type as a parallel type if it
1597 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1599 * gcc-interface/gigi.h (get_dummy_type): Declare.
1600 (build_dummy_unc_pointer_types): Likewise.
1601 (finish_fat_pointer_type): Likewise.
1602 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
1603 fat pointer type has been built, complete it in place.
1604 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
1605 and thin pointers. Remove useless variable.
1606 (finish_fat_pointer_type): Make global and move to...
1607 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
1608 (get_dummy_type): New function.
1609 (build_dummy_unc_pointer_types): Likewise.
1610 (gnat_pushdecl): Propage the name to the anonymous variants only.
1611 (update_pointer_to): Only adjust the pointer types in the unconstrained
1614 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1616 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
1617 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
1618 if this is a Taft amendment type and the full declaration is available.
1619 * gcc-interface/trans.c (process_type): Likewise.
1620 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
1621 (process_freeze_entity): Likewise.
1622 * gcc-interface/utils.c (dummy_global): New static variable.
1623 (gnat_write_global_declarations): If there are types declared as used
1624 at the global level, insert them in the global hash table.
1626 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1628 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
1629 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
1630 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
1632 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
1633 flag of the type accordingly.
1634 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
1636 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
1638 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
1639 finalizing types when updating the pointers to the designated type.
1640 <all>: Finalize the deferred types even if we didn't defer processing
1641 of incomplete types in this invocation.
1643 2011-04-01 Olivier Hainque <hainque@adacore.com>
1644 Nicolas Setton <setton@adacore.com>
1645 Eric Botcazou <ebotcazou@adacore.com>
1647 * gcc-interface/misc.c (gnat_descriptive_type): New function.
1648 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
1650 2011-03-28 Kai Tietz <ktietz@redhat.com>
1652 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
1654 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
1655 * system-mingw.ads (System): Change ZCX_By_Default default to True.
1657 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
1659 2011-03-28 Tristan Gingold <gingold@adacore.com>
1662 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
1663 Use ada output of gnatbind.
1664 (ada/b_gnatb.adb): Ditto.
1665 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
1666 (ada.mostlyclean, ada.stage1)
1667 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
1668 (ada.stagefeedback): Adjust.
1669 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
1670 Use ada output of gnatbind.
1671 (b_gnatm.adb): Ditto.
1672 (b_gnatl.o, b_gnatm.o): New rules.
1674 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
1676 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
1677 for the padded type built to support a specified size or alignment.
1679 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
1681 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
1682 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
1683 unconditionally to the end of the unit when the designated type is
1685 <all>: Rename local variable. Attempt to un-defer types only and do it
1686 for limited_with'ed types as well.
1687 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
1688 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
1689 consistently and remove redundant call to finalize_from_with_types.
1691 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
1693 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
1694 subprograms without a previous spec declared in the same unit.
1695 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
1696 subprograms at the end of the unit instead of at the beginning.
1697 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
1698 isn't public for the special handling of non-inline functions nested
1699 inside inline external functions.
1701 2011-03-25 Jeff Law <law@redhat.com>
1703 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
1705 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
1707 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
1708 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
1709 to compute Set_Size_Depends_On_Discriminant.
1710 (Layout_Type): Call it on array types in back-end layout mode.
1711 * sem_util.adb (Requires_Transient_Scope): Return true for array
1712 types only if the size depends on the value of discriminants.
1713 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
1714 type if the RHS is a call to a function that returns an unconstrained
1715 type with default discriminant.
1717 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
1719 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
1720 non-conversion to the nominal result type at the end.
1722 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
1724 * gcc-interface/trans.c (create_temporary): New function taken from...
1725 (create_init_temporary): ...here. Call it.
1726 (call_to_gnu): Create the temporary for the return value early, if any.
1727 Create it for a function with copy-in/copy-out parameters if there is
1728 no target; in other cases of copy-in/copy-out, use another temporary.
1729 Push the new binding level lazily. Add and rename local variables.
1731 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
1733 * gcc-interface/decl.c (validate_size): Improve comments and tweak
1735 (set_rm_size): Likewise.
1737 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
1739 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
1740 for the padded type built in order to support a specified alignment.
1741 Fix incorrect formatting.
1743 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
1746 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
1748 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
1750 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
1751 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
1752 to the end of the list. Adjust recursive call. Rename local variable.
1753 If REORDER is true, reorder components of the record type.
1754 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
1755 components_to_record and adjust the parameter list.
1757 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
1759 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
1760 disabled, use the variable for bounds of loop iteration scheme.
1762 2011-03-21 Kai Tietz <ktietz@redhat.com>
1765 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
1767 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
1769 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
1770 out whether the expression is read-only. Short-circuit placeholder
1771 case and rename a couple of local variables.
1773 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
1775 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
1776 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
1777 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
1778 (convert): Deal with conversions from a smaller form type specially.
1780 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
1782 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
1783 its argument, except for the special -I- switch.
1785 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1787 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
1790 2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
1792 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
1794 2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
1796 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
1798 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
1799 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
1800 instead of GNAT_FORMAL. Protect the expression against multiple uses.
1801 Do not generate the check directly, instead instantiate the template
1802 check present in the descriptor.
1803 (make_descriptor_field): Move around.
1804 (build_vms_descriptor32): Build a template check in the POINTER field.
1805 (build_vms_descriptor): Remove useless suffixes.
1806 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
1808 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
1811 * targext.c: Include target files if IN_RTS is defined.
1813 2011-01-26 Richard Guenther <rguenther@suse.de>
1816 * targext.c: Include config.h.
1817 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
1820 2011-01-04 Pascal Obry <obry@adacore.com>
1821 Eric Botcazou <ebotcazou@adacore.com>
1823 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
1825 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1827 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
1828 end-of-case on the end label and its associated gotos, if any.
1830 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1832 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
1833 expressions of the parameter cache within the statement group of
1836 2011-01-04 Olivier Hainque <hainque@adacore.com>
1837 Eric Botcazou <ebotcazou@adacore.com>
1839 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
1840 (set_end_locus_from_node): New function.
1841 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
1842 make and the function end_locus.
1843 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
1844 for the elaboration subprogram.
1845 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
1846 set the end_locus of the expression as well.
1848 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
1851 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
1852 variables that are referenced in exception handlers volatile.
1856 Copyright (C) 2011 Free Software Foundation, Inc.
1858 Copying and distribution of this file, with or without modification,
1859 are permitted in any medium without royalty provided the copyright
1860 notice and this notice are preserved.