re PR fortran/57553 ([F08] Valid use of STORAGE_SIZE rejected, bad error message...
[gcc.git] / gcc / fortran / ChangeLog
1 2013-06-08 Tobias Burnus <burnus@net-b.de>
2
3 PR fortran/57553
4 * simplify.c (gfc_simplify_storage_size): Handle literal
5 strings.
6 * trans-intrinsic.c (gfc_conv_intrinsic_storage_size):
7 Add missing fold_convert.
8
9 2013-06-07 Tobias Burnus <burnus@net-b.de>
10
11 PR fortran/57549
12 * array.c (gfc_match_array_constructor): Call
13 gfc_match_type_spec instead of gfc_match_decl_type_spec.
14 * match.c (gfc_match_type_spec): Renamed from match_type_spec.
15 (gfc_match_type_is, gfc_match_allocate): Update call.
16 * match.h (gfc_match_type_spec): Add prototype.
17
18 2013-06-07 Tobias Burnus <burnus@net-b.de>
19
20 PR fortran/57556
21 * trans.c (gfc_build_final_call): Init block before use.
22
23 2013-06-06 Tobias Burnus <burnus@net-b.de>
24
25 PR fortran/57542
26 * trans.c (gfc_build_final_call): Add se.pre to the block
27 and modify the assert.
28
29 2013-06-04 Tobias Burnus <burnus@net-b.de>
30
31 PR fortran/37336
32 * trans.h (gfc_build_final_call): Remove prototype.
33 (gfc_add_finalizer_call): Add prototype.
34 * trans-array.c (gfc_trans_dealloc_allocated): Support finalization.
35 (structure_alloc_comps): Update caller.
36 (gfc_trans_deferred_array): Call finalizer.
37 * trans-array.h (gfc_trans_dealloc_allocated): Update prototype.
38 * trans-decl.c (gfc_trans_deferred_vars): Don't deallocate/finalize
39 variables of the main program.
40 * trans-expr.c (gfc_conv_procedure_call): Support finalization.
41 * trans-openmp.c (gfc_omp_clause_dtor,
42 gfc_trans_omp_array_reduction): Update calls.
43 * trans-stmt.c (gfc_trans_deallocate): Avoid double deallocation
44 of alloc components.
45 * trans.c (gfc_add_finalizer_call): New function.
46 (gfc_deallocate_with_status,
47 gfc_deallocate_scalar_with_status): Call it
48 (gfc_build_final_call): Fix handling of scalar coarrays,
49 move up in the file and make static.
50
51 2013-06-01 Janus Weil <janus@gcc.gnu.org>
52 Mikael Morin <mikael@gcc.gnu.org>
53
54 * error.c (get_terminal_width): Only limit the width if we're
55 outputting to a terminal. Try to determine width via ioctl.
56
57 2013-06-01 Tobias Burnus <burnus@net-b.de>
58
59 * decl.c (add_global_entry): Take locus.
60 (gfc_match_entry): Update call.
61 (gfc_match_end): Better error location.
62 * parse.c (parse_block_data, parse_module, add_global_procedure,
63 add_global_program): Use better locus data.
64
65 2013-05-31 Tobias Burnus <burnus@net-b.de>
66
67 PR fortran/57456
68 * trans-array.c (gfc_array_init_size): Use passed type spec,
69 when available.
70 (gfc_array_allocate): Pass typespec on.
71 * trans-array.h (gfc_array_allocate): Update prototype.
72 * trans-stmt.c (gfc_trans_allocate): Pass typespec on.
73
74 2013-05-31 Janus Weil <janus@gcc.gnu.org>
75
76 PR fortran/54190
77 PR fortran/57217
78 * gfortran.h (gfc_terminal_width): Remove prototype.
79 * error.c (get_terminal_width): Moved here from misc.c. Renamed.
80 Try to determine terminal width from environment variable.
81 * interface.c (compare_type, compare_rank): New functions. Fix assumed
82 type/rank handling.
83 (compare_type_rank, check_dummy_characteristics,
84 check_result_characteristics, gfc_compare_interfaces): Use them.
85 (symbol_rank): Slightly modified and moved.
86 * misc.c (gfc_terminal_width): Moved to error.c.
87
88 2013-05-30 Janus Weil <janus@gcc.gnu.org>
89
90 PR fortran/54189
91 * resolve.c (check_assumed_size_reference): Check for e->ref.
92
93 2013-05-30 Tobias Burnus <burnus@net-b.de>
94
95 PR fortran/57458
96 * interface.c (compare_parameter): Update C1239/C1240 constraint
97 check for assumed-rank/TS29113.
98
99 2013-05-29 Tobias Burnus <burnus@net-b.de>
100
101 PR fortran/37336
102 * class.c (finalize_component): Fix coarray array refs.
103 (generate_finalization_wrapper): Only gfc_convert_type_warn
104 when the kind value is different.
105 (gfc_find_intrinsic_vtab): _copy's dst is now intent(inout).
106 (gfc_find_derived_vtab): Ditto. Enable finalization-wrapper
107 generation.
108 * module.c (MOD_VERSION): Bump.
109 (gfc_dump_module, gfc_use_module): Remove empty line in .mod.
110 * trans-array.c (gfc_conv_descriptor_token): Accept nonrestricted
111 void pointer.
112 (gfc_array_allocate, structure_alloc_comps): Don't nullify for
113 BT_CLASS allocations.
114 * trans-stmt.c (gfc_trans_allocate): Ditto.
115
116 2013-05-29 Tobias Burnus <burnus@net-b.de>
117
118 PR fortran/37336
119 * resolve.c (gfc_resolve_finalizers): Remove not implemented error.
120
121 2013-05-28 Tobias Burnus <burnus@net-b.de>
122
123 * trans-expr.c (gfc_conv_procedure_call): Deallocate
124 polymorphic arrays for allocatable intent(out) dummies.
125 (gfc_reset_vptr): New function, moved from trans-stmt.c
126 and extended.
127 * trans-stmt.c (reset_vptr): Remove.
128 (gfc_trans_deallocate): Update calls.
129 * trans.h (gfc_reset_vptr): New prototype.
130
131 2013-05-28 Dominique d'Humieres <dominiq@lps.ens.fr>
132
133 PR fortran/57435
134 * module.c (check_for_ambiguous): Avoid null pointer deref.
135
136 2013-05-28 Janus Weil <janus@gcc.gnu.org>
137 Tobias Burnus <burnus@net-b.de>
138
139 PR fortran/57217
140 * interface.c (check_dummy_characteristics): Symmetrize type check.
141
142 2013-05-27 Bud Davis <jmdavis@link.com>
143
144 PR fortran/50405
145 * resolve.c (resolve_formal_arglist): Detect error when an argument
146 has the same name as the function.
147
148 2013-05-27 Tobias Burnus <burnus@net-b.de>
149
150 * expr.c (gfc_build_intrinsic_call): Make symbol as attr.artificial.
151 * intrinsic.c (gfc_is_intrinsic): Disable std check for those.
152
153 2013-05-22 Tobias Burnus <burnus@net-b.de>
154
155 * resolve.c (get_temp_from_expr): Change mangling to
156 start always with a _.
157
158 2013-05-22 Tobias Burnus <burnus@net-b.de>
159
160 * resolve.c (get_temp_from_expr): Fix temp var mangling.
161
162 2013-05-22 Tobias Burnus <burnus@net-b.de>
163
164 PR fortran/57364
165 * resolve.c (get_temp_from_expr): Commit created sym.
166
167 2013-05-22 Tobias Burnus <burnus@net-b.de>
168
169 PR fortran/57338
170 * intrinsic.c (do_check): Move some checks to ...
171 (do_ts29113_check): ... this new function.
172 (check_specific, gfc_intrinsic_sub_interface): Call it.
173
174 2013-05-22 Janne Blomqvist <jb@gcc.gnu.org>
175
176 * intrinsic.texi (RANDOM_SEED): Improve example.
177
178 2013-05-21 Tobias Burnus <burnus@net-b.de>
179
180 PR fortran/57035
181 * intrinsic.c (do_check): Add constraint check for
182 NO_ARG_CHECK, assumed rank and assumed type.
183 * gfortran.texi (NO_ARG_CHECK): Minor wording change,
184 allow PRESENT intrinsic.
185
186 2013-05-20 Tobias Burnus <burnus@net-b.de>
187
188 PR fortran/48858
189 PR fortran/55465
190 * decl.c (add_global_entry): Add sym_name.
191 * parse.c (add_global_procedure): Ditto.
192 * resolve.c (resolve_bind_c_derived_types): Handle multiple decl for
193 a procedure.
194 (resolve_global_procedure): Handle gsym->ns pointing to a module.
195 * trans-decl.c (gfc_get_extern_function_decl): Ditto.
196
197 2013-05-20 Tobias Burnus <burnus@net-b.de>
198
199 PR fortran/48858
200 * decl.c (add_global_entry): Use nonbinding name
201 only for F2003 or if no binding label exists.
202 (gfc_match_entry): Update calls.
203 * parse.c (gfc_global_used): Improve error message.
204 (add_global_procedure): Use nonbinding name
205 only for F2003 or if no binding label exists.
206 (gfc_parse_file): Update call.
207 * resolve.c (resolve_global_procedure): Use binding
208 name when available.
209 * trans-decl.c (gfc_get_extern_function_decl): Ditto.
210
211 2013-05-20 Tobias Burnus <burnus@net-b.de>
212
213 PR fortran/48858
214 * decl.c (gfc_match_bind_c_stmt): Add gfc_notify_std.
215 * match.c (gfc_match_common): Don't add commons to gsym.
216 * resolve.c (resolve_common_blocks): Add to gsym and
217 add checks.
218 (resolve_bind_c_comms): Remove.
219 (resolve_types): Remove call to the latter.
220 * trans-common.c (gfc_common_ns): Remove static var.
221 (gfc_map_of_all_commons): Add static var.
222 (build_common_decl): Correctly handle binding label.
223
224 2013-05-16 Jason Merrill <jason@redhat.com>
225
226 * Make-lang.in (f951$(exeext)): Use link mutex.
227
228 2013-05-05 Tobias Burnus <burnus@net-b.de>
229
230 * resolve.c (conformable_arrays): Avoid segfault
231 when ar.start[i] == NULL.
232
233 2013-05-05 Tobias Burnus <burnus@net-b.de>
234
235 PR fortran/57141
236 * decl.c (gfc_match_null): Permit use-associated
237 NULL intrinsic.
238
239 2013-05-04 Tobias Burnus <burnus@net-b.de>
240
241 * decl.c (gfc_verify_c_interop_param): Permit allocatable
242 and pointer with -std=f2008ts.
243
244 2013-05-02 Tobias Burnus <burnus@net-b.de>
245
246 PR fortran/57142
247 * simplify.c (gfc_simplify_size): Renamed from
248 simplify_size; fix kind=8 handling.
249 (gfc_simplify_size): New function.
250 (gfc_simplify_shape): Add range check.
251 * resolve.c (resolve_function): Fix handling
252 for ISYM_SIZE.
253
254 2013-05-01 Thomas Koenig <tkoenig@gcc.gnu.org>
255
256 * frontend-passes.c (optimize_power): Fix typo
257 in comment.
258
259 2013-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
260
261 PR fortran/57071
262 * frontend-passes.c (optimize_power): Simplify
263 1**k to 1.
264
265 2013-04-28 Tobias Burnus <burnus@net-b.de>
266
267 PR fortran/57114
268 * intrinsic.texi (RANK): Correct syntax description and
269 expected result.
270
271 2013-04-28 Tobias Burnus <burnus@net-b.de>
272
273 PR fortran/57093
274 * trans-types.c (gfc_get_element_type): Fix handling
275 of scalar coarrays of type character.
276 * intrinsic.texi (PACK): Add missing ")".
277
278 2013-04-28 Thomas Koenig <tkoenig@gcc.gnu.org>
279
280 PR fortran/57071
281 * frontend-passes (optimize_power): New function.
282 (optimize_op): Use it.
283
284 2013-04-25 Janne Blomqvist <jb@gcc.gnu.org>
285
286 PR bootstrap/57028
287 * Make-lang.in (f951): Link in ZLIB.
288 (CFLAGS-fortran/module.o): Add zlib include directory.
289
290 2013-04-22 Janus Weil <janus@gcc.gnu.org>
291
292 PR fortran/53685
293 PR fortran/57022
294 * check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE
295 expressions.
296 * simplify.c (gfc_simplify_sizeof,gfc_simplify_storage_size): Get rid
297 of special treatment for EXPR_ARRAY.
298 * target-memory.h (gfc_element_size): New prototype.
299 * target-memory.c (size_array): Remove.
300 (gfc_element_size): New function.
301 (gfc_target_expr_size): Modified to always return the full size of the
302 expression.
303
304 2013-04-20 Tobias Burnus <burnus@net-b.de>
305
306 PR fortran/56907
307 * trans-intrinsic.c (conv_isocbinding_function): Don't pack array
308 passed to C_LOC
309
310 2013-04-19 Thomas Koenig <tkoenig@gcc.gnu.org>
311 Mikael Morin <mikael@gcc.gnu.org>
312
313 PR fortran/56872
314 * frontend-passes.c (copy_walk_reduction_arg): Change argument type
315 to gfc_constructor. If it has an iterator, wrap the copy of its
316 expression in an array constructor with that iterator. Don't special
317 case function expressions.
318 (callback_reduction): Update caller. Don't return early if there is
319 an iterator.
320
321 2013-04-18 Tobias Burnus <burnus@net-b.de>
322
323 * expr.c (find_array_element): Don't copy expr.
324 * data.c (create_character_initializer): Free expr.
325 * frontend-passes.c (combine_array_constructor): Ditto.
326 * match.c (match_typebound_call, gfc_match_select_type): Ditto.
327 * resolve.c (resolve_typebound_function): Free gfc_ref.
328
329 2013-04-18 Tobias Burnus <burnus@net-b.de>
330
331 PR fortran/56994
332 * invoke.texi (NEAREST): S argument is not optional.
333
334 2013-04-17 Janus Weil <janus@gcc.gnu.org>
335
336 PR fortran/56814
337 * interface.c (check_result_characteristics): Get result from interface
338 if present.
339
340 2013-04-17 Janne Blomqvist <jb@gcc.gnu.org>
341
342 PR fortran/40958
343 * scanner.h: New file.
344 * Make-lang.in: Dependencies on scanner.h.
345 * scanner.c (gfc_directorylist): Move to scanner.h.
346 * module.c: Don't include md5.h, include scanner.h and zlib.h.
347 (MOD_VERSION): Add comment about backwards compatibility.
348 (module_fp): Change type to gzFile.
349 (ctx): Remove.
350 (gzopen_included_file_1): New function.
351 (gzopen_included_file): New function.
352 (gzopen_intrinsic_module): New function.
353 (write_char): Use gzputc.
354 (read_crc32_from_module_file): New function.
355 (read_md5_from_module_file): Remove.
356 (gfc_dump_module): Use gz* functions instead of stdio, check gzip
357 crc32 instead of md5.
358 (read_module_to_tmpbuf): Use gz* functions instead of stdio.
359 (gfc_use_module): Use gz* functions.
360
361 2013-04-16 Tobias Burnus <burnus@net-b.de>
362
363 PR fortran/39505
364 * decl.c (ext_attr_list): Add EXT_ATTR_NO_ARG_CHECK.
365 * gfortran.h (ext_attr_id_t): Ditto.
366 * gfortran.texi (GNU Fortran Compiler Directives):
367 Document it.
368 * interface.c (compare_type_rank): Ignore rank for NO_ARG_CHECK.
369 (compare_parameter): Ditto - and regard as unlimited polymorphic.
370 * resolve.c (resolve_symbol, resolve_variable): Add same constraint
371 checks as for TYPE(*); turn dummy to TYPE(*),dimension(*).
372 (gfc_explicit_interface_required): Require explicit interface
373 for NO_ARG_CHECK.
374
375 2013-04-16 Janus Weil <janus@gcc.gnu.org>
376
377 PR fortran/56968
378 * expr.c (gfc_check_pointer_assign): Handle generic functions returning
379 procedure pointers.
380
381 2013-04-16 Tobias Burnus <burnus@net-b.de>
382
383 PR fortran/56969
384 * intrinsic.c (gfc_intrinsic_func_interface): Don't set
385 module name to "(intrinsic)" for intrinsics from intrinsic
386 modules.
387
388 2013-04-15 Tobias Burnus <burnus@net-b.de>
389
390 * intrinsic.texi (SYSTEM_CLOCK): Recommend kind=8.
391
392 2013-04-15 Janne Blomqvist <jb@gcc.gnu.org>
393
394 PR fortran/56919
395 * intrinsics.texi (SYSTEM_CLOCK): Update documentation.
396
397 2013-04-15 Tobias Burnus <burnus@net-b.de>
398
399 * class.c (gfc_find_intrinsic_vtab): Removed unused var.
400 * dependency.c (check_data_pointer_types): Fix check.
401 * frontend-passes.c (check_data_pointer_types): Remove
402 superfluous statement.
403 * parse.c (decode_omp_directive): Add missing break.
404 * resolve.c (resolve_typebound_subroutine: Free variable.
405 * trans-decl.c (create_function_arglist): Correct condition.
406
407 2013-04-14 Mikael Morin <mikael@gcc.gnu.org>
408
409 PR fortran/56816
410 * match.c (gfc_match_select_type): Add syntax error. Move namespace
411 allocation and cleanup...
412 * parse.c (decode_statement): ... here.
413
414 2013-04-13 Janus Weil <janus@gcc.gnu.org>
415
416 PR fortran/55959
417 * expr.c (gfc_simplify_expr): Branch is not unreachable.
418
419 2013-04-12 Janus Weil <janus@gcc.gnu.org>
420
421 PR fortran/56266
422 * primary.c (gfc_match_varspec): Turn gcc_assert into MATCH_ERROR.
423
424 2013-04-12 Tobias Burnus <burnus@net-b.de>
425
426 PR fortran/56929
427 * trans-array.c (duplicate_allocatable): Fix handling
428 of scalar coarrays.
429
430 2013-04-12 Janus Weil <janus@gcc.gnu.org>
431
432 PR fortran/56261
433 * gfortran.h (gfc_explicit_interface_required): New prototype.
434 * expr.c (gfc_check_pointer_assign): Check if an explicit interface is
435 required in a proc-ptr assignment.
436 * interface.c (check_result_characteristics): Extra check.
437 * resolve.c (gfc_explicit_interface_required): New function.
438 (resolve_global_procedure): Use new function
439 'gfc_explicit_interface_required'. Do a full interface check.
440
441 2013-04-12 Tobias Burnus <burnus@net-b.de>
442
443 PR fortran/56845
444 * trans-decl.c (gfc_trans_deferred_vars): Restrict
445 static CLASS init to SAVE and -fno-automatic.
446
447 2013-04-12 Tobias Burnus <burnus@net-b.de>
448
449 PR fortran/56845
450 * trans-decl.c (gfc_trans_deferred_vars): Set _vptr for
451 allocatable static BT_CLASS.
452 * trans-expr.c (gfc_class_set_static_fields): New function.
453 * trans.h (gfc_class_set_static_fields): New prototype.
454
455 2013-04-11 Janne Blomqvist <jb@gcc.gnu.org>
456
457 * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
458 * arith.c: Replace gfc_try with bool type.
459 * array.c: Likewise.
460 * check.c: Likewise.
461 * class.c: Likewise.
462 * cpp.c: Likewise.
463 * cpp.h: Likewise.
464 * data.c: Likewise.
465 * data.h: Likewise.
466 * decl.c: Likewise.
467 * error.c: Likewise.
468 * expr.c: Likewise.
469 * f95-lang.c: Likewise.
470 * interface.c: Likewise.
471 * intrinsic.c: Likewise.
472 * intrinsic.h: Likewise.
473 * io.c: Likewise.
474 * match.c: Likewise.
475 * match.h: Likewise.
476 * module.c: Likewise.
477 * openmp.c: Likewise.
478 * parse.c: Likewise.
479 * parse.h: Likewise.
480 * primary.c: Likewise.
481 * resolve.c: Likewise.
482 * scanner.c: Likewise.
483 * simplify.c: Likewise.
484 * symbol.c: Likewise.
485 * trans-intrinsic.c: Likewise.
486 * trans-openmp.c: Likewise.
487 * trans-stmt.c: Likewise.
488 * trans-types.c: Likewise.
489
490 2013-04-09 Tobias Burnus <burnus@net-b.de>
491
492 * gfortran.texi (KIND Type Parameters,
493 Internal representation of LOGICAL variables): Add crossrefs.
494 (Intrinsic Types): Mention issues with _Bool interop.
495 (Naming and argument-passing conventions): New section.
496
497 2013-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
498
499 PR fortran/56782
500 * frontend-passes.c (callback_reduction): Dont't do
501 any simplification if there is only a single element
502 which has an iterator.
503
504 2013-04-07 Tobias Burnus <burnus@net-b.de>
505
506 PR fortran/56849
507 * iresolve.c (gfc_resolve_reshape): Set shape also
508 with order=.
509
510 2013-04-04 Janus Weil <janus@gcc.gnu.org>
511
512 PR fortran/40881
513 * match.c (gfc_match_return): Remove standard notification.
514 * primary.c (gfc_match_actual_arglist): Add standard notification.
515
516 2013-04-04 Tobias Burnus <burnus@net-b.de>
517
518 PR fortran/50269
519 * gcc/fortran/check.c (is_c_interoperable,
520 gfc_check_c_loc): Correct c_loc array checking
521 for Fortran 2003 and Fortran 2008.
522
523 2013-04-03 Janus Weil <janus@gcc.gnu.org>
524
525 PR fortran/56284
526 PR fortran/40881
527 * decl.c (gfc_match_formal_arglist): Warn about alternate-return
528 arguments.
529 * interface.c (check_dummy_characteristics): Return if symbols are NULL.
530
531 2013-04-01 Janus Weil <janus@gcc.gnu.org>
532
533 PR fortran/56500
534 * symbol.c (gfc_set_default_type): Build class container for
535 IMPLICIT CLASS.
536
537 2013-03-31 Tobias Burnus <burnus@net-b.de>
538
539 * class.c (finalization_scalarizer, finalizer_insert_packed_call,
540 generate_finalization_wrapper): Avoid segfault with absent SIZE=
541 argment to TRANSFER and use correct result kind for SIZE.
542 * intrinsic.c (gfc_isym_id_by_intmod): Also handle ids of
543 nonmodules.
544 * trans.c (gfc_build_final_call): Handle coarrays.
545
546 2013-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
547
548 * trans-expr.c (build_memcmp_call): New function.
549 (gfc_build_compare_string): If the strings
550 compared have constant and equal lengths and
551 the strings are kind=1, or, for kind=4 strings,
552 the test is for (in)equality, use memcmp().
553
554 2013-03-29 Tobias Burnus <burnus@net-b.de>
555
556 PR fortran/35203
557 * trans-decl.c (create_function_arglist): Pass hidden argument
558 for passed-by-value optional+value dummies.
559 * trans-expr.c (gfc_conv_expr_present,
560 gfc_conv_procedure_call): Handle those.
561
562 2013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
563
564 PR fortran/45159
565 * gfortran.h (gfc_dep_difference): Add prototype.
566 * dependency.c (discard_nops): New function.
567 (gfc_dep_difference): New function.
568 (check_section_vs_section): Use gfc_dep_difference
569 to calculate the difference of starting indices.
570 * trans-expr.c (gfc_conv_substring): Use
571 gfc_dep_difference to calculate the length of
572 substrings where possible.
573
574 2013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
575
576 PR fortran/55806
577 * frontend-passes.c (optimize_code): Keep track of
578 current code to make code insertion possible.
579 (combine_array_constructor): New function.
580 (optimize_op): Call it.
581
582 2013-03-27 Tobias Burnus <burnus@net-b.de>
583
584 PR fortran/56650
585 PR fortran/36437
586 * check.c (gfc_check_sizeof, gfc_check_c_sizeof,
587 gfc_check_storage_size): Update checks.
588 * intrinsic.texi (SIZEOF): Correct class.
589 * intrinsic.h (gfc_simplify_sizeof,
590 gfc_simplify_storage_size): New prototypes.
591 * intrinsic.c (add_functions): Use them.
592 * simplify.c (gfc_simplify_sizeof,
593 gfc_simplify_storage_size): New functions.
594
595 2013-03-27 Janne Blomqvist <jb@gcc.gnu.org>
596
597 PR fortran/25708
598 * module.c (module_locus): Use long for position.
599 (module_content): New variable.
600 (module_pos): Likewise.
601 (prev_character): Remove.
602 (bad_module): Free data instead of closing mod file.
603 (set_module_locus): Use module_pos.
604 (get_module_locus): Likewise.
605 (module_char): use buffer rather than stdio file.
606 (module_unget_char): Likewise.
607 (read_module_to_tmpbuf): New function.
608 (gfc_use_module): Call read_module_to_tmpbuf.
609
610 2013-03-26 Tobias Burnus <burnus@net-b.de>
611
612 PR fortran/56649
613 * simplify.c (gfc_simplify_merge): Simplify more.
614
615 2013-03-25 Tobias Burnus <burnus@net-b.de>
616
617 PR fortran/38536
618 PR fortran/38813
619 PR fortran/38894
620 PR fortran/39288
621 PR fortran/40963
622 PR fortran/45824
623 PR fortran/47023
624 PR fortran/47034
625 PR fortran/49023
626 PR fortran/50269
627 PR fortran/50612
628 PR fortran/52426
629 PR fortran/54263
630 PR fortran/55343
631 PR fortran/55444
632 PR fortran/55574
633 PR fortran/56079
634 PR fortran/56378
635 * check.c (gfc_var_strlen): Properly handle 0-sized string.
636 (gfc_check_c_sizeof): Use is_c_interoperable, add checks.
637 (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
638 gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
639 functions.
640 * expr.c (check_inquiry): Add c_sizeof, compiler_version and
641 compiler_options.
642 (gfc_check_pointer_assign): Refine function result check.
643 gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
644 GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
645 GFC_ISYM_C_LOC.
646 (iso_fortran_env_symbol, iso_c_binding_symbol): Handle
647 NAMED_SUBROUTINE.
648 (generate_isocbinding_symbol): Update prototype.
649 (get_iso_c_sym): Remove.
650 (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
651 * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
652 (gfc_intrinsic_sub_interface): Use it.
653 (add_functions, add_subroutines): Add missing C-binding intrinsics.
654 (gfc_intrinsic_func_interface): Add special case for c_loc.
655 gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
656 (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
657 * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
658 gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
659 gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
660 * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
661 functions.
662 * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
663 NAMED_FUNCTION.
664 * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
665 * module.c (create_intrinsic_function): Support subroutines and
666 derived-type results.
667 (use_iso_fortran_env_module): Update calls.
668 (import_iso_c_binding_module): Ditto; update calls to
669 generate_isocbinding_symbol.
670 * resolve.c (find_arglists): Skip for intrinsic symbols.
671 (gfc_resolve_intrinsic): Find intrinsic subs via id.
672 (is_scalar_expr_ptr, gfc_iso_c_func_interface,
673 set_name_and_label, gfc_iso_c_sub_interface): Remove.
674 (resolve_function, resolve_specific_s0): Remove calls to those.
675 (resolve_structure_cons): Fix handling.
676 * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
677 generation.
678 (gen_cptr_param, gen_fptr_param, gen_shape_param,
679 build_formal_args, get_iso_c_sym): Remove.
680 (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
681 (generate_isocbinding_symbol): Support hidden symbols and
682 using c_ptr/c_funptr symtrees for nullptr defs.
683 * target-memory.c (gfc_target_encode_expr): Fix handling
684 of c_ptr/c_funptr.
685 * trans-expr.c (conv_isocbinding_procedure): Remove.
686 (gfc_conv_procedure_call): Remove call to it.
687 (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
688 of c_ptr/c_funptr.
689 * trans-intrinsic.c (conv_isocbinding_function,
690 conv_isocbinding_subroutine): New.
691 (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
692 Call them.
693 * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
694 * trans-types.c (gfc_typenode_for_spec,
695 gfc_get_derived_type): Ditto.
696 (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.
697
698 2013-03-18 Tobias Burnus <burnus@net-b.de>
699
700 * gfortran.h (gfc_option_t): Remove flag_whole_file.
701 * invoke.texi (-fno-whole-file): Remove.
702 * lang.opt (fwhole-file): Change to Ignore.
703 * options.c (gfc_init_options, gfc_post_options,
704 gfc_handle_option): Remove !flag_whole_file handling
705 * parse.c (resolve_all_program_units, translate_all_program_units,
706 gfc_parse_file): Ditto.
707 * resolve.c (resolve_global_procedure): Ditto.
708 * trans-decl.c (gfc_get_symbol_decl, gfc_get_extern_function_decl,
709 gfc_create_module_variable): Ditto.
710 * trans-types.c (gfc_get_derived_type): Ditto.
711
712 2013-03-15 Tobias Burnus <burnus@net-b.de>
713
714 PR fortran/56615
715 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays
716 if they are not simply contiguous.
717
718 2013-03-11 Tobias Burnus <burnus@net-b.de>
719
720 * gfortran.texi (STRUCTURE and RECORD): State more clearly how
721 to convert them into derived types.
722
723 2013-03-10 Paul Thomas <pault@gcc.gnu.org>
724
725 PR fortran/56575
726 * expr.c (gfc_default_initializer): Check that a class declared
727 type has any components.
728 * resolve.c (resolve_fl_derived0): On failing the test for C437
729 set the type to BT_UNKNOWN to prevent repeat error messages.
730
731 2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
732
733 PR fortran/56477
734 * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference.
735
736 2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
737
738 PR fortran/54730
739 * array.c (gfc_match_array_constructor): Set a checkpoint before
740 matching a typespec. Drop it on success, restore it otherwise.
741
742 2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
743
744 PR fortran/54730
745 * gfortran.h (struct gfc_undo_change_set): New field 'previous'.
746 (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint,
747 gfc_restore_last_undo_checkpoint): New prototypes.
748 * symbol.c (default_undo_chgset_var): Update initialization.
749 (single_undo_checkpoint_p, gfc_new_undo_checkpoint,
750 free_undo_change_set_data, pop_undo_change_set,
751 gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint):
752 New functions.
753 (save_symbol_data): Handle multiple change sets. Make sure old_symbol
754 field's previous value is not overwritten. Clear gfc_new field.
755 (restore_old_symbol): Restore previous old_symbol field.
756 (gfc_restore_last_undo_checkpoint): New function, using body renamed
757 from gfc_undo_symbols. Restore the previous change set as current one.
758 (gfc_undo_symbols): New body.
759 (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state):
760 Call enforce_single_undo_checkpoint.
761 (gfc_symbol_done_2): Ditto. Free change set data.
762
763 2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
764
765 * symbol.c (restore_old_symbol): Fix thinko.
766
767 2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
768
769 * symbol.c (gfc_undo_symbols): Move code...
770 (restore_old_symbol): ... here as a new function.
771
772 2013-03-03 Mikael Morin <mikael@gcc.gnu.org>
773
774 * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h.
775 * gfortran.h: Include vec.h.
776 (gfc_undo_change_set): New struct.
777 * symbol.c (tentative_tbp): Remove struct.
778 (changed_syms, tentative_tbp_list): Remove variables.
779 (default_undo_chgset_var, latest_undo_chgset): New variables.
780 (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
781 gfc_commit_symbols, gfc_commit_symbol,
782 gfc_enforce_clean_symbol_state, gfc_get_typebound_proc):
783 Use latest_undo_chgset instead of changed_syms and tentative_tbp_list.
784
785 2013-03-01 Tobias Burnus <burnus@net-b.de>
786
787 PR fortran/56491
788 * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup.
789 * symbol.c (free_components): Free proc-pointer components.
790
791 2013-03-01 Tobias Burnus <burnus@net-b.de>
792
793 * trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
794 * trans-io.c (build_dt): Ditto.
795
796 2013-02-24 Joseph Myers <joseph@codesourcery.com>
797
798 * resolve.c (generate_component_assignments): Don't use UTF-8
799 ligature in diagnostic.
800
801 2013-02-21 Janus Weil <janus@gcc.gnu.org>
802
803 PR fortran/56385
804 * trans-array.c (structure_alloc_comps): Handle procedure-pointer
805 components with allocatable result.
806
807 2013-02-21 Tobias Burnus <burnus@net-b.de>
808
809 PR fortran/56416
810 * gfortran.texi (Part II: Language Reference, Extensions,
811 Non-Fortran Main Program): Sort @menu to match actual section order.
812 * intrinsic.texi (Intrinsic Procedures): Ditto.
813 (C_F_POINTER, PRECISION): Move to the alphabetically correct place.
814
815 2013-02-15 Tobias Burnus <burnus@net-b.de>
816 Mikael Morin <mikael@gcc.gnu.org>
817
818 PR fortran/56318
819 * simplify.c (gfc_simplify_matmul): Fix result shape
820 and matmul result.
821
822 2013-02-15 Tobias Burnus <burnus@net-b.de>
823
824 PR fortran/53818
825 * resolve.c (apply_default_init_local): Don't create an
826 initializer for a result variable.
827
828 2013-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
829
830 PR fortran/56224
831 * gfortran.h (gfc_add_include_path): Add boolean argument
832 for warn.
833 * scanner.c (gfc_add_include_path): Pass along warn argument
834 to add_path_to_list.
835 * options.c (gfc_post_options): Add true warn argument to
836 gfc_add_include_path.
837 (gfc_handle_module_path_options): Likewise.
838 (gfc_handle_option): Also gfc_add_include_path for intrinsic
839 modules, without warning.
840
841 2013-02-14 Paul Thomas <pault@gcc.gnu.org>
842 Tobias Burnus <burnus@net-b.de>
843
844 PR testsuite/56138
845 * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length
846 results for functions without extra result variable.
847
848 Revert:
849 2013-01-30 Tobias Burnus <burnus@net-b.de>
850
851 PR fortran/56138
852 * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
853 results for functions without extra result variable.
854
855 2013-02-12 Janus Weil <janus@gcc.gnu.org>
856
857 PR fortran/46952
858 * resolve.c (resolve_call): Do not check deferred procedures for
859 recursiveness.
860
861 2013-02-09 Paul Thomas <pault@gcc.gnu.org>
862
863 PR fortran/55362
864 * check.c (array_check): It is an error if a procedure is
865 passed.
866
867 2013-02-08 Mikael Morin <mikael@gcc.gnu.org>
868
869 PR fortran/54107
870 * trans-types.c (gfc_get_function_type): Change a NULL backend_decl
871 to error_mark_node on entry. Detect recursive types. Build a variadic
872 procedure type if the type is recursive. Restore the initial
873 backend_decl.
874
875 2013-02-07 Tobias Burnus <burnus@net-b.de>
876
877 PR fortran/54339
878 * gfortran.texi (Standards): Mention TS29113.
879 (Varying Length Character): Mention deferred-length
880 strings.
881 (Fortran 2003 Status): Add unlimited polymorphic.
882 (TS 29113 Status): Add TYPE(*) and DIMENSION(..).
883 (C Interop): Update the section about TS29113.
884
885 2013-02-06 Paul Thomas <pault@gcc.gnu.org>
886
887 PR fortran/55789
888 * trans-array.c (trans_array_constructor): Remove condition
889 'dynamic' = true if the loop ubound is a VAR_DECL.
890
891 2013-02-04 Paul Thomas <pault@gcc.gnu.org>
892
893 PR fortran/56008
894 PR fortran/47517
895 * trans-array.c (gfc_alloc_allocatable_for_assignment): Save
896 the lhs descriptor before it is modified for reallocation. Use
897 it to deallocate allocatable components in the reallocation
898 block. Nullify allocatable components for newly (re)allocated
899 arrays.
900
901 2013-02-04 Mikael Morin <mikael@gcc.gnu.org>
902
903 PR fortran/54195
904 * resolve.c (resolve_typebound_procedures): Recurse through
905 resolve_symbol.
906
907 2013-02-04 Mikael Morin <mikael@gcc.gnu.org>
908
909 PR fortran/54107
910 PR fortran/54195
911 * gfortran.h (struct gfc_symbol): New field 'resolved'.
912 * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols.
913 (resolve_symbol): Skip duplicate calls. Don't check the current
914 namespace.
915
916 2013-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
917
918 PR fortran/50627
919 PR fortran/56054
920 * decl.c (gfc_match_end): Remove half-ready namespace
921 from parent if the end of a block is missing.
922 * parse.c (parse_module): Do not put namespace into
923 gsymbol on error.
924
925 2013-01-30 Tobias Burnus <burnus@net-b.de>
926
927 PR fortran/56138
928 * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length
929 results for functions without extra result variable.
930
931 2013-01-29 Janus Weil <janus@gcc.gnu.org>
932 Mikael Morin <mikael@gcc.gnu.org>
933
934 PR fortran/54107
935 * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'.
936 (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols,
937 gfc_expr_replace_comp): Delete.
938 (gfc_sym_get_dummy_args): New prototype.
939 * dependency.c (gfc_check_fncall_dependency): Use
940 'gfc_sym_get_dummy_args'.
941 * expr.c (gfc_is_constant_expr): Ditto.
942 (replace_symbol,gfc_expr_replace_symbols,replace_comp,
943 gfc_expr_replace_comp): Deleted.
944 * frontend-passes.c (doloop_code,do_function): Use
945 'gfc_sym_get_dummy_args'.
946 * interface.c (gfc_check_operator_interface,gfc_compare_interfaces,
947 gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol,
948 gfc_check_typebound_override): Ditto.
949 * module.c (MOD_VERSION): Bump module version.
950 (mio_component): Do not read/write 'formal' and 'formal_ns'.
951 * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not
952 copy formal args, but just keep a pointer to the interface.
953 (resolve_function,resolve_call,resolve_typebound_generic_call,
954 resolve_ppc_call,resolve_expr_ppc,generate_component_assignments,
955 resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity,
956 resolve_typebound_procedure,check_uop_procedure): Use
957 'gfc_sym_get_dummy_args'.
958 * symbol.c (free_components): Do not free 'formal' and 'formal_ns'.
959 (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted.
960 (gfc_sym_get_dummy_args): New function.
961 * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args):
962 Use 'gfc_sym_get_dummy_args'.
963 * trans-decl.c (build_function_decl,create_function_arglist,
964 build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars,
965 add_argument_checking): Ditto.
966 * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call,
967 gfc_conv_statement_function): Ditto.
968 * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
969 * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto.
970
971 2013-01-28 Tobias Burnus <burnus@net-b.de>
972 Mikael Morin <mikael@gcc.gnu.org>
973
974 PR fortran/53537
975 * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an
976 interface block.
977 (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace.
978 * decl.c (gfc_match_data_decl): Ditto.
979 (variable_decl): Remove undeclared type error.
980 (gfc_match_import): Use renamed instead of original name.
981
982 2013-01-27 Paul Thomas <pault@gcc.gnu.org>
983
984 PR fortran/55984
985 PR fortran/56047
986 * gfortran.h : Add associate_var to symbol_attr.
987 * resolve.c (resolve_assoc_var): Set associate_var attribute.
988 If the target class_ok is set, set it for the associate
989 variable.
990 * check.c (allocatable_check): Associate variables should not
991 have the allocatable attribute even if their symbols do.
992 * class.c (gfc_build_class_symbol): Symbols with associate_var
993 set will always have a good class container.
994
995 2013-01-23 Janus Weil <janus@gcc.gnu.org>
996
997 PR fortran/56081
998 * resolve.c (resolve_select): Add argument 'select_type', reject
999 non-scalar expressions.
1000 (resolve_select_type,resolve_code): Pass new argument to
1001 'resolve_select'.
1002
1003 2013-01-23 Jakub Jelinek <jakub@redhat.com>
1004
1005 PR fortran/56052
1006 * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL
1007 and DECL_IGNORED_P on select_type_temporary and don't set
1008 DECL_BY_REFERENCE.
1009
1010 2013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org>
1011
1012 PR fortran/55919
1013 * scanner.c (add_path_to_list): Copy path to temporary and strip
1014 trailing directory separators before calling stat().
1015
1016 2013-01-17 Richard Biener <rguenther@suse.de>
1017
1018 * trans-stmt.c (gfc_trans_do): Conditionally compute countm1
1019 dependent on sign of step, avoids repeated evaluation of
1020 step sign test. Avoid undefined overflow issues by using unsigned
1021 arithmetic.
1022
1023 2013-01-16 Janus Weil <janus@gcc.gnu.org>
1024
1025 PR fortran/55983
1026 * class.c (find_typebound_proc_uop): Check for f2k_derived instead of
1027 asserting it.
1028
1029 2013-01-16 Jakub Jelinek <jakub@redhat.com>
1030 Tobias Burnus <burnus@net-b.de>
1031
1032 PR driver/55884
1033 * lang.opt (fintrinsic-modules-path): Don't accept Joined.
1034 (fintrinsic-modules-path=): New.
1035 * options.c (gfc_handle_option, gfc_get_option_string,
1036 gfc_get_option_string): Handle the latter.
1037
1038 2013-01-16 Jakub Jelinek <jakub@redhat.com>
1039
1040 PR fortran/52865
1041 * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional
1042 and use value of countm1 before the decrement in the condition.
1043
1044 2013-01-15 Paul Thomas <pault@gcc.gnu.org>
1045
1046 PR fortran/54286
1047 * expr.c (gfc_check_pointer_assign): Check for presence of
1048 's2' before using it.
1049
1050 2013-01-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1051
1052 PR fortran/55806
1053 * frontend-passes.c (optimize_reduction): New function,
1054 including prototype.
1055 (callback_reduction): Likewise.
1056 (gfc_run_passes): Also run optimize_reduction.
1057 (copy_walk_reduction_arg): New function.
1058 (dummy_code_callback): New function.
1059
1060 2013-01-13 Jakub Jelinek <jakub@redhat.com>
1061
1062 PR fortran/55935
1063 * trans-expr.c (gfc_conv_structure): Call
1064 unshare_expr_without_location on the ctor elements.
1065
1066 2013-01-13 Paul Thomas <pault@gcc.gnu.org>
1067
1068 PR fortran/54286
1069 * expr.c (gfc_check_pointer_assign): Ensure that both lvalue
1070 and rvalue interfaces are presented to gfc_compare_interfaces.
1071 Simplify references to interface names by using the symbols
1072 themselves. Call gfc_compare_interfaces with s1 and s2 inter-
1073 changed to overcome the asymmetry of this function. Do not
1074 repeat the check for the presence of s1 and s2.
1075
1076 2013-01-12 Janus Weil <janus@gcc.gnu.org>
1077
1078 PR fortran/55072
1079 * trans-array.c (gfc_conv_array_parameter): No packing was done for
1080 full arrays of derived type.
1081
1082 2013-01-08 Paul Thomas <pault@gcc.gnu.org>
1083
1084 PR fortran/55868
1085 * class.c (get_unique_type_string): Change $tar to STAR and
1086 replace sprintf by strcpy where there is no formatting.
1087 * decl.c (gfc_match_decl_type_spec): Change $tar to STAR.
1088
1089 2013-01-09 Mikael Morin <mikael@gcc.gnu.org>
1090
1091 PR fortran/47203
1092 * module.c (check_for_ambiguous): Get the current program unit using
1093 gfc_current_ns.
1094
1095 2013-01-09 Tobias Burnus <burnus@net-b.de>
1096
1097 PR fortran/55758
1098 * resolve.c (resolve_symbol): Reject non-C_Bool logicals
1099 in BIND(C) procedures with -std=f*.
1100
1101 2013-01-08 Paul Thomas <pault@gcc.gnu.org>
1102
1103 PR fortran/55618
1104 * trans-expr.c (gfc_conv_procedure_call): Dereference scalar
1105 character function arguments to elemental procedures in
1106 scalarization loops.
1107
1108 2013-01-07 Tobias Burnus <burnus@net-b.de>
1109
1110 PR fortran/55763
1111 * gfortran.h (gfc_check_assign_symbol): Update prototype.
1112 * decl.c (add_init_expr_to_sym, do_parm): Update call.
1113 * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and
1114 improve error location; support components.
1115 (gfc_check_pointer_assign): Handle component assignments.
1116 * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol.
1117 (resolve_values): Update call.
1118 (resolve_structure_cons): Avoid double diagnostic.
1119
1120 2013-01-07 Tobias Burnus <burnus@net-b.de>
1121 Thomas Koenig <tkoenig@gcc.gnu.org>
1122
1123 PR fortran/55852
1124 * expr.c (gfc_build_intrinsic_call): Avoid clashes
1125 with user's procedures.
1126 * gfortran.h (gfc_build_intrinsic_call): Update prototype.
1127 * simplify.c (gfc_simplify_size): Update call.
1128 * class.c (finalization_scalarizer, finalization_get_offset,
1129 finalizer_insert_packed_call, generate_finalization_wrapper):
1130 Clean up by using gfc_build_intrinsic_call.
1131
1132 2013-01-07 Tobias Burnus <burnus@net-b.de>
1133
1134 PR fortran/55763
1135 * resolve.c (resolve_select_type): Reject intrinsic types for
1136 a non-unlimited-polymorphic selector.
1137
1138 2013-01-06 Paul Thomas <pault@gcc.gnu.org>
1139
1140 PR fortran/53876
1141 PR fortran/54990
1142 PR fortran/54992
1143 * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
1144 to see if it is GFC_CLASS_TYPE_P.
1145 * trans-expr.c (gfc_get_vptr_from_expr): The same.
1146 (gfc_conv_class_to_class): If the types are not the same,
1147 cast parmese->expr to the type of ctree.
1148 * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
1149 CLASS components must be set.
1150
1151 2013-01-06 Mikael Morin <mikael@gcc.gnu.org>
1152
1153 PR fortran/42769
1154 PR fortran/45836
1155 PR fortran/45900
1156 * module.c (read_module): Don't reuse local symtree if the associated
1157 symbol isn't exactly the one wanted. Don't reuse local symtree if it is
1158 ambiguous.
1159 * resolve.c (resolve_call): Use symtree's name instead of symbol's to
1160 lookup the symtree.
1161
1162 2013-01-05 Steven G. Kargl <kargl@gcc.gnu.org>
1163 Mikael Morin <mikael@gcc.gnu.org>
1164
1165 PR fortran/55827
1166 * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
1167 e->symtree == NULL.
1168 * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
1169
1170 2013-01-05 Tobias Burnus <burnus@net-b.de>
1171
1172 * class.c (finalize_component): Used passed offset expr.
1173 (finalization_get_offset): New static function.
1174 (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
1175 to handle noncontiguous arrays.
1176
1177 2013-01-04 Tobias Burnus <burnus@net-b.de>
1178
1179 * trans.c (gfc_build_final_call): New function.
1180 * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
1181 New function prototypes.
1182 * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
1183 conv_scalar_to_descriptor, removed static attribute.
1184 (gfc_conv_procedure_call): Honor renaming.
1185
1186 2013-01-04 Tobias Burnus <burnus@net-b.de>
1187
1188 * intrinsic.c (add_functions): New internal intrinsic
1189 function GFC_PREFIX ("stride").
1190 * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
1191 * intrinsic.h (gfc_resolve_stride): New prototypes.
1192 * iresolve.c (gfc_resolve_stride): New function.
1193 * trans-intrinsic.c (conv_intrinsic_stride): New static
1194 function.
1195 (gfc_conv_intrinsic_function): Use it.
1196
1197 2013-01-04 Tobias Burnus <burnus@net-b.de>
1198
1199 * class.c (gfc_find_intrinsic_vtab): Add _final
1200 component.
1201 * decl.c (gfc_match_null): Remove superfluous
1202 variadic argument to gfc_match.
1203
1204 2013-01-04 Paul Thomas <pault@gcc.gnu.org>
1205
1206 PR fortran/55172
1207 * match.c (copy_ts_from_selector_to_associate): Remove call to
1208 gfc_resolve_expr and replace it with explicit setting of the
1209 array reference type.
1210 * resolve.c (resolve_select_type): It is an error if the
1211 selector is coindexed.
1212
1213 2013-01-04 Tobias Burnus <burnus@net-b.de>
1214
1215 PR fortran/55763
1216 * decl.c (gfc_match_null): Parse and reject MOLD.
1217
1218 2013-01-04 Tobias Burnus <burnus@net-b.de>
1219
1220 PR fortran/55854
1221 PR fortran/55763
1222 * class.c (gfc_class_null_initializer): Fix finding the vtab.
1223 (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
1224
1225 2013-01-03 Janus Weil <janus@gcc.gnu.org>
1226
1227 PR fortran/55855
1228 * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
1229 of rvalue. Correct hyphenation in error message.
1230
1231 2013-01-03 Jakub Jelinek <jakub@redhat.com>
1232
1233 * gfortranspec.c (lang_specific_driver): Update copyright notice
1234 dates.
1235 \f
1236 Copyright (C) 2013 Free Software Foundation, Inc.
1237
1238 Copying and distribution of this file, with or without modification,
1239 are permitted in any medium without royalty provided the copyright
1240 notice and this notice are preserved.