OSDN Git Service

2011-08-02 Yannick Moy <moy@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2011-08-02  Yannick Moy  <moy@adacore.com>
2
3         * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
4         formal mode
5         * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
6         matching static array bounds, taking into account the special case of
7         string literals
8         * sem_ch3.adb: Typo in comment.
9
10 2011-08-02  Yannick Moy  <moy@adacore.com>
11
12         * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
13         which issues an error in formal mode if its argument node is originally
14         from source
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
17         of derived types
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.
29
30 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
31
32         * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
33         reference when needed.
34
35 2011-08-02  Bob Duff  <duff@adacore.com>
36
37         * gnat_ugn.texi: Fix typo.
38
39 2011-08-02  Vincent Celier  <celier@adacore.com>
40
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
43         VMS.
44
45 2011-08-02  Robert Dewar  <dewar@adacore.com>
46
47         * sem_ch12.adb, sem_ch11.adb: New calling sequence for
48         Analyze_Aspect_Specifications
49         * sem_ch13.adb
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
56
57 2011-08-02  Robert Dewar  <dewar@adacore.com>
58
59         * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
60         aspects, since these no longer exist.
61
62 2011-08-02  Robert Dewar  <dewar@adacore.com>
63
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
67         aspect spec.
68
69 2011-08-02  Robert Dewar  <dewar@adacore.com>
70
71         * sem_ch8.adb, aspects.ads: Minor reformatting.
72
73 2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>
74
75         * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
76         * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
77         extracted from...
78         (Analyze_Aspect_Specifications): ...here.  Call above procedure.
79
80 2011-08-02  Yannick Moy  <moy@adacore.com>
81
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
88         incomplete type
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
104
105 2011-08-02  Robert Dewar  <dewar@adacore.com>
106
107         * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
108
109 2011-08-02  Javier Miranda  <miranda@adacore.com>
110
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.
117         * einfo.adb
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.
121
122 2011-08-02  Jose Ruiz  <ruiz@adacore.com>
123
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.
128
129 2011-08-02  Vincent Celier  <celier@adacore.com>
130
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>.
133
134 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
135
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
138         use_visible.
139
140 2011-08-02  Ed Falis  <falis@adacore.com>
141
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
145         simplify remaining
146         * s-intman-vxworks.ads: remove unnecessary variable
147         * s-taprop-vxworks.adb: simplify signal initialization
148
149 2011-08-02  Robert Dewar  <dewar@adacore.com>
150
151         * sem_ch8.adb: Minor code reorganization, comment updates.
152
153 2011-08-02  Robert Dewar  <dewar@adacore.com>
154
155         * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
156         * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
157         here from Sem_Res.
158         (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
159         (Matching_Static_Array_Bounds): Moved here from Sem_Res
160
161 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
162
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
167         constructs.
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.
171
172 2011-08-02  Robert Dewar  <dewar@adacore.com>
173
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.
177
178 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
179
180         * sem_ch4.adb: transform simple Ada2012 membership into equality only
181         if types are compatible.
182
183 2011-08-02  Yannick Moy  <moy@adacore.com>
184
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
197         bounds.
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
205
206 2011-08-02  Robert Dewar  <dewar@adacore.com>
207
208         * par-ch10.adb: Minor code reorganization (use Nkind_In).
209
210 2011-08-02  Ed Schonberg  <schonberg@adacore.com>
211
212         * par-ch9.adb: save location of entry for proper error message.
213
214 2011-08-02  Javier Miranda  <miranda@adacore.com>
215
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
226         call to Is_Ancestor.
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.
236         * exp_cg.adb
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.
239
240 2011-08-02  Robert Dewar  <dewar@adacore.com>
241
242         * gnat_rm.texi: Minor reformatting.
243         * sem_prag.adb: Minor reformatting.
244
245 2011-08-02  Tristan Gingold  <gingold@adacore.com>
246
247         * vms_data.ads: Add VMS qualifier for -gnateP.
248
249 2011-08-02  Robert Dewar  <dewar@adacore.com>
250
251         * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
252         * par-ch7.adb (P_Package): Proper placement of aspects for package
253         decl/instantiation.
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
259
260 2011-08-02  Vincent Celier  <celier@adacore.com>
261
262         * ug_words: Add VMS qualifier equivalent to -gnateP:
263         /SYMBOL_PREPROCESSING.
264
265 2011-08-02  Jose Ruiz  <ruiz@adacore.com>
266
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
270         characters.
271
272 2011-08-02  Yannick Moy  <moy@adacore.com>
273
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
277         properly qualified
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
281         mark as ancestor
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
289
290 2011-08-01  Robert Dewar  <dewar@adacore.com>
291
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).
297         * errout.ads
298         (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
299         blank in string (this was inconsistently implemented).
300         * gnat1drv.adb
301         (Set_Global_Switches): Set formal mode switches appropriately
302         * opt.ads, opt.adb: Formal mode is now global switches, more consistent
303         * par-prag.adb
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
309         name.
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.
320
321 2011-08-01  Javier Miranda  <miranda@adacore.com>
322
323         * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
324         condition that detects if the overridden operation must replace an
325         existing entity.
326
327 2011-08-01  Javier Miranda  <miranda@adacore.com>
328
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.
332
333 2011-08-01  Robert Dewar  <dewar@adacore.com>
334
335         * sem_ch6.adb: Minor code reorganization.
336         * sem_util.adb: Minor reformatting.
337
338 2011-08-01  Pascal Obry  <obry@adacore.com>
339
340         * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
341         * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
342
343 2011-08-01  Yannick Moy  <moy@adacore.com>
344
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
357         * sem_ch5.adb
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
369         not serious.
370         * sinfo.ads: Typos in comments.
371
372 2011-08-01  Pascal Obry  <obry@adacore.com>
373
374         * projects.texi: Minor editing.
375
376 2011-08-01  Yannick Moy  <moy@adacore.com>
377
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
397         (none by default).
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
402         into account.
403
404 2011-08-01  Robert Dewar  <dewar@adacore.com>
405
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
409
410 2011-08-01  Pascal Obry  <obry@adacore.com>
411
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
419         search path.
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
423         Part.Parse routine.
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
427         compilation.
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.
430
431 2011-08-01  Yannick Moy  <moy@adacore.com>
432
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.
437
438 2011-08-01  Robert Dewar  <dewar@adacore.com>
439
440         * checks.adb, exp_ch4.adb: Minor reformatting.
441
442 2011-08-01  Javier Miranda  <miranda@adacore.com>
443
444         * einfo.ads (Access_Disp_Table): Fix documentation.
445         (Dispatch_Table_Wrappers): Fix documentation.
446
447 2011-08-01  Pascal Obry  <obry@adacore.com>
448
449         * prj-env.adb, prj-env.ads: Minor reformatting.
450
451 2011-08-01  Yannick Moy  <moy@adacore.com>
452
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
464         is not visible
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
472         entity.
473         * sem_ch6.ads, sem_ch13.ads: typos in comments.
474
475 2011-08-01  Thomas Quinot  <quinot@adacore.com>
476
477         * atree.adb: Minor reformatting.
478         * checks.adb: Minor reformatting.
479
480 2011-08-01  Vincent Celier  <celier@adacore.com>
481
482         * s-parame-vms-ia64.ads: Fix typo in comment
483         Minor reformatting
484         * s-parame-vms-restrict.ads: Removed, unused.
485
486 2011-08-01  Javier Miranda  <miranda@adacore.com>
487
488         * exp_ch3.adb
489         (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
490         * sem_ch3.adb
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
501         object.
502         * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
503         parent type.
504         * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
505         we cannot have semantic interpretations of the new node.
506
507 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
508
509         * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
510         expressions.
511
512 2011-08-01  Arnaud Charlet  <charlet@adacore.com>
513
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.
518
519 2011-08-01  Thomas Quinot  <quinot@adacore.com>
520
521         * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
522
523 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
524
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.
528
529 2011-08-01  Tristan Gingold  <gingold@adacore.com>
530
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.
534
535 2011-08-01  Yannick Moy  <moy@adacore.com>
536
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
547         procedure
548         * sem_ch8.adb: Code clean up.
549
550 2011-08-01  Javier Miranda  <miranda@adacore.com>
551
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
567         Access_Disp_Table.
568
569 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
570
571         * s-poosiz.ads: Additional overriding indicators.
572
573 2011-08-01  Yannick Moy  <moy@adacore.com>
574
575         * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
576         formal mode.
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
584         default expression.
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.
593
594 2011-08-01  Thomas Quinot  <quinot@adacore.com>
595
596         * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
597         declaration being hidden when overriding an implicit inherited
598         subprogram.
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
601         pragma No_Body.
602
603 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
604
605         * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
606         variable if already set.
607
608 2011-08-01  Arnaud Charlet  <charlet@adacore.com>
609
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.
660
661 2011-08-01  Bob Duff  <duff@adacore.com>
662
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
666         reformatting.
667
668 2011-08-01  Yannick Moy  <moy@adacore.com>
669
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
677         mode.
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
680         language
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
684         block statement
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
702         is a loop.
703
704 2011-08-01  Thomas Quinot  <quinot@adacore.com>
705
706         * sem_ch6.ads: Minor reformatting.
707
708 2011-08-01  Javier Miranda  <miranda@adacore.com>
709
710         * sem_util.adb (Abstract_Interface_List): Complete condition when
711         processing private type declarations to avoid reading unavailable
712         attribute.
713         (Is_Synchronized_Tagged_Type): Complete condition when processing
714         private extension declaration nodes to avoid reading unavailable
715         attribute.
716
717 2011-08-01  Thomas Quinot  <quinot@adacore.com>
718
719         * sem_ch3.adb: Minor reformatting.
720
721 2011-08-01  Thomas Quinot  <quinot@adacore.com>
722
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.
729
730 2011-08-01  Eric Botcazou  <ebotcazou@adacore.com>
731
732         * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
733
734 2011-08-01  Tristan Gingold  <gingold@adacore.com>
735
736         * seh_init.c: Fix SEH handler installation on win64.
737
738 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
739
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.
743
744 2011-08-01  Robert Dewar  <dewar@adacore.com>
745
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.
749
750 2011-08-01  Arnaud Charlet  <charlet@adacore.com>
751
752         * gnat_rm.texi: Fix definition of Long_Integer.
753
754 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
755
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.
762
763 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
764
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.
771
772 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
773
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.
777
778 2011-08-01  Bob Duff  <duff@adacore.com>
779
780         * einfo.ads: Minor reformatting.
781         * debug.adb: Minor comment improvement.
782
783 2011-08-01  Javier Miranda  <miranda@adacore.com>
784
785         * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
786         consider hidden subprograms as valid candidates.
787
788 2011-08-01  Arnaud Charlet  <charlet@adacore.com>
789
790         * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
791
792 2011-08-01  Vasiliy Fofanov  <fofanov@adacore.com>
793
794         * gnat_ugn.texi: Fix typo.
795
796 2011-08-01  Robert Dewar  <dewar@adacore.com>
797
798         * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
799         lib-xref.adb: Minor reformatting
800
801 2011-08-01  Gary Dismukes  <dismukes@adacore.com>
802
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.
806
807 2011-08-01  Geert Bosch  <bosch@adacore.com>
808
809         * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
810         "," in choice list.
811
812 2011-08-01  Thomas Quinot  <quinot@adacore.com>
813
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.
817
818 2011-08-01  Robert Dewar  <dewar@adacore.com>
819
820         * sinfo.ads: Add comment.
821         * sem_ch6.adb: Minor reformatting.
822
823 2011-08-01  Robert Dewar  <dewar@adacore.com>
824
825         * freeze.adb (Freeze_Entity): Refine check for bad component size
826         clause to avoid rejecting confirming clause when atomic/aliased present.
827
828 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
829
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
833         subcomponent.
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.
837
838 2011-08-01  Tristan Gingold  <gingold@adacore.com>
839
840         * env.c (__gnat_setenv) [VMS]: Refine previous change.
841
842 2011-08-01  Quentin Ochem  <ochem@adacore.com>
843
844         * i-cstrin.adb (New_String): Changed implementation, now uses only the
845         heap to compute the result.
846
847 2011-08-01  Robert Dewar  <dewar@adacore.com>
848
849         * atree.ads: Minor reformatting.
850
851 2011-08-01  Emmanuel Briot  <briot@adacore.com>
852
853         * g-expect.adb (Get_Command_Output): Fix memory leak.
854
855 2011-08-01  Geert Bosch  <bosch@adacore.com>
856
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.
863
864 2011-08-01  Thomas Quinot  <quinot@adacore.com>
865
866         * sem_ch3.adb: Minor reformatting.
867
868 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
869
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.
873
874 2011-08-01  Yannick Moy  <moy@adacore.com>
875
876         * sinfo.ads, errout.ads: Typos in comments.
877
878 2011-08-01  Robert Dewar  <dewar@adacore.com>
879
880         * par-endh.adb: Minor reformatting.
881
882 2011-08-01  Robert Dewar  <dewar@adacore.com>
883
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
891         new aspect syntax
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
896         aspects
897         * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
898         specs
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
902
903 2011-08-01  Thomas Quinot  <quinot@adacore.com>
904
905         * atree.ads: Minor reformatting.
906         * sem_prag.adb: Minor reformatting.
907
908 2011-08-01  Robert Dewar  <dewar@adacore.com>
909
910         * exp_util.adb (Insert_Actions): Fix error in handling Actions for
911         case expr alternative.
912
913 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
914
915         * sem_ch12.adb: Fix typo.
916
917 2011-08-01  Geert Bosch  <bosch@adacore.com>
918
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
928         function.
929         * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
930         * einfo.adb:
931         (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
932
933 2011-08-01  Geert Bosch  <bosch@adacore.com>
934
935         * cstand.adb: Fix comments.
936         * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
937         count of arguments.
938
939 2011-08-01  Robert Dewar  <dewar@adacore.com>
940
941         * exp_ch4.adb, sem_cat.adb: Minor reformatting.
942
943 2011-08-01  Geert Bosch  <bosch@adacore.com>
944
945         * atree.ads: Fix comment.
946
947 2011-08-01  Robert Dewar  <dewar@adacore.com>
948
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.
953
954 2011-08-01  Vincent Celier  <celier@adacore.com>
955
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):
960         New procedure.
961
962 2011-08-01  Thomas Quinot  <quinot@adacore.com>
963
964         * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
965         reformatting.
966
967 2011-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
968
969         * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
970
971 2011-08-01  Thomas Quinot  <quinot@adacore.com>
972
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.
979
980 2011-08-01  Robert Dewar  <dewar@adacore.com>
981
982         * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
983         Postcondition.
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.
988
989 2011-08-01  Robert Dewar  <dewar@adacore.com>
990
991         * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
992         here.
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,
1000         not needed.
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.
1006
1007 2011-08-01  Robert Dewar  <dewar@adacore.com>
1008
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
1017
1018 2011-08-01  Robert Dewar  <dewar@adacore.com>
1019
1020         * usage.adb: Documentation cleanup for Ada version modes in usage.
1021         * expander.adb: Minor reformatting.
1022
1023 2011-08-01  Robert Dewar  <dewar@adacore.com>
1024
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.
1028
1029 2011-08-01  Doug Rupp  <rupp@adacore.com>
1030
1031         * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
1032         pointers. Use descrip.h header file for convenience. Add some
1033         comments.
1034
1035 2011-08-01  Robert Dewar  <dewar@adacore.com>
1036
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):
1040         New procedure.
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.
1045
1046 2011-08-01  Pascal Obry  <obry@adacore.com>
1047
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.
1051
1052 2011-08-01  Vincent Celier  <celier@adacore.com>
1053
1054         * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
1055         High is above Source length.
1056
1057 2011-08-01  Robert Dewar  <dewar@adacore.com>
1058
1059         * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
1060
1061 2011-08-01  Robert Dewar  <dewar@adacore.com>
1062
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
1066         aspects.
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.
1074
1075 2011-08-01  Matthew Heaney  <heaney@adacore.com>
1076
1077         * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
1078
1079 2011-08-01  Pascal Obry  <obry@adacore.com>
1080
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
1084         string length.
1085
1086 2011-08-01  Gary Dismukes  <dismukes@adacore.com>
1087
1088         * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
1089
1090 2011-08-01  Matthew Heaney  <heaney@adacore.com>
1091
1092         * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
1093         of node.
1094
1095 2011-08-01  Pascal Obry  <obry@adacore.com>
1096
1097         * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
1098         reformatting.
1099
1100 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
1101
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.
1108
1109 2011-08-01  Vincent Celier  <celier@adacore.com>
1110
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.
1114
1115 2011-08-01  Ed Schonberg  <schonberg@adacore.com>
1116
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.
1120
1121 2011-07-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1122
1123         * init.c (__gnat_error_handler): Cast reason to int.
1124         (__gnat_install_handler): Explain sa_sigaction use.
1125
1126 2011-07-24  Eric Botcazou  <ebotcazou@adacore.com>
1127
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.
1131
1132 2011-07-24  Eric Botcazou  <ebotcazou@adacore.com>
1133
1134         * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
1135         left operand as addressable.
1136
1137 2011-07-24  Eric Botcazou  <ebotcazou@adacore.com>
1138
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.
1153
1154 2011-07-23  Arnaud Charlet  <charlet@adacore.com>
1155
1156         PR ada/49819
1157         * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
1158         g-trasym-dwarf.adb.
1159
1160 2011-07-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1161
1162         PR bootstrap/49794
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.
1167
1168 2011-07-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1169
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.
1174
1175 2011-07-21  Eric Botcazou  <ebotcazou@adacore.com>
1176
1177         * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
1178         (GNAT1_OBJS): ...here.
1179
1180 2011-07-15  Eric Botcazou  <ebotcazou@adacore.com>
1181
1182         PR ada/48711
1183         * g-socthi-mingw.adb (Fill): Fix formatting.
1184
1185         * gcc-interface/gigi.h: Move around comment.
1186
1187 2011-07-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1188
1189         PR ada/46350
1190         * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
1191
1192 2011-07-14  Florian Weimer  <fw@deneb.enyo.de>
1193
1194         PR ada/48711
1195         * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
1196
1197 2011-07-13  Eric Botcazou  <ebotcazou@adacore.com>
1198
1199         * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
1200         range comparison if Pmode is SImode.
1201
1202 2011-07-12  Laurent GUERBY  <laurent@guerby.net>
1203             Eric Botcazou  <ebotcazou@adacore.com>
1204
1205         * adadecode.c: Wrap up in extern "C" block.
1206         * adadecode.h: Likewise.
1207         * adaint.c: Likewise.  Remove 'const' keyword.
1208         * adaint.h: Likewise.
1209         * argv.c: Likewise.
1210         * atree.h: Likewise.
1211         * cio.c: Likewise.
1212         * cstreams.c: Likewise.
1213         * env.c: Likewise.
1214         * exit.c: Likewise.
1215         * fe.h: Likewise.
1216         * final.c: Likewise.
1217         * init.c: Likewise.
1218         * initialize.c: Likewise.
1219         * link.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.
1242
1243 2011-07-07  Richard Henderson  <rth@redhat.com>
1244
1245         * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
1246         dwarf2out_frame_init.
1247
1248 2011-07-07  Eric Botcazou  <ebotcazou@adacore.com>
1249
1250         * gcc-interface/misc.c (gnat_init): Tweak previous change.
1251
1252 2011-07-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1253
1254         PR target/39150
1255         * gcc-interface/Makefile.in: Handle x86_64-solaris2.
1256
1257 2011-07-06  Richard Guenther  <rguenther@suse.de>
1258
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.
1262
1263 2011-07-02  Eric Botcazou  <ebotcazou@adacore.com>
1264             Olivier Hainque  <hainque@adacore.com>
1265             Nicolas Setton  <setton@adacore.com>
1266
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.
1271
1272 2011-07-01  Eric Botcazou  <ebotcazou@adacore.com>
1273
1274         * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
1275         (gnatbind): Likewise.
1276
1277 2011-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1278
1279         * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
1280
1281 2011-06-18  Eric Botcazou  <ebotcazou@adacore.com>
1282
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.
1288
1289 2011-06-18  Eric Botcazou  <ebotcazou@adacore.com>
1290
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.
1293
1294 2011-06-18  Eric Botcazou  <ebotcazou@adacore.com>
1295
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.
1305
1306 2011-06-16  Joern Rennecke  <joern.rennecke@embecosm.com>
1307
1308         PR middle-end/46500
1309         * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
1310
1311 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
1312
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.
1319
1320 2011-06-07  Richard Guenther  <rguenther@suse.de>
1321
1322         * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
1323         set_sizetype.
1324
1325 2011-06-06  Eric Botcazou  <ebotcazou@adacore.com>
1326
1327         * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
1328         TREE_THIS_NOTRAP flag.
1329
1330 2011-06-06  Eric Botcazou  <ebotcazou@adacore.com>
1331
1332         * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
1333         Fix thinko.
1334
1335 2011-06-06  Eric Botcazou  <ebotcazou@adacore.com>
1336
1337         * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
1338         constants whose full view has discriminants specially.
1339
1340 2011-06-06  Eric Botcazou  <ebotcazou@adacore.com>
1341
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.
1346
1347 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
1348
1349         * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
1350
1351 2011-05-25  Kai Tietz  <ktietz@redhat.com>
1352
1353         * adaint.c (__gnat_to_canonical_file_list_next): Use array
1354         initialization instead of const/none-const pointer assignment.
1355
1356 2011-05-24  Joseph Myers  <joseph@codesourcery.com>
1357
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.
1365
1366 2011-05-21  Joseph Myers  <joseph@codesourcery.com>
1367
1368         PR ada/49097
1369         * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
1370
1371 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
1372
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.
1376
1377 2011-05-18  Kai Tietz <ktietz@redhat.com>
1378
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.
1383
1384 2011-05-12  Eric Botcazou  <ebotcazou@adacore.com>
1385
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.
1389
1390 2011-05-11  Nathan Froyd  <froydnj@codesourcery.com>
1391
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
1394         instead.
1395         (create_subprog_type): Don't call build_function_type; call
1396         build_function_type_vec instead.
1397
1398 2011-05-11  Nathan Froyd  <froydnj@codesourcery.com>
1399
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.
1403
1404 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
1405
1406         * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
1407
1408         * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
1409         * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
1410
1411 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1412
1413         * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
1414
1415 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1416
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.
1420
1421 2011-05-05  Eric Botcazou  <ebotcazou@adacore.com>
1422
1423         PR ada/48844
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.
1429
1430 2011-05-05  Eric Botcazou  <ebotcazou@adacore.com>
1431
1432         * gcc-interface/utils.c (begin_subprog_body): Do not call
1433         get_pending_sizes.
1434         (end_subprog_body): Likewise.
1435
1436 2011-05-04  Richard Guenther  <rguenther@suse.de>
1437
1438         * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
1439         int_const_binop.
1440         (pos_to_constructor): Likewise.
1441
1442 2011-05-03  Nathan Froyd  <froydnj@codesourcery.com>
1443             Eric Botcazou  <ebotcazou@adacore.com>
1444
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.
1450
1451 2011-04-30  Eric Botcazou  <ebotcazou@adacore.com>
1452
1453         * gnatvsn.ads (Library_Version): Bump to 4.7.
1454         (Current_Year): Bump to 2011.
1455
1456 2011-04-29  Michael Matz  <matz@suse.de>
1457
1458         * gcc-interface/misc.c (gnat_handle_option): Set
1459         warn_maybe_uninitialized.
1460
1461 2011-04-23  Gerald Pfeifer  <gerald@pfeifer.com>
1462
1463         * gnat_ugn.texi (Complexity Metrics Control): Update link to
1464         the Watson/McCabe paper.
1465
1466 2011-04-23  Jim Meyering  <meyering@redhat.com>
1467
1468         * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
1469
1470 2011-04-22  Eric Botcazou  <ebotcazou@adacore.com>
1471
1472         * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
1473         onto the new type.
1474
1475 2011-04-22  Eric Botcazou  <ebotcazou@adacore.com>
1476
1477         * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
1478         parameter.
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.
1492
1493 2011-04-21  Eric Botcazou  <ebotcazou@adacore.com>
1494
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).
1503
1504 2011-04-20  Jim Meyering  <meyering@redhat.com>
1505
1506         * initialize.c (__gnat_initialize): Remove useless if-before-free.
1507
1508 2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
1509
1510         * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
1511         $(CFLAGS) on the link line.
1512
1513 2011-04-17  Eric Botcazou  <ebotcazou@adacore.com>
1514
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.
1517
1518 2011-04-14  Nathan Froyd  <froydnj@codesourcery.com>
1519
1520         * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
1521
1522 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
1523
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.
1528
1529 2011-04-12  Martin Jambor  <mjambor@suse.cz>
1530
1531         * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
1532         instead of cgraph_node.
1533
1534 2011-04-08  Eric Botcazou  <ebotcazou@adacore.com>
1535
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
1538         mechanism.
1539
1540 2011-04-08  Eric Botcazou  <ebotcazou@adacore.com>
1541
1542         * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
1543         of aggregate types that contain a placeholder.
1544
1545 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
1546
1547         * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
1548         TYPE_ARG_TYPES.
1549         (handle_type_generic_attribute): Likewise.
1550
1551 2011-04-04  Eric Botcazou  <ebotcazou@adacore.com>
1552
1553         PR ada/47163
1554         * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
1555
1556 2011-04-04  Kai Tietz  <ktietz@redhat.com>
1557
1558         PR ada/47163
1559         * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
1560         to flag value.
1561
1562 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
1563
1564         * gcc-interface/utils2.c (build_allocator): In the unconstrained array
1565         type case, do not strip a padding type around the array type.
1566
1567 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
1568
1569         * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
1570         types.
1571
1572 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
1573
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.
1578
1579 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
1580
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
1583         distinct copy.
1584
1585 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
1586
1587         * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
1588         DECL_ARTIFICIAL flag on enumeration types.
1589
1590 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
1591
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
1595         isn't artificial.
1596
1597 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
1598
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
1612         array case.
1613
1614 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
1615
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.
1625
1626 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
1627
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
1631         copy.
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.
1635
1636 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
1637
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.
1642
1643 2011-04-01  Olivier Hainque  <hainque@adacore.com>
1644             Nicolas Setton  <setton@adacore.com>
1645             Eric Botcazou  <ebotcazou@adacore.com>
1646
1647         * gcc-interface/misc.c (gnat_descriptive_type): New function.
1648         (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
1649
1650 2011-03-28  Kai Tietz  <ktietz@redhat.com>
1651
1652         * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
1653         Windows targets.
1654         (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
1655         * system-mingw.ads (System): Change ZCX_By_Default default to True.
1656
1657         * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
1658
1659 2011-03-28  Tristan Gingold  <gingold@adacore.com>
1660
1661         PR ada/44431
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.
1673
1674 2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
1675
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.
1678
1679 2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
1680
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
1684         limited_with'ed.
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.
1690
1691 2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
1692
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.
1700
1701 2011-03-25  Jeff Law  <law@redhat.com>
1702
1703         * gcc-interface/utils.c (def_fn_type): Add missing va_end.
1704
1705 2011-03-24  Eric Botcazou  <ebotcazou@adacore.com>
1706
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.
1716
1717 2011-03-24  Eric Botcazou  <ebotcazou@adacore.com>
1718
1719         * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
1720         non-conversion to the nominal result type at the end.
1721
1722 2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
1723
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.
1730
1731 2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
1732
1733         * gcc-interface/decl.c (validate_size): Improve comments and tweak
1734         error message.
1735         (set_rm_size): Likewise.
1736
1737 2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
1738
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.
1742
1743 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
1744
1745         PR bootstrap/48216
1746         * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
1747
1748 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
1749
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.
1756
1757 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
1758
1759         * gcc-interface/decl.c (elaborate_expression_1): When optimization is
1760         disabled, use the variable for bounds of loop iteration scheme.
1761
1762 2011-03-21  Kai Tietz  <ktietz@redhat.com>
1763
1764         PR target/12171
1765         * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
1766
1767 2011-03-17  Eric Botcazou  <ebotcazou@adacore.com>
1768
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.
1772
1773 2011-03-17  Eric Botcazou  <ebotcazou@adacore.com>
1774
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.
1779
1780 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
1781
1782         * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
1783         its argument, except for the special -I- switch.
1784
1785 2011-02-12  Gerald Pfeifer  <gerald@pfeifer.com>
1786
1787         * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
1788         "Ada Issues".
1789
1790 2011-02-08  Eric Botcazou  <ebotcazou@adacore.com>
1791
1792         * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
1793
1794 2011-02-03  Eric Botcazou  <ebotcazou@adacore.com>
1795
1796         * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
1797         GNAT_FORMAL.
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.
1807
1808 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
1809
1810         PR bootstrap/47467
1811         * targext.c: Include target files if IN_RTS is defined.
1812
1813 2011-01-26  Richard Guenther  <rguenther@suse.de>
1814
1815         PR bootstrap/47467
1816         * targext.c: Include config.h.
1817         * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
1818         dependency.
1819
1820 2011-01-04  Pascal Obry  <obry@adacore.com>
1821             Eric Botcazou  <ebotcazou@adacore.com>
1822
1823         * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
1824
1825 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
1826
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.
1829
1830 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
1831
1832         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
1833         expressions of the parameter cache within the statement group of
1834         the CICO mechanism.
1835
1836 2011-01-04  Olivier Hainque  <hainque@adacore.com>
1837             Eric Botcazou  <ebotcazou@adacore.com>
1838
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.
1847
1848 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
1849
1850         PR ada/47131
1851         * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
1852         variables that are referenced in exception handlers volatile.
1853
1854
1855 \f
1856 Copyright (C) 2011 Free Software Foundation, Inc.
1857
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.