1 2012-08-24 Simon Baldwin <simonb@google.com>
3 * lang.opt (-cpp=): Mark flag NoDWARFRecord.
5 2012-08-23 Tobias Burnus <burnus@net-b.de>
8 * trans-array.c (free_ss_info): Free data.array.subscript.
9 (gfc_free_ss): No longer free data.array.subscript.
10 (walk_coarray): New function, moved from trans-intrinsic.c
11 (gfc_conv_expr_descriptor): Walk array descriptor instead
12 of taking passed "ss".
13 (get_array_ctor_all_strlen, gfc_add_loop_ss_code,
14 gfc_conv_array_parameter): Update call and cleanup ss handling.
15 * trans-array.h (gfc_conv_expr_descriptor,
16 gfc_conv_array_parameter): Update prototype.
17 * trans-expr.c (gfc_conv_derived_to_class,
18 conv_isocbinding_procedure, gfc_conv_procedure_call,
19 gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
20 gfc_trans_pointer_assignment, gfc_trans_arrayfunc_assign): Update
21 call to gfc_conv_expr_descriptor and gfc_conv_array_parameter, and
23 * trans-intrinsic.c (walk_coarray): Moved to trans-array.c
24 (trans_this_image, trans_image_index, gfc_conv_intrinsic_rank
25 gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cobound,
26 gfc_conv_intrinsic_len, gfc_conv_intrinsic_size,
27 gfc_conv_intrinsic_sizeof, gfc_conv_intrinsic_storage_size,
28 gfc_conv_intrinsic_transfer, gfc_conv_allocated,
29 gfc_conv_associated, gfc_conv_intrinsic_loc,
30 conv_intrinsic_move_alloc): Update calls.
31 * trans-io.c (gfc_convert_array_to_string, set_internal_unit,
32 gfc_trans_transfer): Ditto.
33 * trans-stmt.c (gfc_conv_elemental_dependencies,
34 gfc_trans_sync, trans_associate_var,
35 gfc_trans_pointer_assign_need_temp): Ditto.
37 2012-08-23 Jakub Jelinek <jakub@redhat.com>
39 * trans-decl.c (trans_function_start, generate_coarray_init,
40 create_main_function, gfc_generate_constructors): Call
41 allocate_struct_function instead of init_function_start.
43 2012-08-22 Tobias Burnus <burnus@net-b.de>
45 * trans-expr.c (gfc_copy_class_to_class,
46 gfc_trans_arrayfunc_assign): Free loop and ss data.
47 * trans-intrinsic.c (gfc_trans_arrayfunc_assign): Free ss data.
49 2012-08-21 Tobias Burnus <burnus@net-b.de>
51 * parse.c (parse_contained): Include EXEC_END_PROCEDURE
52 in ns->code to make sure the gfc_code is freed.
54 2012-08-20 Tobias Burnus <burnus@net-b.de>
57 * expr.c (gfc_check_pointer_assign): Warn when a pointer,
58 which is a function result, might outlive its target.
60 2012-08-20 Tobias Burnus <burnus@net-b.de>
63 * expr.c (gfc_check_pointer_assign): Warn when the pointer
64 might outlive its target.
65 * gfortran.h (struct gfc_option_t): Add warn_target_lifetime.
66 * options.c (gfc_init_options, set_wall, gfc_handle_option):
68 * invoke.texi (-Wtarget-lifetime): Document it.
70 * lang.opt (-Wtarget-lifetime): New flag.
72 2012-08-19 Thomas König <tkoenig@gcc.gnu.org>
75 * gfortran.h (struct gfc_option_t): Add warn_compare_reals.
76 * lang.opt: Add Wcompare-reals.
77 * invoke.texi: Document -Wcompare-reals.
78 * resolve.c (resolve_operator): If -Wcompare-reals is in effect,
79 warn about equality/inequality comparisions for REAL and COMPLEX.
80 * options.c (gfc_init_options): Set warn_compare_reals.
81 (set_Wall): Include warn_compare_reals in Wall.
82 (gfc_handle_option): Handle Wcompare_reals.
84 2012-08-17 Jakub Jelinek <jakub@redhat.com>
86 * array.c (gfc_match_array_ref): Fix up memset arguments.
88 2012-08-16 Diego Novillo <dnovillo@google.com>
93 * gfortran.h: Do not include gmp.h.
95 2012-08-16 Diego Novillo <dnovillo@google.com>
98 * gfortran.h: Do not include gmp.h.
100 2012-08-15 Janus Weil <janus@gcc.gnu.org>
104 * resolve.c (check_typebound_baseobject): Check for class_ok attribute.
105 (resolve_procedure_interface,resolve_fl_derived0): Copy class_ok
108 2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
111 * trans-expr.c (expr_is_variable): Handle regular, procedure pointer,
112 and typebound functions returning a data pointer.
114 2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
116 * decl.c (match_ppc_decl): Copy the procedure interface's symbol
117 as procedure interface's result.
119 2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
121 * trans-expr.c (gfc_trans_scalar_assign): Rename argument,
124 2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
126 * gfortran.h (gfc_get_proc_ptr_comp): New prototype.
127 (gfc_is_proc_ptr_comp): Update prototype.
128 * expr.c (gfc_get_proc_ptr_comp): New function based on the old
129 gfc_is_proc_ptr_comp.
130 (gfc_is_proc_ptr_comp): Call gfc_get_proc_ptr_comp.
131 (gfc_specification_expr, gfc_check_pointer_assign): Use
132 gfc_get_proc_ptr_comp.
133 * trans-array.c (gfc_walk_function_expr): Likewise.
134 * resolve.c (resolve_structure_cons, update_ppc_arglist,
135 resolve_ppc_call, resolve_expr_ppc): Likewise.
136 (resolve_function): Update call to gfc_is_proc_ptr_comp.
137 * dump-parse-tree.c (show_expr): Likewise.
138 * interface.c (compare_actual_formal): Likewise.
139 * match.c (gfc_match_pointer_assignment): Likewise.
140 * primary.c (gfc_match_varspec): Likewise.
141 * trans-io.c (gfc_trans_transfer): Likewise.
142 * trans-expr.c (gfc_conv_variable, conv_function_val,
143 conv_isocbinding_procedure, gfc_conv_procedure_call,
144 gfc_trans_pointer_assignment): Likewise.
145 (gfc_conv_procedure_call, gfc_trans_array_func_assign):
146 Use gfc_get_proc_ptr_comp.
148 2012-08-14 Tobias Burnus <burnus@net-b.de>
151 * error.c (gfc_notify_std): Reset cur_error_buffer->flag flag
152 when the error/warning has been printed.
153 * gfortran.h (gfc_sl_type): Add ST_LABEL_DO_TARGET.
154 * match.c (gfc_match_do): Use ST_LABEL_DO_TARGET.
155 * parse.c (check_statement_label): Use ST_LABEL_DO_TARGET.
156 (parse_executable): Add obsolescence check for DATA.
157 * resolve.c (resolve_branch): Handle ST_LABEL_DO_TARGET.
158 * symbol.c (gfc_define_st_label, gfc_reference_st_label):
159 Add obsolescence diagnostics.
160 * trans-stmt.c (gfc_trans_label_assign): Handle ST_LABEL_DO_TARGET.
162 2012-08-14 Tobias Burnus <burnus@net-b.de>
165 * check.c (gfc_check_cmplx): Add -Wconversion warning
166 when converting higher-precision REAL to default-precision
167 CMPLX without kind= parameter.
169 2012-08-12 Tobias Burnus <burnus@net-b.de>
172 * trans-decl.c (gfc_finish_var_decl, build_function_decl):
173 Fix setting private module vars/procs as TREE_PUBLIC(...) = 0.
175 2012-08-09 Tobias Burnus <burnus@net-b.de>
178 * intrinsic.c (gfc_warn_intrinsic_shadow): Better warning
179 for internal procedures.
181 2012-08-06 Janus Weil <janus@gcc.gnu.org>
184 * interface.c (check_result_characteristics): New function, which checks
185 the characteristics of function results.
186 (gfc_compare_interfaces,gfc_check_typebound_override): Call it.
188 2012-08-02 Thomas König <tkoenig@gcc.gnu.org>
191 * scanner.c (add_path_to_list): New argument warn. Don't
193 (gfc_add_include_path): Warn if directory is missing.
194 (gfc_add_intrinsic_modules_path): Do not warn if directory
196 * optinons.c (gfc_handle_option): Do not add directory
197 for intrinsic modules to normal include path.
199 2012-08-03 Mikael Morin <mikael@gcc.gnu.org>
202 * trans-array.c (set_loop_bounds): Access specinfo using spec_dim.
204 2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
207 * trans-array.c (gfc_conv_ss_startstride): Set the intrinsic
208 result's lower and upper bounds according to the rank.
209 (set_loop_bounds): Set the loop upper bound in the intrinsic case.
211 2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
213 * trans-array.c (set_loop_bounds): Allow non-array-section to be
214 chosen using the stride and lower bound criteria.
216 2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
218 * trans-array.c (set_loop_bounds): Remove useless dimension check.
219 Don't update loopspec if it would loose the wanted stride criterion.
221 2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
223 * trans-array.h (gfc_conv_descriptor_rank): New prototype.
224 * trans-array.c (gfc_conv_descriptor_rank): New function moved and
226 * trans-intrinsic.c (get_rank_from_desc): ... from this one.
227 (gfc_conv_intrinsic_rank, gfc_conv_intrinsic_bound,
228 gfc_conv_associated): Also rename function calls.
230 2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
232 * iresolve.c (resolve_bound, gfc_resolve_shape):
233 Don't set the shape for assumed rank arrays.
234 * simplify.c (gfc_simplify_shape): Don't try to simplify if the
235 argument is assumed rank.
237 2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
239 * array.c (gfc_copy_array_ref): Don't copy the offset field.
240 * expr.c (find_array_section): Ignore the offset field.
241 * trans-expr.c (gfc_find_interface_mapping_to_ref): Don't apply
242 any interface mapping to the offset field.
243 * gfortran.h (struct gfc_array_ref): Remove the offset field.
245 2012-08-02 Janus Weil <janus@gcc.gnu.org>
248 * resolve.c (check_proc_interface): New routine for PROCEDURE interface
250 (resolve_procedure_interface,resolve_typebound_procedure,
251 resolve_fl_derived0): Call it.
253 2012-08-01 Thomas König <tkoenig@gcc.gnu.org>
256 * scanner.c (add_path_to_list): Emit warning if an error occurs
257 for an include path, if it is not present or if it is not a
258 directory. Do not add the path in these cases.
260 2012-07-31 Janus Weil <janus@gcc.gnu.org>
263 * decl.c (match_procedure_interface): Move some checks to
264 'resolve_procedure_interface'. Set flavor if appropriate.
265 * expr.c (gfc_check_pointer_assign): Cleanup of 'gfc_is_intrinsic'.
266 * intrinsic.c (gfc_is_intrinsic): Additional checks for attributes which
267 identify a procedure as being non-intrinsic.
268 * resolve.c (resolve_procedure_interface): Checks moved here from
269 'match_procedure_interface'. Minor cleanup.
270 (resolve_formal_arglist,resolve_symbol): Cleanup of
271 'resolve_procedure_interface'
272 (resolve_actual_arglist,is_external_proc): Cleanup of
275 2012-07-31 Janus Weil <janus@gcc.gnu.org>
278 * dependency.c (gfc_dep_compare_expr): Check if arguments are NULL.
280 2012-07-31 Tobias Burnus <burnus@net-b.de>
282 * interface.c (gfc_procedure_use): Return gfc_try instead of void.
283 * gfortran.h (gfc_procedure_use): Update prototype.
284 * resolve.c (gfc_iso_c_func_interface): Allow noninteroperable
285 procedures for c_funloc for TS29113.
286 * (gfc_iso_c_sub_interface): Ditto for c_f_procpointer. Add
287 diagnostic for c_ptr vs. c_funptr for c_f_(proc)pointer.
289 2012-07-30 Janus Weil <janus@gcc.gnu.org>
292 * gfortran.h (gfc_resolve_intrinsic): Add prototype.
293 * expr.c (gfc_check_pointer_assign): Set INTRINSIC attribute if needed.
294 Check for invalid intrinsics.
295 * primary.c (gfc_match_rvalue): Check for intrinsics came too early.
296 Set procedure flavor if appropriate.
297 * resolve.c (resolve_intrinsic): Renamed to gfc_resolve_intrinsic.
298 (resolve_procedure_interface,resolve_procedure_expression,
299 resolve_function,resolve_fl_derived0,resolve_symbol): Ditto.
301 2012-07-26 Mikael Morin <mikael@gcc.gnu.org>
304 * trans-array.c (gfc_trans_array_constructor_value):
305 Evaluate the iteration bounds before the inner variable shadows
308 2012-07-26 Mikael Morin <mikael@gcc.gnu.org>
311 * array.c (sought_symbol): New variable.
312 (expr_is_sought_symbol_ref, find_symbol_in_expr): New functions.
313 (resolve_array_list): Check for references to the induction
314 variable in the iteration bounds and issue a diagnostic if some
317 2012-07-26 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
318 Tobias Burnus <burnus@net-b.de>
320 * module.c (mio_array_spec): Don't read as->lower for
323 2012-07-25 Tobias Burnus <burnus@net-b.de>
325 * trans-types.c (gfc_real16_is_float128): Fix spelling
327 * trans.h (struct gfc_array_info): Ditto.
328 * gfortran.h (gfc_expr): Ditto.
329 * simplify.c (gfc_count): Ditto.
330 * trans-expr.c (gfc_copy_class_to_class,
331 conv_parent_component_references,
332 gfc_trans_pointer_assignment): Ditto.
333 * expr.c (check_pointer_assign): Fix diagnostic spelling.
334 * interface.c (compare_parameter): Ditto.
335 * parse.c (use_modules, parse_associate): Ditto.
336 * decl.c (match_char_length): Fix spelling of the
337 an function argument.
339 2012-07-21 Tobias Burnus <burnus@net-b.de>
341 * iso-c-binding.def (C_PTRDIFF_T): New TS29113 parameter.
342 * intrinsic.texi (ISO_C_BINDING): Document it.
344 2012-07-21 Tobias Burnus <burnus@net-b.de>
347 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Support
348 lbound/ubound with dim= for assumed-rank arrays.
349 * array.c (gfc_set_array_spec): Reject coarrays with
351 * decl.c (merge_array_spec): Ditto. Return gfc_try.
352 (match_attr_spec, match_attr_spec): Update call.
354 2012-07-21 Tobias Burnus <burnus@net-b.de>
356 * resolve.c (resolve_formal_arglist): Put variable
357 declaration before the first assignment.
359 2012-07-21 Tobias Burnus <burnus@net-b.de>
361 * trans-expr.c (gfc_conv_derived_to_class): Fix argument passed
362 to class_array_data_assign.
364 2012-07-20 Tobias Burnus <burnus@net-b.de>
366 * decl.c (gfc_verify_c_interop_param): Allow assumed-shape
369 2012-07-20 Tobias Burnus <burnus@net-b.de>
372 * array.c (match_array_element_spec, gfc_match_array_spec,
373 spec_size, gfc_array_dimen_size): Add support for
375 * check.c (dim_rank_check): Ditto.
376 * class.c (gfc_add_component_ref): Ditto.
377 (gfc_build_class_symbol): Regard assumed-rank arrays
378 as having GFC_MAX_DIMENSIONS. And build extra class
379 container for a scalar pointer class.
380 * decl.c (merge_array_spec): Add assert.
381 * dump-parse-tree.c (show_array_spec): Add support for
383 * expr.c (gfc_is_simply_contiguous): Ditto.
384 * gfortran.h (array_type): Ditto.
385 (gfc_array_spec, gfc_expr): Add comment to "rank" field.
386 * interface.c (compare_type_rank, argument_rank_mismatch,
387 compare_parameter, gfc_procedure_use): Ditto.
388 (compare_actual_formal): Fix NULL() to optional-dummy
389 handling for polymorphic dummies.
390 * module.c (mio_typespec): Add support for
392 * resolve.c (resolve_formal_arglist, resolve_actual_arglist,
393 resolve_elemental_actual, resolve_global_procedure,
394 expression_shape, resolve_variable, update_ppc_arglist,
395 check_typebound_baseobject, gfc_resolve_expr,
396 resolve_fl_var_and_proc, gfc_resolve_finalizers,
397 resolve_typebound_procedure, resolve_symbol): Ditto.
398 (assumed_type_expr_allowed): Remove static variable.
399 (actual_arg, first_actual_arg): New static variables.
400 * simplify.c (simplify_bound, gfc_simplify_range): Add
401 support for assumed-rank arrays.
402 * trans-array.c (gfc_conv_array_parameter): Ditto.
403 (gfc_get_descriptor_dimension): New function, which returns
405 (gfc_conv_descriptor_dimension): Use it.
406 (gfc_conv_descriptor_stride_get, gfc_conv_array_parameter):
407 Handle GFC_ARRAY_ASSUMED_RANK_CONT and AS_ASSUMED_RANK.
408 * trans-array.h (gfc_get_descriptor_dimension): New prototype.
409 * trans-decl. (gfc_build_dummy_array_decl,
410 gfc_trans_deferred_vars, add_argument_checking): Add
411 support for assumed-rank arrays.
412 * trans-expr.c (gfc_conv_expr_present, gfc_conv_variable,
413 gfc_conv_procedure_call): Ditto.
414 (get_scalar_to_descriptor_type, class_array_data_assign,
415 conv_scalar_to_descriptor): New static functions.
416 (gfc_conv_derived_to_class, gfc_conv_class_to_class): Use
418 * trans-intrinsic.c (get_rank_from_desc): New function.
419 (gfc_conv_intrinsic_rank, gfc_conv_associated): Use it.
420 * trans-types.c (gfc_array_descriptor_base_caf,
421 gfc_array_descriptor_base): Make space for scalar array.
422 (gfc_is_nodesc_array, gfc_is_nodesc_array,
423 gfc_build_array_type, gfc_get_array_descriptor_base): Add
424 support for assumed-rank arrays.
425 * trans.h (gfc_array_kind): Add GFC_ARRAY_ASSUMED_RANK and
426 GFC_ARRAY_ASSUMED_RANK_CONT.
428 2012-07-19 Tobias Burnus <burnus@net-b.de>
430 * trans-expr.c (gfc_conv_procedure_call): Fix handling
431 of polymorphic arguments.
432 * resolve.c (resolve_formal_arglist): Ditto, mark polymorphic
433 assumed-shape arrays as such.
435 2012-07-19 Tobias Burnus <burnus@net-b.de>
437 * interface.c (compare_parameter, compare_actual_formal): Fix
438 handling of polymorphic arguments.
440 2012-07-17 Janus Weil <janus@gcc.gnu.org>
443 * error.c (gfc_notify_std): Automatically print the relevant Fortran
445 * arith.c (arith_power): Remove explicit standard reference string.
446 * array.c (gfc_match_array_spec, gfc_match_array_constructor): Ditto.
447 * check.c (gfc_check_a_p, gfc_check_besn, gfc_check_count,
448 gfc_check_float, gfc_check_fn_rc2008, gfc_check_iand,
449 gfc_check_ichar_iachar, gfc_check_ieor, gfc_check_index, gfc_check_ior,
450 gfc_check_lbound, gfc_check_len_lentrim, check_rest, gfc_check_min_max,
451 gfc_check_null, gfc_check_scan, gfc_check_selected_real_kind,
452 gfc_check_shape, gfc_check_size, gfc_check_sngl, gfc_check_ubound,
453 gfc_check_verify): Ditto.
454 * data.c (gfc_assign_data_value): Ditto.
455 * decl.c (var_element, char_len_param_value, match_char_length,
456 gfc_verify_c_interop_param, match_pointer_init, variable_decl,
457 gfc_match_decl_type_spec, gfc_match_import, match_attr_spec,
458 gfc_match_prefix, gfc_match_suffix, match_ppc_decl,
459 match_procedure_in_interface, gfc_match_procedure,gfc_match_entry,
460 gfc_match_subroutine, gfc_match_end, gfc_match_codimension,
461 gfc_match_protected, gfc_match_value, gfc_match_volatile,
462 gfc_match_asynchronous, gfc_match_modproc, gfc_get_type_attr_spec,
463 gfc_match_enum, match_procedure_in_type): Ditto.
464 * expr.c (check_elemental, gfc_check_assign, gfc_check_pointer_assign):
466 * interface.c (gfc_match_abstract_interface, check_interface0): Ditto.
467 * intrinsic.c (gfc_intrinsic_func_interface): Ditto.
468 * io.c (format_lex, resolve_tag_format, resolve_tag,
469 compare_to_allowed_values, gfc_match_open, gfc_match_rewind,
470 gfc_resolve_dt, gfc_match_wait): Ditto.
471 * match.c (match_arithmetic_if, gfc_match_if, gfc_match_critical,
472 gfc_match_do, match_exit_cycle, gfc_match_pause, gfc_match_stop,
473 gfc_match_lock, sync_statement, gfc_match_assign, gfc_match_goto,
474 gfc_match_allocate, gfc_match_return, gfc_match_st_function): Ditto.
475 * module.c (gfc_match_use, gfc_use_module): Ditto.
476 * parse.c (parse_derived_contains, parse_block_construct,
477 parse_associate, parse_contained): Ditto.
478 * primary.c (match_hollerith_constant, match_boz_constant,
479 match_real_constant, match_sym_complex_part, match_arg_list_function,
480 build_actual_constructor, gfc_convert_to_structure_constructor): Ditto.
481 * resolve.c (resolve_formal_arglist, resolve_entries,
482 resolve_common_blocks, resolve_actual_arglist, gfc_resolve_index_1,
483 gfc_resolve_iterator_expr, resolve_ordinary_assign,
484 resolve_fl_var_and_proc, resolve_fl_variable_derived,
485 resolve_fl_procedure, resolve_fl_derived0, resolve_fl_derived,
486 resolve_fl_namelist, resolve_symbol, resolve_fntype): Ditto.
487 * symbol.c (check_conflict, conflict, gfc_add_is_bind_c,
488 gfc_add_extension, gfc_check_symbol_typed): Ditto.
490 2012-07-17 Tobias Burnus <burnus@net-b.de>
493 * decl.c (gfc_verify_c_interop_param): Make warning conditional
494 on -Wc-binding-type works and improve the wording.
496 2012-07-17 Tobias Burnus <burnus@net-b.de>
499 * decl.c (match_char_length): Extra argument, show obsolenscent
500 warning only if *length is used after the typename.
501 (variable_decl, gfc_match_char_spec): Update call
503 2012-07-17 Tobias Burnus <burnus@net-b.de>
504 Steven G. Kargl <kargl@gcc.gnu.org>
507 * decl.c (match_procedure_in_interface): Support "::" for
508 Fortran 2008 and later.
510 2012-07-16 Thomas König <tkoenig@gcc.gnu.org>
513 * resolve.c (resolve_allocate_deallocate): If both
514 start indices are NULL, skip the test for equality.
516 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
518 * f95-lang.c: Include dumpfile.h instead of tree-dump.h.
519 * Make-lang.in: Fix dependencies.
521 2012-07-16 Janus Weil <janus@gcc.gnu.org>
524 * gfortran.h (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Modified
526 * symbol.c (gfc_copy_formal_args): New argument 'if_src'. Copy if_source
528 (gfc_copy_formal_args_ppc): Ditto.
529 * resolve.c (resolve_procedure_interface): Pass IFSRC_DECL to
530 gfc_copy_formal_args.
531 (resolve_fl_derived0): Pass IFSRC_DECL to gfc_copy_formal_args_ppc.
533 2012-07-12 Tobias Burnus <burnus@net-b.de>
535 * trans-expr.c (conv_isocbinding_procedure): Generate c_f_pointer code
538 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
540 * trans.c: Do not include defaults.h.
541 * trans-intrinsic.c: Likewise.
543 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
545 * gfortran.h: Do not include coretypes.h here.
546 Make it an error to include this before coretypes.h
547 * openmp.c: Include coretypes.h.
548 * interface.c: Likewise.
549 * intrinsic.c: Likewise.
550 * symbol.c: Likewise.
553 * matchexp.c: Likewise.
554 * dump-parse-tree.c: Likewise.
556 * constructor.c: Likewise.
560 * module.c: Likewise.
561 * scanner.c: Likewise.
564 * frontend-passes.c: Likewise.
565 * resolve.c: Likewise.
567 * target-memory.c: Likewise.
572 * dependency.c: Likewise.
573 * primary.c: Likewise.
575 * simplify.c: Likewise.
577 2012-07-05 Mikael Morin <mikael@gcc.gnu.org>
580 * trans-array.c (gfc_add_loop_ss_code): Disable self recursive calls
581 handling nested loop(s) if the subscript flag is true.
583 2012-07-05 Uros Bizjak <ubizjak@gmail.com>
586 * parse.c (gfc_parse_file): Initialize errors_before.
588 2012-06-27 Janus Weil <janus@gcc.gnu.org>
592 * interface.c (check_new_interface): Rename, add 'loc' argument,
594 (gfc_add_interface): Rename 'check_new_interface'
595 * gfortran.h (gfc_check_new_interface): Add prototype.
596 * resolve.c (resolve_typebound_intrinsic_op): Add typebound operator
597 targets to non-typebound operator list.
599 2012-06-22 Janus Weil <janus@gcc.gnu.org>
603 * interface.c (count_types_test, generic_correspondence,
604 gfc_compare_interfaces): Ignore PASS arguments.
605 (check_interface1, compare_parameter): Pass NULL arguments to
606 gfc_compare_interfaces.
607 * gfortran.h (gfc_compare_interfaces): Modified prototype.
608 * expr.c (gfc_check_pointer_assign): Pass NULL arguments to
609 gfc_compare_interfaces.
610 * resolve.c (resolve_structure_cons): Ditto.
611 (check_generic_tbp_ambiguity): Determine PASS arguments and pass them
612 to gfc_compare_interfaces.
614 2012-06-21 Janne Blomqvist <jb@gcc.gnu.org>
617 * iresolve.c (gfc_resolve_ftell): Fix result kind and use new
620 2012-06-18 Tobias Burnus <burnus@net-b.de>
622 * intrinsic.h (gfc_resolve_rank): New prototype.
623 * intrinsic.c (add_functions): Use gfc_resolve_rank.
624 * iresolve.c (add_functions): New function.
625 * trans-intrinsic.c (gfc_conv_intrinsic_rank): New function.
626 (gfc_conv_intrinsic_function): Call it.
628 2012-06-18 Tobias Burnus <burnus@net-b.de>
631 * trans-array.c (set_loop_bounds): Don't scalarize via absent
633 * resolve.c (resolve_elemental_actual): Don't stop resolving after printing
636 2012-06-18 Tobias Burnus <burnus@net-b.de>
639 * trans-intrinsic.c (conv_intrinsic_move_alloc): Handle coarrays.
641 2012-06-18 Tobias Burnus <burnus@net-b.de>
644 * check.c (gfc_check_move_alloc): Reject coindexed actual arguments
645 and those with different corank.
647 2012-06-17 Tobias Burnus <burnus@net-b.de>
651 * check.c (gfc_calculate_transfer_sizes): Return if
652 SIZE= is not constant or source-size cannot be determined.
654 2012-06-16 Tobias Burnus <burnus@net-b.de>
658 * frontend-passes.c (optimize_assignment): Don't remove RHS's
659 trim when assigning to a deferred-length string.
660 * trans-expr.c (gfc_trans_assignment_1): Ensure that the RHS string
661 length is evaluated before the deferred-length LHS is reallocated.
663 2012-06-13 Tobias Burnus <burnus@net-b.de>
666 * trans-decl.c (init_intent_out_dt): Fix for polymorphic arrays.
667 * trans-array.c (structure_alloc_comps): Don't loop for
670 2012-06-13 Tobias Burnus <burnus@net-b.de>
673 * decl.c (match_attr_spec): Only mark module variables
674 as SAVE_IMPLICIT for Fortran 2008 and later.
676 2012-06-08 Janus Weil <janus@gcc.gnu.org>
679 * match.c (gfc_match_allocate): Modify order of checks. Change wording
680 of error message. Remove FIXME note.
681 * resolve.c (resolve_allocate_expr): Add a comment.
683 2012-06-07 Thomas König <tkoenig@gcc.gnu.org>
686 * frontend-passes.c (optimize_assignment): Don't set the
687 length of an empty string for deferred-length character
690 2012-06-07 Thomas König <tkoenig@gcc.gnu.org>
693 * frontend-passes.c (empty_string): Add prototype.
694 (optimize_assignment): Set the length of an empty string
697 2012-06-04 Tobias Burnus <burnus@net-b.de>
700 * resolve.c (build_default_init_expr): Don't initialize
703 2012-06-03 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
704 Tobias Burnus <burnus@net-b.de>
707 * gfortran.h (gfc_check_init_expr): Add prototype declaration
709 * check.c (kind_check): Change if condition to use
710 to gfc_check_init_expr.
711 * expr.c (check_init_expr): Remove forward declaration
712 and static keyword. Change name in gfc_check_init_expr.
713 (scalarize_intrinsic_call, check_init_expr_arguments,
714 check_inquiry, check_conversion, gfc_reduce_init_expr): Update
715 call to gfc_check_init_expr.
717 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
719 * trans-common.c: Do not include output.h.
720 * trans-decl.c: Likewise.
722 2012-05-31 Tobias Burnus <burnus@net-b.de>
725 * trans.c (gfc_deallocate_scalar_with_status): Properly
726 handle the case size == 0.
728 2012-05-30 Tobias Burnus <burnus@net-b.de>
731 * decl.c (match_attr_spec): Remove "typedef".
733 2012-05-30 Tobias Burnus <burnus@net-b.de>
735 * decl.c: Fix comment typos.
737 * frontend-passes.c: Ditto.
740 * trans-array.c: Ditto.
741 * trans-common.c: Ditto.
742 * trans-intrinsic.c: Ditto.
743 * trans-types.c: Ditto.
745 2012-05-23 Tobias Burnus <burnus@net-b.de>
749 * match.c (gfc_match_allocate): Set length_from_typespec
751 * resolve.c (resolve_charlen): If set, don't check whether
752 the len is a specification expression.
754 2012-05-22 Tobias Burnus <burnus@net-b.de>
757 * trans-array.c (gfc_add_loop_ss_code): Don't evaluate expression, if
758 ss->is_alloc_lhs is set.
760 2012-05-22 Dodji Seketeli <dodji@redhat.com>
763 * f95-lang.c (gfc_init_builtin_functions): Remove the unused
764 typedef builtin_type.
766 2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
769 * gfortran.texi: Update _gfortran_set_options documentation.
770 * invoke.texi: Remove runtime behavior description of
772 * trans-decl.c (create_main_function): Don't pass the range-check
773 setting to the library.
775 2012-05-14 Tobias Burnus <burnus@net-b.de>
780 * trans-expr.c (gfc_trans_assignment_1): Fix allocation
781 handling for assignment of function results to allocatable
782 deferred-length strings.
783 * trans-decl.c (gfc_create_string_length): For deferred-length
784 module variables, include module name in the assembler name.
785 (gfc_get_symbol_decl): Don't override the assembler name.
787 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
790 * options.c (gfc_handle_option): Call lang-specific generated function.
792 2012-05-13 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
793 Tobias Burnus <burnus@net-b.de>
798 * resolve.c (resolve_fl_derived0): Deferred character length
799 procedure components are supported.
800 * trans-expr.c (gfc_conv_procedure_call): Handle TBP with
801 deferred-length results.
802 (gfc_string_to_single_character): Add a new check to prevent
804 (gfc_conv_procedure_call): Remove unuseful checks on
805 symbol's attributes. Add new checks to prevent NULL read on
808 2012-05-12 Tobias Burnus <burnus@net-b.de>
812 * resolve.c (resolve_fl_procedure): Don't regard
813 character(len=:) as character(*) in the diagnostic.
815 2012-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
818 * frontend-passes.c (optimize_op): Change
819 old-style comparison operators to new-style, simplify
821 (empty_string): New function.
822 (get_len_trim_call): New function.
823 (optimize_comparison): If comparing to an empty string,
824 use comparison of len_trim to zero.
825 Use new-style comparison operators only.
826 (optimize_trim): Use get_len_trim_call.
828 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
831 * options.c: Include diagnostics.h instead of
833 (set_Wall): Do not see warn_unused here.
834 (gfc_handle_option): Set it here using handle_generated_option.
836 2012-05-08 Jan Hubicka <jh@suse.cz>
838 * trans-common.c (create_common): Do not fake TREE_ASM_WRITTEN.
839 * trans-decl.c (gfc_finish_cray_pointee): Likewise.
841 2012-05-07 Tobias Burnus <burnus@net-b.de>
844 * resolve.c (resolve_typebound_static): Fix handling
845 of overridden specific to generic operator.
847 2012-05-06 Tobias Burnus <burnus@net-b.de>
850 * decl.c (build_struct): Don't ignore FAILED status.
852 2012-05-05 Paul Thomas <pault@gcc.gnu.org>
855 * trans-array.c (build_array_ref): New static function.
856 (gfc_conv_array_ref, gfc_get_dataptr_offset): Call it.
857 * trans-expr.c (gfc_get_vptr_from_expr): New function.
858 (gfc_conv_derived_to_class): Add a new argument for a caller
859 supplied vptr and use it if it is not NULL.
860 (gfc_conv_procedure_call): Add NULL to call to above.
861 symbol.c (gfc_is_associate_pointer): Return true if symbol is
863 * trans-stmt.c (trans_associate_var): Handle class associate-
865 * expr.c (gfc_get_variable_expr): Supply the array-spec if
867 * trans-types.c (gfc_typenode_for_spec): Set GFC_CLASS_TYPE_P
869 * trans.h : Add prototypes for gfc_get_vptr_from_expr and
870 gfc_conv_derived_to_class. Define GFC_CLASS_TYPE_P.
871 * resolve.c (resolve_variable): For class arrays, ensure that
872 the target expression has all the necessary _data references.
873 (resolve_assoc_var): Throw a "not yet implemented" error for
874 class array selectors that need a temporary.
875 * match.c (copy_ts_from_selector_to_associate,
876 select_derived_set_tmp, select_class_set_tmp): New functions.
877 (select_type_set_tmp): Call one of last two new functions.
878 (gfc_match_select_type): Copy_ts_from_selector_to_associate is
879 called if associate-name is typed.
882 * resolve.c (resolve_ref): C614 applied to class expressions.
884 2012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
888 * intrinsic.texi (MOD, MODULO): Mention sign and magnitude of result.
889 * simplify.c (gfc_simplify_mod): Use mpfr_fmod.
890 (gfc_simplify_modulo): Likewise, use copysign to fix the result if
892 * trans-intrinsic.c (gfc_conv_intrinsic_mod): Remove fallback as
893 builtin_fmod is always available. For modulo, call copysign to fix
894 the result when signed zeros are enabled.
896 2012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
898 * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain
899 algorithm for choosing temp directory.
901 2012-05-04 Tobias Burnus <burnus@net-b.de>
904 * resolve.c (resolve_variable): Set public_used
905 if a private module variable is used in a (public)
906 specification expression.
907 * trans-decl.c (gfc_finish_var_decl): Mark those
910 2012-05-04 Tobias Burnus <burnus@net-b.de>
913 * resolve.c (resolve_fl_derived): Fix -std=f95
914 diagnostic for generic vs. DT names.
916 2012-05-03 Tobias Burnus <burnus@net-b.de>
919 * interface.c (compare_parameter_intent): Remove.
920 (check_intents): Remove call, handle CLASS pointer.
921 (compare_actual_formal): Handle CLASS pointer.
923 2012-04-30 Jan Hubicka <jh@suse.cz>
925 * f95-lang.c (gfc_finish): Update comments.
927 2012-04-29 Thomas Koenig <tkoenig@gcc.gnu.org>
930 * frontend-passes.c (create_var): If the statement has a label,
931 put the label around the block.
933 2012-04-25 Tobias Burnus <burnus@net-b.de>
936 * lang.opt (Wrealloc-lhs, Wrealloc-lhs-all): New flags.
937 * gfortran.h (gfc_option_t): Add them.
938 * options.c (gfc_init_options, gfc_post_options,
939 gfc_handle_option): Handle them.
940 * invoke.texi: Document them.
941 * trans-expr.c (realloc_lhs_warning): New function.
942 (gfc_trans_arrayfunc_assign,
943 alloc_scalar_allocatable_for_assignment,
944 gfc_trans_assignment_1): Use it.
946 2012-04-18 Steven Bosscher <steven@gcc.gnu.org>
948 * trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
949 with NULL_TREE type instead of void_type_node.
950 * trans-io.c (io_result): Likewise.
951 * trans-stmt.c (gfc_trans_integer_select,
952 gfc_trans_character_select): Likewise.
954 2012-04-16 Tobias Burnus <burnus@net-b.de>
957 * expr.c (gfc_check_vardef_context): Fix assignment check for
960 2012-04-16 Janus Weil <janus@gcc.gnu.org>
963 * class.c (gfc_build_class_symbol): Make sure the 'f2k_derived'
964 namespace is present.
966 2012-04-15 Janus Weil <janus@gcc.gnu.org>
969 * trans-expr.c (gfc_conv_expr_reference): Check if the expression is a
970 simple function call (or a more involved PPC reference).
972 2012-04-15 Tobias Burnus <burnus@net-b.de>
976 * gfortran.h (symbol_attribute): Add public_used.
977 * interface.c (check_sym_interfaces, check_uop_interfaces,
978 gfc_check_interfaces): Set it.
979 * resolve.c (resolve_typebound_procedure): Ditto.
980 * trans-decl.c (build_function_decl): Use it.
982 2012-04-11 Tobias Burnus <burnus@net-b.de>
985 * resolve.c (resolve_symbol): Fix searching for parent NS decl.
987 2012-04-08 Tobias Burnus <burnus@net-b.de>
990 * trans-decl.c (gfc_finish_var_decl): Don't set TREE_PUBLIC
991 for PRIVATE module variables without C-binding label.
994 * trans-decl.c (build_function_decl): Ditto for procedures.
996 2012-04-07 Thomas Koenig <tkoenig@gcc.gnu.org>
999 * frontend-passes.c: Keep track of wether we are in an implicit
1000 DO loop; do not do function elimination if we are.
1002 2012-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
1005 * module.c: Only mark symbols as use_only if they have been
1006 imported via an only list.
1008 2012-03-28 Paul Thomas <pault@gcc.gnu.org>
1009 Tobias Burnus <burnus@gcc.gnu.org>
1012 * match.c (gfc_match_allocate, gfc_match_deallocate): Change
1013 "not.. or" to "neither.. nor".
1014 * parse.c (decode_specification_statement): Correct error in
1015 chpice of matching function for "allocatable".
1017 2012-03-23 Janne Blomqvist <jb@gcc.gnu.org>
1019 * gfortran.h (GFC_MAX_LINE): Remove unused macro.
1021 2012-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1024 * error.c (gfc_widechar_display_length): Consider tabs as
1025 one character wide, as they're displayed as spaces.
1026 (show_locus): Move tab handling to...
1027 (print_wide_char_into_buffer): ... here.
1029 2012-03-17 Tobias Burnus <burnus@net-b.de>
1032 * trans-intrinsic.c (gfc_conv_associated): Fix handling of
1033 procpointer dummy arguments.
1035 2012-03-16 Janne Blomqvist <jb@gcc.gnu.org>
1037 * trans-intrinsic.c (build_round_expr): Don't use BUILT_IN_IROUND
1040 2012-03-15 Janne Blomqvist <jb@gcc.gnu.org>
1042 * f95-lang.c (gfc_init_builtin_functions): Initialize
1044 * mathbuiltins.def: Add IROUND.
1045 * trans-intrinsic.c (build_round_expr): Use BUILT_IN_IROUND if
1047 (gfc_build_intrinsic_lib_fndecls): Build iround functions.
1049 2012-03-12 Richard Guenther <rguenther@suse.de>
1051 * f95-lang.c (builtin_type_for_size): Use gfc_type_for_size.
1053 2012-03-12 Tobias Burnus <burnus@net-b.de>
1056 * decl.c (match_procedure_decl): If the interface
1057 is bind(C), the procedure is as well.
1059 2012-03-10 Steven Bosscher <steven@gcc.gnu.org>
1061 * convert.c (convert): Fold BOOLEAN_TYPE types to the proper variant.
1063 2012-03-09 Steven Bosscher <steven@gcc.gnu.org>
1065 * Make-lang.in (convert.o): Depend on convert.h.
1066 * convert.c: Header and comment cleanups.
1067 (gfc_thruthvalue_conversion): Rename static function
1068 to truthvalue_conversion. Do not use 'internal_error' from here,
1069 use 'gcc_unreachable' instead.
1070 (convert): Do not use 'error' for conversions to void, use
1071 'gcc_unreachable' instead. Likewise for conversions to non-scalar
1072 types. Do not hanlde ENUMERAL_TYPE, the front end never creates them.
1073 Clean up #if 0 code.
1075 2012-03-08 Tobias Burnus <burnus@net-b.de>
1078 * trans-types.c (gfc_get_function_type): Handle backend_decl
1079 of a procedure pointer.
1081 2012-03-06 Steven Bosscher <steven@gcc.gnu.org>
1083 * f95-lang.c (yyerror, yylex): Remove.
1084 (clear_binding_stack): Remove, fold into its only user.
1085 (LANG_HOOKS_PRINT_IDENTIFIER): Do not re-define.
1086 (ridpointers): Remove.
1087 (gfc_eh_initialized_p): Make static.
1088 (gfc_truthvalue_conversion): Move to convert.c.
1089 (gfc_be_parse_file): Clear binding level stack when done.
1090 (gfc_print_identifier): Remove.
1091 (pushlevel): Remove ignored 'ignore' argument. Update all callers.
1092 (poplevel): Remove unused 'reverse' argument. Update all callers.
1094 (gfc_builtin_function): Make static. Do not attempt to make RTL for
1096 * convert.c (gfc_truthvalue_conversion): Moved here from f95-lang.c,
1098 * trans.h (pushlevel, poplevel): Adjust prototypes.
1099 (gfc_truthvalue_conversion, gfc_builtin_function): Remove prototypes.
1100 * trans-openmp.c: Update calls to pushlevel and poplevel.
1101 * trans.c: Likewise.
1102 * trans-decl.c: Likewise.
1104 2012-03-04 Mikael Morin <mikael@gcc.gnu.org>
1107 * gfortran.h (gfc_is_class_container_ref): New prototype.
1108 * class.c (gfc_is_class_container_ref): New function.
1109 * trans-expr.c (gfc_conv_procedure_call): Add a "_data" component
1110 reference to polymorphic actual arguments.
1112 2012-03-04 Mikael Morin <mikael@gcc.gnu.org>
1115 * trans-expr.c (gfc_conv_procedure_call): Save se->ss's value.
1116 Handle the case of unallocated arrays passed to elemental procedures.
1118 2012-03-04 Mikael Morin <mikael@gcc.gnu.org>
1120 * trans.h (struct gfc_ss_info): Move can_be_null_ref component from
1121 the data::scalar subcomponent to the toplevel.
1122 * trans-expr.c (gfc_conv_expr): Update component reference.
1123 * trans-array.c (gfc_add_loop_ss_code): Ditto.
1124 (gfc_walk_elemental_function_args): Ditto. Move the conditional setting
1125 the field out of the scalar-only block.
1127 2012-03-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1130 * error.c (gfc_widechar_display_length, gfc_wide_display_length):
1132 (print_wide_char_into_buffer): Return length written.
1133 (show_locus): Fix locus displayed when wide characters are present.
1135 2012-03-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1137 * module.c (gfc_use_module): Improve error message some more.
1139 2012-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1142 * module.c (gfc_use_module): Improve error messages.
1144 2012-03-03 Tobias Burnus <burnus@net-b.de>
1147 * resolve.c (resolve_actual_arglist): Properly reset
1148 assumed_type_expr_allowed.
1150 2012-03-03 Tobias Burnus <burnus@net-b.de>
1152 * lang.opt (Wc-binding-type): New flag.
1153 * options.c (gfc_init_options, gfc_handle_option): Handle it.
1154 * invoke.texi (Wc-binding-type): Document it.
1155 * gfortran.h (gfc_option_t): Add warn_c_binding_type.
1156 * decl.c (verify_bind_c_sym): Handle -Wc-binding-type.
1157 * symbol.c (gfc_set_default_type, verify_bind_c_derived_type):
1160 2012-03-03 Tobias Burnus <burnus@net-b.de>
1163 * decl.c (gfc_match_decl_type_spec): Support type(*).
1164 (gfc_verify_c_interop): Allow type(*).
1165 * dump-parse-tree.c (show_typespec): Handle type(*).
1166 * expr.c (gfc_copy_expr): Ditto.
1167 * interface.c (compare_type_rank, compare_parameter,
1168 compare_actual_formal, gfc_procedure_use): Ditto.
1169 * libgfortran.h (bt): Add BT_ASSUMED.
1170 * misc.c (gfc_basic_typename, gfc_typename): Handle type(*).
1171 * module.c (bt_types): Ditto.
1172 * resolve.c (assumed_type_expr_allowed): New static variable.
1173 (resolve_actual_arglist, resolve_variable, resolve_symbol):
1175 * trans-expr.c (gfc_conv_procedure_call): Ditto.
1176 * trans-types.c (gfc_typenode_for_spec, gfc_get_dtype): Ditto.
1178 2012-03-02 Tobias Burnus <burnus@net-b.de>
1181 * primary.c (gfc_match_varspec): Add missing ;.
1183 2012-03-02 Tobias Burnus <burnus@net-b.de>
1186 * primary.c (gfc_match_varspec): Add diagnostic for % with
1189 2012-03-02 Tobias Burnus <burnus@net-b.de>
1192 * expr.c (gfc_check_vardef_context): Fix check for
1193 intent-in polymorphic pointer .
1194 * interface.c (compare_parameter): Allow passing TYPE to
1195 intent-in polymorphic pointer.
1197 2012-03-02 Tobias Burnus <burnus@net-b.de>
1200 * resolve.c (resolve_intrinsic): Don't search for a
1201 function if we know that it is a subroutine.
1203 2012-02-29 Paul Thomas <pault@gcc.gnu.org>
1206 * trans-expr.c (fcncall_realloc_result): Dereference the
1207 descriptor if needed.
1209 2012-02-22 Tobias Burnus <burnus@net-b.de>
1212 * io.c (gfc_match_open): Remove bogus F2003 DELIM= check.
1214 2012-02-18 Tobias Burnus <burnus@net-b.de>
1217 * interface.c (check_interface0): Internal procs in
1218 generic interfaces are allowed in Fortran 2008.
1220 2012-02-17 Tobias Burnus <burnus@net-b.de>
1221 Roland Stigge <stigge@antcom.de>
1223 PR translation/52273
1224 * interface.c (compare_actual_formal): Fix typo "at at".
1226 2012-02-17 Tobias Burnus <burnus@net-b.de>
1228 * gfortran.texi (Q exponent-letter): Fix grammar.
1230 2012-02-17 Tobias Burnus <burnus@net-b.de>
1232 * gfortran.texi (Status): Fix typos.
1233 * invoke.texi (ffixed-form, fstack-arrays): Spell Fortran with
1236 2012-02-17 Tobias Burnus <burnus@net-b.de>
1237 Roland Stigge <stigge@antcom.de>
1239 PR translation/52232
1240 PR translation/52234
1241 PR translation/52245
1242 PR translation/52246
1243 PR translation/52262
1244 PR translation/52273
1245 * io.c (gfc_match_open): Fix typo.
1246 * interface.c (compare_actual_formal): Ditto.
1247 * lang.opt (freal-4-real-8, freal-4-real-16, freal-8-real-16): Ditto.
1248 * match.c (alloc_opt_list, gfc_match_nullify): Ditto.
1249 * check.c (gfc_check_associated, gfc_check_null): Ditto.
1251 2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
1254 * trans-stmt.c (gfc_get_proc_ifc_for_call): New function.
1255 (gfc_trans_call): Use gfc_get_proc_ifc_for_call.
1257 2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
1259 * trans-array.c (gfc_walk_elemental_function_args,
1260 gfc_walk_function_expr): Move call to gfc_get_proc_ifc_for_expr out
1261 of gfc_walk_elemental_function_args.
1262 * trans-stmt.c (gfc_trans_call): Ditto.
1263 * trans-array.h (gfc_get_proc_ifc_for_expr): New prototype.
1264 (gfc_walk_elemental_function_args): Update prototype.
1266 2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
1268 * trans-array.c (gfc_get_proc_ifc_for_expr): New function.
1269 (gfc_walk_elemental_function_args): Move code to
1270 gfc_get_proc_ifc_for_expr and call it.
1272 2012-02-08 Tobias Burnus <burnus@net-b.de>
1275 * trans-expr.c (fcncall_realloc_result): Set also the stride.
1277 2012-02-07 Tobias Burnus <burnus@net-b.de>
1280 * trans-expr.c (gfc_conv_procedure_call): Add _data component
1281 for calls of scalar CLASS actuals to TYPE dummies.
1283 2012-02-05 Thomas König <tkoenig@gcc.gnu.org>
1286 * trans-decl.c: Warn about unused dummy procedure arguments
1287 if -Wunused-dummy-argument is specified. Suppress middle-end
1288 warnings about procedure arguments.
1290 2012-02-05 Paul Thomas <pault@gcc.gnu.org>
1292 * trans-array.c (gfc_array_allocate): Zero memory for all class
1294 * trans-stmt.c (gfc_trans_allocate): Ditto for class scalars.
1297 * trans-stmt.c (gfc_trans_allocate): Before correcting a class
1298 array reference, ensure that 'dataref' points to the _data
1299 component that is followed by the array reference..
1301 2012-02-02 Mikael Morin <mikael@gcc.gnu.org>
1307 * class.c (insert_component_ref, class_data_ref_missing,
1308 gfc_fix_class_refs): New functions.
1309 * gfortran.h (gfc_fix_class_refs): New prototype.
1310 * trans-expr.c (gfc_conv_expr): Remove special case handling and call
1311 gfc_fix_class_refs instead.
1313 2012-02-02 Paul Thomas <pault@gcc.gnu.org>
1316 * trans-expr.c (fcncall_realloc_result): If variable shape is
1317 correct, retain the bounds, whatever they are.
1319 2012-02-02 Tobias Burnus <burnus@net-b.de>
1322 * simplify.c (gfc_simplify_size): Handle INTRINSIC_PARENTHESES.
1324 2012-02-01 Thomas König <tkoenig@gcc.gnu.org>
1327 * frontend-passes.c (convert_elseif): New function.
1328 (optimize_namespace): Call it.
1330 2012-02-01 Tobias Burnus <burnus@net-b.de>
1333 * module.c (MOD_VERSION): Bump.
1334 (mio_typebound_proc): Read/write is_operator from/to the
1337 2012-02-01 Tobias Burnus <burnus@net-b.de>
1340 * trans-expr.c (gfc_conv_procedure_call): Add array ref
1343 2012-01-31 Tobias Burnus <burnus@net-b.de>
1346 * gfortran.h (gfc_tbp_generic): Store whether the
1347 generic is an operator.
1348 * decl.c (gfc_match_generic): Set that flag.
1349 * resolve.c (check_generic_tbp_ambiguity): Use it in the
1350 gfc_compare_interfaces check.
1352 2012-01-31 Tobias Burnus <burnus@net-b.de>
1355 * class.c (gfc_find_derived_vtab): Mark _copy function as pure.
1357 2012-01-31 Tobias Burnus <burnus@net-b.de>
1360 * class.c (get_unique_hashed_string): Adapt trim length.
1361 (gfc_build_class_symbol) Encode also corank in the container name.
1363 2012-01-31 Paul Thomas <pault@gcc.gnu.org>
1366 * trans-expr.c (fcncall_realloc_result): Correct calculation of
1369 2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
1371 * module.c (pointer_info): Make true_name and module pointers
1372 rather than arrays, order pointers before other fields.
1373 (free_pi_tree): free true_name and module as well.
1374 (mio_read_string): Rename to read_string.
1375 (mio_write_string): Remove.
1376 (load_commons): Use read_string.
1377 (read_module): Use read_string rather than mio_internal_string.
1378 (write_blank_common): Call write_atom directly.
1379 (write_symbol): Likewise.
1381 2012-01-29 Tobias Burnus <burnus@net-b.de>
1384 * expr.c (gfc_default_initializer): Convert the values if
1385 the type does not match.
1387 2012-01-29 Tobias Burnus <burnus@net-b.de>
1390 * trans-array.c (structure_alloc_comps): Fix assignment of
1391 polymorphic components (polymorphic deep copying).
1393 2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
1396 * decl.c (set_binding_label): Make binding_label argument const.
1397 (curr_binding_label): Constify.
1398 * gfortran.h (gfc_symbol): Constify binding_label.
1399 (gfc_common_head): Likewise.
1400 (get_iso_c_sym): Likewise.
1401 * match.c (gfc_match_name_C): Constify buffer argument.
1402 * match.h (gfc_match_name_C): Likewise.
1403 * resolve.c (set_name_and_label): Constify binding_label argument.
1404 (gfc_iso_c_sub_interface): Constify binding_label variable.
1405 * symbol.c (get_iso_c_sym): Constify binding_label argument.
1407 2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
1410 * decl.c (set_binding_label): Move prototype from match.h to here.
1411 (curr_binding_label): Make a pointer rather than static array.
1412 (build_sym): Check sym->binding_label pointer rather than array,
1413 update set_binding_label call, handle curr_binding_label changes.
1414 (set_binding_label): Handle new curr_binding_label, dest_label
1415 double ptr, and sym->binding_label.
1416 (verify_bind_c_sym): Handle sym->binding_label being a pointer.
1417 (set_verify_bind_c_sym): Check sym->binding_label pointer rather
1418 than array, update set_binding_label call.
1419 (gfc_match_bind_c_stmt): Handle curr_binding_label change.
1420 (match_procedure_decl): Update set_binding_label call.
1421 (gfc_match_bind_c): Change binding_label to pointer, update
1422 gfc_match_name_C call.
1423 * gfortran.h (GFC_MAX_BINDING_LABEL_LEN): Remove macro.
1424 (gfc_symbol): Make binding_label a pointer.
1425 (gfc_common_head): Likewise.
1426 * match.c (gfc_match_name_C): Heap allocate bind(C) name.
1427 * match.h (gfc_match_name_C): Change prototype argument.
1428 (set_binding_label): Move prototype to decl.c.
1429 * module.c (struct pointer_info): Make binding_label a pointer.
1430 (free_pi_tree): Free unused binding_label.
1431 (mio_read_string): New function.
1432 (mio_write_string): New function.
1433 (load_commons): Redo reading of binding_label.
1434 (read_module): Likewise.
1435 (write_common_0): Change to write empty string instead of name if
1437 (write_blank_common): Write empty string for binding label.
1438 (write_symbol): Change to write empty string instead of name if no
1440 * resolve.c (gfc_iso_c_func_interface): Don't set binding_label.
1441 (set_name_and_label): Make binding_label double pointer, use
1443 (gfc_iso_c_sub_interface): Make binding_label a pointer.
1444 (resolve_bind_c_comms): Handle cases if
1445 gfc_common_head->binding_label is NULL.
1446 (gfc_verify_binding_labels): sym->binding_label is a pointer.
1447 * symbol.c (gfc_new_symbol): Rely on XCNEW zero init for
1449 (gen_special_c_interop_ptr): Don't set binding label.
1450 (generate_isocbinding_symbol): Insert binding_label into symbol
1452 (get_iso_c_sym): Use pointer assignment instead of strcpy.
1453 * trans-common.c (gfc_sym_mangled_common_id): Handle
1454 com->binding_label being a pointer.
1455 * trans-decl.c (gfc_sym_mangled_identifier): Handle
1456 sym->binding_label being a pointer.
1457 (gfc_sym_mangled_function_id): Likewise.
1459 2012-01-29 Tobias Burnus <burnus@net-b.de>
1462 * resolve.c (symbol_as): Remove unused, accidentally
1465 2012-01-28 Tobias Burnus <burnus@net-b.de>
1468 * trans-stmt.c (gfc_trans_allocate): Properly check whether
1469 we have a BT_CLASS which needs to be memset.
1471 2012-01-27 Tobias Burnus <burnus@net-b.de>
1474 * trans-expr.c (gfc_conv_procedure_call): Fix passing
1475 of functions, which return allocatables.
1477 2012-01-27 Tobias Burnus <burnus@net-b.de>
1480 * resolve.c (resolve_formal_arglist): Fix elemental
1481 constraint checks for polymorphic dummies also for
1484 2012-01-27 Tobias Burnus <burnus@net-b.de>
1488 * primary.c (gfc_match_varspec. gfc_match_rvalue): Set
1489 handle array spec for BT_CLASS.
1490 * expr.c (gfc_get_variable_expr, gfc_lval_expr_from_sym)
1491 * frontend-passes.c (create_var): Ditto.
1492 * resolve.c (resolve_actual_arglist, resolve_assoc_var): Ditto.
1493 * trans-decl.c (gfc_trans_deferred_vars): Use class_pointer
1494 instead of attr.pointer.
1495 (gfc_generate_function_code): Use CLASS_DATA (sym) for BT_CLASS.
1496 * trans-intrinsic.c (conv_intrinsic_move_alloc): Move assert.
1497 * trans-stmt.c (trans_associate_var): Ask for the descriptor.
1499 2012-01-27 Tobias Burnus <burnus@net-b.de>
1502 * match.c (gfc_match_allocate): Allow more than allocate
1503 object with SOURCE=.
1505 2012-01-27 Tobias Burnus <burnus@net-b.de>
1508 * resolve.c (resolve_formal_arglist): Fix elemental
1509 constraint checks for polymorphic dummies.
1511 2012-01-27 Paul Thomas <pault@gcc.gnu.org>
1512 Tobias Burnus <burnus@gcc.gnu.org>
1518 * trans-array.c (gfc_array_init_size): Add two extra arguments
1519 to convey the dynamic element size of a calls object and to
1520 return the number of elements that have been allocated.
1521 (gfc_array_allocate): Add the same arguments and use them to
1522 call gfc_array_init_size. Before the allocation dereference
1523 the data pointer, if necessary. Set the allocated array to zero
1524 if the class element size or expr3 are non-null.
1525 * trans-expr.c (gfc_conv_class_to_class): Give this function
1527 (get_class_array_ref): New function.
1528 (gfc_copy_class_to_class): New function.
1529 * trans-array.h : Update prototype for gfc_array_allocate.
1530 * trans-stmt.c (gfc_trans_allocate): For non-variable class
1531 STATUS expressions extract the class object and the dynamic
1532 element size. Use the latter to call gfc_array_allocate and
1533 the former for setting the vptr and, via
1534 gfc_copy_class_to_clasfc_cs, to copy to the allocated data.
1535 * trans.h : Prototypes for gfc_get_class_array_ref,
1536 gfc_copy_class_to_class and gfc_conv_class_to_class.
1538 2012-01-25 Tobias Burnus <burnus@net-b.de>
1540 * resolve.c (symbol_as): Check also for attr.class_ok.
1542 2012-01-25 Tobias Burnus <burnus@net-b.de>
1545 * class.c (gfc_build_class_symbol): Fix invalid freeing
1546 issue with fclass->f2k_derived.
1548 2012-01-25 Tobias Burnus <burnus@net-b.de>
1551 * class.c (gfc_build_class_symbol): Ensure that
1552 fclass->f2k_derived is set.
1554 2012-01-25 Tobias Burnus <burnus@net-b.de>
1557 * resolve.c (resolve_structure_cons): Only create an
1558 array constructors for nonscalars.
1560 2012-01-23 Tobias Burnus <burnus@net-b.de>
1563 * check.c (variable_check): Fix checking for
1564 variables and deeply nested BLOCKs.
1566 2012-01-21 Tobias Burnus <burnus@net-b.de>
1567 Steven G. Kargl <kargl@gcc.gnu.org>
1570 * symbol.c (check_conflict): namelist-group-name cannot have the SAVE
1573 2012-01-21 Tobias Burnus <burnus@net-b.de>
1576 * interface.c (compare_parameter): Fix CLASS comparison.
1578 2012-01-20 Tobias Burnus <burnus@net-b.de>
1579 Janus Weil <janus@gcc.gnu.org>
1582 * module.c (load_needed, read_module): Don't mark __vtab etc.
1585 2012-01-19 Tobias Burnus <burnus@net-b.de>
1588 * expr.c (gfc_build_intrinsic_call): Also set the symtree.
1590 2012-01-18 Paul Thomas <pault@gcc.gnu.org>
1593 * trans-expr.c (gfc_conv_procedure_call): Deallocate allocatable
1594 components of temporary class arguments.
1596 2012-01-17 Tobias Burnus <burnus@net-b.de>
1597 Janne Blomqvist <jb@gcc.gnu.org>
1600 * trans-expr.c (alloc_scalar_allocatable_for_assignment): Nullify
1601 LHS after allocation, if it has allocatable components.
1602 * f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_CALLOC.
1604 2012-01-16 Mikael Morin <mikael@gcc.gnu.org>
1605 Tobias Burnus <burnus@net-b.de>
1608 * trans-array.c (gfc_walk_elemental_function_args): Fix
1609 passing of deallocated allocatables/pointers as absent argument.
1611 2012-01-16 Tobias Burnus <burnus@net-b.de>
1614 * class.c (gfc_find_derived_vtab): Mark __vtab and
1615 __def_init as FL_VARIABLE not as FL_PARAMETER.
1616 * expr.c (gfc_simplify_expr): Remove special
1618 * resolve.c (resolve_values): Ditto.
1619 * trans-decl.c (gfc_get_symbol_decl): Mark __vtab
1620 and __def_init as TREE_READONLY.
1622 2012-01-16 Zydrunas Gimbutas <gimbutas@cims.nyu.edu>
1623 Andreas Kloeckner <kloeckner@cims.nyu.edu>
1624 Steven G. Kargl <kargl@gcc.gnu.org>
1627 * gfortran.h (gfc_option_t): Add members flag_*_kind to store kind.
1628 * lang.opt: Add options -freal-4-real-8, -freal-4-real-10,
1629 -freal-4-real-16, -freal-8-real-4, -freal-8-real-10, -freal-8-real-16
1630 and -finteger-4-integer-8. User-desired type conversion information.
1631 * decl.c (gfc_match_old_kind_spec,kind_expr): Type conversions
1632 in declaration parsing.
1633 * trans-types.c (gfc_init_kinds): User-specified type conversion
1634 checked for current backend.
1635 * primary.c (match_integer_constant,match_real_constant): Implement
1636 type conversion in constant parsing.
1637 * options.c (gfc_init_options,gfc_handle_option): Translate input
1638 options to flags in internal options data structure.
1639 * invoke.texi: Document new options. Re-order options in Options
1642 2012-01-16 Paul Thomas <pault@gcc.gnu.org>
1644 * trans-array.c (gfc_trans_create_temp_array): In the case of a
1645 class array temporary, detect a null 'eltype' on entry and use
1646 'initial' to provde the class reference and so, through the
1647 vtable, the element size for the dynamic type.
1648 * trans-stmt.c (gfc_conv_elemental_dependencies): For class
1649 expressions, set 'eltype' to null and pass the values via the
1650 'initial' expression.
1652 2012-01-14 Tobias Burnus <burnus@net-b.de>
1655 * resolve.c (build_default_init_expr): Also initialize
1656 nonconstant-length strings with -finit-character=<n>.
1658 2011-01-14 Tobias Burnus <burnus@net-b.de>
1661 * module.c (read_module): Don't make nonexisting
1662 intrinsic operators as found.
1663 (rename_list_remove_duplicate): New function.
1664 (gfc_use_modules): Use it.
1666 2012-01-13 Paul Thomas <pault@gcc.gnu.org>
1669 * trans-array.c (structure_alloc_comps): Suppress interative
1670 call to self, when current component is deallocated using
1671 gfc_trans_dealloc_allocated.
1672 * class.c (gfc_build_class_symbol): Copy the 'alloc_comp'
1673 attribute from the declared type to the class structure.
1675 2012-01-13 Tobias Burnus <burnus@net-b.de>
1678 * fortran/trans-types.c (gfc_init_kinds): Use PTRDIFF_TYPE
1679 instead of a signed int of size POINTER_SIZE for
1680 gfc_index_integer_kind.
1682 2012-01-12 Tobias Burnus <burnus@net-b.de>
1685 * intrinsic.texi (CHMOD): Extend a bit and remove statement
1686 that /bin/chmod is called.
1688 2012-01-10 Gerald Pfeifer <gerald@pfeifer.com>
1690 * gfortran.texi (Fortran 2003 Status): Fix grammar.
1692 2012-01-10 Tobias Burnus <burnus@net-b.de>
1695 * resolve.c (resolve_allocate_expr): For non-deferred char lengths,
1696 check whether type-spec matches declaration.
1698 2012-01-10 Tobias Burnus <burnus@net-b.de>
1700 * resolve.c (resolve_ordinary_assign): Improve error wording.
1702 2012-01-09 Paul Thomas <pault@gcc.gnu.org>
1705 * interface.c (matching_typebound_op): Drill down through
1706 possible parentheses to obtain base expression. Do not test for
1707 'class_ok' but, instead for the class structure components.
1708 * resolve.c (resolve_ordinary_assign): Extend error message for
1709 polymorphic assignment to advise checking for specific
1713 * resolve.c (resolve_typebound_function): Restore 'static' to
1716 2012-01-09 Mikael Morin <mikael@gcc.gnu.org>
1719 * trans-array.c (gfc_walk_elemental_function_args):
1720 Skip over NULL() actual arguments.
1722 2012-01-09 Tobias Burnus <burnus@net-b.de>
1724 * gfortran.texi: Bump copyright year.
1725 (Fortran 2003 Status): Update polymorphism item, add
1726 item for generic interface with DT name.
1728 2012-01-09 Tobias Burnus <burnus@net-b.de>
1731 * gfortran.h (gfc_use_list):
1732 * match.h (gfc_use_module): Rename to ...
1733 (gfc_use_modules): ... this.
1734 * module.c (use_locus, specified_nonint, specified_int): Remove
1736 (module_name): Change type to const char*, used with gfc_get_string.
1737 (module_list): New global variable.
1738 (free_rename): Free argument not global var.
1739 (gfc_match_use): Save match to module_list.
1740 (load_generic_interfaces, read_module): Don't free symtree.
1741 (write_dt_extensions, gfc_dump_module): Fix module-name I/O due to the
1742 type change of module_name.
1743 (write_symbol0, write_generic): Optimize due to the type change.
1744 (import_iso_c_binding_module, use_iso_fortran_env_module): Use
1745 locus of rename->where.
1746 (gfc_use_module): Take module_list as argument.
1747 (gfc_use_modules): New function.
1748 (gfc_module_init_2, gfc_module_done_2): Init module_list, rename_list.
1749 * parse.c (last_was_use_stmt): New global variable.
1750 (use_modules): New function.
1751 (decode_specification_statement, decode_statement): Move USE match up
1752 and call use_modules.
1753 (next_free, next_fixed): Call use_modules.
1754 (accept_statement): Don't call gfc_module_use.
1756 2012-01-06 Tobias Burnus <burnus@net-b.de>
1758 * trans-openmp.c (gfc_omp_clause_dtor, gfc_trans_omp_array_reduction):
1759 Update call to gfc_trans_dealloc_allocated.
1760 * trans.c (gfc_allocate_using_malloc): Fix spacing.
1761 (gfc_allocate_allocatable): For gfc_allocate_using_lib, jump to
1762 label_finish when an error occurs.
1763 (gfc_deallocate_with_status): Call caf_deregister for -fcoarray=lib.
1764 * trans.h (gfc_allocate_allocatable, gfc_deallocate_with_status):
1766 (gfor_fndecl_caf_deregister): New tree symbol.
1767 * trans-expr.c (gfc_conv_procedure_call): Update
1768 gfc_deallocate_with_status and gfc_trans_dealloc_allocated calls.
1769 * trans-array.c (gfc_array_allocate, gfc_trans_dealloc_allocated,
1770 structure_alloc_comps, gfc_trans_deferred_array): Ditto.
1771 (gfc_array_deallocate): Handle coarrays with -fcoarray=lib.
1772 * trans-array.h (gfc_array_deallocate, gfc_array_allocate,
1773 gfc_trans_dealloc_allocated): Update prototypes.
1774 * trans-stmt.c (gfc_trans_sync): Fix indentation.
1775 (gfc_trans_allocate): Fix errmsg padding and label handling.
1776 (gfc_trans_deallocate): Ditto and handle -fcoarray=lib.
1777 * expr.c (gfc_is_coarray): Fix algorithm for BT_CLASS.
1778 * libgfortran.h (GFC_STAT_STOPPED_IMAGE): Use large value
1779 to avoid other stats accidentally matching this one.
1780 * trans-decl.c (gfor_fndecl_caf_deregister): New global var.
1781 (gfc_build_builtin_function_decls): Fix prototype decl of caf_register
1782 and add decl for caf_deregister.
1783 (gfc_trans_deferred_vars): Handle CAF vars with -fcoarrays=lib.
1784 * trans-intrinsic.c (conv_intrinsic_move_alloc): Update call to
1785 gfc_deallocate_with_status.
1787 2012-01-05 Paul Thomas <pault@gcc.gnu.org>
1790 * resolve.c (resolve_typebound_static): If the typebound
1791 procedure is 'deferred' try to find the correct specific
1792 procedure in the derived type operator space itself.
1794 2012-01-04 Mikael Morin <mikael@gcc.gnu.org>
1797 * trans-array.h (gfc_walk_elemental_function_args): New argument.
1798 * trans-intrinsic.c (gfc_walk_intrinsic_function): Update call.
1799 * trans-stmt.c (gfc_trans_call): Ditto.
1800 * trans-array.c (gfc_walk_function_expr): Ditto.
1801 (gfc_walk_elemental_function_args): Get the dummy argument list
1802 if possible. Check that the dummy and the actual argument are both
1803 optional, and set can_be_null_ref accordingly.
1805 2012-01-04 Mikael Morin <mikael@gcc.gnu.org>
1808 * trans.h (struct gfc_ss_info): New field data::scalar::can_be_null_ref
1809 * trans-array.c: If the reference can be NULL, save the reference
1810 instead of the value.
1811 * trans-expr.c (gfc_conv_expr): If we have saved a reference,
1814 2012-01-04 Mikael Morin <mikael@gcc.gnu.org>
1816 * trans-expr.c (gfc_conv_expr): Move address taking...
1817 (gfc_conv_expr_reference): ... here.
1819 2012-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
1822 * trans-common.c (create_common): Update copyright years. Mark
1823 variables as used to avoid warnings about unused variables in
1826 2012-01-03 Hans-Peter Nilsson <hp@axis.com>
1828 * gfortran.h (struct gfc_expr): Add missing "struct"
1829 qualifier for member base_expr.
1831 2012-01-02 Paul Thomas <pault@gcc.gnu.org>
1834 * trans-array.c (gfc_array_allocate): Null allocated memory of
1835 newly allocted class arrays.
1840 * interface.c(build_compcall_for_operator): Add a type to the
1842 * trans-expr.c (conv_base_obj_fcn_val): New function.
1843 (gfc_conv_procedure_call): Use base_expr to detect non-variable
1844 base objects and, ensuring that there is a temporary variable,
1845 build up the typebound call using conv_base_obj_fcn_val.
1846 (gfc_trans_class_assign): Pick out class procedure pointer
1847 assignments and do the assignment with no further prcessing.
1848 (gfc_trans_class_array_init_assign, gfc_trans_class_init_assign
1849 gfc_trans_class_assign): Move to top of file.
1850 * gfortran.h : Add 'base_expr' field to gfc_expr.
1851 * resolve.c (get_declared_from_expr): Add 'types' argument to
1852 switch checking of derived types on or off.
1853 (resolve_typebound_generic_call): Set the new argument.
1854 (resolve_typebound_function, resolve_typebound_subroutine):
1855 Set 'types' argument for get_declared_from_expr appropriately.
1856 Identify base expression, if not a variable, in the argument
1857 list of class valued calls. Assign it to the 'base_expr' field
1858 of the final expression. Strip away all references after the
1859 last class reference.
1861 2012-01-02 Tobias Burnus <burnus@net-b.de>
1864 * trans-intrinsic.c (trans_this_image, trans_image_index,
1865 trans_num_images, conv_intrinsic_cobound): Fold_convert the
1866 caf_num_images/caf_this_images variables to the correct int kind.
1868 2012-01-01 Jakub Jelinek <jakub@redhat.com>
1870 * gfortranspec.c (lang_specific_driver): Update copyright notice
1873 Copyright (C) 2012 Free Software Foundation, Inc.
1875 Copying and distribution of this file, with or without modification,
1876 are permitted in any medium without royalty provided the copyright
1877 notice and this notice are preserved.