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