OSDN Git Service

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