12ba03bd7717532ad7d577e2d1765361a2942b22
[gcc.git] / gcc / ada / ChangeLog
1 2011-08-01 Pascal Obry <obry@adacore.com>
2
3 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
4 Fix Replace_Slice when High is above current string size.
5 (Replace_Slice): Fix DL computation when High is above current
6 string length.
7
8 2011-08-01 Gary Dismukes <dismukes@adacore.com>
9
10 * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
11
12 2011-08-01 Matthew Heaney <heaney@adacore.com>
13
14 * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
15 of node.
16
17 2011-08-01 Pascal Obry <obry@adacore.com>
18
19 * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
20 reformatting.
21
22 2011-08-01 Ed Schonberg <schonberg@adacore.com>
23
24 * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
25 access to protected subprograms in generic bodies.
26 * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
27 protected type, indicate that the convention of the subprogram is
28 Convention_Protected, because it may be used in subsequent declarations
29 within the protected declaration.
30
31 2011-08-01 Vincent Celier <celier@adacore.com>
32
33 * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
34 and "final" procedures when the name of the library is "ada", to avoid
35 duplicate symbols "adainit" and "adafinal" in executables.
36
37 2011-08-01 Ed Schonberg <schonberg@adacore.com>
38
39 * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
40 quantified expression that appears within a postcondition and uses the
41 Ada2012 'Result attribute.
42
43 2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
44
45 * init.c (__gnat_error_handler): Cast reason to int.
46 (__gnat_install_handler): Explain sa_sigaction use.
47
48 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
49
50 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
51 subprogram has copy-in copy-out parameters, try to promote the mode of
52 the return type if it is passed in registers.
53
54 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
55
56 * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
57 left operand as addressable.
58
59 2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
60
61 * gcc-interface/gigi.h (build_function_stub): Remove.
62 (build_return_expr): Likewise.
63 (convert_vms_descriptor): Declare.
64 * gcc-interface/utils.c (convert_vms_descriptor): Make global.
65 (build_function_stub): Move to...
66 * gcc-interface/utils2.c (build_return_expr): Move to...
67 * gcc-interface/trans.c (build_function_stub): ...here.
68 (build_return_expr): ...here.
69 (Subprogram_Body_to_gnu): Add local variable for language_function.
70 Disconnect the parameter attributes cache, if any, once done with it.
71 Call end_subprog_body only after setting the end_locus.
72 Build the stub associated with the function, if any, at the very end.
73 (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
74 variables and streamline control flow.
75
76 2011-07-23 Arnaud Charlet <charlet@adacore.com>
77
78 PR ada/49819
79 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
80 g-trasym-dwarf.adb.
81
82 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
83
84 PR bootstrap/49794
85 * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
86 Assign to act.sa_sigaction.
87 * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
88 current->return_address to char * before arithmetic.
89
90 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
91
92 * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
93 Correct argument types.
94 Extract code from reason.
95 (__gnat_install_handler): Assign to act.sa_sigaction.
96
97 2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
98
99 * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
100 (GNAT1_OBJS): ...here.
101
102 2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
103
104 PR ada/48711
105 * g-socthi-mingw.adb (Fill): Fix formatting.
106
107 * gcc-interface/gigi.h: Move around comment.
108
109 2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
110
111 PR ada/46350
112 * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
113
114 2011-07-14 Florian Weimer <fw@deneb.enyo.de>
115
116 PR ada/48711
117 * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
118
119 2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
120
121 * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
122 range comparison if Pmode is SImode.
123
124 2011-07-12 Laurent GUERBY <laurent@guerby.net>
125 Eric Botcazou <ebotcazou@adacore.com>
126
127 * adadecode.c: Wrap up in extern "C" block.
128 * adadecode.h: Likewise.
129 * adaint.c: Likewise. Remove 'const' keyword.
130 * adaint.h: Likewise.
131 * argv.c: Likewise.
132 * atree.h: Likewise.
133 * cio.c: Likewise.
134 * cstreams.c: Likewise.
135 * env.c: Likewise.
136 * exit.c: Likewise.
137 * fe.h: Likewise.
138 * final.c: Likewise.
139 * init.c: Likewise.
140 * initialize.c: Likewise.
141 * link.c: Likewise.
142 * namet.h: Likewise.
143 * nlists.h: Likewise.
144 * raise.c: Likewise.
145 * raise.h: Likewise.
146 * repinfo.h: Likewise.
147 * seh_init.c: Likewise.
148 * targext.c: Likewise.
149 * tracebak.c: Likewise.
150 * uintp.h: Likewise.
151 * urealp.h: Likewise.
152 * xeinfo.adb: Wrap up generated C code in extern "C" block.
153 * xsinfo.adb: Likewise.
154 * xsnamest.adb: Likewise.
155 * gcc-interface/gadaint.h: Wrap up in extern "C" block.
156 * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
157 * gcc-interface/misc.c: Likewise.
158 * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
159 (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
160 ada/targext.o here...
161 (GNAT_ADA_OBJS): ...and not here.
162 (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
163 (GNATBIND_OBJS): Reorder.
164
165 2011-07-07 Richard Henderson <rth@redhat.com>
166
167 * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
168 dwarf2out_frame_init.
169
170 2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
171
172 * gcc-interface/misc.c (gnat_init): Tweak previous change.
173
174 2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
175
176 PR target/39150
177 * gcc-interface/Makefile.in: Handle x86_64-solaris2.
178
179 2011-07-06 Richard Guenther <rguenther@suse.de>
180
181 * gcc-interface/misc.c (gnat_init): Merge calls to
182 build_common_tree_nodes and build_common_tree_nodes_2.
183 Re-initialize boolean_false_node.
184
185 2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
186 Olivier Hainque <hainque@adacore.com>
187 Nicolas Setton <setton@adacore.com>
188
189 * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
190 the type according to the ARTIFICIAL_P parameter.
191 (create_type_decl): Likewise.
192 (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
193
194 2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
195
196 * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
197 (gnatbind): Likewise.
198
199 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
200
201 * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
202
203 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
204
205 * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
206 local variable throughout. Remove useless call to Base_Type.
207 (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
208 Take it also into account for the volatileness of the field. Set the
209 TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
210
211 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
212
213 * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
214 on a dereference built for a by-ref object if it has an address clause.
215
216 2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
217
218 * einfo.ads (Address_Taken): Document use for the second argument of
219 Asm_Input and Asm_Output attributes.
220 * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
221 argument is an entity name, then set Address_Taken on it.
222 <Attribute_Asm_Output>: Likewise.
223 * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
224 Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
225 (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
226 memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
227
228 2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
229
230 PR middle-end/46500
231 * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
232
233 2011-06-14 Joseph Myers <joseph@codesourcery.com>
234
235 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
236 (ada/utils.o): Update dependencies.
237 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
238 ../../../libcpp/libcpp.a.
239 * gcc-interface/utils.c: Include common/common-target.h.
240 (process_attributes): Use targetm_common.have_named_sections.
241
242 2011-06-07 Richard Guenther <rguenther@suse.de>
243
244 * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
245 set_sizetype.
246
247 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
248
249 * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
250 TREE_THIS_NOTRAP flag.
251
252 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
253
254 * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
255 Fix thinko.
256
257 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
258
259 * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
260 constants whose full view has discriminants specially.
261
262 2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
263
264 * gcc-interface/utils.c: Include diagnostic.h.
265 (gnat_write_global_declarations): Output debug information for all
266 global type declarations before finalizing the compilation unit.
267 * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
268
269 2011-05-25 Jakub Jelinek <jakub@redhat.com>
270
271 * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
272
273 2011-05-25 Kai Tietz <ktietz@redhat.com>
274
275 * adaint.c (__gnat_to_canonical_file_list_next): Use array
276 initialization instead of const/none-const pointer assignment.
277
278 2011-05-24 Joseph Myers <joseph@codesourcery.com>
279
280 * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
281 $(EXTRA_GNAT1_OBJS).
282 (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
283 (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
284 (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
285 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
286 libcommon-target.a instead of prefix.o.
287
288 2011-05-21 Joseph Myers <joseph@codesourcery.com>
289
290 PR ada/49097
291 * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
292
293 2011-05-20 Joseph Myers <joseph@codesourcery.com>
294
295 * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
296 * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
297 instead of version.o.
298
299 2011-05-18 Kai Tietz <ktietz@redhat.com>
300
301 * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
302 boolean_false_node instead of integer_zero_node.
303 (convert_with_check): Likewise.
304 * gcc-interface/decl.c (choices_to_gnu): Likewise.
305
306 2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
307
308 * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
309 type of the parameter is an unconstrained array, convert the actual to
310 the type of the formal in the In Out and Out cases as well.
311
312 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
313
314 * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
315 call build_function_type_array or build_varargs_function_type_array
316 instead.
317 (create_subprog_type): Don't call build_function_type; call
318 build_function_type_vec instead.
319
320 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
321
322 * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
323 (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
324 (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
325
326 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
327
328 * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
329
330 * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
331 * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
332
333 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
334
335 * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
336
337 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
338
339 * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
340 instead of accessing TYPE_ARG_TYPES directly.
341 * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
342
343 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
344
345 PR ada/48844
346 * gcc-interface/gigi.h (get_variant_part): Declare.
347 * gcc-interface/decl.c (get_variant_part): Make global.
348 * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
349 types have the same constant size, are record types and T1 has a
350 variant part while T2 doesn't.
351
352 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
353
354 * gcc-interface/utils.c (begin_subprog_body): Do not call
355 get_pending_sizes.
356 (end_subprog_body): Likewise.
357
358 2011-05-04 Richard Guenther <rguenther@suse.de>
359
360 * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
361 int_const_binop.
362 (pos_to_constructor): Likewise.
363
364 2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
365 Eric Botcazou <ebotcazou@adacore.com>
366
367 * gcc-interface/trans.c (gigi): Call build_function_type_list instead
368 of build_function_type. Adjust calls to...
369 (build_raise_check): ...this. Do not take a void_tree parameter.
370 Call build_function_type_list instead of build_function_type.
371 Fix head comment and swap couple of conditional blocks.
372
373 2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
374
375 * gnatvsn.ads (Library_Version): Bump to 4.7.
376 (Current_Year): Bump to 2011.
377
378 2011-04-29 Michael Matz <matz@suse.de>
379
380 * gcc-interface/misc.c (gnat_handle_option): Set
381 warn_maybe_uninitialized.
382
383 2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
384
385 * gnat_ugn.texi (Complexity Metrics Control): Update link to
386 the Watson/McCabe paper.
387
388 2011-04-23 Jim Meyering <meyering@redhat.com>
389
390 * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
391
392 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
393
394 * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
395 onto the new type.
396
397 2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
398
399 * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
400 parameter.
401 * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
402 DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
403 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
404 ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
405 <all>: Do not set flags on the reused DECL node coming from an alias.
406 Set DECL_IGNORED_P on the DECL node built for subprograms if they
407 don't need debug info here...
408 * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
409 (gigi): Adjust calls to create_subprog_decl.
410 (build_raise_check): Likewise.
411 (establish_gnat_vms_condition_handler): Likewise.
412 (Compilation_Unit_to_gnu): Likewise.
413 (gnat_to_gnu): Likewise.
414
415 2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
416
417 * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
418 (NO_REORDER_ADAFLAGS): New variable.
419 (EXTRA_GNATTOOLS): Always define.
420 (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
421 Clean up and adjust list of files compiled with special options.
422 * gcc-interface/Make-lang.in: Likewise.
423 (ada/decl.o): Cosmetical change.
424 (ada/misc.o): Remove dependency on $(PLUGIN_H).
425
426 2011-04-20 Jim Meyering <meyering@redhat.com>
427
428 * initialize.c (__gnat_initialize): Remove useless if-before-free.
429
430 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
431
432 * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
433 $(CFLAGS) on the link line.
434
435 2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
436
437 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
438 padded type built for the return type if it is unconstrained.
439
440 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
441
442 * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
443
444 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
445
446 * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
447 before calling TREE_CHAIN.
448 * gcc-interface/misc.c (gnat_init_ts): New function.
449 (LANG_HOOKS_INIT_TS): Define.
450
451 2011-04-12 Martin Jambor <mjambor@suse.cz>
452
453 * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
454 instead of cgraph_node.
455
456 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
457
458 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
459 alignment on fields of the RETURN type built for the Copy-In Copy-Out
460 mechanism.
461
462 2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
463
464 * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
465 of aggregate types that contain a placeholder.
466
467 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
468
469 * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
470 TYPE_ARG_TYPES.
471 (handle_type_generic_attribute): Likewise.
472
473 2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
474
475 PR ada/47163
476 * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
477
478 2011-04-04 Kai Tietz <ktietz@redhat.com>
479
480 PR ada/47163
481 * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
482 to flag value.
483
484 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
485
486 * gcc-interface/utils2.c (build_allocator): In the unconstrained array
487 type case, do not strip a padding type around the array type.
488
489 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
490
491 * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
492 types.
493
494 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
495
496 * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
497 * gcc-interface/misc.c (gnat_handle_option): Remove special handling
498 code for -feliminate-unused-debug-types.
499 (gnat_post_options): Likewise.
500
501 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
502
503 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
504 declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
505 distinct copy.
506
507 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
508
509 * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
510 DECL_ARTIFICIAL flag on enumeration types.
511
512 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
513
514 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
515 fat pointer types artificial unconditionally.
516 <E_Array_Subtype>: Attach the base array type as a parallel type if it
517 isn't artificial.
518
519 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
520
521 * gcc-interface/gigi.h (get_dummy_type): Declare.
522 (build_dummy_unc_pointer_types): Likewise.
523 (finish_fat_pointer_type): Likewise.
524 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
525 fat pointer type has been built, complete it in place.
526 <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
527 and thin pointers. Remove useless variable.
528 (finish_fat_pointer_type): Make global and move to...
529 * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
530 (get_dummy_type): New function.
531 (build_dummy_unc_pointer_types): Likewise.
532 (gnat_pushdecl): Propage the name to the anonymous variants only.
533 (update_pointer_to): Only adjust the pointer types in the unconstrained
534 array case.
535
536 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
537
538 * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
539 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
540 if this is a Taft amendment type and the full declaration is available.
541 * gcc-interface/trans.c (process_type): Likewise.
542 If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
543 (process_freeze_entity): Likewise.
544 * gcc-interface/utils.c (dummy_global): New static variable.
545 (gnat_write_global_declarations): If there are types declared as used
546 at the global level, insert them in the global hash table.
547
548 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
549
550 * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
551 * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
552 declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
553 copy.
554 (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
555 flag of the type accordingly.
556 * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
557
558 2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
559
560 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
561 finalizing types when updating the pointers to the designated type.
562 <all>: Finalize the deferred types even if we didn't defer processing
563 of incomplete types in this invocation.
564
565 2011-04-01 Olivier Hainque <hainque@adacore.com>
566 Nicolas Setton <setton@adacore.com>
567 Eric Botcazou <ebotcazou@adacore.com>
568
569 * gcc-interface/misc.c (gnat_descriptive_type): New function.
570 (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
571
572 2011-03-28 Kai Tietz <ktietz@redhat.com>
573
574 * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
575 Windows targets.
576 (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
577 * system-mingw.ads (System): Change ZCX_By_Default default to True.
578
579 * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
580
581 2011-03-28 Tristan Gingold <gingold@adacore.com>
582
583 PR ada/44431
584 * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
585 Use ada output of gnatbind.
586 (ada/b_gnatb.adb): Ditto.
587 (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
588 (ada.mostlyclean, ada.stage1)
589 (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
590 (ada.stagefeedback): Adjust.
591 * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
592 Use ada output of gnatbind.
593 (b_gnatm.adb): Ditto.
594 (b_gnatl.o, b_gnatm.o): New rules.
595
596 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
597
598 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
599 for the padded type built to support a specified size or alignment.
600
601 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
602
603 * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
604 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
605 unconditionally to the end of the unit when the designated type is
606 limited_with'ed.
607 <all>: Rename local variable. Attempt to un-defer types only and do it
608 for limited_with'ed types as well.
609 (finalize_from_with_types): Adjust comment. Rename variable and tidy.
610 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
611 consistently and remove redundant call to finalize_from_with_types.
612
613 2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
614
615 * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
616 subprograms without a previous spec declared in the same unit.
617 * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
618 subprograms at the end of the unit instead of at the beginning.
619 * gcc-interface/utils.c (create_subprog_decl): Check that the entity
620 isn't public for the special handling of non-inline functions nested
621 inside inline external functions.
622
623 2011-03-25 Jeff Law <law@redhat.com>
624
625 * gcc-interface/utils.c (def_fn_type): Add missing va_end.
626
627 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
628
629 * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
630 * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
631 to compute Set_Size_Depends_On_Discriminant.
632 (Layout_Type): Call it on array types in back-end layout mode.
633 * sem_util.adb (Requires_Transient_Scope): Return true for array
634 types only if the size depends on the value of discriminants.
635 * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
636 type if the RHS is a call to a function that returns an unconstrained
637 type with default discriminant.
638
639 2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
640
641 * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
642 non-conversion to the nominal result type at the end.
643
644 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
645
646 * gcc-interface/trans.c (create_temporary): New function taken from...
647 (create_init_temporary): ...here. Call it.
648 (call_to_gnu): Create the temporary for the return value early, if any.
649 Create it for a function with copy-in/copy-out parameters if there is
650 no target; in other cases of copy-in/copy-out, use another temporary.
651 Push the new binding level lazily. Add and rename local variables.
652
653 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
654
655 * gcc-interface/decl.c (validate_size): Improve comments and tweak
656 error message.
657 (set_rm_size): Likewise.
658
659 2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
660
661 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
662 for the padded type built in order to support a specified alignment.
663 Fix incorrect formatting.
664
665 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
666
667 PR bootstrap/48216
668 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
669
670 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
671
672 * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
673 rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
674 to the end of the list. Adjust recursive call. Rename local variable.
675 If REORDER is true, reorder components of the record type.
676 (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
677 components_to_record and adjust the parameter list.
678
679 2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
680
681 * gcc-interface/decl.c (elaborate_expression_1): When optimization is
682 disabled, use the variable for bounds of loop iteration scheme.
683
684 2011-03-21 Kai Tietz <ktietz@redhat.com>
685
686 PR target/12171
687 * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
688
689 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
690
691 * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
692 out whether the expression is read-only. Short-circuit placeholder
693 case and rename a couple of local variables.
694
695 2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
696
697 * gcc-interface/gigi.h (smaller_form_type_p): Declare.
698 * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
699 * gcc-interface/utils.c (smaller_form_type_p): ...to here.
700 (convert): Deal with conversions from a smaller form type specially.
701
702 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
703
704 * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
705 its argument, except for the special -I- switch.
706
707 2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
708
709 * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
710 "Ada Issues".
711
712 2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
713
714 * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
715
716 2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
717
718 * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
719 GNAT_FORMAL.
720 * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
721 * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
722 instead of GNAT_FORMAL. Protect the expression against multiple uses.
723 Do not generate the check directly, instead instantiate the template
724 check present in the descriptor.
725 (make_descriptor_field): Move around.
726 (build_vms_descriptor32): Build a template check in the POINTER field.
727 (build_vms_descriptor): Remove useless suffixes.
728 * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
729
730 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
731
732 PR bootstrap/47467
733 * targext.c: Include target files if IN_RTS is defined.
734
735 2011-01-26 Richard Guenther <rguenther@suse.de>
736
737 PR bootstrap/47467
738 * targext.c: Include config.h.
739 * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
740 dependency.
741
742 2011-01-04 Pascal Obry <obry@adacore.com>
743 Eric Botcazou <ebotcazou@adacore.com>
744
745 * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
746
747 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
748
749 * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
750 end-of-case on the end label and its associated gotos, if any.
751
752 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
753
754 * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
755 expressions of the parameter cache within the statement group of
756 the CICO mechanism.
757
758 2011-01-04 Olivier Hainque <hainque@adacore.com>
759 Eric Botcazou <ebotcazou@adacore.com>
760
761 * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
762 (set_end_locus_from_node): New function.
763 (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
764 make and the function end_locus.
765 (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
766 for the elaboration subprogram.
767 (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
768 set the end_locus of the expression as well.
769
770 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
771
772 PR ada/47131
773 * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
774 variables that are referenced in exception handlers volatile.
775
776
777 \f
778 Copyright (C) 2011 Free Software Foundation, Inc.
779
780 Copying and distribution of this file, with or without modification,
781 are permitted in any medium without royalty provided the copyright
782 notice and this notice are preserved.