]> gcc.gnu.org Git - gcc.git/blame - gcc/fortran/ChangeLog
re PR fortran/16465 (parser chokes with ffixed-line-length-7)
[gcc.git] / gcc / fortran / ChangeLog
CommitLineData
f56c5d5d
TS
12004-07-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2
3 PR fortran/16465
4 * lang.opt (ffixed-line-length-none, ffixed-line-length-): New
5 options.
6 (ffixed-line-length-80, ffixed-line-length-132): Remove.
7 * options.c (gfc_handle_options): Deal with changed options.
8 * scanner.c (load_line): Change second arg to 'char **',
9 allocate if pointing to NULL. Keep track of buffer's length.
10 Adapt buffer size to overlong lines. Pad lines to full length
11 in fixed form.
12 (load_file): Adapt to new interface of load_line.
13
6e34d3a3
JM
142004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
15
16 * trans.h (builtin_function): Declare.
17
c9583ed2
TS
182004-07-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
19
20 PR fortran/16404
21 (parts ported from g95)
22 * parse.h (gfc_state_data): New field do_variable.
23 (gfc_check_do_variable): Add prototype.
24 * parse.c (push_state): Initialize field 'do_variable'.
25 (gfc_check_do_variable): New function.
26 (parse_do_block): Remember do iterator variable.
27 (parse_file): Initialize field 'do_variable'.
28 * match.c (gfc_match_assignment, gfc_match_do,
29 gfc_match_allocate, gfc_match_nullify, gfc_match_deallocate):
30 Add previously missing checks.
31 (gfc_match_return): Reformat error message.
32 * io.c (match_out_tag): New function.
33 (match_open_element, match_close_element,
34 match_file_element, match_dt_element): Call match_out_tag
35 instead of match_vtag where appropriate.
36 (match_io_iterator, match_io_element): Add missing check.
37 (match_io): Reformat error message.
38 (match_inquire_element): Call match_out_tag where appropriate.
39
b38b6477
TS
40 * parse.c (gfc_check_do_variable): Fix error locus.
41
d157d978
TS
422004-07-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
43
44 PR fortran/15129
45 * trans-decl.c (gfc_build_function_decl): Create a new chardecl
46 for every assumed length character dummy argument.
47
c5a41953
TS
48 PR fortran/15140
49 * trans-decl.c (gfc_trans_deferred_vars): Remove bogus assertion.
0c0df4b3
TS
50
51 PR fortran/13792
52 * simplify.c (gfc_simplify_bound): Copy the bound expression.
53
20c9dc8a
TS
542004-07-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
55
769d99d9 56 PR fortran/15324
20c9dc8a
TS
57 * trans-array.c gfc_trans_g77_array,
58 gfc_trans_dummy_array_bias): Don't call gfc_trans_string_init
59 for assumed length characters.
60 (gfc_conv_expr_descriptor): Set se->string_length if dealing
61 with a character expression.
62 (gfc_cvonv_array_parameter): Pass string length when passing
63 character array according to g77 conventions.
64
597073ac
PB
652004-07-12 Paul Brook <paul@codesourcery.com>
66
67 * expr.c (gfc_check_assign_symbol): Handle pointer assignments.
68 * trans-array.c (gfc_trans_auto_array_allocation): Remove
69 initialization code.
70 * trans-common.c (create_common): Use gfc_conv_initializer.
71 * trans-decl.c (gfc_get_symbol_decl): Use gfc_conv_initializer.
72 * trans-expr.c (gfc_conv_initializer): New function.
73 (gfc_conv_structure): Use it.
74 * trans.h (gfc_conv_initializer): Add prototype.
75
682e69e1
PB
762004-07-11 Paul Brook <paul@codesourcery.com>
77
78 PR fortran/15986
79 * parse.c (gfc_fixup_sibling_symbols): Also look for untyped
80 variables.
81 (parse_contained): Mark contained symbols as referenced.
82
87bdc5f8
TS
832004-07-11 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
84
953e6630 85 PR fortran/16455
87bdc5f8
TS
86 * module.c (gfc_dump_module, gfc_use_module): Print locus
87 when opening of module file fails.
88
cdde7b65
TS
89 PR fortran/16404
90 * io.c (match_io): Flag 'WRITE(...), ...' as extension.
e08b5a75
TS
91
92 PR fortran/16404
93 * match.c (gfc_match_program): A program name is obligatory.
94 (gfc_match_return): RETURN in main program is an extension.
95 (gfc_match_block_data): A space is required before a block data
96 name.
88199e7c
TS
97
98 PR fortran/16433
99 * primary.c (match_boz_constant): Call gfc_notify_std only if
100 we actually have a non-standard boz-literal-constant.
101
f23c5627
TS
102 PR fortran/15754
103 * expr.c (gfc_check_assign): Print ranks if incompatible. Issue
104 warning if assigning NULL().
105
9dcf6e73
JM
1062004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
107
108 * f95-lang.c (set_block): Remove.
109 (gfc_clear_binding_stack): New.
110 (LANG_HOOKS_CLEAR_BINDING_STACK): Define.
111 (struct binding_level): Remove block_created_by_back_end.
112 (clear_binding_level): Likewise.
113 (poplevel): Don't handle block_created_by_back_end.
114
9cbf8b41
TS
1152004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
116
117 * trans-decl.c (gfc_create_module_variable): Nothing to do if
118 symbol is in common, because we ...
119 (gfc_generate_module_vars): Call gfc_trans_common.
120
331c72f3
PB
1212004-07-10 Paul Brook <paul@codesourcery.com>
122
123 * trans-array.c (gfc_build_null_descriptor): New function.
124 (gfc_trans_static_array_pointer): Use it.
125 * trans-array.h (gfc_build_null_descriptor): Add prototype.
126 * trans-expr.c (gfc_conv_structure): Handle array pointers.
127
53814b8f
TS
1282004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
129
130 PR fortran/16336
131 * decl.c (gfc_match_save): Use-associated common block
132 doesn't collide.
133 * gfortran.h (gfc_common_head): Add new field 'name'.
134 Fix typo in comment after #endif.
135 * match.c (gfc_get_common): Add new argument from_common,
136 mangle name if flag is set, fill in new field in structure
137 gfc_common_head.
138 (match_common): Set new arg in call to gfc_get_common,
139 use-associated common block doesn't collide.
140 * match.h (gfc_get_common): Adapt prototype.
141 * module.c (load_commons): Set new arg in call to
142 gfc_get_common.
143 * symbol.c (free_common_tree): New function.
144 (gfc_free_namespace): Call new function.
145 * trans-common.c (several functions): Remove argument
146 'name', use name from gfc_common_head instead.
147
7d76d73a
TS
1482004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
149
150 * expr.c (gfc_check_pointer_assign): Verify that rank of the LHS
151 and RHS match. Return early if the RHS is NULL().
152
794ba78b
TS
153 PR fortran/16336
154 * match.c (match_common): Fix error reporting for used common.
155
104b260c
TS
156 PR fortran/15969
157 * trans-expr.c (gfc_conv_structure): Handle initialization
158 of scalar pointer components.
159
24727d92
TS
160 * parse.c (decode_statement): Fix matching of BLOCK DATA.
161
77dc4103
TS
162 * trans-decl.c (generate_local_decl): Remove workaround obsoleted
163 by fix for PR 15481.
164
a8a6b603
TS
1652004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
166
167 * trans-common.c: Fix whitespace issues, make variable names
168 more readable.
169 (create_common): Additionally, make loop logic more obvious.
170
1712004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
ad6e2a18
TS
172 Paul Brook <paul@codesourcery.com>
173
174 PR fortran/13415
175 * trans-common.c (calculate_length): Remove ...
176 (get_segment_info): Merge into here. Save field type.
177 (build_field): Use saved type.
178 (create_common, new_condition, new_segment, finish_equivalences):
179 Use new get_segment_info.
180 * trans-types.c: Update comment.
181
8598a113
TS
1822004-07-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
183
184 PR fortran/14077
185 * moduele.c (mio_symbol): Don't I/O initial values unless
186 symbol is a parameter.
187
4077d207
TS
1882004-07-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
189
190 PR fortran/13201
191 * resolve.c (resolve_symbol): Verify that the shape of a
192 parameter array is not only explicit, but also constant.
193 * array.c (gfc_is_compile_time_shape): New function.
194 * gfortran.h (gfc_is_compile_time_shape): Add prototype.
195
51281118
TS
1962004-07-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
197
198 PR fortran/15481
199 PR fortran/13372
200 PR fortran/13575
201 PR fortran/15978
202 * module.c (write_symbol, write_symtree): Remove workaround.
203 * primary.c (match_actual_arglist): Enhance comment.
204 (gfc_match_rvalue): Handle function call with first argument
205 a keyword argument correctly.
206 * resolve.c (resolve_symbol): Change call to
207 gfc_set_default_type to issue error if no implicit type
208 can be found.
209 * trans-decl.c (gfc_create_module_variable): Remove workaround.
210
60c9a35b
PB
2112004-07-08 Paul Brook <paul@codesourcery.com>
212
213 * intrinsic.c (add_sym_4s): New function.
214 (add_subroutines): Change gfc_add_sym_? to gfc_add_sym_?s.
215
b41b2534
JB
2162004-07-04 Janne Blomqvist <jblomqvi@cc.hut.fi>
217 Paul Brook <paul@codesourcery.com>
218
219 PR fortran/15280
220 PR fortran/15665
221 * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_IARGC and
222 GFC_ISYM_COMMAND_ARGUMENT_COUNT.
223 * intrinsic.c (add_functions): Identify iargc. Add
224 command_argument_count.
225 (add_subroutines): Resolve getarg. Add get_command and
226 get_command_argument.
227 * intrinsic.h (gfc_resolve_getarg, gfc_resolve_get_command,
228 gfc_resolve_get_command_argument): Add prototypes.
229 * iresolve.c (gfc_resolve_getarg, gfc_resolve_get_command,
230 gfc_resolve_get_command_argument): New functions.
231 * trans-decl.c (gfor_fndecl_iargc): New variable.
232 (gfc_build_intrinsic_function_decls): Set it.
233 * trans-intrinsic.c (gfc_conv_intrinsic_iargc): New function.
234 (gfc_conv_intrinsic_function): Use it.
235 * trans.h (gfor_fndecl_iargc): Declare.
236
e62be46e
MK
2372004-07-04 Matthias Klose <doko@debian.org>
238
239 * Make-lang.in: Generate and install gfortran man page.
240 * invoke.texi: Remove extra '@c man end'.
241
8fff4fc1
RH
2422004-07-04 Richard Henderson <rth@redhat.com>
243
244 * f95-lang.c (gfc_mark_addressable): Don't put_var_into_stack.
245
1107b970
PB
2462004-07-04 Paul Brook <paul@codesourcery.com>
247
248 * decl.c (gfc_match_implicit_range): Don't use typespec.
249 (gfc_match_implicit): Handle character selectors.
250 * gfortran.h (gfc_set_implicit): Remove prototype.
251 (gfc_add_new_implicit_range, gfc_merge_new_implicit): Update.
252 * parse.c (accept_statement): Don't call gfc_set_implicit.
253 * symbol.c (new_ts): Remove.
254 (gfc_set_implicit_none): Use same loop bounds as other functions.
255 (gfc_set_implicit): Remove.
256 (gfc_clear_new_implicit, gfc_add_new_implicit_range): Only set flags.
257 (gfc_merge_new_implicit): Combine with gfc_set_implicit.
258
4025c040
RH
2592004-06-30 Richard Henderson <rth@redhat.com>
260
276b3fab
RH
261 * match.c (var_element): Remove unused variable.
262
4025c040
RH
263 * trans-decl.c (gfc_generate_function_code): Don't set
264 x_whole_function_mode_p.
265 (gfc_generate_constructors): Likewise.
266
6a0bec2c
RH
2672004-06-30 Richard Henderson <rth@redhat.com>
268
269 * trans-decl.c (gfc_generate_function_code): Don't set
270 immediate_size_expand.
271 (gfc_generate_constructors): Likewise.
272
e5ddaa24
TS
2732004-06-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
274
275 PR fortran/16161
276 * decl.c (gfc_match_type_spec): Rename second argument to
277 'implicit_flag', reverse meaning. Don't match_char_spec if
278 'implicit_flag' is set. Rename to ...
279 (match_type_spec): ... this.
280 (gfc_match_implicit_none, match_implicit_range): Move here
281 from match.c.
282 (gfc_match_implicit): Move here from match.c, try to
283 match_char_len if match_implicit_range doesn't succeed for
284 CHARACTER implicits. Call renamed fucntion match_type_spec.
285 (gfc_match_data_decl, match_prefix): Call renamed function
286 match_type_spec.
287 * match.c (gfc_match_implicit_none, match_implicit_range,
288 gfc_match_implicit): Move to decl.c.
289 * match.h (gfc_match_implicit_none, gfc_match_implicit):
290 Move protoypes to section 'decl.c'.
291 (gfc_match_type_spec): Remove prototype.
292
ef558756
TS
2932004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
294
295 * decl.c, interface.c, symbol.c, trans-common.c: Add 2004 to
296 copyright years.
297
7ab92584
SB
2982004-06-29 Steven Bosscher <stevenb@suse.de>
299
300 Make sure types in assignments are compatible. Mostly mechanical.
301 * trans-const.h (gfc_index_one_node): New define.
302 * trans-array.c (gfc_trans_allocate_array_storage,
303 gfc_trans_allocate_temp_array, gfc_trans_array_constructor_subarray,
304 gfc_trans_array_constructor_value, gfc_trans_array_constructor,
305 gfc_conv_array_ubound, gfc_conv_array_ref,
306 gfc_trans_scalarized_loop_end, gfc_conv_section_startstride,
307 gfc_conv_ss_startstride, gfc_conv_loop_setup, gfc_array_init_size,
308 gfc_trans_array_bounds, gfc_trans_dummy_array_bias,
309 gfc_conv_expr_descriptor, gfc_trans_deferred_array): Use the correct
310 types in assignments, conversions and conditionals for expressions.
311 * trans-expr.c (gfc_conv_expr_present, gfc_conv_substring,
312 gfc_conv_unary_op, gfc_conv_cst_int_power, gfc_conv_string_tmp,
313 gfc_conv_function_call, gfc_trans_pointer_assignment,
314 gfc_trans_scalar_assign): Likewise.
315 * trans-intrinsic.c (build_fixbound_expr, gfc_conv_intrinsic_bound,
316 gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count,
317 gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_btest,
318 gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ishft,
319 gfc_conv_intrinsic_ishftc, gfc_conv_intrinsic_strcmp,
320 gfc_conv_allocated, gfc_conv_associated,
321 gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_trim): Likewise.
322 * trans-io.c (set_string): Likewise.
323 * trans-stmt.c (gfc_trans_do, gfc_trans_forall_loop,
324 gfc_do_allocate, generate_loop_for_temp_to_lhs,
325 generate_loop_for_rhs_to_temp, compute_inner_temp_size,
326 compute_overall_iter_number, gfc_trans_assign_need_temp,
327 gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
328 gfc_evaluate_where_mask, gfc_trans_where_assign,
329 gfc_trans_where_2): Likewise.
330 * trans-types.c (gfc_get_character_type, gfc_build_array_type,
331 gfc_get_nodesc_array_type, gfc_get_array_type_bounds): Likewise.
332
333 * trans.c (gfc_add_modify_expr): Add sanity check that types
334 for the lhs and rhs are the same for scalar assignments.
335
fbc9b453
TS
3362004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
337
338 * dump-parse-tree.c (show_common): New function.
339 (gfc_show_namespace): Show commons.
340
9056bd70
TS
3412004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
342 Andrew Vaught <andyv@firstinter.net>
343
344 PR fortran/13249
345 PR fortran/15481
ef558756 346 * decl.c (gfc_match_save): Adapt to new common structures,
9056bd70
TS
347 don't allow saving USE-associated common.
348 * dump-parse-tree (gfc_show_attr): (saved_)common are not
349 symbol attributes any longer.
350 (gfc_show_symbol): Don't show old-style commons any longer.
351 (gfc_show_namespace): Adapt call to gfc_traverse_symtree to new
352 interface.
353 * gfortran.h (symbol_attribute): Remove common and saved_common
354 attributes.
355 (gfc_symbol): Remove common_head element.
356 (gfc_common_head): New struct.
357 (gfc_get_common_head): New macro.
358 (gfc_symtree): Add field 'common' to union.
359 (gfc_namespace): Add field 'common_root'; change type of field
360 'blank_common' to blank_common.
361 (gfc_add_data): New prototype.
362 (gfc_traverse_symtree): Expect a symtree as first argument
363 instead of namespace.
364 * match.c (gfc_get_common): New function.
365 (match_common_name): Change to take char * as argument, adapt,
366 fix bug with empty name.
367 (gfc_match_common): Adapt to new data structures. Disallow
368 redeclaration of USE-associated COMMON-block. Fix bug with
369 empty common.
370 (var_element): Adapt to new common structures.
371 * match.h (gfc_get_common): Declare.
372 * module.c: Add 2004 to copyright years, add commons to module
373 file layout description.
374 (ab_attribute, attr_bits, mio_symbol_attributes): Remove code
375 for removed attributes.
376 (mio_symbol): Adapt to new way of storing common relations.
377 (load_commons): New function.
378 (read_module): Skip common list on first pass, load_commons at
379 second.
380 (write_commons): New function.
381 (write_module): Call write_commons().
382 * symbol.c (gfc_add_saved_comon, gfc_add_common): Remove
383 functions related to removed attributes.
384 (gfc_add_data): New function.
385 (gfc_clear_attr): Don't set removed attributes.
386 (gfc_copy_attr): Don't copy removed attributes.
387 (traverse_symtree): Remove.
388 (gfc_traverse_symtree): Don't traverse symbol
389 tree of the passed namespace, but require a symtree to be passed
390 instead. Unify with traverse_symtree.
391 (gfc_traverse_ns): Call gfc_traverse_symtree according to new
392 interface.
393 (save_symbol): Remove setting of removed attribute.
394 * trans-common.c (gfc_sym_mangled_common_id): Change to
395 take 'char *' argument instead of 'gfc_symbol'.
396 (build_common_decl, new_segment, translate_common): Adapt to new
397 data structures, add new
398 argument name.
399 (create_common): Adapt to new data structures, add new
400 argument name. Fix typo in intialization of derived types.
401 (finish_equivalences): Add second argument in call to
402 create_common.
403 (named_common): take 'gfc_symtree' instead of 'gfc_symbol'.
404 (gfc_trans_common): Adapt to new data structures.
e23667c6
TS
405 * trans-decl.c (gfc_create_module_variables): Remove test for
406 removed attribute.
9056bd70 407
50d78f96
TS
4082004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
409
410 * io.c: Add 2004 to copyright years.
411
c9543002
TS
4122004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
413 Andrew Vaught <andyv@firstinter.net>
414
415 * gfortran.h (gfc_gsymbol): New typedef.
416 (gfc_gsym_root): New variable.
417 (gfc_get_gsymbol, gfc_find_gsym): New prototypes.
418 * parse.c (global_used): New function.
419 (parse_block_data): Check for double empty BLOCK DATA,
420 use global symbol table.
421 (parse_module): Use global symbol table.
422 (add_global_procedure, add_global_program): New functions.
423 (gfc_parse_file): Use global symbol table.
424 * symbol.c (gfc_gsym_root): New variable.
425 (gfc_find_gsym, gsym_compare, gfc_get_gsymbol): New
426 functions.
427
78f2fb08
TS
4282004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
429
430 * module.c (mio_gmp_real): Correct writing of negative numbers.
431
4322004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
e063a048
TS
433
434 PR fortran/15963
435 * expr.c (check_intrinsic_op): Allow comparison of characters.
436 Make logic easier.
437
ddc9ce91
TS
4382004-06-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
439 Andrew Vaught <andyv@firstinter.net>
440
441 * decl.c (contained_procedure): New function.
442 (match_end): Verify correctness of END STATEMENT in
443 all cases.
444
4452004-06-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
446 Andrew Vaught <andyv@firstinter.net>
0ff0dfbf
TS
447
448 PR fortran/15190
449 * decl.c (gfc_match_type_spec), io.c (match_io), parse.c
450 (decode_statement): Enforce required space in free-form.
451
ddc9ce91 4522004-06-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
44de5aeb
RK
453
454 * f95-lang.c (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Deleted.
455 * trans-array.c (gfc_conv_descriptor_data): Add operand
456 for COMPONENT_REF.
457 (gfc_conv_descriptor_offset, gfc_conv_descriptor_dtype): Likewise.
458 (gfc_conv_descriptor_dimension, gfc_conv_descriptor_stride): Likewise.
459 (gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound): Likewise.
460 * trans-common.c (create_common): Likewise.
461 * trans-expr.c (gfc_conv_component_ref): Likewise.
462 * trans-io.c (set_parameter_value): Likewise.
463 (set_parameter_ref, set_string, set_flag, io_result): Likewise.
464 (transfer_expr): Likewise.
465 * trans-decl.c (gfc_trans_auto_character_variable):
466 Set up to get DECL_SIZE and DECL_SIZE_UNIT gimplified.
ddc9ce91 467 (gfc_gimplify_function): New function.
44de5aeb
RK
468 (gfc_generate_function-code): Properly handle nested functions.
469 * trans.c (gfc_build_array_ref): Add two new operands for ARRAY_REF.
470
8750f9cd
JB
4712004-06-22 Janne Blomqvist <jblomqvi@cc.hut.fi>
472
473 PR fortran/15750
474 * io.c (gfc_match_inquire): Bugfix for iolength related stuff.
475 (gfc_resolve_inquire): Resolve the iolength tag. Return
476 SUCCESS at end of function if no failure has occured.
477 * resolve.c (resolve_code): Resolve if iolength is encountered.
478 * trans-io.c: (ioparm_iolength, iocall_iolength,
479 iocall_iolength_done): New variables.
480 (last_dt): Add IOLENGTH.
481 (gfc_build_io_library_fndecls ): Set iolength related variables.
482 (gfc_trans_iolength): Implement.
483 (gfc_trans_dt_end): Treat iolength as a third form of data transfer.
484
fa841200
TS
4852004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de
486
487 PR fortran/15511
488 * scanner.c (load_line): Don't truncate preprocessor lines.
489 Reformat error message.
490 (preprocessor_line): Issue warning in case of malformed
491 preprocessor line.
492
f5e440e1
TS
4932004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
494
495 * resolve.c (resolve_symbol): Add comment in function body.
496 (check_data_variable): Change type of mark to ar_type, adapt code
497 accordingly.
498
da4f9e3b
TS
4992004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
500
501 * array.c (gfc_insert_constructor): Avoid redundant call to
502 mpz_comp. Add 2004 to copyright years.
503
b40410b9
JM
5042004-06-21 Joseph S. Myers <jsm@polyomino.org.uk>
505
506 * trans.h (stmtblock_t): Change has_scope to unsigned int.
507
160874e4
SK
5082004-06-20 Steven G. Kargl <kargls@comcast.net>
509
510 * arith.c (gfc_range_check): correct complex underflow.
511
6ef42154
TS
5122004-06-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
513
514 PR fortran/15962
515 * match.c (match_case_selector): Call gfc_match_init_expr
516 instead of gfc_match_expr.
517 * resolve.c (validate_case_label_expr): No need to check for
518 constant, since it wouldn't have been matched with the fix to
519 match.c.
520
f51d8522 5212004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
7031baf4
TS
522
523 PR fortran/15211
524 * trans-intrinsic.c (gfc_conv_intrinsic_len): Deal with arrays
525 of strings.
526
ce738b86
TS
5272004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
528
529 PR fortran/15510
530 * trans-deecl.c (generate_local_decl): Do not issue warning for
531 unused variables if they're use associated.
532
5332004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
f3207b37
TS
534 Andrew Vaught <andyv@firstinter.net>
535
536 PR fortran/14928
537 * gfortran.h (gfc_check_f): Add new field f3ml.
538 * check.c (gfc_check_minloc_maxloc): Take argument list instead
539 of individual arguments, reorder if necessary.
540 * intrinsic.h (gfc_check_minloc_maxloc): ... adapt prototype.
541 * intrinsic.c (add_sym_3ml): New function.
542 (add_functions): Change to add_sym_3ml for MINLOC, MAXLOC.
543 (check_specific): Catch special case MINLOC, MAXLOC.
544
6956a6f3
PB
5452004-06-14 Paul Brook <paul@codesourcery.com>
546
547 * intrinsic.c (add_sym_2s): Use correct function types.
548
fd528377
TS
5492004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
550
b3b65c9a 551 * Make-lang.in (F95_OBJS, F95_PARSER_OBJS): Alphabetize. Move data.c
fd528377
TS
552 * data.c (gfc_get_section_index): Remove dependency on trans.h.
553
2bd74949
SK
5542004-06-12 Steven G. Kargl <kargls@comcast.net>
555
556 * check.c (gfc_check_second_sub, gfc_check_irand, gfc_check_rand
557 gfc_check_srand, gfc_check_etime, gfc_check_etime_sub): New functions.
558 * gfortran.h (gfc_generic_isym_id): New symbols GFC_ISYM_ETIME,
559 GFC_ISYM_IRAND, GFC_ISYM_RAND, GFC_ISYM_SECOND.
560 * trans-intrinsic.c: Use symbols.
561 * intrinsic.c (add_sym_2s): New function.
562 * intrinsic.c: Add etime, dtime, irand, rand, second, srand.
563 * intrinsic.h: Function prototypes.
564 * iresolve.c (gfc_resolve_etime_sub, gfc_resolve_second_sub
565 gfc_resolve_srand): New functions.
566
c52eae8d
TS
5672004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
568
569 PR fortran/14957
570 * decl.c (gfc_match_end): Require END {SUBROUTINE|FUNCTION} for
571 contained procedure.
572
662ef0f5
TS
5732004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
574
575 PR fortran/12841
576 * interface.c (compare_parameter, compare_actual_formal): Don't
577 check types and array shapes for NULL()
578 * trans-expr.c (conv_function_call): No double indirection for
579 NULL()
580
293155b0
TM
5812004-06-09 Toon Moene <toon@moene.indiv.nluug.nl>
582
583 * trans-expr.c (gfc_conv_cst_int_power): Compute
584 x**(-n) by converting it to (1/x)**n instead of
585 1/x**n.
586
62f1d470
TS
5872004-06-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
588
589 PR fortran/13372
590 * module.c (write_symbol, write_symtree): Don't write symbols
591 wrongly added to namespace.
592 * trans-decl.c (gfc_create_module_variable): Don't create a
593 backend decl for a symbol incorrectly added to namespace.
594
a4ac5dd3
TS
5952004-06-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
596
597 PR fortran/13201
598 * resolve.c (resolve_symbol): Verify that parameter array has an
599 explicit shape. Fix typos and coding style issues in surrounding
600 lines.
601
6022004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
e0f2a7c6
TS
603
604 PR fortran/15478
605 * gfortran.texi: The documentation doesn't contain infomration on
606 how to report bugs, and shouldn't, so remove the line which
607 says it does.
608
f9fed73b
TS
6092004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
610
611 * intrinsic.c (sort_actual): Keep track of type of missing
612 arguments. (Missing from previous commit.)
613
1600fe22
TS
6142004-06-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
615
616 * gfortran.h (gfc_actual_arglist): New field missing_arg_type.
617 * interface.c (compare_actual_formal): Keep type of omitted
618 optional arguments.
619 * trans-expr.c (gfc_conv_function_call): Add string length
620 argument for omitted string argument.
621
6222004-06-03 Paul Brook <paul@codesourcery.com>
7c87eac6
PB
623
624 * trans.c (gfc_finish_block, gfc_add_expr_to_block): Build statement
625 lists instead of compound expr chains.
626 (gfc_trans_code): Annotate statement lists.
627
13413760
TS
6282004-06-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
629
630 * trans-array.c: Fix spelling in comments.
631
2fa54841
TS
6322004-06-02 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
633
634 PR fortran/15557
635 * data.c (assign_substring_data_value): New function.
636 (gfc_assign_data_value): Call the new function if we're dealing
637 with a substring LHS.
638
ea0ece09
TS
6392004-06-01 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
640
641 PR fortran/15477
642 * gfortran.h (GFC_VERSION): Remove.
643 * gfortran.texi (version-gfortran): Remove, replace by version-GCC
644 where used.
645
c3e8c6b8
TS
6462004-05-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
647
648 * trans-types.c: Fix spelling & layout in comments.
649
94716287
TS
6502004-05-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
651
652 PR fortran/14067
653 * trans-const.c (gfc_conv_string_init): Allow variable string
654 length lower than initialization string length.
655
7b5b57b7
PB
6562004-05-30 Paul Brook <paul@codesourcery.com>
657
658 PR fortran/15620
659 * trans-decl.c (gfc_shadow_sym, gfc_restore_sym): New functions.
660 * trans-expr.c (gfc_trans_string_copy): New function.
661 (gfc_conv_statement_function): Use them. Create temp vars. Enforce
662 character lengths.
663 (gfc_conv_string_parameter): Use gfc_trans_string_copy.
664 * trans-stmt.c (gfc_trans_forall_1): Use gfc_{shadow,restore}_sym.
665 * trans.h (struct gfc_saved_var): Define.
666 (gfc_shadow_sym, gfc_restore_sym): Add prototypes.
667
5f251c26
SK
6682004-05-30 Steven G. Kargl <kargls@comcast.net>
669
670 * iresolve.c (gfc_resolve_random_number): Clean up conditional.
671
e73c80ae
SK
6722004-05-29 Steven G. Kargl <kargls@comcast.net>
673
674 * simplify.c (gfc_simplify_log): Remove useless line of code.
675
353c3b7e
PB
6762004-05-29 Paul Brook <paul@codesourcery.com>
677
678 * trans-common.c (find_equivalence): Find multiple rules.
679
63645982
TS
6802004-05-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
681
682 * gfortran.h (gfc_current_locus, gfc_set_locus): Remove.
683 (gfc_current_locus): Declare new global variable.
684 * scanner.c (gfc_current_locus, gfc_set_locus): Remove.
685 (gfc_current_locus1): Rename ...
686 (gfc_current_locus): ... to this.
687 (gfc_at_eof, gfc_at_bol, gfc_at_eol, gfc_advance_line, next_char,
688 skip_fixed_comments, skip_free_comments, gfc_next_char_literal,
689 gfc_peek_char, gfc_gobble_whitespace, gfc_new_file): Use
690 gfc_current_locus instead of gfc_current_locus1, gfc_set_locus()
691 and gfc_current_locus(), respectively.
692 * array.c (match_subscript, gfc_match_array_ref, match_array_list,
693 match_array_cons_element, gfc_match_array_constructor):
694 Read/modify gfc_current_locus instead of calling gfc_set_locus()
695 and gfc_current_locus().
696 * decl.c (gfc_match_null, variable_decl, gfc_match_kind_spec,
697 match_attr_spec, gfc_match_function_decl, gfc_match_end,
698 attr_decl1, gfc_match_save): Likewise.
699 * error.c (error_print, gfc_internal_error): Likewise.
700 * expr.c (gfc_int_expr, gfc_default_logical_kind): Likewise.
701 * interface.c (gfc_add_interface): Likewise.
702 * io.c (gfc_match_format, match_dt_format, match_dt_element,
703 match_io_iterator, match_io): Likewise.
704 * match.c (gfc_match_space, gfc_match_eos,
705 gfc_match_small_literal_int, gfc_match_st_label,
706 gfc_match_strings, gfc_match_name, gfc_match_iterator,
707 gfc_match_char, gfc_match, gfc_match_assignment,
708 gfc_match_pointer_assignment, gfc_match_if, gfc_match_do,
709 gfc_match_nullify, gfc_match_call, match_implicit_range,
710 gfc_match_implicit, gfc_match_data, match_case_selector,
711 gfc_match_case, match_forall_iterator): Likewise.
712 * matchexp.c (gfc_match_defined_op_name, next_operator,
713 match_level_1, match_mult_operand, match_ext_mult_operand,
714 match_add_operand, match_ext_add_operand, match_level_2,
715 match_level_3, match_level_4, match_and_operand, match_or_operand,
716 match_equiv_operand, match_level_5, gfc_match_expr): Likewise.
717 * module.c (gfc_match_use, mio_array_ref, mio_expr): Likewise.
718 * parse.c (match_word, decode_statement, next_free, next_fixed,
719 add_statement, verify_st_order, parse_if_block, gfc_parse_file):
720 Likewise.
721 * primary.c (match_digits, match_integer_constant,
722 match_boz_constant, match_real_constant, match_substring,
723 next_string_char, match_charkind_name, match_string_constant,
724 match_logical_constant, match_const_complex_part,
725 match_complex_constant, match_actual_arg, match_keyword_arg,
726 gfc_match_actual_arglist, gfc_match_structure_constructor,
727 gfc_match_rvalue, gfc_match_variable): Likewise.
728 * st.c (gfc_get_code): Likewise.
729 * symbol.c (check_conflict, check_used, check_done,
730 duplicate_attr, add_flavor, gfc_add_procedure, gfc_add_intent,
731 gfc_add_access, gfc_add_explicit_interface, gfc_add_type,
732 gfc_add_component, gfc_reference_st_label, gfc_new_symbol): Likewise.
733
4eeaf81e
RS
7342004-05-26 Roger Sayle <roger@eyesopen.com>
735
736 * io.c (format_asterisk): Silence compiler warnings by correcting
737 the number of elements of a "locus" initializer.
738
a2f29587
RS
7392004-05-25 Roger Sayle <roger@eyesopen.com>
740
741 PR fortran/13912
742 * matchexp.c: Allow unary operators after arithmetic operators
743 as a GNU extension.
744 (match_ext_mult_operand, match_ext_add_operand): New functions.
745 (match_mult_operand): Tweak to call match_ext_mult_operand.
746 (match_add_operand): Tweak to call match_ext_mult_operand.
747 (match_level_2): Rearrange to call match_ext_add_operand.
748
45aae8f2
PB
7492004-05-25 Paul Brook <paul@codesourcery.com>
750
751 * expr.c (check_inquiry): Remove bogus tests.
752
40e929f3
PB
7532004-05-23 Paul Brook <paul@codesourcery.com>
754
755 PR fortran/13773
756 * expr.c (restricted_args): Remove redundant checks/argument.
757 (external_spec_function): Update to match.
758 (restricted_intrinsic): Rewrite.
759
5291e69a
PB
7602004-05-23 Paul Brook <paul@codesourcery.com>
761 Victor Leikehman <lei@haifasphere.co.il>
762
763 * gfortran.h (struct gfc_symbol): Add equiv_built.
764 * trans-common.c: Change int to HOST_WIDE_INT. Capitalize error
765 messages.
766 (current_length): Remove.
767 (add_segments): New function.
768 (build_equiv_decl): Create initialized common blocks.
769 (build_common_decl): Always add decl to bindings.
770 (create_common): Create initializers.
771 (find_segment_info): Reformat to match coding conventions.
772 (new_condition): Use add_segments.
773 (add_condition, find_equivalence, add_equivalences): Move iteration
774 inside functions. Only process each segment once.
775 (new_segment, finish_equivalences, translate_common): Simplify.
776
95d3f567
SK
7772004-05-23 Steven G. Kargl <kargls@comcast.net>
778
779 * check.c (gfc_check_random_seed): Issue for too many arguments.
780
c1c52409
PB
7812004-05-22 Steven G. Kargl <kargls@comcast.net>
782
783 * intrinsic.c (add_subroutines): Use add_sym_3s for random_seed.
784
7852004-05-22 Paul Brook <paul@codesourcery.com>
1854117e
PB
786
787 * dump-parse-tree.c (gfc_show_equiv): New function.
788 (gfc_show_namespace): Use it.
789
b6720768
VL
7902004-05-22 Victor Leikehman <lei@haifasphere.co.il>
791
792 PR fortran/13249
793 * symbol.c (gfc_add_common): Disable checks to work around other more
794 fundamental inadequacies.
795
b7e6a6b3
TS
796