]>
Commit | Line | Data |
---|---|---|
f56c5d5d TS |
1 | 2004-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 |
14 | 2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk> |
15 | ||
16 | * trans.h (builtin_function): Declare. | |
17 | ||
c9583ed2 TS |
18 | 2004-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 |
42 | 2004-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 |
54 | 2004-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 |
65 | 2004-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 |
76 | 2004-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 |
83 | 2004-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 |
106 | 2004-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 |
115 | 2004-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 |
121 | 2004-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 |
128 | 2004-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 |
148 | 2004-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 |
165 | 2004-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 | ||
171 | 2004-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 |
182 | 2004-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 |
188 | 2004-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 |
196 | 2004-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 |
211 | 2004-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 |
216 | 2004-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 |
237 | 2004-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 |
242 | 2004-07-04 Richard Henderson <rth@redhat.com> |
243 | ||
244 | * f95-lang.c (gfc_mark_addressable): Don't put_var_into_stack. | |
245 | ||
1107b970 PB |
246 | 2004-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 |
259 | 2004-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 |
267 | 2004-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 |
273 | 2004-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 |
293 | 2004-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 |
298 | 2004-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 |
336 | 2004-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 |
341 | 2004-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 |
408 | 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
409 | ||
410 | * io.c: Add 2004 to copyright years. | |
411 | ||
c9543002 TS |
412 | 2004-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 |
428 | 2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
429 | ||
430 | * module.c (mio_gmp_real): Correct writing of negative numbers. | |
431 | ||
432 | 2004-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 |
438 | 2004-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 | ||
445 | 2004-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 | 452 | 2004-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 |
471 | 2004-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 |
485 | 2004-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 |
493 | 2004-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 |
499 | 2004-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 |
504 | 2004-06-21 Joseph S. Myers <jsm@polyomino.org.uk> |
505 | ||
506 | * trans.h (stmtblock_t): Change has_scope to unsigned int. | |
507 | ||
160874e4 SK |
508 | 2004-06-20 Steven G. Kargl <kargls@comcast.net> |
509 | ||
510 | * arith.c (gfc_range_check): correct complex underflow. | |
511 | ||
6ef42154 TS |
512 | 2004-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 | 521 | 2004-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 |
527 | 2004-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 | ||
533 | 2004-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 |
545 | 2004-06-14 Paul Brook <paul@codesourcery.com> |
546 | ||
547 | * intrinsic.c (add_sym_2s): Use correct function types. | |
548 | ||
fd528377 TS |
549 | 2004-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 |
554 | 2004-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 |
567 | 2004-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 |
573 | 2004-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 |
581 | 2004-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 |
587 | 2004-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 |
595 | 2004-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 | ||
602 | 2004-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 |
609 | 2004-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 |
614 | 2004-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 | ||
622 | 2004-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 |
628 | 2004-06-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
629 | ||
630 | * trans-array.c: Fix spelling in comments. | |
631 | ||
2fa54841 TS |
632 | 2004-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 |
639 | 2004-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 |
646 | 2004-05-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
647 | ||
648 | * trans-types.c: Fix spelling & layout in comments. | |
649 | ||
94716287 TS |
650 | 2004-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 |
656 | 2004-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 |
668 | 2004-05-30 Steven G. Kargl <kargls@comcast.net> |
669 | ||
670 | * iresolve.c (gfc_resolve_random_number): Clean up conditional. | |
671 | ||
e73c80ae SK |
672 | 2004-05-29 Steven G. Kargl <kargls@comcast.net> |
673 | ||
674 | * simplify.c (gfc_simplify_log): Remove useless line of code. | |
675 | ||
353c3b7e PB |
676 | 2004-05-29 Paul Brook <paul@codesourcery.com> |
677 | ||
678 | * trans-common.c (find_equivalence): Find multiple rules. | |
679 | ||
63645982 TS |
680 | 2004-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 |
734 | 2004-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 |
739 | 2004-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 |
749 | 2004-05-25 Paul Brook <paul@codesourcery.com> |
750 | ||
751 | * expr.c (check_inquiry): Remove bogus tests. | |
752 | ||
40e929f3 PB |
753 | 2004-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 |
760 | 2004-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 |
777 | 2004-05-23 Steven G. Kargl <kargls@comcast.net> |
778 | ||
779 | * check.c (gfc_check_random_seed): Issue for too many arguments. | |
780 | ||
c1c52409 PB |
781 | 2004-05-22 Steven G. Kargl <kargls@comcast.net> |
782 | ||
783 | * intrinsic.c (add_subroutines): Use add_sym_3s for random_seed. | |
784 | ||
785 | 2004-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 |
790 | 2004-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 |