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