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