OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [fortran/] [ChangeLog-2005] - Blame information for rev 414

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 285 jeremybenn
2005-12-30  Erik Edelmann  
2
 
3
        PR fortran/22607
4
        * trans-decl.c(gfc_get_extern_function_decl): Don't set
5
        DECL_IS_PURE (fndecl) = 1 for return-by-reference
6
        functions.
7
 
8
        fortran/PR 25396
9
        * interface.c (gfc_extend_expr): Initialize
10
        e->value.function.name to NULL.
11
 
12
2005-12-29  Paul Thomas  
13
 
14
        PR fortran/25532
15
        * trans-types.c (copy_dt_decls_ifequal): Copy declarations for
16
        components of derived type components by recursing into
17
        gfc_get_derived_type.
18
 
19
2005-12-28  Andrew Pinski  
20
 
21
        PR fortran/25587
22
        * trans-io.c (gfc_build_st_parameter): Correct off by one error.
23
 
24
2005-12-28  Rafael Ávila de Espíndola  
25
 
26
        * Make-lang.in: Remove distdir from comment.
27
 
28
2005-12-24  Paul Thomas  
29
 
30
        PR fortran/25029
31
        PR fortran/21256
32
        * resolve.c (check_assumed_size_reference, resolve_assumed_size_actual):
33
        Remove because of regressions caused by patch.
34
        (resolve_function, resolve_call, resolve_variable): Remove assumed size
35
        checks because of regressionscaused by patch.
36
 
37
2005-12-23  Paul Thomas  
38
 
39
        PR fortran/25029
40
        PR fortran/21256
41
        *resolve.c(resolve_function): Remove assumed size checking for SIZE
42
        and UBOUND and rely on their built-in checking.
43
 
44
2005-12-22  Tobias Schl"uter  
45
 
46
        PR fortran/18990
47
        * gfortran.h (gfc_charlen): Add resolved field.
48
        * expr.c (gfc_specification_expr): Accept NULL argument.
49
        * resolve.c (gfc_resolve_charlen, gfc_resolve_derived): New.
50
        (gfc_resolve_symbol): Resolve derived type definitions.  Use
51
        resolve_charlen to resolve character lengths.
52
 
53
2005-12-22  Paul Thomas  
54
 
55
        PR fortran/20889
56
        *resolve.c(resolve_structure_cons): Do not attempt to convert
57
        the type of mismatched pointer type components, except when
58
        the constructor component is BT_UNKNOWN; emit error instead.
59
 
60
        PR fortran/25029
61
        PR fortran/21256
62
        *resolve.c(check_assumed_size_reference): New function to check for upper
63
        bound in assumed size array references.
64
        (resolve_assumed_size_actual): New function to do a very restricted scan
65
        of actual argument expressions of those procedures for which incomplete
66
        assumed size array references are not allowed.
67
        (resolve_function, resolve_call): Switch off assumed size checking of
68
        actual arguments, except for elemental procedures and array valued
69
        intrinsics; excepting LBOUND.
70
        (resolve_variable): Call check_assumed_size_reference.
71
 
72
        PR fortran/19362
73
        PR fortran/20244
74
        PR fortran/20864
75
        PR fortran/25391
76
        *interface.c(gfc_compare_types): Broken into two.
77
        (gfc_compare_derived_types): Second half of gfc_compare_types with
78
        corrections for a missing check that module name is non-NULL and
79
        a check for private components.
80
        *symbol.c(gfc_free_dt_list): New function.
81
        (gfc_free_namespace): Call gfc_free_dt_list.
82
        *resolve.c(resolve_symbol): Build the list of derived types in the
83
        symbols namespace.
84
        *gfortran.h: Define the structure type gfc_dt_list.  Add a new field,
85
        derived_types to gfc_namespace.  Provide a prototye for the new
86
        function gfc_compare_derived_types.
87
        *trans_types.c(gfc_get_derived_type): Test for the derived type being
88
        available in the host namespace. In this case, the host backend
89
        declaration is used for the structure and its components.  If an
90
        unbuilt, equal structure that is not use associated is found in the
91
        host namespace, build it there and then.  On exit,traverse the
92
        namespace of the derived type to see if there are equal but unbuilt.
93
        If so, copy the structure and its component declarations.
94
        (copy_dt_decls_ifequal): New functions to copy declarations to other
95
        equal structure types.
96
 
97
        PR fortran/20862
98
        * io.c (gfc_match_format): Make the appearance of a format statement
99
        in a module specification block an error.
100
 
101
        PR fortran/23152
102
        * match.c (gfc_match_namelist): Set assumed shape arrays in
103
        namelists as std=GFC_STD_GNU and assumed size arrays as an
104
        unconditional error.
105
 
106
        PR fortran/25069
107
        * match.c (gfc_match_namelist): Set the respecification of a USE
108
        associated namelist group as std=GFC_STD_GNU.  Permit the concatenation
109
        on no error.
110
 
111
        PR fortran/25053
112
        PR fortran/25063
113
        PR fortran/25064
114
        PR fortran/25066
115
        PR fortran/25067
116
        PR fortran/25068
117
        PR fortran/25307
118
        * io.c (resolve_tag): Change std on IOSTAT != default integer to
119
        GFC_STD_GNU and change message accordingly.  Add same error for
120
        SIZE.
121
        (match_dt_element, gfortran.h): Add field err_where to gfc_dt and
122
        set it when tags are being matched.
123
        (gfc_resolve_dt): Remove tests that can be done before resolution
124
        and add some of the new ones here.
125
        (check_io_constraints): New function that checks for most of the
126
        data transfer constraints. Some of these were previously done in
127
        match_io, from where this function is called, and some were done
128
        in gfc_resolve_dt.
129
        (match_io): Remove most of the tests of constraints and add the
130
        call to check_io_constraints.
131
 
132
2005-12-21  Erik Edelmann  
133
 
134
        PR fortran/25423
135
        * parse.c (parse_where_block): break instead of "fall
136
        through" after parsing nested WHERE construct.
137
 
138
2005-12-18  Paul Thomas  
139
 
140
        PR fortran/25018
141
        *expr.c(check_inquiry): Return FAILURE if there is no symtree to
142
        provide a name. Error/warning for assumed character length argument
143
        to LEN for an initialization expression, using GFC_GNU_STD. Add an
144
        argument to flag that the expression is not restricted.
145
        (check_init_expr): Improve the message for a failing variable.
146
        (gfc_match_init_expr): Call check_enquiry again to make sure that
147
        unsimplified expressions are not causing unnecessary errors.
148
 
149
2005-12-17  Steven G. Kargl  
150
            Tobias Schlueter 
151
 
152
        PR fortran/25458
153
        * simplify.c (gfc_simplify_ibset, gfc_simplify_not): Add call to
154
        twos_complement.
155
 
156
2005-12-17  Steven G. Kargl  
157
 
158
        * decl.c (gfc_match_old_kind_spec,match_type_spec): Use gfc_std_notify
159
        to report nonstandard intrinsic type declarations.
160
 
161
2005-12-16  Jerry DeLisle  
162
 
163
        PR fortran/24268
164
        * io.c (format_lex): Allow whitespace within text of format specifier.
165
 
166
2005-12-16  Steven G. Kargl 
167
 
168
        PR fortran/25106
169
        PR fortran/25055
170
        * match.c (gfc_match_small_literal_int): Add cnt argument;
171
        (gfc_match_st_label,gfc_match_stopcode): Account for cnt argument.
172
        * match.h (gfc_match_small_literal_int): Update prototype.
173
        * decl.c (match_char_length,gfc_match_old_kind_spec): Account for cnt.
174
        * parse.c (next_free): Ditto.
175
        * primary.c (match_kind_param): Ditto.
176
 
177
2005-12-16  Richard Guenther  
178
 
179
        * trans.h (tree): Remove declaration of gfc_build_function_call.
180
        * trans.c (gfc_build_function_call): Remove.
181
        (gfc_build_array_ref): Use build_function_call_expr.
182
        (gfc_trans_runtime_check): Likewise.
183
        * trans-array.c (gfc_trans_allocate_array_storage): Likewise.
184
        (gfc_grow_array): Likewise.
185
        (gfc_trans_array_ctor_element): Likewise.
186
        (gfc_trans_array_constructor_value): Likewise.
187
        (gfc_array_allocate): Likewise.
188
        (gfc_array_deallocate): Likewise.
189
        (gfc_trans_auto_array_allocation): Likewise.
190
        (gfc_trans_dummy_array_bias): Likewise.
191
        (gfc_conv_array_parameter): Likewise.
192
        * trans-expr.c (gfc_conv_power_op): Likewise.
193
        (gfc_conv_string_tmp): Likewise.
194
        (gfc_conv_concat_op): Likewise.
195
        (gfc_conv_expr_op): Likewise.
196
        (gfc_trans_string_copy): Likewise.
197
        * trans-decl.c (build_entry_thunks): Likewise.
198
        (gfc_generate_function_code): Likewise.
199
        (gfc_generate_constructors): Likewise.
200
        * trans-io.c (gfc_trans_open): Likewise.
201
        (gfc_trans_close): Likewise.
202
        (build_filepos): Likewise.
203
        (gfc_trans_inquire): Likewise.
204
        (transfer_namelist_element): Likewise.
205
        (build_dt): Likewise.
206
        (gfc_trans_dt_end): Likewise.
207
        (transfer_expr): Likewise.
208
        (transfer_array_desc): Likewise.
209
        * trans-stmt.c (gfc_trans_pause): Likewise.
210
        (gfc_trans_stop): Likewise.
211
        (gfc_trans_character_select): Likewise.
212
        (gfc_do_allocate): Likewise.
213
        (gfc_trans_assign_need_temp): Likewise.
214
        (gfc_trans_pointer_assign_need_temp): Likewise.
215
        (gfc_trans_forall_1): Likewise.
216
        (gfc_trans_where): Likewise.
217
        (gfc_trans_allocate): Likewise.
218
        (gfc_trans_deallocate): Likewise.
219
        * trans-intrinsic.c (gfc_conv_intrinsic_aint): Likewise.
220
        (gfc_conv_intrinsic_lib_function): Likewise.
221
        (gfc_conv_intrinsic_exponent): Likewise.
222
        (gfc_conv_intrinsic_abs): Likewise.
223
        (gfc_conv_intrinsic_sign): Likewise.
224
        (gfc_conv_intrinsic_ctime): Likewise.
225
        (gfc_conv_intrinsic_fdate): Likewise.
226
        (gfc_conv_intrinsic_ttynam): Likewise.
227
        (gfc_conv_intrinsic_ishftc): Likewise.
228
        (gfc_conv_intrinsic_len_trim): Likewise.
229
        (gfc_conv_intrinsic_index): Likewise.
230
        (gfc_conv_intrinsic_size): Likewise.
231
        (gfc_conv_intrinsic_strcmp): Likewise.
232
        (gfc_conv_intrinsic_adjust): Likewise.
233
        (gfc_conv_associated): Likewise.
234
        (gfc_conv_intrinsic_scan): Likewise.
235
        (gfc_conv_intrinsic_verify): Likewise.
236
        (call_builtin_clz): Likewise.
237
        (gfc_conv_intrinsic_si_kind): Likewise.
238
        (gfc_conv_intrinsic_sr_kind): Likewise.
239
        (gfc_conv_intrinsic_trim): Likewise.
240
        (gfc_conv_intrinsic_repeat): Likewise.
241
        (gfc_conv_intrinsic_iargc): Likewise.
242
 
243
2005-12-16  Richard Guenther  
244
 
245
        * trans.h (gfc_build_indirect_ref): Remove declaration.
246
        * trans.c (gfc_build_indirect_ref): Remove.
247
        * trans-array.c (gfc_trans_array_ctor_element): Use
248
        build_fold_indirect_ref instead of gfc_build_indirect_ref.
249
        (gfc_trans_array_constructor_value): Likewise.
250
        (gfc_conv_array_index_offset): Likewise.
251
        (gfc_conv_scalarized_array_ref): Likewise.
252
        (gfc_conv_array_ref): Likewise.
253
        (gfc_trans_dummy_array_bias): Likewise.
254
        (gfc_conv_expr_descriptor): Likewise.
255
        (gfc_conv_array_parameter): Likewise.
256
        * trans-decl.c (gfc_finish_cray_pointee): Likewise.
257
        (gfc_get_symbol_decl): Likewise.
258
        * trans-expr.c (gfc_conv_substring): Likewise.
259
        (gfc_conv_component_ref): Likewise.
260
        (gfc_conv_variable): Likewise.
261
        (gfc_add_interface_mapping): Likewise.
262
        (gfc_conv_function_call): Likewise.
263
        * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Likewise.
264
        (gfc_conv_intrinsic_transfer): Likewise.
265
        * trans-io.c (nml_get_addr_expr): Likewise.
266
        (transfer_namelist_element): Likewise.
267
        (transfer_expr): Likewise.
268
        * trans-stmt.c (gfc_trans_nested_forall_loop): Likewise.
269
        (allocate_temp_for_forall_nest_1): Likewise.
270
        (gfc_trans_forall_1): Likewise.
271
 
272
2005-12-16  Richard Guenther  
273
 
274
        * trans-array.c (gfc_conv_descriptor_data_addr): Use
275
        build_fold_addr_expr where appropriate.
276
        (gfc_trans_allocate_array_storage): Likewise.
277
        (gfc_trans_array_constructor_value): Likewise.
278
        (gfc_conv_array_data): Likewise.
279
        (gfc_conv_expr_descriptor): Likewise.
280
        (gfc_conv_array_parameter): Likewise.
281
        * trans-expr.c (gfc_conv_variable): Likewise.
282
        (gfc_conv_function_val): Likewise.
283
        (gfc_conv_function_call): Likewise.
284
        (gfc_conv_expr_reference): Likewise.
285
        * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Likewise.
286
        (gfc_conv_intrinsic_fdate): Likewise.
287
        (gfc_conv_intrinsic_ttynam): Likewise.
288
        (gfc_conv_intrinsic_si_kind): Likewise.
289
        (gfc_conv_intrinsic_trim): Likewise.
290
        * trans-io.c (set_parameter_ref): Likewise.
291
        (gfc_convert_array_to_string): Likewise.
292
        (gfc_trans_open): Likewise.
293
        (gfc_trans_close): Likewise.
294
        (build_filepos): Likewise.
295
        (gfc_trans_inquire): Likewise.
296
        (nml_get_addr_expr): Likewise.
297
        (transfer_namelist_element): Likewise.
298
        (build_dt): Likewise.
299
        (gfc_trans_dt_end): Likewise.
300
        (transfer_array_component): Likewise.
301
        (transfer_expr): Likewise.
302
        (transfer_array_desc): Likewise.
303
        (gfc_trans_transfer): Likewise.
304
        * trans-stmt.c (gfc_trans_allocate): Likewise.
305
        (gfc_trans_deallocate): Likewise.
306
 
307
2005-12-16  Kazu Hirata  
308
 
309
        * dependency.c, resolve.c, trans-array.c: Fix comment typos.
310
        * gfortran.texi: Fix typos.
311
 
312
2005-12-14  Erik Edelmann  
313
 
314
        PR fortran/18197
315
        * resolve.c (resolve_formal_arglist): Remove code to set
316
        the type of a function symbol from it's result symbol.
317
 
318
2005-12-13  Richard Guenther  
319
 
320
        * trans-expr.c (gfc_conv_substring): Use fold_build2 and
321
        build_int_cst.
322
 
323
2005-12-13  Richard Sandiford  
324
 
325
        * Make-lang.in (fortran/trans-resolve.o): Depend on
326
        fortran/dependency.h.
327
        * gfortran.h (gfc_expr): Add an "inline_noncopying_intrinsic" flag.
328
        * dependency.h (gfc_get_noncopying_intrinsic_argument): Declare.
329
        (gfc_check_fncall_dependency): Change prototype.
330
        * dependency.c (gfc_get_noncopying_intrinsic_argument): New function.
331
        (gfc_check_argument_var_dependency): New function, split from
332
        gfc_check_fncall_dependency.
333
        (gfc_check_argument_dependency): New function.
334
        (gfc_check_fncall_dependency): Replace the expression parameter with
335
        separate symbol and argument list parameters.  Generalize the function
336
        to handle dependencies for any type of expression, not just variables.
337
        Accept a further argument giving the intent of the expression being
338
        tested.  Ignore intent(in) arguments if that expression is also
339
        intent(in).
340
        * resolve.c: Include dependency.h.
341
        (find_noncopying_intrinsics): New function.
342
        (resolve_function, resolve_call): Call it on success.
343
        * trans-array.h (gfc_conv_array_transpose): Declare.
344
        (gfc_check_fncall_dependency): Remove prototype.
345
        * trans-array.c (gfc_conv_array_transpose): New function.
346
        * trans-intrinsic.c (gfc_conv_intrinsic_function): Don't use the
347
        libcall handling if the expression is to be evaluated inline.
348
        Add a case for handling inline transpose()s.
349
        * trans-expr.c (gfc_trans_arrayfunc_assign): Adjust for the new
350
        interface provided by gfc_check_fncall_dependency.
351
 
352
2005-12-12  Steven G. Kargl  
353
 
354
        PR fortran/25078
355
        * match.c (gfc_match_equivalence):  Count number of objects.
356
 
357
2005-12-11  Aldy Hernandez  
358
 
359
        * lang.opt: Add RejectNegative to ffixed-form and ffree-form.
360
 
361
2005-12-10  Francois-Xavier Coudert  
362
 
363
        PR fortran/25068
364
        * io.c (resolve_tag): Add correct diagnostic for F2003 feature.
365
 
366
2005-12-10  Thomas Koenig  
367
 
368
        PR fortran/23815
369
        * io.c (top level):  Add convert to io_tag.
370
        (resolve_tag):  convert is GFC_STD_GNU.
371
        (match_open_element):  Add convert.
372
        (gfc_free_open):  Likewise.
373
        (gfc_resolve_open):  Likewise.
374
        (gfc_free_inquire):  Likewise.
375
        (match_inquire_element):  Likewise.
376
        * dump-parse-tree.c (gfc_show_code_node):  Add
377
        convet for open and inquire.
378
        gfortran.h: Add convert to gfc_open and gfc_inquire.
379
        * trans-io.c (gfc_trans_open):  Add convert.
380
        (gfc_trans_inquire):  Likewise.
381
        * ioparm.def:  Add convert to open and inquire.
382
        * gfortran.texi:  Document CONVERT.
383
 
384
2005-12-09  Roger Sayle  
385
 
386
        PR fortran/22527
387
        * f95-lang.c (gfc_truthvalue_conversion): Use a zero of the correct
388
        integer type when building an inequality.
389
 
390
2005-12-09  Richard Guenther  
391
 
392
        * f95-lang.c (build_builtin_fntypes): Use correct
393
        return types, as indicated by comments.
394
 
395
2005-12-08  Erik Edelmann  
396
 
397
        PR fortran/25292
398
        * check.c (gfc_check_associated): Allow function results
399
        as actual arguments to ASSOCIATED.  Moved a misplaced
400
        comment.
401
 
402
2005-12-07  Rafael Ávila de Espíndola  
403
 
404
        * Make-lang.in (fortran.all.build, fortran.install-normal): Remove.
405
 
406
2005-12-07  Rafael Ávila de Espíndola  
407
 
408
        * Make-lang.in: Remove all dependencies on s-gtype, except for
409
        gt-fortran-trans.h.
410
 
411
2005-12-03  Francois-Xavier Coudert  
412
 
413
        PR fortran/25106
414
        * parse.c (next_free): Use new prototype for gfc_match_st_label.
415
        Correctly emit hard error if a label is zero.
416
        * match.c (gfc_match_st_label): Never allow zero as a valid
417
        label.
418
        (gfc_match, gfc_match_do, gfc_match_goto): Use new prototype for
419
        gfc_match_st_label.
420
        * primary.c (): Use new prototype for gfc_match_st_label.
421
        * io.c (): Likewise.
422
        * match.h: Likewise.
423
 
424
2005-12-02  Richard Guenther  
425
 
426
        * trans.h (build1_v): Use build1, not build to build the
427
        void typed tree.
428
 
429
2005-12-01  Erik Schnetter  
430
 
431
        * decl.c (gfc_match_old_kind_spec):  Improve handling of old style
432
        COMPLEX*N
433
 
434
2005-12-01  Paul Thomas  
435
 
436
        PR fortran/24789
437
        * trans-decl.c (gfc_get_symbol_decl):  Move the expression for
438
        unit size of automatic character length, dummy pointer array
439
        elements down a few lines from the version that fixed PR15809.
440
 
441
2005-11-30  Bernhard Fischer 
442
 
443
        PR fortran/21302
444
        * lang.opt: New options -ffree-line-length- and -ffree-line-length-none.
445
        * gfortran.h: Add free_line_length and add description of
446
        free_line_length and fixed_line_length.
447
        * options.c (gfc_init_options, gfc_handle_option): Initialize
448
        and set free_line_length and fixed_line_length.
449
        * scanner.c (load_line): Set free_line_length to 132 and
450
        fixed_line_length to 72 or user requested values.
451
        * scanner.c: Typo in comment.
452
        * invoke.texi: Document -ffree-line-length- and
453
        -ffree-line-length-none
454
 
455
2005-11-30  Paul Thomas  
456
 
457
        PR fortran/15809
458
        * trans-decl.c (gfc_get_symbol_decl):  In the case of automatic
459
        character length, dummy pointer arrays, build an expression for
460
        unit size of the array elements, to be picked up and used in the
461
        descriptor dtype.
462
        * trans-io.c (gfc_trans_transfer):  Modify the detection of
463
        components of derived type arrays to use the gfc_expr references
464
        instead of the array descriptor dtype.  This allows the latter
465
        to contain expressions.
466
 
467
2005-11-30  Erik Edelmann  
468
 
469
        PR fortran/15809
470
        * trans-array.c (gfc_trans_deferred_array):  Allow PARM_DECLs past
471
        in addition to VAR_DECLs.
472
 
473
2005-11-29  Jakub Jelinek  
474
 
475
        * io.c (gfc_resolve_open): RESOLVE_TAG access field as well.
476
 
477
2005-11-27 Bernhard Fischer 
478
 
479
        * gfortran.h: remove superfluous whitespace and use GNU
480
        comment-style for the documentation of backend_decl.
481
 
482
2005-11-27  Steven G. Kargl  
483
 
484
        PR fortran/24917
485
        * primary.c (match_boz_constant):  Implement postfix BOZ constants;
486
        (match_string_constant): Peek for b, o, z, and x
487
 
488
2005-11-27  Francois-Xavier Coudert  
489
 
490
        PR fortran/23912
491
        * iresolve.c (gfc_resolve_dim, gfc_resolve_mod,
492
        gfc_resolve_modulo): When arguments have different kinds, fold
493
        the lower one to the largest kind.
494
        * check.c (gfc_check_a_p): Arguments of different kinds is not
495
        a hard error, but an extension.
496
        * simplify.c (gfc_simplify_dim, gfc_simplify_mod,
497
        gfc_simplify_modulo): When arguments have different kinds, fold
498
        the lower one to the largest kind.
499
 
500
2005-11-21  Jakub Jelinek  
501
 
502
        PR fortran/14943
503
        PR fortran/21647
504
        * Make-lang.in (fortran/trans-io.o): Depend on fortran/ioparm.def.
505
        * dump-parse-tree.c (gfc_show_code_node): Dump c->block for
506
        EXEC_{READ,WRITE,IOLENGTH} nodes.
507
        * io.c (terminate_io, match_io, gfc_match_inquire): Put data
508
        transfer commands into EXEC_{READ,WRITE,IOLENGTH}'s code->block.
509
        * resolve.c (resolve_blocks): Handle EXEC_{READ,WRITE,IOLENGTH}.
510
        * trans-io.c (ioparm_unit, ioparm_err, ioparm_end, ioparm_eor,
511
        ioparm_list_format, ioparm_library_return, ioparm_iostat,
512
        ioparm_exist, ioparm_opened, ioparm_number, ioparm_named,
513
        ioparm_rec, ioparm_nextrec, ioparm_size, ioparm_recl_in,
514
        ioparm_recl_out, ioparm_iolength, ioparm_file, ioparm_file_len,
515
        ioparm_status, ioparm_status_len, ioparm_access, ioparm_access_len,
516
        ioparm_form, ioparm_form_len, ioparm_blank, ioparm_blank_len,
517
        ioparm_position, ioparm_position_len, ioparm_action,
518
        ioparm_action_len, ioparm_delim, ioparm_delim_len, ioparm_pad,
519
        ioparm_pad_len, ioparm_format, ioparm_format_len, ioparm_advance,
520
        ioparm_advance_len, ioparm_name, ioparm_name_len,
521
        ioparm_internal_unit, ioparm_internal_unit_len,
522
        ioparm_internal_unit_desc, ioparm_sequential, ioparm_sequential_len,
523
        ioparm_direct, ioparm_direct_len, ioparm_formatted,
524
        ioparm_formatted_len, ioparm_unformatted, ioparm_unformatted_len,
525
        ioparm_read, ioparm_read_len, ioparm_write, ioparm_write_len,
526
        ioparm_readwrite, ioparm_readwrite_len, ioparm_namelist_name,
527
        ioparm_namelist_name_len, ioparm_namelist_read_mode, ioparm_iomsg,
528
        ioparm_iomsg_len, ioparm_var): Remove.
529
        (enum ioparam_type, enum iofield_type, enum iofield,
530
        enum iocall): New enums.
531
        (gfc_st_parameter_field, gfc_st_parameter): New typedefs.
532
        (st_parameter, st_parameter_field, iocall): New variables.
533
        (ADD_FIELD, ADD_STRING): Remove.
534
        (dt_parm, dt_post_end_block): New variables.
535
        (gfc_build_st_parameter): New function.
536
        (gfc_build_io_library_fndecls): Use it.  Initialize iocall
537
        array rather than ioparm_*, add extra first arguments to
538
        the function types.
539
        (set_parameter_const): New function.
540
        (set_parameter_value): Add type argument, return a bitmask.
541
        Changed to set a field in automatic structure variable rather
542
        than set a field in a global _gfortran_ioparm variable.
543
        (set_parameter_ref): Likewise.  If requested var has different
544
        size than what field should point to, call with a temporary and
545
        then copy into the user variable.  Add postblock argument.
546
        (set_string): Remove var_len argument, add type argument, return
547
        a bitmask.  Changed to set fields in automatic structure variable
548
        rather than set a field in a global _gfortran_ioparm variable.
549
        (set_internal_unit): Remove iunit, iunit_len, iunit_desc arguments,
550
        add var argument.  Return a bitmask.  Changed to set fields in
551
        automatic structure variable rather than set a field in a global
552
        _gfortran_ioparm variable.
553
        (set_flag): Removed.
554
        (io_result): Add var argument.  Changed to read common.flags field
555
        from automatic structure variable and bitwise AND it with 3.
556
        (set_error_locus): Add var argument.  Changed to set fields in
557
        automatic structure variable rather than set a field in a global
558
        _gfortran_{filename,line} variables.
559
        (gfc_trans_open): Use gfc_start_block rather than gfc_init_block.
560
        Create a temporary st_parameter_* structure.  Adjust callers of
561
        all above mentioned functions.  Pass address of the temporary
562
        variable as first argument to the generated function call.
563
        Use iocall array rather than ioparm_* separate variables.
564
        (gfc_trans_close, build_filepos, gfc_trans_inquire): Likewise.
565
        (build_dt): Likewise.  Change first argument to tree from tree *.
566
        Don't dereference code->ext.dt if last_dt == INQUIRE.  Emit
567
        IOLENGTH argument setup here.  Set dt_parm/dt_post_end_block
568
        variables and gfc_trans_code the nested data transfer commands
569
        in code->block.
570
        (gfc_trans_iolength): Just set last_dt and call build_dt immediately.
571
        (transfer_namelist_element): Pass address of dt_parm variable
572
        to generated functions.  Use iocall array rather than ioparm_*
573
        separate variables.
574
        (gfc_trans_backspace, gfc_trans_endfile, gfc_trans_rewind,
575
        gfc_trans_flush, gfc_trans_read, gfc_trans_write): Use iocall array
576
        rather than ioparm_* separate variables.
577
        (gfc_trans_dt_end): Likewise.  Pass address of dt_parm variable
578
        as first argument to generated function.  Adjust io_result caller.
579
        Prepend dt_post_end_block before io_result code.
580
        (transfer_expr): Use iocall array rather than ioparm_* separate
581
        variables.  Pass address of dt_parm variables as first argument
582
        to generated functions.
583
        * ioparm.def: New file.
584
 
585
2005-11-21  Paul Thomas  
586
 
587
        PR fortran/24223
588
        * resolve.c (resolve_contained_fntype) Error if an internal
589
        function is assumed character length.
590
 
591
        PR fortran/24705
592
        * trans-decl.c (gfc_create_module_variable) Skip ICE in
593
        when backend decl has been built and the symbol is marked
594
        as being in an equivalence statement.
595
 
596
2005-11-20  Toon Moene  
597
 
598
        * invoke.texi: Remove superfluous @item.
599
 
600
2005-11-19  Janne Blomqvist  
601
 
602
        PR fortran/24862
603
        * trans-io.c (gfc_trans_transfer): Handle arrays of derived type.
604
 
605
2005-11-17  Francois-Xavier Coudert  
606
 
607
        PR fortran/20811
608
        * scanner.c (gfc_open_included_file): Add an extra include_cwd
609
        argument. Only include files in the current working directory if
610
        its value is true.
611
        * gfortran.h: Change prototype for gfc_open_included_file.
612
        (load_file): Don't search for include files in the current working
613
        directory.
614
        * options.c (gfc_post_options): Add the directory of the source file
615
        to the list of paths for included files.
616
        * module.c (gfc_use_module): Look for module files in the current
617
        directory.
618
 
619
2005-11-16  Alan Modra  
620
 
621
        PR fortran/24096
622
        * trans-types.c (gfc_init_kinds): Use one less for max_exponent
623
        of IBM extended double format.
624
 
625
2005-11-13  Francois-Xavier Coudert  
626
 
627
        * intrinsic.c (add_functions): Add COMPLEX, FTELL, FGETC, FGET,
628
        FPUTC, FPUT, AND, XOR and OR intrinsic functions.
629
        (add_subroutines): Add FGETC, FGET, FPUTC, FPUT and FTELL intrinsic
630
        subroutines.
631
        * gfortran.h: Add GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET,
632
        GFC_ISYM_FGETC, GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL,
633
        GFC_ISYM_OR, GFC_ISYM_XOR.
634
        * iresolve.c (gfc_resolve_and, gfc_resolve_complex,
635
        gfc_resolve_or, gfc_resolve_fgetc, gfc_resolve_fget,
636
        gfc_resolve_fputc, gfc_resolve_fput, gfc_resolve_ftell,
637
        gfc_resolve_xor, gfc_resolve_fgetc_sub, gfc_resolve_fget_sub,
638
        gfc_resolve_fputc_sub, gfc_resolve_fput_sub, gfc_resolve_ftell_sub):
639
        New functions.
640
        * check.c (gfc_check_complex, gfc_check_fgetputc_sub,
641
        gfc_check_fgetputc, gfc_check_fgetput_sub, gfc_check_fgetput,
642
        gfc_check_ftell, gfc_check_ftell_sub, gfc_check_and): New functions.
643
        * simplify.c (gfc_simplify_and, gfc_simplify_complex, gfc_simplify_or,
644
        gfc_simplify_xor): New functions.
645
        * trans-intrinsic.c (gfc_conv_intrinsic_function): Add cases for
646
        GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET, GFC_ISYM_FGETC,
647
        GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL, GFC_ISYM_OR and
648
        GFC_ISYM_XOR.
649
        * intrinsic.h: Add prototypes for all functions added to iresolve.c,
650
        simplify.c and check.c.
651
 
652
2005-11-10  Paul Thomas  
653
            Steven G. Kargl 
654
 
655
        PR fortran/15976
656
        * resolve.c (resolve_symbol): Disallow automatic arrays in module scope.
657
 
658
2005-11-10  Paul Thomas  
659
 
660
        PR fortran/24655
661
        PR fortran/24755
662
        * match.c (recursive_stmt_fcn): Add checks that symtree exists
663
        for the expression to weed out inline intrinsic functions and
664
        parameters.
665
 
666
        PR fortran/24409
667
        * module.c (mio_symtree_ref): Correct the patch of 0923 so that
668
        a symbol is not substituted for by a the symbol for the module
669
        itself and to prevent the promotion of a formal argument.
670
 
671
2005-11-10  Tobias Schl"uter  
672
 
673
        PR fortran/24643
674
        * primary.c (match_varspec): Check for implicitly typed CHARACTER
675
        variables before matching substrings.
676
 
677
2005-11-09  Steven G. Kargl  
678
 
679
        * trans-intrinsic.c: Typo in comment.
680
 
681
2005-11-09  Erik Edelmann  
682
 
683
        PR fortran/22607
684
        * trans-decl.c(build_function_decl): Don't set
685
        DECL_IS_PURE (fndecl) = 1 for return-by-reference
686
        functions.
687
 
688
2005-11-08  Tobias Schl"uter  
689
 
690
        * dump-parse-tree.c: Fix comment typo, add a few blank lines.
691
 
692
2005-11-07  Steven G. Kargl  
693
 
694
        * error.c: Use flag_fatal_error.
695
        * invoke.texi:  Remove -Werror from list of options.
696
 
697
2005-11-06  Paul Thomas  
698
 
699
        PR fortran/24534
700
        * resolve.c (resolve_symbol): Exclude case of PRIVATE declared
701
        within derived type from error associated with PRIVATE type
702
        components within derived type.
703
 
704
        PR fortran/20838
705
        PR fortran/20840
706
        * gfortran.h: Add prototype for gfc_has_vector_index.
707
        * io.c (gfc_resolve_dt): Error if internal unit has a vector index.
708
        * expr.c (gfc_has_vector_index): New function to check if any of
709
        the array references of an expression have vector inidices.
710
        (gfc_check_pointer_assign): Error if internal unit has a vector index.
711
 
712
        PR fortran/17737
713
        * data.c (gfc_assign_data_value): Remove gcc_assert that caused the ICE
714
        and replace by a standard dependent warning/error if overwriting an
715
        existing initialization.
716
        * decl.c (gfc_data_variable): Remove old error for already initialized
717
        variable and the unused error check for common block variables.  Add
718
        error for hots associated variable and standard dependent error for
719
        common block variables, outside of blockdata.
720
        * symbol.c (check_conflict): Add constraints for DATA statement.
721
 
722
2005-11-06  Janne Blomqvist 
723
 
724
        PR fortran/24174
725
        PR fortran/24305
726
        * fortran/trans-io.c (gfc_build_io_library_fndecls): Add kind
727
        argument to transfer_array.
728
        (transfer_array_desc): Add kind argument.
729
 
730
2005-11-06  Francois-Xavier Coudert  
731
 
732
        * intrinsic.c (add_functions): Add ctime and fdate intrinsics.
733
        (add_subroutines): Likewise.
734
        * intrinsic.h: Prototypes for gfc_check_ctime,
735
        gfc_check_ctime_sub, gfc_check_fdate_sub, gfc_resolve_ctime,
736
        gfc_resolve_fdate, gfc_resolve_ctime_sub, gfc_resolve_fdate_sub.
737
        * gfortran.h: Add GFC_ISYM_CTIME and GFC_ISYM_FDATE.
738
        * iresolve.c (gfc_resolve_ctime, gfc_resolve_fdate,
739
        gfc_resolve_ctime_sub, gfc_resolve_fdate_sub): New functions.
740
        * trans-decl.c (gfc_build_intrinsic_function_decls): Add
741
        gfor_fndecl_fdate and gfor_fndecl_ctime.
742
        * check.c (gfc_check_ctime, gfc_check_ctime_sub,
743
        gfc_check_fdate_sub): New functions.
744
        * trans-intrinsic.c (gfc_conv_intrinsic_ctime,
745
        gfc_conv_intrinsic_fdate): New functions.
746
        (gfc_conv_intrinsic_function): Add cases for GFC_ISYM_CTIME
747
        and GFC_ISYM_FDATE.
748
        * intrinsic.texi: Documentation for the new CTIME and FDATE
749
        intrinsics.
750
        * trans.h: Declarations for gfor_fndecl_ctime and gfor_fndecl_fdate.
751
 
752
2005-11-05  Kazu Hirata  
753
 
754
        * decl.c, trans-decl.c: Fix comment typos.
755
        * gfortran.texi: Fix a typo.
756
 
757
2005-11-05  Francois-Xavier Coudert  
758
 
759
        * intrinsic.c (add_functions): Add function version of TTYNAM.
760
        * intrinsic.h: Add prototypes for gfc_check_ttynam and
761
        gfc_resolve_ttynam.
762
        * gfortran.h: Add case for GFC_ISYM_TTYNAM.
763
        * iresolve.c (gfc_resolve_ttynam): New function.
764
        * trans-decl.c (gfc_build_intrinsic_function_decls): Add a tree
765
        for function call to library ttynam.
766
        * check.c (gfc_check_ttynam): New function.
767
        * trans-intrinsic.c (gfc_conv_intrinsic_ttynam): New function.
768
        (): Call gfc_conv_intrinsic_ttynam.
769
        * trans.h: Add prototype for gfor_fndecl_ttynam.
770
 
771
2005-11-04  Steven G. Kargl 
772
 
773
        PR fortran/24636
774
        * match.c (gfc_match_stopcode):  Set stop_code = -1.
775
 
776
2005-11-04  Francois-Xavier Coudert  
777
 
778
        PR fortran/18452
779
        * lang-specs.h: Pass -lang-fortran to the preprocessor.
780
 
781
2005-11-02  Andrew Pinski  
782
 
783
        PR fortran/18157
784
        * trans-array.c (gfc_conv_resolve_dependencies): Use the correct
785
        type for the temporary array.
786
        * trans-expr.c (gfc_trans_assignment): Pass lss
787
        instead of lss_section
788
        to gfc_conv_resolve_dependencies to get the
789
        correct type.
790
 
791
2005-11-02  Tobias Schl"uter  
792
 
793
        * decl.c (gfc_match_entry): Function entries don't need an argument
794
        list if there's no RESULT clause.
795
 
796
2005-11-01  Tobias Schl"uter  
797
 
798
        PR fortran/24008
799
        * decl.c (gfc_match_entry): Function entries need an argument list.
800
 
801
2005-11-01  Erik Edelmann  
802
 
803
        PR 24245
804
        * trans.c (gfc_generate_code): Move code to create a main
805
        program symbol from here ...
806
        * parse.c (main_program_symbol): ... to this new
807
        function, setting the locus from gfc_current_locus
808
        instead of ns->code->loc.
809
        (gfc_parse_file):  Call main_program_symbol for main programs.
810
 
811
2005-11-01  Tobias Schl"uter  
812
 
813
        PR fortran/24404
814
        * resolve.c (resolve_symbol): Output symbol names in more error
815
        messages, clarify error message.
816
 
817
2005-11-01  Tobias Schl"uter  
818
 
819
        * dump-parse-tree.c (show_symtree): Revert change unintentionally
820
        committed in r106246.
821
 
822
2005-11-01  Paul Thomas  
823
 
824
        PR fortran/21565
825
        * symbol.c (check_conflict): An object cannot be in a namelist and in
826
        block data.
827
 
828
        PR fortran/18737
829
        * resolve.c (resolve_symbol): Set the error flag to
830
        gfc_set_default_type, in the case of an external symbol, so that
831
        an error message is emitted if IMPLICIT NONE is set.
832
 
833
        PR fortran/14994
834
        * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SECNDS to enum.
835
        * check.c (gfc_check_secnds): New function.
836
        * intrinsic.c (add_functions): Add call to secnds.
837
        * iresolve.c (gfc_resolve_secnds): New function.
838
        * trans-intrinsic (gfc_conv_intrinsic_function): Add call to
839
        secnds via case GFC_ISYM_SECNDS.
840
        * intrinsic.texi: Add documentation for secnds.
841
 
842
2005-10-31  Andreas Schwab  
843
 
844
        * Make-lang.in (GFORTRAN_TARGET_INSTALL_NAME): Define.
845
        (GFORTRAN_CROSS_NAME): Remove.
846
        (fortran.install-common): Correctly install a cross compiler.
847
        (fortran.uninstall): Use GFORTRAN_TARGET_INSTALL_NAME instead of
848
        GFORTRAN_CROSS_NAME.
849
 
850
2005-10-30  Erik Edelmann  
851
 
852
        * gfortran.texi: Update contributors.
853
 
854
2005-10-30  Erik Edelmann  
855
 
856
        PR fortran/18883
857
        * trans-decl.c (gfc_finish_var_decl): Add decl to the
858
        current function, rather than the parent.  Make
859
        assertion accept fake result variables.
860
        * trans-expr.c (gfc_conv_variable): If the character
861
        length of an ENTRY isn't set, get the length from
862
        the master function instead.
863
 
864
2005-10-30  Thomas Koenig  
865
 
866
        * gfortran.texi:  Remove reservations about I/O usability.  Document
867
        that array intrinsics mostly work.
868
 
869
2005-10-30  Tobias Schl"uter  
870
 
871
        * gfortran.texi: Move license stuff to back.  Add information
872
        on ENUM and ENUMERATOR.
873
        * invoke.texi: Document -fshort-enums.
874
 
875
2005-10-30  Gaurav Gautam  
876
            Tobias Schl"uter  
877
 
878
        * arith.c (gfc_enum_initializer): New function.
879
        (gfc_check_integer_range): Made extern.
880
        * decl.c (enumerator_history): New typedef.
881
        (last_initializer, enum_history, max_enum): New variables.
882
        (create_enum_history, gfc_free_enum_history): New functions.
883
        (add_init_expr_to_sym): Call create_enum_history if parsing ENUM.
884
        (variable_decl): Modified to parse enumerator definition.
885
        (match_attr_spec): Add PARAMETER attribute to ENUMERATORs.
886
        (gfc_match_data_decl): Issues error, if match_type_spec do not
887
        return desired return values.
888
        (set_enum_kind, gfc_match_enum, gfc_match_enumerator_def): New
889
        functions.
890
        (gfc_match_end): Deal with END ENUM.
891
        * gfortran.h (gfc_statement): ST_ENUM, ST_ENUMERATOR, ST_END_ENUM
892
        added.
893
        (symbol_attribute): Bit field for enumerator added.
894
        (gfc_options): Add fshort_enums.
895
        (gfc_enum_initializer, gfc_check_integer_range): Add prototypes.
896
        * options.c: Include target.h
897
        (gfc_init_options): Initialize fshort_enums.
898
        (gfc_handle_option): Deal with fshort_enums.
899
        * parse.c (decode_statement): Match ENUM and ENUMERATOR statement.
900
        (gfc_ascii_statement): Deal with the enumerator statements.
901
        (parse_enum): New function to parse enum construct.
902
        (parse_spec): Added case ST_ENUM.
903
        * parse.h (gfc_compile_state): COMP_ENUM added.
904
        (gfc_match_enum, gfc_match_enumerator_def, gfc_free_enum_history):
905
        Prototype added.
906
        * symbol.c (gfc_copy_attr): Copy enumeration attribute.
907
        * lang.opt (fshort-enums): Option added.
908
 
909
2005-10-30  Francois-Xavier Coudert  
910
 
911
        * check.c (gfc_check_malloc, gfc_check_free): New functions.
912
        * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_MALLOC.
913
        * intrinsic.c (add_functions): Add symbols for MALLOC function.
914
        (add_subroutines): Add symbol for FREE subroutine.
915
        * intrinsic.h: Prototypes for gfc_check_malloc, gfc_check_free,
916
        gfc_resolve_malloc and gfc_resolve_free.
917
        * intrinsic.texi: Add doc for FREE and MALLOC intrinsics.
918
        * iresolve.c (gfc_resolve_malloc, gfc_resolve_free): New
919
        functions.
920
        * trans-intrinsic.c (gfc_conv_intrinsic_function): Add case for
921
        GFC_ISYM_MALLOC.
922
 
923
2005-10-30  Steven Bosscher  
924
 
925
        * gfortran.texi: Update contributors.
926
 
927
2005-10-29  Steven Bosscher  
928
 
929
        * interface.c: Fix previous checkin (an incomplete patch
930
        was commited for me).
931
 
932
2005-10-29  Joseph S. Myers  
933
 
934
        * intrinsic.texi: Remove empty @cindex line.
935
 
936
2005-10-28  Francois-Xavier Coudert  
937
 
938
        * check.c (gfc_check_alarm_sub, gfc_check_signal,
939
        gfc_check_signal_sub): New functions.
940
        * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIGNAL.
941
        * intrinsic.c (add_functions): Add signal intrinsic.
942
        (add_subroutines): Add signal and alarm intrinsics.
943
        * intrinsic.texi: Document the new intrinsics.
944
        * iresolve.c (gfc_resolve_signal, gfc_resolve_alarm_sub,
945
        gfc_resolve_signal_sub): New functions.
946
        * trans-intrinsic.c (gfc_conv_intrinsic_function): Add case
947
        for GFC_ISYM_SIGNAL.
948
        * intrinsic.h: Add prototypes for gfc_check_alarm_sub,
949
        gfc_check_signal, gfc_check_signal_sub, gfc_resolve_signal,
950
        gfc_resolve_alarm_sub, gfc_resolve_signal_sub.
951
 
952
2005-10-28  Steven Bosscher  
953
 
954
        PR fortran/24545
955
        * interface.c (gfc_match_end_interface): Fix typo in
956
        INTERFACE_USER_OP case.
957
 
958
2005-10-26  Francois-Xavier Coudert  
959
 
960
        PR fortran/15586
961
        * resolve.c (resolve_symbol): Remove the use of whynot, so that
962
        error messages are not built from pieces.
963
 
964
2005-10-26  Paul Thomas  
965
 
966
        PR fortran/24158
967
        * decl.c (gfc_match_data_decl): Correct broken bit of code
968
        that prevents undefined derived types from being used as
969
        components of another derived type.
970
        * resolve.c (resolve_symbol): Add backstop error when derived
971
        type variables arrive here with a type that has no components.
972
 
973
2005-10-25  Jakub Jelinek  
974
 
975
        * trans.h (gfc_conv_cray_pointee): Remove.
976
        * trans-expr.c (gfc_conv_variable): Revert 2005-10-24 change.
977
        * trans-array.c (gfc_conv_array_parameter): Likewise.
978
        * trans-decl.c (gfc_conv_cray_pointee): Remove.
979
        (gfc_finish_cray_pointee): New function.
980
        (gfc_finish_var_decl): Use it.  Don't return early for Cray
981
        pointees.
982
        (gfc_create_module_variable): Revert 2005-10-24 change.
983
        * decl.c (cray_pointer_decl): Update comment.
984
        * gfortran.texi: Don't mention Cray pointees aren't visible in the
985
        debugger.
986
 
987
        * symbol.c (check_conflict): Add conflict between cray_pointee
988
        and in_common resp. in_equivalence.
989
        * resolve.c (resolve_equivalence): Revert 2005-10-24 change.
990
 
991
        * module.c (ab_attribute): Add AB_CRAY_POINTER and AB_CRAY_POINTEE.
992
        (attr_bits): Likewise.
993
        (mio_symbol_attribute): Save and restore cray_pointe{r,e} attributes.
994
        (mio_symbol): For cray_pointee write/read cp_pointer reference.
995
 
996
2005-10-25  Feng Wang  
997
 
998
        PR fortran/22290
999
        * trans-decl.c (gfc_add_assign_aux_vars): New function. Add two
1000
        auxiliary variables.
1001
        (gfc_get_symbol_decl): Use it when a variable, including dummy
1002
        argument, is assigned a label.
1003
        (gfc_trans_assign_aux_var): New function. Set initial value of
1004
        the auxiliary variable explicitly.
1005
        (gfc_trans_deferred_vars): Use it.
1006
        * trans-stmt.c (gfc_conv_label_variable): Handle dummy argument.
1007
 
1008
2005-10-24  Asher Langton  
1009
 
1010
        PR fortran/17031
1011
        PR fortran/22282
1012
        * check.c (gfc_check_loc): New function.
1013
        * decl.c (variable_decl): New variables cp_as and sym.  Added a
1014
        check for variables that have already been declared as Cray
1015
        Pointers, so we can get the necessary attributes without adding
1016
        a new symbol.
1017
        (attr_decl1): Added code to catch pointee symbols and "fix"
1018
        their array specs.
1019
        (cray_pointer_decl): New method.
1020
        (gfc_match_pointer): Added Cray pointer parsing code.
1021
        (gfc_mod_pointee_as): New method.
1022
        * expr.c (gfc_check_assign): Added a check to catch vector-type
1023
        assignments to pointees with an unspecified final dimension.
1024
        * gfortran.h: (GFC_ISYM_LOC): New.
1025
        (symbol_attribute): Added cray_pointer and cray_pointee bits.
1026
        (gfc_array_spec): Added cray_pointee and cp_was_assumed bools.
1027
        (gfc_symbol): Added gfc_symbol *cp_pointer.
1028
        (gfc_option): Added flag_cray_pointer.
1029
        (gfc_add_cray_pointee): Declare.
1030
        (gfc_add_cray_pointer ): Declare.
1031
        (gfc_mod_pointee_as): Declare.
1032
        * intrinsic.c (add_functions): Add code for loc() intrinsic.
1033
        * intrinsic.h (gfc_check_loc): Declare.
1034
        (gfc_resolve_loc): Declare.
1035
        * iresolve.c (gfc_resolve_loc): New.
1036
        * lang.opt: Added fcray-pointer flag.
1037
        * options.c (gfc_init_options): Initialized.
1038
        gfc_match_option.flag_cray_pointer.
1039
        (gfc_handle_option): Deal with -fcray-pointer.
1040
        * parse.c:(resolve_equivalence): Added code prohibiting Cray
1041
        pointees in equivalence statements.
1042
        * resolve.c (resolve_array_ref): Added code to prevent bounds
1043
        checking for Cray Pointee arrays.
1044
        (resolve_equivalence): Prohibited pointees in equivalence
1045
        statements.
1046
        * symbol.c (check_conflict): Added Cray pointer/pointee
1047
        attribute checking.
1048
        (gfc_add_cray_pointer): New.
1049
        (gfc_add_cray_pointee): New.
1050
        (gfc_copy_attr): New code for Cray pointers and pointees.
1051
        * trans-array.c (gfc_trans_auto_array_allocation): Added code to
1052
        prevent space from being allocated for pointees.
1053
        (gfc_conv_array_parameter): Added code to catch pointees and
1054
        correctly set their base address.
1055
        * trans-decl.c (gfc_finish_var_decl): Added code to prevent
1056
        pointee declarations from making it to the back end.
1057
        (gfc_create_module_variable): Same.
1058
        * trans-expr.c (gfc_conv_variable): Added code to detect and
1059
        translate pointees.
1060
        (gfc_conv_cray_pointee): New.
1061
        * trans-intrinsic.c (gfc_conv_intrinsic_loc): New.
1062
        (gfc_conv_intrinsic_function): Added entry point for loc
1063
        translation.
1064
        * trans.h (gfc_conv_cray_pointee): Declare.
1065
 
1066
        * gfortran.texi: Added section on Cray pointers, removed Cray
1067
        pointers from list of proposed extensions.
1068
        * intrinsic.texi: Added documentation for loc intrinsic.
1069
        * invoke.texi: Documented -fcray-pointer flag.
1070
 
1071
2005-10-24  Asher Langton  
1072
 
1073
        * decl.c (gfc_match_save): Changed duplicate SAVE errors to
1074
        warnings in the absence of strict standard conformance
1075
        * symbol.c (gfc_add_save): Same.
1076
 
1077
2005-10-24  Francois-Xavier Coudert  
1078
 
1079
        PR fortran/15586
1080
        * arith.c (gfc_arith_error): Change message to include locus.
1081
        (check_result, eval_intrinsic, gfc_int2int, gfc_real2real,
1082
        gfc_real2complex, gfc_complex2real, gfc_complex2complex): Use
1083
        the new gfc_arith_error.
1084
        (arith_error): Rewrite full error messages instead of building
1085
        them from pieces.
1086
        * check.c (must_be): Removed.
1087
        (type_check, numeric_check, int_or_real_check, real_or_complex_check,
1088
        kind_check, double_check, logical_array_check, array_check,
1089
        scalar_check, same_type_check, rank_check, kind_value_check,
1090
        variable_check, gfc_check_allocated, gfc_check_associated,
1091
        gfc_check_cmplx, gfc_check_dcmplx, gfc_check_dot_product,
1092
        gfc_check_index, gfc_check_kind, gfc_check_matmul, gfc_check_null,
1093
        gfc_check_pack, gfc_check_precision, gfc_check_present,
1094
        gfc_check_spread): Rewrite full error messages instead of
1095
        building them from pieces.
1096
        * decl.c (gfc_match_entry): Rewrite full error messages instead
1097
        of building them from pieces.
1098
        * parse.c (gfc_state_name): Remove.
1099
        * parse.h: Remove prototype for gfc_state_name.
1100
 
1101
2005-10-23  Andrew Pinski  
1102
 
1103
        PR fortran/23635
1104
        * check.c (gfc_check_ichar_iachar): Move the code around so
1105
        that the check on the length is after check for
1106
        references.
1107
 
1108
2005-10-23  Asher Langton  
1109
 
1110
        * decl.c (match_type_spec): Add a BYTE type as an extension.
1111
 
1112
2005-10-23  Paul Thomas  
1113
 
1114
        PR fortran/18022
1115
        * trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL
1116
        if there is a component ref during an array ref to force
1117
        use of temporary in assignment.
1118
 
1119
        PR fortran/24311
1120
        PR fortran/24384
1121
        * fortran/iresolve.c (check_charlen_present): New function to
1122
        add a charlen to the typespec, in the case of constant
1123
        expressions.
1124
        (gfc_resolve_merge, gfc_resolve_spread): Call.the above.
1125
        (gfc_resolve_spread): Make calls to library functions that
1126
        handle the case of the spread intrinsic with a scalar source.
1127
 
1128
2005-10-22  Erik Edelmann  
1129
 
1130
        PR fortran/24426
1131
        * decl.c (variable_decl): Don't assign default initializers to
1132
        pointers.
1133
 
1134
2005-10-21  Jakub Jelinek  
1135
 
1136
        * interface.c (compare_actual_formal): Issue error when attempting
1137
        to pass an assumed-size array as assumed-shape array argument.
1138
 
1139
2005-10-20  Erik Edelmann  
1140
 
1141
        PR fortran/21625
1142
        * resolve.c (expr_to_initialize): New function.
1143
        (resolve_allocate_expr): Take current statement as new
1144
        argument. Add default initializers to variables of
1145
        derived types, if they need it.
1146
        (resolve_code): Provide current statement as argument to
1147
        resolve_allocate_expr().
1148
 
1149
2005-10-19  Paul Thomas  
1150
 
1151
        PR fortran/24440
1152
        * resolve.c (resolve_symbol): Correct error in check for
1153
        assumed size array with default initializer by testing
1154
        for arrayspec before dereferencing it.
1155
 
1156
2005-10-17  Paul Thomas  
1157
 
1158
        PR fortran/23446
1159
        * gfortran.h: Primitive for gfc_is_formal_arg.
1160
        * resolve.c(gfc_is_formal_arg): New function to signal across
1161
        several function calls that formal argument lists are being
1162
        processed.
1163
        (resolve_formal_arglist): Set/reset the flag for gfc_is_formal_arg.
1164
        *expr.c(check_restricted): Add check, via gfc_is_formal_arg, if
1165
        symbol is part of an formal argument declaration.
1166
 
1167
        PR fortran/21459
1168
        * decl.c (add_init_expr_to_sym): Make a new character
1169
        length for each variable, when the expression is NULL
1170
        and link to cl_list.
1171
 
1172
        PR fortran/20866
1173
        * match.c (recursive_stmt_fcn): New function that tests if
1174
        a statement function resurses through itself or other other
1175
        statement functions.
1176
        (gfc_match_st_function): Call recursive_stmt_fcn to check
1177
        if this is recursive and to raise error if so.
1178
 
1179
        PR fortran/20849
1180
        PR fortran/20853
1181
        * resolve.c (resolve_symbol): Errors for assumed size arrays
1182
        with default initializer and for external objects with an
1183
        initializer.
1184
 
1185
        PR fortran/20837
1186
        * decl.c (match_attr_spec): Prevent PUBLIC from being used
1187
        outside a module.
1188
 
1189
2005-10-16  Erik Edelmann  
1190
 
1191
        PR 22273
1192
        * expr.c (check_inquiry): Add "len" to inquiry_function.
1193
 
1194
2005-10-14  Jakub Jelinek  
1195
 
1196
        * primary.c (match_boz_constant): Add missing break after gfc_error.
1197
 
1198
2005-10-12  Paul Thomas  
1199
 
1200
        PR fortran/24092
1201
        * trans-types.c (gfc_get_derived_type): Insert code to obtain backend
1202
        declaration for derived types, building if necessary.  Return the
1203
        derived type if the fields have been built by this process.  Otherwise,
1204
        continue as before but using the already obtained backend_decls for the
1205
        derived type components.  Change the gcc_assert to act on the field.
1206
 
1207
2005-10-12  Paul Thomas  
1208
 
1209
        PR fortran/18082
1210
        * decl.c (variable_decl): Make a new copy of the character
1211
        length for each variable, when the expression is not a
1212
        constant.
1213
 
1214
2005-10-12  Francois-Xavier Coudert  
1215
 
1216
        * gfortran.h: Add bitmasks for different FPE traps. Add fpe
1217
        member to options_t.
1218
        * invoke.texi: Document the new -ffpe-trap option.
1219
        * lang.opt: Add -ffpe-trap option.
1220
        * options.c (gfc_init_options): Initialize the FPE option.
1221
        (gfc_handle_fpe_trap_option): New function to parse the argument
1222
        of the -ffpe-trap option.
1223
        (gfc_handle_option): Add case for -ffpe-trap.
1224
        * trans-decl.c: Declare a tree for the set_fpe library function.
1225
        (gfc_build_builtin_function_decls): Build this tree.
1226
        (gfc_generate_function_code): Generate a call to set_fpe at
1227
        the beginning of the main program.
1228
        * trans.h: New tree for the set_fpe library function.
1229
 
1230
2005-10-12  Paul Thomas  
1231
 
1232
        PR fortran/20847
1233
        PR fortran/20856
1234
        * symbol.c (check_conflict): Prevent common variables and
1235
        function results from having the SAVE attribute,as required
1236
        by the standard.
1237
 
1238
2005-10-12  Paul Thomas  
1239
 
1240
        PR fortran/24207
1241
        * resolve.c (resolve_symbol): Exclude use and host associated
1242
        symbols from the test for private objects in a public namelist.
1243
 
1244
2005-10-12  Jakub Jelinek  
1245
 
1246
        * trans-common.c (build_field): Fix comment typo.
1247
        (create_common): Set backend_decl of COMMON or EQUIVALENCEd
1248
        variables to a VAR_DECL with the COMPONENT_REF in
1249
        DECL_HAS_VALUE_EXPR rather than COMPONENT_REF directly.
1250
        * f95-lang.c (gfc_expand_function): Emit debug info for
1251
        EQUIVALENCEd variables if the equiv union is going to be output.
1252
 
1253
2005-10-11  Steven G. Kargl  
1254
 
1255
        PR fortran/20786
1256
        * iresolve.c (gfc_resolve_aint, gfc_resolve_anint): Type conversion
1257
        of the argument.
1258
 
1259
2005-10-11  Jakub Jelinek  
1260
 
1261
        * f95-lang.c (gfc_init_decl_processing): Initialize
1262
        void_list_node.
1263
 
1264
2005-10-07  Erik Edelmann  
1265
 
1266
        PR 18568
1267
        * resolve.c (find_array_spec): Search through the list of
1268
        components in the symbol of the type instead of the symbol of the
1269
        variable.
1270
 
1271
2005-10-05  Richard Guenther  
1272
 
1273
        PR fortran/24176
1274
        * parse.c (gfc_parse_file): Exit early for empty files.
1275
 
1276
2005-10-03  Steve Ellcey  
1277
 
1278
        * fortran/trans-types.c (gfc_init_kinds): Only pass float, double,
1279
        and long double floating point types through to Fortran compiler.
1280
 
1281
2005-10-03  Francois-Xavier Coudert  
1282
 
1283
        PR fortran/20120
1284
        * f95-lang.c (DO_DEFINE_MATH_BUILTIN): Add support for long
1285
        double builtin function.
1286
        (gfc_init_builtin_functions): Add mfunc_longdouble,
1287
        mfunc_clongdouble and func_clongdouble_longdouble trees. Build
1288
        them for round, trunc, cabs, copysign and pow functions.
1289
        * iresolve.c (gfc_resolve_reshape, gfc_resolve_transpose): Add
1290
        case for kind 10 and 16.
1291
        * trans-decl.c: Add trees for cpowl10, cpowl16, ishftc16,
1292
        exponent10 and exponent16.
1293
        (gfc_build_intrinsic_function_decls): Build nodes for int16,
1294
        real10, real16, complex10 and complex16 types. Build all possible
1295
        combinations for function _gfortran_pow_?n_?n. Build function
1296
        calls cpowl10, cpowl16, ishftc16, exponent10 and exponent16.
1297
        * trans-expr.c (gfc_conv_power_op): Add case for integer(16),
1298
        real(10) and real(16).
1299
        * trans-intrinsic.c: Add suppport for long double builtin
1300
        functions in BUILT_IN_FUNCTION, LIBM_FUNCTION and LIBF_FUNCTION
1301
        macros.
1302
        (gfc_conv_intrinsic_aint): Add case for integer(16), real(10) and
1303
        real(16) kinds.
1304
        (gfc_build_intrinsic_lib_fndecls): Add support for real10_decl
1305
        and real16_decl in library functions.
1306
        (gfc_get_intrinsic_lib_fndecl): Add cases for real and complex
1307
        kinds 10 and 16.
1308
        (gfc_conv_intrinsic_exponent): Add cases for real(10) and real(16)
1309
        kinds.
1310
        (gfc_conv_intrinsic_sign): Likewise.
1311
        (gfc_conv_intrinsic_ishftc): Add case for integer(16) kind.
1312
        * trans-types.c (gfc_get_int_type, gfc_get_real_type,
1313
        gfc_get_complex_type, gfc_get_logical_type): Doesn't error out in
1314
        the case of kinds not available.
1315
        * trans.h: Declare trees for cpowl10, cpowl16, ishftc16,
1316
        exponent10 and exponent16.
1317
 
1318
2005-10-01  Paul Thomas  
1319
 
1320
        PR fortran/16404
1321
        PR fortran/20835
1322
        PR fortran/20890
1323
        PR fortran/20899
1324
        PR fortran/20900
1325
        PR fortran/20901
1326
        PR fortran/20902
1327
        * gfortran.h: Prototype for gfc_add_in_equivalence.
1328
        * match.c (gfc_match_equivalence): Make a structure component
1329
        an explicit,rather than a syntax, error in an equivalence
1330
        group.  Call gfc_add_in_equivalence to add the constraints
1331
        imposed in check_conflict.
1332
        * resolve.c (resolve_symbol): Add constraints: No public
1333
        structures with private-type components and no public
1334
        procedures with private-type dummy arguments.
1335
        (resolve_equivalence_derived): Add constraint that prevents
1336
        a structure equivalence member from having a default
1337
        initializer.
1338
        (sequence_type): New static function to determine whether an
1339
        object is default numeric, default character, non-default
1340
        or mixed sequence. Add corresponding enum typespec.
1341
        (resolve_equivalence): Add constraints to equivalence groups
1342
        or their members: No more than one initialized member and
1343
        that different types are not equivalenced for std=f95.  All
1344
        the simple constraints have been moved to check_conflict.
1345
        * symbol.c (check_conflict): Simple equivalence constraints
1346
        added, including those removed from resolve_symbol.
1347
        (gfc_add_in_equivalence): New function to interface calls
1348
        match_equivalence to check_conflict.
1349
 
1350
2005-09-27  Jakub Jelinek  
1351
 
1352
        PR fortran/18518
1353
        * trans-common.c (build_equiv_decl): Add IS_SAVED argument.
1354
        If it is true, set TREE_STATIC on the decl.
1355
        (create_common): If any symbol in equivalence has SAVE attribute,
1356
        pass true as last argument to build_equiv_decl.
1357
 
1358
2005-09-24  Janne Blomqvist  
1359
 
1360
        * trans-io.c (gfc_build_io_library_fndecls): Add entry
1361
        iocall_x_array for transfer_array.
1362
        (transfer_array_desc): New function.
1363
        (gfc_trans_transfer): Add code to call transfer_array_desc.
1364
 
1365
2005-09-26  Jakub Jelinek  
1366
 
1367
        PR fortran/23677
1368
        * symbol.c (gfc_is_var_automatic): Return true if character length
1369
        is non-constant rather than constant.
1370
        * resolve.c (gfc_resolve): Don't handle !gfc_option.flag_automatic
1371
        here.
1372
        * options.c (gfc_post_options): Set gfc_option.flag_max_stack_var_size
1373
        to 0 for -fno-automatic.
1374
 
1375
2005-09-23  Paul Thomas  
1376
 
1377
        PR fortran/16861
1378
        * module.c (mio_component_ref): Return if the symbol is NULL
1379
        and wait for another iteration during module reads.
1380
        (mio_symtree_ref): Suppress the writing of contained symbols,
1381
        when a symbol is available in the main namespace.
1382
        (read_module): Restrict scope of special treatment of contained
1383
        symbols to variables only and suppress redundant call to
1384
        find_true_name.
1385
 
1386
2005-09-22  Steven G. Kargl  
1387
 
1388
        PR fortran/24005
1389
        * interface.c (check_interface1): Fix NULL dereference.
1390
 
1391
2005-09-22  Erik Edelmann  
1392
 
1393
        PR fortran/23843
1394
        * resolve.c (derived_inaccessible): New function.
1395
        (resolve_transfer): Use it to check for private
1396
        components.
1397
 
1398
2005-09-22  Steven G. Kargl  
1399
 
1400
        PR fortran/23516
1401
        * intrinsic.c (add_function): Add IMAG, IMAGPART, and REALPART
1402
        intrinsics.
1403
        * intrinsic.h: Prototypes for gfc_simplify_realpart and
1404
        gfc_resolve_realpart.
1405
        * intrinsic.texi: Document intrinsic procedures.
1406
        * simplify.c (gfc_simplify_realpart): New function.
1407
        * irseolve.c (gfc_resolve_realpart): New function.
1408
 
1409
2005-09-21  Erik Edelmann  
1410
 
1411
        PR fortran/19929
1412
        * trans-stmt.c (gfc_trans_deallocate): Check if the
1413
        object to be deallocated is an array by looking at
1414
        expr->rank instead of expr->symtree->n.sym->attr.dimension.
1415
 
1416
2005-09-20  Tobias Schl"uter  
1417
 
1418
        PR fortran/23420
1419
        * io.c (resolve_tag): Don't allow non-CHARACTER constants as formats.
1420
        (match_io): Fix usage of gfc_find_symbol.
1421
 
1422
2005-09-20  Jakub Jelinek  
1423
 
1424
        PR fortran/23663
1425
        * primary.c (match_actual_arg): Handle ENTRY the same way
1426
        as FUNCTION.
1427
 
1428
2005-09-18  Francois-Xavier Coudert  
1429
 
1430
        * Make-lang.in: Make check-fortran alias for check-gfortran.
1431
 
1432
2005-09-18  Andreas Jaeger  
1433
 
1434
        * module.c (read_module): Add missed line from last patch.
1435
 
1436
2005-09-18  Erik Edelmann  
1437
 
1438
        PR fortran/15975
1439
        * resolve.c (resolve_symbol): Don't assign default
1440
        initializer to pointers.
1441
 
1442
2005-09-18  Paul Thomas  
1443
 
1444
        PR fortran/16861
1445
        * module.c (read_module): Give symbols from module procedures
1446
        different true_name entries to those from the module proper.
1447
 
1448
2005-09-17  Francois-Xavier Coudert  
1449
 
1450
        PR fortran/15586
1451
        * arith.c (gfc_arith_error): Add translation support for error
1452
        messages.
1453
        * array.c (gfc_match_array_ref): Likewise.
1454
        (gfc_match_array_spec): Likewise.
1455
        * check.c (must_be): Add msgid convention to third argument.
1456
        (same_type_check): Add translation support for error message.
1457
        (rank_check): Likewise.
1458
        (kind_value_check): Likewise.
1459
        (gfc_check_associated): Correct typo.
1460
        (gfc_check_reshape): Add translation support for error message.
1461
        (gfc_check_spread): Likewise.
1462
        * error.c (error_printf): Add nocmsgid convention to argument.
1463
        (gfc_warning, gfc_notify_std, gfc_warning_now, gfc_warning_check)
1464
        (gfc_error, gfc_error_now): Likewise.
1465
        (gfc_status): Add cmsgid convention to argument.
1466
        * expr.c (gfc_extract_int): Add translation support for error
1467
        messages.
1468
        (gfc_check_conformance): Add msgid convention to argument.
1469
        (gfc_check_pointer_assign): Correct tabbing.
1470
        * gfortran.h: Include intl.h header. Remove prototype for gfc_article.
1471
        * gfortranspec.c: Include intl.h header.
1472
        (lang_specific_driver): Add translation support for --version.
1473
        * io.c (check_format): Add translation support for error message.
1474
        (format_item_1): Likewise.
1475
        (data_desc): Likewise.
1476
        * matchexp.c: Likewise.
1477
        * misc.c (gfc_article): Remove function.
1478
        * module.c (bad_module): Use msgid convention. Add translation support
1479
        for error messages.
1480
        (require_atom): Add translation support for error messages.
1481
        * parse.c (gfc_ascii_statement): Likewise.
1482
        (gfc_state_name): Likewise.
1483
        * primary.c (match_boz_constant): Reorganise error messages for
1484
        translations.
1485
        * resolve.c (resolve_entries): Likewise.
1486
        (resolve_operator): Add translation support for error messages.
1487
        (gfc_resolve_expr): Use msgid convention. Reorganise error messages
1488
        for translations.
1489
        (resolve_symbol): Add translation support for error messages.
1490
        * symbol.c (gfc_add_procedure): Remove use of gfc_article function.
1491
        * trans-const.c (gfc_build_string_const): Use msgid convention.
1492
 
1493
2005-09-16  Paul Brook  
1494
 
1495
        PR fortran/23906
1496
        * dependency.c (transform_sections): Divide by correct value.
1497
        Elaborate comment.
1498
 
1499
2005-09-14  Paul Thomas  
1500
 
1501
        PR fortran/21875 Internal Unit Array I/O, NIST
1502
        * fortran/trans-io.c (gfc_build_io_library_fndecls): Add field for
1503
        array descriptor to IOPARM structure.
1504
        * fortran/trans-io.c (set_internal_unit): New function to generate code
1505
        to store the character (array) and the character length for an internal
1506
        unit.
1507
        * fortran/trans-io (build_dt): Use the new function set_internal_unit.
1508
 
1509
2005-09-14  Paul Thomas  
1510
 
1511
        PR fortran/19358
1512
        * trans-array.c (gfc_trans_dummy_array_bias): correct the typo
1513
        which uses dim[i].upper for lbound, rather than dim[i].lower.
1514
 
1515
2005-09-13  Erik Edelmann  
1516
 
1517
        PR fortran/17740
1518
        * trans-expr.c (gfc_trans_arrayfunc_assign): Check value
1519
        of attr.elemental for specific function instead of generic name.
1520
 
1521
2005-09-13  Richard Sandiford  
1522
 
1523
        PR fortran/18899
1524
        * trans-intrinsic.c (gfc_conv_intrinsic_bound): Move initialization
1525
        of argse.  Remove now-redundant want_pointer assignment.
1526
        * trans-array.c (gfc_conv_expr_descriptor): When not assigning to
1527
        a pointer, keep the original bounds of a full array reference.
1528
 
1529
2005-09-13  Richard Sandiford  
1530
 
1531
        PR target/19269
1532
        * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift)
1533
        (gfc_resolve_pack, gfc_resolve_reshape, gfc_resolve_spread)
1534
        (gfc_resolve_transpose, gfc_resolve_unpack): Add "_char" to the name
1535
        for character-based operations.
1536
        (gfc_resolve_pack): Remove ATTRIBUTE_UNUSED from array argument.
1537
        (gfc_resolve_unpack): Copy the whole typespec from the vector.
1538
        * trans-array.c (gfc_conv_expr_descriptor): In the EXPR_FUNCTION
1539
        case, get the string length from the scalarization state.
1540
 
1541
2005-09-14  Francois-Xavier Coudert  
1542
 
1543
        * Make-lang.in: Change targets prefixes from f95 to fortran.
1544
        * config-lang.in: Change language name to "fortran".
1545
        * lang.opt: Change language name to "fortran".
1546
        * options.c: Change CL_F95 to CL_Fortran.
1547
 
1548
2005-09-09  Thomas Koenig  
1549
 
1550
        gfortran.texi:  Document IOSTAT= specifier.
1551
 
1552
2005-09-09  Thomas Koenig  
1553
 
1554
        * gfortran.h:  Add iomsg to gfc_open, gfc_close, gfc_filepos,
1555
        gfc_inquire and gfc_dt.
1556
        * dump-parse-tree.c (gfc_show_code_node):  Add iomsg
1557
        for open, close, file positioning, inquire and namelist.
1558
        * io.c (io_tag):  Add tag_iomsg.
1559
        (resolve_tag): Add standards warning for iomsg.
1560
        (match_open_element):  Add iomsg.
1561
        (gfc_free_open):  Add iomsg.
1562
        (gfc_resolve_open):  Add iomsg.
1563
        (gfc_free_close):  Add iomsg.
1564
        (match_close_element):  Add iomsg.
1565
        (gfc_resolve_close):  Add iomsg.
1566
        (gfc_free_filepos):  Add iomsg.
1567
        (match_file_element):  Add iomsg.
1568
        (gfc_resolve_filepos):  Add iostat and iomsg.
1569
        (match-dt_element):  Add iomsg.
1570
        (gfc_free_dt):  Add iomsg.
1571
        (gfc_resolve_dt):  Add iomsg.
1572
        (gfc_free_inquire):  Add iomsg.
1573
        (match_inquire_element):  Add iomsg.
1574
        (gfc_resolve_inquire):  Add iomsg.
1575
        * trans_io.c:  Add ioparm_iomsg and ioparm_iomsg_len.
1576
        (gfc_build_io_library_fndecls):  Add iomsg as last field.
1577
        (gfc_trans_open):  Add iomsg.
1578
        (gfc_trans_close):  Add iomsg.
1579
        (build_fileos):  Call set_string for iomsg.
1580
        (gfc_trans_inquire):  Add iomsg.
1581
        (build_dt):  Add iomsg.
1582
 
1583
2005-09-09  Richard Sandiford  
1584
 
1585
        * match.h (gfc_match_equiv_variable): Declare.
1586
 
1587
2005-09-09  Richard Sandiford  
1588
 
1589
        PR fortran/19239
1590
        * Makefile.in (fortran/trans-expr.o): Depend on dependency.h.
1591
        * dependency.h (gfc_ref_needs_temporary_p): Declare.
1592
        * dependency.c (gfc_ref_needs_temporary_p): New function.
1593
        (gfc_check_fncall_dependency): Use it instead of inlined check.
1594
        By so doing, take advantage of the fact that character substrings
1595
        within an array reference also need a temporary.
1596
        * trans.h (GFC_SS_VECTOR): Adjust comment.
1597
        * trans-array.c (gfc_free_ss): Remove GFC_SS_VECTOR case.
1598
        (gfc_set_vector_loop_bounds): New function.
1599
        (gfc_add_loop_ss_code): Call it after evaluating the subscripts of
1600
        a GFC_SS_SECTION.  Deal with the GFC_SS_VECTOR case by evaluating
1601
        the vector expression and caching its descriptor for use within
1602
        the loop.
1603
        (gfc_conv_array_index_ref, gfc_conv_vector_array_index): Delete.
1604
        (gfc_conv_array_index_offset): Handle scalar, vector and range
1605
        dimensions as separate cases of a switch statement.  In the vector
1606
        case, use the loop variable to calculate a vector index and use the
1607
        referenced element as the dimension's index.  Perform bounds checking
1608
        on this final index.
1609
        (gfc_conv_section_upper_bound): Return null for vector indexes.
1610
        (gfc_conv_section_startstride): Give vector indexes a start value
1611
        of 0 and a stride of 1.
1612
        (gfc_conv_ss_startstride): Adjust for new GFC_SS_VECTOR representation.
1613
        (gfc_conv_expr_descriptor): Expand comments.  Generalize the
1614
        handling of the !want_pointer && !direct_byref case.  Use
1615
        gfc_ref_needs_temporary_p to decide whether the variable case
1616
        needs a temporary.
1617
        (gfc_walk_variable_expr): Handle DIMEN_VECTOR by creating a
1618
        GFC_SS_VECTOR index.
1619
        * trans-expr.c: Include dependency.h.
1620
        (gfc_trans_arrayfunc_assign): Fail if the target needs a temporary.
1621
 
1622
2005-09-09  Richard Sandiford  
1623
 
1624
        PR fortran/21104
1625
        * trans.h (gfc_interface_sym_mapping, gfc_interface_mapping): Moved
1626
        from trans-expr.c.
1627
        (gfc_init_interface_mapping, gfc_free_interface_mapping)
1628
        (gfc_add_interface_mapping, gfc_finish_interface_mapping)
1629
        (gfc_apply_interface_mapping): Declare.
1630
        * trans-array.h (gfc_set_loop_bounds_from_array_spec): Declare.
1631
        (gfc_trans_allocate_temp_array): Add pre and post block arguments.
1632
        * trans-array.c (gfc_set_loop_bounds_from_array_spec): New function.
1633
        (gfc_trans_allocate_array_storage): Replace loop argument with
1634
        separate pre and post blocks.
1635
        (gfc_trans_allocate_temp_array): Add pre and post block arguments.
1636
        Update call to gfc_trans_allocate_array_storage.
1637
        (gfc_trans_array_constructor, gfc_conv_loop_setup): Adjust for new
1638
        interface to gfc_trans_allocate_temp_array.
1639
        * trans-expr.c (gfc_interface_sym_mapping, gfc_interface_mapping):
1640
        Moved to trans.h.
1641
        (gfc_init_interface_mapping, gfc_free_interface_mapping)
1642
        (gfc_add_interface_mapping, gfc_finish_interface_mapping)
1643
        (gfc_apply_interface_mapping): Make extern.
1644
        (gfc_conv_function_call): Build an interface mapping for array
1645
        return values too.  Call gfc_set_loop_bounds_from_array_spec.
1646
        Adjust call to gfc_trans_allocate_temp_array so that code is
1647
        added to SE rather than LOOP.
1648
 
1649
2005-09-09  Richard Sandiford  
1650
 
1651
        PR fortran/12840
1652
        * trans.h (gfor_fndecl_internal_realloc): Declare.
1653
        (gfor_fndecl_internal_realloc64): Declare.
1654
        * trans-decl.c (gfor_fndecl_internal_realloc): New variable.
1655
        (gfor_fndecl_internal_realloc64): New variable.
1656
        (gfc_build_builtin_function_decls): Initialize them.
1657
        * trans-array.h (gfc_trans_allocate_temp_array): Add a fourth argument.
1658
        * trans-array.c (gfc_trans_allocate_array_storage): Add an argument
1659
        to say whether the array can grow later.  Don't allocate the array
1660
        on the stack if so.  Don't call malloc for zero-sized arrays.
1661
        (gfc_trans_allocate_temp_array): Add a similar argument here.
1662
        Pass it along to gfc_trans_allocate_array_storage.
1663
        (gfc_get_iteration_count, gfc_grow_array): New functions.
1664
        (gfc_iterator_has_dynamic_bounds): New function.
1665
        (gfc_get_array_constructor_element_size): New function.
1666
        (gfc_get_array_constructor_size): New function.
1667
        (gfc_trans_array_ctor_element): Replace pointer argument with
1668
        a descriptor tree.
1669
        (gfc_trans_array_constructor_subarray): Likewise.  Take an extra
1670
        argument to say whether the variable-sized part of the constructor
1671
        must be allocated using realloc.  Grow the array when this
1672
        argument is true.
1673
        (gfc_trans_array_constructor_value): Likewise.
1674
        (gfc_get_array_cons_size): Delete.
1675
        (gfc_trans_array_constructor): If the loop bound has not been set,
1676
        split the allocation into a static part and a dynamic part.  Set
1677
        loop->to to the bounds for static part before allocating the
1678
        temporary.  Adjust call to gfc_trans_array_constructor_value.
1679
        (gfc_conv_loop_setup): Allow any constructor to determine the
1680
        loop bounds.  Check whether the constructor has a dynamic size
1681
        and prefer to use something else if so.  Expect the loop bound
1682
        to be set later.  Adjust call to gfc_trans_allocate_temp_array.
1683
        * trans-expr.c (gfc_conv_function_call): Adjust another call here.
1684
 
1685
2005-09-09  Paul Thomas  
1686
 
1687
        PR fortran/18878
1688
        * module.c (find_use_name_n): Based on original
1689
        find_use_name. Either counts number of use names for a
1690
        given real name or returns use name n.
1691
        (find_use_name, number_use_names): Interfaces to the
1692
        function find_use_name_n.
1693
        (read_module): Add the logic and calls to these functions,
1694
        so that mutiple reuses of the same real name are loaded.
1695
 
1696
2005-09-09  Paul Thomas  
1697
 
1698
        PR fortran/22304
1699
        PR fortran/23270
1700
        PR fortran/18870
1701
        PR fortran/16511
1702
        PR fortran/17917
1703
        * gfortran.h: Move definition of BLANK_COMMON_NAME from trans-
1704
        common.c so that it is accessible to module.c. Add common_head
1705
        field to gfc_symbol structure. Add field for the equivalence
1706
        name AND new attr field, in_equivalence.
1707
        * match.c (gfc_match_common, gfc_match_equivalence): In loops
1708
        that flag common block equivalences, emit an error if the
1709
        common blocks are different, using sym->common_head as the
1710
        common block identifier. Ensure that symbols that are equivalence
1711
        associated with a common block are marked as being in_common.
1712
        * module.c (write_blank_common): New.
1713
        (write_common): Use unmangled common block name.
1714
        (load_equiv): New function ported from g95.
1715
        (read_module): Call load_equiv.
1716
        (write_equiv): New function ported from g95. Correct
1717
        string referencing for gfc functions. Give module
1718
        equivalences a unique name.
1719
        (write_module): Call write_equiv and write_blank_common.
1720
        * primary.c (match_variable) Old gfc_match_variable, made
1721
        static and third argument provided to indicate if parent
1722
        namespace to be visited or not.
1723
        (gfc_match_variable) New. Interface to match_variable.
1724
        (gfc_match_equiv_variable) New. Interface to match_variable.
1725
        * trans-common.c (finish_equivalences): Provide the call
1726
        to create_common with a gfc_common_header so that
1727
        module equivalences are made external, rather than local.
1728
        (find_equivalences): Ensure that all members in common block
1729
        equivalences are marked as used. This prevents the subsequent
1730
        call to this function from making local unions.
1731
        * trans-decl.c (gfc_generate_function_code): Move the call to
1732
        gfc_generate_contained_functions to after the call to
1733
        gfc_trans_common so the use-associated, contained common
1734
        blocks produce the correct references.
1735
        (gfc_create_module_variable): Return for equivalenced symbols
1736
        with existing backend declaration.
1737
 
1738
2005-09-08  Tobias Schl"uter  
1739
 
1740
        PR fortran/23765
1741
        * match.c (gfc_match_common): Remove unnecessary / wrong special
1742
        cases for end-of-statement.
1743
 
1744
2005-09-08  Janne Blomqvist  
1745
 
1746
        * gfortran.texi: Add section about implemented F2003 features.
1747
 
1748
2005-09-08  Richard Sandiford  
1749
 
1750
        PR fortran/15326
1751
        * trans-array.c (gfc_add_loop_ss_code): Set ss->string_length in
1752
        the GFC_SS_FUNCTION case too.
1753
        * trans-expr.c (gfc_conv_function_val): Allow symbols to be bound
1754
        to function pointers as well as function decls.
1755
        (gfc_interface_sym_mapping, gfc_interface_mapping): New structures.
1756
        (gfc_init_interface_mapping, gfc_free_interface_mapping)
1757
        (gfc_get_interface_mapping_charlen, gfc_get_interface_mapping_array)
1758
        (gfc_set_interface_mapping_bounds, gfc_add_interface_mapping)
1759
        (gfc_finish_interface_mapping, gfc_apply_interface_mapping_to_cons)
1760
        (gfc_apply_interface_mapping_to_ref)
1761
        (gfc_apply_interface_mapping_to_expr)
1762
        (gfc_apply_interface_mapping): New functions.
1763
        (gfc_conv_function_call): Evaluate the arguments before working
1764
        out where the result should go.  Make the null pointer case provide
1765
        the string length in parmse.string_length.  Cope with non-constant
1766
        string lengths, using the above functions to evaluate such lengths.
1767
        Use a temporary typespec; don't assign to sym->cl->backend_decl.
1768
        Don't assign to se->string_length when returning a cached array
1769
        descriptor.
1770
 
1771
2005-09-08  Richard Sandiford  
1772
 
1773
        PR fortran/19928
1774
        * trans-array.c (gfc_conv_array_ref): Call gfc_advance_se_ss_chain
1775
        after handling scalarized references.  Make "indexse" inherit from
1776
        "se" when handling AR_ELEMENTs.
1777
        (gfc_walk_variable_expr): Add GFC_SS_SCALAR entries for each
1778
        substring or scalar reference that follows an array section.
1779
        * trans-expr.c (gfc_conv_variable): When called from within a
1780
        scalarization loop, start out with "ref" pointing to the scalarized
1781
        part of the reference.  Don't call gfc_advance_se_ss_chain here.
1782
 
1783
2005-09-07  Richard Sandiford  
1784
 
1785
        PR fortran/23373
1786
        * trans-expr.c (gfc_trans_pointer_assignment): Assign to a temporary
1787
        descriptor if the rhs is not a null pointer or variable.
1788
 
1789
2005-09-07  Thomas Koenig  
1790
 
1791
        PR fortran/20848
1792
        * symbol.c(check_conflict):  Add conflict for parameter/save,
1793
 
1794
2005-09-06  Richard Sandiford  
1795
 
1796
        PR fortran/19269
1797
        * simplify.c (gfc_simplify_transpose): Set the result's typespec from
1798
        the source, not the first element of the return value.
1799
 
1800
2005-09-04  Tobias Schl"uter  
1801
 
1802
        PR fortran/23661
1803
        * io.c (match_io): Correctly backup if PRINT followed by
1804
        symbol which is not a namelist.  Force blank between PRINT
1805
        and namelist in free form.
1806
 
1807
2005-08-31  Francois-Xavier Coudert  
1808
 
1809
        PR fortran/20592
1810
        * gfortran.h (gfc_option_t): Add flag_automatic.
1811
        * invoke.texi: Document the -fno-automatic option.
1812
        * lang.opt: Add a -fautomatic option.
1813
        * options.c (gfc_init_options): Default for -fautomatic is on.
1814
        (gfc_handle_option): Add handling of -fautomatic option.
1815
        * resolve.c (gfc_resolve): When -fno-automatic is used, mark
1816
        needed variables as SAVE.
1817
 
1818
2005-08-27  Erik Edelmann  
1819
 
1820
        * trans-array.c (gfc_trans_deferred_array): Fix comments.
1821
 
1822
2005-08-27  Erik Schnetter  
1823
 
1824
        * primary.c (match_charkind_name): Fix typo in comment leading to
1825
        function.
1826
 
1827
2005-08-25  Erik Edelmann  
1828
 
1829
        PR fortran/20363
1830
        * symbol.c (find_special): Remove.
1831
        (build_sym, add_init_expr, attr_decl1): Remove calls to
1832
        find_special in favor of calls to gfc_get_symbol.
1833
 
1834
2005-08-24  Thomas Koenig  
1835
 
1836
        PR fortran/17758
1837
        * gfortran.h (symbol_attribute):  Add noreturn to the structure.
1838
        (gfc_intrinsic_sym):  Add noreturn to the structure.
1839
        * intrinsic.c (make_noreturn):  New function.
1840
        (add_subroutines):  Mark subroutines abort and exit as noreturn.
1841
        (gfc_intrinsic_sub_interface):  Copy noreturn attribute from
1842
        isym to the resolved symbol.
1843
        * trans-decl.c (gfc_get_extern_function_decl): Set function
1844
        as VOLATILE (== noreturn) if the noreturn attribute is set.
1845
 
1846
2005-08-21  Steven G. Kargl  
1847
 
1848
        * decl.c: Typo in comment.
1849
 
1850
2005-08-21  Steven G. Kargl  
1851
 
1852
        * array.c: Bump GFC_MAX_AC_EXPAND from 100 to 65535.
1853
 
1854
2005-08-21  Tobias Schl"uter  
1855
 
1856
        * gfortran.h (gfc_option_t): Remove source field.  Add
1857
        flag_d_lines field.
1858
        (gfc_new_file): Remove arguments in prototype.
1859
        (gfc_source_file): Make 'const char *'.
1860
        * f95-lang.c (gfc_init): Use gfc_source_file instead of
1861
        gfc_option.source.  Call gfc_new_file without arguments.
1862
        * invoke.texi: Document new options '-fd-lines-as-code' and
1863
        '-fd-lines-as-comment'.
1864
        * lang.opt: Add new options.  Alphabetize.
1865
        * options.c (gfc_init_options): Initialize gfc_source_file instead
1866
        of gfc_option.source.  Initialize gfc_option.flag_d_lines.
1867
        (form_from_filename): Move here from scanner.c.  Make
1868
        'filename' argument 'const'.
1869
        (gfc_post_options): Set gfc_source_file.  Determine source form.
1870
        Warn if 'd-lines*' are used in free form.
1871
        * scanner.c (gfc_source_file): Constify.
1872
        (skip_fixed_comments): Deal with d-lines.
1873
        (get_file): Constify argument 'name'.
1874
        (load_file): Constify argument 'filename'.
1875
        (form_from_filename): Moved to options.c.
1876
        (gfc_new_file): Remove arguments.  Don't initialize
1877
        gfc_source_file, don't determine source form.
1878
        * trans-const.c (gfc_init_constants): Use gfc_source_file instead
1879
        of gfc_option.source.
1880
 
1881
2005-08-19  Steven G. Kargl  
1882
 
1883
        PR fortran/23065
1884
        * gfortran.h: Remove PATH_MAX definition.
1885
        * module.c (write_module, gfc_dump_module): Use alloca to allocate
1886
        buffers.
1887
        * scanner.c (gfc_release_include_path, form_from_filename): Ditto.
1888
 
1889
2005-08-16  Huang Chun  
1890
 
1891
        * trans-expr.c (gfc_conv_power_op): Evaluate the expression before
1892
        expand.
1893
 
1894
2005-08-14  Asher Langton  
1895
 
1896
        * parse.c (match): Enclose macro in do...while(0) and braces.
1897
 
1898
2005-08-14  Paul Thomas  
1899
 
1900
        PR fortran/21432.
1901
        * gfortran.texi: Document PRINT namelist.
1902
 
1903
2005-08-14  Paul Thomas  
1904
 
1905
        PR fortran/21432.
1906
        * io.c (match_io): Add code to implement PRINT namelist.
1907
 
1908
2005-08-14  Canqun Yang  
1909
 
1910
        * trans-stmt.c (gfc_trans_arithmetic_if): Optimized in case of equal
1911
        labels.
1912
 
1913
2005-08-11  Francois-Xavier Coudert  
1914
            Steven Bosscher  
1915
 
1916
        PR libfortran/20006
1917
        * gfortran.h: Add is_main_program member to symbol_attribute.
1918
        * trans-decl: Add a gfor_fndecl_set_std tree.
1919
        (gfc_build_builtin_function_decls): Create it.
1920
        (gfc_generate_function_code): Add this call at the beginning of
1921
        the main program.
1922
        * trans.c (gfc_generate_code): Move main_program and attr.
1923
        * trans.h: Add declaration for gfor_fndecl_set_std.
1924
 
1925
2005-08-10  Thomas Koenig  
1926
 
1927
        PR libfortran/22143
1928
        gfortran.h:  Declare new function gfc_resolve_dim_arg.
1929
        resolve.c:  New function gfc_resolve_dim_arg.
1930
        iresolve.c (gfc_resolve_all):  Use gfc_resolve_dim_arg.
1931
        (gfc_resolve_any):  Likewise.
1932
        (gfc_resolve_count):  Likewise.
1933
        (gfc_resolve_cshift):  Likewise.  If the kind of shift is less
1934
        gfc_default_integer_kind, convert it to default integer type.
1935
        (gfc_resolve_eoshift):  Likewise.
1936
        (gfc_resolve_maxloc):  Use gfc_resolve_dim_arg.
1937
        (gfc_resolve_maxval):  Likewise.
1938
        (gfc_resolve_minloc):  Likewise.
1939
        (gfc_resolve_minval):  Likewise.
1940
        (gfc_resolve_product):  Likewise.
1941
        (gfc_resolve_spread):  Likewise.
1942
        (gfc_resolve_sum):  Likewise.
1943
 
1944
2005-08-09  Francois-Xavier Coudert  
1945
 
1946
        * check.c (gfc_check_ttynam_sub, gfc_check_isatty): Add check
1947
        functions for new intrinsics TTYNAM and ISATTY.
1948
        * intrinsic.c (add_functions, add_subroutines): Add new
1949
        intrinsics.
1950
        * intrinsic.h: Add prototypes for new check and resolve
1951
        functions.
1952
        * iresolve.c (gfc_resolve_isatty, gfc_resolve_ttynam_sub): New
1953
        resolve functions for intrinsics TTYNAM and ISATTY.
1954
        * gfortran.h (gfc_generic_isym_id): Add symbol for ISATTY.
1955
        * trans-intrinsic.c: Add case for GFC_ISYM_ISATTY.
1956
 
1957
2005-08-09  Jakub Jelinek  
1958
 
1959
        * scanner.c (preprocessor_line): Don't write beyond the end of flag
1960
        buffer.
1961
 
1962
2005-08-07   Janne Blomqvist  
1963
 
1964
        PR fortran/22390
1965
        * dump-parse-tree.c (gfc_show_code_node): Add case for FLUSH.
1966
        * gfortran.h: Add enums for FLUSH.
1967
        * io.c (gfc_free_filepos,match_file_element,match_filepos): Modify
1968
        comment appropriately.  (gfc_match_flush): New function.
1969
        * match.c (gfc_match_if): Add match for flush.
1970
        * match.h: Add prototype.
1971
        * parse.c (decode_statement): Add flush to 'f' case.
1972
        (next_statement): Add case for flush. (gfc_ascii_statement): Likewise.
1973
        * resolve.c (resolve_code): Add flush case.
1974
        * st.c (gfc_free_statement): Add flush case.
1975
        * trans-io.c: Add prototype for flush.
1976
        (gfc_build_io_library_fndecls): Build fndecl for flush.
1977
        (gfc_trans_flush): New function.
1978
        * trans-stmt.h: Add prototype.
1979
        * trans.c (gfc_trans_code): Add case for flush.
1980
 
1981
2005-08-06  Francois-Xavier Coudert  
1982
 
1983
        * primary.c (match_hollerith_constant): Fix typo.
1984
 
1985
2005-08-06  Kazu Hirata  
1986
 
1987
        * decl.c, dump-parse-tree.c, gfortran.texi, intrinsic.texi,
1988
        invoke.texi, resolve.c, trans-array.c, trans-array.h,
1989
        trans-common.c, trans-expr.c, trans-io.c, trans.h: Fix
1990
        comment/doc typos.  Follow spelling conventions.
1991
 
1992
2005-08-06  Jakub Jelinek  
1993
 
1994
        PR fortran/18833
1995
        PR fortran/20850
1996
        * primary.c (match_varspec): If equiv_flag, don't look at sym's
1997
        attributes, call gfc_match_array_ref up to twice and don't do any
1998
        substring or component processing.
1999
        * resolve.c (resolve_equivalence): Transform REF_ARRAY into
2000
        REF_SUBSTRING or nothing if needed.  Check that substrings
2001
        don't have zero length.
2002
 
2003
2005-08-05  Thomas Koenig  
2004
 
2005
        * trans-expr.c  (gfc_build_builtin_function_decls):  Mark
2006
        stop_numeric and stop_string as non-returning.
2007
 
2008
2005-08-04  Paul Brook  
2009
 
2010
        * trans-expr.c (gfc_conv_expr, gfc_conv_expr_type): Update comments.
2011
        (gfc_conv_expr_lhs): Fix assertion.
2012
        (gfc_conv_expr_val): Merge post block.  Set se.expr to new value.
2013
 
2014
2005-08-02  David Edelsohn  
2015
 
2016
        PR fortran/22491
2017
        * expr.c (simplify_parameter_variable): Do not copy the subobject
2018
        references if the expression value is a constant.
2019
 
2020
        * expr.c (gfc_simplify_expr): Evaluate constant substrings.
2021
 
2022
2005-07-31  Jerry DeLisle  
2023
 
2024
        * intrinsic.texi: Add documentation for exponent, floor, and fnum and
2025
        fix description of ceiling in index.
2026
 
2027
2005-07-31  Steven Bosscher  
2028
 
2029
        * trans-decl.c (gfc_build_builtin_function_decls): Give the internal
2030
        malloc functions the 'malloc' attribute.  Give runtime_error the
2031
        'noreturn' attribute.
2032
 
2033
2005-07-31  Steven Bosscher  
2034
 
2035
        * trans-stmt.c (gfc_trans_goto): Jump to the known label instead
2036
        of the assigned goto variable.
2037
 
2038
2005-07-29  Steven Bosscher  
2039
 
2040
        * trans-types.h (gfc_array_range_type): Add missing GTY decl for this.
2041
 
2042
2005-07-28  Andrew Pinski  
2043
 
2044
        * fortran/f95-lang.c (language_function): Remove
2045
        named_labels, shadowed_labels, returns_value, returns_abnormally,
2046
        warn_about_return_type, and extern_inline fields.
2047
        (named_labels): Remove variable.
2048
        (gfc_init_decl_processing): Remove setting of named_labels.
2049
 
2050
2005-07-27  Volker Reichelt  
2051
 
2052
        PR fortran/22503
2053
        * resolve.c (resolve_operator): Improve diagnostic for comparison
2054
        of logicals with invalid operator.
2055
 
2056
2005-07-25  Jakub Jelinek  
2057
 
2058
        PR fortran/20063
2059
        * data.c (gfc_assign_data_value_range): Call
2060
        create_character_initializer if last_ts is a character type.
2061
 
2062
2005-07-22  Manfred Hollstein  
2063
 
2064
        * match.c (gfc_match_symbol): Fix uninitialised warnings.
2065
        * matchexp.c (gfc_match_expr): Likewise.
2066
 
2067
2005-07-20  Giovanni Bajo  
2068
 
2069
        Make CONSTRUCTOR use VEC to store initializers.
2070
        * trans-array.c (gfc_build_null_descriptor,
2071
        gfc_trans_array_constructor_value, gfc_conv_array_initializer):
2072
        Update to cope with VEC in CONSTRUCTOR_ELTS.
2073
        * trans-common.c (create_common): Likewise.
2074
        * trans-expr.c (gfc_conv_structure): Likewise.
2075
        * trans-stmt.c (gfc_trans_character_select): Use
2076
        build_constructor_from_list instead of build_constructor.
2077
 
2078
2005-07-19  Paul Thomas  
2079
 
2080
        PR fortran/16940
2081
        * resolve.c (resolve_symbol): A symbol with FL_UNKNOWN
2082
        is matched against interfaces in parent namespaces. If there
2083
        the symtree is set to point to the interface.
2084
 
2085
2005-07-16  David Edelsohn  
2086
 
2087
        PR fortran/21730
2088
        * decl.c (do_parm): Adjust character initializer to character length
2089
        of symbol before assigning.
2090
 
2091
2005-07-14  Steve Ellcey  
2092
 
2093
        * trans-types.c (MAX_REAL_KINDS): Increase from 4 to 5.
2094
 
2095
2005-07-14  Jakub Jelinek  
2096
 
2097
        * gfortran.h (MAX_ERROR_MESSAGE): Remove.
2098
        (gfc_error_buf): Add allocated and index fields.  Change message
2099
        field from array to a pointer.
2100
        * error.c (use_warning_buffer, error_ptr, warning_ptr): Remove.
2101
        (cur_error_buffer): New variable.
2102
        (error_char): Use cur_error_buffer->{message,index} instead of
2103
        {warning,error}_{buffer.message,ptr}.  Reallocate message buffer
2104
        if too small.
2105
        (gfc_warning, gfc_notify_std, gfc_error, gfc_error_now): Setup
2106
        cur_error_buffer and its index rather than {warning,error}_ptr
2107
        and use_warning_buffer.
2108
        (gfc_warning_check, gfc_error_check): Don't print anything if
2109
        message is NULL.
2110
        (gfc_push_error): Allocate saved message with xstrdup.
2111
        (gfc_pop_error): Free saved message with gfc_free.
2112
        (gfc_free_error): New function.
2113
        * primary.c (match_complex_constant): Call gfc_free_error if
2114
        gfc_pop_error will not be called.
2115
        * match.c (gfc_match_st_function): Likewise.
2116
 
2117
        PR fortran/22417
2118
        * scanner.c (preprocessor_line): Don't treat flag 3 as the start of a new
2119
        file.  Fix file left but not entered warning.
2120
 
2121
2005-07-14  Feng Wang  
2122
        Steven G. Kargl  
2123
 
2124
        * array.c (resolve_character_array_constructor): Allocate gfc_charlen
2125
        for the array and attach to namespace list for automatic deallocation.
2126
 
2127
2005-07-13  Andreas Schwab  
2128
 
2129
        * Make-lang.in (fortran/dependency.o): Depend on
2130
        $(GFORTRAN_TRANS_DEPS).
2131
 
2132
2005-07-11  Jakub Jelinek  
2133
 
2134
        * trans-stmt.c (gfc_trans_forall_loop): Clear maskindex before
2135
        the outermost loop.
2136
        (gfc_trans_assign_need_temp, gfc_trans_pointer_assign_need_temp,
2137
        gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_2):
2138
        Don't clear maskindexes here.
2139
 
2140
2005-07-08  Daniel Berlin  
2141
 
2142
        * trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN
2143
        is removed.
2144
 
2145
2005-07-08  Jakub Jelinek  
2146
 
2147
        * primary.c (gfc_match_rvalue): Handle ENTRY the same way
2148
        as FUNCTION.
2149
 
2150
2005-07-07  Jakub Jelinek  
2151
 
2152
        * scanner.c (load_line): Add pbuflen argument, don't make
2153
        buflen static.  If maxlen == 0 or preprocessor_flag,
2154
        don't truncate at buflen, but at maxlen.  In xrealloc add
2155
        1 byte at the end for the terminating '\0'.  Don't fill
2156
        with spaces up to buflen, but gfc_option.fixed_line_length.
2157
        (load_file): Adjust load_line caller.  Add line_len variable.
2158
 
2159
        * scanner.c (preprocessor_line): Only set current_file->line when errors
2160
        have not been encountered.  Warn and don't crash if a file leave
2161
        preprocessor line has no corresponding entering line.  Formatting.
2162
 
2163
2005-07-07  Steven Bosscher  
2164
 
2165
        * primary.c (match_hollerith_constant): Use int, not unsigned int,
2166
        for the hollerith length.  Fix indentation.
2167
 
2168
2005-07-07  Feng Wang  
2169
 
2170
        PR fortran/16531
2171
        PR fortran/15966
2172
        PR fortran/18781
2173
        * arith.c (gfc_hollerith2int, gfc_hollerith2real,
2174
        gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
2175
        New functions.
2176
        (eval_intrinsic): Don't evaluate if Hollerith constant arguments exist.
2177
        * arith.h (gfc_hollerith2int, gfc_hollerith2real,
2178
        gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
2179
        Add prototypes.
2180
        * expr.c (free_expr0): Free memery allocated for Hollerith constant.
2181
        (gfc_copy_expr): Allocate and copy string if Expr is from Hollerith.
2182
        (gfc_check_assign): Enable conversion from Hollerith to other.
2183
        * gfortran.h (bt): Add BT_HOLLERITH.
2184
        (gfc_expr): Add from_H flag.
2185
        * intrinsic.c (gfc_type_letter): Return 'h' for BT_HOLLERITH.
2186
        (add_conversions): Add conversions from Hollerith constant to other.
2187
        (do_simplify): Don't simplify if  Hollerith constant arguments exist.
2188
        * io.c (resolve_tag): Enable array in FORMAT tag under GFC_STD_GNU.
2189
        * misc.c (gfc_basetype_name): Return "HOLLERITH" for BT_HOLLERITH.
2190
        (gfc_type_name): Print "HOLLERITH" for BT_HOLLERITH.
2191
        * primary.c (match_hollerith_constant): New function.
2192
        (gfc_match_literal_constant): Add match Hollerith before Integer.
2193
        * simplify.c (gfc_convert_constant): Add conversion from Hollerith
2194
        to other.
2195
        * trans-const.c (gfc_conv_constant_to_tree): Use VIEW_CONVERT_EXPR to
2196
        convert Hollerith constant to tree.
2197
        * trans-io.c (gfc_convert_array_to_string): Get array's address and
2198
        length to set string expr.
2199
        (set_string): Deal with array assigned Hollerith constant and character
2200
        array.
2201
        * gfortran.texi: Document Hollerith constants as extention support.
2202
 
2203
2005-07-07  Feng Wang  
2204
 
2205
        PR fortran/22327
2206
        * trans-array.c (gfc_trans_array_constructor_value): Fix index of data.
2207
 
2208
2005-07-07  Jakub Jelinek  
2209
 
2210
        * decl.c (gfc_match_entry): Allow ENTRY without parentheses
2211
        even in FUNCTIONs.
2212
 
2213
2005-07-03  Kazu Hirata  
2214
 
2215
        * gfortran.texi, intrinsic.texi: Fix typos.
2216
        * symbol.c: Fix a comment typo.
2217
 
2218
2005-07-03  Kaveh R. Ghazi  
2219
 
2220
        * error.c (error_printf, error_print): Use ATTRIBUTE_GCC_GFC.
2221
        * gfortran.h (ATTRIBUTE_GCC_GFC): New.
2222
        (gfc_warning, gfc_warning_now, gfc_error, gfc_error_now,
2223
        gfc_fatal_error, gfc_internal_error, gfc_notify_std): Use
2224
        ATTRIBUTE_GCC_GFC.
2225
 
2226
2005-07-03  Francois-Xavier Coudert  
2227
 
2228
        PR fortran/20842
2229
        * io.c (match_dt_element): Do not allow END tag in PRINT or
2230
        WRITE statement.
2231
 
2232
2005-07-02  Joseph S. Myers  
2233
 
2234
        * lang.opt: Remove "." from end of help texts.
2235
 
2236
2005-07-01  Jerry DeLisle  
2237
 
2238
        * gfortran.texi: Fix typos and grammar.
2239
        * invoke.texi: Fix typos and grammar.
2240
        * intrinsic.texi: Add documentaion for eoshift, epsilon, etime, and
2241
        exit. Fixed alignment of text for dtime syntax. Fixed a few line
2242
        lengths.
2243
 
2244
2005-06-25  Jakub Jelinek  
2245
 
2246
        * trans-stmt.c (gfc_trans_forall_1): Prefer to use smaller logical
2247
        type than boolean_type_node.
2248
 
2249
2005-06-25  Kelley Cook  
2250
 
2251
        * all files: Update FSF address in copyright headers.
2252
 
2253
2005-06-24  Jerry DeLisle  
2254
 
2255
        PR fortran/21915
2256
        * gfortran.h: Add symbols for new intrinsic functions.
2257
        * intrinsic.c: Add new functions acosh, asinh, and atanh.
2258
        * intrinsic.h: Add prototypes for the new functions.
2259
        * iresolve.c (gfc_resolve_acosh): New function.
2260
        (gfc_resolve_asinh): New function.
2261
        (gfc_resolve_atanh): New function.
2262
        * mathbuiltins.def: Add defines.
2263
        * simplify.c (gfc_simplify_acosh): New function.
2264
        (gfc_simplify_asinh): New function.
2265
        (gfc_simplify_atanh): New function.
2266
 
2267
2005-06-24  Feng Wang  
2268
 
2269
        * simplify.c (gfc_simplify_modulo): Don't clear before get result.
2270
 
2271
2005-06-22  Paul Brook  
2272
 
2273
        PR fortran/21034
2274
        * symbol.c (gfc_is_var_automatic): New function.
2275
        (save_symbol): Use it.
2276
 
2277
2005-06-21  Tobias Schlueter  
2278
            Paul Thomas  
2279
 
2280
        PR fortran/22010
2281
        Port from g95.
2282
        * module.c (mio_namelist): New function. Correct to set
2283
        namelist_tail and to give error on renaming namelist by use
2284
        association.
2285
        (mio_symbol): Call mio_namelist.
2286
 
2287
2005-06-19  Francois-Xavier Coudert  
2288
 
2289
        * gfortran.h: Add flag_backslash compile-time option.
2290
        * lang.opt: Add support for -fbackslash option.
2291
        * options.c: Likewise.
2292
        * primary.c: Implement behavior for -fno-backslash.
2293
        * invoke.texi: Add doc for -fbackslash option.
2294
        * gfortran.texi: Remove mention of -fno-backslash as a
2295
        possible extension.
2296
 
2297
2005-06-20  Steven G. Kargl  
2298
        (port from g95)
2299
 
2300
        PR fortran/21257
2301
        * match.c (gfc_match_label): Detect duplicate labels.
2302
 
2303
 
2304
2005-06-20  Erik Edelmann  
2305
 
2306
        * intrinsic.c (check_intrinsic_standard): Fix spelling error
2307
        in a warning message.
2308
 
2309
2005-06-18  Erik Edelman  
2310
            Steven G. Kargl  
2311
 
2312
        PR fortran/19926
2313
        * primary.c (gfc_match_rvalue):  expr_type can be EXPR_CONSTANT
2314
        for an array; check that sym->as is NULL.
2315
 
2316
 
2317
2005-06-18  Steven G. Kargl  
2318
 
2319
        * intrinsic.c (gfc_intrinsic_func_interface): Enable errors for generic
2320
        functions whose simplification routine return FAILURE.
2321
 
2322
2005-06-13  Geoffrey Keating  
2323
 
2324
        * Make-lang.in (fortran.install-man): Doesn't depend on installdirs.
2325
        (rule for installing f95.1 manpage): Does depend on installdirs.
2326
 
2327
2005-06-13  Jakub Jelinek  
2328
 
2329
        PR fortran/22038
2330
        * trans-stmt.c (gfc_trans_forall_loop): Only increment maskindex
2331
        in the innermost loop.
2332
 
2333
        * trans-expr.c (gfc_conv_function_call): Return int instead of
2334
        void.  Use a local variable for has_alternate_specifier and
2335
        return it.  Avoid modification of function type's return value
2336
        in place, since it may be shared.
2337
        * trans.h (has_alternate_specifier): Remove.
2338
        (gfc_conv_function_call): Change return type.
2339
        * trans-stmt.c (has_alternate_specifier): Remove.
2340
        (gfc_trans_call): Add a local has_alternate_specifier variable,
2341
        set it from gfc_conv_function_call return value.
2342
 
2343
2005-06-12  Richard Henderson  
2344
 
2345
        * trans-array.c (gfc_conv_descriptor_data_get): Rename from
2346
        gfc_conv_descriptor_data.  Cast the result to the DATAPTR type.
2347
        (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): New.
2348
        (gfc_trans_allocate_array_storage): Use them.
2349
        (gfc_array_allocate, gfc_array_deallocate): Likewise.
2350
        (gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor): Likewise.
2351
        (gfc_trans_deferred_array): Likewise.
2352
        * trans-expr.c (gfc_conv_function_call): Likewise.
2353
        (gfc_trans_subcomponent_assign): Likewise.
2354
        (gfc_trans_pointer_assignment): Likewise.
2355
        * trans-intrinsic.c (gfc_conv_allocated): Likewise.
2356
        * trans-types.c (gfc_array_descriptor_base): New.
2357
        (gfc_get_element_type): Use GFC_TYPE_ARRAY_DATAPTR_TYPE.
2358
        (gfc_get_array_descriptor_base): Break out from ...
2359
        (gfc_get_array_type_bounds): ... here.  Create type variants.
2360
        * trans-array.h (gfc_conv_descriptor_data_get): Declare.
2361
        (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): Declare.
2362
 
2363
2005-06-12  Tobias Schl"uter  
2364
 
2365
        * trans-expr.c (gfc_conv_variable): POINTER results don't need f2c
2366
        calling conventions.  Look at sym instead of sym->result.
2367
        * trans-types.c (gfc_sym_type): Remove workaround for frontend bug.
2368
        Remove condition which is always false with workaround removed.
2369
        (gfc_return_by_reference): Always look at sym, never at sym->result.
2370
 
2371
2005-06-11  Steven G. Kargl  
2372
 
2373
        PR fortran/17792
2374
        PR fortran/21375
2375
        * trans-array.c (gfc_array_deallocate): pstat is new argument
2376
        (gfc_array_allocate): update gfc_array_deallocate() call.
2377
        (gfc_trans_deferred_array): ditto.
2378
        * trans-array.h: update gfc_array_deallocate() prototype.
2379
        * trans-decl.c (gfc_build_builtin_function_decls): update declaration
2380
        * trans-stmt.c (gfc_trans_deallocate): Implement STAT= feature.
2381
 
2382
2005-06-07  Jerry DeLisle  
2383
 
2384
        * intrinsic.texi: Add documentation for dcmplx, digits,
2385
        dim, idim, ddim, dot_product, dprod, dreal, and dtime.
2386
 
2387
2005-06-05  Tobias Schl"uter  
2388
 
2389
        PR fortran/21912
2390
        * trans-array.c (gfc_trans_array_constructor_value): Slightly reorder.
2391
        Generate correct exit condition in case of negative steps in
2392
        implied-do loops.
2393
 
2394
        * invoke.texi: Fix description of flags required for compatibility
2395
        with g77.
2396
 
2397
2005-06-04  Tobias Schl"uter  
2398
        Erik Schnetter  
2399
 
2400
        PR fortran/19195
2401
        * trans.c (gfc_get_backend_locus): Remove unnecessary adjustment,
2402
        remove FIXME comment.
2403
 
2404
2005-06-04  Tobias Schl"uter  
2405
 
2406
        * match.c (match_forall_iterator): Don't immediately give error if '='
2407
        is not followed by an expression.
2408
 
2409
2005-06-04  Tobias Schl"uter  
2410
        Erik Edelmann  
2411
 
2412
        * array.c (gfc_match_array_constructor): Disallow empty array
2413
        constructor.
2414
 
2415
2005-06-03  Jerry DeLisle  
2416
 
2417
        * fortran/intrinsic.texi: Add documentation for
2418
        command_argument_count, conjg, dconjg, count,
2419
        cpu_time, cshift, date_and_time, dble, dfloat.
2420
 
2421
2005-06-01  Roger Sayle  
2422
 
2423
        * intrinsic.c (add_conv): No longer take a "simplify" argument as
2424
        its always gfc_convert_constant, instead take a "standard" argument.
2425
        (add_conversions): Change all existing calls of add_conv to pass
2426
        GFC_STD_F77 as appropriate.  Additionally, if we're allowing GNU
2427
        extensions support integer-logical and logical-integer conversions.
2428
        (gfc_convert_type_warn): Warn about use the use of these conversions
2429
        as a extension when appropriate, i.e. with -pedantic.
2430
        * simplify.c (gfc_convert_constant): Add support for integer to
2431
        logical and logical to integer conversions, using gfc_int2log and
2432
        gfc_log2int.
2433
        * arith.c (gfc_log2int, gfc_int2log): New functions.
2434
        * arith.h (gfc_log2int, gfc_int2log): Prototype here.
2435
        * gfortran.texi: Document this new GNU extension.
2436
 
2437
2005-06-01  Paul Thomas  
2438
 
2439
        * fortran/trans-expr.c (gfc_conv_variable): Clean up bracketting.
2440
        * fortran/trans-expr.c (gfc_conv_function_call): Insert spaces.
2441
        Correct comments and replace convert of integer_one_node with
2442
        build_int_cst.
2443
 
2444
2005-06-01  Jakub Jelinek  
2445
 
2446
        PR fortran/21729
2447
        * resolve.c (resolve_contained_fntype): Use sym->attr.untyped
2448
        to avoid giving error multiple times.
2449
        (resolve_entries): Don't error about BT_UNKNOWN here.
2450
        (resolve_unknown_f): Capitalize IMPLICIT for consistency.
2451
        (resolve_fntype): New function.
2452
        (gfc_resolve): Call resolve_fntype.
2453
 
2454
2005-06-01  Feng Wang  
2455
 
2456
        PR fortran/20883
2457
        * fortran/io.c (resolve_tag): Fix error message.
2458
 
2459
2005-05-31  Kaveh R. Ghazi  
2460
 
2461
        * fortran/trans-decl.c: Don't include errors.h.
2462
        * fortran/Make-lang.in: Updates dependencies.
2463
 
2464
2005-05-31  Paul Thomas  
2465
 
2466
        PR fortran/18109
2467
        PR fortran/18283
2468
        PR fortran/19107
2469
        * fortran/trans-array.c (gfc_conv_expr_descriptor): Obtain the
2470
        string length from the expression typespec character length value
2471
        and set temp_ss->stringlength and backend_decl. Obtain the
2472
        tree expression from gfc_conv_expr rather than gfc_conv_expr_val.
2473
        Dereference the expression to obtain the character.
2474
        * fortran/trans-expr.c (gfc_conv_component_ref): Remove the
2475
        dereference of scalar character pointer structure components.
2476
        * fortran/trans-expr.c (gfc_trans_subarray_assign): Obtain the
2477
        string length for the structure component from the component
2478
        expression.
2479
 
2480
2005-05-30  Roger Sayle  
2481
 
2482
        * gfortran.h (GFC_STD_LEGACY): New "standard" macro.  Reindent.
2483
        * options.c (gfc_init_options): By default, allow legacy extensions
2484
        but warn about them.
2485
        (gfc_post_options): Make -pedantic warn about legacy extensions
2486
        even with -std=legacy.
2487
        (gfc_handle_option): Make -std=gnu follow the default behaviour
2488
        of warning about legacy extensions, but allowing them. Make the
2489
        new -std=legacy accept everything and warn about nothing.
2490
        * lang.opt (std=legacy): New F95 command line option.
2491
        * invoke.texi: Document both -std=f2003 and -std=legacy.
2492
        * gfortran.texi: Explain the two types of extensions and document
2493
        how they are affected by the various -std= command line options.
2494
 
2495
2005-05-30  Kazu Hirata  
2496
 
2497
        * trans-expr.c: Remove trailing ^M.
2498
 
2499
        * trans-expr.c: Fix comment typos.
2500
 
2501
2005-05-29  Paul Thomas  
2502
 
2503
        PR fortran/16939
2504
        PR fortran/17192
2505
        PR fortran/17193
2506
        PR fortran/17202
2507
        PR fortran/18689
2508
        PR fortran/18890
2509
        * fortran/trans-array.c (gfc_conv_resolve_dependencies): Add string
2510
        length to temp_ss for character pointer array assignments.
2511
        * fortran/trans-expr.c (gfc_conv_variable): Correct errors in
2512
        dereferencing of characters and character pointers.
2513
        * fortran/trans-expr.c (gfc_conv_function_call): Provide string
2514
        length as return argument for various kinds of handling of return.
2515
        Return a char[]* temporary for character pointer functions and
2516
        dereference the temporary upon return.
2517
 
2518
2005-05-29  Janne Blomqvist  
2519
            Steven G. Kargl  
2520
 
2521
        fortran/PR20846
2522
        * io.c (gfc_match_inquire): Implement constraints on UNIT and FILE usage.
2523
 
2524
2005-05-29  Francois-Xavier Coudert  
2525
 
2526
        PR libfortran/20006
2527
        * io.c (format_item_1): Add check and extension warning for
2528
        $ edit descriptor.
2529
 
2530
2005-05-28  Steven G. Kargl  
2531
 
2532
        * arith.c (gfc_arith_init_1): Fix off by one problem;
2533
        (gfc_check_integer_range): Chop extra bits in subnormal numbers.
2534
 
2535
2005-05-28  Jerry DeLisle   
2536
            Steven G. Kargl  
2537
 
2538
        * intrinsic.texi: added documentation for BIT_SIZE, BTEST, CHAR, CEILING
2539
        and CMPLX
2540
 
2541
2005-05-27  Steven G. Kargl  
2542
 
2543
        * trans-array.c (gfc_trans_deferred_array): Use build_int_cst to force
2544
        like types in comparsion.
2545
 
2546
2005-05-26  Kazu Hirata  
2547
 
2548
        * data.c, parse.c, trans-array.c, trans-decl.c,
2549
        trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c,
2550
        trans.h: Fix comment typos.  Follow spelling conventions.
2551
 
2552
2005-05-22  Roger Sayle  
2553
 
2554
        * gfortran.texi: Document some more GNU extensions.
2555
 
2556
2005-05-22  Francois-Xavier Coudert  
2557
 
2558
        * error.c (gfc_warning): Fix typo in comment.
2559
 
2560
2005-05-18  Thomas Koenig  
2561
 
2562
        PR libfortran/21127
2563
        * fortran/iresolve.c (gfc_resolve_reshape): Add
2564
        gfc_type_letter (BT_COMPLEX) for complex to
2565
        to resolved function name.
2566
 
2567
2005-05-18  Erik Edelmann  
2568
 
2569
        * array.c (gfc_match_array_constructor): Support [ ... ]
2570
        style array constructors.
2571
 
2572
2005-05-18  Tobias Schl"uter  
2573
 
2574
        * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_TRUNC
2575
        and BUILT_IN_TRUNCF instead of BUILT_IN_FLOOR and BUILT_IN_FLOORF.
2576
        * trans-intrinsic.c (build_fix_expr): Change 'op' argument
2577
        to correct enum type.
2578
        (gfc_conv_intrinsic_aint): Likewise.  Clarify comment in front of
2579
        function.  Add default case to switch, deal with FIX_TRUNC_EXPR
2580
        instead of FIX_FLOOR_EXPR.
2581
 
2582
2005-05-18  Feng Wang  
2583
 
2584
        PR fortran/20954
2585
        * trans-const.c (gfc_conv_const_charlen): Use gfc_charlen_type_node to
2586
        build character length.
2587
 
2588
2005-05-17  Zdenek Dvorak  
2589
 
2590
        * trans-types.c (gfc_array_range_type): New variable.
2591
        (gfc_init_types): Initialize gfc_array_range_type.
2592
        (gfc_get_array_type_bounds): Use gfc_array_range_type.
2593
 
2594
2005-05-17  Jakub Jelinek  
2595
 
2596
        PR fortran/15080
2597
        * trans-stmt.c (generate_loop_for_temp_to_lhs): Remove SIZE and COUNT2
2598
        arguments.  If LSS is gfc_ss_terminator, increment COUNT1 by 1, instead
2599
        of incrementing COUNT2 and using COUNT1+COUNT2 increment COUNT1 and use
2600
        just that as index.
2601
        (generate_loop_for_rhs_to_temp): Likewise.
2602
        (compute_overall_iter_number): Add INNER_SIZE_BODY argument.
2603
        It non-NULL, add it to body.
2604
        (allocate_temp_for_forall_nest_1): New function, split from
2605
        allocate_temp_for_forall_nest.
2606
        (allocate_temp_for_forall_nest): Add INNER_SIZE_BODY argument,
2607
        propagate it down to compute_overall_iter_number.  Use
2608
        allocate_temp_for_forall_nest_1.
2609
        (gfc_trans_assign_need_temp): Remove COUNT2.  Call
2610
        compute_inner_temp_size into a new stmtblock_t.  Adjust calls to
2611
        allocate_temp_for_forall_nest, generate_loop_for_rhs_to_temp
2612
        and generate_loop_for_temp_to_lhs.
2613
        (gfc_trans_pointer_assign_need_temp): Adjust calls to
2614
        allocate_temp_for_forall_nest.
2615
        (gfc_evaluate_where_mask): Call compute_inner_temp_size into a new
2616
        stmtblock_t.  Call compute_overall_iter_number just once, then
2617
        allocate_temp_for_forall_nest_1 twice with the same size.
2618
        Initialize mask indexes if nested_forall_info != NULL.
2619
        (gfc_trans_where_2): Initialize mask indexes before calling
2620
        gfc_trans_nested_forall_loop.
2621
 
2622
2005-05-15  Feng Wang  
2623
        Jerry DeLisle  
2624
 
2625
        PR fortran/17432
2626
        * trans-stmt.c (gfc_trans_label_assign): fix pointer type, to
2627
        resolve ICE on assign of format label.
2628
        * trans-io.c (set_string): add fold-convert to properly
2629
        handle assigned format label in write.
2630
 
2631
2005-05-13  Paul Brook  
2632
 
2633
        * trans-stmt.c (gfc_trans_forall_1): Fix comment typo.
2634
 
2635
2005-05-12  Tobias Schl"uter  
2636
 
2637
        * trans-types.c (gfc_is_nodesc_array): Remove redundant check.
2638
 
2639
2005-05-11  Tobias Schl"uter  
2640
 
2641
        PR fortran/21260
2642
        * io.c (check_format): Look for literal characters inside
2643
        hollerith constant.
2644
 
2645
2005-05-11  Tobias Schl"uter  
2646
 
2647
        * resolve.c (resolve_symbol): Copy 'pointer' and 'dimension'
2648
        attribute from result symbol to function symbol.
2649
        * trans-expr.c (gfc_conv_function_call): Look at sym->attr.dimension
2650
        instead of sym->result->attr.dimension.
2651
 
2652
2005-05-10  Tobias Schl"uter  
2653
 
2654
        PR fortran/20178
2655
        * gfortran.h (gfc_option): Add flag_f2c.
2656
        * invoke.texi: Document '-ff2c' command line option.  Adapt
2657
        documentation for '-fno-second-underscore' and '-fno-underscoring'.
2658
        * lang.opt (ff2c): New entry.
2659
        * options.c (gfc-init_options): Set default calling convention
2660
        to -fno-f2c.  Mark -fsecond-underscore unset.
2661
        (gfc_post_options): Set -fsecond-underscore if not explicitly set
2662
        by user.
2663
        (handle_options): Set gfc_option.flag_f2c according to requested
2664
        calling convention.
2665
        * trans-decl.c (gfc_get_extern_function_decl): Use special f2c
2666
        intrinsics where necessary.
2667
        (gfc_trans_deferred_vars): Change todo error to assertion.
2668
        * trans-expr.c (gfc_conv_variable): Dereference access
2669
        to hidden result argument.
2670
        (gfc_conv_function_call): Add hidden result argument to argument
2671
        list if f2c calling conventions requested.  Slightly restructure
2672
        tests.  Convert result of default REAL function to requested type
2673
        if f2c calling conventions are used.  Dereference COMPLEX result
2674
        if f2c cc are used.
2675
        * trans-types.c (gfc_sym_type):  Return double for default REAL
2676
        function if f2c cc are used.
2677
        (gfc_return_by_reference): Slightly restructure logic.  Return
2678
        COMPLEX by reference depending on calling conventions.
2679
        (gfc_get_function_type): Correctly make hidden result argument a
2680
        pass-by-reference argument for COMPLEX.  Remove old code which does
2681
        this for derived types.
2682
 
2683
2005-05-09  Tobias Schl"uter  
2684
 
2685
        * match.c (gfc_match_return): Only require space after keyword when
2686
        it is obligatory.  Only give stdwarn to after matching is successful.
2687
        * dump-parse-tree.c (gfc_show_symbol): Deal with alternate returns.
2688
 
2689
2005-05-08  Kazu Hirata  
2690
 
2691
        * intrinsic.texi: Fix typos.
2692
 
2693
2005-05-07  Steven G. Kargl  
2694
 
2695
        * intrinsic.texi:  Document ASSOCIATED and ATAN2.  Update Bessel function
2696
        description to include information about scalar arguments.
2697
 
2698
2005-05-03  Kazu Hirata  
2699
 
2700
        * Make-lang.in, dump-parse-tree.c, invoke.texi, lang.opt,
2701
        match.h, trans-array.h: Update copyright.
2702
 
2703
2005-04-29  Tom Tromey  
2704
 
2705
        * f95-lang.c (poplevel): Updated for change to build_block.
2706
 
2707
2005-04-29  Jakub Jelinek  
2708
 
2709
        PR fortran/13082
2710
        PR fortran/18824
2711
        * trans-expr.c (gfc_conv_variable): Handle return values in functions
2712
        with alternate entry points.
2713
        * resolve.c (resolve_entries): Remove unnecessary string termination
2714
        after snprintf.  Set result of entry master.
2715
        If all entries have the same type, set entry master's type
2716
        to that common type, otherwise set mixed_entry_master attribute.
2717
        * trans-types.c (gfc_get_mixed_entry_union): New function.
2718
        (gfc_get_function_type): Use it for mixed_entry_master functions.
2719
        * gfortran.h (symbol_attribute): Add mixed_entry_master bit.
2720
        * decl.c (gfc_match_entry): Set entry->result properly for
2721
        function ENTRY.
2722
        * trans-decl.c (gfc_get_symbol_decl): For entry_master, skip over
2723
        __entry argument.
2724
        (build_entry_thunks): Handle return values in entry thunks.
2725
        Clear BT_CHARACTER's ts.cl->backend_decl, so that it is not
2726
        shared between multiple contexts.
2727
        (gfc_get_fake_result_decl): Use DECL_ARGUMENTS from
2728
        current_function_decl instead of sym->backend_decl.  Skip over
2729
        entry master's entry id argument.  For mixed_entry_master entries or
2730
        their results, return a COMPONENT_REF of the fake result.
2731
        (gfc_trans_deferred_vars): Don't warn about missing return value if
2732
        at least one entry point uses RESULT.
2733
        (gfc_generate_function_code): For entry master returning
2734
        CHARACTER, copy ts.cl->backend_decl to all entry result syms.
2735
        * trans-array.c (gfc_trans_dummy_array_bias): Don't consider return
2736
        values optional just because they are in entry master.
2737
 
2738
2005-04-29  Francois-Xavier Coudert  
2739
 
2740
        * gfortran.h (gfc_namespace): Add seen_implicit_none field,
2741
        Tobias forgot this in previous commit.
2742
 
2743
2005-04-29  Paul Brook   
2744
 
2745
        * trans-expr.c (gfc_conv_expr_present): Fix broken assert.  Update
2746
        comment.
2747
 
2748
2005-04-29  Tobias Schl"uter  
2749
 
2750
        * gfortran.h (gfc_namespace): Add seen_implicit_none field.
2751
        * symbol.c (gfc_set_implicit_none): Give error if there's a previous
2752
        IMPLICIT NONE, set seen_implicit_none.
2753
        (gfc_merge_new_implicit): Error if there's an IMPLICIT NONE statement.
2754
 
2755
2005-04-28  Tobias Schl"uter  
2756
 
2757
        * gfortran.h (gfc_gsymbol): Make name a const char *.
2758
        * symbol.c (gfc_get_gsymbol): Allocate gsymbol name via
2759
        gfc_get_string.
2760
 
2761
2005-04-28  Francois-Xavier Coudert  
2762
 
2763
        PR fortran/20865
2764
        * resolve.c (resolve_actual_arglist): Issue an error if a statement
2765
        functions is used as actual argument.
2766
 
2767
2005-04-27  Francois-Xavier Coudert  
2768
 
2769
        PR fortran/21177
2770
        * interface.c (compare_parameter): Ignore type for EXPR_NULL
2771
        only if type is BT_UNKNOWN.
2772
 
2773
2005-04-25  Paul Brook  
2774
        Steven G. Kargl  
2775
 
2776
        PR fortran/20879
2777
        * check.c (gfc_check_ichar_iachar): New function.
2778
        * instinsic.h (gfc_check_ichar_iachar): Add prototype.
2779
        * intrinsic.c (add_functions): Use it.
2780
        * primary.c (match_varspec, gfc_match_rvalue): Clear incorrect
2781
        character expression lengths.
2782
 
2783
2005-04-24  Tobias Schl"uter  
2784
 
2785
        PR fortran/20059
2786
        * trans-common.c (translate_common): Cast offset and
2787
        common_segment->offset to type int for warning message.
2788
 
2789
2005-04-23  DJ Delorie  
2790
 
2791
        * trans-decl.c: Adjust warning() callers.
2792
 
2793
2005-04-23  Tobias Schl"uter  
2794
 
2795
        * trans-const.c (gfc_conv_mpfr_to_tree): Use hexadecimal string as
2796
        intermediate representation.  Fix typo in comment.
2797
 
2798
2005-04-21  Steven G. Kargl  
2799
 
2800
        * trans-const.c (gfc_conv_mpfr_to_tree): Remove unneeded computation;
2801
        simplify logic; Add a gcc_assert.
2802
 
2803
2005-04-19  Steven G. Kargl  
2804
 
2805
        * trans-const.c (gfc_conv_mpz_to_tree): Fix comment.
2806
 
2807
2005-04-19  Arnaud Desitter  
2808
            Steven G. Kargl  
2809
 
2810
        * invoke.texi: Update -Waliasing description
2811
 
2812
2005-04-19  Francois-Xavier Coudert  
2813
 
2814
        PR fortran/16861
2815
        * resolve.c (resolve_variable): If e->symtree is not set, this
2816
        ought to be a FAILURE, and not a segfault.
2817
 
2818
2005-04-17  Paul Thomas  
2819
 
2820
        PR fortran/17472
2821
        PR fortran/18209
2822
        PR fortran/18396
2823
        PR fortran/19467
2824
        PR fortran/19657
2825
        * fortran/trans-io.c (gfc_build_io_library_fndecls): Create
2826
        declaration for st_set_nml_var and st_set_nml_var_dim. Remove
2827
        declarations of old namelist functions.
2828
        (build_dt): Simplified call to transfer_namelist_element.
2829
        (nml_get_addr_expr): Generates address expression for start of
2830
        object data. New function.
2831
        (nml_full_name): Qualified name for derived type components. New
2832
        function.
2833
        (transfer_namelist_element): Modified for calls to new functions
2834
        and improved derived type handling.
2835
 
2836
2005-04-17  Richard Guenther  
2837
 
2838
        * scanner.c (gfc_next_char_literal): Reset truncation flag
2839
        for lines ending in a comment for both fixed and free form.
2840
        (load_line): Do not set truncated flag if only truncating
2841
        the EOL marker.
2842
 
2843
2005-04-15  Richard Guenther  
2844
 
2845
        PR fortran/14569
2846
        * gfortran.h (gfc_linebuf): Add truncated field.
2847
        * parse.c (next_statement): Handle warning for truncated
2848
        lines.
2849
        * scanner.c (load_line): Return if line was truncated.
2850
        No longer warn for truncated lines.  Remove unused parameters.
2851
        (load_file): Store load_line return value to linebuf.
2852
        (gfc_error_recovery): Do not advance line at the end.
2853
 
2854
2005-04-14  Steven G. Kargl  
2855
 
2856
        * gfortran.h (gfc_real_info): Add subnormal struct member.
2857
        * arith.c (gfc_arith_init_1): Set it.
2858
        (gfc_check_real_range): Use it.
2859
        * simplify.c (gfc_simplify_nearest): Fix nearest(0.,1.).
2860
 
2861
2005-04-12  Kazu Hirata  
2862
 
2863
        * simplify.c: Fix a comment typo.
2864
 
2865
2005-04-11  Richard Sandiford  
2866
 
2867
        * lang.opt: Refer to the GCC internals documentation instead of c.opt.
2868
 
2869
2005-04-11  Tobias Schl"uter  
2870
 
2871
        * simplify.c (gfc_simplify_nearest): Overhaul.
2872
 
2873
2005-04-10  Kazu Hirata  
2874
 
2875
        * interface.c: Fix a comment typo.
2876
 
2877
2005-04-10  Francois-Xavier Coudert  
2878
 
2879
        * match.c (match_arithmetic_if): Arithmetic IF is obsolete in
2880
        Fortran 95.
2881
 
2882
2005-04-09  Steven G. Kargl  
2883
 
2884
        * simplify.c (gfc_simplify_anint): Use mpfr_round()
2885
        (gfc_simplify_dnint): ditto.
2886
        (gfc_simplify_nint): ditto.
2887
 
2888
2005-04-09  Andrew Pinski  
2889
 
2890
        PR fortran/13257
2891
        * io.c (check_format): Allow an optional comma
2892
        between descriptors.
2893
 
2894
2005-04-09  Francois-Xavier Coudert  
2895
 
2896
        * match.c (match_arithmetic_if): Remove gfc_ prefix and correct
2897
        comment according to GNU coding style.
2898
        (gfc_match_if): Remove gfc_ prefix in call to
2899
        match_arithmetic_if.
2900
 
2901
2005-04-08  Diego Novillo  
2902
 
2903
        * match.c (gfc_match_arithmetic_if): Declare static.
2904
 
2905
2005-04-08  Francois-Xavier Coudert  
2906
 
2907
        PR fortran/17229
2908
        * match.c (gfc_match_arithmetic_if): New function to match an
2909
        arithmetic IF statement.
2910
        (gfc_match_if): Use gfc_match_arithmetic_if to match an
2911
        arithmetic IF statement embedded in a simple IF statement.
2912
 
2913
2005-04-07  Steven G. Kargl  
2914
 
2915
        * simplify.c (gfc_simplify_exponent): Fix exponent(tiny(x))
2916
 
2917
2005-04-06  Steven G. Kargl  
2918
 
2919
        * invoke.texi: Remove documentation of -std=f90
2920
 
2921
2005-04-06  Tobias Schl"uter  
2922
 
2923
        * expr.c (gfc_check_assign): Don't allow NULL as rhs in a
2924
        non-pointer assignment.
2925
 
2926
2005-04-05  Feng Wang  
2927
 
2928
        PR fortran/15959
2929
        PR fortran/20713
2930
 
2931
        * array.c (resolve_character_array_constructor): New function. Set
2932
        constant character array's character length.
2933
        (gfc_resolve_array_constructor): Use it.
2934
        * decl.c (add_init_expr_to_sym): Set symbol and initializer character
2935
        length.
2936
        (gfc_set_constant_character_len): New function. Set constant character
2937
        expression according the given length.
2938
        * match.h (gfc_set_constant_character_len): Add prototype.
2939
 
2940
2005-04-04  Francois-Xavier Coudert  
2941
 
2942
        * intrinsic.texi: BES?? functions are not in the f95 standard.
2943
 
2944
2005-04-03  Francois-Xavier Coudert  
2945
 
2946
        * intrinsic.texi: Document COS, EXP, LOG, LOG10, SIN, SQRT, TAN.
2947
 
2948
2005-04-03  Francois-Xavier Coudert  
2949
 
2950
        * intrinsic.texi: Document BESJ0, BESJ1, BESJN, BESY0, BESY1,
2951
        BESYN, ATAN, COSH, ERF, ERC, SINH, TANH.
2952
 
2953
2005-04-02  Steven G. Kargl  
2954
 
2955
        * intrinsic.texi: Document ALLOCATED, ANINT, ANY, ASIN; fix typos
2956
 
2957
2005-04-01  Kazu Hirata  
2958
 
2959
        * decl.c, f95-lang.c, interface.c, module.c, trans-stmt.c,
2960
        trans.h: Fix comment typos.
2961
 
2962
2005-03-29  Steven G. Kargl  
2963
 
2964
        * gfortran.h (option_t): Change d8, i8, r8 to flag_default_double,
2965
        flag_default_integer, flag_default_real
2966
        * invoke.texi: Update documentation
2967
        * lang.opt: Remove d8, i8, r8 definitions; Add fdefault-double-8
2968
        fdefault-integer-8, and fdefault-real-8 definitions.
2969
        * options.c (gfc_init_options): Set option defaults
2970
        (gfc_handle_option): Handle command line options.
2971
        * trans-types.c (gfc_init_kinds): Use options.
2972
 
2973
2005-03-29  Keith Besaw  
2974
 
2975
        * f95-lang.c (builtin_function): Process the attrs parameter
2976
        and apply the "const" attribute to the builtin if found.
2977
 
2978
2005-03-27  Steven G. Kargl  
2979
 
2980
        * intrinsic.texi: Document AIMAG, AINT, ALL
2981
 
2982
2005-03-26  Steven G. Kargl  
2983
 
2984
        * arith.c (check_result): Fix illogical logic.
2985
 
2986
2005-03-26  Canqun Yang  
2987
 
2988
        * trans-common.c (create_common): Build RECORD_NODE for common blocks
2989
        contain no equivalence objects.
2990
        (add_equivalences): New argument saw_equiv.
2991
        (trans_common): New local variable saw_equiv.
2992
        (finish_equivalences): Add a local variable dummy, Always pass true
2993
        for the 3rd parameter to create_common.
2994
 
2995
2005-03-25  Steven G. Kargl  
2996
 
2997
        * intrinsic.texi: Fix "make dvi"
2998
 
2999
2005-03-24  Steven G. Kargl  
3000
 
3001
        * intrinsic.texi: New file.
3002
        * gfortran.texi: Include it; white space change; fix typo.
3003
 
3004
2005-03-23  Joseph S. Myers  
3005
 
3006
        * f95-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
3007
 
3008
2005-03-23  Steven Bosscher  
3009
 
3010
        * convert.c (convert): Replace fold (buildN (...)) with fold_buildN.
3011
        * trans-array.c (gfc_trans_allocate_array_storage,
3012
        gfc_trans_allocate_temp_array gfc_trans_array_constructor_value,
3013
        gfc_conv_array_index_ref, gfc_trans_array_bound_check,
3014
        gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
3015
        gfc_conv_array_ref, gfc_trans_preloop_setup, gfc_conv_ss_startstride,
3016
        gfc_conv_loop_setup, gfc_array_init_size, gfc_trans_array_bounds,
3017
        gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
3018
        gfc_conv_expr_descriptor): Likewise.
3019
        * trans-expr.c (gfc_conv_powi, gfc_conv_string_tmp,
3020
        gfc_conv_concat_op, gfc_conv_expr_op): Likewise.
3021
        * trans-intrinsic.c (build_round_expr, gfc_conv_intrinsic_bound,
3022
        gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_sign,
3023
        gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval,
3024
        gfc_conv_intrinsic_btest, gfc_conv_intrinsic_bitop,
3025
        gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits,
3026
        gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_ishftc,
3027
        gfc_conv_intrinsic_merge, prepare_arg_info,
3028
        gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_repeat): Likewise.
3029
        * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do, gfc_trans_do_while,
3030
        gfc_trans_forall_loop, gfc_do_allocate, generate_loop_for_temp_to_lhs,
3031
        generate_loop_for_rhs_to_temp, compute_inner_temp_size,
3032
        allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp,
3033
        gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_assign):
3034
        Likewise.
3035
        * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Likewise.
3036
        * trans.c (gfc_add_modify_expr): Likewise.
3037
 
3038
2005-03-22  Francois-Xavier Coudert  
3039
 
3040
        * check.c (gfc_check_chdir, gfc_check_chdir_sub, gfc_check_kill,
3041
        gfc_check_kill_sub, gfc_check_link, gfc_check_link_sub,
3042
        gfc_check_symlnk, gfc_check_symlnk_sub, gfc_check_rename,
3043
        gfc_check_rename_sub, gfc_check_sleep_sub, gfc_check_gerror,
3044
        gfc_check_getlog, gfc_check_hostnm, gfc_check_hostnm_sub,
3045
        gfc_check_perror): new functions to check newly implemented
3046
        g77 intrinsics.
3047
        * gfortran.h: adding symbols for new intrinsics.
3048
        * intrinsic.c (add_functions): adding new intrinsics.
3049
        (add_subroutines): adding new intrinsics.
3050
        * intrinsic.h: prototype for all checking and resolving
3051
        functions.
3052
        * iresolve.c (gfc_resolve_chdir, gfc_resolve_chdir_sub,
3053
        gfc_resolve_hostnm, gfc_resolve_ierrno, gfc_resolve_kill,
3054
        gfc_resolve_link, gfc_resolve_rename, gfc_resolve_symlnk,
3055
        gfc_resolve_time, gfc_resolve_time8, gfc_resolve_rename_sub,
3056
        gfc_resolve_kill_sub, gfc_resolve_link_sub,
3057
        gfc_resolve_symlnk_sub, gfc_resolve_sleep_sub,
3058
        gfc_resolve_gerror, gfc_resolve_getlog, gfc_resolve_hostnm_sub,
3059
        gfc_resolve_perror): new functions to resolve intrinsics.
3060
        * trans-intrinsic.c (gfc_conv_intrinsic_function): add case
3061
        for new symbols.
3062
 
3063
2005-03-19  Tobias Schl"uter  
3064
 
3065
        * dump-parse-tree.c (gfc_show_expr): Dump name of namespace
3066
        in which the variable is declared.
3067
 
3068
        PR fortran/18525
3069
        * resolve.c (was_declared): Also check for dummy attribute.
3070
 
3071
2005-03-19  Tobias Schl"uter  
3072
 
3073
        * gfortran.h (arith): Remove ARITH_0TO0.
3074
        * arith.c (gfc_arith_error): Remove handling of ARITH_0TO0.
3075
        (gfc_arith_power): Remove special casing of zero to integral
3076
        power zero.
3077
 
3078
2005-03-18  Kaveh R. Ghazi  
3079
 
3080
        * Make-lang.in (fortran-warn): Remove -Wno-error.
3081
        (expr.o-warn, resolve.o-warn, simplify.o-warn,
3082
        trans-common.o-warn): Specify -Wno-error.
3083
 
3084
2005-03-17  Tobias Schl"uter  
3085
 
3086
        * trans-array.c (gfc_trans_static_array_pointer,
3087
        get_array_ctor_var_strlen, gfc_conv_array_index_offset): Fix
3088
        comment and formatting typos.
3089
 
3090
2005-03-17  Francois-Xavier Coudert  
3091
 
3092
        * invoke.texi: Fix typos.
3093
 
3094
2005-03-15  Zack Weinberg  
3095
 
3096
        * Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
3097
 
3098
2005-03-15  Feng Wang  
3099
 
3100
        * trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag
3101
        to zero on label_tree.
3102
 
3103
2005-03-15  Feng Wang  
3104
 
3105
        PR fortran/18827
3106
        * io.c (resolve_tag): Add checking on assigned label.
3107
        (match_dt_format): Does not set symbol assign attribute.
3108
        * match.c (gfc_match_goto):Does not set symbol assign attribute.
3109
        * resolve.c (resolve_code): Add checking on assigned label.
3110
        * trans-common.c (build_field): Deals with common variable assigned
3111
        a label.
3112
        * trans-stmt.c (gfc_conv_label_variable): New function.
3113
        (gfc_trans_label_assign): Use it.
3114
        (gfc_trans_goto): Ditto.
3115
        * trans-io.c (set_string): Ditto.
3116
        * trans.h (gfc_conv_label_variable): Add prototype.
3117
 
3118
2005-03-14  Tobias Schl"uter  
3119
 
3120
        PR fortran/20467
3121
        * symbol.c (check_conflict): A dummy argument can't be a statement
3122
        function.
3123
 
3124
2005-03-14  Zdenek Dvorak  
3125
 
3126
        * fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert
3127
        the argument of the shift to the unsigned type.
3128
 
3129
2005-03-13  Tobias Schl"uter  
3130
 
3131
        PR fortran/16907
3132
        * resolve.c (gfc_resolve_index): Allow REAL indices as an extension.
3133
 
3134
2005-03-13  Tobias Schl"uter  
3135
 
3136
        PR fortran/20323
3137
        * resolve.c (gfc_resolve): Check if character lengths are
3138
        specification expressions.
3139
 
3140
2005-03-12  Tobias Schl"uter  
3141
 
3142
        PR fortran/20361
3143
        * trans-array.c (gfc_stack_space_left): Remove unused variable.
3144
        (gfc_can_put_var_on_stack): Move to trans-decl.c, remove #if 0'ed
3145
        code.
3146
        * trans-array.h (gfc_stack_space_left, gfc_can_put_var_on_stack):
3147
        Remove declaration / prototype.
3148
        * trans-common.c (build_equiv_decl): Give union a name.  Check if
3149
        it can be put on the stack.
3150
        * trans-decl.c (gfc_stack_space_left): Move function here.
3151
        (gfc_build_qualified_array): Fix comment typo.
3152
        * trans.h (gfc_put_var_on_stack): Add prototype.
3153
 
3154
2005-03-11  Kaveh R. Ghazi  
3155
 
3156
        * Make-lang.in (fortran-warn): Set to $(STRICT_WARN) -Wno-error.
3157
        * decl.c, trans.c: Don't use C++ style comments.
3158
        * gfortran.h (sym_flavor, procedure_type, sym_intent, gfc_access,
3159
        ifsrc): Give names to enums and use ENUM_BITFIELD.
3160
        (gfc_access): Remove trailing comma.
3161
 
3162
2005-03-05  Steven G. Kargl  
3163
 
3164
        PR 19936
3165
        * primary.c (match_complex_constant): Mangled complex constant may
3166
        be an implied do-loop.  Give implied do-loop matcher a chance.
3167
 
3168
2005-03-05  Steven G. Kargl  
3169
 
3170
        PR fortran/19754
3171
        * resolve.c (compare_shapes):  New function.
3172
        (resolve_operator): Use it.
3173
 
3174
2005-03-05  Tobias Schl"uter  
3175
 
3176
        * trans-const.c (gfc_conv_constant_to_tree): Use correct tree
3177
        type for COMPLEX constants.
3178
 
3179
2005-03-04  Tobias Schl"uter  
3180
 
3181
        PR fortran/19673
3182
        * trans-expr.c (gfc_conv_function_call): Correctly dereference
3183
        argument from a pointer function also if it has a result clause.
3184
 
3185
2005-03-04  Steven G. Kargl  
3186
 
3187
        * expr.c (gfc_copy_shape_excluding): Change && to ||.
3188
 
3189
2005-03-04  Tobias Schl"uter  
3190
 
3191
        * trans-intrinsic.c (gfc_get_symbol_for_expr): Fix comment typo,
3192
        clarify comment.
3193
 
3194
2005-02-28  Tobias Schl"uter  
3195
        (port from g95)
3196
 
3197
        PR fortran/19479
3198
        * simplify.c (gfc_simplify_bound): Rename to ...
3199
        (simplify_bound): ... this and overhaul.
3200
 
3201
2005-02-28  Steven G. Kargl  
3202
 
3203
        * trans-intrinsic.c (gfc_conv_intrinsic_iargc): remove boolean argument.
3204
        (gfc_conv_intrinsic_function): update function calls
3205
 
3206
2005-02-27  Steven G. Kargl  
3207
 
3208
        PR fortran/20058
3209
        * trans-types.c (gfc_max_integer_kind): Declare
3210
        (gfc_init_kinds): Initialize it.
3211
        * gfortran.h (gfc_max_integer_kind): extern it.
3212
        * primary.c (match_boz_constant): Use it; remove gfortran extension
3213
        of kind suffixes on BOZ literal constants
3214
 
3215
 
3216
2005-02-27  Steven G. Kargl  
3217
 
3218
        * arith.c (gfc_check_real_range):  Remove multiple returns
3219
        (check_result): New function.
3220
        (gfc_arith_uminus,gfc_arith_plus,gfc_arith_times,
3221
        gfc_arith_divide,gfc_arith_power,gfc_arith_minus): Use it.
3222
 
3223
 
3224
2005-02-24  Volker Reichelt  
3225
 
3226
        * decl.c, resolve.c, trans-array.c, trans.h: Fix comment typo(s).
3227
 
3228
 
3229
2005-02-24  Tobias Schl"uter  
3230
 
3231
        Unrevert previously reverted patch.  Adding this fix:
3232
        * module.c (find_true_name): Deal with NULL module.
3233
 
3234
2005-02-24  Tobias Schl"uter  
3235
 
3236
        Revert yesterday's patch:
3237
        2005-02-23  Tobias Schl"uter  
3238
 
3239
                * gfortran.h (gfc_component, gfc_actual_arglist, ...
3240
                ... argument.  Copy string instead of pointing to it.
3241
 
3242
2005-02-23  Tobias Schl"uter  
3243
 
3244
        * gfortran.h (gfc_get_namespace): Add second argument to prototype.
3245
        * intrinsic.c (gfc_intrinsic_init_1): Pass second argument to
3246
        gfc_get_namespace.
3247
        * module.c (mio_namespace_ref, load_needed): Likewise.
3248
        * parse.c (parse_interface, parse_contained): Likewise.  Here the
3249
        correct second argument matters.
3250
        * symbol.c (gfc_get_namespace): Add parent_types argument, only copy
3251
        parent's implicit types if this is set.
3252
        (gfc_symbol_init_2): Pass second argument to gfc_get_namespace.
3253
        * trans-common.c (build_common_decl): Likewise.
3254
 
3255
        * gfortran.h (symbol_attribute): New 'untyped' field, fix comment
3256
        formatting.
3257
        * symbol.c (gfc_set_default_type): Issue error only once, by setting
3258
        and checking 'untyped' attribute.
3259
 
3260
        * gfortran.h (gfc_expr): Move 'operator', 'op1', 'op2', and 'uop'
3261
        fields into new struct 'op' inside the 'value' union.
3262
        * arith.c (eval_intrinsic): Adapt all users.
3263
        * dependency.c (gfc_check_dependency): Likewise.
3264
        * dump-parse-tree.c (gfc_show_expr): Likewise.
3265
        * expr.c (gfc_get_expr): Don't clear removed fields.
3266
        (free_expr0, gfc_copy_expr, gfc_type_convert_binary,
3267
        gfc_is_constant_expr, simplify_intrinsic_op, check_init_expr,
3268
        check_intrinsic_op): Adapt to new field names.
3269
        * interface.c (gfc_extend_expr): Likewise.  Also explicitly
3270
        nullify 'esym' and 'isym' fields of new function call.
3271
        * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul):
3272
        Adapt to renamed structure fields.
3273
        * matchexp.c (build_node, match_level_1, match_expr): Likewise.
3274
        * module.c (mio_expr): Likewise.
3275
        * resolve.c (resolve_operator): Likewise.
3276
        (gfc_find_forall_index): Likewise.  Only look through operands
3277
        if dealing with EXPR_OP
3278
        * trans-array.c (gfc_walk_op_expr): Adapt to renamed fields.
3279
        * trans-expr.c (gfc_conv_unary_op, gfc_conv_power_op,
3280
        gfc_conv_concat_op, gfc_conv_expr_op): Likewise.
3281
 
3282
        [ Reverted ]
3283
        * gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Make
3284
        'name' a 'const char *'.
3285
        (gfc_symbol): Likewise, also for 'module'.
3286
        (gfc_symtree): Make 'name' a 'const char *'.
3287
        (gfc_intrinsic_sym): Likewise, also for 'lib_name'.
3288
        (gfc_get_gsymbol, gfc_find_gsymbol): Add 'const' qualifier to
3289
        'char *' argument.
3290
        (gfc_intrinsic_symbol): Use 'gfc_get_string' instead of 'strcpy' to
3291
        initialize 'SYM->module'.
3292
        * check.c (gfc_check_minloc_maxloc, check_reduction): Check for NULL
3293
        pointer instead of empty string.
3294
        * dump-parse-tree.c (gfc_show_actual_arglist): Likewise.
3295
        * interface.c (gfc_compare_types): Adapt check to account for possible
3296
        NULL pointer.
3297
        (compare_actual_formal): Check for NULL pointer instead of empty
3298
        string.
3299
        * intrinsic.c (gfc_current_intrinsic, gfc_current_intrinsic_arg):
3300
        Add 'const' qualifier.
3301
        (conv_name): Return a heap allocated string.
3302
        (find_conv): Add 'const' qualifier to 'target'.
3303
        (add_sym): Use 'gfc_get_string' instead of 'strcpy'.
3304
        (make_generic): Check for NULL pointer instead of empty string.
3305
        (make_alias): Use 'gfc_get_string' instead of 'strcpy'.
3306
        (add_conv): No need to strcpy result from 'conv_name'.
3307
        (sort_actual): Check for NULL pointer instead of empty  string.
3308
        * intrinsic.h (gfc_current_intrinsic, gfc_current_intrinsic_arg):
3309
        Adapt prototype.
3310
        * module.c (compare_true_names): Compare pointers instead of strings
3311
        for 'module' member.
3312
        (find_true_name): Initialize string fields with gfc_get_string.
3313
        (mio_pool_string): New function.
3314
        (mio_internal_string): Adapt comment.
3315
        (mio_component_ref, mio_component, mio_actual_arg): Use
3316
        'mio_pool_string' instead of 'mio_internal_string'.
3317
        (mio_symbol_interface): Add 'const' qualifier to string arguments.
3318
        Add level of indirection. Use 'mio_pool_string' instead of
3319
        'mio_internal_string'.
3320
        (load_needed, read_module): Use 'gfc_get_string' instead of 'strcpy'.
3321
        (write_common, write_symbol): Use 'mio_pool_string' instead of
3322
        'mio_internal_string'.
3323
        (write_symbol0, write_symbol1): Likewise, also check for NULL pointer
3324
        instead of empty string.
3325
        (write_operator, write_generic): Pass correct type variable to
3326
        'mio_symbol_interface'.
3327
        (write_symtree): Use 'mio_pool_string' instead of
3328
        'mio_internal_string'.
3329
        * primary.c (match_keyword_arg): Adapt check to possible
3330
        case of NULL pointer.  Use 'gfc_get_string' instead of 'strcpy'.
3331
        * symbol.c (gfc_add_component, gfc_new_symtree, delete_symtree,
3332
        gfc_get_uop, gfc_new_symbol): Use 'gfc_get_string' instead of
3333
        'strcpy'.
3334
        (ambiguous_symbol): Check for NULL pointer instead of empty string.
3335
        (gfc_find_gsymbol, gfc_get_gsymbol): Add 'const' qualifier on string
3336
        arguments.
3337
        * trans-array.c (gfc_trans_auto_array_allocation): Check for NULL
3338
        pointer instead of empty string.
3339
        * trans-decl.c (gfc_sym_mangled_identifier,
3340
        gfc_sym_mangled_function_id, gfc_finish_var_decl, gfc_get_symbol_decl,
3341
        gfc_get_symbol_decl): Likewise.
3342
        * trans-io.c (gfc_new_nml_name_expr): Add 'const' qualifier to
3343
        argument.  Copy string instead of pointing to it.
3344
 
3345
2005-02-23  Kazu Hirata  
3346
 
3347
        * intrinsic.h, st.c: Update copyright.
3348
 
3349
2005-02-20  Steven G. Kargl  
3350
 
3351
        * symbol.c: Typos in comments.
3352
 
3353
2005-02-20  Steven G. Kargl  
3354
 
3355
        * expr.c (gfc_type_convert_binary): Typo in comment.
3356
 
3357
2005-02-19  Steven G. Kargl  
3358
 
3359
        * check.c (gfc_check_selected_int_kind): New function.
3360
        * intrinsic.h: Prototype it.
3361
        * intrinsic.c (add_function): Use it.
3362
        * simplify (gfc_simplify_ceiling,gfc_simplify_floor): Change
3363
          BT_REAL to BT_INTEGER and use gfc_default_integer_kind.
3364
 
3365
2005-02-19  Steven G. Kargl  
3366
 
3367
        * check.c (gfc_check_int): improve checking of optional kind
3368
        * simplify.c (gfc_simplify_int): Change BT_REAL to BT_INTEGER
3369
 
3370
2005-02-19  Steven G. Kargl  
3371
 
3372
        * check.c (gfc_check_achar): New function
3373
        * intrinsic.h: Prototype it.
3374
        * intrinsic.c (add_function): Use it.
3375
 
3376
2005-02-13  Tobias Schl"uter  
3377
 
3378
        * trans-stmt.c (generate_loop_for_temp_to_lhs,
3379
        generate_loop_for_rhs_to_temp): Remove if whose condition is
3380
        always true.
3381
 
3382
2005-02-12  Tobias Schl"uter  
3383
 
3384
        * symbol.c (gfc_use_ha_derived): Remove, fold functionality into ...
3385
        (gfc_use_derived): ... this function.
3386
 
3387
2005-02-09  Richard Henderson  
3388
 
3389
        * f95-lang.c (gfc_init_builtin_functions): Call
3390
        build_common_builtin_nodes; do not define any functions handled
3391
        by it.
3392
 
3393
2005-02-08  Tobias Schl"uter  
3394
 
3395
        * expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for
3396
        EXPR_SUBSTRING.
3397
        (gfc_is_constant_expr): Check 'ref' to determine if substring
3398
        reference is constant.
3399
        (gfc_simplify_expr): Simplify 'ref' instead of 'op1' and 'op2'.
3400
        (check_init_expr, check_restricted): Check 'ref' instead of 'op1'
3401
        and 'op2'.
3402
        * module.c (mio_expr): Read / write 'ref' instead of 'op1' and 'op2'.
3403
 
3404
2005-02-07  Tobias Schl"uter  
3405
 
3406
        * gfortran.h (gfc_add_dimension, gfc_add_result, gfc_add_save,
3407
        gfc_add_dummy, gfc_add_generic, gfc_add_in_common, gfc_add_data,
3408
        gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
3409
        gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
3410
        gfc_add_procedure): Add argument.
3411
        * array.c (gfc_set_array_spec), decl.c (var_element, get_proc_name,
3412
        gfc_match_null, match_type_spec, match_attr_spec,
3413
        gfc_match_formal_arglist, match_result, gfc_match_function_decl):
3414
        Update callers to match.
3415
        (gfc_match_entry): Likewise, fix comment typo.
3416
        (gfc_match_subroutine, attr_decl1, gfc_add_dimension,
3417
        access_attr_decl, do_parm, gfc_match_save, gfc_match_modproc,
3418
        gfc_match_derived_decl): Update callers.
3419
        * interface.c (gfc_match_interface): Likewise.
3420
        * match.c (gfc_match_label, gfc_add_flavor,
3421
        gfc_match_call, gfc_match_common, gfc_match_block_data,
3422
        gfc_match_namelist, gfc_match_module, gfc_match_st_function):
3423
        Likewise.
3424
        * parse.c (parse_derived, parse_interface, parse_contained),
3425
        primary.c (gfc_match_rvalue, gfc_match_variable): Likewise.
3426
        * resolve.c (resolve_formal_arglist, resolve_entries): Update callers.
3427
        * symbol.c (check_conflict, check_used): Add new 'name' argument,
3428
        use when printing error message.
3429
        (gfc_add_dimension, gfc_add_result, gfc_add_save, gfc_add_dummy,
3430
        gfc_add_generic, gfc_add_in_common, gfc_add_data,
3431
        gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
3432
        gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
3433
        gfc_add_procedure): Add new 'name' argument.  Pass along to
3434
        check_conflict and check_used.
3435
        (gfc_add_allocatable, gfc_add_external, gfc_add_intrinsic,
3436
        gfc_add_optional, gfc_add_pointer, gfc_add_target, gfc_add_elemental,
3437
        gfc_add_pure, gfc_add_recursive, gfc_add_intent,
3438
        gfc_add_explicit_interface, gfc_copy_attr): Pass NULL for new
3439
        argument in calls to any of the modified functions.
3440
 
3441
2005-02-06  Joseph S. Myers  
3442
 
3443
        * gfortran.texi: Don't give last update date.
3444
 
3445
2005-01-30  Richard Henderson  
3446
 
3447
        * options.c (gfc_init_options): Zero flag_errno_math.
3448
 
3449
2005-01-29  Paul Brook  
3450
 
3451
        PR fortran/18565
3452
        * check.c (real_or_complex_check): New function.
3453
        (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): New functions.
3454
        * intrinsic.c (add_functions): Use new check functions.
3455
        * intrinsic.h (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc):
3456
        Add prototypes.
3457
 
3458
2005-01-29  Steven G. Kargl  
3459
 
3460
        PR fortran/19589
3461
        * expr.c (gfc_check_assign):  Check for conformance of logical operands
3462
 
3463
2005-01-27  Steven Bosscher  
3464
 
3465
        * trans-decl.c (gfc_build_label_decl): Set DECL_ARTIFICAL and
3466
        TREE_USED for all labels.
3467
        (gfc_trans_entry_master_switch): Use it instead of building a
3468
        label by hand.
3469
        * trans-io.c (add_case): Likewise.
3470
        * trans-stmt.c (gfc_trans_integer_select): Likewise.
3471
 
3472
2005-01-23  Paul Brook  
3473
        Steven G. Kargl  
3474
 
3475
        PR fortran/17941
3476
        * arith.c (gfc_convert_real): Remove sign handling.
3477
        * primary.c (match_digits): Allow whitespace after initial sign.
3478
        (match_real_const): Handle signs here.  Allow whitespace after
3479
        initial sign.  Remove dead code.
3480
        (match_const_complex_part): Remove.
3481
        (match_complex_part): Use match_{real,integer}_const.
3482
        (match_complex_constant): Cross-promote integer types.
3483
 
3484
2005-01-23  James A. Morrison  
3485
 
3486
        PR fortran/19294
3487
        * iresolve.c (gfc_resolve_transpose): Resolve to transpose_c4 or
3488
        transpose_c8 for complex types.
3489
 
3490
2005-01-23  Kazu Hirata  
3491
 
3492
        * data.c, dependency.c, f95-lang.c, io.c, trans-array.c,
3493
        trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-io.c,
3494
        trans-stmt.c, trans-types.c, trans.h: Fix comment typos.
3495
        Follow spelling conventions.
3496
 
3497
2005-01-22  Bud Davis  
3498
 
3499
        PR fortran/19313
3500
        * trans-io.c (gfc_trans_inquire): Added code to support
3501
        pad.
3502
 
3503
2005-01-22  Steven G. Kargl  
3504
 
3505
        * intrinsic.c (make_alias):  Add standard argument.
3506
        (add_functions): Update make_alias calls.
3507
 
3508
2005-01-22  Paul Brook  
3509
 
3510
        * trans-expr.c (gfc_conv_function_call): Remove bogus TODO.
3511
 
3512
2005-01-22  Paul Brook  
3513
 
3514
        * gfortran.h (gfc_check_access): Add prototype.
3515
        * match.c (gfc_match_namelist): Remove TODO.
3516
        * module.c (check_access): Rename ...
3517
        (gfc_check_access): ... to this.  Boolify.  Update callers.
3518
        * resolve.c (resolve_symbol): Check for private objects in public
3519
        namelists.
3520
 
3521
2005-01-22  Paul Brook  
3522
 
3523
        * primary.c (gfc_match_rvalue): Only apply implicit type if variable
3524
        does not have an explicit type.
3525
        (gfc_match_variable): Resolve implicit derived types in all cases.
3526
        Resolve contained function types from their own namespace, not the
3527
        parent.
3528
        * resolve.c (resolve_contained_fntype): Remove duplicate sym->result
3529
        checking.  Resolve from the contained namespace, not the parent.
3530
 
3531
2005-01-22  Tobias Schl"uter  
3532
 
3533
        PR fortran/19543
3534
        * trans-const.c (gfc_conv_constant_to_tree): Give logical
3535
        constants the correct type.
3536
 
3537
        PR fortran/19194
3538
        * trans-io.c (ADD_STRING): Use gfc_charlen_type_node for string
3539
        length parameters.
3540
        (gfc_build_io_library_fndecls): 'rec' and 'recl_in' are not
3541
        pointer fields.
3542
 
3543
2005-01-18  Kazu Hirata  
3544
 
3545
        * arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,
3546
        gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c,
3547
        match.c, matchexp.c, misc.c, module.c, options.c, parse.c,
3548
        scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c,
3549
        trans-io.c, trans-stmt.c, trans.c: Update copyright.
3550
 
3551
2005-01-17  Ira Rosen  
3552
 
3553
        * f95-lang.c (gfc_init_builtin_functions): Call targetm.init_builtins.
3554
 
3555
2005-01-16  Tobias Schlueter  
3556
 
3557
        PR fortran/19182
3558
        * error.c (error_char): Line-buffer errors / warnings.
3559
 
3560
2005-01-16  Tobias Schlueter  
3561
 
3562
        * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Fix signed /
3563
        unsigned issue.  Use build_int_cst instead of converting
3564
        integer_zero_node.  Remove unnecessary conversion.
3565
 
3566
        * trans-types.c (gfc_get_character_type_len): Use
3567
        gfc_charlen_type_node as basic type for the range field.
3568
 
3569
        * trans-intrinsic.c (build_fixbound_expr,
3570
        gfc_conv_intrinsic_bound, gfc_conv_intrinsic_anyall,
3571
        gfc_conv_intrinsic_count, gfc_conv_intrinsic_btest,
3572
        gfc_conv_intrinsic_singlebitop): Use 'build_int_cst' instead
3573
        of converting 'integer_zero_node' or 'integer_one_node'
3574
        respectively.
3575
        (gfc_conv_intrinsic_ishftc): Same, but store in local variable to
3576
        evade re-building.
3577
        (gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_rrspacing,
3578
        gfc_conv_intrinsic_trim, gfc_conv_intrinsic_iargc): Use
3579
        'build_int_cst' instead of converting 'integer_zero_node' or
3580
        'integer_one_node' respectively.
3581
 
3582
        * trans-intrinsic.c (gfc_conv_intrinsic_index,
3583
        gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove
3584
        'gfc'-prefix from local variable, remove dead code, use correct
3585
        type when inserting argument.
3586
 
3587
        * trans-intrinsic.c, trans-types.c: Update copyright years.
3588
 
3589
2005-01-16  Steven G. Kargl  
3590
 
3591
        PR 19168
3592
        * resolve.c (check_case_overlap): Typo in comment.
3593
        (validate_case_label_expr):  Fix up kinds of case values
3594
        (resolve_select): Properly handle kind mismatches.
3595
 
3596
2005-01-16  Paul Brook  
3597
 
3598
        PR fortran/17675
3599
        * trans-common.c (translate_common): Remove duplicate function call.
3600
        (finish_equivalences): Preserve alignment when biasing offsets.
3601
 
3602
2005-01-15  Tobias Schl"uter  
3603
 
3604
        * primary.c (check_digit): Call 'ISXDIGIT' instead of assuming
3605
        ASCII-like character encoding.
3606
 
3607
2005-01-14  Steven G. Kargl  
3608
 
3609
        * resolve.c (compare_case): Cleanup.
3610
 
3611
2005-01-14  Steven G. Kargl  
3612
 
3613
        * resolve.c (compare_case): Give arguments correct type.
3614
 
3615
2005-01-13  Kazu Hirata  
3616
 
3617
        * iresolve.c, trans-common.c, trans-types.c: Fix comment
3618
        typos.
3619
 
3620
2005-01-09  Paul Brook  
3621
 
3622
        PR fortran/17675
3623
        * trans-common.c (current_common, current_offset): Remove.
3624
        (create_common): Add head argument.
3625
        (align_segment): New function.
3626
        (apply_segment_offset): New function.
3627
        (translate_common): Merge code from new_segment.  Handle alignment.
3628
        (new_segment): Remove.
3629
        (finish_equivalences): Ensure proper alignment.
3630
 
3631
2005-01-08  Tobias Schl"uter  
3632
 
3633
        * trans-const.c: Don't include unused math.h.
3634
 
3635
        * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl,
3636
        gfc_conv_intrinsic_bound, gfc_conv_intrinsic_minmaxloc,
3637
        gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_len): Remove
3638
        trailing whitespace.
3639
        (prepare_arg_info): Fix formatting, indenting and remove trailing
3640
        whitespace.
3641
        (gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_trim): Remove
3642
        trailing whitespace.
3643
 
3644
        * arith.c (arctangent2, gfc_arith_init_1, gfc_arith_done_1,
3645
        gfc_constant_result, gfc_range_check, gfc_arith_power,
3646
        eval_type_intrinsic0, eval_intrinsic_f2, gfc_real2real,
3647
        gfc_real2complex, gfc_complex2int, gfc_complex2real,
3648
        gfc_complex2complex): Fix whitespace issues.
3649
        * check.c (must_be, type_check, numeric_check, int_or_real_check,
3650
        logical_array_check, array_check, scalar_check, nonoptional_check,
3651
        variable_check, dim_check, check_a_kind, gfc_check_a_ikind,
3652
        gfc_check_a_xkind, gfc_check_abs, gfc_check_all_any,
3653
        gfc_check_allocated, gfc_check_a_p, gfc_check_besn,
3654
        gfc_check_btest, gfc_check_char, gfc_check_cmplx, gfc_check_count,
3655
        gfc_check_cshift, gfc_check_dcmplx, gfc_check_dble,
3656
        gfc_check_digits, gfc_check_dot_product, gfc_check_eoshift,
3657
        gfc_check_fnum, gfc_check_g77_math1, gfc_check_huge, gfc_check_i,
3658
        gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset,
3659
        gfc_check_idnint, gfc_check_ieor, gfc_check_index, gfc_check_int,
3660
        gfc_check_ior, gfc_check_ishft, gfc_check_ishftc, gfc_check_kind,
3661
        gfc_check_lbound, gfc_check_logical, min_max_args,
3662
        gfc_check_min_max_integer, gfc_check_min_max_real,
3663
        gfc_check_min_max_double, gfc_check_matmul,
3664
        gfc_check_minval_maxval, gfc_check_merge, gfc_check_nearest,
3665
        gfc_check_pack, gfc_check_precision, gfc_check_radix,
3666
        gfc_check_range, gfc_check_real, gfc_check_repeat,
3667
        gfc_check_scale, gfc_check_scan, gfc_check_selected_real_kind,
3668
        gfc_check_set_exponent): Fix formatting issues.
3669
        (gfc_check_size, gfc_check_sign): Alphabetize function order,
3670
        remove whitespace-only line.
3671
        (gfc_check_fstat, gfc_check_fstat_sub, gfc_check_stat,
3672
        gfc_check_stat_sub, gfc_check_transfer, gfc_check_transpose,
3673
        gfc_check_ubound, gfc_check_unpack, gfc_check_verify, gfc_check_x,
3674
        gfc_check_cpu_time, gfc_check_date_and_time, gfc_check_mvbits,
3675
        gfc_check_random_number, gfc_check_random_seed,
3676
        gfc_check_second_sub, gfc_check_system_clock,
3677
        gfc_check_getcwd_sub, gfc_check_exit, gfc_check_flush,
3678
        gfc_check_umask, gfc_check_umask_sub, gfc_check_unlink,
3679
        gfc_check_unlink_sub): Fix formatting issues.
3680
 
3681
2005-01-08  Tobias Schl"uter  
3682
 
3683
        * gfortran.h: Remove outdated comment.  Don't include stdio.h
3684
        explicitly.
3685
 
3686
2005-01-06  Tobias Schlueter  
3687
 
3688
        * gfortranspec.c (lang_specific_driver): Change year to 2005 in
3689
        output of 'gfortran --version'.
3690
 
3691
2005-01-03  Steven G. Kargl  
3692
 
3693
        * arith.c: Add system.h; remove string.h
3694
        * decl.c: Ditto
3695
        * matchexp.c: Ditto
3696
        * parse.c: Ditto
3697
        * resolve.c: Ditto
3698
        * st.c: Ditto
3699
        * check.c: Remove stdlib.h and stdarg.h
3700
        * error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h
3701
        * expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h
3702
        * f95-lang.c: Add system.h; remove stdio.h
3703
        * interface.c: Add system.h; remove stdlib.h and string.h
3704
        * intrinsic.c: Remove stdarg.h, stdio.h, and string.h
3705
        * io.c: Remove string.h
3706
        * simplify.c: Ditto
3707
        * match.c: Remove stdarg.h and string.h
3708
        * misc.c: Update copyright; add system.h; remove stdlib.h,
3709
        string.h, and sys/stat.h
3710
        * module.c: Add system.h; remove string.h, stdio.h, errno.h,
3711
        unistd.h, and time.h
3712
        * option.c: Remove string.h and stdlib.h
3713
        * primary.c: Ditto
3714
        * scanner.c: Update copyright; add system.h; remove stdlib.h,
3715
        stdio.h, string.h, and strings.h
3716
        * symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h
3717
        * trans-array.c: Remove stdio.h and gmp.h
3718
        * trans-const.c: Ditto
3719
        * trans-expr.c: Ditto
3720
        * trans-io.c: Ditto
3721
        * trans-stmt.c: Ditto
3722
        * trans.c: Ditto
3723
        * trans-intrinsic.c: Remove stdio.h and string.h
3724
 
3725
 
3726
Copyright (C) 2005 Free Software Foundation, Inc.
3727
 
3728
Copying and distribution of this file, with or without modification,
3729
are permitted in any medium without royalty provided the copyright
3730
notice and this notice are preserved.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.