]> gcc.gnu.org Git - gcc.git/blob - gcc/ada/ChangeLog
re PR tree-optimization/48837 (Wrong optimization of recursive function calls)
[gcc.git] / gcc / ada / ChangeLog
1 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2
3 * gcc-interface/trans.c (Case_Statement_to_gnu): Call
4 build_case_label.
5
6 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
7
8 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
9 instead of accessing TYPE_ARG_TYPES directly.
10 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
11
12 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
13
14 PR ada/48844
15 * gcc-interface/gigi.h (get_variant_part): Declare.
16 * gcc-interface/decl.c (get_variant_part): Make global.
17 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
18 types have the same constant size, are record types and T1 has a
19 variant part while T2 doesn't.
20
21 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
22
23 * gcc-interface/utils.c (begin_subprog_body): Do not call
24 get_pending_sizes.
25 (end_subprog_body): Likewise.
26
27 2011-05-04 Richard Guenther <rguenther@suse.de>
28
29 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
30 int_const_binop.
31 (pos_to_constructor): Likewise.
32
33 2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
34 Eric Botcazou <ebotcazou@adacore.com>
35
36 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
37 of build_function_type. Adjust calls to...
38 (build_raise_check): ...this. Do not take a void_tree parameter.
39 Call build_function_type_list instead of build_function_type.
40 Fix head comment and swap couple of conditional blocks.
41
42 2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
43
44 * gnatvsn.ads (Library_Version): Bump to 4.7.
45 (Current_Year): Bump to 2011.
46
47 2011-04-29 Michael Matz <matz@suse.de>
48
49 * gcc-interface/misc.c (gnat_handle_option): Set
50 warn_maybe_uninitialized.
51
52 2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
53
54 * gnat_ugn.texi (Complexity Metrics Control): Update link to
55 the Watson/McCabe paper.
56
57 2011-04-23 Jim Meyering <meyering@redhat.com>
58
59 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
60
61 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
62
63 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
64 onto the new type.
65
66 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
67
68 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
69 parameter.
70 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
71 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
72 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
73 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
74 <all>: Do not set flags on the reused DECL node coming from an alias.
75 Set DECL_IGNORED_P on the DECL node built for subprograms if they
76 don't need debug info here...
77 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
78 (gigi): Adjust calls to create_subprog_decl.
79 (build_raise_check): Likewise.
80 (establish_gnat_vms_condition_handler): Likewise.
81 (Compilation_Unit_to_gnu): Likewise.
82 (gnat_to_gnu): Likewise.
83
84 2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
85
86 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
87 (NO_REORDER_ADAFLAGS): New variable.
88 (EXTRA_GNATTOOLS): Always define.
89 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
90 Clean up and adjust list of files compiled with special options.
91 * gcc-interface/Make-lang.in: Likewise.
92 (ada/decl.o): Cosmetical change.
93 (ada/misc.o): Remove dependency on $(PLUGIN_H).
94
95 2011-04-20 Jim Meyering <meyering@redhat.com>
96
97 * initialize.c (__gnat_initialize): Remove useless if-before-free.
98
99 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
100
101 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
102 $(CFLAGS) on the link line.
103
104 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
105
106 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
107 padded type built for the return type if it is unconstrained.
108
109 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
110
111 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
112
113 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
114
115 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
116 before calling TREE_CHAIN.
117 * gcc-interface/misc.c (gnat_init_ts): New function.
118 (LANG_HOOKS_INIT_TS): Define.
119
120 2011-04-12 Martin Jambor <mjambor@suse.cz>
121
122 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
123 instead of cgraph_node.
124
125 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
126
127 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
128 alignment on fields of the RETURN type built for the Copy-In Copy-Out
129 mechanism.
130
131 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
132
133 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
134 of aggregate types that contain a placeholder.
135
136 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
137
138 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
139 TYPE_ARG_TYPES.
140 (handle_type_generic_attribute): Likewise.
141
142 2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
143
144 PR ada/47163
145 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
146
147 2011-04-04 Kai Tietz <ktietz@redhat.com>
148
149 PR ada/47163
150 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows
151 targets to flag value.
152
153 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
154
155 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
156 type case, do not strip a padding type around the array type.
157
158 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
159
160 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
161 types.
162
163 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
164
165 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
166 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
167 code for -feliminate-unused-debug-types.
168 (gnat_post_options): Likewise.
169
170 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
171
172 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
173 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
174 distinct copy.
175
176 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
177
178 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
179 DECL_ARTIFICIAL flag on enumeration types.
180
181 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
182
183 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
184 fat pointer types artificial unconditionally.
185 <E_Array_Subtype>: Attach the base array type as a parallel type if it
186 isn't artificial.
187
188 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
189
190 * gcc-interface/gigi.h (get_dummy_type): Declare.
191 (build_dummy_unc_pointer_types): Likewise.
192 (finish_fat_pointer_type): Likewise.
193 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
194 fat pointer type has been built, complete it in place.
195 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
196 and thin pointers. Remove useless variable.
197 (finish_fat_pointer_type): Make global and move to...
198 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
199 (get_dummy_type): New function.
200 (build_dummy_unc_pointer_types): Likewise.
201 (gnat_pushdecl): Propage the name to the anonymous variants only.
202 (update_pointer_to): Only adjust the pointer types in the unconstrained
203 array case.
204
205 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
206
207 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
208 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
209 if this is a Taft amendment type and the full declaration is available.
210 * gcc-interface/trans.c (process_type): Likewise.
211 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
212 (process_freeze_entity): Likewise.
213 * gcc-interface/utils.c (dummy_global): New static variable.
214 (gnat_write_global_declarations): If there are types declared as used
215 at the global level, insert them in the global hash table.
216
217 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
218
219 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
220 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
221 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
222 copy.
223 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
224 flag of the type accordingly.
225 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
226
227 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
228
229 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
230 finalizing types when updating the pointers to the designated type.
231 <all>: Finalize the deferred types even if we didn't defer processing
232 of incomplete types in this invocation.
233
234 2011-04-01 Olivier Hainque <hainque@adacore.com>
235 Nicolas Setton <setton@adacore.com>
236 Eric Botcazou <ebotcazou@adacore.com>
237
238 * gcc-interface/misc.c (gnat_descriptive_type): New function.
239 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
240
241 2011-03-28 Kai Tietz <ktietz@redhat.com>
242
243 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
244 Windows targets.
245 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
246 * system-mingw.ads (System): Change ZCX_By_Default default to True.
247
248 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
249
250 2011-03-28 Tristan Gingold <gingold@adacore.com>
251
252 PR ada/44431
253 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
254 Use ada output of gnatbind.
255 (ada/b_gnatb.adb): Ditto.
256 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
257 (ada.mostlyclean, ada.stage1)
258 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
259 (ada.stagefeedback): Adjust.
260 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
261 Use ada output of gnatbind.
262 (b_gnatm.adb): Ditto.
263 (b_gnatl.o, b_gnatm.o): New rules.
264
265 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
266
267 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
268 for the padded type built to support a specified size or alignment.
269
270 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
271
272 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
273 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
274 unconditionally to the end of the unit when the designated type is
275 limited_with'ed.
276 <all>: Rename local variable. Attempt to un-defer types only and do it
277 for limited_with'ed types as well.
278 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
279 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
280 consistently and remove redundant call to finalize_from_with_types.
281
282 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
283
284 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
285 subprograms without a previous spec declared in the same unit.
286 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
287 subprograms at the end of the unit instead of at the beginning.
288 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
289 isn't public for the special handling of non-inline functions nested
290 inside inline external functions.
291
292 2011-03-25 Jeff Law <law@redhat.com>
293
294 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
295
296 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
297
298 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
299 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
300 to compute Set_Size_Depends_On_Discriminant.
301 (Layout_Type): Call it on array types in back-end layout mode.
302 * sem_util.adb (Requires_Transient_Scope): Return true for array
303 types only if the size depends on the value of discriminants.
304 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
305 type if the RHS is a call to a function that returns an unconstrained
306 type with default discriminant.
307
308 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
309
310 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
311 non-conversion to the nominal result type at the end.
312
313 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
314
315 * gcc-interface/trans.c (create_temporary): New function taken from...
316 (create_init_temporary): ...here. Call it.
317 (call_to_gnu): Create the temporary for the return value early, if any.
318 Create it for a function with copy-in/copy-out parameters if there is
319 no target; in other cases of copy-in/copy-out, use another temporary.
320 Push the new binding level lazily. Add and rename local variables.
321
322 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
323
324 * gcc-interface/decl.c (validate_size): Improve comments and tweak
325 error message.
326 (set_rm_size): Likewise.
327
328 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
329
330 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
331 for the padded type built in order to support a specified alignment.
332 Fix incorrect formatting.
333
334 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
335
336 PR bootstrap/48216
337 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
338
339 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
340
341 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
342 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
343 to the end of the list. Adjust recursive call. Rename local variable.
344 If REORDER is true, reorder components of the record type.
345 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
346 components_to_record and adjust the parameter list.
347
348 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
349
350 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
351 disabled, use the variable for bounds of loop iteration scheme.
352
353 2011-03-21 Kai Tietz <ktietz@redhat.com>
354
355 PR target/12171
356 * gcc-interface/utils.c (gnat_internal_attribute_table): Add new column
357
358 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
359
360 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
361 out whether the expression is read-only. Short-circuit placeholder
362 case and rename a couple of local variables.
363
364 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
365
366 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
367 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
368 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
369 (convert): Deal with conversions from a smaller form type specially.
370
371 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
372
373 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
374 its argument, except for the special -I- switch.
375
376 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
377
378 * gnat_ugn.texi (Compiling Different Versions of Ada): Update
379 link to "Ada Issues".
380
381 2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
382
383 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
384
385 2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
386
387 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
388 GNAT_FORMAL.
389 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
390 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
391 instead of GNAT_FORMAL. Protect the expression against multiple uses.
392 Do not generate the check directly, instead instantiate the template
393 check present in the descriptor.
394 (make_descriptor_field): Move around.
395 (build_vms_descriptor32): Build a template check in the POINTER field.
396 (build_vms_descriptor): Remove useless suffixes.
397 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
398
399 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
400
401 PR bootstrap/47467
402 * targext.c: Include target files if IN_RTS is defined.
403
404 2011-01-26 Richard Guenther <rguenther@suse.de>
405
406 PR bootstrap/47467
407 * targext.c: Include config.h.
408 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
409 dependency.
410
411 2011-01-04 Pascal Obry <obry@adacore.com>
412 Eric Botcazou <ebotcazou@adacore.com>
413
414 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
415
416 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
417
418 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
419 end-of-case on the end label and its associated gotos, if any.
420
421 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
422
423 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
424 expressions of the parameter cache within the statement group of
425 the CICO mechanism.
426
427 2011-01-04 Olivier Hainque <hainque@adacore.com>
428 Eric Botcazou <ebotcazou@adacore.com>
429
430 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
431 (set_end_locus_from_node): New function.
432 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
433 make and the function end_locus.
434 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
435 for the elaboration subprogram.
436 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
437 set the end_locus of the expression as well.
438
439 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
440
441 PR ada/47131
442 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
443 variables that are referenced in exception handlers volatile.
444
445
446 \f
447 Copyright (C) 2011 Free Software Foundation, Inc.
448
449 Copying and distribution of this file, with or without modification,
450 are permitted in any medium without royalty provided the copyright
451 notice and this notice are preserved.
This page took 0.056011 seconds and 6 git commands to generate.