Update ChangeLog and version files for release
[official-gcc.git] / gcc / fortran / ChangeLog
blobe93be2cb8ce6691150fc801e1bf9b7462dacd3a8
1 2015-07-16  Release Manager
3         * GCC 5.2.0 released.
5 2015-06-24  Mikael Morin  <mikael@gcc.gnu.org>
7         PR fortran/66549
8         * resolve.c (resolve_global_procedure): Don't save and restore
9         OpenMP state around the call to gfc_resolve.
10         (gfc_resolve): Save OpenMP state on entry and restore it on return.
12 2015-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
14         PR fortran/66385
15         Backport from trunk
16         * frontend-passes.c (combine_array_constructor): Return early if
17         inside a FORALL loop.
19 2015-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
21         * intrinsic.texi:  Change \leq to < in descrition of imaginary
22         part in argument to log.
24 2015-06-11  Pierre-Marie de Rodat  <derodat@adacore.com>
26         * f95-lang.c (gfc_create_decls): Register the main translation unit
27         through the new debug hook.
29 2015-06-08  Steven G. Kargl  <kargl@gcc.gnu.org>
31         PR fortran/66245
32         * match.c (gfc_match_type_is, gfc_match_class_is):  Check if the
33         return type spec or derived type spec is validate.
35 2015-06-05  Steven G. Kargl  <kargl@gcc.gnu.org>
37         PR fortran/66347
38         * resolve.c (apply_default_init_local): Do not dereference a NULL
39         pointer.
41 2015-06-05  Russell Whitesides  <russelldub@gmail.com>
42             Steven G. Kargl  <kargl@gcc.gnu.org>
44         PR fortran/40958
45         PR fortran/60780
46         PR fortran/66377
47         * module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs
48         from different modules.  Eliminate the pruning of unused
49         equivalence-objects
52 2015-06-02  Steven G. Kargl  <kargl@gcc.gnu.org>
54         PR fortran/66380
55         * simplify.c (gfc_simplify_reshape): Convert assert into returning
56         NULL, which triggers an error condition.
58 2015-05-29  Mikael Morin  <mikael@gcc.gnu.org>
60         PR fortran/66257
61         * resolve.c (resolve_actual_arglist): Don't throw an error
62         if the argument with procedure pointer component is not a variable.
64 2015-05-22  Jakub Jelinek  <jakub@redhat.com>
66         Backported from mainline
67         2015-05-19  Jakub Jelinek  <jakub@redhat.com>
69         PR middle-end/66199
70         * trans-openmp.c (gfc_trans_omp_teams): Set OMP_TEAMS_COMBINED for
71         combined constructs.
72         (gfc_trans_omp_target): Make sure BIND_EXPR has non-NULL
73         BIND_EXPR_BLOCK.
75 2015-05-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
77         PR fortran/65903
78         * io.c (format_lex): Change to NONSTRING when checking for
79         possible doubled quote.
80         * scanner.c (gfc_next_char_literal): Revert change from 64506
81         and add a check for quotes and return.
83 2015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
85         PR fortran/66106
86         * interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201).
87         * match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE.
89 2015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
91         PR fortran/66057
92         * decl.c(gfc_match_generic):  Detected a malformed GENERIC statement.
94 2015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
96         PR fortran/66052
97         * decl.c(gfc_match_protected): Prevent dereference of NULL pointer. 
99 2015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
101         PR fortran/66045
102         * expr.c (gfc_check_assign):  Check for assignment of NULL() instead
103         of the (intended) pointer assignment.
105 2015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
107         PR fortran/66044
108         * decl.c(gfc_match_entry):  Change a gfc_internal_error() into
109         a gfc_error() 
111 2015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
113         PR fortran/66043
114         * check.c (gfc_check_storage_size): Prevent the direct use of NULL()
115         in STORAGE_SIZE() reference.
117 2015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
119         PR fortran/66040
120         * parse.c(verify_st_order): Replace a gfc_internal_error with your
121         generic gfc_error.
123 2015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
125         PR fortran/66039
126         * io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH,
127         BACKSPACE, and ENDFILE statements
129 2015-05-19  Steven G. Kargl  <kargl@gcc.gnu.org>
131         PR fortran/64925
132         * symbol.c(check_conflict):  Check for a conflict between a dummy
133         argument and an internal procedure name.
135 2015-05-02  Steven G. Kargl  <kargl@gcc.gnu.org>
137         PR fortran/65976
138         * invoke.texi:  Remove 'no-' in '-fno-fixed-form'
140 2015-04-22  Release Manager
142         * GCC 5.1.0 released.
144 2015-04-22  Steven G. Kargl  <kargl@gcc.gnu.org>
146         PR fortran/65429
147         * decl.c (add_init_expr_to_sym): Set the length type parameter.
149 2015-04-10  Tobias Burnus  <burnus@net-b.de>
151         * trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib
152         version; reject not-yet-implemented variants.
153         * trans-types.c (gfc_get_derived_type): For lock_type with
154         -fcoarray=lib, use a void pointer as type.
155         * trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable):
156         Handle lock_type with -fcoarray=lib.
158 2015-04-10  Mikael Morin  <mikael@gcc.gnu.org>
160         PR fortran/56674
161         PR fortran/58813
162         PR fortran/59016
163         PR fortran/59024
164         * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the
165         former to the latter and make it non-static.  Update callers.
166         * gfortran.h (gfc_save_symbol_data): New prototype.
167         * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data'
168         before modifying symbols 'sym' and 'dt_sym'.
170 2013-04-09  Paul Thomas  <pault@gcc.gnu.org>
172         PR fortran/56852
173         * primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any
174         of the index variables are untyped and errors are present.
176 2015-04-07  Andre Vehreschild  <vehre@gmx.de>
178         PR fortran/65548
179         * trans-stmt.c (gfc_trans_allocate): For intrinsic functions
180         use conv_expr_descriptor() instead of conv_expr_reference().
182 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
184         PR fortran/65597
185         * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
186         linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
187         For implcitly added !simple OMP_CLAUSE_LINEAR set it too.  Use step 1
188         instead of the original step on the new iterator - count.
190 2015-03-25  Mikael Morin  <mikael@gcc.gnu.org>
192         PR fortran/64952
193         PR fortran/65532
194         * gfortran.h (struct gfc_namespace): New field 'types_resolved'.
195         * resolve.c (resolve_types): Return early if field 'types_resolved'
196         is set.  Set 'types_resolved' at the end.
198 2015-03-24  Andre Vehreschild  <vehre@gmx.de>
200         PR fortran/55901
201         * trans-expr.c (gfc_conv_structure): Fixed indendation.
202         Using integer_zero_node now instead of explicitly
203         constructing a integer constant zero node.
204         (gfc_conv_derived_to_class): Add handling of _len component,
205         i.e., when the rhs has a string_length then assign that to
206         class' _len, else assign 0.
207         (gfc_conv_intrinsic_to_class): Likewise.
209 2015-03-24  Andre Vehreschild  <vehre@gmx.de>
211         PR fortran/64787
212         PR fortran/57456
213         PR fortran/63230
214         * class.c (gfc_add_component_ref):  Free no longer needed
215         ref-chains to prevent memory loss.
216         (find_intrinsic_vtab): For deferred length char arrays or
217         unlimited polymorphic objects, store the size in bytes of one
218         character in the size component of the vtab.
219         * gfortran.h: Added gfc_add_len_component () define.
220         * trans-array.c (gfc_trans_create_temp_array): Switched to new
221         function name for getting a class' vtab's field.
222         (build_class_array_ref): Likewise.
223         (gfc_array_init_size): Using the size information from allocate
224         more consequently now, i.e., the typespec of the entity to
225         allocate is no longer needed.  This is to address the last open
226         comment in PR fortran/57456.
227         (gfc_array_allocate): Likewise.
228         (structure_alloc_comps): gfc_copy_class_to_class () needs to
229         know whether the class is unlimited polymorphic.
230         * trans-array.h: Changed interface of gfc_array_allocate () to
231         reflect the no longer needed typespec.
232         * trans-expr.c (gfc_find_and_cut_at_last_class_ref): New.
233         (gfc_reset_len): New.
234         (gfc_get_class_array_ref): Switch to new function name for
235         getting a class' vtab's field.
236         (gfc_copy_class_to_class):  Added flag to know whether the class
237         to copy is unlimited polymorphic.  Adding _len dependent code
238         then, which calls ->vptr->copy () with four arguments adding
239         the length information ->vptr->copy(from, to, from_len, to_cap).
240         (gfc_conv_procedure_call): Switch to new function name for
241         getting a class' vtab's field.
242         (alloc_scalar_allocatable_for_assignment): Use the string_length
243         as computed by gfc_conv_expr and not the statically backend_decl
244         which may be incorrect when ref-ing.
245         (gfc_trans_assignment_1): Use the string_length variable and
246         not the rse.string_length.  The former has been computed more
247         generally.
248         * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new
249         function name for getting a class' vtab's field.
250         (gfc_conv_intrinsic_storage_size): Likewise.
251         (gfc_conv_intrinsic_transfer): Likewise.
252         * trans-stmt.c (gfc_trans_allocate): Restructured to evaluate
253         source=expr3 only once before the loop over the objects to
254         allocate, when the objects are not arrays. Doing correct _len
255         initialization and calling of vptr->copy () fixing PR 64787.
256         (gfc_trans_deallocate): Reseting _len to 0, preventing future
257         errors.
258         * trans.c (gfc_build_array_ref): Switch to new function name
259         for getting a class' vtab's field.
260         (gfc_add_comp_finalizer_call): Likewise.
261         * trans.h: Define the prototypes for the gfc_class_vtab_*_get ()
262         and gfc_vptr_*_get () functions.
263         Added gfc_find_and_cut_at_last_class_ref () and
264         gfc_reset_len () routine prototype.  Added flag to
265         gfc_copy_class_to_class () prototype to signal an unlimited
266         polymorphic entity to copy.
268 2015-03-24  Iain Sandoe  <iain@codesourcery.com>
269             Tobias Burnus  <burnus@net-b.de>
271         * gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
273 2015-03-23  Paul Thomas  <pault@gcc.gnu.org>
274             Mikael Morin  <mikael@gcc.gnu.org>
276         PR fortran/64952
277         * gfortran.h (struct symbol_attribute) : New field
278         'array_outer_dependency'.
279         * trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
280         * module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
281         (attr_bits): Append same value to initializer.
282         (mio_symbol_attribute): Handle 'array_outer_dependency' attr
283         in module read and write.
284         * resolve.c (update_current_proc_outer_array_dependency): New function.
285         (resolve_function, resolve_call): Add code to update current procedure's
286         'array_outer_dependency' attribute.
287         (resolve_variable): Mark current procedure with attribute
288         array_outer_dependency if the variable is an array coming from outside
289         the current namespace.
290         (resolve_fl_procedure): Mark a procedure without body with attribute
291         'array_outer_dependency'.
292         * trans-array.c (gfc_conv_resolve_dependencies): If any ss is
293         marked as 'array_outer_dependency' generate a temporary.
294         (gfc_walk_function_expr): If the function may reference external arrays,
295         mark the head gfc_ss with flag 'array_outer_dependency'.
297 2015-03-22 Jerry DeLisle  <jvdelisle@gcc.gnu.org>
299         PR libgfortran/59513
300         * gfortran.texi (Read/Write after EOF marker): New information.
302 2015-03-21  H.J. Lu  <hongjiu.lu@intel.com>
304         * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
305         line.
307 2015-03-21  Tobias Burnus  <burnus@net-b.de>
309         * gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images,
310         _gfortran_caf_sync_memory, _gfortran_caf_error_stop,
311         _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define,
312         _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas,
313         _gfortran_caf_atomic_op): New sections.
315 2015-03-21  Tobias Burnus  <burnus@net-b.de>
317         * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
318         coindexed coarray accesses.
320 2015-03-17  Paul Thomas  <pault@gcc.gnu.org>
322         PR fortran/59198
323         * trans-types.c (gfc_get_derived_type): If an abstract derived
324         type with procedure pointer components has no other type of
325         component, return the backend_decl. Otherwise build the
326         components if any of the non-procedure pointer components have
327         no backend_decl.
329 2015-03-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
331         PR fortran/64432
332         *trans-intrinisic.c (conv_intrinsic_system_clock): Check the
333         smallest kind passed in user arguments and hardcode tesults for
334         KIND=1 or KIND=2 to indicate no clock available.
336 2015-03-16  Andre Vehreschild  <vehre@gmx.de>
338         * resolve.c: Prevent segfault on illegal input.
340 2015-03-14  Mikael Morin  <mikael@gcc.gnu.org>
342         PR fortran/61138
343         * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY
344         field before reusing LSE.
346 2015-03-11  Janne Blomqvist  <jb@gcc.gnu.org>
348         PR libfortran/65200
349         * gfortran.texi: Document behavior when opening files without
350         explicit ACTION= specifier.
352 2015-03-10  Paul Thomas  <pault@gcc.gnu.org>
354         PR fortran/65024
355         * trans-expr.c (gfc_conv_component_ref): If the component
356         backend declaration is missing and the derived type symbol is
357         available in the reference, call gfc_build_derived_type.
359 2015-03-10  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
360             Tobias Burnus  <burnus@net-b.de>
362         * trans.h (caf_sync_memory): New function decl tree.
363         * trans-decl.c (gfc_build_builtin_function_decls): Define it.
364         (create_main_function): Don't call sync_synchronize and leave
365         it to the CAF library.
366         * trans-stmt.c (gfc_trans_stop): Ditto.
367         (gfc_trans_sync): Ditto; add call library call for sync memory.
369 2015-03-08  Mikael Morin  <mikael@gcc.gnu.org>
371         PR fortran/60898
372         * resolve.c (resolve_symbol): Check that the symbol found by
373         name lookup really is the current symbol being resolved.
375 2015-03-02  Tobias Burnus  <burnus@net-b.de>
377         * check.c (gfc_check_atomic): Properly check for coarrayness
378         and for being coindexed.
380 2015-02-26  Martin Liska  <mliska@suse.cz>
382         * resolve.c: Rename enum 'comparison' to 'compare_result' as
383         solution for -Wodr issue.
385 2015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
387         PR libgomp/64625
388         * f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
389         Remove macros.
390         (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
391         * types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
392         (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
393         Remove function types.
394         (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
395         (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
396         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
397         New function types.
399 2015-02-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>
401         PR fortran/64980
402         PR fortran/61960
403         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping
404         for component references to class objects.
405         (gfc_conv_procedure_call): Compare the class by name.
407 2015-02-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
409         PR fortran/64506
410         * scanner.c (gfc_next_char_literal): For free form source,
411         check for '!' and if found, clear the comment and go back
412         and get the next character. For fixed form source, skip the
413         rest of the line.
415 2015-02-12  Paul Thomas  <pault@gcc.gnu.org>
417         PR fortran/64932
418         * trans-stmt.c (gfc_trans_deallocate): If a component array
419         expression is not a descriptor type and it is a derived type
420         that has allocatable components and is not finalizable, then
421         deallocate the allocatable components.
423 2015-02-08  Mikael Morin  <mikael@gcc.gnu.org>
425         PR fortran/63744
426         * module.c (check_for_ambiguous): Change argument type
427         from gfc_symbol to gfc_symtree.  Check local (symtree) name
428         instead of original (symbol) name.
429         (read_module): Update caller.
431 2015-02-06  Paul Thomas  <pault@gcc.gnu.org>
433         PR fortran/63205
434         * gfortran.h: Add 'must finalize' field to gfc_expr and
435         prototypes for gfc_is_alloc_class_scalar_function and for
436         gfc_is_alloc_class_array_function.
437         * expr.c (gfc_is_alloc_class_scalar_function,
438         gfc_is_alloc_class_array_function): New functions.
439         * trans-array.c (gfc_add_loop_ss_code): Do not move the
440         expression for allocatable class scalar functions outside the
441         loop.
442         (conv_array_index_offset): Cope with deltas being NULL_TREE.
443         (build_class_array_ref): Do not return with allocatable class
444         array functions. Add code to pick out the returned class array.
445         Dereference if necessary and return if not a class object.
446         (gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
447         (gfc_walk_function_expr): Return an array ss for the result of
448         an allocatable class array function.
449         * trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
450         that the argument should be a variable. If an allocatable class
451         array function, set the offset to zero and skip the write-out
452         loop in this case.
453         (gfc_conv_procedure_call): Add allocatable class array function
454         to the assert. Call gfc_conv_subref_array_arg for allocatable
455         class array function arguments with derived type formal arg..
456         Add the code for handling allocatable class functions, including
457         finalization calls to prevent memory leaks.
458         (arrayfunc_assign_needs_temporary): Return if an allocatable
459         class array function.
460         (gfc_trans_assignment_1): Set must_finalize to rhs expression
461         for allocatable class functions. Set scalar_to_array as needed
462         for scalar class allocatable functions assigned to an array.
463         Nullify the allocatable components corresponding the the lhs
464         derived type so that the finalization does not free them.
466 2015-01-29  Andre Vehreschild  <vehre@gmx.de>
467             Janus Weil  <janus@gcc.gnu.org>
469         PR fortran/60289
470         Initial patch by Janus Weil
471         * resolve.c (resolve_allocate_expr): Add check for comp. only
472         when target is not unlimited polymorphic.
473         * trans-stmt.c (gfc_trans_allocate): Assign correct value to
474         _len component of unlimited polymorphic entities.
476 2015-02-05  Tobias Burnus  <burnus@net-b.de>
478         PR fortran/64943
479         * resolve.c (resolve_transfer): Also check structure
480         constructors.
482 2015-02-05  Paul Thomas  <pault@gcc.gnu.org>
484         PR fortran/64757
485         * resolve.c (resolve_structure_cons): Obtain the rank of class
486         components.
487         * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
488         assignment to allocatable class array components.
489         (alloc_scalar_allocatable_for_subcomponent_assignment): If comp
490         is a class component, allocate to the _data field.
491         (gfc_trans_subcomponent_assign): If a class component with a
492         derived type expression set the _vptr field and for array
493         components, call gfc_trans_alloc_subarray_assign. For scalars,
494         the assignment is performed here.
496 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
498         * options.c: Include langhooks.h.
499         (gfc_post_options): Change lang_hooks.name based on
500         selected -std= mode.
502 2015-02-03  Steven G. Kargl  <kargl@gcc.gnu.org>
504         * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
506 2015-01-30  Andre Vehreschild  <vehre@gmx.de>
508         * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
509         * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
510         Fixed datatype of charlen to be a 32-bit int.
512 2015-02-01  Joseph Myers  <joseph@codesourcery.com>
514         * error.c (gfc_warning (const char *, ...), gfc_warning_now (const
515         char *, ...)): Remove functions.
516         * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
517         (const char *, ...)): Remove declarations.
518         * arith.c, check.c, data.c, decl.c, frontend-passes.c,
519         interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
520         options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
521         trans-common.c, trans-const.c, trans-stmt.c: All callers of
522         gfc_warning and gfc_warning_now changed to pass 0 or option number
523         as first argument.
525 2015-01-30  Joseph Myers  <joseph@codesourcery.com>
527         * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
528         callers of fatal_error changed to pass input_location as first
529         argument.
531 2015-01-28  Tobias Burnus  <burnus@net-b.de>
533         * intrinsic.texi (CO_BROADCAST): Correct argument description.
535 2015-01-27  Tobias Burnus  <burnus@net-b.de>
537         PR fortran/63861
538         * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
539         Fix handling for scalar coarrays.
540         * trans-types.c (gfc_get_element_type): Add comment.
542 2015-01-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
544         PR fortran/64771
545         * interface.c: Remove <algorithm>.
546         (check_dummy_characteristics): Use MAX instead of std::max.
548 2015-01-26  Paul Thomas  <pault@gcc.gnu.org>
550         PR fortran/62044
551         * resolve.c (resolve_allocate_expr): If the default initializer
552         is NULL, keep the original MOLD expression so that the correct
553         typespec is available.
555 2015-01-26  Tobias Burnus  <burnus@net-b.de>
557         PR fortran/64771
558         * interface.c (check_dummy_characteristics): Fix coarray handling.
560 2015-01-26  Tobias Burnus  <burnus@net-b.de>
562         * io.c (gfc_match_inquire): Replace "-1" by a defined constant.
564 2015-01-26  Janus Weil  <janus@gcc.gnu.org>
566         PR fortran/64230
567         * class.c (finalize_component): New argument 'sub_ns'. Insert code to
568         check if 'expr' is associated.
569         (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
570         'ptr2'. Pass 'sub_ns' to finalize_component.
572 2015-01-25  Mikael Morin  <mikael@gcc.gnu.org>
574         PR fortran/62044
575         * decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
576         * module.c (MOD_VERSION): Bump.
577         (write_module): Don't write list of extensions.
578         (read_module): Don't jump over list of extensions;
579         don't load list of extensions.
580         (load_derived_extensions, write_dt_extensions,
581          write_derived_extensions): Remove.
583 2015-01-24  Tobias Burnus  <burnus@net-b.de>
585         * parse.c (gfc_parse_file): Fix two-location gfc_error call.
587 2015-01-23  Martin Liska  <mliska@suse.cz>
589         * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
590         false positive during profiledbootstrap by initializing them.
591         * matchexp.c (match_mult_operand): Likewise.
592         * module.c (write_atom): Likewise.
593         (read_module): Likewise.
595 2015-01-23  Tom de Vries  <tom@codesourcery.com>
597         PR libgomp/64672
598         * lang.opt (fopenacc): Mark as LTO option.
600 2015-01-23  Tom de Vries  <tom@codesourcery.com>
602         PR libgomp/64707
603         * lang.opt (fopenmp): Mark as LTO option.
605 2015-01-23  Andre Vehreschild  <vehre@gmx.de>
607         * trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
608         * trans-stmt.c (gfc_trans_allocate): Fixed indentation.
610 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
612         * gfc-diagnostic.def (DK_ICE_NOBT): New kind.
614 2015-01-23  Janus Weil  <janus@gcc.gnu.org>
616         PR fortran/60922
617         * class.c (finalize_component): Apply the check for 'fini_coarray' only
618         to coarray components.
620 2015-01-23  Tobias Burnus  <burnus@net-b.de>
622         PR fortran/64726
623         * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
624         loop generation.
626 2015-01-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
628         PR fortran/61933
629         * libgfortran.h:
630         * trans-io.c (set_parameter_value): Delete use of has_iostat.
631         Redefine to not generate any runtime error check calls.
632         (set_parameter_value_chk): Rename of the former
633         set_parameter_value with the runtime error checks and fix
634         whitespace. (set_parameter_value_inquire): New function that
635         builds a runtime conditional block to set the INQUIRE
636         common parameter block unit number to -2 when unit numbers
637         exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
638         For unit, use the renamed set_parameter_value_chk.
639         (gfc_trans_close): Likewise use renamed function.
640         (build_filepos): Whitespace and use renamed function.
641         (gfc_trans_inquire): Whitespace and for unit use
642         set_parameter_value and set_parameter_value_inquire.
643         (gfc_trans_wait): Remove p->iostat from call to
644         set_parameter_value. Use new set_parameter_value_chk for unit.
645         (build_dt): Use the new set_parameter_value without p->iostat
646         and fix whitespace. Use set_parameter_value_chk for unit.
648 2015-01-21  Thomas Koenig  <tkoenig@netcologne.de>
650         PR fortran/57023
651         * dependency.c (callback_dummy_intent_not_int):  New function.
652         (dummy_intent_not_in):  New function.
653         (gfc_full_array_ref_p):  Use dummy_intent_not_in.
655 2015-01-18  Andre Vehreschild  <vehre@gmx.de>
656             Janus Weil <janus@gcc.gnu.org>
658         PR fortran/60255
659         * class.c (gfc_get_len_component): New.
660         (gfc_build_class_symbol): Add _len component to unlimited
661         polymorphic entities.
662         (find_intrinsic_vtab): Removed emitting of error message.
663         * gfortran.h: Added prototype for gfc_get_len_component.
664         * simplify.c (gfc_simplify_len): Use _len component where
665         available.
666         * trans-expr.c (gfc_class_len_get): New.
667         (gfc_conv_intrinsic_to_class): Add handling for deferred
668         character arrays.
669         (gfc_conv_structure): Treat _len component correctly.
670         (gfc_conv_expr): Prevent bind_c handling when not required.
671         (gfc_trans_pointer_assignment): Propagate _len component.
672         * trans-stmt.c (class_has_len_component): New.
673         (trans_associate_var): _len component treatment for associate
674         context.
675         (gfc_trans_allocate): Same as for trans_associate_var()
676         * trans.h: Added prototype for gfc_class_len_get.
678 2015-01-18  Paul Thomas  <pault@gcc.gnu.org>
680         PR fortran/57959
681         * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
682         for allocatable components, where the source is a variable.
684 2015-01-18  Paul Thomas  <pault@gcc.gnu.org>
686         PR fortran/55901
687         * primary.c (gfc_match_varspec): Exclude dangling associate-
688         names with dimension 0 from being counted as arrays.
689         * resolve.c (resolve_assoc_var): Sub-strings are permissible
690         for associate-names, so exclude characters from the test for
691         misuse as arrays.
692         * trans-decl.c (gfc_get_symbol_decl): Associate-names can use
693         the hidden string length variable of their associated target.
694         Signal this by setting 'length' to a constant, if the decl for
695         the string length is a variable.
697 2015-01-17  Paul Thomas  <pault@gcc.gnu.org>
699         PR fortran/64578
700         * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
701         before reinitializing rse, to add the rse.pre to block before
702         creating 'ptrtemp'.
703         * trans-intrinsic.c (gfc_conv_associated): Deal with the class
704         data being a descriptor.
706 2015-01-17  Andre Vehreschild  <vehre@gmx.de>
708         PR fortran/60357
709         * primary.c (build_actual_constructor): Prevent warning.
710         * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
711         assignment): New function encapsulates treatment of allocatable
712         components.
713         (gfc_trans_subcomponent_assign): Needed to distinguish between
714         regular assignment and initilization.
715         (gfc_trans_structure_assign): Same.
716         (gfc_conv_structure): Same.
718         PR fortran/61275
719         * gfortran.h: deferred_parameter is not needed, because
720         it artificial does the trick completely.
721         * primary.c (build_actual_constructor): Same.
722         (gfc_convert_to_structure_constructor): Same.
723         * resolve.c (resolve_fl_derived0): Same.
724         * trans-expr.c (gfc_conv_component_ref): Prevent treating
725         allocatable deferred length char arrays here.
726         (gfc_trans_subcomponent_assign): Same as above.
727         * trans-types.c (gfc_sym_type): This is done in
728         gfc_get_derived_type already.
730 2015-01-17  Andre Vehreschild  <vehre@gmx.de>
732         PR fortran/60334
733         * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
734         length when the symbol is declared to be a result.
735         * trans-expr.c (gfc_conv_procedure_call): Strip deref on the
736         string length when functions are nested and the string length
737         is a reference already.
739 2015-01-16  Janus Weil  <janus@gcc.gnu.org>
741         PR fortran/45290
742         * decl.c (match_pointer_init): Error out if resolution of init expr
743         failed.
745 2015-01-15  Tobias Burnus  <burnus@net-b.de>
747         * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
748         resolve_oacc_deviceptr_clause, resolve_omp_clauses,
749         gfc_resolve_oacc_declare): Replace '%s' by %qs.
751 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
752             Cesar Philippidis  <cesar@codesourcery.com>
753             James Norris  <jnorris@codesourcery.com>
754             Ilmir Usmanov  <i.usmanov@samsung.com>
755             Tobias Burnus  <burnus@net-b.de>
757         * lang.opt (fopenacc): New option.
758         * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
759         * dump-parse-tree.c (show_omp_node): Split part of it into...
760         (show_omp_clauses): ... this new function.
761         (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
762         EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
763         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
764         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
765         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
766         (show_namespace): Update for OpenACC.
767         * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
768         (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
769         (DEF_GOACC_BUILTIN_COMPILER): New macros.
770         * types.def (BT_FN_VOID_INT_INT_VAR)
771         (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
772         (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
773         New function types.
774         * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
775         ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
776         ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
777         ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
778         ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
779         ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
780         ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
781         ST_OACC_ROUTINE.
782         (struct gfc_expr_list): New data type.
783         (gfc_get_expr_list): New macro.
784         (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
785         OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
786         OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
787         (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
788         (OMP_LIST_CACHE): New enumerators.
789         (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
790         vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
791         wait_list, tile_list, async, gang, worker, vector, seq,
792         independent, wait, par_auto, gang_static, and loc members.
793         (struct gfc_namespace): Add oacc_declare_clauses member.
794         (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
795         EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
796         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
797         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
798         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
799         (gfc_free_expr_list, gfc_resolve_oacc_directive)
800         (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
801         (gfc_resolve_oacc_blocks): New prototypes.
802         * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
803         EXEC_OACC_PARALLEL_LOOP.
804         * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
805         (gfc_match_oacc_update, gfc_match_oacc_declare)
806         (gfc_match_oacc_loop, gfc_match_oacc_host_data)
807         (gfc_match_oacc_data, gfc_match_oacc_kernels)
808         (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
809         (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
810         (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
811         prototypes.
812         * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
813         (gfc_free_omp_clauses): Update for members added to struct
814         gfc_omp_clauses.
815         (gfc_match_omp_clauses): Change mask paramter to uint64_t.  Add
816         openacc parameter.
817         (resolve_omp_clauses): Add openacc parameter.  Update for OpenACC.
818         (struct fortran_omp_context): Add is_openmp member.
819         (gfc_resolve_omp_parallel_blocks): Initialize it.
820         (gfc_resolve_do_iterator): Update for OpenACC.
821         (gfc_resolve_omp_directive): Call
822         resolve_omp_directive_inside_oacc_region.
823         (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
824         (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
825         (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
826         (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
827         (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
828         (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
829         (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
830         (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
831         (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
832         (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
833         (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
834         (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
835         (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
836         (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
837         (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
838         (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
839         (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
840         (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
841         (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
842         (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
843         (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
844         (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
845         (gfc_match_omp_clauses): Handle those.
846         (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
847         (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
848         (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
849         (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
850         (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
851         (OACC_WAIT_CLAUSES): New macros.
852         (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
853         (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
854         (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
855         (gfc_match_oacc_kernels, gfc_match_oacc_data)
856         (gfc_match_oacc_host_data, gfc_match_oacc_loop)
857         (gfc_match_oacc_declare, gfc_match_oacc_update)
858         (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
859         (gfc_match_oacc_wait, gfc_match_oacc_cache)
860         (gfc_match_oacc_routine, oacc_is_loop)
861         (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
862         (check_symbol_not_pointer, check_array_not_assumed)
863         (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
864         (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
865         (omp_code_to_statement, oacc_code_to_statement)
866         (resolve_oacc_directive_inside_omp_region)
867         (resolve_omp_directive_inside_oacc_region)
868         (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
869         (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
870         (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
871         (gfc_resolve_oacc_directive): New functions.
872         * parse.c (next_free): Update for OpenACC.  Move some code into...
873         (verify_token_free): ... this new function.
874         (next_fixed): Update for OpenACC.  Move some code into...
875         (verify_token_fixed): ... this new function.
876         (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
877         ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
878         (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
879         ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
880         ST_OACC_KERNELS_LOOP.
881         (case_decl): Add ST_OACC_ROUTINE.
882         (push_state, parse_critical_block, parse_progunit): Update for
883         OpenACC.
884         (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
885         ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
886         ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
887         ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
888         ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
889         ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
890         ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
891         ST_OACC_ROUTINE.
892         (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
893         (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
894         ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
895         ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
896         (decode_oacc_directive, parse_oacc_structured_block)
897         (parse_oacc_loop, is_oacc): New functions.
898         * parse.h (struct gfc_state_data): Add oacc_declare_clauses
899         member.
900         (is_oacc): New prototype.
901         * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
902         EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
903         EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
904         EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
905         EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
906         EXEC_OACC_EXIT_DATA.
907         (resolve_codes): Call gfc_resolve_oacc_declare.
908         * scanner.c (openacc_flag, openacc_locus): New variables.
909         (skip_free_comments): Update for OpenACC.  Move some code into...
910         (skip_omp_attribute): ... this new function.
911         (skip_oacc_attribute): New function.
912         (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
913         * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
914         EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
915         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
916         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
917         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
918         * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
919         * trans-openmp.c: Include "gomp-constants.h".
920         (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
921         instead of OMP_CLAUSE_MAP_*.  Use OMP_CLAUSE_SET_MAP_KIND.
922         (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
923         OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
924         OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
925         OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
926         OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
927         independent, wait_list, num_gangs_expr, num_workers_expr,
928         vector_length_expr, vector, vector_expr, worker, worker_expr,
929         gang, gang_expr members.
930         (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
931         (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
932         (gfc_trans_oacc_executable_directive)
933         (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
934         (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
935         * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
936         * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
937         New prototypes.
938         * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
939         EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
940         EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
941         EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
942         EXEC_OACC_EXIT_DATA.
943         * gfortran.texi: Update for OpenACC.
944         * intrinsic.texi: Likewise.
945         * invoke.texi: Likewise.
947 2015-01-15  Janus Weil  <janus@gcc.gnu.org>
949         PR fortran/58023
950         * resolve.c (resolve_fl_derived0): Continue resolving next component
951         after error.
953 2015-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
955         PR fortran/61933
956         * io.c (gfc_match_inquire): Generate error if unit number in
957         inquire statement is a constant -1.  All other values allowed.
958         * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
959         (create_dummy_iostat): Delete function no longer used.
961 2015-01-13  Jakub Jelinek  <jakub@redhat.com>
963         PR fortran/64528
964         * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
965         on dummy args with VALUE attribute.
967 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
969         PR fortran/63733
970         * interface.c (gfc_extend_expr): Look for type-bound operators before
971         non-typebound ones.
973 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
975         PR fortran/58023
976         * resolve.c (resolve_fl_derived0): Set error flag if problems with the
977         interface of a procedure-pointer component were detected.
979 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
981         PR fortran/64508
982         * interface.c (compare_parameter): Interface check for
983         procedure-pointer component as actual argument.
985 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
987         * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
988         Runtime Library" to "GNU Offloading and Multi Processing Runtime
989         Library".
990         * intrinsic.texi: Likewise.
992 2015-01-10  Tobias Burnus  <burnus@net-b.de>
994         PR fortran/64522
995         * invoke.texi (Wline-truncation): Document new behaviour.
996         * lang.opt (Wline-truncation): Add Init(-1).
997         * options.c (gfc_post_options): If -Wline-truncation is unset,
998         enable it for free-form source files; for the latter, also use
999         -Werror=line-truncation, unless -Wno-error has been specified.
1001 2015-01-09  Michael Collison  <michael.collison@linaro.org>
1003         * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1004         input.h, alias.h, symtab.h, options.h, fold-const.h,
1005         wide-int.h, and inchash.h due to flattening of tree.h.
1006         * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1007         input.h, alias.h, symtab.h, fold-const.h,
1008         wide-int.h, and inchash.h due to flattening of tree.h.
1009         * decl.c: Ditto.
1010         * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1011         input.h, alias.h, symtab.h, options.h, fold-const.h,
1012         wide-int.h, and inchash.h due to flattening of tree.h.
1013         * iresolve.c: Ditto.
1014         * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1015         input.h, alias.h, symtab.h, fold-const.h,
1016         wide-int.h, and inchash.h due to flattening of tree.h.
1017         * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1018         input.h, alias.h, symtab.h, options.h, fold-const.h,
1019         wide-int.h, and inchash.h due to flattening of tree.h.
1020         * options.c: Ditto.
1021         * target-memory.c: Include hash-set.h, vec.h,
1022         double-int.h, input.h, alias.h, symtab.h, fold-const.h,
1023         wide-int.h, and inchash.h due to flattening of tree.h.
1024         * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1025         input.h, alias.h, symtab.h, options.h, fold-const.h,
1026         wide-int.h, and inchash.h due to flattening of tree.h.
1027         * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1028         input.h, alias.h, symtab.h, options.h, fold-const.h,
1029         wide-int.h, and inchash.h due to flattening of tree.h.
1030         * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1031         input.h, alias.h, symtab.h, fold-const.h,
1032         wide-int.h, and inchash.h due to flattening of tree.h.
1033         * trans-const.c: Ditto.
1034         * trans-decl.c: Ditto.
1035         * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1036         input.h, alias.h, symtab.h, options.h, fold-const.h,
1037         wide-int.h, and inchash.h due to flattening of tree.h.
1038         * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1039         input.h, alias.h, symtab.h, fold-const.h,
1040         wide-int.h, inchash.h and real.h due to flattening of tree.h.
1041         * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1042         input.h, alias.h, symtab.h, options.h, fold-const.h,
1043         wide-int.h, and inchash.h due to flattening of tree.h.
1044         * trans-openmp.c: Ditto.
1045         * trans-stmt.c: Ditto.
1046         * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1047         input.h, alias.h, symtab.h, fold-const.h,
1048         wide-int.h, inchash.h and real.h due to flattening of tree.h.
1050 2015-01-08  Tobias Burnus  <burnus@net-b.de>
1052         * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
1053         for module coarrays with -fcoarray=lib.
1054         (get_proc_pointer_decl): As module variable, make only public
1055         when not marked as private.
1057 2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
1059         PR fortran/47674
1060         * dependency.h:  Actually commit changes.
1062 2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
1064         PR fortran/47674
1065         * dependency.c:  Update copyright years.
1066         (gfc_discard_nops):  Add prototype.
1067         * dependency.c (discard_nops):  Rename to gfc_discard_nops,
1068         make non-static.
1069         (gfc_discard_nops):  Use gfc_discard_nops.
1070         (gfc_dep_difference):  Likewise.
1071         * frontend-passes.c  Update copyright years.
1072         (realloc_strings):  New function.  Add prototype.
1073         (gfc_run_passes):  Call realloc_strings.
1074         (realloc_string_callback):  New function.
1075         (create_var):  Add prototype.  Handle case of a
1076         scalar character variable.
1077         (optimize_trim):  Do not handle allocatable variables.
1079 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
1081         Update copyright years.
1083         * gfortranspec.c (lang_specific_driver): Update copyright notice
1084         dates.
1085         * gfc-internals.texi: Bump @copying's copyright year.
1086         * gfortran.texi: Ditto.
1087         * intrinsic.texi: Ditto.
1088         * invoke.texi: Ditto.
1090 2015-01-02  Janus Weil  <janus@gcc.gnu.org>
1092         PR fortran/57562
1093         * expr.c (find_component_ref): Deal with extended types.
1095 2015-01-02  Tobias Burnus  <burnus@net-b.de>
1097         * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
1098         for module coarrays with -fcoarray=lib.
1100 2015-01-02  Janus Weil  <janus@gcc.gnu.org>
1102         PR fortran/60507
1103         * interface.c (is_procptr_result): New function to check if an
1104         expression is a procedure-pointer result.
1105         (compare_actual_formal): Use it.
1107 Copyright (C) 2015 Free Software Foundation, Inc.
1109 Copying and distribution of this file, with or without modification,
1110 are permitted in any medium without royalty provided the copyright
1111 notice and this notice are preserved.