OSDN Git Service

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