OSDN Git Service

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