ada/
[official-gcc.git] / gcc / fortran / ChangeLog
blobd850ffbe19b75b6ed434849aeb3a0870734cb4aa
1 2015-04-27  Jim Wilson  <jim.wilson@linaro.org>
3         * Make-lang.in (fortran.mostlyclean): Remove gfortran and
4         gfortran-cross.
6 2015-04-27  Andre Vehreschild  <vehre@gmx.de>
8         PR fortran/59678
9         PR fortran/65841
10         * trans-array.c (duplicate_allocatable): Fixed deep copy of
11         allocatable components, which are liable for copy only, when
12         they are allocated.
13         (gfc_duplicate_allocatable): Add deep-copy code into if
14         component allocated block. Needed interface change for that.
15         (gfc_copy_allocatable_data): Supplying NULL_TREE for code to
16         add into if-block for checking whether a component was
17         allocated.
18         (gfc_duplicate_allocatable_nocopy): Likewise.
19         (structure_alloc_comps): Likewise.
20         * trans-array.h: Likewise.
21         * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
22         * trans-openmp.c (gfc_walk_alloc_comps): Likewise.
24 2015-04-23  Andre Vehreschild  <vehre@gmx.de>
26         PR fortran/60322
27         * expr.c (gfc_lval_expr_from_sym): Code to select the regular
28         or class array added.
29         * gfortran.h: Add IS_CLASS_ARRAY macro.
30         * trans-array.c (gfc_add_loop_ss_code): Treat class objects
31         to be referenced always.
32         (build_class_array_ref): Adapt retrieval of array descriptor.
33         (build_array_ref): Likewise.
34         (gfc_conv_array_ref): Hand the vptr or the descriptor to 
35         build_array_ref depending whether the sym is class or not.
36         (gfc_trans_array_cobounds):  Select correct gfc_array_spec for
37         regular and class arrays.
38         (gfc_trans_array_bounds): Likewise.
39         (gfc_trans_dummy_array_bias): Likewise. 
40         (gfc_get_dataptr_offset): Correcting call of build_array_ref.
41         (gfc_conv_expr_descriptor): Set the array's offset to -1 when
42         lbound in inner most dim is 1 and symbol non-pointer/assoc.
43         * trans-decl.c (gfc_build_qualified_array): Select correct
44         gfc_array_spec for regular and class arrays.
45         (gfc_build_dummy_array_decl): Likewise.
46         (gfc_get_symbol_decl): Get a dummy array for class arrays.
47         (gfc_trans_deferred_vars): Tell conv_expr that the descriptor
48         is desired.
49         * trans-expr.c (gfc_class_vptr_get): Get the class descriptor
50         from the correct location for class arrays.
51         (gfc_class_len_get): Likewise.
52         (gfc_conv_intrinsic_to_class): Add handling of _len component.
53         (gfc_conv_class_to_class):  Prevent access to unset array data
54         when the array is an optional argument. Add handling of _len
55         component.
56         (gfc_copy_class_to_class): Check that _def_init is non-NULL
57         when used in _vptr->copy()
58         (gfc_trans_class_init_assign): Ensure that the rank of
59         _def_init is zero.
60         (gfc_conv_component_ref): Get the _vptr along with _data refs.
61         (gfc_conv_variable): Make sure the temp array descriptor is
62         returned for class arrays, too, and that class arrays are
63         dereferenced correctly.
64         (gfc_conv_procedure_call): For polymorphic type initialization
65         the initializer has to be a pointer to _def_init stored in a
66         dummy variable, which then needs to be used by value.
67         * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the
68         temporary array descriptor for class arrays, too.
69         (gfc_conv_intrinsic_storage_size): Likewise.
70         (gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS
71         expressions.
72         * trans-stmt.c (trans_associate_var): Use a temporary array for
73         the associate variable of class arrays, too, making the array
74         one-based (lbound == 1).
75         * trans-types.c (gfc_is_nodesc_array): Use the correct
76         array data.
77         * trans.c (gfc_build_array_ref): Use the dummy array descriptor
78         when present.
79         * trans.h: Add class_vptr to gfc_se for storing a class ref's
80         vptr.
82 2015-04-22  Steven G. Kargl  <kargl@gcc.gnu.org>
84         PR fortran/65429
85         * decl.c (add_init_expr_to_sym): Set the length type parameter.
87 2015-04-10  Tobias Burnus  <burnus@net-b.de>
89         * trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib
90         version; reject not-yet-implemented variants.
91         * trans-types.c (gfc_get_derived_type): For lock_type with
92         -fcoarray=lib, use a void pointer as type.
93         * trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable):
94         Handle lock_type with -fcoarray=lib.
96 2015-04-10  Mikael Morin  <mikael@gcc.gnu.org>
98         PR fortran/56674
99         PR fortran/58813
100         PR fortran/59016
101         PR fortran/59024
102         * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the
103         former to the latter and make it non-static.  Update callers.
104         * gfortran.h (gfc_save_symbol_data): New prototype.
105         * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data'
106         before modifying symbols 'sym' and 'dt_sym'.
108 2013-04-09  Paul Thomas  <pault@gcc.gnu.org>
110         PR fortran/56852
111         * primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any
112         of the index variables are untyped and errors are present.
114 2015-04-07  Andre Vehreschild  <vehre@gmx.de>
116         PR fortran/65548
117         * trans-stmt.c (gfc_trans_allocate): For intrinsic functions
118         use conv_expr_descriptor() instead of conv_expr_reference().
120 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
122         PR fortran/65597
123         * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
124         linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
125         For implcitly added !simple OMP_CLAUSE_LINEAR set it too.  Use step 1
126         instead of the original step on the new iterator - count.
128 2015-03-25  Mikael Morin  <mikael@gcc.gnu.org>
130         PR fortran/64952
131         PR fortran/65532
132         * gfortran.h (struct gfc_namespace): New field 'types_resolved'.
133         * resolve.c (resolve_types): Return early if field 'types_resolved'
134         is set.  Set 'types_resolved' at the end.
136 2015-03-24  Andre Vehreschild  <vehre@gmx.de>
138         PR fortran/55901
139         * trans-expr.c (gfc_conv_structure): Fixed indendation.
140         Using integer_zero_node now instead of explicitly
141         constructing a integer constant zero node.
142         (gfc_conv_derived_to_class): Add handling of _len component,
143         i.e., when the rhs has a string_length then assign that to
144         class' _len, else assign 0.
145         (gfc_conv_intrinsic_to_class): Likewise.
147 2015-03-24  Andre Vehreschild  <vehre@gmx.de>
149         PR fortran/64787
150         PR fortran/57456
151         PR fortran/63230
152         * class.c (gfc_add_component_ref):  Free no longer needed
153         ref-chains to prevent memory loss.
154         (find_intrinsic_vtab): For deferred length char arrays or
155         unlimited polymorphic objects, store the size in bytes of one
156         character in the size component of the vtab.
157         * gfortran.h: Added gfc_add_len_component () define.
158         * trans-array.c (gfc_trans_create_temp_array): Switched to new
159         function name for getting a class' vtab's field.
160         (build_class_array_ref): Likewise.
161         (gfc_array_init_size): Using the size information from allocate
162         more consequently now, i.e., the typespec of the entity to
163         allocate is no longer needed.  This is to address the last open
164         comment in PR fortran/57456.
165         (gfc_array_allocate): Likewise.
166         (structure_alloc_comps): gfc_copy_class_to_class () needs to
167         know whether the class is unlimited polymorphic.
168         * trans-array.h: Changed interface of gfc_array_allocate () to
169         reflect the no longer needed typespec.
170         * trans-expr.c (gfc_find_and_cut_at_last_class_ref): New.
171         (gfc_reset_len): New.
172         (gfc_get_class_array_ref): Switch to new function name for
173         getting a class' vtab's field.
174         (gfc_copy_class_to_class):  Added flag to know whether the class
175         to copy is unlimited polymorphic.  Adding _len dependent code
176         then, which calls ->vptr->copy () with four arguments adding
177         the length information ->vptr->copy(from, to, from_len, to_cap).
178         (gfc_conv_procedure_call): Switch to new function name for
179         getting a class' vtab's field.
180         (alloc_scalar_allocatable_for_assignment): Use the string_length
181         as computed by gfc_conv_expr and not the statically backend_decl
182         which may be incorrect when ref-ing.
183         (gfc_trans_assignment_1): Use the string_length variable and
184         not the rse.string_length.  The former has been computed more
185         generally.
186         * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new
187         function name for getting a class' vtab's field.
188         (gfc_conv_intrinsic_storage_size): Likewise.
189         (gfc_conv_intrinsic_transfer): Likewise.
190         * trans-stmt.c (gfc_trans_allocate): Restructured to evaluate
191         source=expr3 only once before the loop over the objects to
192         allocate, when the objects are not arrays. Doing correct _len
193         initialization and calling of vptr->copy () fixing PR 64787.
194         (gfc_trans_deallocate): Reseting _len to 0, preventing future
195         errors.
196         * trans.c (gfc_build_array_ref): Switch to new function name
197         for getting a class' vtab's field.
198         (gfc_add_comp_finalizer_call): Likewise.
199         * trans.h: Define the prototypes for the gfc_class_vtab_*_get ()
200         and gfc_vptr_*_get () functions.
201         Added gfc_find_and_cut_at_last_class_ref () and
202         gfc_reset_len () routine prototype.  Added flag to
203         gfc_copy_class_to_class () prototype to signal an unlimited
204         polymorphic entity to copy.
206 2015-03-24  Iain Sandoe  <iain@codesourcery.com>
207             Tobias Burnus  <burnus@net-b.de>
209         * gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
211 2015-03-23  Paul Thomas  <pault@gcc.gnu.org>
212             Mikael Morin  <mikael@gcc.gnu.org>
214         PR fortran/64952
215         * gfortran.h (struct symbol_attribute) : New field
216         'array_outer_dependency'.
217         * trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
218         * module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
219         (attr_bits): Append same value to initializer.
220         (mio_symbol_attribute): Handle 'array_outer_dependency' attr
221         in module read and write.
222         * resolve.c (update_current_proc_outer_array_dependency): New function.
223         (resolve_function, resolve_call): Add code to update current procedure's
224         'array_outer_dependency' attribute.
225         (resolve_variable): Mark current procedure with attribute
226         array_outer_dependency if the variable is an array coming from outside
227         the current namespace.
228         (resolve_fl_procedure): Mark a procedure without body with attribute
229         'array_outer_dependency'.
230         * trans-array.c (gfc_conv_resolve_dependencies): If any ss is
231         marked as 'array_outer_dependency' generate a temporary.
232         (gfc_walk_function_expr): If the function may reference external arrays,
233         mark the head gfc_ss with flag 'array_outer_dependency'.
235 2015-03-22 Jerry DeLisle  <jvdelisle@gcc.gnu.org>
237         PR libgfortran/59513
238         * gfortran.texi (Read/Write after EOF marker): New information.
240 2015-03-21  H.J. Lu  <hongjiu.lu@intel.com>
242         * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
243         line.
245 2015-03-21  Tobias Burnus  <burnus@net-b.de>
247         * gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images,
248         _gfortran_caf_sync_memory, _gfortran_caf_error_stop,
249         _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define,
250         _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas,
251         _gfortran_caf_atomic_op): New sections.
253 2015-03-21  Tobias Burnus  <burnus@net-b.de>
255         * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
256         coindexed coarray accesses.
258 2015-03-17  Paul Thomas  <pault@gcc.gnu.org>
260         PR fortran/59198
261         * trans-types.c (gfc_get_derived_type): If an abstract derived
262         type with procedure pointer components has no other type of
263         component, return the backend_decl. Otherwise build the
264         components if any of the non-procedure pointer components have
265         no backend_decl.
267 2015-03-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
269         PR fortran/64432
270         *trans-intrinisic.c (conv_intrinsic_system_clock): Check the
271         smallest kind passed in user arguments and hardcode tesults for
272         KIND=1 or KIND=2 to indicate no clock available.
274 2015-03-16  Andre Vehreschild  <vehre@gmx.de>
276         * resolve.c: Prevent segfault on illegal input.
278 2015-03-14  Mikael Morin  <mikael@gcc.gnu.org>
280         PR fortran/61138
281         * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY
282         field before reusing LSE.
284 2015-03-11  Janne Blomqvist  <jb@gcc.gnu.org>
286         PR libfortran/65200
287         * gfortran.texi: Document behavior when opening files without
288         explicit ACTION= specifier.
290 2015-03-10  Paul Thomas  <pault@gcc.gnu.org>
292         PR fortran/65024
293         * trans-expr.c (gfc_conv_component_ref): If the component
294         backend declaration is missing and the derived type symbol is
295         available in the reference, call gfc_build_derived_type.
297 2015-03-10  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
298             Tobias Burnus  <burnus@net-b.de>
300         * trans.h (caf_sync_memory): New function decl tree.
301         * trans-decl.c (gfc_build_builtin_function_decls): Define it.
302         (create_main_function): Don't call sync_synchronize and leave
303         it to the CAF library.
304         * trans-stmt.c (gfc_trans_stop): Ditto.
305         (gfc_trans_sync): Ditto; add call library call for sync memory.
307 2015-03-08  Mikael Morin  <mikael@gcc.gnu.org>
309         PR fortran/60898
310         * resolve.c (resolve_symbol): Check that the symbol found by
311         name lookup really is the current symbol being resolved.
313 2015-03-02  Tobias Burnus  <burnus@net-b.de>
315         * check.c (gfc_check_atomic): Properly check for coarrayness
316         and for being coindexed.
318 2015-02-26  Martin Liska  <mliska@suse.cz>
320         * resolve.c: Rename enum 'comparison' to 'compare_result' as
321         solution for -Wodr issue.
323 2015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
325         PR libgomp/64625
326         * f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
327         Remove macros.
328         (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
329         * types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
330         (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
331         Remove function types.
332         (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
333         (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
334         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
335         New function types.
337 2015-02-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>
339         PR fortran/64980
340         PR fortran/61960
341         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping
342         for component references to class objects.
343         (gfc_conv_procedure_call): Compare the class by name.
345 2015-02-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
347         PR fortran/64506
348         * scanner.c (gfc_next_char_literal): For free form source,
349         check for '!' and if found, clear the comment and go back
350         and get the next character. For fixed form source, skip the
351         rest of the line.
353 2015-02-12  Paul Thomas  <pault@gcc.gnu.org>
355         PR fortran/64932
356         * trans-stmt.c (gfc_trans_deallocate): If a component array
357         expression is not a descriptor type and it is a derived type
358         that has allocatable components and is not finalizable, then
359         deallocate the allocatable components.
361 2015-02-08  Mikael Morin  <mikael@gcc.gnu.org>
363         PR fortran/63744
364         * module.c (check_for_ambiguous): Change argument type
365         from gfc_symbol to gfc_symtree.  Check local (symtree) name
366         instead of original (symbol) name.
367         (read_module): Update caller.
369 2015-02-06  Paul Thomas  <pault@gcc.gnu.org>
371         PR fortran/63205
372         * gfortran.h: Add 'must finalize' field to gfc_expr and
373         prototypes for gfc_is_alloc_class_scalar_function and for
374         gfc_is_alloc_class_array_function.
375         * expr.c (gfc_is_alloc_class_scalar_function,
376         gfc_is_alloc_class_array_function): New functions.
377         * trans-array.c (gfc_add_loop_ss_code): Do not move the
378         expression for allocatable class scalar functions outside the
379         loop.
380         (conv_array_index_offset): Cope with deltas being NULL_TREE.
381         (build_class_array_ref): Do not return with allocatable class
382         array functions. Add code to pick out the returned class array.
383         Dereference if necessary and return if not a class object.
384         (gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
385         (gfc_walk_function_expr): Return an array ss for the result of
386         an allocatable class array function.
387         * trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
388         that the argument should be a variable. If an allocatable class
389         array function, set the offset to zero and skip the write-out
390         loop in this case.
391         (gfc_conv_procedure_call): Add allocatable class array function
392         to the assert. Call gfc_conv_subref_array_arg for allocatable
393         class array function arguments with derived type formal arg..
394         Add the code for handling allocatable class functions, including
395         finalization calls to prevent memory leaks.
396         (arrayfunc_assign_needs_temporary): Return if an allocatable
397         class array function.
398         (gfc_trans_assignment_1): Set must_finalize to rhs expression
399         for allocatable class functions. Set scalar_to_array as needed
400         for scalar class allocatable functions assigned to an array.
401         Nullify the allocatable components corresponding the the lhs
402         derived type so that the finalization does not free them.
404 2015-01-29  Andre Vehreschild  <vehre@gmx.de>
405             Janus Weil  <janus@gcc.gnu.org>
407         PR fortran/60289
408         Initial patch by Janus Weil
409         * resolve.c (resolve_allocate_expr): Add check for comp. only
410         when target is not unlimited polymorphic.
411         * trans-stmt.c (gfc_trans_allocate): Assign correct value to
412         _len component of unlimited polymorphic entities.
414 2015-02-05  Tobias Burnus  <burnus@net-b.de>
416         PR fortran/64943
417         * resolve.c (resolve_transfer): Also check structure
418         constructors.
420 2015-02-05  Paul Thomas  <pault@gcc.gnu.org>
422         PR fortran/64757
423         * resolve.c (resolve_structure_cons): Obtain the rank of class
424         components.
425         * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
426         assignment to allocatable class array components.
427         (alloc_scalar_allocatable_for_subcomponent_assignment): If comp
428         is a class component, allocate to the _data field.
429         (gfc_trans_subcomponent_assign): If a class component with a
430         derived type expression set the _vptr field and for array
431         components, call gfc_trans_alloc_subarray_assign. For scalars,
432         the assignment is performed here.
434 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
436         * options.c: Include langhooks.h.
437         (gfc_post_options): Change lang_hooks.name based on
438         selected -std= mode.
440 2015-02-03  Steven G. Kargl  <kargl@gcc.gnu.org>
442         * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
444 2015-01-30  Andre Vehreschild  <vehre@gmx.de>
446         * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
447         * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
448         Fixed datatype of charlen to be a 32-bit int.
450 2015-02-01  Joseph Myers  <joseph@codesourcery.com>
452         * error.c (gfc_warning (const char *, ...), gfc_warning_now (const
453         char *, ...)): Remove functions.
454         * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
455         (const char *, ...)): Remove declarations.
456         * arith.c, check.c, data.c, decl.c, frontend-passes.c,
457         interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
458         options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
459         trans-common.c, trans-const.c, trans-stmt.c: All callers of
460         gfc_warning and gfc_warning_now changed to pass 0 or option number
461         as first argument.
463 2015-01-30  Joseph Myers  <joseph@codesourcery.com>
465         * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
466         callers of fatal_error changed to pass input_location as first
467         argument.
469 2015-01-28  Tobias Burnus  <burnus@net-b.de>
471         * intrinsic.texi (CO_BROADCAST): Correct argument description.
473 2015-01-27  Tobias Burnus  <burnus@net-b.de>
475         PR fortran/63861
476         * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
477         Fix handling for scalar coarrays.
478         * trans-types.c (gfc_get_element_type): Add comment.
480 2015-01-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
482         PR fortran/64771
483         * interface.c: Remove <algorithm>.
484         (check_dummy_characteristics): Use MAX instead of std::max.
486 2015-01-26  Paul Thomas  <pault@gcc.gnu.org>
488         PR fortran/62044
489         * resolve.c (resolve_allocate_expr): If the default initializer
490         is NULL, keep the original MOLD expression so that the correct
491         typespec is available.
493 2015-01-26  Tobias Burnus  <burnus@net-b.de>
495         PR fortran/64771
496         * interface.c (check_dummy_characteristics): Fix coarray handling.
498 2015-01-26  Tobias Burnus  <burnus@net-b.de>
500         * io.c (gfc_match_inquire): Replace "-1" by a defined constant.
502 2015-01-26  Janus Weil  <janus@gcc.gnu.org>
504         PR fortran/64230
505         * class.c (finalize_component): New argument 'sub_ns'. Insert code to
506         check if 'expr' is associated.
507         (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
508         'ptr2'. Pass 'sub_ns' to finalize_component.
510 2015-01-25  Mikael Morin  <mikael@gcc.gnu.org>
512         PR fortran/62044
513         * decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
514         * module.c (MOD_VERSION): Bump.
515         (write_module): Don't write list of extensions.
516         (read_module): Don't jump over list of extensions;
517         don't load list of extensions.
518         (load_derived_extensions, write_dt_extensions,
519          write_derived_extensions): Remove.
521 2015-01-24  Tobias Burnus  <burnus@net-b.de>
523         * parse.c (gfc_parse_file): Fix two-location gfc_error call.
525 2015-01-23  Martin Liska  <mliska@suse.cz>
527         * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
528         false positive during profiledbootstrap by initializing them.
529         * matchexp.c (match_mult_operand): Likewise.
530         * module.c (write_atom): Likewise.
531         (read_module): Likewise.
533 2015-01-23  Tom de Vries  <tom@codesourcery.com>
535         PR libgomp/64672
536         * lang.opt (fopenacc): Mark as LTO option.
538 2015-01-23  Tom de Vries  <tom@codesourcery.com>
540         PR libgomp/64707
541         * lang.opt (fopenmp): Mark as LTO option.
543 2015-01-23  Andre Vehreschild  <vehre@gmx.de>
545         * trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
546         * trans-stmt.c (gfc_trans_allocate): Fixed indentation.
548 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
550         * gfc-diagnostic.def (DK_ICE_NOBT): New kind.
552 2015-01-23  Janus Weil  <janus@gcc.gnu.org>
554         PR fortran/60922
555         * class.c (finalize_component): Apply the check for 'fini_coarray' only
556         to coarray components.
558 2015-01-23  Tobias Burnus  <burnus@net-b.de>
560         PR fortran/64726
561         * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
562         loop generation.
564 2015-01-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
566         PR fortran/61933
567         * libgfortran.h:
568         * trans-io.c (set_parameter_value): Delete use of has_iostat.
569         Redefine to not generate any runtime error check calls.
570         (set_parameter_value_chk): Rename of the former
571         set_parameter_value with the runtime error checks and fix
572         whitespace. (set_parameter_value_inquire): New function that
573         builds a runtime conditional block to set the INQUIRE
574         common parameter block unit number to -2 when unit numbers
575         exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
576         For unit, use the renamed set_parameter_value_chk.
577         (gfc_trans_close): Likewise use renamed function.
578         (build_filepos): Whitespace and use renamed function.
579         (gfc_trans_inquire): Whitespace and for unit use
580         set_parameter_value and set_parameter_value_inquire.
581         (gfc_trans_wait): Remove p->iostat from call to
582         set_parameter_value. Use new set_parameter_value_chk for unit.
583         (build_dt): Use the new set_parameter_value without p->iostat
584         and fix whitespace. Use set_parameter_value_chk for unit.
586 2015-01-21  Thomas Koenig  <tkoenig@netcologne.de>
588         PR fortran/57023
589         * dependency.c (callback_dummy_intent_not_int):  New function.
590         (dummy_intent_not_in):  New function.
591         (gfc_full_array_ref_p):  Use dummy_intent_not_in.
593 2015-01-18  Andre Vehreschild  <vehre@gmx.de>
594             Janus Weil <janus@gcc.gnu.org>
596         PR fortran/60255
597         * class.c (gfc_get_len_component): New.
598         (gfc_build_class_symbol): Add _len component to unlimited
599         polymorphic entities.
600         (find_intrinsic_vtab): Removed emitting of error message.
601         * gfortran.h: Added prototype for gfc_get_len_component.
602         * simplify.c (gfc_simplify_len): Use _len component where
603         available.
604         * trans-expr.c (gfc_class_len_get): New.
605         (gfc_conv_intrinsic_to_class): Add handling for deferred
606         character arrays.
607         (gfc_conv_structure): Treat _len component correctly.
608         (gfc_conv_expr): Prevent bind_c handling when not required.
609         (gfc_trans_pointer_assignment): Propagate _len component.
610         * trans-stmt.c (class_has_len_component): New.
611         (trans_associate_var): _len component treatment for associate
612         context.
613         (gfc_trans_allocate): Same as for trans_associate_var()
614         * trans.h: Added prototype for gfc_class_len_get.
616 2015-01-18  Paul Thomas  <pault@gcc.gnu.org>
618         PR fortran/57959
619         * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
620         for allocatable components, where the source is a variable.
622 2015-01-18  Paul Thomas  <pault@gcc.gnu.org>
624         PR fortran/55901
625         * primary.c (gfc_match_varspec): Exclude dangling associate-
626         names with dimension 0 from being counted as arrays.
627         * resolve.c (resolve_assoc_var): Sub-strings are permissible
628         for associate-names, so exclude characters from the test for
629         misuse as arrays.
630         * trans-decl.c (gfc_get_symbol_decl): Associate-names can use
631         the hidden string length variable of their associated target.
632         Signal this by setting 'length' to a constant, if the decl for
633         the string length is a variable.
635 2015-01-17  Paul Thomas  <pault@gcc.gnu.org>
637         PR fortran/64578
638         * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
639         before reinitializing rse, to add the rse.pre to block before
640         creating 'ptrtemp'.
641         * trans-intrinsic.c (gfc_conv_associated): Deal with the class
642         data being a descriptor.
644 2015-01-17  Andre Vehreschild  <vehre@gmx.de>
646         PR fortran/60357
647         * primary.c (build_actual_constructor): Prevent warning.
648         * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
649         assignment): New function encapsulates treatment of allocatable
650         components.
651         (gfc_trans_subcomponent_assign): Needed to distinguish between
652         regular assignment and initilization.
653         (gfc_trans_structure_assign): Same.
654         (gfc_conv_structure): Same.
656         PR fortran/61275
657         * gfortran.h: deferred_parameter is not needed, because
658         it artificial does the trick completely.
659         * primary.c (build_actual_constructor): Same.
660         (gfc_convert_to_structure_constructor): Same.
661         * resolve.c (resolve_fl_derived0): Same.
662         * trans-expr.c (gfc_conv_component_ref): Prevent treating
663         allocatable deferred length char arrays here.
664         (gfc_trans_subcomponent_assign): Same as above.
665         * trans-types.c (gfc_sym_type): This is done in
666         gfc_get_derived_type already.
668 2015-01-17  Andre Vehreschild  <vehre@gmx.de>
670         PR fortran/60334
671         * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
672         length when the symbol is declared to be a result.
673         * trans-expr.c (gfc_conv_procedure_call): Strip deref on the
674         string length when functions are nested and the string length
675         is a reference already.
677 2015-01-16  Janus Weil  <janus@gcc.gnu.org>
679         PR fortran/45290
680         * decl.c (match_pointer_init): Error out if resolution of init expr
681         failed.
683 2015-01-15  Tobias Burnus  <burnus@net-b.de>
685         * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
686         resolve_oacc_deviceptr_clause, resolve_omp_clauses,
687         gfc_resolve_oacc_declare): Replace '%s' by %qs.
689 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
690             Cesar Philippidis  <cesar@codesourcery.com>
691             James Norris  <jnorris@codesourcery.com>
692             Ilmir Usmanov  <i.usmanov@samsung.com>
693             Tobias Burnus  <burnus@net-b.de>
695         * lang.opt (fopenacc): New option.
696         * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
697         * dump-parse-tree.c (show_omp_node): Split part of it into...
698         (show_omp_clauses): ... this new function.
699         (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
700         EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
701         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
702         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
703         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
704         (show_namespace): Update for OpenACC.
705         * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
706         (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
707         (DEF_GOACC_BUILTIN_COMPILER): New macros.
708         * types.def (BT_FN_VOID_INT_INT_VAR)
709         (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
710         (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
711         New function types.
712         * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
713         ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
714         ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
715         ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
716         ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
717         ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
718         ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
719         ST_OACC_ROUTINE.
720         (struct gfc_expr_list): New data type.
721         (gfc_get_expr_list): New macro.
722         (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
723         OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
724         OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
725         (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
726         (OMP_LIST_CACHE): New enumerators.
727         (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
728         vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
729         wait_list, tile_list, async, gang, worker, vector, seq,
730         independent, wait, par_auto, gang_static, and loc members.
731         (struct gfc_namespace): Add oacc_declare_clauses member.
732         (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
733         EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
734         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
735         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
736         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
737         (gfc_free_expr_list, gfc_resolve_oacc_directive)
738         (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
739         (gfc_resolve_oacc_blocks): New prototypes.
740         * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
741         EXEC_OACC_PARALLEL_LOOP.
742         * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
743         (gfc_match_oacc_update, gfc_match_oacc_declare)
744         (gfc_match_oacc_loop, gfc_match_oacc_host_data)
745         (gfc_match_oacc_data, gfc_match_oacc_kernels)
746         (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
747         (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
748         (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
749         prototypes.
750         * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
751         (gfc_free_omp_clauses): Update for members added to struct
752         gfc_omp_clauses.
753         (gfc_match_omp_clauses): Change mask paramter to uint64_t.  Add
754         openacc parameter.
755         (resolve_omp_clauses): Add openacc parameter.  Update for OpenACC.
756         (struct fortran_omp_context): Add is_openmp member.
757         (gfc_resolve_omp_parallel_blocks): Initialize it.
758         (gfc_resolve_do_iterator): Update for OpenACC.
759         (gfc_resolve_omp_directive): Call
760         resolve_omp_directive_inside_oacc_region.
761         (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
762         (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
763         (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
764         (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
765         (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
766         (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
767         (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
768         (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
769         (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
770         (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
771         (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
772         (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
773         (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
774         (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
775         (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
776         (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
777         (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
778         (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
779         (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
780         (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
781         (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
782         (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
783         (gfc_match_omp_clauses): Handle those.
784         (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
785         (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
786         (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
787         (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
788         (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
789         (OACC_WAIT_CLAUSES): New macros.
790         (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
791         (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
792         (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
793         (gfc_match_oacc_kernels, gfc_match_oacc_data)
794         (gfc_match_oacc_host_data, gfc_match_oacc_loop)
795         (gfc_match_oacc_declare, gfc_match_oacc_update)
796         (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
797         (gfc_match_oacc_wait, gfc_match_oacc_cache)
798         (gfc_match_oacc_routine, oacc_is_loop)
799         (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
800         (check_symbol_not_pointer, check_array_not_assumed)
801         (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
802         (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
803         (omp_code_to_statement, oacc_code_to_statement)
804         (resolve_oacc_directive_inside_omp_region)
805         (resolve_omp_directive_inside_oacc_region)
806         (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
807         (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
808         (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
809         (gfc_resolve_oacc_directive): New functions.
810         * parse.c (next_free): Update for OpenACC.  Move some code into...
811         (verify_token_free): ... this new function.
812         (next_fixed): Update for OpenACC.  Move some code into...
813         (verify_token_fixed): ... this new function.
814         (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
815         ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
816         (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
817         ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
818         ST_OACC_KERNELS_LOOP.
819         (case_decl): Add ST_OACC_ROUTINE.
820         (push_state, parse_critical_block, parse_progunit): Update for
821         OpenACC.
822         (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
823         ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
824         ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
825         ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
826         ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
827         ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
828         ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
829         ST_OACC_ROUTINE.
830         (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
831         (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
832         ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
833         ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
834         (decode_oacc_directive, parse_oacc_structured_block)
835         (parse_oacc_loop, is_oacc): New functions.
836         * parse.h (struct gfc_state_data): Add oacc_declare_clauses
837         member.
838         (is_oacc): New prototype.
839         * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
840         EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
841         EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
842         EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
843         EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
844         EXEC_OACC_EXIT_DATA.
845         (resolve_codes): Call gfc_resolve_oacc_declare.
846         * scanner.c (openacc_flag, openacc_locus): New variables.
847         (skip_free_comments): Update for OpenACC.  Move some code into...
848         (skip_omp_attribute): ... this new function.
849         (skip_oacc_attribute): New function.
850         (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
851         * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
852         EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
853         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
854         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
855         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
856         * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
857         * trans-openmp.c: Include "gomp-constants.h".
858         (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
859         instead of OMP_CLAUSE_MAP_*.  Use OMP_CLAUSE_SET_MAP_KIND.
860         (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
861         OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
862         OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
863         OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
864         OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
865         independent, wait_list, num_gangs_expr, num_workers_expr,
866         vector_length_expr, vector, vector_expr, worker, worker_expr,
867         gang, gang_expr members.
868         (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
869         (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
870         (gfc_trans_oacc_executable_directive)
871         (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
872         (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
873         * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
874         * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
875         New prototypes.
876         * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
877         EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
878         EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
879         EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
880         EXEC_OACC_EXIT_DATA.
881         * gfortran.texi: Update for OpenACC.
882         * intrinsic.texi: Likewise.
883         * invoke.texi: Likewise.
885 2015-01-15  Janus Weil  <janus@gcc.gnu.org>
887         PR fortran/58023
888         * resolve.c (resolve_fl_derived0): Continue resolving next component
889         after error.
891 2015-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
893         PR fortran/61933
894         * io.c (gfc_match_inquire): Generate error if unit number in
895         inquire statement is a constant -1.  All other values allowed.
896         * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
897         (create_dummy_iostat): Delete function no longer used.
899 2015-01-13  Jakub Jelinek  <jakub@redhat.com>
901         PR fortran/64528
902         * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
903         on dummy args with VALUE attribute.
905 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
907         PR fortran/63733
908         * interface.c (gfc_extend_expr): Look for type-bound operators before
909         non-typebound ones.
911 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
913         PR fortran/58023
914         * resolve.c (resolve_fl_derived0): Set error flag if problems with the
915         interface of a procedure-pointer component were detected.
917 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
919         PR fortran/64508
920         * interface.c (compare_parameter): Interface check for
921         procedure-pointer component as actual argument.
923 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
925         * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
926         Runtime Library" to "GNU Offloading and Multi Processing Runtime
927         Library".
928         * intrinsic.texi: Likewise.
930 2015-01-10  Tobias Burnus  <burnus@net-b.de>
932         PR fortran/64522
933         * invoke.texi (Wline-truncation): Document new behaviour.
934         * lang.opt (Wline-truncation): Add Init(-1).
935         * options.c (gfc_post_options): If -Wline-truncation is unset,
936         enable it for free-form source files; for the latter, also use
937         -Werror=line-truncation, unless -Wno-error has been specified.
939 2015-01-09  Michael Collison  <michael.collison@linaro.org>
941         * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
942         input.h, alias.h, symtab.h, options.h, fold-const.h,
943         wide-int.h, and inchash.h due to flattening of tree.h.
944         * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
945         input.h, alias.h, symtab.h, fold-const.h,
946         wide-int.h, and inchash.h due to flattening of tree.h.
947         * decl.c: Ditto.
948         * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
949         input.h, alias.h, symtab.h, options.h, fold-const.h,
950         wide-int.h, and inchash.h due to flattening of tree.h.
951         * iresolve.c: Ditto.
952         * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
953         input.h, alias.h, symtab.h, fold-const.h,
954         wide-int.h, and inchash.h due to flattening of tree.h.
955         * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
956         input.h, alias.h, symtab.h, options.h, fold-const.h,
957         wide-int.h, and inchash.h due to flattening of tree.h.
958         * options.c: Ditto.
959         * target-memory.c: Include hash-set.h, vec.h,
960         double-int.h, input.h, alias.h, symtab.h, fold-const.h,
961         wide-int.h, and inchash.h due to flattening of tree.h.
962         * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
963         input.h, alias.h, symtab.h, options.h, fold-const.h,
964         wide-int.h, and inchash.h due to flattening of tree.h.
965         * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
966         input.h, alias.h, symtab.h, options.h, fold-const.h,
967         wide-int.h, and inchash.h due to flattening of tree.h.
968         * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
969         input.h, alias.h, symtab.h, fold-const.h,
970         wide-int.h, and inchash.h due to flattening of tree.h.
971         * trans-const.c: Ditto.
972         * trans-decl.c: Ditto.
973         * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
974         input.h, alias.h, symtab.h, options.h, fold-const.h,
975         wide-int.h, and inchash.h due to flattening of tree.h.
976         * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
977         input.h, alias.h, symtab.h, fold-const.h,
978         wide-int.h, inchash.h and real.h due to flattening of tree.h.
979         * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
980         input.h, alias.h, symtab.h, options.h, fold-const.h,
981         wide-int.h, and inchash.h due to flattening of tree.h.
982         * trans-openmp.c: Ditto.
983         * trans-stmt.c: Ditto.
984         * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
985         input.h, alias.h, symtab.h, fold-const.h,
986         wide-int.h, inchash.h and real.h due to flattening of tree.h.
988 2015-01-08  Tobias Burnus  <burnus@net-b.de>
990         * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
991         for module coarrays with -fcoarray=lib.
992         (get_proc_pointer_decl): As module variable, make only public
993         when not marked as private.
995 2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
997         PR fortran/47674
998         * dependency.h:  Actually commit changes.
1000 2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
1002         PR fortran/47674
1003         * dependency.c:  Update copyright years.
1004         (gfc_discard_nops):  Add prototype.
1005         * dependency.c (discard_nops):  Rename to gfc_discard_nops,
1006         make non-static.
1007         (gfc_discard_nops):  Use gfc_discard_nops.
1008         (gfc_dep_difference):  Likewise.
1009         * frontend-passes.c  Update copyright years.
1010         (realloc_strings):  New function.  Add prototype.
1011         (gfc_run_passes):  Call realloc_strings.
1012         (realloc_string_callback):  New function.
1013         (create_var):  Add prototype.  Handle case of a
1014         scalar character variable.
1015         (optimize_trim):  Do not handle allocatable variables.
1017 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
1019         Update copyright years.
1021         * gfortranspec.c (lang_specific_driver): Update copyright notice
1022         dates.
1023         * gfc-internals.texi: Bump @copying's copyright year.
1024         * gfortran.texi: Ditto.
1025         * intrinsic.texi: Ditto.
1026         * invoke.texi: Ditto.
1028 2015-01-02  Janus Weil  <janus@gcc.gnu.org>
1030         PR fortran/57562
1031         * expr.c (find_component_ref): Deal with extended types.
1033 2015-01-02  Tobias Burnus  <burnus@net-b.de>
1035         * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
1036         for module coarrays with -fcoarray=lib.
1038 2015-01-02  Janus Weil  <janus@gcc.gnu.org>
1040         PR fortran/60507
1041         * interface.c (is_procptr_result): New function to check if an
1042         expression is a procedure-pointer result.
1043         (compare_actual_formal): Use it.
1045 Copyright (C) 2015 Free Software Foundation, Inc.
1047 Copying and distribution of this file, with or without modification,
1048 are permitted in any medium without royalty provided the copyright
1049 notice and this notice are preserved.