]> gcc.gnu.org Git - gcc.git/blob - gcc/fortran/ChangeLog
langhooks.h (lang_hooks_for_types): Change global_bindings_p's return type to bool...
[gcc.git] / gcc / fortran / ChangeLog
1 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
2
3 * f95-lang.c (global_bindings_p): Return bool and simplify.
4
5 2011-05-07 Tobias Burnus <burnus@net-b.de>
6
7 PR fortran/18918
8 PR fortran/48919
9 * trans.h: Move gfc_init_coarray_decl prototype ...
10 * gfortran.h: ... to here.
11 * parse.c (translate_all_program_units): Call gfc_init_coarray_decl.
12 (gfc_parse_file): Update translate_all_program_units call.
13 * trans-decl.c (gfc_init_coarray_decl): Fix variable declaration,
14 new argument whether DECL_EXTERNAL should be used.
15 (create_main_function): Update gfc_init_coarray_decl call.
16 * trans-intrinsic.c (trans_this_image, trans_image_index,
17 conv_intrinsic_cobound): Ditto.
18
19 2011-05-06 Tobias Burnus <burnus@net-b.de>
20
21 PR fortran/18918
22 * trans-array.c (gfc_walk_variable_expr): Continue walking
23 for scalar coarrays.
24 * trans-intrinsic.c (convert_element_to_coarray_ref): New function.
25 (trans_this_image, trans_image_index, conv_intrinsic_cobound): Use it.
26 (trans_this_image): Fix algorithm.
27 * trans-types.c (gfc_get_element_type, gfc_get_array_descriptor_base,
28 gfc_sym_type): Handle scalar coarrays.
29
30 2011-05-06 Tobias Burnus <burnus@net-b.de>
31
32 PR fortran/48858
33 PR fortran/48820
34 * lang.opt (std=f2008tr): New.
35 * libgfortran.h (GFC_STD_F2008_TR): New macro constant.
36 * decl.c (verify_c_interop_param): Allow OPTIONAL in BIND(C)
37 procedures for -std=f2008tr/gnu/legacy.
38 (gfc_match_import): Set sym to NULL.
39 * options.c (set_default_std_flags,gfc_handle_option): Handle
40 -std=f2008tr.
41 * invoke.texi (-std=): Document -std=f2008tr.
42
43 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
44
45 * trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label.
46 * trans-io.c (add_case): Likewise.
47 * trans-stmt.c (gfc_trans_integer_select): Likewise.
48 (gfc_trans_character_select): Likewise.
49
50 2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
51
52 * trans-decl.c (trans_function_start): Do not set
53 dont_save_pending_sizes_p.
54
55 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
56
57 * trans.h (gfc_chainon_list): Delete.
58 * trans.c (gfc_chainon_list): Delete.
59
60 2011-05-04 Tobias Burnus <burnus@net-b.de>
61
62 PR fortran/48864
63 * invoke.texi (fno-protect-parens): Document
64 that -Ofast implies -fno-protect-parens.
65 * options.c (gfc_init_options, gfc_post_options):
66 Make -Ofast imply -fno-protect-parens.
67
68 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
69
70 * trans-decl.c (build_library_function_decl_1): Call
71 build_function_type_vec. Adjust argument list building accordingly.
72 * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.
73 * trans-types.c (gfc_get_function_type): Likewise.
74
75 2011-05-04 Richard Guenther <rguenther@suse.de>
76
77 * trans-array.c (gfc_trans_array_constructor_value): Use
78 size_int for bounds of range types.
79 (gfc_trans_array_constructor_value): Use size_type_node
80 for memcpy argument.
81 * trans-common.c (build_field): Use gfc_charlen_type_node
82 for lengths.
83 * trans-openmp.c (gfc_trans_omp_clauses): Do not pass NULL
84 as type to build_int_cst.
85 * trans-const.c (gfc_build_string_const): Use size_int
86 for bounds of range types.
87 (gfc_build_wide_string_const): Likewise.
88 * trans-stmt.c (gfc_trans_label_assign): Use gfc_charlen_type_node
89 for lengths.
90 (gfc_trans_character_select): Likewise.
91 (gfc_trans_character_select): Do not pass NULL
92 as type to build_int_cst.
93 (gfc_trans_character_select): Use size_int for bounds of range types.
94 * trans-io.c (gfc_build_io_library_fndecls): Likewise.
95 (add_case): Do not pass NULL as type to build_int_cst.
96 (transfer_expr): Likewise.
97 (transfer_array_desc): Likewise.
98 * trans-decl.c (gfc_add_assign_aux_vars): Use gfc_charlen_type_node
99 for lengths.
100 (gfc_trans_assign_aux_var): Likewise.
101 (create_main_function): Use size_int for bounds of range types.
102 * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): Do not pass
103 NULL as type to build_int_cst.
104 (gfc_conv_intrinsic_spacing): Likewise.
105 (gfc_conv_intrinsic_rrspacing): Likewise.
106 (gfc_conv_intrinsic_len): Use gfc_charlen_type_node for lengths.
107
108 2011-05-04 Richard Guenther <rguenther@suse.de>
109
110 * trans-types.c (gfc_get_array_type_bounds): Remove zero notrunc
111 argument to int_const_binop.
112
113 2011-05-03 Tobias Burnus <burnus@net-b.de>
114
115 PR fortran/18918
116 * trans-intrinsic.c (trans_this_image): Implement version with
117 coarray argument.
118 (conv_intrinsic_cobound): Simplify code.
119 (gfc_conv_intrinsic_function): Call trans_this_image for
120 this_image(coarray) except for -fcoarray=single.
121
122 2011-05-02 Steven G. Kargl <kargl@gcc.gnu.org>
123
124 PR fortran/48720
125 * gfortran.texi: Document the 'Q' exponent-letter extension.
126 * invoke.texi: Document -Wreal-q-constant.
127 * lang.opt: Add -Wreal-q-constant option.
128 * gfortran.h: Add warn_real_q_constant to option struct.
129 * primary.c (match_real_constant): Use it. Accept 'Q' as
130 exponent-letter for REAL(16) real-literal-constant with a
131 fallback to REAL(10) or error if REAL(10) is not available.
132 * options.c (gfc_init_options, set_Wall) Set it.
133 (gfc_handle_option): Handle new option.
134
135 2011-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
136
137 * dump-prase-tree.c (show_code_node): Set the current
138 namespace to the BLOCK before displaying it; restore
139 afterwards.
140
141 2011-04-30 Tobias Burnus <burnus@net-b.de>
142
143 PR fortran/48821
144 * decl.c (gfc_match_import): Don't try to find the
145 symbol if already found.
146
147 2011-04-30 Paul Thomas <pault@gcc.gnu.org>
148
149 PR fortran/48746
150 * trans-expr.c (fcncall_realloc_result): Set the bounds and the
151 offset so that the lbounds are one.
152 (gfc_trans_arrayfunc_assign): Add rank to arguments of above.
153
154 2011-04-29 Paul Thomas <pault@gcc.gnu.org>
155
156 PR fortran/48462
157 * trans-expr.c (arrayfunc_assign_needs_temporary): Deal with
158 automatic reallocation when the lhs is a target.
159
160 PR fortran/48746
161 * trans-expr.c (fcncall_realloc_result): Make sure that the
162 result dtype field is set before the function call.
163
164 2011-04-29 Tobias Burnus <burnus@net-b.de>
165
166 PR fortran/48810
167 * resolve.c (resolve_typebound_generic_call): Don't check access
168 flags of the specific function.
169
170 PR fortran/48800
171 * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED
172 to AS_ASSUMED_SHAPE for function results.
173 (resolve_fl_var_and_proc): Print also for function results with
174 AS_DEFERRED an error, if they are not a pointer or allocatable.
175 (resolve_types): Make sure arguments of procedures in interface
176 blocks are resolved.
177
178 2011-04-29 Michael Matz <matz@suse.de>
179
180 * options.c (options.c): Set warn_maybe_uninitialized.
181
182 2011-04-28 Tobias Burnus <burnus@net-b.de>
183
184 PR fortran/48112
185 * resolve.c (resolve_fl_var_and_proc): Print diagnostic of
186 function results only once.
187 (resolve_symbol): Always resolve function results.
188
189 PR fortran/48279
190 * expr.c (gfc_check_vardef_context): Fix handling of generic
191 EXPR_FUNCTION.
192 * interface.c (check_interface0): Reject internal functions
193 in generic interfaces, unless -std=gnu.
194
195 2011-04-27 Tobias Burnus <burnus@net-b.de>
196
197 PR fortran/48788
198 * resolve.c (resolve_global_procedure): Error recovery -
199 avoid segfault for (non)character-returning functions.
200
201 2011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org>
202
203 * decl.c (gfc_match_end): Check that the block name starts
204 with "block@".
205 * parse.c (gfc_build_block_ns): Make block names unique by
206 numbering them.
207
208 2011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org>
209
210 * frontend-passes.c (inserted_block): New variable.
211 (changed_statement): Likewise.
212 (create_var): Encase statement to be operated on in a BLOCK.
213 Adjust code insertion for BLOCK.
214 (cfe_code): Set inserted_block and changed_statement to NULL.
215
216 2011-04-23 Tobias Burnus <burnus@net-b.de>
217
218 PR fortran/18918
219 * module.c (mio_array_spec): Set as->cotype on reading.
220 * resolve.c (resolve_allocate_expr): Fix allocating coarray
221 components.
222
223 2011-04-21 Thomas Koenig <tkoenig@gcc.gnu.org>
224
225 PR fortran/48405
226 * frontend_passes (cfe_register_funcs): Remove workaround for DO
227 loops.
228 (gfc_code_walker): Make sure the pointer to the current
229 statement doen't change when other statements are inserted.
230
231 2011-04-21 Tobias Burnus <burnus@net-b.de>
232
233 PR fortran/18918
234 * array.c (gfc_match_array_spec): Fix maximal rank(+corank) check.
235
236 2011-04-20 Jim Meyering <meyering@redhat.com>
237
238 * expr.c (free_expr0): Remove useless if-before-free.
239 * gfortranspec.c (lang_specific_pre_link): Likewise.
240 * interface.c (gfc_extend_expr): Likewise.
241 * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
242
243 2011-04-19 Tobias Burnus <burnus@net-b.de>
244
245 PR fortran/48588
246 PR fortran/48692
247
248 * module.c (fix_mio_expr): Commit created symbol.
249
250 2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
251
252 * scanner.c (load_file): Use XCNEWVAR instead of xcalloc.
253
254 2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
255
256 * frontend-passes.c (gfc_run_passes): Use XDELETEVEC instead of
257 free.
258
259 2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
260
261 * misc.c (gfc_getmem): Remove function.
262 * gfortran.h: Remove gfc_getmem prototype. Replace gfc_getmem
263 usage with XCNEW or XCNEWVEC.
264 * expr.c (gfc_check_assign_symbol): Replace gfc_getmem usage with
265 XCNEW or XCNEWVEC.
266 * options.c (gfc_handle_module_path_options)
267 (gfc_get_option_string): Likewise.
268 * resolve.c (gfc_resolve_forall): Likewise.
269 * simplify.c (simplify_transformation_to_array): Likewise.
270 * target-memory.c (gfc_target_interpret_expr): Likewise.
271 * trans-common.c (get_segment_info, copy_equiv_list_to_ns)
272 (get_init_field): Likewise.
273 * trans-expr.c (gfc_conv_statement_function): Likewise.
274 * trans-io.c (nml_full_name): Likewise.
275 * trans-stmt.c (gfc_trans_forall_1): Likewise.
276 * scanner.c (load_file): Replace gfc_getmem usage with xcalloc.
277
278 2011-04-19 Tobias Burnus <burnus@net-b.de>
279
280 PR fortran/48588
281 * parse.c (resolve_all_program_units): Skip modules.
282 (translate_all_program_units): Handle modules.
283 (gfc_parse_file): Defer code generation for modules.
284
285 2011-04-19 Martin Jambor <mjambor@suse.cz>
286
287 * trans-decl.c (gfc_generate_function_code): Call cgraph_create_node
288 instead of cgraph_get_create_node.
289
290 2011-04-18 Jim Meyering <meyering@redhat.com>
291
292 remove now-unused definition of gfc_free
293 * misc.c (gfc_free): Remove function.
294 * gfortran.h (gfc_free): Remove its prototype.
295
296 2011-04-18 Jim Meyering <meyering@redhat.com>
297
298 convert each use of gfc_free (p) to free (p)
299 Do that by running this command:
300 perl -pi -e 's/\bgfc_free ?\(/free (/' \
301 $(git grep -El '\bgfc_free ?\(')
302 which also corrects the few uses that lacked a space between
303 the function name and the open parenthesis.
304 Manually undo the change to the function definition itself
305 and its prototype. They'll be removed next.
306 * array.c (gfc_free_array_spec, gfc_set_array_spec): s/gfc_free/free/
307 * constructor.c (node_free): Likewise.
308 * cpp.c (dump_queued_macros): Likewise.
309 * data.c (gfc_assign_data_value): Likewise.
310 * decl.c (free_variable, free_value, gfc_free_data): Likewise.
311 (gfc_free_data_all, match_old_style_init): Likewise.
312 (gfc_set_constant_character_len, gfc_free_enum_history, NUM_DECL):
313 Likewise.
314 (gfc_match_modproc): Likewise.
315 * dependency.c (check_section_vs_section): Likewise.
316 * error.c (gfc_pop_error, gfc_free_error): Likewise.
317 * expr.c (free_expr0, gfc_free_expr, gfc_free_actual_arglist): Likewise.
318 (gfc_free_ref_list, gfc_replace_expr, gfc_copy_ref): Likewise.
319 (find_substring_ref, gfc_simplify_expr, gfc_check_assign_symbol):
320 Likewise.
321 * frontend-passes.c (gfc_run_passes, cfe_expr_0): Likewise.
322 (strip_function_call, optimize_comparison): Likewise.
323 * interface.c (gfc_free_interface, arginfo, check_interface0): Likewise.
324 (CHECK_OS_COMPARISON, gfc_extend_assign, gfc_free_formal_arglist):
325 Likewise.
326 * intrinsic.c (gfc_intrinsic_done_1, gfc_convert_type_warn): Likewise.
327 (gfc_convert_chartype): Likewise.
328 * io.c (gfc_free_open, compare_to_allowed_values, gfc_free_close):
329 Likewise.
330 (gfc_free_filepos, gfc_free_dt, gfc_free_inquire): Likewise.
331 * match.c (gfc_free_iterator, gfc_match_associate): Likewise.
332 (gfc_free_alloc_list, gfc_free_namelist, gfc_free_equiv_until):
333 Likewise.
334 (free_case, gfc_free_forall_iterator): Likewise.
335 * misc.c: Likewise.
336 * module.c (free_pi_tree, resolve_fixups, free_rename): Likewise.
337 (free_true_name, peek_atom, mio_allocated_wide_string): Likewise.
338 (mio_pool_string, mio_internal_string, mio_gmp_integer): Likewise.
339 (mio_gmp_real, mio_expr, mio_typebound_proc): Likewise.
340 (mio_full_typebound_tree, skip_list, load_equiv): Likewise.
341 (free_written_common, gfc_use_module, gfc_free_use_stmts): Likewise.
342 * openmp.c (gfc_free_omp_clauses): Likewise.
343 * options.c (gfc_post_options): Likewise.
344 * parse.c (select_type_pop, parse_omp_structured_block): Likewise.
345 * primary.c (gfc_free_structure_ctor_component): Likewise.
346 * resolve.c (resolve_structure_cons, check_host_association): Likewise.
347 (gfc_resolve_forall, resolve_equivalence): Likewise.
348 * scanner.c (gfc_scanner_done_1, gfc_release_include_path): Likewise.
349 (gfc_define_undef_line, preprocessor_line, include_line): Likewise.
350 (load_file, gfc_read_orig_filename): Likewise.
351 * simplify.c (simplify_transformation_to_array): Likewise.
352 (gfc_simplify_ibits, simplify_shift, gfc_simplify_ishftc, STRING):
353 Likewise.
354 (gfc_simplify_compiler_options): Likewise.
355 * st.c (gfc_free_statement, gfc_free_statements): Likewise.
356 (gfc_free_association_list): Likewise.
357 * symbol.c (free_components, gfc_free_st_label, free_st_labels):
358 Likewise.
359 (gfc_delete_symtree, gfc_free_symbol, gfc_undo_symbols): Likewise.
360 (free_old_symbol, gfc_commit_symbols, free_tb_tree): Likewise.
361 (free_common_tree, free_uop_tree, free_sym_tree): Likewise.
362 (gfc_free_dt_list, gfc_free_equiv_infos, gfc_free_equiv_lists):
363 Likewise.
364 (gfc_free_finalizer, gfc_free_charlen, free_entry_list): Likewise.
365 (gfc_free_namespace): Likewise.
366 * trans-array.c (gfc_free_ss, gfc_trans_array_bound_check): Likewise.
367 (gfc_conv_array_ref, gfc_conv_ss_startstride): Likewise.
368 (gfc_trans_dummy_array_bias, gfc_conv_array_parameter): Likewise.
369 * trans-common.c (get_init_field, create_common): Likewise.
370 * trans-const.c (gfc_build_wide_string_const): Likewise.
371 (gfc_conv_string_init): Likewise.
372 * trans-decl.c (gfc_generate_function_code): Likewise.
373 * trans-expr.c (gfc_conv_substring, gfc_free_interface_mapping):
374 Likewise.
375 (SCALAR_POINTER, gfc_conv_statement_function): Likewise.
376 (gfc_trans_subarray_assign): Likewise.
377 * trans-intrinsic.c (conv_generic_with_optional_char_arg): Likewise.
378 * trans-io.c (gfc_trans_io_runtime_check, set_string): Likewise.
379 (transfer_namelist_element, transfer_array_component): Likewise.
380 * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
381 * trans-stmt.c (cleanup_forall_symtrees, gfc_trans_forall_1): Likewise.
382 * trans.c (trans_runtime_error_vararg, gfc_restore_backend_locus):
383 Likewise.
384
385 2011-04-15 Jim Meyering <meyering@redhat.com>
386
387 gfortran: remove cpp definition of free, ...
388 in preparation for the s/gfc_free/free/ transformation.
389 * gfortran.h (free): Remove macro definition that would otherwise
390 prevent direct use of the function.
391
392 2011-04-18 Tobias Burnus <burnus@net-b.de>
393
394 PR fortran/18918
395 * array.c (gfc_match_array_ref): Check for too many codimensions.
396 * check.c (gfc_check_image_index): Check number of elements
397 in SUB argument.
398 * simplify.c (gfc_simplify_image_index): Remove unreachable checks.
399
400 2011-04-18 Tobias Burnus <burnus@net-b.de>
401
402 PR fortran/18918
403 * iresolve.c (gfc_resolve_image_index): Set ts.type.
404 * simplify.c (gfc_simplify_image_index): Don't abort if the bounds
405 are not known at compile time and handle -fcoarray=lib.
406 * trans-intrinsics.c (gfc_conv_intrinsic_function): Handle
407 IMAGE_INDEX.
408 (conv_intrinsic_cobound): Fix comment typo.
409 (trans_this_image): New function.
410 * trans-array.c (gfc_unlikely): Move to trans.c.
411 * trans.c (gfc_unlikely): Function moved from trans-array.c.
412 (gfc_trans_runtime_check): Use it.
413 * trans-io.c (gfc_trans_io_runtime_check): Ditto.
414 * trans.h (gfc_unlikely): Add prototype.
415
416 2011-04-18 Paul Thomas <pault@gcc.gnu.org>
417
418 PR fortran/48462
419 * trans-expr.c (fcncall_realloc_result): Renamed version of
420 realloc_lhs_bounds_for_intrinsic_call that does not touch the
421 descriptor bounds anymore but makes a temporary descriptor to
422 hold the result.
423 (gfc_trans_arrayfunc_assign): Modify the reference to above
424 renamed function.
425
426 2011-05-17 Tobias Burnus <burnus@net-b.de>
427
428 PR fortran/48624
429 * trans-decl.c (gfc_get_extern_function_decl): Fix decl
430 for external procedures with proc arguments.
431
432 2011-04-15 Michael Matz <matz@suse.de>
433
434 * trans-array.c (toplevel): Include gimple.h.
435 (gfc_trans_allocate_array_storage): Check flag_stack_arrays,
436 properly expand variable length arrays.
437 (gfc_trans_auto_array_allocation): If flag_stack_arrays create
438 variable length decls and associate them with their scope.
439 * gfortran.h (gfc_option_t): Add flag_stack_arrays member.
440 * options.c (gfc_init_options): Handle -fstack_arrays option.
441 * lang.opt (fstack-arrays): Add option.
442 * invoke.texi (Code Gen Options): Document it.
443 * Make-lang.in (trans-array.o): Depend on GIMPLE_H.
444
445 2011-04-15 Tobias Burnus <burnus@net-b.de>
446
447 PR fortran/18918
448 * trans-intrinsic.c (conv_intrinsic_cobound): Remove unused
449 code which is also causing an ICE.
450
451 2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
452
453 * f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon.
454
455 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
456
457 * f95-lang.c (union lang_tree_node): Check for TS_COMMON before
458 calling TREE_CHAIN.
459
460 2011-04-12 Paul Thomas <pault@gcc.gnu.org>
461
462 PR fortran/48360
463 PR fortran/48456
464 * trans-array.c (get_std_lbound): For derived type variables
465 return array valued component lbound.
466
467 2011-04-12 Martin Jambor <mjambor@suse.cz>
468
469 * trans-decl.c (gfc_generate_function_code): Call
470 cgraph_get_create_node instead of cgraph_node.
471
472 2011-04-11 Tobias Burnus <burnus@net-b.de>
473
474 PR fortran/18918
475 * simplify.c (simplify_bound_dim): Exit for
476 ucobound's last dimension unless -fcoarray=single.
477 * trans-array (gfc_conv_descriptor_size_1): Renamed from
478 gfc_conv_descriptor_size, made static, has now from_dim and
479 to_dim arguments.
480 (gfc_conv_descriptor_size): Call gfc_conv_descriptor_size.
481 (gfc_conv_descriptor_cosize): New function.
482 * trans-array.h (gfc_conv_descriptor_cosize): New prototype.
483 * trans-intrinsic.c (conv_intrinsic_cobound): Add input_location
484 and handle last codim of ucobound for when -fcoarray is not "single".
485
486 2011-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
487
488 PR fortran/48448
489 * gfortran.h (gfc_option_t): Add warn_function_elimination and
490 flag_frontend_optimize.
491 * lang.opt (Wfunction-elimination): Add.
492 (ffrontend-optimize): Add.
493 * invoke.texi: Add documentation for -Wfunction-elimination
494 and -ffrontend-optimize. Add -faggressive-function-elimination
495 to list of code generation options.
496 * frontend-passes.c (gfc_run_passes): Run optimizations if
497 flag_frontend_optimize is set.
498 (warn_function_elimination): New function.
499 (cfe_expr_0): Call it if requested to do so.
500 * options.c (gfc_init_options): Initiate warn_function_elimination
501 and flag_frontend_optimize.
502 (gfc_post_options): Set flag_frontend_optimize if not specified
503 by user, depending on the optimization level.
504 (gfc_handle_option): Handle -Wfunction-elimination and
505 -ffrontend-optimize.
506
507 2011-04-06 Tobias Burnus <burnus@net-b.de>
508
509 PR fortran/18918
510 * trans-intrinsic.c (gfc_conv_intrinsic_function): Fix
511 call for this_image.
512
513 2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
514
515 * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use
516 build_function_type_list instead of build_function_type. Correct
517 argument order for func_frexp and func_scalbn.
518
519 2011-04-05 Duncan Sands <baldrick@free.fr>
520
521 * f95-lang.c (build_builtin_fntypes): Swap frexp parameter types.
522
523 2010-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
524
525 * frontend-passes: (optimize_lexical_comparison): New function.
526 (optimize_expr): Call it.
527 (optimize_comparison): Also handle lexical comparison functions.
528 Return false instad of -2 for unequal comparison.
529
530 2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
531
532 PR fortran/48412
533 * frontend-passes (cfe_expr_0): Reverse the order of going
534 through the loops.
535
536 2011-04-04 Tobias Burnus <burnus@net-b.de>
537 Mikael Morin <mikael.morin@sfr.fr>
538
539 PR fortran/18918
540 * check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE.
541 * expr.c (gfc_is_coindexed): Ditto.
542 * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE.
543 * interface.c (compare_parameter): Use gfc_expr_attr and
544 gfc_is_coindexed.
545 * resolve.c (check_dimension, compare_spec_to_ref,
546 resolve_allocate_expr, check_data_variable): Update for
547 DIMEN_THIS_IMAGE.
548 * simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image,
549 gfc_simplify_ucobound): Allow non-constant bounds.
550 * trans-array.c (gfc_set_loop_bounds_from_array_spec,
551 gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
552 gfc_set_vector_loop_bounds, gfc_conv_array_index_offset,
553 gfc_start_scalarized_body, gfc_trans_scalarizing_loops,
554 gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
555 gfc_conv_ss_startstride, gfc_conv_loop_setup,
556 gfc_trans_array_bounds, gfc_conv_expr_descriptor,
557 gfc_walk_variable_expr): Handle codimen.
558 * trans-decl.c (gfc_build_qualified_array): Save cobounds.
559 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2.
560 (conv_intrinsic_cobound): New function.
561 (gfc_conv_intrinsic_function): Call it.
562 (gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handle
563 ucobound, lcobound, this_image.
564 * fortran/trans-types.c (gfc_build_array_type): Save cobounds.
565 (gfc_get_dtype): Honour corank.
566 (gfc_get_nodesc_array_type): Save corank and codimensions.
567 (gfc_get_array_type_bounds): Save cobound.
568 * fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item.
569 (gfc_array_kind): Add corank item.
570 (GFC_TYPE_ARRAY_CORANK): New macro.
571
572 2011-04-03 Kai Tietz <ktietz@redhat.com>
573
574 PR middle-end/48422
575 * Make-lang.in (f95-lang.o): Add some missing dependencies.
576
577 2011-04-01 Thomas Koenig <tkoenig@gcc.gnu.org>
578
579 PR fortran/48352
580 * frontend-passes (cfe_register_funcs): Don't
581 register functions if they appear as iterators in DO loops.
582
583 2011-03-30 Michael Matz <matz@suse.de>
584
585 PR fortran/47516
586 * trans-expr.c (realloc_lhs_loop_for_fcn_call): Take loop as parameter,
587 don't use local variable.
588 (gfc_trans_arrayfunc_assign): Adjust caller.
589
590 2011-03-29 Janus Weil <janus@gcc.gnu.org>
591
592 PR fortran/48095
593 * decl.c (match_procedure_decl,match_ppc_decl): Set flavor of interface.
594 * module.c (MOD_VERSION): Bump.
595 (mio_typespec): Read/write 'interface' field.
596 * primary.c (match_string_constant,match_logical_constant): Remove
597 unneeded code.
598 (match_complex_constant): Make sure to clear the typespec.
599
600 2011-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>
601
602 * frontend-passes.c (create_var): Warn about creating an
603 array temporary if requested.
604
605 2011-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
606
607 PR fortran/47065
608 * frontend-passes.c (optimize_trim): Also follow references, except
609 when they are substring references or array references.
610
611 2011-03-27 Tobias Burnus <burnus@net-b.de>
612
613 PR fortran/18918
614 * gfortran.h (gfc_isym_id): Rename GFC_ISYM_NUMIMAGES to
615 GFC_ISYM_NUM_IMAGES.
616 (gfc_fcoarray): Add GFC_FCOARRAY_LIB.
617 * intrinsic.c (add_functions): Update due to GFC_ISYM_NUM_IMAGES
618 rename.
619 * invoke.texi (-fcoarray=): Document "lib" argument.
620 * iresolve.c (gfc_resolve_this_image): Fix THIS IMAGE().
621 * libgfortran.h (libgfortran_stat_codes): Add comments.
622 * options.c (gfc_handle_coarray_option): Add -fcoarray=lib.
623 * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
624 Handle GFC_FCOARRAY_LIB.
625 * trans.h (gfc_init_coarray_decl): New prototype.
626 (gfor_fndecl_caf_init, gfor_fndecl_caf_finalize,
627 gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical,
628 gfor_fndecl_caf_sync_all, gfor_fndecl_caf_sync_images,
629 gfor_fndecl_caf_error_stop, gfor_fndecl_caf_error_stop_str,
630 gfort_gvar_caf_num_images, gfort_gvar_caf_this_image):
631 New global variables.
632 * trans-decl.c: Declare several CAF functions (cf. above).
633 (gfc_build_builtin_function_decls): Initialize those.
634 (gfc_init_coarray_decl): New function.
635 (create_main_function): Call CAF init/finalize functions.
636 * trans-intrinsic.c (trans_this_image, trans_num_images): New.
637 (gfc_conv_intrinsic_function): Call those.
638 * trans-stmt.c (gfc_trans_stop, gfc_trans_sync, gfc_trans_critical):
639 Add code for GFC_FCOARRAY_LIB.
640
641 2011-03-26 Janus Weil <janus@gcc.gnu.org>
642
643 PR fortran/48291
644 * class.c (get_unique_hashed_string): Adjust maximum allowable length
645 for unique type string.
646
647 2011-03-25 Kai Tietz <ktietz@redhat.com>
648
649 * scanner.c (preprocessor_line): Use filename_cmp
650 instead of strcmp.
651
652 2011-03-25 Tobias Burnus <burnus@net-b.de>
653
654 PR fortran/48174
655 PR fortran/45304
656 * trans-types.c (gfc_get_function_type): Don't use varargs if the
657 procedure is known to have no arguments.
658
659 2010-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
660
661 PR fortran/22572
662 * gfortran.h (gfc_option_t) : Add
663 flag_aggressive_function_elimination.
664 (gfc_dep_compare_functions): Add prototype.
665 * lang.opt: Add faggressive-function-elimination.
666 * invoke.texi: Document -faggressive-function-elimination.
667 * frontend_passes (expr_array): New static variable.
668 (expr_size): Likewise.
669 (expr_count): Likewise.
670 (current_code): Likewise.
671 (current_ns): Likewise.
672 (gfc_run_passes): Allocate and free space for expressions.
673 (cfe_register_funcs): New function.
674 (create_var): New function.
675 (cfc_expr_0): New function.
676 (cfe_code): New function.
677 (optimize_namespace): Invoke gfc_code_walker with cfe_code
678 and cfe_expr_0.
679 * dependency.c (gfc_dep_compare_functions): New function.
680 (gfc_dep_compare_expr): Use it.
681 * options.c (gfc_init_options): Handle
682 flag_aggressive_function_elimination.
683 (gfc_handle_option): Likewise.
684
685 2011-03-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
686
687 * arith.c (arith_power): Plug memory leak.
688
689 2011-03-12 Janus Weil <janus@gcc.gnu.org>
690
691 PR fortran/48059
692 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
693 for polymorphic arguments.
694
695 2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
696
697 PR fortran/48054
698 * intrinsic.texi: Clarify doc of logarithm functions.
699
700 2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
701
702 PR fortran/47552
703 * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
704 the string length variable.
705
706 2011-03-11 Janus Weil <janus@gcc.gnu.org>
707
708 PR fortran/47768
709 * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.
710 (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.
711
712 2011-03-06 Paul Thomas <pault@gcc.gnu.org>
713 Jerry DeLisle <jvdelisle@gcc.gnu.org>
714
715 PR fortran/47850
716 * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if
717 the expression has an iterator. Otherwise, iterate through the
718 array, checking for constant expressions for each element.
719
720 2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
721
722 PR libfortran/47802
723 * intrinsic.texi: Update CTIME and FDATE documentation.
724
725 2011-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
726
727 * invoke.texi (Option Summary, Fortran Dialect Options)
728 (Preprocessing Options, Runtime Options, Code Gen Options):
729 Fix vertical list spacing by using @itemx for additinoal
730 items, empty line before @table. Fix typos.
731
732 2011-02-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
733
734 PR fortran/47894
735 * intrinsic.texi: Fix doc of the VERIFY intrinsic.
736
737 2011-02-26 Tobias Burnus <burnus@net-b.de>
738
739 PR fortran/47846
740 * trans-stmt.c (gfc_trans_allocate): Fix allocation with
741 type-spec of deferred-length strings.
742
743 2011-02-26 Tobias Burnus <burnus@net-b.de>
744
745 PR fortran/47886
746 * openmp.c (gfc_resolve_omp_directive): Resolve if()
747 condition of OpenMP's task.
748
749 2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
750
751 PR fortran/47894
752 * intrinsic.texi: Fix doc of the VERIFY intrinsic.
753
754 2011-02-24 Tobias Burnus <burnus@net-b.de>
755
756 PR fortran/47872
757 * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add
758 multitable for linebreak between different syntax variants.
759
760 2011-02-24 Richard Guenther <rguenther@suse.de>
761
762 PR fortran/47839
763 * f95-lang.c (pushdecl): For externs in non-global scope push
764 a copy of the decl into the BLOCK.
765
766 2011-02-23 Mikael Morin <mikael@gcc.gnu.org>
767
768 PR fortran/40850
769 * trans.c (gfc_prepend_expr_to_block): New function.
770 * trans.h (gfc_prepend_expr_to_block): Declare.
771 * trans-array.c (gfc_conv_array_parameter): Replace
772 gfc_add_expr_to_block with gfc_prepend_expr_to_block.
773
774 2011-02-22 Paul Thomas <pault@gcc.gnu.org>
775
776 PR fortran/45743
777 * trans-decl.c (gfc_get_extern_function_decl): Don't use the
778 gsymbol backend_decl if the procedure has a formal argument
779 that is a procedure.
780
781 2011-02-22 Tobias Burnus <burnus@net-b.de>
782
783 PR fortran/41359
784 * trans-stmt.c (gfc_trans_if_1): Use correct line for
785 expressions in the if condition.
786
787 2011-02-20 Tobias Burnus <burnus@net-b.de>
788
789 PR fortran/47797
790 * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and
791 gfc_restore_backend_locus to have better debug locations.
792 * trans-array.c (gfc_trans_deferred_array): Ditto.
793
794 2011-02-20 Paul Thomas <pault@gcc.gnu.org>
795
796 PR fortran/45077
797 PR fortran/44945
798 * trans-types.c (gfc_get_derived_type): Remove code that looks
799 for decls in gsym and add call to gfc_get_module_backend_decl.
800 * trans.h : Add prototype for gfc_get_module_backend_decl.
801 * trans-decl.c (gfc_get_module_backend_decl): New function.
802 (gfc_get_symbol_decl): Call it.
803
804 2011-02-19 Paul Thomas <pault@gcc.gnu.org>
805
806 PR fortran/47348
807 * trans-array.c (get_array_ctor_all_strlen): Move up in file.
808 (get_array_ctor_var_strlen): Add block dummy and add call to
809 get_array_ctor_all_strlen instead of giving up on substrings.
810 Call gcc_unreachable for default case.
811 (get_array_ctor_strlen): Add extra argument to in call to
812 get_array_ctor_var_strlen.
813
814 2011-02-18 Janus Weil <janus@gcc.gnu.org>
815
816 PR fortran/47789
817 * primary.c (gfc_match_structure_constructor): Handle empty parent
818 types.
819
820 2011-02-18 Tobias Burnus
821
822 PR fortran/47775
823 * trans-expr.c (arrayfunc_assign_needs_temporary): Use
824 esym to check whether the specific procedure returns an
825 allocatable or pointer.
826
827 2011-02-18 Michael Matz <matz@suse.de>
828
829 PR fortran/45586
830 * gfortran.h (struct gfc_component): Add norestrict_decl member.
831 * trans.h (struct lang_type): Add nonrestricted_type member.
832 * trans-expr.c (gfc_conv_component_ref): Search fields with correct
833 parent type.
834 * trans-types.c (mirror_fields, gfc_nonrestricted_type): New.
835 (gfc_sym_type): Use it.
836
837 2011-02-18 Janus Weil <janus@gcc.gnu.org>
838
839 PR fortran/47768
840 * resolve.c (resolve_transfer): Reject variables with procedure pointer
841 components.
842
843 2011-02-18 Janus Weil <janus@gcc.gnu.org>
844
845 PR fortran/47767
846 * gfortran.h (gfc_check_access): Removed prototype.
847 (gfc_check_symbol_access): Added prototype.
848 * module.c (gfc_check_access): Renamed to 'check_access', made static.
849 (gfc_check_symbol_access): New function, basically a shortcut for
850 'check_access'.
851 (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use
852 'gfc_check_symbol_access'.
853 (write_operator,write_module): Renamed 'gfc_check_access'.
854 * resolve.c (resolve_fl_procedure,resolve_fl_derived,
855 resolve_fl_namelist,resolve_symbol,resolve_fntype): Use
856 'gfc_check_symbol_access'.
857
858 2011-02-16 Janus Weil <janus@gcc.gnu.org>
859
860 PR fortran/47745
861 * class.c (gfc_build_class_symbol): Set 'class_ok' attribute.
862 * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into
863 'gfc_build_class_symbol'.
864 (gfc_match_decl_type_spec): Reject unlimited polymorphism.
865 * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
866 * match.c (select_type_set_tmp): Move setting of 'class_ok' into
867 'gfc_build_class_symbol'.
868 * primary.c (gfc_variable_attr): Check for 'class_ok' attribute.
869
870 2011-02-15 Steven G. Kargl <kargl@gcc.gnu.org>
871
872 PR fortran/47633
873 . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.
874
875 2011-02-14 Janus Weil <janus@gcc.gnu.org>
876
877 PR fortran/47730
878 * parse.c (gfc_build_block_ns): Commit 'block@' symbol.
879
880 2011-02-14 Janus Weil <janus@gcc.gnu.org>
881
882 PR fortran/47728
883 * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic
884 arrays.
885 * primary.c (gfc_match_varspec): Avoid ICE for invalid class
886 declaration.
887
888 2011-02-14 Janus Weil <janus@gcc.gnu.org>
889
890 PR fortran/47349
891 * interface.c (get_expr_storage_size): Handle derived-type components.
892
893 2011-02-13 Tobias Burnus <burnus@net-b.de>
894
895 PR fortran/47569
896 * interface.c (compare_parameter): Avoid ICE with
897 character components.
898
899 2011-02-12 Janus Weil <janus@gcc.gnu.org>
900
901 * class.c (gfc_build_class_symbol): Reject polymorphic arrays.
902 * decl.c (build_sym,build_struct,attr_decl1): Use return value of
903 'gfc_build_class_symbol'.
904
905 2011-02-12 Michael Matz <matz@suse.de>
906 Janus Weil <janus@gcc.gnu.org>
907 Tobias Burnus <burnus@net-b.de>
908
909 PR fortran/45586
910 * trans-expr.c (conv_parent_component_references): Avoid unintendent
911 skipping of parent compounds.
912
913 2011-02-11 Tobias Burnus <burnus@net-b.de>
914
915 PR fortran/47550
916 * resolve.c (resolve_formal_arglist): PURE with VALUE
917 and no INTENT: Add -std= diagnostics.
918
919 2011-02-09 Janus Weil <janus@gcc.gnu.org>
920
921 PR fortran/47352
922 * resolve.c (resolve_procedure_interface): If interface has a result
923 variable, copy the typespec and set result pointer to self.
924
925 2011-02-09 Janus Weil <janus@gcc.gnu.org>
926
927 PR fortran/47463
928 * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
929
930 2011-02-09 Janus Weil <janus@gcc.gnu.org>
931
932 PR fortran/47637
933 * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
934
935 2011-02-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
936
937 * io.c (match_io_element): Do not set dt if not inquire.
938
939 2011-02-08 Janus Weil <janus@gcc.gnu.org>
940
941 PR fortran/45290
942 * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
943 initialization target.
944
945 2011-02-07 Janne Blomqvist <jb@gcc.gnu.org>
946 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
947
948 * gfortran.texi (Thread-safety): texinfo styling fixes.
949 * intrinsic.texi: Likewise.
950
951 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
952
953 * gfortran.texi (Compiler Characteristics): Add reference to
954 thread-safety section.
955
956 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
957
958 * gfortran.texi (Thread-safety): New section.
959 * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
960 (GETENV): Likewise.
961 (GET_ENVIRONMENT_VARIABLE): Likewise.
962 (SYSTEM): Likewise.
963
964 2011-02-06 Paul Thomas <pault@gcc.gnu.org>
965
966 PR fortran/47592
967 * trans-stmt.c (gfc_trans_allocate): For deferred character
968 length allocations with SOURCE, store to the values and string
969 length to avoid calculating twice. Replace gfc_start_block
970 with gfc_init_block to avoid unnecessary contexts and to keep
971 declarations of temporaries where they should be. Tidy up the
972 code a bit.
973
974 2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
975
976 PR fortran/42434
977 * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
978
979 2011-02-02 Janus Weil <janus@gcc.gnu.org>
980 Paul Thomas <pault@gcc.gnu.org>
981
982 PR fortran/47082
983 * trans-expr.c (gfc_trans_class_init_assign): Add call to
984 gfc_get_derived_type.
985 * module.c (read_cleanup): Do not use unique_symtrees for vtabs
986 or vtypes.
987
988 2011-02-02 Janus Weil <janus@gcc.gnu.org>
989
990 PR fortran/47572
991 * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
992
993 2011-02-01 Janus Weil <janus@gcc.gnu.org>
994
995 PR fortran/47565
996 * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
997 pointer components with allocatable result.
998
999 2011-01-31 Janus Weil <janus@gcc.gnu.org>
1000
1001 PR fortran/47455
1002 * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
1003 with pointer or allocatable result.
1004
1005 2011-01-31 Paul Thomas <pault@gcc.gnu.org>
1006
1007 PR fortran/47519
1008 * trans-stmt.c (gfc_trans_allocate): Improve handling of
1009 deferred character lengths with SOURCE.
1010 * iresolve.c (gfc_resolve_repeat): Calculate character
1011 length from source length and ncopies.
1012 * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
1013 expressions for ALLOCATE.
1014
1015 2011-01-31 Janus Weil <janus@gcc.gnu.org>
1016
1017 PR fortran/47463
1018 * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
1019 an argument of a typebound assignment being a component.
1020
1021 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1022
1023 * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
1024 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1025
1026 2011-01-31 Tobias Burnus <burnus@net-b.de>
1027
1028 PR fortran/47042
1029 * resolve.c (resolve_fl_procedure): Reject stmt functions
1030 with pointer/allocatable attribute.
1031
1032 2011-01-31 Tobias Burnus <burnus@net-b.de>
1033
1034 PR fortran/47042
1035 * interface.c (gfc_procedure_use): Add explicit interface check for
1036 pointer/allocatable functions.
1037
1038 2011-01-30 Paul Thomas <pault@gcc.gnu.org>
1039
1040 PR fortran/47523
1041 * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
1042 expr and is assigned to a deferred character length scalar,
1043 make sure that the function is called before reallocation,
1044 so that the length is available. Include procedure pointer
1045 and procedure pointer component rhs as well.
1046
1047 PR fortran/45170
1048 PR fortran/35810
1049 PR fortran/47350
1050 * gfortran.dg/allocatable_function_5.f90: New test not added by
1051 mistake on 2011-01-28.
1052
1053 2011-01-29 Tobias Burnus <burnus@net-b.de>
1054
1055 PR fortran/47531
1056 * check.c (gfc_check_shape): Support kind argument in SHAPE.
1057 * intrinsic.c (add_functions): Ditto.
1058 * resolve.c (gfc_resolve_shape): Ditto.
1059 * simplify.c (gfc_simplify_shape): Ditto.
1060 * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
1061 gfc_simplify_shape): Update prototypes.
1062 * intrinisc.text (SHAPE): Document kind argument.
1063
1064 2011-01-28 Tobias Burnus <burnus@net-b.de>
1065
1066 PR fortran/47507
1067 * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
1068 attribute also without INTENT.
1069
1070 2011-01-28 Tobias Burnus <burnus@net-b.de>
1071
1072 * gfortran.texi (Fortran 2003 status): Mention support for
1073 nonconstant namelist variables.
1074
1075 2011-01-28 Paul Thomas <pault@gcc.gnu.org>
1076 Tobias Burnus <burnus@gcc.gnu.org>
1077
1078 PR fortran/45170
1079 PR fortran/35810
1080 PR fortran/47350
1081 * interface.c (compare_actual_formal): An allocatable or pointer
1082 deferred length actual is only allowed if the formal argument
1083 is also deferred length. Clean up whitespace.
1084 * trans-expr.c (gfc_conv_procedure_call): Pass string length for
1085 deferred character length formal arguments by reference. Do the
1086 same for function results.
1087 (gfc_trans_pointer_assignment): Do not do runtime check of lhs
1088 and rhs character lengths, if deferred length lhs. In this case
1089 set the lhs character length to that of the rhs.
1090 (gfc_conv_string_parameter): Remove assert that string length is
1091 an integer type.
1092 (is_scalar_reallocatable_lhs): New function.
1093 (alloc_scalar_allocatable_for_assignment): New function.
1094 (gfc_trans_assignment_1): Call above new function. If the rhs is
1095 a deferred character length itself, makes ure that the function
1096 is called before reallocation, so that the length is available.
1097 (gfc_trans_asssignment): Remove error about assignment to
1098 deferred length character variables.
1099 * gfortran.texi : Update entry about (re)allocation on
1100 assignment.
1101 * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
1102 length character variables.
1103 * module.c (mio_typespec): Transfer deferred characteristic.
1104 * trans-types.c (gfc_get_function_type): New code to generate
1105 hidden typelist, so that those character lengths that are
1106 passed by reference get the right type.
1107 * resolve.c (resolve_contained_fntype): Supress error for
1108 deferred character length functions.
1109 (resolve_function, resolve_fl_procedure) The same.
1110 (check_symbols): Remove the error that support for
1111 entity with deferred type parameter is not yet implemented.
1112 (resolve_fl_derived): The same.
1113 match.c (alloc_opt_list): Allow MOLD for deferred length object.
1114 * trans-decl.c (gfc_get_symbol_decl): For deferred character
1115 length dummies, generate a local variable for string length.
1116 (create_function_arglist): Hidden length can be a pointer.
1117 (gfc_trans_deferred_vars): For deferred character length
1118 results and dummies, assign the string length to the local
1119 variable from the hidden argument on entry and the other way
1120 round on exit, as appropriate.
1121
1122 2011-01-27 Tobias Burnus <burnus@net-b.de>
1123
1124 PR fortran/47474
1125 * trans-decl.c (gfc_generate_function_code): Fix init
1126 of allocatable result variable with allocatable components.
1127
1128 2011-01-27 Tobias Burnus <burnus@net-b.de>
1129
1130 PR fortran/47472
1131 * options.c (gfc_handle_module_path_options): Save
1132 module path without trailing slash as include path.
1133
1134 2011-01-25 Tobias Burnus <burnus@net-b.de>
1135
1136 PR fortran/47448
1137 * interface.c (gfc_check_operator_interface): Fix
1138 defined-assignment check.
1139
1140 2011-01-23 Tobias Burnus <burnus@net-b.de>
1141
1142 PR fortran/47421
1143 * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
1144 scalar allocatable dummy arguments.
1145
1146 2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
1147
1148 PR fortran/38536
1149 * resolve.c (gfc_iso_c_func_interface): For C_LOC,
1150 check for array sections followed by component references
1151 which are illegal. Also check for coindexed arguments.
1152
1153 2011-01-22 Tobias Burnus <burnus@net-b.de>
1154
1155 PR fortran/47399
1156 * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
1157 PARAMETER TBP.
1158
1159 2011-01-21 Tobias Burnus <burnus@net-b.de>
1160
1161 PR fortran/47394
1162 * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
1163 Use defined instead of magic number exit status codes.
1164 * scanner.c (include_line, gfc_new_file): Ditto.
1165
1166 2011-01-21 Tobias Burnus <burnus@net-b.de>
1167
1168 PR fortran/47377
1169 * expr.c (gfc_check_pointer_assign): Reject expr data-targets
1170 without pointer attribute.
1171
1172 2011-01-18 Janus Weil <janus@gcc.gnu.org>
1173
1174 PR fortran/47240
1175 * resolve.c (expression_rank): Fix rank of procedure poiner components.
1176 * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
1177 pointer components as actual arguments.
1178
1179 2011-01-17 Jakub Jelinek <jakub@redhat.com>
1180
1181 PR fortran/47331
1182 * gfortran.h (struct gfc_omp_saved_state): New type.
1183 (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
1184 * resolve.c (resolve_global_procedure): Call it around gfc_resolve
1185 call.
1186 * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
1187 functions.
1188
1189 2011-01-17 Tobias Burnus <burnus@net-b.de>
1190
1191 PR fortran/47327
1192 * invoke.texi (Options to request or suppress errors
1193 and warnings): Fix cross link.
1194
1195 2011-01-15 Tobias Burnus <burnus@net-b.de>
1196
1197 * gfortran.texi: Update Fortran 2003 Status section.
1198
1199 PR fortran/47177
1200 * invoke.texi: Add missing "-E" to the -dM example.
1201
1202 2011-01-13 Tobias Burnus <burnus@net-b.de>
1203
1204 PR fortran/47268
1205 * intrinsic.texi (get_command_argument, get_environment_variable):
1206 Mark arguments as optional in the Arguments section.
1207
1208 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
1209 Tobias Burnus <burnus@net-b.de>
1210
1211 PR fortran/47260
1212 * trans-decl.c (gfc_get_extern_function_decl,
1213 build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
1214 calling decl_attributes.
1215
1216 2011-01-13 Tobias Burnus <burnus@net-b.de>
1217 Mikael Morin <mikael@gcc.gnu.org>
1218
1219 PR fortran/45848
1220 PR fortran/47204
1221 * gfortran.h (gfc_code): Move union ext's case_list into
1222 the struct block.
1223 * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
1224 by "block.".
1225 * frontend-passes.c (gfc_code_walker): Ditto.
1226 * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
1227 gfc_match_type_is, gfc_match_class_is): Ditto.
1228 * resolve.c (resolve_select, resolve_select_type): Ditto.
1229 * st.c (gfc_free_statement): Ditto.
1230 * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
1231 gfc_trans_character_select): Ditto.
1232 * parse.c (resolve_all_program_units): For error recovery, avoid
1233 segfault is proc_name is NULL.
1234
1235 2011-01-11 Paul Thomas <pault@gcc.gnu.org>
1236
1237 PR fortran/47051
1238 * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
1239 to be standard compliant by testing for shape rather than size
1240 before skipping reallocation. Improve comments.
1241
1242 2011-01-09 Janus Weil <janus@gcc.gnu.org>
1243
1244 PR fortran/47224
1245 * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
1246 of code.
1247
1248 2011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
1249
1250 PR fortran/38536
1251 * resolve.c (is_scalar_expr_ptr): For a substring reference,
1252 use gfc_dep_compare_expr to compare start and end expession.
1253 Add FIXME for using gfc_deb_compare_expr elsewhere.
1254
1255 2011-01-09 Janus Weil <janus@gcc.gnu.org>
1256
1257 PR fortran/46313
1258 * class.c (get_unique_type_string): Make type name start with upper
1259 case letter.
1260
1261 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
1262
1263 PR fortran/46405
1264 * invoke.texi: Mention -ffree-line-length-none and
1265 -ffixed-line-length-none for preprocessing.
1266
1267 2011-01-08 Paul Thomas <pault@gcc.gnu.org>
1268
1269 PR fortran/46896
1270 * trans-expr.c (gfc_conv_procedure_call): With a non-copying
1271 procedure argument (eg TRANSPOSE) use a temporary if there is
1272 any chance of aliasing due to host or use association.
1273 (arrayfunc_assign_needs_temporary): Correct logic for function
1274 results and do not use a temporary for implicitly PURE
1275 variables. Use a temporary for Cray pointees.
1276 * symbol.c (gfc_add_save): Explicit SAVE not compatible with
1277 implicit pureness of containing procedure.
1278 * decl.c (match_old_style_init, gfc_match_data): Where decl
1279 would fail in PURE procedure, set implicit_pure to zero.
1280 * gfortran.h : Add implicit_pure to structure symbol_attr and
1281 add prototype for function gfc_implicit_pure.
1282 * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
1283 Where decl would fail in PURE procedure, reset implicit_pure.
1284 * io.c (match_vtag, gfc_match_open, gfc_match_close,
1285 gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
1286 * match.c (gfc_match_critical, gfc_match_stopcode,
1287 sync_statement, gfc_match_allocate, gfc_match_deallocate): The
1288 same.
1289 * parse.c (decode_omp_directive): The same.
1290 (parse_contained): If not PURE, set implicit pure attribute.
1291 * resolve.c (resolve_formal_arglist, resolve_structure_cons,
1292 resolve_function, resolve_ordinary_assign) : The same.
1293 (gfc_implicit_pure): New function.
1294 * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
1295 to ab_attribute enum and use it in this function.
1296
1297 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
1298
1299 PR fortran/45777
1300 * symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix,
1301 make static and move in front of its only caller, to ...
1302 * trans-array.c (symbols_could_alias): ... here.
1303 Pass information about pointer and target status as
1304 arguments. Allocatable arrays don't alias anything
1305 unless they have the POINTER attribute.
1306 (gfc_could_be_alias): Keep track of pointer and target
1307 status when following references. Also check if typespecs
1308 of components match those of other components or symbols.
1309
1310 2011-01-07 Tobias Burnus <burnus@net-b.de>
1311
1312 PR fortran/41580
1313 * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
1314 * intrinsic.c (add_functions): Use simplify functions for
1315 EXTENDS_TYPE_OF and SAME_TYPE_AS.
1316 * intrinsic.h (gfc_simplify_extends_type_of,
1317 gfc_simplify_same_type_as): New prototypes.
1318 * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
1319 gfc_simplify_same_type_as): New functions.
1320
1321 2011-01-07 Janus Weil <janus@gcc.gnu.org>
1322
1323 PR fortran/47189
1324 PR fortran/47194
1325 * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
1326 * class.c (gfc_class_null_initializer): Initialize _vptr to declared
1327 type.
1328 * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
1329 * resolve.c (resolve_deallocate_expr): _data component will be added
1330 at translation stage.
1331 * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
1332 * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
1333
1334 2011-01-06 Daniel Franke <franke.daniel@gmail.com>
1335
1336 PR fortran/33117
1337 PR fortran/46478
1338 * parse.c (parse_interface): Remove check for procedure types.
1339 * interface.c (check_interface0): Verify that procedures are
1340 either all SUBROUTINEs or all FUNCTIONs.
1341
1342 2011-01-05 Janus Weil <janus@gcc.gnu.org>
1343
1344 PR fortran/47180
1345 * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
1346 'vtab' is initialized).
1347
1348 2011-01-05 Janus Weil <janus@gcc.gnu.org>
1349
1350 PR fortran/47180
1351 * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
1352 assignment, set the _vptr component to the declared type.
1353
1354 2011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
1355
1356 PR fortran/46017
1357 * resolve.c (resolve_allocate_deallocate): Follow references to
1358 check for duplicate occurence of allocation/deallocation objects.
1359
1360 2011-01-05 Janus Weil <janus@gcc.gnu.org>
1361
1362 PR fortran/47024
1363 * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
1364 of polymorphic allocatables according to their declared type.
1365
1366 2011-01-04 Janus Weil <janus@gcc.gnu.org>
1367
1368 PR fortran/46448
1369 * class.c (gfc_find_derived_vtab): Set the module field for the copying
1370 routine to make sure it receives module name mangling.
1371
1372 2011-01-03 Jakub Jelinek <jakub@redhat.com>
1373
1374 * gfortranspec.c (lang_specific_driver): Update copyright notice
1375 dates.
1376
1377 2011-01-03 Janus Weil <janus@gcc.gnu.org>
1378
1379 * intrinsic.texi (LEADZ): Fix example.
1380
1381 2011-01-02 Janus Weil <janus@gcc.gnu.org>
1382
1383 PR fortran/46408
1384 * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
1385 routine.
1386
1387 \f
1388 Copyright (C) 2011 Free Software Foundation, Inc.
1389
1390 Copying and distribution of this file, with or without modification,
1391 are permitted in any medium without royalty provided the copyright
1392 notice and this notice are preserved.
This page took 0.100698 seconds and 5 git commands to generate.