re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
[gcc.git] / gcc / fortran / ChangeLog
1 2011-03-27 Tobias Burnus <burnus@net-b.de>
2
3 PR fortran/18918
4 * gfortran.h (gfc_isym_id): Rename GFC_ISYM_NUMIMAGES to
5 GFC_ISYM_NUM_IMAGES.
6 (gfc_fcoarray): Add GFC_FCOARRAY_LIB.
7 * intrinsic.c (add_functions): Update due to GFC_ISYM_NUM_IMAGES
8 rename.
9 * invoke.texi (-fcoarray=): Document "lib" argument.
10 * iresolve.c (gfc_resolve_this_image): Fix THIS IMAGE().
11 * libgfortran.h (libgfortran_stat_codes): Add comments.
12 * options.c (gfc_handle_coarray_option): Add -fcoarray=lib.
13 * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
14 Handle GFC_FCOARRAY_LIB.
15 * trans.h (gfc_init_coarray_decl): New prototype.
16 (gfor_fndecl_caf_init, gfor_fndecl_caf_finalize,
17 gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical,
18 gfor_fndecl_caf_sync_all, gfor_fndecl_caf_sync_images,
19 gfor_fndecl_caf_error_stop, gfor_fndecl_caf_error_stop_str,
20 gfort_gvar_caf_num_images, gfort_gvar_caf_this_image):
21 New global variables.
22 * trans-decl.c: Declare several CAF functions (cf. above).
23 (gfc_build_builtin_function_decls): Initialize those.
24 (gfc_init_coarray_decl): New function.
25 (create_main_function): Call CAF init/finalize functions.
26 * trans-intrinsic.c (trans_this_image, trans_num_images): New.
27 (gfc_conv_intrinsic_function): Call those.
28 * trans-stmt.c (gfc_trans_stop, gfc_trans_sync, gfc_trans_critical):
29 Add code for GFC_FCOARRAY_LIB.
30
31 2011-03-26 Janus Weil <janus@gcc.gnu.org>
32
33 PR fortran/48291
34 * class.c (get_unique_hashed_string): Adjust maximum allowable length
35 for unique type string.
36
37 2011-03-25 Kai Tietz <ktietz@redhat.com>
38
39 * scanner.c (preprocessor_line): Use filename_cmp
40 instead of strcmp.
41
42 2011-03-25 Tobias Burnus <burnus@net-b.de>
43
44 PR fortran/48174
45 PR fortran/45304
46 * trans-types.c (gfc_get_function_type): Don't use varargs if the
47 procedure is known to have no arguments.
48
49 2010-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
50
51 PR fortran/22572
52 * gfortran.h (gfc_option_t) : Add
53 flag_aggressive_function_elimination.
54 (gfc_dep_compare_functions): Add prototype.
55 * lang.opt: Add faggressive-function-elimination.
56 * invoke.texi: Document -faggressive-function-elimination.
57 * frontend_passes (expr_array): New static variable.
58 (expr_size): Likewise.
59 (expr_count): Likewise.
60 (current_code): Likewise.
61 (current_ns): Likewise.
62 (gfc_run_passes): Allocate and free space for expressions.
63 (cfe_register_funcs): New function.
64 (create_var): New function.
65 (cfc_expr_0): New function.
66 (cfe_code): New function.
67 (optimize_namespace): Invoke gfc_code_walker with cfe_code
68 and cfe_expr_0.
69 * dependency.c (gfc_dep_compare_functions): New function.
70 (gfc_dep_compare_expr): Use it.
71 * options.c (gfc_init_options): Handle
72 flag_aggressive_function_elimination.
73 (gfc_handle_option): Likewise.
74
75 2011-03-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
76
77 * arith.c (arith_power): Plug memory leak.
78
79 2011-03-12 Janus Weil <janus@gcc.gnu.org>
80
81 PR fortran/48059
82 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
83 for polymorphic arguments.
84
85 2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
86
87 PR fortran/48054
88 * intrinsic.texi: Clarify doc of logarithm functions.
89
90 2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
91
92 PR fortran/47552
93 * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
94 the string length variable.
95
96 2011-03-11 Janus Weil <janus@gcc.gnu.org>
97
98 PR fortran/47768
99 * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.
100 (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.
101
102 2011-03-06 Paul Thomas <pault@gcc.gnu.org>
103 Jerry DeLisle <jvdelisle@gcc.gnu.org>
104
105 PR fortran/47850
106 * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if
107 the expression has an iterator. Otherwise, iterate through the
108 array, checking for constant expressions for each element.
109
110 2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
111
112 PR libfortran/47802
113 * intrinsic.texi: Update CTIME and FDATE documentation.
114
115 2011-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
116
117 * invoke.texi (Option Summary, Fortran Dialect Options)
118 (Preprocessing Options, Runtime Options, Code Gen Options):
119 Fix vertical list spacing by using @itemx for additinoal
120 items, empty line before @table. Fix typos.
121
122 2011-02-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
123
124 PR fortran/47894
125 * intrinsic.texi: Fix doc of the VERIFY intrinsic.
126
127 2011-02-26 Tobias Burnus <burnus@net-b.de>
128
129 PR fortran/47846
130 * trans-stmt.c (gfc_trans_allocate): Fix allocation with
131 type-spec of deferred-length strings.
132
133 2011-02-26 Tobias Burnus <burnus@net-b.de>
134
135 PR fortran/47886
136 * openmp.c (gfc_resolve_omp_directive): Resolve if()
137 condition of OpenMP's task.
138
139 2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
140
141 PR fortran/47894
142 * intrinsic.texi: Fix doc of the VERIFY intrinsic.
143
144 2011-02-24 Tobias Burnus <burnus@net-b.de>
145
146 PR fortran/47872
147 * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add
148 multitable for linebreak between different syntax variants.
149
150 2011-02-24 Richard Guenther <rguenther@suse.de>
151
152 PR fortran/47839
153 * f95-lang.c (pushdecl): For externs in non-global scope push
154 a copy of the decl into the BLOCK.
155
156 2011-02-23 Mikael Morin <mikael@gcc.gnu.org>
157
158 PR fortran/40850
159 * trans.c (gfc_prepend_expr_to_block): New function.
160 * trans.h (gfc_prepend_expr_to_block): Declare.
161 * trans-array.c (gfc_conv_array_parameter): Replace
162 gfc_add_expr_to_block with gfc_prepend_expr_to_block.
163
164 2011-02-22 Paul Thomas <pault@gcc.gnu.org>
165
166 PR fortran/45743
167 * trans-decl.c (gfc_get_extern_function_decl): Don't use the
168 gsymbol backend_decl if the procedure has a formal argument
169 that is a procedure.
170
171 2011-02-22 Tobias Burnus <burnus@net-b.de>
172
173 PR fortran/41359
174 * trans-stmt.c (gfc_trans_if_1): Use correct line for
175 expressions in the if condition.
176
177 2011-02-20 Tobias Burnus <burnus@net-b.de>
178
179 PR fortran/47797
180 * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and
181 gfc_restore_backend_locus to have better debug locations.
182 * trans-array.c (gfc_trans_deferred_array): Ditto.
183
184 2011-02-20 Paul Thomas <pault@gcc.gnu.org>
185
186 PR fortran/45077
187 PR fortran/44945
188 * trans-types.c (gfc_get_derived_type): Remove code that looks
189 for decls in gsym and add call to gfc_get_module_backend_decl.
190 * trans.h : Add prototype for gfc_get_module_backend_decl.
191 * trans-decl.c (gfc_get_module_backend_decl): New function.
192 (gfc_get_symbol_decl): Call it.
193
194 2011-02-19 Paul Thomas <pault@gcc.gnu.org>
195
196 PR fortran/47348
197 * trans-array.c (get_array_ctor_all_strlen): Move up in file.
198 (get_array_ctor_var_strlen): Add block dummy and add call to
199 get_array_ctor_all_strlen instead of giving up on substrings.
200 Call gcc_unreachable for default case.
201 (get_array_ctor_strlen): Add extra argument to in call to
202 get_array_ctor_var_strlen.
203
204 2011-02-18 Janus Weil <janus@gcc.gnu.org>
205
206 PR fortran/47789
207 * primary.c (gfc_match_structure_constructor): Handle empty parent
208 types.
209
210 2011-02-18 Tobias Burnus
211
212 PR fortran/47775
213 * trans-expr.c (arrayfunc_assign_needs_temporary): Use
214 esym to check whether the specific procedure returns an
215 allocatable or pointer.
216
217 2011-02-18 Michael Matz <matz@suse.de>
218
219 PR fortran/45586
220 * gfortran.h (struct gfc_component): Add norestrict_decl member.
221 * trans.h (struct lang_type): Add nonrestricted_type member.
222 * trans-expr.c (gfc_conv_component_ref): Search fields with correct
223 parent type.
224 * trans-types.c (mirror_fields, gfc_nonrestricted_type): New.
225 (gfc_sym_type): Use it.
226
227 2011-02-18 Janus Weil <janus@gcc.gnu.org>
228
229 PR fortran/47768
230 * resolve.c (resolve_transfer): Reject variables with procedure pointer
231 components.
232
233 2011-02-18 Janus Weil <janus@gcc.gnu.org>
234
235 PR fortran/47767
236 * gfortran.h (gfc_check_access): Removed prototype.
237 (gfc_check_symbol_access): Added prototype.
238 * module.c (gfc_check_access): Renamed to 'check_access', made static.
239 (gfc_check_symbol_access): New function, basically a shortcut for
240 'check_access'.
241 (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use
242 'gfc_check_symbol_access'.
243 (write_operator,write_module): Renamed 'gfc_check_access'.
244 * resolve.c (resolve_fl_procedure,resolve_fl_derived,
245 resolve_fl_namelist,resolve_symbol,resolve_fntype): Use
246 'gfc_check_symbol_access'.
247
248 2011-02-16 Janus Weil <janus@gcc.gnu.org>
249
250 PR fortran/47745
251 * class.c (gfc_build_class_symbol): Set 'class_ok' attribute.
252 * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into
253 'gfc_build_class_symbol'.
254 (gfc_match_decl_type_spec): Reject unlimited polymorphism.
255 * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
256 * match.c (select_type_set_tmp): Move setting of 'class_ok' into
257 'gfc_build_class_symbol'.
258 * primary.c (gfc_variable_attr): Check for 'class_ok' attribute.
259
260 2011-02-15 Steven G. Kargl <kargl@gcc.gnu.org>
261
262 PR fortran/47633
263 . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.
264
265 2011-02-14 Janus Weil <janus@gcc.gnu.org>
266
267 PR fortran/47730
268 * parse.c (gfc_build_block_ns): Commit 'block@' symbol.
269
270 2011-02-14 Janus Weil <janus@gcc.gnu.org>
271
272 PR fortran/47728
273 * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic
274 arrays.
275 * primary.c (gfc_match_varspec): Avoid ICE for invalid class
276 declaration.
277
278 2011-02-14 Janus Weil <janus@gcc.gnu.org>
279
280 PR fortran/47349
281 * interface.c (get_expr_storage_size): Handle derived-type components.
282
283 2011-02-13 Tobias Burnus <burnus@net-b.de>
284
285 PR fortran/47569
286 * interface.c (compare_parameter): Avoid ICE with
287 character components.
288
289 2011-02-12 Janus Weil <janus@gcc.gnu.org>
290
291 * class.c (gfc_build_class_symbol): Reject polymorphic arrays.
292 * decl.c (build_sym,build_struct,attr_decl1): Use return value of
293 'gfc_build_class_symbol'.
294
295 2011-02-12 Michael Matz <matz@suse.de>
296 Janus Weil <janus@gcc.gnu.org>
297 Tobias Burnus <burnus@net-b.de>
298
299 PR fortran/45586
300 * trans-expr.c (conv_parent_component_references): Avoid unintendent
301 skipping of parent compounds.
302
303 2011-02-11 Tobias Burnus <burnus@net-b.de>
304
305 PR fortran/47550
306 * resolve.c (resolve_formal_arglist): PURE with VALUE
307 and no INTENT: Add -std= diagnostics.
308
309 2011-02-09 Janus Weil <janus@gcc.gnu.org>
310
311 PR fortran/47352
312 * resolve.c (resolve_procedure_interface): If interface has a result
313 variable, copy the typespec and set result pointer to self.
314
315 2011-02-09 Janus Weil <janus@gcc.gnu.org>
316
317 PR fortran/47463
318 * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
319
320 2011-02-09 Janus Weil <janus@gcc.gnu.org>
321
322 PR fortran/47637
323 * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
324
325 2011-02-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
326
327 * io.c (match_io_element): Do not set dt if not inquire.
328
329 2011-02-08 Janus Weil <janus@gcc.gnu.org>
330
331 PR fortran/45290
332 * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
333 initialization target.
334
335 2011-02-07 Janne Blomqvist <jb@gcc.gnu.org>
336 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
337
338 * gfortran.texi (Thread-safety): texinfo styling fixes.
339 * intrinsic.texi: Likewise.
340
341 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
342
343 * gfortran.texi (Compiler Characteristics): Add reference to
344 thread-safety section.
345
346 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
347
348 * gfortran.texi (Thread-safety): New section.
349 * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
350 (GETENV): Likewise.
351 (GET_ENVIRONMENT_VARIABLE): Likewise.
352 (SYSTEM): Likewise.
353
354 2011-02-06 Paul Thomas <pault@gcc.gnu.org>
355
356 PR fortran/47592
357 * trans-stmt.c (gfc_trans_allocate): For deferred character
358 length allocations with SOURCE, store to the values and string
359 length to avoid calculating twice. Replace gfc_start_block
360 with gfc_init_block to avoid unnecessary contexts and to keep
361 declarations of temporaries where they should be. Tidy up the
362 code a bit.
363
364 2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
365
366 PR fortran/42434
367 * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
368
369 2011-02-02 Janus Weil <janus@gcc.gnu.org>
370 Paul Thomas <pault@gcc.gnu.org>
371
372 PR fortran/47082
373 * trans-expr.c (gfc_trans_class_init_assign): Add call to
374 gfc_get_derived_type.
375 * module.c (read_cleanup): Do not use unique_symtrees for vtabs
376 or vtypes.
377
378 2011-02-02 Janus Weil <janus@gcc.gnu.org>
379
380 PR fortran/47572
381 * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
382
383 2011-02-01 Janus Weil <janus@gcc.gnu.org>
384
385 PR fortran/47565
386 * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
387 pointer components with allocatable result.
388
389 2011-01-31 Janus Weil <janus@gcc.gnu.org>
390
391 PR fortran/47455
392 * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
393 with pointer or allocatable result.
394
395 2011-01-31 Paul Thomas <pault@gcc.gnu.org>
396
397 PR fortran/47519
398 * trans-stmt.c (gfc_trans_allocate): Improve handling of
399 deferred character lengths with SOURCE.
400 * iresolve.c (gfc_resolve_repeat): Calculate character
401 length from source length and ncopies.
402 * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
403 expressions for ALLOCATE.
404
405 2011-01-31 Janus Weil <janus@gcc.gnu.org>
406
407 PR fortran/47463
408 * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
409 an argument of a typebound assignment being a component.
410
411 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
412
413 * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
414 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
415
416 2011-01-31 Tobias Burnus <burnus@net-b.de>
417
418 PR fortran/47042
419 * resolve.c (resolve_fl_procedure): Reject stmt functions
420 with pointer/allocatable attribute.
421
422 2011-01-31 Tobias Burnus <burnus@net-b.de>
423
424 PR fortran/47042
425 * interface.c (gfc_procedure_use): Add explicit interface check for
426 pointer/allocatable functions.
427
428 2011-01-30 Paul Thomas <pault@gcc.gnu.org>
429
430 PR fortran/47523
431 * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
432 expr and is assigned to a deferred character length scalar,
433 make sure that the function is called before reallocation,
434 so that the length is available. Include procedure pointer
435 and procedure pointer component rhs as well.
436
437 PR fortran/45170
438 PR fortran/35810
439 PR fortran/47350
440 * gfortran.dg/allocatable_function_5.f90: New test not added by
441 mistake on 2011-01-28.
442
443 2011-01-29 Tobias Burnus <burnus@net-b.de>
444
445 PR fortran/47531
446 * check.c (gfc_check_shape): Support kind argument in SHAPE.
447 * intrinsic.c (add_functions): Ditto.
448 * resolve.c (gfc_resolve_shape): Ditto.
449 * simplify.c (gfc_simplify_shape): Ditto.
450 * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
451 gfc_simplify_shape): Update prototypes.
452 * intrinisc.text (SHAPE): Document kind argument.
453
454 2011-01-28 Tobias Burnus <burnus@net-b.de>
455
456 PR fortran/47507
457 * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
458 attribute also without INTENT.
459
460 2011-01-28 Tobias Burnus <burnus@net-b.de>
461
462 * gfortran.texi (Fortran 2003 status): Mention support for
463 nonconstant namelist variables.
464
465 2011-01-28 Paul Thomas <pault@gcc.gnu.org>
466 Tobias Burnus <burnus@gcc.gnu.org>
467
468 PR fortran/45170
469 PR fortran/35810
470 PR fortran/47350
471 * interface.c (compare_actual_formal): An allocatable or pointer
472 deferred length actual is only allowed if the formal argument
473 is also deferred length. Clean up whitespace.
474 * trans-expr.c (gfc_conv_procedure_call): Pass string length for
475 deferred character length formal arguments by reference. Do the
476 same for function results.
477 (gfc_trans_pointer_assignment): Do not do runtime check of lhs
478 and rhs character lengths, if deferred length lhs. In this case
479 set the lhs character length to that of the rhs.
480 (gfc_conv_string_parameter): Remove assert that string length is
481 an integer type.
482 (is_scalar_reallocatable_lhs): New function.
483 (alloc_scalar_allocatable_for_assignment): New function.
484 (gfc_trans_assignment_1): Call above new function. If the rhs is
485 a deferred character length itself, makes ure that the function
486 is called before reallocation, so that the length is available.
487 (gfc_trans_asssignment): Remove error about assignment to
488 deferred length character variables.
489 * gfortran.texi : Update entry about (re)allocation on
490 assignment.
491 * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
492 length character variables.
493 * module.c (mio_typespec): Transfer deferred characteristic.
494 * trans-types.c (gfc_get_function_type): New code to generate
495 hidden typelist, so that those character lengths that are
496 passed by reference get the right type.
497 * resolve.c (resolve_contained_fntype): Supress error for
498 deferred character length functions.
499 (resolve_function, resolve_fl_procedure) The same.
500 (check_symbols): Remove the error that support for
501 entity with deferred type parameter is not yet implemented.
502 (resolve_fl_derived): The same.
503 match.c (alloc_opt_list): Allow MOLD for deferred length object.
504 * trans-decl.c (gfc_get_symbol_decl): For deferred character
505 length dummies, generate a local variable for string length.
506 (create_function_arglist): Hidden length can be a pointer.
507 (gfc_trans_deferred_vars): For deferred character length
508 results and dummies, assign the string length to the local
509 variable from the hidden argument on entry and the other way
510 round on exit, as appropriate.
511
512 2011-01-27 Tobias Burnus <burnus@net-b.de>
513
514 PR fortran/47474
515 * trans-decl.c (gfc_generate_function_code): Fix init
516 of allocatable result variable with allocatable components.
517
518 2011-01-27 Tobias Burnus <burnus@net-b.de>
519
520 PR fortran/47472
521 * options.c (gfc_handle_module_path_options): Save
522 module path without trailing slash as include path.
523
524 2011-01-25 Tobias Burnus <burnus@net-b.de>
525
526 PR fortran/47448
527 * interface.c (gfc_check_operator_interface): Fix
528 defined-assignment check.
529
530 2011-01-23 Tobias Burnus <burnus@net-b.de>
531
532 PR fortran/47421
533 * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
534 scalar allocatable dummy arguments.
535
536 2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
537
538 PR fortran/38536
539 * resolve.c (gfc_iso_c_func_interface): For C_LOC,
540 check for array sections followed by component references
541 which are illegal. Also check for coindexed arguments.
542
543 2011-01-22 Tobias Burnus <burnus@net-b.de>
544
545 PR fortran/47399
546 * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
547 PARAMETER TBP.
548
549 2011-01-21 Tobias Burnus <burnus@net-b.de>
550
551 PR fortran/47394
552 * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
553 Use defined instead of magic number exit status codes.
554 * scanner.c (include_line, gfc_new_file): Ditto.
555
556 2011-01-21 Tobias Burnus <burnus@net-b.de>
557
558 PR fortran/47377
559 * expr.c (gfc_check_pointer_assign): Reject expr data-targets
560 without pointer attribute.
561
562 2011-01-18 Janus Weil <janus@gcc.gnu.org>
563
564 PR fortran/47240
565 * resolve.c (expression_rank): Fix rank of procedure poiner components.
566 * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
567 pointer components as actual arguments.
568
569 2011-01-17 Jakub Jelinek <jakub@redhat.com>
570
571 PR fortran/47331
572 * gfortran.h (struct gfc_omp_saved_state): New type.
573 (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
574 * resolve.c (resolve_global_procedure): Call it around gfc_resolve
575 call.
576 * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
577 functions.
578
579 2011-01-17 Tobias Burnus <burnus@net-b.de>
580
581 PR fortran/47327
582 * invoke.texi (Options to request or suppress errors
583 and warnings): Fix cross link.
584
585 2011-01-15 Tobias Burnus <burnus@net-b.de>
586
587 * gfortran.texi: Update Fortran 2003 Status section.
588
589 PR fortran/47177
590 * invoke.texi: Add missing "-E" to the -dM example.
591
592 2011-01-13 Tobias Burnus <burnus@net-b.de>
593
594 PR fortran/47268
595 * intrinsic.texi (get_command_argument, get_environment_variable):
596 Mark arguments as optional in the Arguments section.
597
598 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
599 Tobias Burnus <burnus@net-b.de>
600
601 PR fortran/47260
602 * trans-decl.c (gfc_get_extern_function_decl,
603 build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
604 calling decl_attributes.
605
606 2011-01-13 Tobias Burnus <burnus@net-b.de>
607 Mikael Morin <mikael@gcc.gnu.org>
608
609 PR fortran/45848
610 PR fortran/47204
611 * gfortran.h (gfc_code): Move union ext's case_list into
612 the struct block.
613 * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
614 by "block.".
615 * frontend-passes.c (gfc_code_walker): Ditto.
616 * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
617 gfc_match_type_is, gfc_match_class_is): Ditto.
618 * resolve.c (resolve_select, resolve_select_type): Ditto.
619 * st.c (gfc_free_statement): Ditto.
620 * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
621 gfc_trans_character_select): Ditto.
622 * parse.c (resolve_all_program_units): For error recovery, avoid
623 segfault is proc_name is NULL.
624
625 2011-01-11 Paul Thomas <pault@gcc.gnu.org>
626
627 PR fortran/47051
628 * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
629 to be standard compliant by testing for shape rather than size
630 before skipping reallocation. Improve comments.
631
632 2011-01-09 Janus Weil <janus@gcc.gnu.org>
633
634 PR fortran/47224
635 * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
636 of code.
637
638 2011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
639
640 PR fortran/38536
641 * resolve.c (is_scalar_expr_ptr): For a substring reference,
642 use gfc_dep_compare_expr to compare start and end expession.
643 Add FIXME for using gfc_deb_compare_expr elsewhere.
644
645 2011-01-09 Janus Weil <janus@gcc.gnu.org>
646
647 PR fortran/46313
648 * class.c (get_unique_type_string): Make type name start with upper
649 case letter.
650
651 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
652
653 PR fortran/46405
654 * invoke.texi: Mention -ffree-line-length-none and
655 -ffixed-line-length-none for preprocessing.
656
657 2011-01-08 Paul Thomas <pault@gcc.gnu.org>
658
659 PR fortran/46896
660 * trans-expr.c (gfc_conv_procedure_call): With a non-copying
661 procedure argument (eg TRANSPOSE) use a temporary if there is
662 any chance of aliasing due to host or use association.
663 (arrayfunc_assign_needs_temporary): Correct logic for function
664 results and do not use a temporary for implicitly PURE
665 variables. Use a temporary for Cray pointees.
666 * symbol.c (gfc_add_save): Explicit SAVE not compatible with
667 implicit pureness of containing procedure.
668 * decl.c (match_old_style_init, gfc_match_data): Where decl
669 would fail in PURE procedure, set implicit_pure to zero.
670 * gfortran.h : Add implicit_pure to structure symbol_attr and
671 add prototype for function gfc_implicit_pure.
672 * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
673 Where decl would fail in PURE procedure, reset implicit_pure.
674 * io.c (match_vtag, gfc_match_open, gfc_match_close,
675 gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
676 * match.c (gfc_match_critical, gfc_match_stopcode,
677 sync_statement, gfc_match_allocate, gfc_match_deallocate): The
678 same.
679 * parse.c (decode_omp_directive): The same.
680 (parse_contained): If not PURE, set implicit pure attribute.
681 * resolve.c (resolve_formal_arglist, resolve_structure_cons,
682 resolve_function, resolve_ordinary_assign) : The same.
683 (gfc_implicit_pure): New function.
684 * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
685 to ab_attribute enum and use it in this function.
686
687 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
688
689 PR fortran/45777
690 * symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix,
691 make static and move in front of its only caller, to ...
692 * trans-array.c (symbols_could_alias): ... here.
693 Pass information about pointer and target status as
694 arguments. Allocatable arrays don't alias anything
695 unless they have the POINTER attribute.
696 (gfc_could_be_alias): Keep track of pointer and target
697 status when following references. Also check if typespecs
698 of components match those of other components or symbols.
699
700 2011-01-07 Tobias Burnus <burnus@net-b.de>
701
702 PR fortran/41580
703 * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
704 * intrinsic.c (add_functions): Use simplify functions for
705 EXTENDS_TYPE_OF and SAME_TYPE_AS.
706 * intrinsic.h (gfc_simplify_extends_type_of,
707 gfc_simplify_same_type_as): New prototypes.
708 * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
709 gfc_simplify_same_type_as): New functions.
710
711 2011-01-07 Janus Weil <janus@gcc.gnu.org>
712
713 PR fortran/47189
714 PR fortran/47194
715 * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
716 * class.c (gfc_class_null_initializer): Initialize _vptr to declared
717 type.
718 * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
719 * resolve.c (resolve_deallocate_expr): _data component will be added
720 at translation stage.
721 * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
722 * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
723
724 2011-01-06 Daniel Franke <franke.daniel@gmail.com>
725
726 PR fortran/33117
727 PR fortran/46478
728 * parse.c (parse_interface): Remove check for procedure types.
729 * interface.c (check_interface0): Verify that procedures are
730 either all SUBROUTINEs or all FUNCTIONs.
731
732 2011-01-05 Janus Weil <janus@gcc.gnu.org>
733
734 PR fortran/47180
735 * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
736 'vtab' is initialized).
737
738 2011-01-05 Janus Weil <janus@gcc.gnu.org>
739
740 PR fortran/47180
741 * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
742 assignment, set the _vptr component to the declared type.
743
744 2011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
745
746 PR fortran/46017
747 * resolve.c (resolve_allocate_deallocate): Follow references to
748 check for duplicate occurence of allocation/deallocation objects.
749
750 2011-01-05 Janus Weil <janus@gcc.gnu.org>
751
752 PR fortran/47024
753 * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
754 of polymorphic allocatables according to their declared type.
755
756 2011-01-04 Janus Weil <janus@gcc.gnu.org>
757
758 PR fortran/46448
759 * class.c (gfc_find_derived_vtab): Set the module field for the copying
760 routine to make sure it receives module name mangling.
761
762 2011-01-03 Jakub Jelinek <jakub@redhat.com>
763
764 * gfortranspec.c (lang_specific_driver): Update copyright notice
765 dates.
766
767 2011-01-03 Janus Weil <janus@gcc.gnu.org>
768
769 * intrinsic.texi (LEADZ): Fix example.
770
771 2011-01-02 Janus Weil <janus@gcc.gnu.org>
772
773 PR fortran/46408
774 * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
775 routine.
776
777 \f
778 Copyright (C) 2011 Free Software Foundation, Inc.
779
780 Copying and distribution of this file, with or without modification,
781 are permitted in any medium without royalty provided the copyright
782 notice and this notice are preserved.