Merged with gcc-4_4-branch@151281.
[official-gcc.git] / gcc / fortran / ChangeLog
blob2bb74ae1e8a27efcc5a6b493046a9708884c2985
1 2008-08-25  Paul Thomas  <pault@gcc.gnu.org>
3         PR fortran/41062
4         * trans-decl.c (gfc_trans_use_stmts):  Keep going through use
5         list if symbol is not use associated.
7 2009-08-16  Paul Thomas  <pault@gcc.gnu.org>
9         PR fortran/40847
10         * iresolve.c (gfc_resolve_transfer): Correct error in 'mold'
11         character length for case where length expresson is NULL.
13 2009-07-29  Tobias Burnus  <burnus@net-b.de>
15         PR fortran/40851
16         * resolve.c (resolve_symbol): Do not initialize pointer derived-types.
17         * trans-decl.c (init_intent_out_dt): Ditto.
18         (generate_local_decl): No need to set attr.referenced for DT pointers.
20 2009-07-28  Jakub Jelinek  <jakub@redhat.com>
22         PR fortran/40878
23         * openmp.c (gfc_match_omp_clauses): Use gfc_error_now instead of
24         gfc_error to diagnose invalid COLLAPSE arguments.
26 2009-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
28         PR fortran/40727
29         * fortran/check.c (gfc_check_cmplx, gfc_check_dcmplx): Add check that
30         the optional second argument isn't of COMPLEX type.
32 2009-07-22  Release Manager
34         * GCC 4.4.1 released.
36 2009-07-09  Paul Thomas  <pault@gcc.gnu.org>
38         PR fortran/40440
39         * trans-expr.c (gfc_conv_procedure_call): Do not deallocate
40         allocatable components if the argument is a pointer.
42 2009-07-05  Paul Thomas  <pault@gcc.gnu.org>
44         PR fortran/40551
45         * dependency.h : Add second bool* argument to prototype of
46         gfc_full_array_ref_p.
47         * dependency.c (gfc_full_array_ref_p): If second argument is
48         present, return true if last dimension of reference is an
49         element or has unity stride.
50         * trans-array.c : Add NULL second argument to references to
51         gfc_full_array_ref_p.
52         * trans-expr.c : The same, except for;
53         (gfc_trans_arrayfunc_assign): Return fail if lhs reference
54         is not a full array or a contiguous section.
56 2009-07-04  Jakub Jelinek  <jakub@redhat.com>
58         * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): For integer
59         maxloc initialize limit to -huge-1 rather than just -huge.
61 2009-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
63         PR fortran/40638
64         * trans-io.c (set_parameter_value): Don't build un-necessary run-time
65         checks for units of KIND less than 4.
67 2009-06-29  Paul Thomas  <pault@gcc.gnu.org>
69         PR fortran/40443
70         * interface.c (gfc_search_interface): Hold back a match to an
71         elementary procedure until all other possibilities are
72         exhausted.
74 2009-06-20  Paul Thomas  <pault@gcc.gnu.org>
76         PR fortran/39800
77         * resolve.c (is_sym_host_assoc): New function.
78         (resolve_fl_derived): Call it when checking PRIVATE components
79         of PUBLIC derived types.  Change gfc_error to a gfc_notify_std
80         with std=f2003.
81         (resolve_fl_namelist): Call it twice to check for host
82         association.
84 2009-06-20  Paul Thomas  <pault@gcc.gnu.org>
86         PR fortran/40402
87         * resolve.c (next_data_value): It is an error if the value is
88         not constant.
90 2009-06-14  Richard Guenther  <rguenther@suse.de>
92         Backport from mainline
93         2009-05-18  Richard Guenther  <rguenther@suse.de>
95         PR fortran/40168
96         * trans-expr.c (gfc_trans_zero_assign): For local array
97         destinations use an assignment from an empty constructor.
99 2009-06-04 Steven G. Kargl  <kargl@gcc.gnu.org>
101         PR fortran/39893
102         fortran/data.c (gfc_assign_data_value): If the lvalue is an 
103         assumed character length entity in a data statement, then 
104         return FAILURE to prevent segmentation fault.
106 2009-06-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
108         PR fortran/40019
109         * trans-types.c (gfc_build_uint_type): Make nonstatic.
110         * trans.h (gfor_fndecl_clz128, gfor_fndecl_ctz128): New prototypes.
111         * trans-types.h (gfc_build_uint_type): Add prototype.
112         * trans-decl.c (gfc_build_intrinsic_function_decls): Build
113         gfor_fndecl_clz128 and gfor_fndecl_ctz128.
114         * trans-intrinsic.c (gfc_conv_intrinsic_leadz,
115         gfc_conv_intrinsic_trailz): Call the right builtins or library
116         functions, and cast arguments to unsigned types first.
117         * simplify.c (gfc_simplify_leadz): Deal with negative arguments.
119 2009-05-22  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
121         PR fortran/40195
122         * module.c (read_md5_from_module_file): Close file before returning.
124 2009-05-10  Paul Thomas  <pault@gcc.gnu.org>
126         Backport from mainline:
127         PR fortran/40018
128         * trans-array.c (gfc_trans_array_constructor_value): Fold
129         convert numeric constants.
130         (gfc_build_constant_array_constructor): The same.
132 2009-05-10  Paul Thomas  <pault@gcc.gnu.org>
134         Backport from mainline:
135         PR fortran/38863
136         * trans-expr.c (gfc_conv_operator_assign): Remove function.
137         * trans.h : Remove prototype for gfc_conv_operator_assign.
138         * trans-stmt.c (gfc_conv_elemental_dependencies): Initialize
139         derivde types with intent(out).
140         (gfc_trans_call): Add mask, count1 and invert arguments. Add
141         code to use mask for WHERE assignments.
142         (gfc_trans_forall_1): Use new arguments for gfc_trans_call.
143         (gfc_trans_where_assign): The gfc_symbol argument is replaced
144         by the corresponding code. If this has a resolved_sym, then
145         gfc_trans_call is called. The call to gfc_conv_operator_assign
146         is removed.
147         (gfc_trans_where_2): Change the last argument in the call to
148         gfc_trans_where_assign.
149         * trans-stmt.h : Modify prototype for gfc_trans_call.
150         * trans.c (gfc_trans_code): Use new args for gfc_trans_call.
152 2009-05-10  Paul Thomas  <pault@gcc.gnu.org>
154         Backport from mainline:
155         PR fortran/39879
156         * trans_expr.c (gfc_conv_procedure_call): Deep copy a derived
157         type parentheses argument if it is a variable with allocatable
158         components.
160 2009-04-22  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
162         Backport from mainline:
163         2009-03-30  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
165         * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL
166         family of intrinsics instead of BUILT_IN_INF family.
167         * trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use
168         BUILT_IN_HUGE_VAL instead of BUILT_IN_INF.
170 2009-04-21  Release Manager
172         * GCC 4.4.0 released.
174 2009-04-08  Janus Weil  <janus@gcc.gnu.org>
176         PR fortran/38152
177         * trans-decl.c (gfc_get_symbol_decl): Correctly set decl location for
178         procedure pointer decls.
180 2009-04-04  Paul Thomas  <pault@gcc.gnu.org>
182         Backport from mainline:
183         PR fortran/39519
184         * parse.c (parse_derived): Do not break on finding pointer,
185         allocatable or private components.
187 2009-04-03  Tobias Burnus  <burnus@net-b.de>
189         PR fortran/39594
190         * resolve.c (resolve_common_vars): Add FL_VARIABLE to symbol
191         if it is not a procedure pointer.
192         * primary.c (match_actual_arg): Ditto.
194 2009-03-30  Jakub Jelinek  <jakub@redhat.com>
196         * trans-types.c (gfc_sym_type, gfc_return_by_reference): For
197         sym->attr.result check sym->ns->proc_name->attr.is_bind_c.
199 2009-03-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
201         * lang.opt: Unify help texts for -I, -Wconversion, -d, -fopenmp,
202         and -fpreprocessed.
204 2009-03-06  Alexandre Oliva <aoliva@redhat.com>
206         * simplify.c (gfc_simplify_transfer): Zero-initialize the
207         buffer.
209 2009-02-27  Tobias Burnus  <burnus@net-b.de>
211         PR fortran/39309
212         * module.c (read_md5_from_module_file): Add missing quote.
214 2009-02-27  Tobias Burnus  <burnus@net-b.de>
216         PR fortran/39309
217         * module.c (read_md5_from_module_file): Include mod version
218         in had-changed test.
220 2009-02-26  Paul Thomas  <pault@gcc.gnu.org>
222         PR fortran/39295
223         * interface.c (compare_type_rank_if): Return 1 if the symbols
224         are the same and deal with external procedures where one is
225         identified to be a function or subroutine by usage but the
226         other is not.
228 2009-02-26  Paul Thomas  <pault@gcc.gnu.org>
230         PR fortran/39292
231         * trans-array.c (gfc_conv_array_initializer): Convert all
232         expressions rather than ICEing.
234 2009-02-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
236         PR fortran/38914
237         * array.c (ref_dimen_size):  Rename to gfc_ref_dimen_size,
238         make global.  Change function name in error messages.
239         (ref_size):  Change ref_dimen_size to gfc_ref_dimen_size.
240         (gfc_array_ref_shape):  Likewise.
241         * gfortran.h:  Add prototype for gfc_ref_dimen_size.
242         * simplify.c (simplify_bound_dim):  Add ref argument.
243         If the reference isn't a full array, return one for
244         the lower bound and the extent for the upper bound.
245         (simplify_bound):  For array sections, take as from the
246         argument.  Add reference to all to simplify_bound_dim.
248 2009-02-19  Daniel Franke  <franke.daniel@gmail.com>
250         * scanner.c (load_line): At end of line, skip '\r' without setting
251         the truncation flag.
253 2009-02-18  Daniel Kraft  <d@domob.eu>
255         * gfortran.texi: New chapter about compiler characteristics.
256         (Compiler Characteristics): Document KIND type parameters here.
258 2009-02-18  Tobias Burnus  <burnus@net-b.de>
260         * intrinsic.texi (MALLOC): Make example more portable.
262 2009-02-13  Mikael Morin  <mikael.morin@tele2.fr>
264         PR fortran/38259
265         * module.c (gfc_dump_module,gfc_use_module): Add module
266         version number.
268 2009-02-13  Paul Thomas  <pault@gcc.gnu.org>
270         PR fortran/36703
271         PR fortran/36528
272         * trans-expr.c (gfc_conv_function_val): Stabilize Cray-pointer
273         function references to ensure that a valid expression is used.
274         (gfc_conv_function_call): Pass Cray pointers to procedures.
276 2009-02-03  Jakub Jelinek  <jakub@redhat.com>
278         * gfortranspec.c (lang_specific_driver): Update copyright notice
279         dates.
281 2009-01-28  Paul Thomas  <pault@gcc.gnu.org>
283         PR fortran/38852
284         PR fortran/39006
285         * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use the array
286         descriptor ubound for UBOUND, when the array lbound == 1.
288 2009-01-27  Daniel Kraft  <d@domob.eu>
290         PR fortran/38883
291         * trans-stmt.c (gfc_conv_elemental_dependencies):  Create temporary
292         for the real type needed to make it work for subcomponent-references.
294 2009-01-21  Daniel Kraft  <d@domob.eu>
296         * trans-stmt.c (gfc_conv_elemental_dependencies):  Cleaned up comment.
298 2009-01-20  Paul Thomas  <pault@gcc.gnu.org>
300         PR fortran/38907
301         * resolve.c (check_host_association): Remove the matching to
302         correct an incorrect host association and use manipulation of
303         the expression instead.
305 2009-01-20  Tobias Burnus  <burnus@net-b.de>
307         * invoke.texi (RANGE): RANGE also takes INTEGER arguments.
309 2009-01-19  Mikael Morin  <mikael.morin@tele2.fr>
311         PR fortran/38859
312         * simplify.c (simplify_bound): Don't use array specification
313         if variable or component has subsequent references.
315 2009-01-17  Paul Thomas  <pault@gcc.gnu.org>
317         PR fortran/38657
318         * module.c (write_common_0): Add argument 'this_module' and
319         check that non-use associated common blocks are written first.
320         (write_common): Call write_common_0 twice, once with true and
321         then with false.
323 2009-01-17  Paul Thomas  <pault@gcc.gnu.org>
325         PR fortran/34955
326         * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Has
327         been absorbed into gfc_conv_intrinsic_transfer. All
328         references to it in trans-intrinsic.c have been changed
329         accordingly.  PR fixed by using a temporary for scalar
330         character transfer, when the source is shorter than the
331         destination.
333 2009-01-17  Paul Thomas  <pault@gcc.gnu.org>
335         PR fortran/38657
336         * module.c (write_common_0): Revert patch of 2009-01-05.
338 2009-01-16  Janus Weil  <janus@gcc.gnu.org>
340         PR fortran/38152
341         * expr.c (gfc_check_pointer_assign): Allow use-associated procedure
342         pointers as lvalue.
343         * trans-decl.c (get_proc_pointer_decl,gfc_create_module_variable):
344         Enable procedure pointers as module variables.
346 2009-01-14  Steven G. Kargl  <kargl@gcc.gnu.org>
348         * ChangeLog-2007: Clean out svn merge droppings.
350 2009-01-10  Paul Thomas  <pault@gcc.gnu.org>
352         PR fortran/38763
353         * target-memory.c (encode_derived): Encode NULL.
355 2009-01-10  Paul Thomas  <pault@gcc.gnu.org>
357         PR fortran/38765
358         * resolve.c (check_host_association): Use the symtree name to
359         search for a potential contained procedure, since this is the
360         name by which it would be referenced.
362 2009-01-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
364         PR fortran/38220
365         * interface.c (gfc_procedure_use):  Don't warn about functions
366         from ISO_C_BINDING.
367         * symbol.c (generate_isocbinding_symbol):  Mark c_loc and
368         c_funloc as pure.
370 2009-01-05  Paul Thomas  <pault@gcc.gnu.org>
372         PR fortran/38657
373         * module.c (write_common_0): Use the name of the symtree rather
374         than the common block, to determine if the common has been
375         written.
377 2009-01-05  Daniel Franke  <franke.daniel@gmail.com>
379         PR fortran/37159
380         * check.c (gfc_check_random_seed): Added size check for GET
381         dummy argument, reworded error messages to follow common pattern.
383 2009-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
385         PR fortran/38672
386         * trans-types.c (gfc_get_derived_type):  Check for the
387         presence of derived->ns->proc_name before
388         accessing derived->ns->proc_name->attr.flavor .
389         * resolve.c (resolve_symbol):  Likewise.
391 2009-01-05  Paul Thomas  <pault@gcc.gnu.org>
393         PR fortran/38665
394         * gfortran.h : Add bit to gfc_expr 'user_operator'
395         * interface.c (gfc_extend_expr): Set the above if the operator
396         is substituted by a function. 
397         * resolve.c (check_host_association): Return if above is set.
399 2009-01-04  Mikael Morin  <mikael.morin@tele2.fr>
401         PR fortran/35681
402         * ChangeLog-2008: Fix function name.
404         PR fortran/38487
405         * dependency.c (gfc_check_argument_var_dependency):
406         Move the check for pointerness inside the if block
407         so that it doesn't affect the return value.
409         PR fortran/38669
410         * trans-stmt.c (gfc_trans_call):
411         Add the dependency code after the loop bounds calculation one.
413 2009-01-04  Daniel Franke  <franke.daniel@gmail.com>
415         * intrinsic.c (do_simplify): Removed already implemented TODO.
417 2009-01-04  Daniel Franke  <franke.daniel@gmail.com>
419         PR fortran/38718
420         * simplify.c (gfc_simplify_merge): New.
421         * intrinsic.h (gfc_simplify_merge): New prototype.
422         * intrinsic.c (add_functions): Added simplification for MERGE.
424 2009-01-04  Mikael Morin  <mikael.morin@tele2.fr>
426         PR fortran/38536
427         * gfortran.h (gfc_is_data_pointer): Added prototype
428         * resolve.c (gfc_iso_c_func_interface):
429         Use gfc_is_data_pointer to test for pointer attribute.
430         * dependency.c (gfc_is_data_pointer):
431         Support pointer-returning functions.
433 2009-01-03  Daniel Franke  <franke.daniel@gmail.com>
435         * symbol.c (save_symbol): Don't SAVE function results.
437 2009-01-03  Paul Thomas  <pault@gcc.gnu.org>
439         PR fortran/38594
440         * resolve.c (resolve_call): When searching for proper host
441         association, use symtree rather than symbol.  For everything
442         except generic subroutines, substitute the symtree in the call
443         rather than the symbol.