OSDN Git Service

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