OSDN Git Service

* gcc-interface/gigi.h (get_dummy_type): Declare.
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
1 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
2
3         * gcc-interface/gigi.h (get_dummy_type): Declare.
4         (build_dummy_unc_pointer_types): Likewise.
5         (finish_fat_pointer_type): Likewise.
6         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
7         fat pointer type has been built, complete it in place.
8         <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
9         and thin pointers.  Remove useless variable.
10         (finish_fat_pointer_type): Make global and move to...
11         * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
12         (get_dummy_type): New function.
13         (build_dummy_unc_pointer_types): Likewise.
14         (gnat_pushdecl): Propage the name to the anonymous variants only.
15         (update_pointer_to): Only adjust the pointer types in the unconstrained
16         array case.
17
18 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
19
20         * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
21         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
22         if this is a Taft amendment type and the full declaration is available.
23         * gcc-interface/trans.c (process_type): Likewise.
24         If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
25         (process_freeze_entity): Likewise.
26         * gcc-interface/utils.c (dummy_global): New static variable.
27         (gnat_write_global_declarations): If there are types declared as used
28         at the global level, insert them in the global hash table.
29
30 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
31
32         * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
33         * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
34         declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
35         copy.
36         (record_builtin_type): Add ARTIFICIAL_P parameter.  Set DECL_ARTIFICIAL
37         flag of the type accordingly.
38         * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
39
40 2011-04-02  Eric Botcazou  <ebotcazou@adacore.com>
41
42         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
43         finalizing types when updating the pointers to the designated type.
44         <all>: Finalize the deferred types even if we didn't defer processing
45         of incomplete types in this invocation.
46
47 2011-04-01  Olivier Hainque  <hainque@adacore.com>
48             Nicolas Setton  <setton@adacore.com>
49             Eric Botcazou  <ebotcazou@adacore.com>
50
51         * gcc-interface/misc.c (gnat_descriptive_type): New function.
52         (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
53
54 2011-03-28  Kai Tietz  <ktietz@redhat.com>
55
56         * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
57         Windows targets.
58         (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
59         * system-mingw.ads (System): Change ZCX_By_Default default to True.
60
61         * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
62
63 2011-03-28  Tristan Gingold  <gingold@adacore.com>
64
65         PR ada/44431
66         * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
67         Use ada output of gnatbind.
68         (ada/b_gnatb.adb): Ditto.
69         (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
70         (ada.mostlyclean, ada.stage1)
71         (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
72         (ada.stagefeedback): Adjust.
73         * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
74         Use ada output of gnatbind.
75         (b_gnatm.adb): Ditto.
76         (b_gnatl.o, b_gnatm.o): New rules.
77
78 2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
79
80         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
81         for the padded type built to support a specified size or alignment.
82
83 2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
84
85         * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
86         * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
87         unconditionally to the end of the unit when the designated type is
88         limited_with'ed.
89         <all>: Rename local variable.  Attempt to un-defer types only and do it
90         for limited_with'ed types as well.
91         (finalize_from_with_types): Adjust comment.  Rename variable and tidy.
92         * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
93         consistently and remove redundant call to finalize_from_with_types.
94
95 2011-03-26  Eric Botcazou  <ebotcazou@adacore.com>
96
97         * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
98         subprograms without a previous spec declared in the same unit.
99         * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
100         subprograms at the end of the unit instead of at the beginning.
101         * gcc-interface/utils.c (create_subprog_decl): Check that the entity
102         isn't public for the special handling of non-inline functions nested
103         inside inline external functions.
104
105 2011-03-25  Jeff Law  <law@redhat.com>
106
107         * gcc-interface/utils.c (def_fn_type): Add missing va_end.
108
109 2011-03-24  Eric Botcazou  <ebotcazou@adacore.com>
110
111         * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
112         * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
113         to compute Set_Size_Depends_On_Discriminant.
114         (Layout_Type): Call it on array types in back-end layout mode.
115         * sem_util.adb (Requires_Transient_Scope): Return true for array
116         types only if the size depends on the value of discriminants.
117         * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
118         type if the RHS is a call to a function that returns an unconstrained
119         type with default discriminant.
120
121 2011-03-24  Eric Botcazou  <ebotcazou@adacore.com>
122
123         * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
124         non-conversion to the nominal result type at the end.
125
126 2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
127
128         * gcc-interface/trans.c (create_temporary): New function taken from...
129         (create_init_temporary): ...here.  Call it.
130         (call_to_gnu): Create the temporary for the return value early, if any.
131         Create it for a function with copy-in/copy-out parameters if there is
132         no target; in other cases of copy-in/copy-out, use another temporary.
133         Push the new binding level lazily.  Add and rename local variables.
134
135 2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
136
137         * gcc-interface/decl.c (validate_size): Improve comments and tweak
138         error message.
139         (set_rm_size): Likewise.
140
141 2011-03-23  Eric Botcazou  <ebotcazou@adacore.com>
142
143         * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
144         for the padded type built in order to support a specified alignment.
145         Fix incorrect formatting.
146
147 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
148
149         PR bootstrap/48216
150         * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
151
152 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
153
154         * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
155         rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
156         to the end of the list.  Adjust recursive call.  Rename local variable.
157         If REORDER is true, reorder components of the record type.
158         (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
159         components_to_record and adjust the parameter list.
160
161 2011-03-21  Eric Botcazou  <ebotcazou@adacore.com>
162
163         * gcc-interface/decl.c (elaborate_expression_1): When optimization is
164         disabled, use the variable for bounds of loop iteration scheme.
165
166 2011-03-21  Kai Tietz  <ktietz@redhat.com>
167
168         PR target/12171
169         * gcc-interface/utils.c (gnat_internal_attribute_table): Add new column
170
171 2011-03-17  Eric Botcazou  <ebotcazou@adacore.com>
172
173         * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
174         out whether the expression is read-only.  Short-circuit placeholder
175         case and rename a couple of local variables.
176
177 2011-03-17  Eric Botcazou  <ebotcazou@adacore.com>
178
179         * gcc-interface/gigi.h (smaller_form_type_p): Declare.
180         * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
181         * gcc-interface/utils.c (smaller_form_type_p): ...to here.
182         (convert): Deal with conversions from a smaller form type specially.
183
184 2011-02-14  Eric Botcazou  <ebotcazou@adacore.com>
185
186         * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
187         its argument, except for the special -I- switch.
188
189 2011-02-12  Gerald Pfeifer  <gerald@pfeifer.com>
190
191         * gnat_ugn.texi (Compiling Different Versions of Ada): Update
192         link to "Ada Issues".
193
194 2011-02-08  Eric Botcazou  <ebotcazou@adacore.com>
195
196         * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
197
198 2011-02-03  Eric Botcazou  <ebotcazou@adacore.com>
199
200         * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
201         GNAT_FORMAL.
202         * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
203         * gcc-interface/utils.c (fill_vms_descriptor): ...here.  Take GNU_TYPE
204         instead of GNAT_FORMAL.  Protect the expression against multiple uses.
205         Do not generate the check directly, instead instantiate the template
206         check present in the descriptor.
207         (make_descriptor_field): Move around.
208         (build_vms_descriptor32): Build a template check in the POINTER field.
209         (build_vms_descriptor): Remove useless suffixes.
210         * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
211
212 2011-01-26  Eric Botcazou  <ebotcazou@adacore.com>
213
214         PR bootstrap/47467
215         * targext.c: Include target files if IN_RTS is defined.
216
217 2011-01-26  Richard Guenther  <rguenther@suse.de>
218
219         PR bootstrap/47467
220         * targext.c: Include config.h.
221         * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
222         dependency.
223
224 2011-01-04  Pascal Obry  <obry@adacore.com>
225             Eric Botcazou  <ebotcazou@adacore.com>
226
227         * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
228
229 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
230
231         * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
232         end-of-case on the end label and its associated gotos, if any.
233
234 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
235
236         * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
237         expressions of the parameter cache within the statement group of
238         the CICO mechanism.
239
240 2011-01-04  Olivier Hainque  <hainque@adacore.com>
241             Eric Botcazou  <ebotcazou@adacore.com>
242
243         * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
244         (set_end_locus_from_node): New function.
245         (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
246         make and the function end_locus.
247         (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
248         for the elaboration subprogram.
249         (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
250         set the end_locus of the expression as well.
251
252 2011-01-04  Eric Botcazou  <ebotcazou@adacore.com>
253
254         PR ada/47131
255         * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
256         variables that are referenced in exception handlers volatile.
257
258
259 \f
260 Copyright (C) 2011 Free Software Foundation, Inc.
261
262 Copying and distribution of this file, with or without modification,
263 are permitted in any medium without royalty provided the copyright
264 notice and this notice are preserved.