OSDN Git Service

* tree.h (TREE_ADDRESSABLE): Document its effect for function types.
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
2
3         * gcc-interface/ada-tree.h (TYPE_RETURNS_UNCONSTRAINED_P): Rename into.
4         (TYPE_RETURN_UNCONSTRAINED_P): ...this.
5         (TYPE_RETURNS_BY_REF_P): Rename into.
6         (TYPE_RETURN_BY_DIRECT_REF_P): ...this.
7         (TYPE_RETURNS_BY_TARGET_PTR_P): Delete.
8         * gcc-interface/gigi.h (create_subprog_type): Adjust parameter names.
9         (build_return_expr): Likewise.
10         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>:
11         Rename local variables.  If the return Mechanism is By_Reference, pass
12         return_by_invisible_ref_p to create_subprog_type instead of toggling
13         TREE_ADDRESSABLE.  Test return_by_invisible_ref_p in order to annotate
14         the mechanism.  Use regular return for contrained types with non-static
15         size and return by invisible reference for unconstrained return types
16         with default discriminants.  Update comment.
17         * gcc-interface/trans.c (Subprogram_Body_to_gnu): If the function
18         returns by invisible reference, turn the RESULT_DECL into a pointer.
19         Do not handle DECL_BY_REF_P in the CICO case here.
20         (call_to_gnu): Remove code handling return by target pointer.  For a
21         function call, if the return type has non-constant size, generate the
22         assignment with an INIT_EXPR.
23         (gnat_to_gnu) <N_Return_Statement>: Remove dead code in the CICO case.
24         If the function returns by invisible reference, build the copy return
25         operation manually.
26         (add_decl_expr): Initialize the variable with an INIT_EXPR.
27         * gcc-interface/utils.c (create_subprog_type): Adjust parameter names.
28         Adjust for renaming of macros.  Copy the node only when necessary.
29         (create_subprog_decl): Do not toggle TREE_ADDRESSABLE on the return
30         type, only change DECL_BY_REFERENCE on the RETURN_DECL.
31         (convert_from_reference): Delete.
32         (is_byref_result): Likewise.
33         (gnat_genericize_r): Likewise.
34         (gnat_genericize): Likewise.
35         (end_subprog_body): Do not call gnat_genericize.
36         * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: New case.
37         (build_return_expr): Adjust parameter names, logic and comment.
38
39 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
40
41         * exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
42         if the size is small enough.  Propagate the alignment if there is an
43         alignment clause on the original array type.
44         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
45         Deal with under-aligned packed array types.  Copy the size onto the
46         justified modular type and don't lay it out again.  Likewise for the
47         padding type built for other under-aligned subtypes.
48         * gcc-interface/utils.c (finish_record_type): Do not set a default mode
49         on the type.
50
51 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
52
53         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set default
54         alignment on the RETURN type built for the Copy-In Copy-Out mechanism.
55
56 2010-04-07  Eric Botcazou  <ebotcazou@adacore.com>
57
58         * gcc-interface/trans.c (call_to_gnu): In the return-by-target-ptr case
59         do not set the result type if there is a specified target and do not
60         convert the result in any cases.
61         (protect_multiple_eval): Make direct SAVE_EXPR for CALL_EXPR.
62         (maybe_stabilize_reference) <COMPOUND_EXPR>: Merge with CALL_EXPR.
63
64 2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
65
66         * gcc-interface/Makefile.in (SPARC/Solaris): Use sparcv8plus.
67
68 2010-02-27  Eric Botcazou  <ebotcazou@adacore.com>
69
70         PR ada/42253
71         * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Assert that fat
72         pointer base types are variant of each other.  Apply special treatment
73         for null to fat pointer types in all cases.
74
75 2010-01-28  Pascal Obry  <obry@adacore.com>
76
77         * s-win32.ads: Add some missing constants.
78
79 2010-01-28  Vincent Celier  <celier@adacore.com>
80
81         * prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is
82         Unknown_Package.
83
84 2010-01-28  Robert Dewar  <dewar@adacore.com>
85
86         * gnat_rm.texi: Minor correction
87
88 2010-01-27  Pascal Obry  <obry@adacore.com>
89
90         * g-awk.adb: ensure that an AWK session is reusable.
91
92 2010-01-27  Vasiliy Fofanov  <fofanov@adacore.com>
93
94         * g-regist.adb (For_Every_Key): Fix previous change.
95         Minor reformatting.
96
97 2010-01-27  Thomas Quinot  <quinot@adacore.com>
98
99         * lib-writ.ads: Current version of spec for new N (note) ALI lines
100
101 2010-01-27  Yannick Moy  <moy@adacore.com>
102
103         * a-cdlili.adb (Insert): Correct exception message when cursor
104         designates wrong list.
105
106 2010-01-27  Vincent Celier  <celier@adacore.com>
107
108         * gnatcmd.adb: When there is only one main specified, the package
109         support Switches (<main>) and attribute Switches is specified for the
110         main, use these switches, instead of Default_Switches ("Ada").
111
112 2010-01-27  Robert Dewar  <dewar@adacore.com>
113
114         * sem_prag.adb, par-prag.adb, snames.ads-tmpl: pragma Dimension initial
115         implementation.
116         * exp_disp.adb: Minor reformatting
117
118 2010-01-27  Tristan Gingold  <gingold@adacore.com>
119
120         * seh_init.c: Use __ImageBase instead of _ImageBase.
121
122 2010-01-27  Javier Miranda  <miranda@adacore.com>
123
124         * exp_disp.ads, exp_disp.adb (Expand_Interface_Thunk): Modify the
125         profile of interface thunks. The type of the controlling formal is now
126         the covered interface type (instead of the target tagged type).
127
128 2010-01-27  Sergey Rybin  <rybin@adacore.com>
129
130         * gnat_rm.texi, gnat_ugn.texi: Update gnatcheck doc.
131
132 2010-01-27  Robert Dewar  <dewar@adacore.com>
133
134         * sinput.ads, sinput.adb (Sloc_Range): Applies to all nodes, formal
135         changed from Expr to N.
136
137 2010-01-26  Thomas Quinot  <quinot@adacore.com>
138
139         * gnat_ugn.texi: Adjust documentation of -gnatz switches.
140         * usage.adb: Replace line for -gnatz with two lines for -gnatzc and
141         -gnatzr.
142
143 2010-01-26  Vincent Celier  <celier@adacore.com>
144
145         * prj-attr.adb: Add new attribute Library_Install_Name_Option
146         Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
147         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
148         attributes Run_Path_Option and Library_Install_Name_Option.
149         * prj.ads (Project_Configuration): Replace component
150         Run_Path_Origin_Supported with component Run_Path_Origin. Add new
151         component Library_Install_Name_Option.
152         * snames.ads-tmpl: Add new standard name Library_Install_Name_Option
153         Replace Run_Path_Origin_Supported with Run_Path_Origin
154
155 2010-01-26  Ed Schonberg  <schonberg@adacore.com>
156
157         * sem_ch8.adb (Use_One_Package): Within an instance, an actual package
158         is not hidden by a homograph declared in another actual package.
159
160 2010-01-26  Robert Dewar  <dewar@adacore.com>
161
162         * par_sco.adb (Traverse_Declarations_Or_Statements): Only generate
163         decisions for pragmas Assert, Check, Precondition, Postcondition if
164         -gnata set.
165         * scos.ads: Update comments.
166         * get_scos.adb, put_scos.adb: Minor fix to code reading statement SCOs.
167         Also remove obsolete code for CT (exit point) SCOs.
168
169 2010-01-26  Thomas Quinot  <quinot@adacore.com>
170
171         * switch-c.adb: Fix handling of -gnatz*
172
173 2010-01-26  Robert Dewar  <dewar@adacore.com>
174
175         * par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W
176         qualifiers for FOR/WHILE loops
177         * scos.ads: Use separate type letters F/W for for/while loops
178
179 2010-01-26  Robert Dewar  <dewar@adacore.com>
180
181         * get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple
182         entries per line, one for each statement in the sequence).
183         * par_sco.adb (Traverse_Declarations_Or_Statements): Increase array
184         size from 100 to 10_000 for SC_Array to avoid any real possibility of
185         overflow. Output decisions in for loops.
186         Exclude labels from CS lines.
187         * scos.ads: Clarify that label is not included in the entry point
188
189 2010-01-26  Robert Dewar  <dewar@adacore.com>
190
191         * par_sco.adb (Traverse_Declarations_Or_Statments): Implement new
192         format of statement sequence SCO entries (one location/statement).
193         * put_scos.adb (Put_SCOs): Implement new format of CS lines
194         * scos.ads: Update comments.
195         * sem_eval.adb: Minor reformatting.
196
197 2010-01-26  Robert Dewar  <dewar@adacore.com>
198
199         * par_sco.ads, par_sco.adb (Set_Statement_Entry): New handling of exits
200         (Extend_Statement_Sequence): New procedures
201         (Traverse_Declarations_Or_Statements): New handling for exits.
202
203 2010-01-26  Robert Dewar  <dewar@adacore.com>
204
205         * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
206         Case.
207
208 2010-01-26  Robert Dewar  <dewar@adacore.com>
209
210         * par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
211         * scos.ads: Clarify handling of logical operators
212
213 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
214
215         * s-tpoben.adb: Update comments.
216
217 2010-01-26  Robert Dewar  <dewar@adacore.com>
218
219         * freeze.adb (Set_Small_Size): Don't set size if alignment clause
220         present.
221
222 2010-01-26  Robert Dewar  <dewar@adacore.com>
223
224         * scos.ads: Clean up documentation, remove obsolete XOR references
225 2010-01-26  Vincent Celier  <celier@adacore.com>
226
227         * gnat_ugn.texi: Complete documentation on the restrictions for
228         combined options in -gnatxxx switches.
229         Fix typo.
230
231 2010-01-26  Arnaud Charlet  <charlet@adacore.com>
232
233         * s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from
234         a controlled operation, abort is already deferred at this point, so we
235         need to use Defer_Abort_Nestable.
236
237 2010-01-26  Vincent Celier  <celier@adacore.com>
238
239         * prj-conf.adb (Get_Config_Switches): Check for a default language for
240         a project extending a project with no languages.
241
242 2010-01-26  Vincent Celier  <celier@adacore.com>
243
244         * switch-c.adb (Scan_Front_End_Switches): Take into account options
245         that follow -gnatef.
246         Allow -gnateG to be followed by other options.
247
248 2010-01-26  Robert Dewar  <dewar@adacore.com>
249
250         * s-commun.ads, s-osprim-mingw.adb, s-stchop-vxworks.adb, sem_aggr.adb,
251         s-vxwext.adb, sem_ch10.adb, sem_eval.adb, sem_prag.adb: Minor
252         reformatting.
253
254 2010-01-26  Vasiliy Fofanov  <fofanov@adacore.com>
255
256         * g-regist.adb, g-regist.ads (For_Every_Key): New generic procedure
257         that allows to iterate over all subkeys of a key.
258
259 2010-01-26  Ed Falis  <falis@adacore.com>
260
261         * sysdep.c: enable NFS for VxWorks MILS
262         * env.c: enable __gnat_environ for VxWorks MILS
263         * gcc-interface/Makefile.in: Add VxWorks MILS target pairs.
264
265 2010-01-25  Bob Duff  <duff@adacore.com>
266
267         * sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
268         is an internally-generated positional aggregate, and the bounds are
269         already correctly set. We don't want to overwrite those bounds with
270         bounds determined by context.
271
272 2010-01-25  Robert Dewar  <dewar@adacore.com>
273
274         * g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
275         exp_ch9.adb, g-sechas.ads: Minor reformatting.
276
277 2010-01-25  Thomas Quinot  <quinot@adacore.com>
278
279         * s-commun.adb (Last_Index): Count must be converted to SEO (a signed
280         integer type) before subtracting 1, otherwise the computation may wrap
281         (because size_t is modular) and cause the conversion to fail.
282
283 2010-01-25  Ed Falis  <falis@adacore.com>
284
285         * sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
286
287 2010-01-25  Vincent Celier  <celier@adacore.com>
288
289         * prj-attr.adb: New attribute Run_Path_Origin_Required
290         * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
291         attribute Run_Path_Origin_Required.
292         * prj.ads (Project_Configuration): New component
293         Run_Path_Origin_Supported.
294         * snames.ads-tmpl: New standard name Run_Path_Origin_Required
295
296 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
297
298         * sem_aggr.adb (Resolve_Array_Aggregate): If the bounds in a choice
299         have errors, do not continue resolution of the aggregate.
300         * sem_eval.adb (Eval_Indexed_Component): Do not attempt to evaluate if
301         the array type indicates an error.
302
303 2010-01-25  Bob Duff  <duff@adacore.com>
304
305         * sinfo.ads: Minor comment fixes.
306
307 2010-01-25  Bob Duff  <duff@adacore.com>
308
309         * exp_ch4.adb, exp_aggr.adb: Minor comment fixes and code clean up.
310
311 2010-01-25  Arnaud Charlet  <charlet@adacore.com>
312
313         * gnatvsn.ads (Current_Year): Update.
314
315 2010-01-25  Florian Villoing  <villoing@adacore.com>
316
317         * gnat_ugn.texi: Fix typo.
318
319 2010-01-25  Thomas Quinot  <quinot@adacore.com>
320
321         * scos.ads: Update specification.
322
323 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
324
325         * sem_ch6.adb (Process_PPCs): If a postcondition is present and the
326         enclosing subprogram has no previous spec, attach postcondition
327         procedure to the defining entity for the body.
328
329 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
330
331         * exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to
332         initialization procedure of the ancestor part of an extension aggregate
333         if it is an interface type.
334
335 2010-01-25  Vincent Celier  <celier@adacore.com>
336
337         * gnatlink.adb (Process_Binder_File): The directory for the shared
338         version of libgcc in the run path options is found in the subdirectory
339         indicated by __gnat_default_libgcc_subdir.
340         * link.c: Declare new const char * __gnat_default_libgcc_subdir for
341         each platform.
342
343 2010-01-25  Ed Schonberg  <schonberg@adacore.com>
344
345         * sem_prag.adb: More flexible pragma Annotate.
346
347 2010-01-22  Eric Botcazou  <ebotcazou@adacore.com>
348
349         * system-linux-armel.ads (Stack_Check_Probes): Set to True.
350         * system-linux-armeb.ads (Stack_Check_Probes): Likewise.
351
352 2010-01-18  Eric Botcazou  <ebotcazou@adacore.com>
353
354         * gcc-interface/utils.c (create_var_decl_1): Fix formatting nits.
355
356 2010-01-18  Jan Hubicka  <jh@suse.cz>
357
358         PR middle-end/42068
359         * gcc-interface/utils.c (create_var_decl_1): Do not set COMMON flag for
360         unit local variables.
361
362 2010-01-17  Laurent GUERBY  <laurent@guerby.net>
363
364         * gcc-interface/Makefile.in: Fix typo in arm*-*-linux-gnueabi.
365
366 2010-01-11  Mikael Pettersson  <mikpe@it.uu.se>
367
368         * gcc-interface/Makefile.in: Add arm*-*-linux-gnueabi.
369         * system-linux-armeb.ads, system-linux-armel.ads: New files.
370
371 2010-01-09  Simon Wright  <simon@pushface.org>
372
373         PR ada/42626
374         * gcc-interface/Makefile.in (gnatlib-shared-darwin): Add missing
375         end-quote.
376
377
378 \f
379 Copyright (C) 2010 Free Software Foundation, Inc.
380
381 Copying and distribution of this file, with or without modification,
382 are permitted in any medium without royalty provided the copyright
383 notice and this notice are preserved.