]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
re PR fortran/40881 ([F03] warn for obsolescent features)
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
fbdeeaac
JW
12013-04-04 Janus Weil <janus@gcc.gnu.org>
2
3 PR fortran/40881
4 * match.c (gfc_match_return): Remove standard notification.
5 * primary.c (gfc_match_actual_arglist): Add standard notification.
6
6082753e
TB
72013-04-04 Tobias Burnus <burnus@net-b.de>
8
9 PR fortran/50269
10 * gcc/fortran/check.c (is_c_interoperable,
11 gfc_check_c_loc): Correct c_loc array checking
12 for Fortran 2003 and Fortran 2008.
13
9362a03b
JW
142013-04-03 Janus Weil <janus@gcc.gnu.org>
15
16 PR fortran/56284
17 PR fortran/40881
18 * decl.c (gfc_match_formal_arglist): Warn about alternate-return
19 arguments.
20 * interface.c (check_dummy_characteristics): Return if symbols are NULL.
21
c03e6b52
JW
222013-04-01 Janus Weil <janus@gcc.gnu.org>
23
24 PR fortran/56500
25 * symbol.c (gfc_set_default_type): Build class container for
26 IMPLICIT CLASS.
27
cbde6c0f
TB
282013-03-31 Tobias Burnus <burnus@net-b.de>
29
30 * class.c (finalization_scalarizer, finalizer_insert_packed_call,
31 generate_finalization_wrapper): Avoid segfault with absent SIZE=
32 argment to TRANSFER and use correct result kind for SIZE.
33 * intrinsic.c (gfc_isym_id_by_intmod): Also handle ids of
34 nonmodules.
35 * trans.c (gfc_build_final_call): Handle coarrays.
36
244fdda0
TK
372013-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
38
39 * trans-expr.c (build_memcmp_call): New function.
40 (gfc_build_compare_string): If the strings
41 compared have constant and equal lengths and
42 the strings are kind=1, or, for kind=4 strings,
43 the test is for (in)equality, use memcmp().
44
60f97ac8
TB
452013-03-29 Tobias Burnus <burnus@net-b.de>
46
47 PR fortran/35203
48 * trans-decl.c (create_function_arglist): Pass hidden argument
49 for passed-by-value optional+value dummies.
50 * trans-expr.c (gfc_conv_expr_present,
51 gfc_conv_procedure_call): Handle those.
52
eab19a1a
TK
532013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
54
55 PR fortran/45159
56 * gfortran.h (gfc_dep_difference): Add prototype.
57 * dependency.c (discard_nops): New function.
58 (gfc_dep_difference): New function.
59 (check_section_vs_section): Use gfc_dep_difference
60 to calculate the difference of starting indices.
61 * trans-expr.c (gfc_conv_substring): Use
62 gfc_dep_difference to calculate the length of
63 substrings where possible.
64
4099436d
TK
652013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
66
67 PR fortran/55806
68 * frontend-passes.c (optimize_code): Keep track of
69 current code to make code insertion possible.
70 (combine_array_constructor): New function.
71 (optimize_op): Call it.
72
1a8c1e35
TB
732013-03-27 Tobias Burnus <burnus@net-b.de>
74
75 PR fortran/56650
76 PR fortran/36437
77 * check.c (gfc_check_sizeof, gfc_check_c_sizeof,
78 gfc_check_storage_size): Update checks.
79 * intrinsic.texi (SIZEOF): Correct class.
80 * intrinsic.h (gfc_simplify_sizeof,
81 gfc_simplify_storage_size): New prototypes.
82 * intrinsic.c (add_functions): Use them.
83 * simplify.c (gfc_simplify_sizeof,
84 gfc_simplify_storage_size): New functions.
85
092e08c0
JB
862013-03-27 Janne Blomqvist <jb@gcc.gnu.org>
87
88 PR fortran/25708
1a8c1e35
TB
89 * module.c (module_locus): Use long for position.
90 (module_content): New variable.
91 (module_pos): Likewise.
92 (prev_character): Remove.
93 (bad_module): Free data instead of closing mod file.
94 (set_module_locus): Use module_pos.
95 (get_module_locus): Likewise.
96 (module_char): use buffer rather than stdio file.
97 (module_unget_char): Likewise.
98 (read_module_to_tmpbuf): New function.
99 (gfc_use_module): Call read_module_to_tmpbuf.
092e08c0 100
03580130
TB
1012013-03-26 Tobias Burnus <burnus@net-b.de>
102
103 PR fortran/56649
104 * simplify.c (gfc_simplify_merge): Simplify more.
105
cadddfdd
TB
1062013-03-25 Tobias Burnus <burnus@net-b.de>
107
108 PR fortran/38536
109 PR fortran/38813
110 PR fortran/38894
111 PR fortran/39288
112 PR fortran/40963
113 PR fortran/45824
114 PR fortran/47023
115 PR fortran/47034
116 PR fortran/49023
117 PR fortran/50269
118 PR fortran/50612
119 PR fortran/52426
120 PR fortran/54263
121 PR fortran/55343
122 PR fortran/55444
123 PR fortran/55574
124 PR fortran/56079
125 PR fortran/56378
126 * check.c (gfc_var_strlen): Properly handle 0-sized string.
127 (gfc_check_c_sizeof): Use is_c_interoperable, add checks.
128 (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
129 gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
130 functions.
131 * expr.c (check_inquiry): Add c_sizeof, compiler_version and
132 compiler_options.
133 (gfc_check_pointer_assign): Refine function result check.
134 gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
135 GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
136 GFC_ISYM_C_LOC.
137 (iso_fortran_env_symbol, iso_c_binding_symbol): Handle
138 NAMED_SUBROUTINE.
139 (generate_isocbinding_symbol): Update prototype.
140 (get_iso_c_sym): Remove.
141 (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
142 * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
143 (gfc_intrinsic_sub_interface): Use it.
144 (add_functions, add_subroutines): Add missing C-binding intrinsics.
145 (gfc_intrinsic_func_interface): Add special case for c_loc.
146 gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
147 (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
148 * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
149 gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
150 gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
151 * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
152 functions.
153 * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
154 NAMED_FUNCTION.
155 * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
156 * module.c (create_intrinsic_function): Support subroutines and
157 derived-type results.
158 (use_iso_fortran_env_module): Update calls.
159 (import_iso_c_binding_module): Ditto; update calls to
160 generate_isocbinding_symbol.
161 * resolve.c (find_arglists): Skip for intrinsic symbols.
162 (gfc_resolve_intrinsic): Find intrinsic subs via id.
163 (is_scalar_expr_ptr, gfc_iso_c_func_interface,
164 set_name_and_label, gfc_iso_c_sub_interface): Remove.
165 (resolve_function, resolve_specific_s0): Remove calls to those.
166 (resolve_structure_cons): Fix handling.
167 * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
168 generation.
169 (gen_cptr_param, gen_fptr_param, gen_shape_param,
170 build_formal_args, get_iso_c_sym): Remove.
171 (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
172 (generate_isocbinding_symbol): Support hidden symbols and
173 using c_ptr/c_funptr symtrees for nullptr defs.
174 * target-memory.c (gfc_target_encode_expr): Fix handling
175 of c_ptr/c_funptr.
176 * trans-expr.c (conv_isocbinding_procedure): Remove.
177 (gfc_conv_procedure_call): Remove call to it.
178 (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
179 of c_ptr/c_funptr.
180 * trans-intrinsic.c (conv_isocbinding_function,
181 conv_isocbinding_subroutine): New.
182 (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
183 Call them.
184 * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
185 * trans-types.c (gfc_typenode_for_spec,
186 gfc_get_derived_type): Ditto.
187 (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.
188
9fa52231
TB
1892013-03-18 Tobias Burnus <burnus@net-b.de>
190
191 * gfortran.h (gfc_option_t): Remove flag_whole_file.
192 * invoke.texi (-fno-whole-file): Remove.
193 * lang.opt (fwhole-file): Change to Ignore.
194 * options.c (gfc_init_options, gfc_post_options,
195 gfc_handle_option): Remove !flag_whole_file handling
196 * parse.c (resolve_all_program_units, translate_all_program_units,
197 gfc_parse_file): Ditto.
198 * resolve.c (resolve_global_procedure): Ditto.
199 * trans-decl.c (gfc_get_symbol_decl, gfc_get_extern_function_decl,
200 gfc_create_module_variable): Ditto.
201 * trans-types.c (gfc_get_derived_type): Ditto.
202
4b4a1012
TB
2032013-03-15 Tobias Burnus <burnus@net-b.de>
204
205 PR fortran/56615
206 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
207 if they are not simply contiguous.
208
87f56a65
TB
2092013-03-11 Tobias Burnus <burnus@net-b.de>
210
211 * gfortran.texi (STRUCTURE and RECORD): State more clearly how
212 to convert them into derived types.
213
8ec4321f
PT
2142013-03-10 Paul Thomas <pault@gcc.gnu.org>
215
216 PR fortran/56575
217 * expr.c (gfc_default_initializer): Check that a class declared
218 type has any components.
219 * resolve.c (resolve_fl_derived0): On failing the test for C437
220 set the type to BT_UNKNOWN to prevent repeat error messages.
221
1216b4d2
MM
2222013-03-03 Mikael Morin <mikael@gcc.gnu.org>
223
224 PR fortran/56477
225 * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
226
d6a5de16
MM
2272013-03-03 Mikael Morin <mikael@gcc.gnu.org>
228
229 PR fortran/54730
230 * array.c (gfc_match_array_constructor): Set a checkpoint before
231 matching a typespec. Drop it on success, restore it otherwise.
232
ab68a73e
MM
2332013-03-03 Mikael Morin <mikael@gcc.gnu.org>
234
235 PR fortran/54730
236 * gfortran.h (struct gfc_undo_change_set): New field 'previous'.
237 (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint,
238 gfc_restore_last_undo_checkpoint): New prototypes.
239 * symbol.c (default_undo_chgset_var): Update initialization.
240 (single_undo_checkpoint_p, gfc_new_undo_checkpoint,
241 free_undo_change_set_data, pop_undo_change_set,
242 gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint):
243 New functions.
244 (save_symbol_data): Handle multiple change sets. Make sure old_symbol
245 field's previous value is not overwritten. Clear gfc_new field.
246 (restore_old_symbol): Restore previous old_symbol field.
247 (gfc_restore_last_undo_checkpoint): New function, using body renamed
248 from gfc_undo_symbols. Restore the previous change set as current one.
249 (gfc_undo_symbols): New body.
250 (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state):
251 Call enforce_single_undo_checkpoint.
252 (gfc_symbol_done_2): Ditto. Free change set data.
253
4ef9b950
MM
2542013-03-03 Mikael Morin <mikael@gcc.gnu.org>
255
256 * symbol.c (restore_old_symbol): Fix thinko.
257
dd355a42
MM
2582013-03-03 Mikael Morin <mikael@gcc.gnu.org>
259
718e305d
MM
260 * symbol.c (gfc_undo_symbols): Move code...
261 (restore_old_symbol): ... here as a new function.
262
2632013-03-03 Mikael Morin <mikael@gcc.gnu.org>
264
265 * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h.
266 * gfortran.h: Include vec.h.
dd355a42
MM
267 (gfc_undo_change_set): New struct.
268 * symbol.c (tentative_tbp): Remove struct.
269 (changed_syms, tentative_tbp_list): Remove variables.
270 (default_undo_chgset_var, latest_undo_chgset): New variables.
271 (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
272 gfc_commit_symbols, gfc_commit_symbol,
273 gfc_enforce_clean_symbol_state, gfc_get_typebound_proc):
274 Use latest_undo_chgset instead of changed_syms and tentative_tbp_list.
275
2b62c97f
TB
2762013-03-01 Tobias Burnus <burnus@net-b.de>
277
40bf31ed 278 PR fortran/56491
2b62c97f
TB
279 * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup.
280 * symbol.c (free_components): Free proc-pointer components.
281
76c1a7ec
TB
2822013-03-01 Tobias Burnus <burnus@net-b.de>
283
284 * trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
285 * trans-io.c (build_dt): Ditto.
286
f4aef5ac
JM
2872013-02-24 Joseph Myers <joseph@codesourcery.com>
288
289 * resolve.c (generate_component_assignments): Don't use UTF-8
290 ligature in diagnostic.
291
84b286d0
JW
2922013-02-21 Janus Weil <janus@gcc.gnu.org>
293
294 PR fortran/56385
295 * trans-array.c (structure_alloc_comps): Handle procedure-pointer
296 components with allocatable result.
297
6082753e 2982013-02-21 Tobias Burnus <burnus@net-b.de>
58edd811
TB
299
300 PR fortran/56416
301 * gfortran.texi (Part II: Language Reference, Extensions,
302 Non-Fortran Main Program): Sort @menu to match actual section order.
303 * intrinsic.texi (Intrinsic Procedures): Ditto.
304 (C_F_POINTER, PRECISION): Move to the alphabetically correct place.
305
711db0a6
TB
3062013-02-15 Tobias Burnus <burnus@net-b.de>
307 Mikael Morin <mikael@gcc.gnu.org>
308
309 PR fortran/56318
310 * simplify.c (gfc_simplify_matmul): Fix result shape
311 and matmul result.
312
fab99ea2
TB
3132013-02-15 Tobias Burnus <burnus@net-b.de>
314
315 PR fortran/53818
316 * resolve.c (apply_default_init_local): Don't create an
317 initializer for a result variable.
318
308f961b
TK
3192013-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
320
321 PR fortran/56224
322 * gfortran.h (gfc_add_include_path): Add boolean argument
323 for warn.
324 * scanner.c (gfc_add_include_path): Pass along warn argument
325 to add_path_to_list.
326 * options.c (gfc_post_options): Add true warn argument to
327 gfc_add_include_path.
328 (gfc_handle_module_path_options): Likewise.
329 (gfc_handle_option): Also gfc_add_include_path for intrinsic
330 modules, without warning.
331
431e4685
TB
3322013-02-14 Paul Thomas <pault@gcc.gnu.org>
333 Tobias Burnus <burnus@net-b.de>
334
335 PR testsuite/56138
336 * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
337 results for functions without extra result variable.
338
339 Revert:
340 2013-01-30 Tobias Burnus <burnus@net-b.de>
341
342 PR fortran/56138
343 * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
344 results for functions without extra result variable.
345
fdb1fa9e
JW
3462013-02-12 Janus Weil <janus@gcc.gnu.org>
347
348 PR fortran/46952
349 * resolve.c (resolve_call): Do not check deferred procedures for
350 recursiveness.
351
52880d11
PT
3522013-02-09 Paul Thomas <pault@gcc.gnu.org>
353
354 PR fortran/55362
355 * check.c (array_check): It is an error if a procedure is
356 passed.
357
3434c119
MM
3582013-02-08 Mikael Morin <mikael@gcc.gnu.org>
359
360 PR fortran/54107
361 * trans-types.c (gfc_get_function_type): Change a NULL backend_decl
362 to error_mark_node on entry. Detect recursive types. Build a variadic
363 procedure type if the type is recursive. Restore the initial
364 backend_decl.
365
3e508131
TB
3662013-02-07 Tobias Burnus <burnus@net-b.de>
367
52880d11 368 PR fortran/54339
3e508131
TB
369 * gfortran.texi (Standards): Mention TS29113.
370 (Varying Length Character): Mention deferred-length
371 strings.
372 (Fortran 2003 Status): Add unlimited polymorphic.
373 (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
374 (C Interop): Update the section about TS29113.
375
d0c4e310
PT
3762013-02-06 Paul Thomas <pault@gcc.gnu.org>
377
378 PR fortran/55789
379 * trans-array.c (trans_array_constructor): Remove condition
380 'dynamic' = true if the loop ubound is a VAR_DECL.
381
16e24756
PT
3822013-02-04 Paul Thomas <pault@gcc.gnu.org>
383
384 PR fortran/56008
385 PR fortran/47517
386 * trans-array.c (gfc_alloc_allocatable_for_assignment): Save
387 the lhs descriptor before it is modified for reallocation. Use
388 it to deallocate allocatable components in the reallocation
389 block. Nullify allocatable components for newly (re)allocated
390 arrays.
391
49c8d79b
MM
3922013-02-04 Mikael Morin <mikael@gcc.gnu.org>
393
394 PR fortran/54195
395 * resolve.c (resolve_typebound_procedures): Recurse through
396 resolve_symbol.
397
4af8d042
MM
3982013-02-04 Mikael Morin <mikael@gcc.gnu.org>
399
400 PR fortran/54107
401 PR fortran/54195
402 * gfortran.h (struct gfc_symbol): New field 'resolved'.
403 * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols.
404 (resolve_symbol): Skip duplicate calls. Don't check the current
405 namespace.
406
0cab6b73
TK
4072013-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
408
409 PR fortran/50627
410 PR fortran/56054
411 * decl.c (gfc_match_end): Remove half-ready namespace
412 from parent if the end of a block is missing.
413 * parse.c (parse_module): Do not put namespace into
414 gsymbol on error.
415
4af8d042 4162013-01-30 Tobias Burnus <burnus@net-b.de>
e18547a1
TB
417
418 PR fortran/56138
419 * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
420 results for functions without extra result variable.
421
4cbc9039 4222013-01-29 Janus Weil <janus@gcc.gnu.org>
3c08e9c5 423 Mikael Morin <mikael@gcc.gnu.org>
4cbc9039
JW
424
425 PR fortran/54107
426 * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'.
427 (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols,
428 gfc_expr_replace_comp): Delete.
429 (gfc_sym_get_dummy_args): New prototype.
430 * dependency.c (gfc_check_fncall_dependency): Use
431 'gfc_sym_get_dummy_args'.
432 * expr.c (gfc_is_constant_expr): Ditto.
433 (replace_symbol,gfc_expr_replace_symbols,replace_comp,
434 gfc_expr_replace_comp): Deleted.
435 * frontend-passes.c (doloop_code,do_function): Use
436 'gfc_sym_get_dummy_args'.
437 * interface.c (gfc_check_operator_interface,gfc_compare_interfaces,
438 gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol,
439 gfc_check_typebound_override): Ditto.
440 * module.c (MOD_VERSION): Bump module version.
441 (mio_component): Do not read/write 'formal' and 'formal_ns'.
442 * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not
443 copy formal args, but just keep a pointer to the interface.
444 (resolve_function,resolve_call,resolve_typebound_generic_call,
445 resolve_ppc_call,resolve_expr_ppc,generate_component_assignments,
446 resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity,
447 resolve_typebound_procedure,check_uop_procedure): Use
448 'gfc_sym_get_dummy_args'.
449 * symbol.c (free_components): Do not free 'formal' and 'formal_ns'.
450 (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted.
451 (gfc_sym_get_dummy_args): New function.
452 * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args):
453 Use 'gfc_sym_get_dummy_args'.
454 * trans-decl.c (build_function_decl,create_function_arglist,
455 build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars,
456 add_argument_checking): Ditto.
457 * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call,
458 gfc_conv_statement_function): Ditto.
459 * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
460 * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto.
461
dd8b9dde
TB
4622013-01-28 Tobias Burnus <burnus@net-b.de>
463 Mikael Morin <mikael@gcc.gnu.org>
464
465 PR fortran/53537
466 * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
467 interface block.
468 (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
469 * decl.c (gfc_match_data_decl): Ditto.
470 (variable_decl): Remove undeclared type error.
471 (gfc_match_import): Use renamed instead of original name.
472
aa271860
PT
4732013-01-27 Paul Thomas <pault@gcc.gnu.org>
474
ca322749 475 PR fortran/55984
aa271860
PT
476 PR fortran/56047
477 * gfortran.h : Add associate_var to symbol_attr.
478 * resolve.c (resolve_assoc_var): Set associate_var attribute.
479 If the target class_ok is set, set it for the associate
480 variable.
481 * check.c (allocatable_check): Associate variables should not
482 have the allocatable attribute even if their symbols do.
483 * class.c (gfc_build_class_symbol): Symbols with associate_var
484 set will always have a good class container.
485
ad3e2ad2
JW
4862013-01-23 Janus Weil <janus@gcc.gnu.org>
487
488 PR fortran/56081
489 * resolve.c (resolve_select): Add argument 'select_type', reject
490 non-scalar expressions.
491 (resolve_select_type,resolve_code): Pass new argument to
492 'resolve_select'.
493
b3996898
JJ
4942013-01-23 Jakub Jelinek <jakub@redhat.com>
495
496 PR fortran/56052
497 * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
498 and DECL_IGNORED_P on select_type_temporary and don't set
499 DECL_BY_REFERENCE.
500
bfc16654
TK
5012013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org>
502
503 PR fortran/55919
a70418fc
JJ
504 * scanner.c (add_path_to_list): Copy path to temporary and strip
505 trailing directory separators before calling stat().
bfc16654 506
c5e7e996
RB
5072013-01-17 Richard Biener <rguenther@suse.de>
508
509 * trans-stmt.c (gfc_trans_do): Conditionally compute countm1
510 dependent on sign of step, avoids repeated evaluation of
511 step sign test. Avoid undefined overflow issues by using unsigned
512 arithmetic.
513
9b940c6d
JW
5142013-01-16 Janus Weil <janus@gcc.gnu.org>
515
516 PR fortran/55983
517 * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
518 asserting it.
519
f34dea03
JJ
5202013-01-16 Jakub Jelinek <jakub@redhat.com>
521 Tobias Burnus <burnus@net-b.de>
522
523 PR driver/55884
524 * lang.opt (fintrinsic-modules-path): Don't accept Joined.
525 (fintrinsic-modules-path=): New.
526 * options.c (gfc_handle_option, gfc_get_option_string,
527 gfc_get_option_string): Handle the latter.
528
8c01de7f
JJ
5292013-01-16 Jakub Jelinek <jakub@redhat.com>
530
531 PR fortran/52865
532 * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
533 and use value of countm1 before the decrement in the condition.
534
feb6eab0
PT
5352013-01-15 Paul Thomas <pault@gcc.gnu.org>
536
537 PR fortran/54286
538 * expr.c (gfc_check_pointer_assign): Check for presence of
539 's2' before using it.
540
e81e4b43
TK
5412013-01-14 Thomas Koenig <tkoenig@gcc.gnu.org>
542
543 PR fortran/55806
544 * frontend-passes.c (optimize_reduction): New function,
545 including prototype.
546 (callback_reduction): Likewise.
547 (gfc_run_passes): Also run optimize_reduction.
548 (copy_walk_reduction_arg): New function.
549 (dummy_code_callback): New function.
550
9d60be38
JJ
5512013-01-13 Jakub Jelinek <jakub@redhat.com>
552
553 PR fortran/55935
554 * trans-expr.c (gfc_conv_structure): Call
555 unshare_expr_without_location on the ctor elements.
556
899d52c6
PT
5572013-01-13 Paul Thomas <pault@gcc.gnu.org>
558
559 PR fortran/54286
560 * expr.c (gfc_check_pointer_assign): Ensure that both lvalue
561 and rvalue interfaces are presented to gfc_compare_interfaces.
562 Simplify references to interface names by using the symbols
563 themselves. Call gfc_compare_interfaces with s1 and s2 inter-
564 changed to overcome the asymmetry of this function. Do not
565 repeat the check for the presence of s1 and s2.
566
ea73447a
JW
5672013-01-12 Janus Weil <janus@gcc.gnu.org>
568
569 PR fortran/55072
570 * trans-array.c (gfc_conv_array_parameter): No packing was done for
571 full arrays of derived type.
572
f5acf0f2
PT
5732013-01-08 Paul Thomas <pault@gcc.gnu.org>
574
575 PR fortran/55868
576 * class.c (get_unique_type_string): Change $tar to STAR and
577 replace sprintf by strcpy where there is no formatting.
578 * decl.c (gfc_match_decl_type_spec): Change $tar to STAR.
579
ba29dca9
MM
5802013-01-09 Mikael Morin <mikael@gcc.gnu.org>
581
582 PR fortran/47203
583 * module.c (check_for_ambiguous): Get the current program unit using
584 gfc_current_ns.
585
d0841b5b
TB
5862013-01-09 Tobias Burnus <burnus@net-b.de>
587
588 PR fortran/55758
589 * resolve.c (resolve_symbol): Reject non-C_Bool logicals
590 in BIND(C) procedures with -std=f*.
591
ec947dd3
PT
5922013-01-08 Paul Thomas <pault@gcc.gnu.org>
593
594 PR fortran/55618
595 * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
596 character function arguments to elemental procedures in
597 scalarization loops.
598
e35e87dc
TB
5992013-01-07 Tobias Burnus <burnus@net-b.de>
600
601 PR fortran/55763
602 * gfortran.h (gfc_check_assign_symbol): Update prototype.
603 * decl.c (add_init_expr_to_sym, do_parm): Update call.
604 * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
605 improve error location; support components.
606 (gfc_check_pointer_assign): Handle component assignments.
607 * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
608 (resolve_values): Update call.
609 (resolve_structure_cons): Avoid double diagnostic.
610
6838c137
TB
6112013-01-07 Tobias Burnus <burnus@net-b.de>
612 Thomas Koenig <tkoenig@gcc.gnu.org>
613
614 PR fortran/55852
615 * expr.c (gfc_build_intrinsic_call): Avoid clashes
616 with user's procedures.
617 * gfortran.h (gfc_build_intrinsic_call): Update prototype.
618 * simplify.c (gfc_simplify_size): Update call.
619 * class.c (finalization_scalarizer, finalization_get_offset,
620 finalizer_insert_packed_call, generate_finalization_wrapper):
621 Clean up by using gfc_build_intrinsic_call.
622
4af8d042 6232013-01-07 Tobias Burnus <burnus@net-b.de>
55d8631b
TB
624
625 PR fortran/55763
626 * resolve.c (resolve_select_type): Reject intrinsic types for
627 a non-unlimited-polymorphic selector.
628
f04986a9
PT
6292013-01-06 Paul Thomas <pault@gcc.gnu.org>
630
02a1cc65
PT
631 PR fortran/53876
632 PR fortran/54990
633 PR fortran/54992
f04986a9
PT
634 * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
635 to see if it is GFC_CLASS_TYPE_P.
636 * trans-expr.c (gfc_get_vptr_from_expr): The same.
637 (gfc_conv_class_to_class): If the types are not the same,
638 cast parmese->expr to the type of ctree.
639 * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
640 CLASS components must be set.
641
d932cea8
MM
6422013-01-06 Mikael Morin <mikael@gcc.gnu.org>
643
644 PR fortran/42769
645 PR fortran/45836
646 PR fortran/45900
647 * module.c (read_module): Don't reuse local symtree if the associated
648 symbol isn't exactly the one wanted. Don't reuse local symtree if it is
649 ambiguous.
650 * resolve.c (resolve_call): Use symtree's name instead of symbol's to
651 lookup the symtree.
652
d00be3a3
SK
6532013-01-05 Steven G. Kargl <kargl@gcc.gnu.org>
654 Mikael Morin <mikael@gcc.gnu.org>
655
1742d2b2 656 PR fortran/55827
d00be3a3
SK
657 * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
658 e->symtree == NULL.
659 * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
660
9e04287b
TB
6612013-01-05 Tobias Burnus <burnus@net-b.de>
662
663 * class.c (finalize_component): Used passed offset expr.
664 (finalization_get_offset): New static function.
665 (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
666 to handle noncontiguous arrays.
667
429cb994
TB
6682013-01-04 Tobias Burnus <burnus@net-b.de>
669
670 * trans.c (gfc_build_final_call): New function.
671 * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
672 New function prototypes.
673 * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
674 conv_scalar_to_descriptor, removed static attribute.
675 (gfc_conv_procedure_call): Honor renaming.
676
0881224e
TB
6772013-01-04 Tobias Burnus <burnus@net-b.de>
678
679 * intrinsic.c (add_functions): New internal intrinsic
680 function GFC_PREFIX ("stride").
681 * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
682 * intrinsic.h (gfc_resolve_stride): New prototypes.
683 * iresolve.c (gfc_resolve_stride): New function.
684 * trans-intrinsic.c (conv_intrinsic_stride): New static
685 function.
686 (gfc_conv_intrinsic_function): Use it.
687
94241120
TB
6882013-01-04 Tobias Burnus <burnus@net-b.de>
689
690 * class.c (gfc_find_intrinsic_vtab): Add _final
691 component.
0881224e
TB
692 * decl.c (gfc_match_null): Remove superfluous
693 variadic argument to gfc_match.
94241120 694
e4821cd8
PT
6952013-01-04 Paul Thomas <pault@gcc.gnu.org>
696
697 PR fortran/55172
698 * match.c (copy_ts_from_selector_to_associate): Remove call to
699 gfc_resolve_expr and replace it with explicit setting of the
700 array reference type.
701 * resolve.c (resolve_select_type): It is an error if the
702 selector is coindexed.
703
576f6da6
TB
7042013-01-04 Tobias Burnus <burnus@net-b.de>
705
706 PR fortran/55763
707 * decl.c (gfc_match_null): Parse and reject MOLD.
708
15115f7a
TB
7092013-01-04 Tobias Burnus <burnus@net-b.de>
710
711 PR fortran/55854
712 PR fortran/55763
713 * class.c (gfc_class_null_initializer): Fix finding the vtab.
714 (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
715
8988cde6
JW
7162013-01-03 Janus Weil <janus@gcc.gnu.org>
717
718 PR fortran/55855
719 * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
720 of rvalue. Correct hyphenation in error message.
721
df8e2b4f
JJ
7222013-01-03 Jakub Jelinek <jakub@redhat.com>
723
724 * gfortranspec.c (lang_specific_driver): Update copyright notice
725 dates.
ad41bd84 726\f
86a2db33 727Copyright (C) 2013 Free Software Foundation, Inc.
ad41bd84
JM
728
729Copying and distribution of this file, with or without modification,
730are permitted in any medium without royalty provided the copyright
731notice and this notice are preserved.