2015-11-13 Steven G. Kargl <kargl@gccc.gnu.org>
[official-gcc.git] / gcc / fortran / ChangeLog
bloba455b6bf5311217f35df544f66d3d3b547f80b1e
1 2015-11-13  Steven G. Kargl  <kargl@gccc.gnu.org>
3         PR fortran/68319
4         * decl.c (gfc_match_data, gfc_match_entry): Enforce F2008:C1206.
5         * io.c (gfc_match_format): Ditto.
6         * match.c (gfc_match_st_function): Ditto.
8 2015-11-13  David Malcolm  <dmalcolm@redhat.com>
10         * error.c (gfc_warning): Pass line_table to rich_location ctor.
11         (gfc_warning_now_at): Likewise.
12         (gfc_warning_now): Likewise.
13         (gfc_error_now): Likewise.
14         (gfc_fatal_error): Likewise.
15         (gfc_error): Likewise.
16         (gfc_internal_error): Likewise.
18 2015-11-12  Steven G. Kargl  <kargl@gcc.gnu.org>
20         PR fortran/68318
21         * decl.c (get_proc_name): Increment reference count for ENTRY.
22         While here, fix comment and use postfix ++ for consistency.
24 2015-11-11  Andrew MacLeod  <amacleod@redhat.com>
26         * array.c: Remove unused header files.
27         * convert.c: Likewise.
28         * cpp.c: Likewise.
29         * decl.c: Likewise.
30         * f95-lang.c: Likewise.
31         * frontend-passes.c: Likewise.
32         * iresolve.c: Likewise.
33         * match.c: Likewise.
34         * module.c: Likewise.
35         * options.c: Likewise.
36         * parse.c: Likewise.
37         * target-memory.c: Likewise.
38         * trans-array.c: Likewise.
39         * trans-common.c: Likewise.
40         * trans-const.c: Likewise.
41         * trans-decl.c: Likewise.
42         * trans-expr.c: Likewise.
43         * trans-intrinsic.c: Likewise.
44         * trans-io.c: Likewise.
45         * trans-openmp.c: Likewise.
46         * trans-stmt.c: Likewise.
47         * trans-types.c: Likewise.
48         * trans.c: Likewise.
50 2015-11-11  Dominique d'Humieres <dominiq@lps.ens.fr>
52         PR fortran/67826
53         * openmp.c (gfc_omp_udr_find): Fix typo.
55 2015-11-08  Steven g. Kargl  <kargl@gcc.gnu.org>
57         PR fortran/68053
58         * decl.c (add_init_expr_to_sym):  Try to reduce initialization expression
59         before testing for a constant value.
61 2015-11-08  Andre Vehreschild  <vehre@gcc.gnu.org>
63         PR fortran/68218
64         * trans-array.c (gfc_array_init_size): Add gfc_evaluate_now() when
65         array spec in allocate is a function call.
67 2015-11-08  Steven G. Kargl  <kargl@gc.gnu.org>
69         PR fortran/68224
70         * array.c (match_array_element_spec): Check of invalid NULL().
71         While here, fix nearby comments.
73 2015-11-08  Paul Thomas  <pault@gcc.gnu.org>
75         PR fortran/68196
76         * class.c (has_finalizer_component): Prevent infinite recursion
77         through this function if the derived type and that of its
78         component are the same.
79         * trans-types.c (gfc_get_derived_type): Do the same for proc
80         pointers by ignoring the explicit interface for the component.
82         PR fortran/66465
83         * check.c (same_type_check): If either of the expressions is
84         BT_PROCEDURE, use the typespec from the symbol, rather than the
85         expression.
87 2015-11-07  Steven G. Kargl  <kargl@gcc.gnu.org>
89         PR fortran/68153
90         * check.c (gfc_check_reshape): Improve check for valid SHAPE argument.
92 2015-11-07  Steven G. Kargl  <kargl@gcc.gnu.org>
94         PR fortran/68151
95         * match.c (match_case_selector):  Check for invalid type.
97 2015-11-06  David Malcolm  <dmalcolm@redhat.com>
99         * cpp.c (cb_cpp_error): Convert parameter from location_t to
100         rich_location *.  Eliminate the "column_override" parameter.
101         * error.c (gfc_warning): Update for change in signature of
102         diagnostic_set_info.
103         (gfc_format_decoder): Update handling of %C/%L for changes
104         to struct text_info.
105         (gfc_diagnostic_starter): Use richloc when determining whether to
106         print one locus or two.  When handling a location that will
107         involve a call to diagnostic_show_locus, only attempt to print the
108         locus for the primary location, and don't call into
109         diagnostic_print_caret_line.
110         (gfc_warning_now_at): Update for change in signature of
111         diagnostic_set_info.
112         (gfc_warning_now): Likewise.
113         (gfc_error_now): Likewise.
114         (gfc_fatal_error): Likewise.
115         (gfc_error): Likewise.
116         (gfc_internal_error): Likewise.
118 2015-11-05  Cesar Philippidis  <cesar@codesourcery.com>
120         * openmp.c (gfc_match_omp_clauses): Update support for the tile
121         and default clauses in OpenACC.
122         (gfc_match_oacc_update): Error when data clauses are supplied.
123         (oacc_compatible_clauses): Delete.
124         (resolve_omp_clauses): Give special care for OpenACC reductions.
125         Also update error reporting for the tile clause.
126         (resolve_oacc_loop_blocks): Update error reporting for the tile clause.
127         * trans-openmp.c (gfc_trans_omp_clauses): Update OMP_CLAUSE_SEQ. Add
128         OMP_CLAUSE_{AUTO,TILE} and add support the the gang static argument.
129         (gfc_trans_oacc_combined_directive): Update the list of clauses which
130         are split to acc loops.
132 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
134         * types.def (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove.
135         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New.
137 2015-11-03  Thomas Schwinge  <thomas@codesourcery.com>
138             Chung-Lin Tang  <cltang@codesourcery.com>
140         * gfortran.h (gfc_statement): Add ST_OACC_ATOMIC,
141         ST_OACC_END_ATOMIC.
142         (gfc_exec_op): Add EXEC_OACC_ATOMIC.
143         * match.h (gfc_match_oacc_atomic): New prototype.
144         * openmp.c (gfc_match_omp_atomic, gfc_match_oacc_atomic): New
145         wrapper functions around...
146         (gfc_match_omp_oacc_atomic): ... this new function.
147         (oacc_code_to_statement, gfc_resolve_oacc_directive): Handle
148         EXEC_OACC_ATOMIC.
149         * parse.c (decode_oacc_directive): Handle "atomic", "end atomic".
150         (case_exec_markers): Add ST_OACC_ATOMIC.
151         (gfc_ascii_statement): Handle ST_OACC_ATOMIC, ST_OACC_END_ATOMIC.
152         (parse_omp_atomic): Rename to...
153         (parse_omp_oacc_atomic): ... this new function.  Add omp_p formal
154         parameter.  Adjust all users.
155         (parse_executable): Handle ST_OACC_ATOMIC.
156         (is_oacc): Handle EXEC_OACC_ATOMIC.
157         * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
158         EXEC_OACC_ATOMIC.
159         * st.c (gfc_free_statement): Handle EXEC_OACC_ATOMIC.
160         * trans-openmp.c (gfc_trans_oacc_directive): Handle
161         EXEC_OACC_ATOMIC.
162         * trans.c (trans_code): Handle EXEC_OACC_ATOMIC.
164 2015-10-31  Cesar Philippidis  <cesar@codesourcery.com>
166         PR Bootstrap/68168
168         * openmp.c (resolve_omp_clauses): Pass &n->where when calling
169         gfc_error.
171 2015-10-30  Cesar Philippidis  <cesar@codesourcery.com>
173         * gfortran.h (gfc_omp_namespace): Add locus where member.
174         * openmp.c (gfc_match_omp_variable_list): Set where for each list
175         item found.
176         (resolve_omp_clauses): Remove where argument and use the where
177         gfc_omp_namespace member when reporting errors.
178         (resolve_omp_do):  Update call to resolve_omp_clauses.
179         (resolve_oacc_loop): Likewise.
180         (gfc_resolve_oacc_directive): Likewise.
181         (gfc_resolve_omp_directive): Likewise.
182         (gfc_resolve_omp_declare_simd): Likewise.
184 2015-10-15  Steven G. Kargl  <kargl@gcc.gnu.org>
186         PR fortran/51993
187         * decl.c (gfc_set_constant_character_len): Convert gcc_assert into an
188         if-statement causing an early return leads to valid error message.
190 2015-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>
192         PR fortran/36192
193         * interface.c (get_expr_storage_size):  Check for INTEGER type before
194         calling gmp routines.
196 2015-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>
198         PR fortran/68154
199         * decl.c (add_init_expr_to_sym): if the char length in the typespec
200         is NULL, check for and use a constructor.
202 2015-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>
204         PR fortran/68054
205         * decl.c (match_attr_spec): PROTECTED can only be a module.
207 2015-10-29  Steven G. Kargl  <kargl@gcc.gnu.org>
209         PR fortran/67885
210         * trans-decl.c (generate_local_decl): Mark PARAMETER entities in
211         BLOCK construct.
213 2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
215         * array.c: Reorder #include's and remove duplicates.
216         * convert.c: Likewise.
217         * cpp.c: Likewise.
218         * decl.c: Likewise.
219         * f95-lang.c: Likewise.
220         * frontend-passes.c: Likewise.
221         * iresolve.c: Likewise.
222         * match.c: Likewise.
223         * module.c: Likewise.
224         * options.c: Likewise.
225         * parse.c: Likewise.
226         * resolve.c: Likewise.
227         * simplify.c: Likewise.
228         * target-memory.c: Likewise.
229         * trans-array.c: Likewise.
230         * trans-common.c: Likewise.
231         * trans-const.c: Likewise.
232         * trans-decl.c: Likewise.
233         * trans-expr.c: Likewise.
234         * trans-intrinsic.c: Likewise.
235         * trans-io.c: Likewise.
236         * trans-openmp.c: Likewise.
237         * trans-stmt.c: Likewise.
238         * trans-types.c: Likewise.
239         * trans.c: Likewise.
241 2015-10-29  Richard Biener  <rguenther@suse.de>
243         * f95-lang.c: Properly build variadic types for classification
244         and comparison builtins.
246 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
247             James Norris  <jnorris@codesourcery.com>
249         PR fortran/63865
250         * openmp.c (resolve_oacc_cache): Remove function.
251         (gfc_match_oacc_cache): Enable array sections.
252         (resolve_omp_clauses, gfc_resolve_oacc_directive): Change
253         accordingly.
254         * trans-openmp.c (gfc_trans_omp_clauses): Likewise.
256 2015-10-27  Steven G. Kargl  <kargl@gcc.gnu.org>
258         PR fortran/68108
259         * decl.c (char_len_param_value): Check for REF_ARRAY.
261 2015-10-26  Louis Krupp  <louis.krupp@zoho.com>
263         PR fortran/66056
264         * fortran.h: Include namespace pointer in statement label
265         structure.
266         * symbol.c (gfc_get_st_label): Store pointer to namespace
267         that owns the statement label tree in each label.
268         (gfc_free_st_label): Use namespace owning statement label
269         tree when deleting statement label.
270         * io.c: Initialize format_asterisk with NULL namespace pointer.
272 2015-10-26  Steven G. Kargl  <kargl@gcc.gnu.org>
274         PR fortran/36192
275         * array.c (gfc_ref_dimen_size): Check for BT_INTEGER before calling
276         mpz_set.
278 2015-10-26  Andre Vehreschild  <vehre@gcc.gnu.org>
280         PR fortran/66927
281         * trans-array.c (evaluate_bound): For deferred length arrays get the
282         bounds directly from the descriptor, i.e., prevent using constant
283         zero lower bound from the gfc_conv_array_lbound () routine.
284         (gfc_conv_section_startstride): Hand deferred array status to
285         evaluate_bound ().
286         (gfc_conv_expr_descriptor): Same.
288 2015-01-25  Paul Thomas  <pault@gcc.gnu.org>
290         PR fortran/67171
291         * trans-array.c (structure_alloc_comps): On deallocation of
292         class components, reset the vptr to the declared type vtable
293         and reset the _len field of unlimited polymorphic components.
294         *trans-expr.c (gfc_find_and_cut_at_last_class_ref): Bail out on
295         allocatable component references to the right of part reference
296         with non-zero rank and return NULL.
297         (gfc_reset_vptr): Simplify this function by using the function
298         gfc_get_vptr_from_expr. Return if the vptr is NULL_TREE.
299         (gfc_reset_len): If gfc_find_and_cut_at_last_class_ref returns
300         NULL return.
301         * trans-stmt.c (gfc_trans_allocate): Rely on the use of
302         gfc_trans_assignment if expr3 is a variable expression since
303         this deals correctly with array sections.
305 2015-10-25  Andre Vehreschild  <vehre@gcc.gnu.org>
307         PR fortran/66927
308         PR fortran/67044
309         * trans-array.c (build_array_ref): Modified call to
310         gfc_get_class_array_ref to adhere to new interface.
311         (gfc_conv_expr_descriptor): For one-based arrays that
312         are filled by a loop starting at one the start index of the
313         source array has to be mangled into the offset.
314         * trans-expr.c (gfc_get_class_array_ref): When the tree to get
315         the _data component is present already, add a way to supply it.
316         (gfc_copy_class_to_class): Allow to copy to a derived type also.
317         * trans-stmt.c (gfc_trans_allocate): Do not conv_expr_descriptor
318         for functions returning a class or derived object. Get the
319         reference instead.
320         * trans.h: Interface change of gfc_get_class_array_ref.
322 2015-10-24  Steven G. Kargl  <kargl@gcc.gnu.org>
324         PR fortran/68055
325         * decl.c (gfc_match_decl_type_spec): Check for valid kind in old-style
326         declarations.
328 2015-10-24  Steven G. Kargl  <kargl@gcc.gnu.org>
330         PR fortran/67805
331         * array.c (gfc_match_array_constructor): Check for error from type
332         spec matching.
333         * decl.c (char_len_param_value): Check for valid of charlen parameter.
334         Reap dead code dating to 2008.
335         match.c (gfc_match_type_spec): Special case the keyword use in REAL.
337 2015-10-23  Mikhail Maltsev  <maltsevm@gmail.com>
339         * trans-common.c (create_common): Adjust to use flag_checking.
340         * trans.c (gfc_add_modify_loc): Use gcc_checking_assert.
342 2015-10-21  Martin Sebor  <msebor@redhat.com>
344         PR driver/68043
345         * lang.opt: End each sentence that describes an option with a period.
347 2015-10-21  Steven G. Kargl  <kargl@gcc.gnu.org>
349         PR fortran/67939
350         * data.c (create_character_initializer): Deal with zero length string.
352 2015-10-19  Steven G. Kargl  <kargl@gcc.gnu.org>
354         * resolve.c (gfc_verify_binding_labels): Check for NULL pointer.
356 2015-10-19  Steven G. Kargl  <kargl@gcc.gnu.org>
358         PR fortran/68019
359         * decl.c (add_init_expr_to_sym): Remove an assert() to allow an error
360         message to be issued.
362 2015-10-18  Mikael Morin  <mikael@gcc.gnu.org>
364         PR fortran/67758
365         * gfortran.h (gfc_symbol): Expand comment.
366         * match.c (gfc_match_common): Delay adding the symbol to
367         the common_block after the gfc_add_in_common call.
368         * symbol.c (gfc_free_symbol): Move common block memory handling...
369         (gfc_set_symbol_common_block): ... here as a new function.
370         (restore_old_symbol): Restore common block fields.
371         (gfc_restore_last_undo_checkpoint):
372         Check the common_block pointer instead of the in_common attribute.
373         When a symbol has been removed from the common block linked list,
374         clear its common_next pointer.
376 2015-10-18  Paul Thomas  <pault@gcc.gnu.org>
378         PR fortran/67177
379         PR fortran/67977
380         * primary.c (match_substring): Add an argument 'deferred' to
381         flag that a substring reference with null start and end should
382         not be optimized away for deferred length strings.
383         (match_string_constant, gfc_match_rvalue): Set the argument.
384         * trans-expr.c (alloc_scalar_allocatable_for_assignment): If
385         there is a substring reference return.
386         * trans-intrinsic.c (conv_intrinsic_move_alloc): For deferred
387         characters, assign the 'from' string length to the 'to' string
388         length. If the 'from' expression is deferred, set its string
389         length to zero. If the 'to' expression has allocatable
390         components, deallocate them.
392 2015-10-17  Steven G. Kargl  <kargl@gcc.gnu.org>
394         PR fortran/67987
395         * decl.c (char_len_param_value): Unwrap unlong line.  If LEN < 0,
396         force it to zero per the Fortran 90, 95, 2003, and 2008 Standards.
397         * resolve.c (gfc_resolve_substring_charlen): Unwrap unlong line.
398         If 'start' is larger than 'end', length of substring is negative,
399         so explicitly set it to zero.
400         (resolve_charlen): Remove -Wsurprising warning.  Update comment to
401         reflect that the text is from the F2008 standard.
403 2015-10-16  Richard Biener  <rguenther@suse.de>
405         * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Adjust
406         calls to build_addr.
407         (gfc_conv_intrinsic_mod): Likewise.
408         (gfc_conv_intrinsic_ctime): Likewise.
409         (gfc_conv_intrinsic_fdate): Likewise.
410         (gfc_conv_intrinsic_ttynam): Likewise.
411         (gfc_conv_intrinsic_minmax_char): Likewise.
412         (gfc_conv_intrinsic_index_scan_verify): Likewise.
413         (gfc_conv_intrinsic_trim): Likewise.
415 2015-10-14  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>
417         * parse.c (decode_statement): Initialize M to MATCH_NO.
419 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
420             Ilya Verbin  <ilya.verbin@intel.com>
422         * f95-lang.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
423         DEF_FUNCTION_TYPE_11, DEF_FUNCTION_TYPE_VAR_1): Define.
424         * trans-openmp.c (gfc_trans_omp_clauses): Set
425         OMP_CLAUSE_IF_MODIFIER to ERROR_MARK, OMP_CLAUSE_ORDERED_EXPR
426         to NULL.
427         (gfc_trans_omp_critical): Adjust for addition of clauses.
428         (gfc_trans_omp_ordered): Likewise.
429         * types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
430         BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
431         BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
432         BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
433         BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
434         BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
435         BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
436         BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
437         BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
438         BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
439         (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
440         BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
441         BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
443 2015-10-07  Andre Vehreschild  <vehre@gcc.gnu.org>
445         PR fortran/65889
446         * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle pointer to and
447         on stack class objects as sizeof parameter.
449 2015-10-06  Louis Krupp <louis.krupp@zoho.com>
450         PR fortran/65766
451         * resolve.c (gfc_resolve_substring_charlen): For derived type,
452         use typespec of string component when resolving substring length.
454 2015-10-04  Mikael Morin  <mikael@gcc.gnu.org>
456         * match.c (gfc_match_common): Remove dead variable old_blank_common.
458 2015-10-04  Mikael Morin  <mikael@gcc.gnu.org>
460         PR fortran/67758
461         * match.c (gfc_match_common): Delay the common_block pointer
462         assignment after error checking.
463         Delay the call to gfc_add_in_common attribute after the handling
464         of array specs.
465         * resolve.c (resolve_common_vars): Call gfc_add_in_common again.
467 2015-10-04  Mikael Morin  <mikael@gcc.gnu.org>
469         * resolve.c (resolve_common_vars): Move access to the common
470         block's head symbol inside the function.
471         (resolve_common_blocks, resolve_types): Update callers.
473 2015-10-01  Louis Krupp <louis.krupp@zoho.com>
475         PR fortran/62242
476         PR fortran/52332
477         * trans-array.c
478         (store_backend_decl): Create new gfc_charlen instance if requested
479         (get_array_ctor_all_strlen): Call store_backend_decl requesting
480         new gfc_charlen
481         (trans_array_constructor): Call store_backend_decl requesting
482         new gfc_charlen if get_array_ctor_strlen was called
483         (gfc_add_loop_ss_code): Don't try to convert non-constant length
485 2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>
487         PR fortran.67802
488         * decl.c (add_init_expr_to_sym): Numeric constant for character
489         length must be an INTEGER.
491 2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>
493         PR fortran/66979
494         * io.c (gfc_resolve_filepos): Check for a UNIT number.  Add a nearby
495         missing 'return false'.
497 2015-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>
499         PR fortran/67616
500         * primary.c (gfc_match_structure_constructor): Use a possibly
501         host-associated symtree to prevent ICE.
503 2015-09-28  Paul Thomas  <pault@gcc.gnu.org>
505         PR fortran/40054
506         PR fortran/63921
507         * decl.c (get_proc_name): Return if statement function is
508         found.
509         * expr.c (gfc_check_vardef_context): Add error return for
510         derived type expression lacking the derived type itself.
511         * match.c (gfc_match_ptr_fcn_assign): New function.
512         * match.h : Add prototype for gfc_match_ptr_fcn_assign.
513         * parse.c : Add static flag 'in_specification_block'.
514         (decode_statement): If in specification block match a statement
515         function, then, if no error arising from statement function
516         matching, try to match pointer function assignment.
517         (parse_interface): Set 'in_specification_block' on exiting from
518         parse_spec.
519         (parse_spec): Set and then reset 'in_specification_block'.
520         (gfc_parse_file): Set 'in_specification_block'.
521         * resolve.c (get_temp_from_expr): Extend to include functions
522         and array constructors as rvalues..
523         (resolve_ptr_fcn_assign): New function.
524         (gfc_resolve_code): Call it on finding a pointer function as an
525         lvalue. If valid or on error, go back to start of resolve_code.
526         * symbol.c (gfc_add_procedure): Add a sentence to the error to
527         flag up the ambiguity between a statement function and pointer
528         function assignment at the end of the specification block.
530 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
532         * f95-lang.c (DEF_FUNCTION_TYPE_VAR_6): New.
533         (DEF_FUNCTION_TYPE_VAR_11): Delete.
534         * types.def (DEF_FUNCTION_TYPE_VAR_6): New.
535         (DEF_FUNCTION_TYPE_VAR_11): Delete.
537 2015-09-26  Mikael Morin  <mikael@gcc.gnu.org>
539         PR fortran/67721
540         * trans-expr.c (gfc_trans_assignment_1): Remove the non-constantness
541         condition guarding deep copy.
543 2013-09-26  Paul Thomas  <pault@gcc.gnu.org>
545         PR fortran/67567
546         * resolve.c (resolve_fl_procedure): For module procedures, take
547         the parent module name and the submodule name from the name of
548         the namespace.
550 2015-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
552         PR fortran/67614
553         * resolve.c (gfc_resolve_code): Prevent ICE for invalid EXPR_NULL.
555 2015-09-25  Steven G. Kargl  <kargl@gcc.gnu.org>
557         PR fortran/67525
558         * parse.c (match_deferred_characteristics): Remove an assert, which
559         allows an invalid SELECT TYPE selector to be detected.
561 2015-09-25  Manuel López-Ibáñez  <manu@gcc.gnu.org>
563         PR pretty-print/67567
564         * resolve.c (resolve_fl_procedure): Work-around when iface->module
565         == NULL.
567 2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>
569         * resolve.c (nonscalar_typebound_assign): Fix typos in comment.
571 2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>
573         PR fortran/67615
574         * resolve.c (gfc_resolve_code): Check for scalar expression in
575         arithmetic-if.
577 2015-09-17  Paul Thomas  <pault@gcc.gnu.org>
579         PR fortran/52846
580         PR fortran/67588
581         * module.c : Add static no_module_procedures.
582         (gfc_match_submodule): Correct memory leakage caused during the
583         freeing of use_lists.
584         (mio_symbol_attribute): Reset above if module procedure is
585         encountered.
586         (gfc_dump_module): Set above and exit without writing smod file
587         if it reset.
588         * gfortran.texi : Add section on submodule support.
590 2015-09-10  Steven G. Kargl  <kargl@gcc.gnu.org>
592         PR fortran/67526
593         * expr.c (gfc_check_init_expr): Do not dereference a NULL pointer.
595 2015-09-10  Paul Thomas  <pault@gcc.gnu.org>
597         PR fortran/66993
598         * module.c (read_module): If a symtree exists and the symbol has
599         been associated in a submodule from a parent (sub)module, attach
600         the symbol to a 'unique symtree' and the new symbol to the
601         existing symtree.
603 2015-09-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
605         * intrinsic.h (gfc_simplify_mvbits): Remove.
606         * simplify.c (gfc_simplify_mvbits): Remove.
607         * intrinsic.c (add_subroutines): Remove reference to
608         gfc_simplify_mvbits.
610 2015-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
612         PR fortran/67429
613         * error.c (gfc_clear_pp_buffer): Reset last_location, otherwise
614         caret lines might be skipped when actually giving a diagnostic.
616 2015-08-31  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
618         PR fortran/54833
619         * trans.c (gfc_call_free): Don't check if pointer is NULL.
620         * trans.h (gfc_call_free): Adjust comment.
622 2015-08-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
624         * trans.c (gfc_call_malloc, gfc_allocate_using_malloc,
625         gfc_allocate_using_lib, gfc_allocate_allocatable,
626         gfc_call_realloc): Simplify code.
627         * trans-array.c (gfc_trans_allocate_array_storage,
628         gfc_trans_auto_array_allocation, gfc_conv_array_parameter): Do not
629         convert gfc_call_free() argument.
630         * trans-expr.c (gfc_conv_string_tmp, gfc_conv_procedure_call,
631         fcncall_realloc_result): Likewise.
632         * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Likewise.
634 2015-08-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
636         PR fortran/53668
637         * intrinsic.c (add_functions, add_subroutines): Remove resolution
638         functions for FREE and MALLOC.
639         * intrinsic.h (gfc_resolve_malloc, gfc_resolve_free): Remove.
640         * iresolve.c (gfc_resolve_malloc, gfc_resolve_free): Remove.
641         * trans-intrinsic.c (conv_intrinsic_free,
642         gfc_conv_intrinsic_malloc): New functions.
644 2015-08-24  Louis Krupp <louis.krupp@zoho.com>
646         PR fortran/62536
647         PR fortran/66175
648         * decl.c (gfc_match_end): Clean up nested BLOCKs.
649         * parse.c (parse_block_construct): Deal gracefully with cleaned-up
650         BLOCKs.
652 2015-08-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
654         PR libfortran/54572
655         * config-lang.in: Add libbacktrace to target_libs.
657 2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>
659         * dependency.c, dependency.h, gfortran.h, io.c, module.c,
660         parse.h, resolve.c, trans-types.h, trans.h: remove useless typedefs.
662 2015-08-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
664         PR fortran/54656
665         * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Add decl
666         for quadruple precision BUILT_IN_SQRT.
668 2015-08-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
670         * trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type
671         generic BUILT_IN_SIGNBIT.
672         (conv_intrinsic_ieee_copy_sign): Likewise.
673         * f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_ISINF,
674         BUILT_IN_ISINF_SIGN, BUILT_IN_SIGNBIT, BUILT_IN_ISLESS,
675         BUILT_IN_ISLESSGREATER, BUILT_IN_ISGREATER. Remove non-type generic
676         variants of BUILT_IN_SIGNBIT.
677         * mathbuiltins.def: Remove SIGNBIT.
679 2015-08-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
681         PR fortran/41387
682         * gfortran.texi: New section "File operations on symbolic links".
684 2015-08-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
686         PR fortran/67059
687         * gfortranspec.c (lang_specific_driver): Adjust --version output.
689 2015-08-08  Bud Davis  <jmdavis@link.com>
690             Mikael Morin  <mikael@gcc.gnu.org>
692         PR fortran/59746
693         * symbol.c (gfc_restore_last_undo_checkpoint): Delete a common block
694         symbol if it was put in the list.
696 2015-08-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
698         PR fortran/64104
699         * expr.c (gfc_check_init_expr): Allow some IEEE functions in
700         constant expressions.
701         (external_spec_function): Allow some IEEE functions in specification
702         expressions.
703         * simplify.c (gfc_simplify_ieee_selected_real_kind): Remove.
704         (simplify_ieee_selected_real_kind, simplify_ieee_support,
705         matches_ieee_function_name, gfc_simplify_ieee_functions): New
706         functions.
707         * gfortran.h (gfc_simplify_ieee_selected_real_kind): Remove
708         prototype.
709         (gfc_simplify_ieee_functions): Add prototype.
711 2015-08-06  Mikael Morin  <mikael@gcc.gnu.org>
713         * trans.h (gfc_trans_scalar_assign): Remove fourth argument.
714         * trans-expr.c (gfc_trans_scalar_assign): Merge fourth into sixth
715         argument.
716         (gfc_conv_subref_array_arg, gfc_trans_subarray_assign,
717          gfc_trans_subcomponent_assign, gfc_trans_assignment_1): Update callers.
718         * trans-array.c (gfc_conv_expr_descriptor): Ditto.
719         * trans-stmt.c (forall_make_variable_temp,
720         generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
721         gfc_trans_where_assign, gfc_trans_where_3): Ditto.
723 2015-08-05  Paul Thomas  <pault@gcc.gnu.org>
725         PR fortran/52846
726         * module.c (check_access): Return true if new static flag
727         'dump_smod' is true..
728         (gfc_dump_module): Rename original 'dump_module' and call from
729         new version. Use 'dump_smod' rather than the stack state to
730         determine if a submodule is being processed. The new version of
731         this procedure sets 'dump_smod' depending on the stack state and
732         then writes both the mod and smod files if a module is being
733         processed or just the smod for a submodule.
734         (gfc_use_module): Eliminate the check for module_name and
735         submodule_name being the same.
736         * trans-decl.c (gfc_finish_var_decl, gfc_build_qualified_array,
737         get_proc_pointer_decl): Set TREE_PUBLIC unconditionally and use
738         the conditions to set DECL_VISIBILITY as hidden and to set as
739         true DECL_VISIBILITY_SPECIFIED.
741 2015-08-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
743         PR fortran/64022
744         * simplify.c (gfc_simplify_ieee_selected_real_kind): Extend IEEE
745         support to all real kinds.
747 2015-08-03  Steven G. Kargl  <kargl@gcc.gnu.org>
749         PR fortran/66942
750         * trans-expr.c (gfc_conv_procedure_call): Avoid NULL pointer reference
752 2015-08-03  Mikael Morin  <mikael@gcc.gnu.org>
754         PR fortran/64921
755         * class.c (generate_finalization_wrapper): Set finalization
756         procedure symbol's always_explicit attribute.
758 2015-08-01  Paul Thomas  <pault@gcc.gnu.org>
760         PR fortran/67091
761         * trans-intrinsic.c (gfc_conv_associated): Add the pre and post
762         blocks for the second argument to se.
764 2015-07-27  Thomas Schwinge  <thomas@codesourcery.com>
766         * parse.c (parse_oacc_structured_block): Fix logic error.
767         Reported by Mikael Morin <mikael.morin@sfr.fr>.
769 2015-07-24  Mikael Morin  <mikael@gcc.gnu.org>
771         PR fortran/64986
772         * trans-expr.c (gfc_trans_assignment_1): Put component deallocation
773         code at the beginning of the block.
775 2015-07-22  Mikael Morin  <mikael@gcc.gnu.org>
777         PR fortran/61831
778         PR fortran/66929
779         * trans-array.c (gfc_get_proc_ifc_for_expr): Use esym as procedure
780         symbol if available.
782 2015-07-17  Paul Thomas  <pault@gcc.gnu.org>
784         PR fortran/52846
785         * decl.c (gfc_match_end): Pick out declared submodule name from
786         the composite identifier.
787         * gfortran.h : Add 'submodule_name' to gfc_use_list structure.
788         * module.c (gfc_match_submodule): Define submodule_name and add
789         static 'submodule_name'.
790         (gfc_match_submodule): Build up submodule filenames, using '@'
791         as a delimiter. Store the output filename in 'submodule_name'.
792         Similarly, the submodule identifier is built using '.' as an
793         identifier.
794         (gfc_dump_module): If current state is COMP_SUBMODULE, write
795         to file 'submodule_name', using SUBMODULE_EXTENSION.
796         (gfc_use_module): Similarly, use the 'submodule_name' field in
797         the gfc_use_list structure and SUBMODULE_EXTENSION to read the
798         implicitly used submodule files.
800 2015-07-17  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
802         * trans-intrinsic.c (conv_co_collective): Remove redundant address
803         operator in the generated code.
805 2015-07-17  Andre Vehreschild  <vehre@gcc.gnu.org>
807         PR fortran/66035
808         * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_assignment):
809         Compute the size to allocate for class and derived type objects
810         correclty.
811         (gfc_trans_subcomponent_assign): Only allocate memory for a
812         component when the object to assign is not an allocatable class
813         object (the memory is already present for allocatable class objects).
814         Furthermore use copy_class_to_class for assigning the rhs to the
815         component (may happen for dummy class objects on the rhs).
817 2015-07-17  Mikael Morin  <mikael@gcc.gnu.org>
818             Dominique d'Humieres  <dominiq@lps.ens.fr>
820         PR fortran/61831
821         * trans-array.c (gfc_conv_array_parameter): Guard allocatable
822         component deallocation code generation with descriptorless
823         calling convention flag.
824         * trans-expr.c (gfc_conv_expr_reference): Remove allocatable
825         component deallocation code generation from revision 212329.
826         (expr_may_alias_variables): New function.
827         (gfc_conv_procedure_call): New boolean elemental_proc to factor
828         check for procedure elemental-ness.  Rename boolean f to nodesc_arg
829         and declare it in the outer scope.  Use expr_may_alias_variables,
830         elemental_proc and nodesc_arg to decide whether generate allocatable
831         component deallocation code.
832         (gfc_trans_subarray_assign): Set deep copy flag.
834 2015-07-16  Steven G. Kargl  <kargl@gcc.gnu.org>
836         PR fortran/66724
837         PR fortran/66724
838         * io.c (is_char_type): Call gfc_resolve_expr ().
839         (match_open_element, match_dt_element, match_inquire_element): Fix
840         ASYNCHRONOUS case.
842 2015-07-15  Andrew MacLeod  <amacleod@redhat.com>
844         * trans-types.c: Remove multiline #include comment.
846 2015-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
848         * simplify.c (gfc_simplify_floor): Set precision of temporary to
849         that of arg.
851 2015-07-13  Andre Vehreschild  <vehre@gcc.gnu.org>
853         PR fortran/64589
854         * class.c (find_intrinsic_vtab): Put/Search vtabs for intrinsic
855         types in the top-level namespace.
857 2015-07-12  Aldy Hernandez  <aldyh@redhat.com>
859         * trans-stmt.c: Fix double word typos.
861 2015-07-09  Andrew MacLeod  <amacleod@redhat.com>
863         * arith.c: Adjust includes for flags.h changes.
864         * array.c: Likewise.
865         * check.c: Likewise.
866         * decl.c: Likewise.
867         * error.c: Likewise.
868         * expr.c: Likewise.
869         * frontend-passes.c: Likewise.
870         * interface.c: Likewise.
871         * intrinsic.c: Likewise.
872         * io.c: Likewise.
873         * match.c: Likewise.
874         * openmp.c: Likewise.
875         * parse.c: Likewise.
876         * primary.c: Likewise.
877         * resolve.c: Likewise.
878         * scanner.c: Likewise.
879         * simplify.c: Likewise.
880         * symbol.c: Likewise.
881         * target-memory.c: Likewise.
883 2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
885         * convert.c: Adjust includes.
886         * cpp.c: Likewise.
887         * decl.c: Likewise.
888         * f95-lang.c: Likewise.
889         * iresolve.c: Likewise.
890         * match.c: Likewise.
891         * module.c: Likewise.
892         * options.c: Likewise.
893         * target-memory.c: Likewise.
894         * trans-array.c: Likewise.
895         * trans-common.c: Likewise.
896         * trans-const.c: Likewise.
897         * trans-decl.c: Likewise.
898         * trans-expr.c: Likewise.
899         * trans-intrinsic.c: Likewise.
900         * trans-io.c: Likewise.
901         * trans-openmp.c: Likewise.
902         * trans-stmt.c: Likewise.
903         * trans-types.c: Likewise.
904         * trans.c: Likewise.
906 2015-07-07  Andre Vehreschild  <vehre@gmx.de>
908         PR fortran/66578
909         * trans-array.c (gfc_conv_expr_descriptor): Ensure array descriptor
910         is one-based for non-full array refs. Correct the offset when a
911         rank_remap occurs.
913 2015-07-06  Steven G. Kargl  <kargl@gcc.gnu.org>
915         * io.c (check_char_variable): New function.
916         (match_open_element, match_close_element, match_file_element,
917         match_dt_element, match_inquire_element, match_wait_element): Use it.
919 2015-07-06  Andre Vehreschild  <vehre@gmx.de>
921         PR fortran/58586
922         * resolve.c (resolve_symbol): Non-private functions in modules
923         with allocatable or pointer components are marked referenced
924         now. Furthermore is the default init especially for those
925         components now done in gfc_conf_procedure_call preventing
926         duplicate code.
927         * trans-decl.c (gfc_generate_function_code): Generate a fake
928         result decl for functions returning an object with allocatable
929         components and initialize them.
930         * trans-expr.c (gfc_conv_procedure_call): For value typed trees
931         use the tree without indirect ref. And for non-decl trees
932         add a temporary variable to prevent evaluating the tree
933         multiple times (prevent multiple function evaluations).
934         * trans.h: Made gfc_trans_structure_assign () protoype
935         available, which is now needed by trans-decl.c:gfc_generate_
936         function_code(), too.
938 2015-07-04  Steven G. Kargl  <kargl@gcc.gnu.org>
940         PR fortran/66725
941         * io.c (is_char_type): New function to test for BT_CHARACTER
942         (gfc_match_open, gfc_match_close, match_dt_element): Use it.
944 2015-07-02  David Edelsohn  <dje.gcc@gmail.com>
946         * trans-common.c: Include <map> after system.h.
948 2015-07-02  Paul Thomas  <pault@gcc.gnu.org>
950         PR fortran/52846
951         * decl.c (get_proc_name): Make a partially populated interface
952         symbol to carry the characteristics of a module procedure and
953         its result.
954         (variable_decl): Declarations of dummies or results in the
955         abreviated form of module procedure is an error.
956         (gfc_match_import): IMPORT is not permitted in the interface
957         declaration of module procedures.
958         (match_attr_spec): Submodule variables have implicit save
959         attribute for F2008 onwards.
960         (gfc_match_prefix): Add 'module' as the a prefix and set the
961         module_procedure attribute.
962         (gfc_match_formal_arglist): For a module procedure keep the
963         interface formal_arglist from the interface, match new the
964         formal arguments and then compare the number and names of each.
965         (gfc_match_procedure): Add case COMP_SUBMODULE.
966         (gfc_match_function_decl, gfc_match_subroutine_decl): Set the
967         module_procedure attribute.
968         (gfc_match_entry, gfc_match_end):  Add case COMP_SUBMODULE. If
969         attr abr_modproc_decl is set, switch the message accordingly
970         for subroutines and functions.
971         (gfc_match_submod_proc): New function to match the abbreviated
972         style of submodule declaration.
973         * gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the
974         attribute bits 'used_in_submodule' and 'module_procedure'. Add
975         the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes
976         for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and
977         'gfc_check_result_characteristics'.
978         * interface.c : Add the prefix 'gfc_' to the names of functions
979         'check_dummy(result)_characteristics' and all their references.
980         * match.h : Add prototype for 'gfc_match_submod_proc' and
981         'gfc_match_submodule'.
982         (check_sym_interfaces): A module procedure is not an error in
983         a module procedure statment in a generic interface.
984         * module.c (gfc_match_submodule): New function. Add handling
985         for the 'module_procedure' attribute bit.
986         (gfc_use_module): Make sure that a submodule cannot use itself.
987         * parse.c (decode_statement): Set attr has_'import_set' for
988         the interface declaration of module procedures. Handle a match
989         occurring in 'gfc_match_submod_proc' and a match for
990         'submodule'.
991         (gfc_enclosing_unit): Include the state COMP_SUBMODULE.
992         (gfc_ascii_statement): Add END SUBMODULE.
993         (accept_statement): Add ST_SUBMODULE.
994         (parse_spec): Disallow statement functions in a submodule
995         specification part.
996         (parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE
997         twice each.
998         (get_modproc_result): Copy the result symbol of the interface.
999         (parse_progunit): Call it.
1000         (set_syms_host_assoc): Make symbols from the ancestor module
1001         and submodules use associated, as required by the standard and
1002         set all private components public. Module procedures 'external'
1003         attribute bit is reset and the 'used_in_submodule' bit is set.
1004         (parse_module): If this is a submodule, use the ancestor module
1005         and submodules. Traverse the namespace, calling
1006         'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE.
1007         * parse.h : Add COMP_SUBMODULE.
1008         * primary.c (match_variable): Add COMP_SUBMODULE.
1009         * resolve.c (compare_fsyms): New function to compare the dummy
1010         characteristics of a module procedure with its interface.
1011         (resolve_fl_procedure): Compare the procedure, result and dummy
1012         characteristics of a module_procedure with its interface, using
1013         'compare_fsyms' for the dummy arguments.
1014         * symbol.c (gfc_add_procedure): Suppress the check for existing
1015         procedures in the case of a module procedure.
1016         (gfc_add_explicit_interface): Skip checks that must fail for
1017         module procedures.
1018         (gfc_add_type): Allow a new type to be added to module
1019         procedures, their results or their dummy arguments.
1020         (gfc_copy_dummy_sym): New function to generate new dummy args
1021         and copy the characteristics from the interface.
1022         * trans-decl.c (gfc_sym_mangled_function_id): Module procedures
1023         must always have their names mangled as if they are symbols
1024         coming from a declaration in a module.
1025         (gfc_get_symbol_decl): Add 'used_in_submodule' to the assert.
1026         (gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit
1027         set are set DECL_EXTERNAL as if they were use associated.
1029 2015-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>
1031         PR fortran/56520
1032         * match.c (gfc_match_name): Special case unary minus and plus.
1034 2015-07-02  Steven G. Kargl   <kargl@gcc.gnu.org>
1036         PR fortran/66545
1037         * primary.c (match_sym_complex_part): Do not dereference NULL pointer.
1039 2015-07-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
1041         * arith.c (gfc_arith_divide):  With -Winteger-division,
1042         warn about contant integer division if there is a non-zero
1043         remainder.
1044         * invoke.texi:  Document -Winteger-division.
1045         * lang.opt:  Add -Winteger-division.
1047 2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
1049         * f95-lang.c: Remove ipa-ref.h and plugin-api.h from include list.
1050         * trans-decl.c: Likewise.
1052 2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
1054         * trans-decl.c (module_hasher): Likewise.
1055         * trans.h (module_decl_hasher): Likewise.
1057 2015-06-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1059         PR fortran/66528
1060         * error.c (gfc_warning_check): Restore the default output_buffer
1061         before calling diagnostic_action_after_output.
1062         (gfc_error_check): Likewise.
1063         (gfc_diagnostics_init): Add comment.
1065 2015-06-23  Andre Vehreschild  <vehre@gmx.de>
1067         PR fortran/64674
1068         * parse.c (parse_associate): Figure the rank and as of a
1069         class array in an associate early.
1070         * primary.c (gfc_match_varspec): Prevent setting the
1071         dimension attribute on the sym for classes.
1072         * resolve.c (resolve_variable): Correct the component
1073         ref's type for associated variables.  Add a full array ref
1074         when class array's are associated.
1075         (resolve_assoc_var): Correct the type of the symbol,
1076         when in the associate the expression's rank becomes scalar.
1077         * trans-expr.c (gfc_conv_variable): Indirect ref needed for
1078         allocatable associated objects.
1080 2015-06-19  Mikael Morin  <mikael@gcc.gnu.org>
1082         PR fortran/66549
1083         * resolve.c (resolve_global_procedure): Don't save and restore
1084         OpenMP state around the call to gfc_resolve.
1085         (gfc_resolve): Save OpenMP state on entry and restore it on return.
1087 2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
1089         * convert.c: Do not include input.h, line-map.h or is-a.h.
1090         * cpp.c: Likewise.
1091         * decl.c: Likewise.
1092         * f95-lang.c: Likewise.
1093         * gfortran.h: Likewise.
1094         * iresolve.c: Likewise.
1095         * match.c: Likewise.
1096         * module.c: Likewise.
1097         * options.c: Likewise.
1098         * target-memory.c: Likewise.
1099         * trans-array.c: Likewise.
1100         * trans-common.c: Likewise.
1101         * trans-const.c: Likewise.
1102         * trans-decl.c: Likewise.
1103         * trans-expr.c: Likewise.
1104         * trans-intrinsic.c: Likewise.
1105         * trans-io.c: Likewise.
1106         * trans-openmp.c: Likewise.
1107         * trans-stmt.c: Likewise.
1108         * trans-types.c: Likewise.
1109         * trans.c: Likewise.
1111 2015-06-15  Andre Vehreschild  <vehre@gmx.de>
1113         PR fortran/44672
1114         PR fortran/45440
1115         PR fortran/57307
1116         * gfortran.h: Extend gfc_code.ext.alloc to carry a
1117         flag indicating that the array specification has to be
1118         taken from expr3.
1119         * resolve.c (resolve_allocate_expr): Add F2008 notify
1120         and flag indicating source driven array spec.
1121         (resolve_allocate_deallocate): Check for source driven
1122         array spec, when array to allocate has no explicit
1123         array spec.
1124         * trans-array.c (gfc_array_init_size): Get lower and
1125         upper bound from a tree array descriptor, except when
1126         the source expression is an array-constructor which is
1127         fixed to be one-based.
1128         (retrieve_last_ref): Extracted from gfc_array_allocate().
1129         (gfc_array_allocate): Enable allocate(array, source=
1130         array_expression) as specified by F2008:C633.
1131         (gfc_conv_expr_descriptor): Add class tree expression
1132         into the saved descriptor for class arrays.
1133         * trans-array.h: Add temporary array descriptor to
1134         gfc_array_allocate ().
1135         * trans-expr.c (gfc_conv_procedure_call): Special handling
1136         for _copy() routine translation, that comes without an
1137         interface. Third and fourth argument are now passed by value.
1138         * trans-stmt.c (gfc_trans_allocate): Get expr3 array
1139         descriptor for temporary arrays to allow allocate(array,
1140         source = array_expression) for array without array
1141         specification.
1143 2015-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
1145         * intrinsic.texi:  Change \leq to < in descrition of imaginary
1146         part in argument to log.
1148 2015-06-11  Paul Thomas  <pault@gcc.gnu.org>
1150         PR fortran/66079
1151         * trans-expr.c (gfc_conv_procedure_call): Allocatable scalar
1152         function results must be freed and nullified after use. Create
1153         a temporary to hold the result to prevent duplicate calls.
1154         * trans-stmt.c (gfc_trans_allocate): Rename temporary variable
1155         as 'source'. Deallocate allocatable components of non-variable
1156         'source's.
1158 2015-06-11  Pierre-Marie de Rodat  <derodat@adacore.com>
1160         * f95-lang.c (gfc_create_decls): Register the main translation unit
1161         through the new debug hook.
1163 2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
1165         * convert.c : Adjust include files.
1166         * cpp.c : Likewise.
1167         * decl.c : Likewise.
1168         * f95-lang.c : Likewise.
1169         * gfortran.h : Likewise.
1170         * iresolve.c : Likewise.
1171         * match.c : Likewise.
1172         * module.c : Likewise.
1173         * openmp.c : Likewise.
1174         * options.c : Likewise.
1175         * target-memory.c : Likewise.
1176         * trans-array.c : Likewise.
1177         * trans-common.c : Likewise.
1178         * trans-const.c : Likewise.
1179         * trans-decl.c : Likewise.
1180         * trans-expr.c : Likewise.
1181         * trans-intrinsic.c : Likewise.
1182         * trans-io.c : Likewise.
1183         * trans-openmp.c : Likewise.
1184         * trans-stmt.c : Likewise.
1185         * trans-types.c : Likewise.
1186         * trans.c : Likewise.
1188 2015-06-08  Steven G. Kargl  <kargl@gcc.gnu.org>
1190         PR fortran/66245
1191         * match.c (gfc_match_type_is, gfc_match_class_is):  Check if the
1192         return type spec or derived type spec is validate.
1194 2015-06-06  Thomas Koenig  <tkoenig@netcologne.de>
1196         PR fortran/47659
1197         * arith.c (eval_intrinsic_op): Set warn flag for
1198         gfc_type_convert_binary if -Wconversion or -Wconversion-extra
1199         are set.
1200         (wprecision_real_real): New function.
1201         (wprecision_int_real): New function.
1202         (gfc_int2int): If -fno-range-check and -Wconversion are specified
1203         and it is a narrowing conversion, warn.
1204         (gfc_int2real): If there is a change in value for the conversion,
1205         warn.
1206         (gfc_int2complex):  Likewise.
1207         (gfc_real2int): If there is a fractional part to the real number,
1208         warn with -Wconversion, otherwise warn with -Wconversion-extra.
1209         (gfc_real2real): Emit warning if the constant was changed by
1210         conversion with either -Wconversion or -Wconversion-extra.  With
1211         -Wconversion-extra, warn if no warning was issued earlier.
1212         (gfc_real2complex):  Likewise.
1213         (gfc_complex2int): For -Wconversion or -Wconversion-extra, if
1214         there was an imaginary part, warn; otherwise, warn for change in
1215         value.  Warn with -Wconversion-extra if no other warning was
1216         issued.
1217         (gfc_complex2real): For -Wconversion or -Wconversion-extra, if
1218         there was an imaginary part, warn; otherwise, warn for change in
1219         value. Warn with -Wconversion-extra if no other warning was
1220         issued.
1221         (gfc_complex2complex):  For -Wconversion, warn if the value of
1222         either the real or the imaginary part was changed.  Warn for
1223         -Wconversion-extra if no prior warning was issued.
1224         * expr.c (gfc_check_assign):  Remove check for change in value.
1225         * primary.c (match_real_constant): For -Wconversion-extra, check
1226         against a number in which the last non-zero digit has been
1227         replaced with a zero.  If the number compares equal, warn.
1228         * intrinsic.c (gfc_convert_type_warn):  Do not warn about constant
1229         conversions.
1231 2015-06-05  Steven G. Kargl  <kargl@gcc.gnu.org>
1233         PR fortran/66347
1234         * resolve.c (apply_default_init_local): Do not dereference a NULL
1235         pointer.
1237 2015-06-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
1239         PR fortran/66385
1240         * frontend-passes.c (combine_array_constructor): Return early if
1241         inside a FORALL loop.
1243 2015-06-05  Aldy Hernandez  <aldyh@redhat.com>
1245         * f95-lang.c (gfc_write_global_declarations): Remove.
1246         (LANG_HOOKS_WRITE_GLOBALS): Remove.
1247         (gfc_write_global_declarations): Move code from here to...
1248         (gfc_be_parse_file): ...here.
1249         Call global_decl_processing.
1250         * trans-decl.c (gfc_emit_parameter_debug_info): Rename global_decl
1251         to early_global_decl.
1253 2015-06-05  Russell Whitesides  <russelldub@gmail.com>
1254             Steven G. Kargl  <kargl@gcc.gnu.org>
1256         PR fortran/40958
1257         PR fortran/60780
1258         PR fortran/66377
1259         * module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs
1260         from different modules.  Eliminate the pruning of unused
1261         equivalence-objects
1263 2015-06-04  Thomas Koenig  <tkoenig@netcologne.de>
1265         PR fortran/58749
1266         * iresolve.c (gfc_resolve_adjustl):  If string has a charlen,
1267         copy it to the function.
1268         (gfc_resolve_adjustr):  Likewise.
1270 2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
1272         * convert.c: Adjust includes for restructured coretypes.h.
1273         * cpp.c: Likewise.
1274         * decl.c: Likewise.
1275         * f95-lang.c: Likewise.
1276         * iresolve.c: Likewise.
1277         * match.c: Likewise.
1278         * module.c: Likewise.
1279         * options.c: Likewise.
1280         * target-memory.c: Likewise.
1281         * trans-array.c: Likewise.
1282         * trans-common.c: Likewise.
1283         * trans-const.c: Likewise.
1284         * trans-decl.c: Likewise.
1285         * trans-expr.c: Likewise.
1286         * trans-intrinsic.c: Likewise.
1287         * trans-io.c: Likewise.
1288         * trans-openmp.c: Likewise.
1289         * trans-stmt.c: Likewise.
1290         * trans-types.c: Likewise.
1291         * trans.c: Likewise.
1293 2015-06-02  Steven G. Kargl  <kargl@gcc.gnu.org>
1295         PR fortran/66380
1296         * simplify.c (gfc_simplify_reshape): Convert assert into returning
1297         NULL, which triggers an error condition.
1299 2015-05-27  Andre Vehreschild  <vehre@gmx.de>
1301         PR fortran/65548
1302         * trans-stmt.c (gfc_trans_allocate): Add missing location
1303         information for e3rhs.
1305 2015-05-26  Paul Thomas  <pault@gcc.gnu.org>
1307         PR fortran/66082
1308         * trans-array.c (gfc_conv_array_parameter): Ensure that all
1309         non-variable arrays with allocatable components have the
1310         components deallocated after the procedure call.
1312 2015-05-24  Mikael Morin  <mikael@gcc.gnu.org>
1314         PR fortran/66257
1315         * resolve.c (resolve_actual_arglist): Don't throw an error
1316         if the argument with procedure pointer component is not a variable.
1318 2015-05-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1320         PR fortran/44054
1321         * gfortran.h (struct gfc_error_buf): Rename as
1322         gfc_error_buffer. Move closer to push, pop and free
1323         methods. Reimplement using an output_buffer.
1324         * error.c (errors, warnings, warning_buffer, cur_error_buffer):
1325         Delete everywhere in this file.
1326         (error_char): Delete all contents.
1327         (gfc_increment_error_count): Delete.
1328         (gfc_error_now): Update comment. Set error_buffer.flag.
1329         (gfc_warning_check): Do not handle warning_buffer.
1330         (gfc_error_1): Delete.
1331         (gfc_error_now_1): Delete.
1332         (gfc_error_check): Simplify.
1333         (gfc_move_error_buffer_from_to): Renamed from
1334         gfc_move_output_buffer_from_to.
1335         (gfc_push_error): Handle only gfc_error_buffer.
1336         (gfc_pop_error): Likewise.
1337         (gfc_free_error): Likewise.
1338         (gfc_get_errors): Remove warnings and errors.
1339         (gfc_diagnostics_init): Use static error_buffer.
1340         (gfc_error_1,gfc_error_now_1): Delete declarations.
1341         * symbol.c, decl.c, trans-common.c, data.c, expr.c, expr.c,
1342         frontend-passes.c, resolve.c, match.c, parse.c: Replace
1343         gfc_error_1 with gfc_error and gfc_error_now_1 with gfc_error_1
1344         everywhere.
1345         * f95-lang.c (gfc_be_parse_file): Do not update errorcount and
1346         warningcount here.
1347         * primary.c (match_complex_constant): Replace gfc_error_buf and
1348         output_buffer with gfc_error_buffer.
1350 2015-05-22  Jim Wilson  <jim.wilson@linaro.org>
1352         * Make-lang.in (check_gfortran_parallelize): Update comment.
1354 2015-05-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
1356         PR fortran/66176
1357         * frontend-passes.c (check_conjg_variable):  New function.
1358         (inline_matmul_assign):  Use it to keep track of conjugated
1359         variables.
1361 2015-05-20  Andre Vehreschild  <vehre@gmx.de>
1363         PR fortran/65548
1364         * trans-stmt.c (gfc_trans_allocate): Always retrieve the
1365         descriptor or a reference to a source= expression for
1366         arrays and non-arrays, respectively.  Use a temporary
1367         symbol and gfc_trans_assignment for all source=
1368         assignments to allocated objects besides for class and
1369         derived types.
1371 2015-05-19  Jakub Jelinek  <jakub@redhat.com>
1373         PR middle-end/66199
1374         * trans-openmp.c (gfc_trans_omp_teams): Set OMP_TEAMS_COMBINED for
1375         combined constructs.
1376         (gfc_trans_omp_target): Make sure BIND_EXPR has non-NULL
1377         BIND_EXPR_BLOCK.
1379 2015-05-19  David Malcolm  <dmalcolm@redhat.com>
1381         * cpp.c (maybe_print_line): Strengthen local "map" from
1382         const line_map * to const line_map_ordinary *.
1383         (cb_file_change): Likewise for param "map" and local "from".
1384         (cb_line_change): Likewise for local "map".
1386 2015-05-19  Mikhail Maltsev  <maltsevm@gmail.com>
1388         * interface.c (compare_actual_formal): Use std::swap instead of
1389         explicit swaps.
1390         * trans-array.c (gfc_trans_scalarized_loop_end): Likewise.
1391         * trans-intrinsic.c (walk_inline_intrinsic_transpose): Likewise.
1393 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1395         PR fortran/66106
1396         * interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201).
1397         * match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE.
1399 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1401         PR fortran/66057
1402         * decl.c(gfc_match_generic):  Detected a malformed GENERIC statement.
1404 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1406         PR fortran/66043
1407         * gfortran.dg/storage_size_6.f90: New tests.
1409 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1411         PR fortran/66043
1412         * gfortran.dg/storage_size_6.f90: New tests.
1414 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1416         PR fortran/66044
1417         * decl.c(gfc_match_entry):  Change a gfc_internal_error() into
1418         a gfc_error()
1420 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1422         PR fortran/66043
1423         * gfortran.dg/storage_size_6.f90: New tests.
1425 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1427         PR fortran/66040
1428         * parse.c(verify_st_order): Replace a gfc_internal_error with your
1429         generic gfc_error.
1431 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1433         PR fortran/66039
1434         * io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH,
1435         BACKSPACE, and ENDFILE statements
1437 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
1439         PR fortran/64925
1440         * symbol.c(check_conflict):  Check for a conflict between a dummy
1441         argument and an internal procedure name.
1443 2015-05-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1445         PR fortran/65903
1446         * io.c (format_lex): Change to NONSTRING when checking for
1447         possible doubled quote.
1448         * scanner.c (gfc_next_char_literal): Revert change from 64506
1449         and add a check for quotes and return.
1451 2015-05-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
1453         PR fortran/66113
1454         * expr.c (is_parent_of_current_ns):  New function.
1455         (check_restricted):  Use it.
1457 2015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1459         PR fortran/44054
1461         Replace all calls to gfc_notify_std_1 with gfc_notify_std and
1462         gfc_warning_1 with gfc_warning.
1463         * decl.c (gfc_verify_c_interop_param): Here.
1464         * resolve.c (resolve_branch): Here.
1465         (resolve_fl_derived): Here.
1466         * dependency.c (gfc_check_argument_var_dependency):
1467         * scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line
1468         counter and locations before and after warning.
1469         * gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1):
1470         Delete.
1471         (gfc_warning_now_at): Declare.
1472         * error.c (gfc_warning_1): Delete.
1473         (gfc_notify_std_1): Delete.
1474         (gfc_warning_now_1): Delete.
1475         (gfc_format_decoder): Handle two locations.
1476         (gfc_diagnostic_build_prefix): Rename as
1477         gfc_diagnostic_build_kind_prefix.
1478         (gfc_diagnostic_build_locus_prefix): Take an expanded_location
1479         instead of diagnostic_info.
1480         (gfc_diagnostic_build_locus_prefix): Add overload that takes two
1481         expanded_location.
1482         (gfc_diagnostic_starter): Handle two locations.
1483         (gfc_warning_now_at): New.
1484         (gfc_diagnostics_init): Initialize caret_chars array.
1485         (gfc_diagnostics_finish): Reset caret_chars array to default.
1487 2015-05-16  Mikael Morin  <mikael@gcc.gnu.org>
1488             Paul Thomas  <pault@gcc.gnu.org>
1490         PR fortran/65792
1491         * trans-expr.c (gfc_trans_subcomponent_assign): Always assign
1492         the expression component to the destination. In addition, if
1493         the component has allocatable components, copy them and
1494         deallocate those of the expression, if it is not a variable.
1495         The expression is fixed if not a variable to prevent multiple
1496         evaluations.
1498 2015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
1500         PR fortran/66111
1501         * frontend-passes.c (has_dimen_vector_ref):  New function.
1502         (inline_matmul_assign):  Use it to return early in case
1503         of unhandled vector subscripts.
1505 2015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
1507         PR fortran/66041
1508         PR fortran/37131
1509         * gfortran.h (gfc_array_spec):  Add field resolved.
1510         * array.c (gfc_resolve_array_spec):  Resolve array spec
1511         only once.
1513 2015-05-11  Mikael Morin  <mikael@gcc.gnu.org>
1515         PR fortran/66100
1516         * simplify.c (simplify_bound): Fix assert to accept subobject arrays.
1518 2015-05-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
1520         PR fortran/66041
1521         * frontend-passes.c (scalarized_expr): Set correct dimension and
1522         shape for the expression to be passed to lbound. Remove trailing
1523         references after array refrence.
1524         (inline_matmul_assign):  Remove gfc_copy_expr from calls
1525         to scalarized_expr().
1527 2015-05-10  Mikael Morin  <mikael@gcc.gnu.org>
1529         * simplify.c (simplify_bound_dim): Don't check for emptyness
1530         in the case of cobound simplification.  Factor lower/upper
1531         bound differenciation before the actual simplification.
1532         (simplify_bound): Remove assumed shape specific simplification.
1533         Don't give up early for the lbound of an assumed shape.
1535 2015-05-09  Mikael Morin  <mikael@gcc.gnu.org>
1537         PR fortran/65894
1538         * trans-array.h (gfc_scalar_elemental_arg_saved_as_reference):
1539         New prototype.
1540         * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
1541         New function.
1542         (gfc_add_loop_ss_code): Use gfc_scalar_elemental_arg_saved_as_reference
1543         as conditional.
1544         (gfc_walk_elemental_function_args): Set the dummy_arg field.
1545         * trans.h (gfc_ss_info): New subfield dummy_arg.
1546         * trans-expr.c (gfc_conv_procedure_call): Revert the change
1547         of revision 222361.
1548         (gfc_conv_expr): Use gfc_scalar_elemental_arg_saved_as_reference
1549         as conditional.
1551 2015-05-08  Mikael Morin  <mikael@gcc.gnu.org>
1553         * trans-array.c (gfc_walk_elemental_function_args):
1554         Don't skip the advance to the next dummy argument when skipping
1555         absent optional args.
1557 2015-05-05  David Malcolm  <dmalcolm@redhat.com>
1559         * expr.c (check_inquiry): Fix indentation so that it reflects the
1560         block structure.
1561         * interface.c (compare_parameter): Likewise.
1562         * parse.c (parse_oacc_structured_block): Likewise.
1563         * target-memory.c (expr_to_char): Likewise.
1564         * trans-types.c (gfc_init_kinds): Likewise.
1566 2015-05-02  Steven G. Kargl  <kargl@gcc.gnu.org>
1568         PR fortran/65976
1569         * invoke.texi:  Remove 'no-' in '-fno-fixed-form'
1571 2015-05-01  Mikael Morin  <mikael@gcc.gnu.org>
1573         * simplify.c (simplify_bound_dim): Tighten the check for array fullness
1574         by also checking for absence of subreference.
1575         (simplify_bound): Don't skip simplification if the array
1576         has subreferences.
1577         (simplify_cobound): Same.
1579 2015-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
1581         PR fortran/37131
1582         * simplify.c (simplify_bound): Get constant lower bounds of one
1583         from array spec for assumed and explicit shape shape arrays if
1584         the lower bounds are indeed one.
1586 2015-04-30  David Malcolm  <dmalcolm@redhat.com>
1588         * options.c (gfc_init_options): Remove spurious second
1589         semicolon.
1590         * trans-stmt.c (gfc_trans_allocate): Likewise.
1592 2015-04-28  Andre Vehreschild  <vehre@gmx.de>
1594         * interface.c (gfc_compare_types): Check for unlimited
1595         polymorphism flag in the correct position indepent of the _data
1596         component being present or not.  This prevents a segfault, when
1597         the _data component is not present.
1598         * symbol.c (gfc_type_compatible): Same.
1600 2015-04-27  Jim Wilson  <jim.wilson@linaro.org>
1602         * Make-lang.in (fortran.mostlyclean): Remove gfortran and
1603         gfortran-cross.
1605 2015-04-27  Andre Vehreschild  <vehre@gmx.de>
1607         PR fortran/59678
1608         PR fortran/65841
1609         * trans-array.c (duplicate_allocatable): Fixed deep copy of
1610         allocatable components, which are liable for copy only, when
1611         they are allocated.
1612         (gfc_duplicate_allocatable): Add deep-copy code into if
1613         component allocated block. Needed interface change for that.
1614         (gfc_copy_allocatable_data): Supplying NULL_TREE for code to
1615         add into if-block for checking whether a component was
1616         allocated.
1617         (gfc_duplicate_allocatable_nocopy): Likewise.
1618         (structure_alloc_comps): Likewise.
1619         * trans-array.h: Likewise.
1620         * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
1621         * trans-openmp.c (gfc_walk_alloc_comps): Likewise.
1623 2015-04-23  Andre Vehreschild  <vehre@gmx.de>
1625         PR fortran/60322
1626         * expr.c (gfc_lval_expr_from_sym): Code to select the regular
1627         or class array added.
1628         * gfortran.h: Add IS_CLASS_ARRAY macro.
1629         * trans-array.c (gfc_add_loop_ss_code): Treat class objects
1630         to be referenced always.
1631         (build_class_array_ref): Adapt retrieval of array descriptor.
1632         (build_array_ref): Likewise.
1633         (gfc_conv_array_ref): Hand the vptr or the descriptor to
1634         build_array_ref depending whether the sym is class or not.
1635         (gfc_trans_array_cobounds):  Select correct gfc_array_spec for
1636         regular and class arrays.
1637         (gfc_trans_array_bounds): Likewise.
1638         (gfc_trans_dummy_array_bias): Likewise.
1639         (gfc_get_dataptr_offset): Correcting call of build_array_ref.
1640         (gfc_conv_expr_descriptor): Set the array's offset to -1 when
1641         lbound in inner most dim is 1 and symbol non-pointer/assoc.
1642         * trans-decl.c (gfc_build_qualified_array): Select correct
1643         gfc_array_spec for regular and class arrays.
1644         (gfc_build_dummy_array_decl): Likewise.
1645         (gfc_get_symbol_decl): Get a dummy array for class arrays.
1646         (gfc_trans_deferred_vars): Tell conv_expr that the descriptor
1647         is desired.
1648         * trans-expr.c (gfc_class_vptr_get): Get the class descriptor
1649         from the correct location for class arrays.
1650         (gfc_class_len_get): Likewise.
1651         (gfc_conv_intrinsic_to_class): Add handling of _len component.
1652         (gfc_conv_class_to_class):  Prevent access to unset array data
1653         when the array is an optional argument. Add handling of _len
1654         component.
1655         (gfc_copy_class_to_class): Check that _def_init is non-NULL
1656         when used in _vptr->copy()
1657         (gfc_trans_class_init_assign): Ensure that the rank of
1658         _def_init is zero.
1659         (gfc_conv_component_ref): Get the _vptr along with _data refs.
1660         (gfc_conv_variable): Make sure the temp array descriptor is
1661         returned for class arrays, too, and that class arrays are
1662         dereferenced correctly.
1663         (gfc_conv_procedure_call): For polymorphic type initialization
1664         the initializer has to be a pointer to _def_init stored in a
1665         dummy variable, which then needs to be used by value.
1666         * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the
1667         temporary array descriptor for class arrays, too.
1668         (gfc_conv_intrinsic_storage_size): Likewise.
1669         (gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS
1670         expressions.
1671         * trans-stmt.c (trans_associate_var): Use a temporary array for
1672         the associate variable of class arrays, too, making the array
1673         one-based (lbound == 1).
1674         * trans-types.c (gfc_is_nodesc_array): Use the correct
1675         array data.
1676         * trans.c (gfc_build_array_ref): Use the dummy array descriptor
1677         when present.
1678         * trans.h: Add class_vptr to gfc_se for storing a class ref's
1679         vptr.
1681 2015-04-22  Steven G. Kargl  <kargl@gcc.gnu.org>
1683         PR fortran/65429
1684         * decl.c (add_init_expr_to_sym): Set the length type parameter.
1686 2015-04-10  Tobias Burnus  <burnus@net-b.de>
1688         * trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib
1689         version; reject not-yet-implemented variants.
1690         * trans-types.c (gfc_get_derived_type): For lock_type with
1691         -fcoarray=lib, use a void pointer as type.
1692         * trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable):
1693         Handle lock_type with -fcoarray=lib.
1695 2015-04-10  Mikael Morin  <mikael@gcc.gnu.org>
1697         PR fortran/56674
1698         PR fortran/58813
1699         PR fortran/59016
1700         PR fortran/59024
1701         * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the
1702         former to the latter and make it non-static.  Update callers.
1703         * gfortran.h (gfc_save_symbol_data): New prototype.
1704         * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data'
1705         before modifying symbols 'sym' and 'dt_sym'.
1707 2013-04-09  Paul Thomas  <pault@gcc.gnu.org>
1709         PR fortran/56852
1710         * primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any
1711         of the index variables are untyped and errors are present.
1713 2015-04-07  Andre Vehreschild  <vehre@gmx.de>
1715         PR fortran/65548
1716         * trans-stmt.c (gfc_trans_allocate): For intrinsic functions
1717         use conv_expr_descriptor() instead of conv_expr_reference().
1719 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
1721         PR fortran/65597
1722         * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
1723         linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
1724         For implcitly added !simple OMP_CLAUSE_LINEAR set it too.  Use step 1
1725         instead of the original step on the new iterator - count.
1727 2015-03-25  Mikael Morin  <mikael@gcc.gnu.org>
1729         PR fortran/64952
1730         PR fortran/65532
1731         * gfortran.h (struct gfc_namespace): New field 'types_resolved'.
1732         * resolve.c (resolve_types): Return early if field 'types_resolved'
1733         is set.  Set 'types_resolved' at the end.
1735 2015-03-24  Andre Vehreschild  <vehre@gmx.de>
1737         PR fortran/55901
1738         * trans-expr.c (gfc_conv_structure): Fixed indendation.
1739         Using integer_zero_node now instead of explicitly
1740         constructing a integer constant zero node.
1741         (gfc_conv_derived_to_class): Add handling of _len component,
1742         i.e., when the rhs has a string_length then assign that to
1743         class' _len, else assign 0.
1744         (gfc_conv_intrinsic_to_class): Likewise.
1746 2015-03-24  Andre Vehreschild  <vehre@gmx.de>
1748         PR fortran/64787
1749         PR fortran/57456
1750         PR fortran/63230
1751         * class.c (gfc_add_component_ref):  Free no longer needed
1752         ref-chains to prevent memory loss.
1753         (find_intrinsic_vtab): For deferred length char arrays or
1754         unlimited polymorphic objects, store the size in bytes of one
1755         character in the size component of the vtab.
1756         * gfortran.h: Added gfc_add_len_component () define.
1757         * trans-array.c (gfc_trans_create_temp_array): Switched to new
1758         function name for getting a class' vtab's field.
1759         (build_class_array_ref): Likewise.
1760         (gfc_array_init_size): Using the size information from allocate
1761         more consequently now, i.e., the typespec of the entity to
1762         allocate is no longer needed.  This is to address the last open
1763         comment in PR fortran/57456.
1764         (gfc_array_allocate): Likewise.
1765         (structure_alloc_comps): gfc_copy_class_to_class () needs to
1766         know whether the class is unlimited polymorphic.
1767         * trans-array.h: Changed interface of gfc_array_allocate () to
1768         reflect the no longer needed typespec.
1769         * trans-expr.c (gfc_find_and_cut_at_last_class_ref): New.
1770         (gfc_reset_len): New.
1771         (gfc_get_class_array_ref): Switch to new function name for
1772         getting a class' vtab's field.
1773         (gfc_copy_class_to_class):  Added flag to know whether the class
1774         to copy is unlimited polymorphic.  Adding _len dependent code
1775         then, which calls ->vptr->copy () with four arguments adding
1776         the length information ->vptr->copy(from, to, from_len, to_cap).
1777         (gfc_conv_procedure_call): Switch to new function name for
1778         getting a class' vtab's field.
1779         (alloc_scalar_allocatable_for_assignment): Use the string_length
1780         as computed by gfc_conv_expr and not the statically backend_decl
1781         which may be incorrect when ref-ing.
1782         (gfc_trans_assignment_1): Use the string_length variable and
1783         not the rse.string_length.  The former has been computed more
1784         generally.
1785         * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new
1786         function name for getting a class' vtab's field.
1787         (gfc_conv_intrinsic_storage_size): Likewise.
1788         (gfc_conv_intrinsic_transfer): Likewise.
1789         * trans-stmt.c (gfc_trans_allocate): Restructured to evaluate
1790         source=expr3 only once before the loop over the objects to
1791         allocate, when the objects are not arrays. Doing correct _len
1792         initialization and calling of vptr->copy () fixing PR 64787.
1793         (gfc_trans_deallocate): Reseting _len to 0, preventing future
1794         errors.
1795         * trans.c (gfc_build_array_ref): Switch to new function name
1796         for getting a class' vtab's field.
1797         (gfc_add_comp_finalizer_call): Likewise.
1798         * trans.h: Define the prototypes for the gfc_class_vtab_*_get ()
1799         and gfc_vptr_*_get () functions.
1800         Added gfc_find_and_cut_at_last_class_ref () and
1801         gfc_reset_len () routine prototype.  Added flag to
1802         gfc_copy_class_to_class () prototype to signal an unlimited
1803         polymorphic entity to copy.
1805 2015-03-24  Iain Sandoe  <iain@codesourcery.com>
1806             Tobias Burnus  <burnus@net-b.de>
1808         * gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
1810 2015-03-23  Paul Thomas  <pault@gcc.gnu.org>
1811             Mikael Morin  <mikael@gcc.gnu.org>
1813         PR fortran/64952
1814         * gfortran.h (struct symbol_attribute) : New field
1815         'array_outer_dependency'.
1816         * trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
1817         * module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
1818         (attr_bits): Append same value to initializer.
1819         (mio_symbol_attribute): Handle 'array_outer_dependency' attr
1820         in module read and write.
1821         * resolve.c (update_current_proc_outer_array_dependency): New function.
1822         (resolve_function, resolve_call): Add code to update current procedure's
1823         'array_outer_dependency' attribute.
1824         (resolve_variable): Mark current procedure with attribute
1825         array_outer_dependency if the variable is an array coming from outside
1826         the current namespace.
1827         (resolve_fl_procedure): Mark a procedure without body with attribute
1828         'array_outer_dependency'.
1829         * trans-array.c (gfc_conv_resolve_dependencies): If any ss is
1830         marked as 'array_outer_dependency' generate a temporary.
1831         (gfc_walk_function_expr): If the function may reference external arrays,
1832         mark the head gfc_ss with flag 'array_outer_dependency'.
1834 2015-03-22 Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1836         PR libgfortran/59513
1837         * gfortran.texi (Read/Write after EOF marker): New information.
1839 2015-03-21  H.J. Lu  <hongjiu.lu@intel.com>
1841         * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
1842         line.
1844 2015-03-21  Tobias Burnus  <burnus@net-b.de>
1846         * gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images,
1847         _gfortran_caf_sync_memory, _gfortran_caf_error_stop,
1848         _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define,
1849         _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas,
1850         _gfortran_caf_atomic_op): New sections.
1852 2015-03-21  Tobias Burnus  <burnus@net-b.de>
1854         * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
1855         coindexed coarray accesses.
1857 2015-03-17  Paul Thomas  <pault@gcc.gnu.org>
1859         PR fortran/59198
1860         * trans-types.c (gfc_get_derived_type): If an abstract derived
1861         type with procedure pointer components has no other type of
1862         component, return the backend_decl. Otherwise build the
1863         components if any of the non-procedure pointer components have
1864         no backend_decl.
1866 2015-03-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1868         PR fortran/64432
1869         *trans-intrinisic.c (conv_intrinsic_system_clock): Check the
1870         smallest kind passed in user arguments and hardcode tesults for
1871         KIND=1 or KIND=2 to indicate no clock available.
1873 2015-03-16  Andre Vehreschild  <vehre@gmx.de>
1875         * resolve.c: Prevent segfault on illegal input.
1877 2015-03-14  Mikael Morin  <mikael@gcc.gnu.org>
1879         PR fortran/61138
1880         * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY
1881         field before reusing LSE.
1883 2015-03-11  Janne Blomqvist  <jb@gcc.gnu.org>
1885         PR libfortran/65200
1886         * gfortran.texi: Document behavior when opening files without
1887         explicit ACTION= specifier.
1889 2015-03-10  Paul Thomas  <pault@gcc.gnu.org>
1891         PR fortran/65024
1892         * trans-expr.c (gfc_conv_component_ref): If the component
1893         backend declaration is missing and the derived type symbol is
1894         available in the reference, call gfc_build_derived_type.
1896 2015-03-10  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
1897             Tobias Burnus  <burnus@net-b.de>
1899         * trans.h (caf_sync_memory): New function decl tree.
1900         * trans-decl.c (gfc_build_builtin_function_decls): Define it.
1901         (create_main_function): Don't call sync_synchronize and leave
1902         it to the CAF library.
1903         * trans-stmt.c (gfc_trans_stop): Ditto.
1904         (gfc_trans_sync): Ditto; add call library call for sync memory.
1906 2015-03-08  Mikael Morin  <mikael@gcc.gnu.org>
1908         PR fortran/60898
1909         * resolve.c (resolve_symbol): Check that the symbol found by
1910         name lookup really is the current symbol being resolved.
1912 2015-03-02  Tobias Burnus  <burnus@net-b.de>
1914         * check.c (gfc_check_atomic): Properly check for coarrayness
1915         and for being coindexed.
1917 2015-02-26  Martin Liska  <mliska@suse.cz>
1919         * resolve.c: Rename enum 'comparison' to 'compare_result' as
1920         solution for -Wodr issue.
1922 2015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
1924         PR libgomp/64625
1925         * f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1926         Remove macros.
1927         (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1928         * types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
1929         (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
1930         Remove function types.
1931         (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
1932         (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
1933         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
1934         New function types.
1936 2015-02-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1938         PR fortran/64980
1939         PR fortran/61960
1940         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping
1941         for component references to class objects.
1942         (gfc_conv_procedure_call): Compare the class by name.
1944 2015-02-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1946         PR fortran/64506
1947         * scanner.c (gfc_next_char_literal): For free form source,
1948         check for '!' and if found, clear the comment and go back
1949         and get the next character. For fixed form source, skip the
1950         rest of the line.
1952 2015-02-12  Paul Thomas  <pault@gcc.gnu.org>
1954         PR fortran/64932
1955         * trans-stmt.c (gfc_trans_deallocate): If a component array
1956         expression is not a descriptor type and it is a derived type
1957         that has allocatable components and is not finalizable, then
1958         deallocate the allocatable components.
1960 2015-02-08  Mikael Morin  <mikael@gcc.gnu.org>
1962         PR fortran/63744
1963         * module.c (check_for_ambiguous): Change argument type
1964         from gfc_symbol to gfc_symtree.  Check local (symtree) name
1965         instead of original (symbol) name.
1966         (read_module): Update caller.
1968 2015-02-06  Paul Thomas  <pault@gcc.gnu.org>
1970         PR fortran/63205
1971         * gfortran.h: Add 'must finalize' field to gfc_expr and
1972         prototypes for gfc_is_alloc_class_scalar_function and for
1973         gfc_is_alloc_class_array_function.
1974         * expr.c (gfc_is_alloc_class_scalar_function,
1975         gfc_is_alloc_class_array_function): New functions.
1976         * trans-array.c (gfc_add_loop_ss_code): Do not move the
1977         expression for allocatable class scalar functions outside the
1978         loop.
1979         (conv_array_index_offset): Cope with deltas being NULL_TREE.
1980         (build_class_array_ref): Do not return with allocatable class
1981         array functions. Add code to pick out the returned class array.
1982         Dereference if necessary and return if not a class object.
1983         (gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
1984         (gfc_walk_function_expr): Return an array ss for the result of
1985         an allocatable class array function.
1986         * trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
1987         that the argument should be a variable. If an allocatable class
1988         array function, set the offset to zero and skip the write-out
1989         loop in this case.
1990         (gfc_conv_procedure_call): Add allocatable class array function
1991         to the assert. Call gfc_conv_subref_array_arg for allocatable
1992         class array function arguments with derived type formal arg..
1993         Add the code for handling allocatable class functions, including
1994         finalization calls to prevent memory leaks.
1995         (arrayfunc_assign_needs_temporary): Return if an allocatable
1996         class array function.
1997         (gfc_trans_assignment_1): Set must_finalize to rhs expression
1998         for allocatable class functions. Set scalar_to_array as needed
1999         for scalar class allocatable functions assigned to an array.
2000         Nullify the allocatable components corresponding the the lhs
2001         derived type so that the finalization does not free them.
2003 2015-01-29  Andre Vehreschild  <vehre@gmx.de>
2004             Janus Weil  <janus@gcc.gnu.org>
2006         PR fortran/60289
2007         Initial patch by Janus Weil
2008         * resolve.c (resolve_allocate_expr): Add check for comp. only
2009         when target is not unlimited polymorphic.
2010         * trans-stmt.c (gfc_trans_allocate): Assign correct value to
2011         _len component of unlimited polymorphic entities.
2013 2015-02-05  Tobias Burnus  <burnus@net-b.de>
2015         PR fortran/64943
2016         * resolve.c (resolve_transfer): Also check structure
2017         constructors.
2019 2015-02-05  Paul Thomas  <pault@gcc.gnu.org>
2021         PR fortran/64757
2022         * resolve.c (resolve_structure_cons): Obtain the rank of class
2023         components.
2024         * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
2025         assignment to allocatable class array components.
2026         (alloc_scalar_allocatable_for_subcomponent_assignment): If comp
2027         is a class component, allocate to the _data field.
2028         (gfc_trans_subcomponent_assign): If a class component with a
2029         derived type expression set the _vptr field and for array
2030         components, call gfc_trans_alloc_subarray_assign. For scalars,
2031         the assignment is performed here.
2033 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
2035         * options.c: Include langhooks.h.
2036         (gfc_post_options): Change lang_hooks.name based on
2037         selected -std= mode.
2039 2015-02-03  Steven G. Kargl  <kargl@gcc.gnu.org>
2041         * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
2043 2015-01-30  Andre Vehreschild  <vehre@gmx.de>
2045         * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
2046         * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
2047         Fixed datatype of charlen to be a 32-bit int.
2049 2015-02-01  Joseph Myers  <joseph@codesourcery.com>
2051         * error.c (gfc_warning (const char *, ...), gfc_warning_now (const
2052         char *, ...)): Remove functions.
2053         * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
2054         (const char *, ...)): Remove declarations.
2055         * arith.c, check.c, data.c, decl.c, frontend-passes.c,
2056         interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
2057         options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
2058         trans-common.c, trans-const.c, trans-stmt.c: All callers of
2059         gfc_warning and gfc_warning_now changed to pass 0 or option number
2060         as first argument.
2062 2015-01-30  Joseph Myers  <joseph@codesourcery.com>
2064         * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
2065         callers of fatal_error changed to pass input_location as first
2066         argument.
2068 2015-01-28  Tobias Burnus  <burnus@net-b.de>
2070         * intrinsic.texi (CO_BROADCAST): Correct argument description.
2072 2015-01-27  Tobias Burnus  <burnus@net-b.de>
2074         PR fortran/63861
2075         * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
2076         Fix handling for scalar coarrays.
2077         * trans-types.c (gfc_get_element_type): Add comment.
2079 2015-01-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2081         PR fortran/64771
2082         * interface.c: Remove <algorithm>.
2083         (check_dummy_characteristics): Use MAX instead of std::max.
2085 2015-01-26  Paul Thomas  <pault@gcc.gnu.org>
2087         PR fortran/62044
2088         * resolve.c (resolve_allocate_expr): If the default initializer
2089         is NULL, keep the original MOLD expression so that the correct
2090         typespec is available.
2092 2015-01-26  Tobias Burnus  <burnus@net-b.de>
2094         PR fortran/64771
2095         * interface.c (check_dummy_characteristics): Fix coarray handling.
2097 2015-01-26  Tobias Burnus  <burnus@net-b.de>
2099         * io.c (gfc_match_inquire): Replace "-1" by a defined constant.
2101 2015-01-26  Janus Weil  <janus@gcc.gnu.org>
2103         PR fortran/64230
2104         * class.c (finalize_component): New argument 'sub_ns'. Insert code to
2105         check if 'expr' is associated.
2106         (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
2107         'ptr2'. Pass 'sub_ns' to finalize_component.
2109 2015-01-25  Mikael Morin  <mikael@gcc.gnu.org>
2111         PR fortran/62044
2112         * decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
2113         * module.c (MOD_VERSION): Bump.
2114         (write_module): Don't write list of extensions.
2115         (read_module): Don't jump over list of extensions;
2116         don't load list of extensions.
2117         (load_derived_extensions, write_dt_extensions,
2118          write_derived_extensions): Remove.
2120 2015-01-24  Tobias Burnus  <burnus@net-b.de>
2122         * parse.c (gfc_parse_file): Fix two-location gfc_error call.
2124 2015-01-23  Martin Liska  <mliska@suse.cz>
2126         * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
2127         false positive during profiledbootstrap by initializing them.
2128         * matchexp.c (match_mult_operand): Likewise.
2129         * module.c (write_atom): Likewise.
2130         (read_module): Likewise.
2132 2015-01-23  Tom de Vries  <tom@codesourcery.com>
2134         PR libgomp/64672
2135         * lang.opt (fopenacc): Mark as LTO option.
2137 2015-01-23  Tom de Vries  <tom@codesourcery.com>
2139         PR libgomp/64707
2140         * lang.opt (fopenmp): Mark as LTO option.
2142 2015-01-23  Andre Vehreschild  <vehre@gmx.de>
2144         * trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
2145         * trans-stmt.c (gfc_trans_allocate): Fixed indentation.
2147 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
2149         * gfc-diagnostic.def (DK_ICE_NOBT): New kind.
2151 2015-01-23  Janus Weil  <janus@gcc.gnu.org>
2153         PR fortran/60922
2154         * class.c (finalize_component): Apply the check for 'fini_coarray' only
2155         to coarray components.
2157 2015-01-23  Tobias Burnus  <burnus@net-b.de>
2159         PR fortran/64726
2160         * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
2161         loop generation.
2163 2015-01-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2165         PR fortran/61933
2166         * libgfortran.h:
2167         * trans-io.c (set_parameter_value): Delete use of has_iostat.
2168         Redefine to not generate any runtime error check calls.
2169         (set_parameter_value_chk): Rename of the former
2170         set_parameter_value with the runtime error checks and fix
2171         whitespace. (set_parameter_value_inquire): New function that
2172         builds a runtime conditional block to set the INQUIRE
2173         common parameter block unit number to -2 when unit numbers
2174         exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
2175         For unit, use the renamed set_parameter_value_chk.
2176         (gfc_trans_close): Likewise use renamed function.
2177         (build_filepos): Whitespace and use renamed function.
2178         (gfc_trans_inquire): Whitespace and for unit use
2179         set_parameter_value and set_parameter_value_inquire.
2180         (gfc_trans_wait): Remove p->iostat from call to
2181         set_parameter_value. Use new set_parameter_value_chk for unit.
2182         (build_dt): Use the new set_parameter_value without p->iostat
2183         and fix whitespace. Use set_parameter_value_chk for unit.
2185 2015-01-21  Thomas Koenig  <tkoenig@netcologne.de>
2187         PR fortran/57023
2188         * dependency.c (callback_dummy_intent_not_int):  New function.
2189         (dummy_intent_not_in):  New function.
2190         (gfc_full_array_ref_p):  Use dummy_intent_not_in.
2192 2015-01-18  Andre Vehreschild  <vehre@gmx.de>
2193             Janus Weil <janus@gcc.gnu.org>
2195         PR fortran/60255
2196         * class.c (gfc_get_len_component): New.
2197         (gfc_build_class_symbol): Add _len component to unlimited
2198         polymorphic entities.
2199         (find_intrinsic_vtab): Removed emitting of error message.
2200         * gfortran.h: Added prototype for gfc_get_len_component.
2201         * simplify.c (gfc_simplify_len): Use _len component where
2202         available.
2203         * trans-expr.c (gfc_class_len_get): New.
2204         (gfc_conv_intrinsic_to_class): Add handling for deferred
2205         character arrays.
2206         (gfc_conv_structure): Treat _len component correctly.
2207         (gfc_conv_expr): Prevent bind_c handling when not required.
2208         (gfc_trans_pointer_assignment): Propagate _len component.
2209         * trans-stmt.c (class_has_len_component): New.
2210         (trans_associate_var): _len component treatment for associate
2211         context.
2212         (gfc_trans_allocate): Same as for trans_associate_var()
2213         * trans.h: Added prototype for gfc_class_len_get.
2215 2015-01-18  Paul Thomas  <pault@gcc.gnu.org>
2217         PR fortran/57959
2218         * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
2219         for allocatable components, where the source is a variable.
2221 2015-01-18  Paul Thomas  <pault@gcc.gnu.org>
2223         PR fortran/55901
2224         * primary.c (gfc_match_varspec): Exclude dangling associate-
2225         names with dimension 0 from being counted as arrays.
2226         * resolve.c (resolve_assoc_var): Sub-strings are permissible
2227         for associate-names, so exclude characters from the test for
2228         misuse as arrays.
2229         * trans-decl.c (gfc_get_symbol_decl): Associate-names can use
2230         the hidden string length variable of their associated target.
2231         Signal this by setting 'length' to a constant, if the decl for
2232         the string length is a variable.
2234 2015-01-17  Paul Thomas  <pault@gcc.gnu.org>
2236         PR fortran/64578
2237         * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
2238         before reinitializing rse, to add the rse.pre to block before
2239         creating 'ptrtemp'.
2240         * trans-intrinsic.c (gfc_conv_associated): Deal with the class
2241         data being a descriptor.
2243 2015-01-17  Andre Vehreschild  <vehre@gmx.de>
2245         PR fortran/60357
2246         * primary.c (build_actual_constructor): Prevent warning.
2247         * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
2248         assignment): New function encapsulates treatment of allocatable
2249         components.
2250         (gfc_trans_subcomponent_assign): Needed to distinguish between
2251         regular assignment and initilization.
2252         (gfc_trans_structure_assign): Same.
2253         (gfc_conv_structure): Same.
2255         PR fortran/61275
2256         * gfortran.h: deferred_parameter is not needed, because
2257         it artificial does the trick completely.
2258         * primary.c (build_actual_constructor): Same.
2259         (gfc_convert_to_structure_constructor): Same.
2260         * resolve.c (resolve_fl_derived0): Same.
2261         * trans-expr.c (gfc_conv_component_ref): Prevent treating
2262         allocatable deferred length char arrays here.
2263         (gfc_trans_subcomponent_assign): Same as above.
2264         * trans-types.c (gfc_sym_type): This is done in
2265         gfc_get_derived_type already.
2267 2015-01-17  Andre Vehreschild  <vehre@gmx.de>
2269         PR fortran/60334
2270         * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
2271         length when the symbol is declared to be a result.
2272         * trans-expr.c (gfc_conv_procedure_call): Strip deref on the
2273         string length when functions are nested and the string length
2274         is a reference already.
2276 2015-01-16  Janus Weil  <janus@gcc.gnu.org>
2278         PR fortran/45290
2279         * decl.c (match_pointer_init): Error out if resolution of init expr
2280         failed.
2282 2015-01-15  Tobias Burnus  <burnus@net-b.de>
2284         * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
2285         resolve_oacc_deviceptr_clause, resolve_omp_clauses,
2286         gfc_resolve_oacc_declare): Replace '%s' by %qs.
2288 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
2289             Cesar Philippidis  <cesar@codesourcery.com>
2290             James Norris  <jnorris@codesourcery.com>
2291             Ilmir Usmanov  <i.usmanov@samsung.com>
2292             Tobias Burnus  <burnus@net-b.de>
2294         * lang.opt (fopenacc): New option.
2295         * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
2296         * dump-parse-tree.c (show_omp_node): Split part of it into...
2297         (show_omp_clauses): ... this new function.
2298         (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
2299         EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
2300         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
2301         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
2302         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
2303         (show_namespace): Update for OpenACC.
2304         * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
2305         (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
2306         (DEF_GOACC_BUILTIN_COMPILER): New macros.
2307         * types.def (BT_FN_VOID_INT_INT_VAR)
2308         (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
2309         (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
2310         New function types.
2311         * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
2312         ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
2313         ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
2314         ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
2315         ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
2316         ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
2317         ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
2318         ST_OACC_ROUTINE.
2319         (struct gfc_expr_list): New data type.
2320         (gfc_get_expr_list): New macro.
2321         (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
2322         OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
2323         OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
2324         (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
2325         (OMP_LIST_CACHE): New enumerators.
2326         (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
2327         vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
2328         wait_list, tile_list, async, gang, worker, vector, seq,
2329         independent, wait, par_auto, gang_static, and loc members.
2330         (struct gfc_namespace): Add oacc_declare_clauses member.
2331         (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
2332         EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
2333         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
2334         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
2335         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
2336         (gfc_free_expr_list, gfc_resolve_oacc_directive)
2337         (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
2338         (gfc_resolve_oacc_blocks): New prototypes.
2339         * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
2340         EXEC_OACC_PARALLEL_LOOP.
2341         * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
2342         (gfc_match_oacc_update, gfc_match_oacc_declare)
2343         (gfc_match_oacc_loop, gfc_match_oacc_host_data)
2344         (gfc_match_oacc_data, gfc_match_oacc_kernels)
2345         (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
2346         (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
2347         (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
2348         prototypes.
2349         * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
2350         (gfc_free_omp_clauses): Update for members added to struct
2351         gfc_omp_clauses.
2352         (gfc_match_omp_clauses): Change mask paramter to uint64_t.  Add
2353         openacc parameter.
2354         (resolve_omp_clauses): Add openacc parameter.  Update for OpenACC.
2355         (struct fortran_omp_context): Add is_openmp member.
2356         (gfc_resolve_omp_parallel_blocks): Initialize it.
2357         (gfc_resolve_do_iterator): Update for OpenACC.
2358         (gfc_resolve_omp_directive): Call
2359         resolve_omp_directive_inside_oacc_region.
2360         (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
2361         (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
2362         (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
2363         (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
2364         (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
2365         (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
2366         (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
2367         (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
2368         (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
2369         (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
2370         (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
2371         (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
2372         (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
2373         (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
2374         (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
2375         (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
2376         (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
2377         (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
2378         (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
2379         (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
2380         (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
2381         (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
2382         (gfc_match_omp_clauses): Handle those.
2383         (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
2384         (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
2385         (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
2386         (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
2387         (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
2388         (OACC_WAIT_CLAUSES): New macros.
2389         (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
2390         (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
2391         (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
2392         (gfc_match_oacc_kernels, gfc_match_oacc_data)
2393         (gfc_match_oacc_host_data, gfc_match_oacc_loop)
2394         (gfc_match_oacc_declare, gfc_match_oacc_update)
2395         (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
2396         (gfc_match_oacc_wait, gfc_match_oacc_cache)
2397         (gfc_match_oacc_routine, oacc_is_loop)
2398         (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
2399         (check_symbol_not_pointer, check_array_not_assumed)
2400         (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
2401         (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
2402         (omp_code_to_statement, oacc_code_to_statement)
2403         (resolve_oacc_directive_inside_omp_region)
2404         (resolve_omp_directive_inside_oacc_region)
2405         (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
2406         (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
2407         (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
2408         (gfc_resolve_oacc_directive): New functions.
2409         * parse.c (next_free): Update for OpenACC.  Move some code into...
2410         (verify_token_free): ... this new function.
2411         (next_fixed): Update for OpenACC.  Move some code into...
2412         (verify_token_fixed): ... this new function.
2413         (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
2414         ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
2415         (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
2416         ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
2417         ST_OACC_KERNELS_LOOP.
2418         (case_decl): Add ST_OACC_ROUTINE.
2419         (push_state, parse_critical_block, parse_progunit): Update for
2420         OpenACC.
2421         (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
2422         ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
2423         ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
2424         ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
2425         ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
2426         ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
2427         ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
2428         ST_OACC_ROUTINE.
2429         (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
2430         (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
2431         ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
2432         ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
2433         (decode_oacc_directive, parse_oacc_structured_block)
2434         (parse_oacc_loop, is_oacc): New functions.
2435         * parse.h (struct gfc_state_data): Add oacc_declare_clauses
2436         member.
2437         (is_oacc): New prototype.
2438         * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
2439         EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
2440         EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
2441         EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
2442         EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
2443         EXEC_OACC_EXIT_DATA.
2444         (resolve_codes): Call gfc_resolve_oacc_declare.
2445         * scanner.c (openacc_flag, openacc_locus): New variables.
2446         (skip_free_comments): Update for OpenACC.  Move some code into...
2447         (skip_omp_attribute): ... this new function.
2448         (skip_oacc_attribute): New function.
2449         (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
2450         * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
2451         EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
2452         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
2453         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
2454         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
2455         * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
2456         * trans-openmp.c: Include "gomp-constants.h".
2457         (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
2458         instead of OMP_CLAUSE_MAP_*.  Use OMP_CLAUSE_SET_MAP_KIND.
2459         (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
2460         OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
2461         OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
2462         OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
2463         OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
2464         independent, wait_list, num_gangs_expr, num_workers_expr,
2465         vector_length_expr, vector, vector_expr, worker, worker_expr,
2466         gang, gang_expr members.
2467         (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
2468         (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
2469         (gfc_trans_oacc_executable_directive)
2470         (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
2471         (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
2472         * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
2473         * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
2474         New prototypes.
2475         * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
2476         EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
2477         EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
2478         EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
2479         EXEC_OACC_EXIT_DATA.
2480         * gfortran.texi: Update for OpenACC.
2481         * intrinsic.texi: Likewise.
2482         * invoke.texi: Likewise.
2484 2015-01-15  Janus Weil  <janus@gcc.gnu.org>
2486         PR fortran/58023
2487         * resolve.c (resolve_fl_derived0): Continue resolving next component
2488         after error.
2490 2015-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2492         PR fortran/61933
2493         * io.c (gfc_match_inquire): Generate error if unit number in
2494         inquire statement is a constant -1.  All other values allowed.
2495         * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
2496         (create_dummy_iostat): Delete function no longer used.
2498 2015-01-13  Jakub Jelinek  <jakub@redhat.com>
2500         PR fortran/64528
2501         * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
2502         on dummy args with VALUE attribute.
2504 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
2506         PR fortran/63733
2507         * interface.c (gfc_extend_expr): Look for type-bound operators before
2508         non-typebound ones.
2510 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
2512         PR fortran/58023
2513         * resolve.c (resolve_fl_derived0): Set error flag if problems with the
2514         interface of a procedure-pointer component were detected.
2516 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
2518         PR fortran/64508
2519         * interface.c (compare_parameter): Interface check for
2520         procedure-pointer component as actual argument.
2522 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
2524         * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
2525         Runtime Library" to "GNU Offloading and Multi Processing Runtime
2526         Library".
2527         * intrinsic.texi: Likewise.
2529 2015-01-10  Tobias Burnus  <burnus@net-b.de>
2531         PR fortran/64522
2532         * invoke.texi (Wline-truncation): Document new behaviour.
2533         * lang.opt (Wline-truncation): Add Init(-1).
2534         * options.c (gfc_post_options): If -Wline-truncation is unset,
2535         enable it for free-form source files; for the latter, also use
2536         -Werror=line-truncation, unless -Wno-error has been specified.
2538 2015-01-09  Michael Collison  <michael.collison@linaro.org>
2540         * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2541         input.h, alias.h, symtab.h, options.h, fold-const.h,
2542         wide-int.h, and inchash.h due to flattening of tree.h.
2543         * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2544         input.h, alias.h, symtab.h, fold-const.h,
2545         wide-int.h, and inchash.h due to flattening of tree.h.
2546         * decl.c: Ditto.
2547         * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2548         input.h, alias.h, symtab.h, options.h, fold-const.h,
2549         wide-int.h, and inchash.h due to flattening of tree.h.
2550         * iresolve.c: Ditto.
2551         * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2552         input.h, alias.h, symtab.h, fold-const.h,
2553         wide-int.h, and inchash.h due to flattening of tree.h.
2554         * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2555         input.h, alias.h, symtab.h, options.h, fold-const.h,
2556         wide-int.h, and inchash.h due to flattening of tree.h.
2557         * options.c: Ditto.
2558         * target-memory.c: Include hash-set.h, vec.h,
2559         double-int.h, input.h, alias.h, symtab.h, fold-const.h,
2560         wide-int.h, and inchash.h due to flattening of tree.h.
2561         * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2562         input.h, alias.h, symtab.h, options.h, fold-const.h,
2563         wide-int.h, and inchash.h due to flattening of tree.h.
2564         * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2565         input.h, alias.h, symtab.h, options.h, fold-const.h,
2566         wide-int.h, and inchash.h due to flattening of tree.h.
2567         * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2568         input.h, alias.h, symtab.h, fold-const.h,
2569         wide-int.h, and inchash.h due to flattening of tree.h.
2570         * trans-const.c: Ditto.
2571         * trans-decl.c: Ditto.
2572         * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2573         input.h, alias.h, symtab.h, options.h, fold-const.h,
2574         wide-int.h, and inchash.h due to flattening of tree.h.
2575         * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2576         input.h, alias.h, symtab.h, fold-const.h,
2577         wide-int.h, inchash.h and real.h due to flattening of tree.h.
2578         * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2579         input.h, alias.h, symtab.h, options.h, fold-const.h,
2580         wide-int.h, and inchash.h due to flattening of tree.h.
2581         * trans-openmp.c: Ditto.
2582         * trans-stmt.c: Ditto.
2583         * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2584         input.h, alias.h, symtab.h, fold-const.h,
2585         wide-int.h, inchash.h and real.h due to flattening of tree.h.
2587 2015-01-08  Tobias Burnus  <burnus@net-b.de>
2589         * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
2590         for module coarrays with -fcoarray=lib.
2591         (get_proc_pointer_decl): As module variable, make only public
2592         when not marked as private.
2594 2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
2596         PR fortran/47674
2597         * dependency.h:  Actually commit changes.
2599 2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
2601         PR fortran/47674
2602         * dependency.c:  Update copyright years.
2603         (gfc_discard_nops):  Add prototype.
2604         * dependency.c (discard_nops):  Rename to gfc_discard_nops,
2605         make non-static.
2606         (gfc_discard_nops):  Use gfc_discard_nops.
2607         (gfc_dep_difference):  Likewise.
2608         * frontend-passes.c  Update copyright years.
2609         (realloc_strings):  New function.  Add prototype.
2610         (gfc_run_passes):  Call realloc_strings.
2611         (realloc_string_callback):  New function.
2612         (create_var):  Add prototype.  Handle case of a
2613         scalar character variable.
2614         (optimize_trim):  Do not handle allocatable variables.
2616 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
2618         Update copyright years.
2620         * gfortranspec.c (lang_specific_driver): Update copyright notice
2621         dates.
2622         * gfc-internals.texi: Bump @copying's copyright year.
2623         * gfortran.texi: Ditto.
2624         * intrinsic.texi: Ditto.
2625         * invoke.texi: Ditto.
2627 2015-01-02  Janus Weil  <janus@gcc.gnu.org>
2629         PR fortran/57562
2630         * expr.c (find_component_ref): Deal with extended types.
2632 2015-01-02  Tobias Burnus  <burnus@net-b.de>
2634         * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
2635         for module coarrays with -fcoarray=lib.
2637 2015-01-02  Janus Weil  <janus@gcc.gnu.org>
2639         PR fortran/60507
2640         * interface.c (is_procptr_result): New function to check if an
2641         expression is a procedure-pointer result.
2642         (compare_actual_formal): Use it.
2644 Copyright (C) 2015 Free Software Foundation, Inc.
2646 Copying and distribution of this file, with or without modification,
2647 are permitted in any medium without royalty provided the copyright
2648 notice and this notice are preserved.