openmp.c (match_acc): New generic function to parse OpenACC directives.
[official-gcc.git] / gcc / fortran / ChangeLog
blob0bb604c51ed77acc2bef30c3d376132e72df0d62
1 2016-06-17  Cesar Philippidis  <cesar@codesourcery.com>
3         * openmp.c (match_acc): New generic function to parse OpenACC
4         directives.
5         (gfc_match_oacc_parallel_loop): Use it.
6         (gfc_match_oacc_parallel): Likewise.
7         (gfc_match_oacc_kernels_loop): Likewise.
8         (gfc_match_oacc_kernels): Likewise.
9         (gfc_match_oacc_data): Likewise.
10         (gfc_match_oacc_host_data): Likewise.
11         (gfc_match_oacc_loop): Likewise.
12         (gfc_match_oacc_enter_data): Likewise.
13         (gfc_match_oacc_exit_data): Likewise.
15 2016-06-16  Martin Liska  <mliska@suse.cz>
17         * trans-stmt.c (gfc_trans_simple_do): Predict the edge.
19 2016-06-16  Martin Liska  <mliska@suse.cz>
21         * trans-array.c (gfc_array_allocate): Do not generate expect
22         stmt.
23         * trans.c (gfc_allocate_using_malloc): Properly set FAIL_ALLOC
24         predictor for malloc return value.
25         (gfc_allocate_allocatable): Use REALLOC predictor instead of
26         FAIL_ALLOC.
27         (gfc_deallocate_with_status): Likewise.
29 2016-06-13  Paul Thomas  <pault@gcc.gnu.org>
31         PR fortran/70673
32         * frontend-passes.c (realloc_string_callback): Add a call to
33         gfc_dep_compare_expr.
35 2016-06-11  Dominique d'Humieres  <dominiq@lps.ens.fr>
37         PR fortran/60751
38         * io.c (gfc_resolve_dt): Replace GFC_STD_GNU with GFC_STD_LEGACY.
40 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
42         PR c/71381
43         * openmp.c (gfc_match_oacc_cache): Add comment.
45 2016-06-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
47         PR fortran/71404
48         * io.c (match_io): For READ, commit in pending symbols in the
49         current statement before trying to match an expression so that
50         if the match fails and we undo symbols we dont toss good symbols.
52 2016-06-05  Andre Vehreschild  <vehre@gcc.gnu.org>
54         PR fortran/69659
55         * trans-array.c (gfc_trans_dummy_array_bias): For class arrays use
56         the address of the _data component to reference the arrays data
57         component.
59 2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
61         * trans-openmp.c (gfc_trans_omp_reduction_list): Add mark_addressable
62         bool parameter, set reduction clause DECLs as addressable when true.
63         (gfc_trans_omp_clauses): Pass clauses->async to
64         gfc_trans_omp_reduction_list, add comment describing OpenACC situation.
66 2016-06-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
68         PR fortran/52393
69         * io.c (match_io): For READ, try to match a default character
70         expression. If found, set the dt format expression to this,
71         otherwise go back and try control list.
73 2016-06-01  Paul Thomas  <pault@gcc.gnu.org>
75         PR fortran/71156
76         * decl.c (copy_prefix): Add checks that the module procedure
77         declaration prefixes are compliant with the interface. Invert
78         order of existing elemental and pure checks.
79         * resolve.c (resolve_fl_procedure): Invert order of elemental
80         and pure errors.
82 2016-06-01  Jakub Jelinek  <jakub@redhat.com>
84         * parse.c (case_decl): Move ST_OMP_* to ...
85         (case_omp_decl): ... here, new macro.
86         (verify_st_order): For case_omp_decl, complain about
87         p->state >= ORDER_EXEC, but don't change p->state otherwise.
89 2016-05-26  Jakub Jelinek  <jakub@redhat.com>
91         * openmp.c (resolve_omp_clauses): Warn if chunk_size is known not to
92         be positive.
94 2016-05-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
96         PR fortran/66461
97         * scanner.c (gfc_next_char_literal): Clear end_flag when adjusting
98         current locus back to old_locus.
100 2016-05-20  Jakub Jelinek  <jakub@redhat.com>
102         PR fortran/71204
103         * frontend-passes.c (realloc_string_callback): Clear inserted_block
104         and changed_statement before calling create_var.
106 2016-05-15  Harald Anlauf  <anlauf@gmx.de>
108         PR fortran/69603
109         * interface.c (compare_parameter): Check for non-NULL pointer.
111 2016-05-14  Fritz Reese  <fritzoreese@gmail.com>
113         * gfortran.texi: Update example of DEC UNION extension.
115 2016-05-14  Fritz Reese  <fritzoreese@gmail.com>
117         PR fortran/71047
118         * expr.c (gfc_default_initializer): Avoid extra component refs in
119         constructors for derived types and classes.
121 2016-05-11  Jakub Jelinek  <jakub@redhat.com>
123         PR fortran/70855
124         * frontend-passes.c (inline_matmul_assign): Disable in !$omp workshare.
126 2016-05-09  Richard Biener  <rguenther@suse.de>
128         PR fortran/70937
129         * trans-decl.c: Include gimplify.h for unshare_expr.
130         (gfc_trans_vla_one_sizepos): Unshare exprs before inserting
131         them into the IL.
133 2016-05-07  Fritz Reese  <fritzoreese@gmail.com>
135         PR fortran/56226
136         * module.c (dt_upper_string): Rename to gfc_dt_upper_string
137         (dt_lower_string): Likewise.
138         * gfortran.h: Make new gfc_dt_upper/lower_string global.
139         * class.c: Use gfc_dt_upper_string.
140         * decl.c: Likewise.
141         * symbol.c: Likewise.
142         * resolve.c (resolve_component): New function.
143         (resolve_fl_derived0): Move component loop code to resolve_component.
144         * parse.c (check_component): New function.
145         (parse_derived): Move loop code to check_component.
146         * lang.opt, invoke.texi, options.c : New option -fdec-structure.
147         * libgfortran.h (bt): New basic type BT_UNION.
148         * gfortran.h (gfc_option): New option -fdec-structure.
149         (gfc_get_union_type, gfc_compare_union_types): New prototypes.
150         (gfc_bt_struct, gfc_fl_struct, case_bt_struct, case_fl_struct): New
151         macros.
152         (gfc_find_component): Change prototype.
153         * match.h (gfc_match_member_sep, gfc_match_map, gfc_match_union,
154         gfc_match_structure_decl): New prototypes.
155         * parse.h (gfc_comp_struct): New macro.
156         * symbol.c (gfc_find_component): Search for components in nested unions
157         * class.c (insert_component_ref, gfc_add_component_ref, add_proc_comp,
158         copy_vtab_proc_comps): Update calls to gfc_find_component.
159         * primary.c (gfc_convert_to_structure_constructor): Likewise.
160         * symbol.c (gfc_add_component): Likewise.
161         * resolve.c (resolve_typebound_function, resolve_typebound_subroutine,
162         resolve_typebound_procedure, resolve_component, resolve_fl_derived):
163         Likewise.
164         * expr.c (get_union_init, component_init): New functions.
165         * decl.c (match_clist_expr, match_record_decl, get_struct_decl,
166         gfc_match_map, gfc_match_union, gfc_match_structure_decl): Likewise.
167         * interface.c (compare_components, gfc_compare_union_types): Likewise.
168         * match.c (gfc_match_member_sep): Likewise.
169         * parse.c (check_component, parse_union, parse_struct_map): Likewise.
170         * resolve.c (resolve_fl_struct): Likewise.
171         * symbol.c (find_union_component): Likewise.
172         * trans-types.c (gfc_get_union_type): Likewise.
173         * parse.c (parse_derived): Use new functions.
174         * interface.c (gfc_compare_derived_types, gfc_compare_types): Likewise.
175         * expr.c (gfc_default_initializer): Likewise.
176         * gfortran.texi: Support for DEC structures, unions, and maps.
177         * gfortran.h (gfc_statement, sym_flavor): Likewise.
178         * check.c (gfc_check_kill_sub): Likewise.
179         * expr.c (gfc_copy_expr, simplify_const_ref,
180         gfc_has_default_initializer): Likewise.
181         * decl.c (build_sym, match_data_constant, add_init_expr_to_sym,
182         match_pointer_init, build_struct, variable_decl,
183         gfc_match_decl_type_spec, gfc_mach_data-decl, gfc_match_entry,
184         gfc_match_end, gfc_match_derived_decl): Likewise.
185         * interface.c (check_interface0, check_interface1,
186         gfc_search_interface): Likewise.
187         * misc.c (gfc_basic_typename, gfc_typename): Likewise.
188         * module.c (add_true_name, build_tnt, bt_types, mio_typespec,
189         fix_mio_expr, load_needed, mio_symbol, read_module, write_symbol,
190         gfc_get_module_backend_decl): Likewise.
191         * parse.h (gfc_compile_state): Likewise.
192         * parse.c (decode_specification_statement, decode_statement,
193         gfc_ascii_statement, verify_st_order, parse_spec): Likewise.
194         * primary.c (gfc_match_varspec, gfc_match_structure_constructor,
195         gfc_match_rvalue, match_variable): Likewise.
196         * resolve.c (find_arglists, resolve_structure_cons,
197         is_illegal_recursion, resolve_generic_f, get_declared_from_expr,
198         resolve_typebound_subroutine, resolve_allocate_expr,
199         nonscalar_typebound_assign, generate_component_assignments,
200         resolve_fl_variable_derived, check_defined_assignments,
201         resolve_component, resolve_symbol, resolve_equivalence_derived):
202         Likewise.
203         * symbol.c (flavors, check_conflict, gfc_add_flavor, gfc_use_derived,
204         gfc_restore_last_undo_checkpoint, gfc_type_compatible,
205         gfc_find_dt_in_generic): Likewise.
206         * trans-decl.c (gfc_get_module_backend_decl, create_function_arglist,
207         gfc_create_module_variable, check_constant_initializer): Likewise.
208         * trans-expr.c (gfc_conv_component_ref, gfc_conv_initializer,
209         gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
210         gfc_conv_structure, gfc_trans_scalar_assign, copyable_array_p):
211         Likewise.
212         * trans-io.c (transfer_namelist_element, transfer_expr,
213         gfc_trans_transfer): Likewise.
214         * trans-stmt.c (gfc_trans_deallocate): Likewise.
215         * trans-types.c (gfc_typenode_for_spec, gfc_copy_dt_decls_ifequal,
216         gfc_get_derived_type): Likewise.
218 2016-05-05  Jakub Jelinek  <jakub@redhat.com>
220         * openmp.c (gfc_match_omp_clauses): Restructuralize, so that clause
221         parsing is done in a big switch based on gfc_peek_ascii_char and
222         individual clauses under their first letters are sorted too.
224 2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
226         * trans-types.c (gfc_build_complex_type):
228 2016-05-02  Richard Biener  <rguenther@suse.de>
230         * trans-array.c (gfc_trans_create_temp_array): Properly
231         create a DECL_EXPR for the anonymous VLA array type.
233 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
235         PR middle-end/70626
236         * trans-openmp.c (gfc_trans_oacc_combined_directive): Duplicate
237         the reduction clause in both parallel and loop directives.
239 2016-04-18  Michael Matz  <matz@suse.de>
241         * trans-io.c (gfc_build_io_library_fndecls): Use SET_TYPE_ALIGN.
242         * trans-common.c (build_common_decl): Use SET_DECL_ALIGN.
243         * trans-types.c (gfc_add_field_to_struct): Use SET_DECL_ALIGN.
245 2016-04-13  Dominique d'Humieres  <dominiq@lps.ens.fr>
247         PR fortran/67039
248         * intrinsic.texi: Correct the documentation of pseudorandom
249         number intrinsics.
251 2016-04-13  Dominique d'Humieres  <dominiq@lps.ens.fr>
253         PR fortran/58000
254         * gfortran.texi: Document OPEN( ... NAME=) as not implemented
255         in GNU Fortran
257 2016-04-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
259         PR fortran/68566
260         * array.c (match_array_element_spec): Add check for non-integer.
261         * simplify.c (gfc_simplify_reshape): If source shape is NULL return.
263 2016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>
265         PR c/70436
266         * openmp.c (gfc_find_omp_udr): Add explicit braces to resolve a
267         future -Wparentheses warning.
269 2016-04-04  Andre Vehreschild  <vehre@gcc.gnu.org>
271         PR fortran/67538
272         * resolve.c (resolve_allocate_expr): Emit error message when no
273         array spec and no array valued source= expression is given in an
274         F2008 allocate() for an array to allocate.
276 2016-04-04  Andre Vehreschild  <vehre@gcc.gnu.org>
278         PR fortran/65795
279         * trans-array.c (gfc_array_allocate): When the array is a coarray,
280         do not nullyfing its allocatable components in array_allocate, because
281         the nullify missed the array ref and nullifies the wrong component.
282         Cosmetics.
284 2016-03-29  Andre Vehreschild  <vehre@gcc.gnu.org>
286         PR fortran/70397
287         * trans-expr.c (gfc_class_len_or_zero_get): Add function to return a
288         constant zero tree, when the class to get the _len component from is
289         not unlimited polymorphic.
290         (gfc_copy_class_to_class): Use the new function.
291         * trans.h: Added interface of new function gfc_class_len_or_zero_get.
293 2016-03-28  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
295         * trans-decl.c (gfc_build_builtin_function_decls):
296         caf_stop_numeric and caf_stop_str definition.
297         * trans-stmt.c (gfc_trans_stop): invoke external functions
298         for stop and stop_str when coarrays are used.
299         * trans.h: extern for new functions.
301 2016-03-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
303         PR fortran/69043
304         * scanner.c (load_file): Update to use S_ISREG macro.
306 2016-03-17  Thomas Schwinge  <thomas@codesourcery.com>
308         * gfortran.h (enum gfc_omp_map_op): Rename OMP_MAP_FORCE_DEALLOC
309         to OMP_MAP_DELETE.  Adjust all users.
311 2016-03-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
312             Jim MacArthur  <jim.macarthur@codethink.co.uk>
314         PR fortran/69043
315         * scanner.c (load_file): Check that included file is regular.
317 2016-03-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
318             Harold Anlauf  <anlauf@gmx.de>
320         PR fortran/69520
321         * invoke.texi: Explain use of the 'no-' construct within the
322         -fcheck= option.
323         * options.c (gfc_handle_runtime_check_option): Enable use of
324         'no-' prefix for the various options with -fcheck= to allow
325         negating previously enabled check options.
327 2016-03-12  Paul Thomas  <pault@gcc.gnu.org>
329         PR fortran/70031
330         * decl.c (gfc_match_prefix): Treat the 'module' prefix in the
331         same way as the others, rather than fixing it to come last.
332         (gfc_match_function_decl, gfc_match_subroutine): After errors
333         in 'copy_prefix', emit them immediately in the case of module
334         procedures to prevent a later ICE.
336         PR fortran/69524
337         * decl.c (gfc_match_submod_proc): Permit 'module procedure'
338         declarations within the contains section of modules as well as
339         submodules.
340         * resolve.c (resolve_fl_procedure): Likewise.
341         *trans-decl.c (build_function_decl): Change the gcc_assert to
342         allow all forms of module procedure declarations within module
343         contains sections.
345 2016-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
347         PR fortran/68147
348         PR fortran/47674
349         * frontend-passes.c (realloc_string_callback): Don't set
350         walk_subtrees.
352 2016-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
354         * dump-parse-tree.c (show_code_node):  Print association
355         list of a block if present.  Handle EXEC_END_BLOCK.
357 2016-02-28  Harald Anlauf <anlauf@gmx.de>
358             Jerry DeLisle  <jvdelisle@gcc.gnu.org>
360         PR fortran/56007
361         * match.c (gfc_match_iterator): Add diagnostic for array variable
362         as do loop index.
364 2016-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
365             Steven G. Kargl  <kargl@gcc.gnu.org>
367         PR fortran/69910
368         * io.c (gfc_match_open): Check that open status is an expression
369         constant before comparing string to 'scratch' with NEWUNIT.
371 2016-02-27  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
373         * trans.c (gfc_allocate_allocatable): size conversion
374         from byte to number of elements for event variables.
375         * trans-types.c (gfc_get_derived_type): event variables
376         represented as a pointer (like lock variable).
378 2016-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
380         PR fortran/61156
381         * scanner.c (add_path_to_list): If include path is not a directory,
382         issue a fatal error.
384 2016-02-23  Andre Vehreschild  <vehre@gcc.gnu.org>
386         PR fortran/67451
387         * trans-array.c (gfc_array_allocate): Take the attributes from the
388         expression to allocate and not from the source=-expression.
390 2016-02-20  Paul Thomas  <pault@gcc.gnu.org>
392         PR fortran/69423
393         * trans-decl.c (create_function_arglist): Deferred character
394         length functions, with and without declared results, address
395         the passed reference type as '.result' and the local string
396         length as '..result'.
397         (gfc_null_and_pass_deferred_len): Helper function to null and
398         return deferred string lengths, as needed.
399         (gfc_trans_deferred_vars): Call it, thereby reducing repeated
400         code, add call for deferred arrays and reroute pointer function
401         results. Avoid using 'tmp' for anything other that a temporary
402         tree by introducing 'type_of_array' for the arrayspec type.
404 2015-02-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
406         PR fortran/69742
407         * frontend-passes.c (cfe-expr_0):  Don't register functions
408         from within an ASSOCIATE statement.
410 2016-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
412         PR fortran/60526
413         * decl.c (build_sym):  If the name has already been defined as a
414         type, it has a symtree with an upper case letter at the beginning.
415         If such a symtree exists, issue an error and exit.  Don't do
416         this if there is no corresponding upper case letter.
418 2016-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
420         PR fortran/60526
421         PR bootstrap/69816
422         * decl.c (build_sym):  Reverted previous patch.
424 2016-02-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
426         PR fortran/60526
427         * decl.c (build_sym):  If the name has already been defined as a
428         type, issue error and return false.
430 2016-02-12  David Malcolm  <dmalcolm@redhat.com>
432         PR other/69554
433         * error.c (gfc_diagnostic_start_span): New function.
434         (gfc_diagnostics_init): Initialize global_dc's start_span.
436 2016-02-11  Andre Vehreschild  <vehre@gcc.gnu.org>
438         PR fortran/69296
439         * gfortran.h: Added flag to gfc_association_list indicating that
440         the rank of an associate variable has been guessed only.
441         * parse.c (parse_associate): Set the guess flag mentioned above
442         when guessing the rank of an expression.
443         * resolve.c (resolve_assoc_var): When the rank has been guessed,
444         make sure, that the guess was correct else overwrite with the actual
445         rank.
446         * trans-stmt.c (trans_associate_var): For subref_array_pointers in
447         class objects, take the span from the _data component.
449 2016-02-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
451         PR fortran/50555
452         * primary.c (match_actual_arg): If symbol has attribute flavor of
453         namelist, generate an error. (gfc_match_rvalue): Likewise return
454         MATCH_ERROR.
455         * resolve.c (resolve_symbol): Scan arument list of procedures and
456         generate an error if a namelist is found.
458 2016-02-05  Mikael Morin  <mikael@gcc.gnu.org>
460         PR fortran/66089
461         * trans-expr.c (expr_is_variable, gfc_expr_is_variable): Rename
462         the former to the latter and make it non-static.  Update callers.
463         * gfortran.h (gfc_expr_is_variable): New declaration.
464         (struct gfc_ss_info): Add field needs_temporary.
465         * trans-array.c (gfc_scalar_elemental_arg_saved_as_argument):
466         Tighten the condition on aggregate expressions with a check
467         that the expression is a variable and doesn't need a temporary.
468         (gfc_conv_resolve_dependency): Add intermediary reference variable.
469         Set the needs_temporary field.
471 2016-02-03  Andre Vehreschild  <vehre@gcc.gnu.org>
473         PR fortran/67451
474         PR fortran/69418
475         * trans-expr.c (gfc_copy_class_to_class): For coarrays just the
476         pointer is passed.  Take it as is without trying to deref the
477         _data component.
478         * trans-stmt.c (gfc_trans_allocate): Take care of coarrays as
479         argument to source=-expression.
481 2016-02-02  Nathan Sidwell  <nathan@codesourcery.com>
483         * lang.opt (fopenacc-dim=): New option.
485 2016-01-31  Paul Thomas  <pault@gcc.gnu.org>
487         PR fortran/67564
488         * trans-expr.c (gfc_conv_procedure_call): For the vtable copy
489         subroutines, add a string length argument, when the actual
490         argument is an unlimited polymorphic class object.
492 2016-01-30  Paul Thomas  <pault@gcc.gnu.org>
494         PR fortran/69566
495         * trans-expr.c (gfc_conv_procedure_call): Correct expression
496         for 'ulim_copy', which was missing a test for 'comp'.
498 2016-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>
500         PR fortran/62536
501         * decl.c (gfc_match_end): Only unnest and remove BLOCK namespaces
502         when the END encountered does not match a BLOCK's end.
504 2016-01-27  Janus Weil  <janus@gcc.gnu.org>
506         PR fortran/69484
507         * invoke.texi: Fix documentation of -Wall with respect to -Wtabs.
509 2016-01-27  Paul Thomas  <pault@gcc.gnu.org>
511         PR fortran/69422
512         * trans-expr.c (is_scalar_reallocatable_lhs): Remove the check
513         for allocatable components, whilst checking if the symbol is a
514         derived or class entity..
516 2016-01-26  Paul Thomas  <pault@gcc.gnu.org>
518         PR fortran/69385
519         * trans-expr.c (gfc_trans_assignment_1): Exclude initialization
520         assignments from check on assignment of scalars to unassigned
521         arrays and correct wrong code within the corresponding block.
523 2016-01-26  David Malcolm  <dmalcolm@redhat.com>
525         PR other/69006
526         * error.c (gfc_diagnostic_starter): Delete use of pp_newline.
528 2016-01-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
530         PR fortran/69397
531         PR fortran/68442
532         * interface.c (gfc_arglist_matches_symbol): Replace assert with
533         a return false if not a procedure.
534         * resolve.c (resolve_generic_f): Test if we are resolving an
535         initialization expression and adjust error message accordingly.
537 2016-01-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
539         PR fortran/66094
540         * frontend-passes.c (matmul_lhs_realloc):  Add
541         forgotten break statement.
543 2016-01-24  Dominique d'Humieres <dominiq@lps.ens.fr>
545         PR fortran/68283
546         * primary.c (gfc_variable_attr): revert revision r221955,
547         call gfc_internal_error only if there is no error.
549 2016-01-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
551         PR fortran/66094
552         * frontend-passes.c (enum matrix_case):  Add case A2B2T for
553         MATMUL(A,TRANSPoSE(B)) where A and B are rank 2.
554         (inline_limit_check):  Also add A2B2T.
555         (matmul_lhs_realloc):  Handle A2B2T.
556         (check_conjg_variable):  Rename to
557         (check_conjg_transpose_variable):  and also count TRANSPOSE.
558         (inline_matmul_assign):  Handle A2B2T.
560 2016-01-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
562         PR fortran/65996
563         * error.c (gfc_error): Save the state of abort_on_error and set
564         it to false for buffered errors to allow normal processing.
565         Restore the state before leaving.
567 2016-01-19  Martin Jambor  <mjambor@suse.cz>
569         * types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
570         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
571         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
573 2016-01-15  Paul Thomas  <pault@gcc.gnu.org>
575         PR fortran/64324
576         * resolve.c (check_uop_procedure): Prevent deferred length
577         characters from being trapped by assumed length error.
579         PR fortran/49630
580         PR fortran/54070
581         PR fortran/60593
582         PR fortran/60795
583         PR fortran/61147
584         PR fortran/64324
585         * trans-array.c (gfc_conv_scalarized_array_ref): Pass decl for
586         function as well as variable expressions.
587         (gfc_array_init_size): Add 'expr' as an argument. Use this to
588         correctly set the descriptor dtype for deferred characters.
589         (gfc_array_allocate): Add 'expr' to the call to
590         'gfc_array_init_size'.
591         * trans.c (gfc_build_array_ref): Expand logic for setting span
592         to include indirect references to character lengths.
593         * trans-decl.c (gfc_get_symbol_decl): Ensure that deferred
594         result char lengths that are PARM_DECLs are indirectly
595         referenced both for directly passed and by reference.
596         (create_function_arglist): If the length type is a pointer type
597         then store the length as the 'passed_length' and make the char
598         length an indirect reference to it.
599         (gfc_trans_deferred_vars): If a character length has escaped
600         being set as an indirect reference, return it via the 'passed
601         length'.
602         * trans-expr.c (gfc_conv_procedure_call): The length of
603         deferred character length results is set TREE_STATIC and set to
604         zero.
605         (gfc_trans_assignment_1): Do not fix the rse string_length if
606         it is a variable, a parameter or an indirect reference. Add the
607         code to trap assignment of scalars to unallocated arrays.
608         * trans-stmt.c (gfc_trans_allocate): Remove 'def_str_len' and
609         all references to it. Instead, replicate the code to obtain a
610         explicitly defined string length and provide a value before
611         array allocation so that the dtype is correctly set.
612         trans-types.c (gfc_get_character_type): If the character length
613         is a pointer, use the indirect reference.
615 2016-01-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
617         PR fortran/69154
618         * frontend-passes.c (in_where):  New variable.
619         (inline_matmul_assign):  Don't try this if we are within
620         a WHERE statement.
621         (gfc_code_walker):  Keep track of in_where.
623 2016-01-10  Paul Thomas  <pault@gcc.gnu.org>
625         PR fortran/67779
626         * trans_array.c (gfc_conv_scalarized_array_ref): Add missing
627         se->use_offset from condition for calculation of 'base'.
629 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
631         PR fortran/69128
632         * trans.h (OMPWS_SCALARIZER_BODY): Define.
633         (OMPWS_NOWAIT): Renumber.
634         * trans-stmt.c (gfc_trans_where_3): Only set OMPWS_SCALARIZER_WS
635         if OMPWS_SCALARIZER_BODY is not set already, and set also
636         OMPWS_SCALARIZER_BODY until the final loop creation.
637         * trans-expr.c (gfc_trans_assignment_1): Likewise.
638         * trans-openmp.c (gfc_trans_omp_workshare): Also clear
639         OMPWS_SCALARIZER_BODY.
640         * trans-array.c (gfc_trans_scalarized_loop_end): Don't create
641         OMP_FOR if OMPWS_SCALARIZER_BODY is set.
643 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
645         Update copyright years.
647         * gfortranspec.c (lang_specific_driver): Update copyright notice
648         dates.
649         * gfc-internals.texi: Bump @copying's copyright year.
650         * gfortran.texi: Ditto.
651         * intrinsic.texi: Ditto.
652         * invoke.texi: Ditto.
654 2016-01-01  Paul Thomas  <pault@gcc.gnu.org>
656         PR fortran/68864
657         * trans-array.c (evaluate_bound): If deferred, test that 'desc'
658         is an array descriptor before using gfc_conv_descriptor_xxx.
660 Copyright (C) 2016 Free Software Foundation, Inc.
662 Copying and distribution of this file, with or without modification,
663 are permitted in any medium without royalty provided the copyright
664 notice and this notice are preserved.