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