gcc/
[official-gcc.git] / gcc / fortran / ChangeLog
blob42a3064aa9d57de60100872aa6550a58f40f1329
1 2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
3         * trans-decl.c (module_hasher): Likewise.
4         * trans.h (module_decl_hasher): Likewise.
6 2015-06-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8         PR fortran/66528
9         * error.c (gfc_warning_check): Restore the default output_buffer
10         before calling diagnostic_action_after_output.
11         (gfc_error_check): Likewise.
12         (gfc_diagnostics_init): Add comment.
14 2015-06-23  Andre Vehreschild  <vehre@gmx.de>
16         PR fortran/64674
17         * parse.c (parse_associate): Figure the rank and as of a
18         class array in an associate early.
19         * primary.c (gfc_match_varspec): Prevent setting the
20         dimension attribute on the sym for classes.
21         * resolve.c (resolve_variable): Correct the component
22         ref's type for associated variables.  Add a full array ref
23         when class array's are associated.
24         (resolve_assoc_var): Correct the type of the symbol,
25         when in the associate the expression's rank becomes scalar.
26         * trans-expr.c (gfc_conv_variable): Indirect ref needed for
27         allocatable associated objects.
29 2015-06-19  Mikael Morin  <mikael@gcc.gnu.org>
31         PR fortran/66549
32         * resolve.c (resolve_global_procedure): Don't save and restore
33         OpenMP state around the call to gfc_resolve.
34         (gfc_resolve): Save OpenMP state on entry and restore it on return.
36 2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
38         * convert.c: Do not include input.h, line-map.h or is-a.h.
39         * cpp.c: Likewise.
40         * decl.c: Likewise.
41         * f95-lang.c: Likewise.
42         * gfortran.h: Likewise.
43         * iresolve.c: Likewise.
44         * match.c: Likewise.
45         * module.c: Likewise.
46         * options.c: Likewise.
47         * target-memory.c: Likewise.
48         * trans-array.c: Likewise.
49         * trans-common.c: Likewise.
50         * trans-const.c: Likewise.
51         * trans-decl.c: Likewise.
52         * trans-expr.c: Likewise.
53         * trans-intrinsic.c: Likewise.
54         * trans-io.c: Likewise.
55         * trans-openmp.c: Likewise.
56         * trans-stmt.c: Likewise.
57         * trans-types.c: Likewise.
58         * trans.c: Likewise.
60 2015-06-15  Andre Vehreschild  <vehre@gmx.de>
62         PR fortran/44672
63         PR fortran/45440
64         PR fortran/57307
65         * gfortran.h: Extend gfc_code.ext.alloc to carry a
66         flag indicating that the array specification has to be
67         taken from expr3.
68         * resolve.c (resolve_allocate_expr): Add F2008 notify
69         and flag indicating source driven array spec.
70         (resolve_allocate_deallocate): Check for source driven
71         array spec, when array to allocate has no explicit
72         array spec.
73         * trans-array.c (gfc_array_init_size): Get lower and
74         upper bound from a tree array descriptor, except when
75         the source expression is an array-constructor which is
76         fixed to be one-based.
77         (retrieve_last_ref): Extracted from gfc_array_allocate().
78         (gfc_array_allocate): Enable allocate(array, source= 
79         array_expression) as specified by F2008:C633.
80         (gfc_conv_expr_descriptor): Add class tree expression
81         into the saved descriptor for class arrays.
82         * trans-array.h: Add temporary array descriptor to
83         gfc_array_allocate ().
84         * trans-expr.c (gfc_conv_procedure_call): Special handling
85         for _copy() routine translation, that comes without an
86         interface. Third and fourth argument are now passed by value.
87         * trans-stmt.c (gfc_trans_allocate): Get expr3 array
88         descriptor for temporary arrays to allow allocate(array,
89         source = array_expression) for array without array
90         specification.
92 2015-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
94         * intrinsic.texi:  Change \leq to < in descrition of imaginary
95         part in argument to log.
97 2015-06-11  Paul Thomas  <pault@gcc.gnu.org>
99         PR fortran/66079
100         * trans-expr.c (gfc_conv_procedure_call): Allocatable scalar
101         function results must be freed and nullified after use. Create
102         a temporary to hold the result to prevent duplicate calls.
103         * trans-stmt.c (gfc_trans_allocate): Rename temporary variable
104         as 'source'. Deallocate allocatable components of non-variable
105         'source's.
107 2015-06-11  Pierre-Marie de Rodat  <derodat@adacore.com>
109         * f95-lang.c (gfc_create_decls): Register the main translation unit
110         through the new debug hook.
112 2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
114         * convert.c : Adjust include files.
115         * cpp.c : Likewise.
116         * decl.c : Likewise.
117         * f95-lang.c : Likewise.
118         * gfortran.h : Likewise.
119         * iresolve.c : Likewise.
120         * match.c : Likewise.
121         * module.c : Likewise.
122         * openmp.c : Likewise.
123         * options.c : Likewise.
124         * target-memory.c : Likewise.
125         * trans-array.c : Likewise.
126         * trans-common.c : Likewise.
127         * trans-const.c : Likewise.
128         * trans-decl.c : Likewise.
129         * trans-expr.c : Likewise.
130         * trans-intrinsic.c : Likewise.
131         * trans-io.c : Likewise.
132         * trans-openmp.c : Likewise.
133         * trans-stmt.c : Likewise.
134         * trans-types.c : Likewise.
135         * trans.c : Likewise.
137 2015-06-08  Steven G. Kargl  <kargl@gcc.gnu.org>
139         PR fortran/66245
140         * match.c (gfc_match_type_is, gfc_match_class_is):  Check if the
141         return type spec or derived type spec is validate.
143 2015-06-06  Thomas Koenig  <tkoenig@netcologne.de>
145         PR fortran/47659
146         * arith.c (eval_intrinsic_op): Set warn flag for
147         gfc_type_convert_binary if -Wconversion or -Wconversion-extra
148         are set.
149         (wprecision_real_real): New function.
150         (wprecision_int_real): New function.
151         (gfc_int2int): If -fno-range-check and -Wconversion are specified
152         and it is a narrowing conversion, warn.
153         (gfc_int2real): If there is a change in value for the conversion,
154         warn.
155         (gfc_int2complex):  Likewise.
156         (gfc_real2int): If there is a fractional part to the real number,
157         warn with -Wconversion, otherwise warn with -Wconversion-extra.
158         (gfc_real2real): Emit warning if the constant was changed by
159         conversion with either -Wconversion or -Wconversion-extra.  With
160         -Wconversion-extra, warn if no warning was issued earlier.
161         (gfc_real2complex):  Likewise.
162         (gfc_complex2int): For -Wconversion or -Wconversion-extra, if
163         there was an imaginary part, warn; otherwise, warn for change in
164         value.  Warn with -Wconversion-extra if no other warning was
165         issued.
166         (gfc_complex2real): For -Wconversion or -Wconversion-extra, if
167         there was an imaginary part, warn; otherwise, warn for change in
168         value. Warn with -Wconversion-extra if no other warning was
169         issued.
170         (gfc_complex2complex):  For -Wconversion, warn if the value of
171         either the real or the imaginary part was changed.  Warn for
172         -Wconversion-extra if no prior warning was issued.
173         * expr.c (gfc_check_assign):  Remove check for change in value.
174         * primary.c (match_real_constant): For -Wconversion-extra, check
175         against a number in which the last non-zero digit has been
176         replaced with a zero.  If the number compares equal, warn.
177         * intrinsic.c (gfc_convert_type_warn):  Do not warn about constant
178         conversions.
180 2015-06-05  Steven G. Kargl  <kargl@gcc.gnu.org>
182         PR fortran/66347
183         * resolve.c (apply_default_init_local): Do not dereference a NULL
184         pointer.
186 2015-06-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
188         PR fortran/66385
189         * frontend-passes.c (combine_array_constructor): Return early if
190         inside a FORALL loop.
192 2015-06-05  Aldy Hernandez  <aldyh@redhat.com>
194         * f95-lang.c (gfc_write_global_declarations): Remove.
195         (LANG_HOOKS_WRITE_GLOBALS): Remove.
196         (gfc_write_global_declarations): Move code from here to...
197         (gfc_be_parse_file): ...here.
198         Call global_decl_processing.
199         * trans-decl.c (gfc_emit_parameter_debug_info): Rename global_decl
200         to early_global_decl.
202 2015-06-05  Russell Whitesides  <russelldub@gmail.com>
203             Steven G. Kargl  <kargl@gcc.gnu.org>
205         PR fortran/40958
206         PR fortran/60780
207         PR fortran/66377
208         * module.c (load_equiv): Add check for loading duplicate EQUIVALENCEs
209         from different modules.  Eliminate the pruning of unused
210         equivalence-objects
212 2015-06-04  Thomas Koenig  <tkoenig@netcologne.de>
214         PR fortran/58749
215         * iresolve.c (gfc_resolve_adjustl):  If string has a charlen,
216         copy it to the function.
217         (gfc_resolve_adjustr):  Likewise.
219 2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
221         * convert.c: Adjust includes for restructured coretypes.h.
222         * cpp.c: Likewise.
223         * decl.c: Likewise.
224         * f95-lang.c: Likewise.
225         * iresolve.c: Likewise.
226         * match.c: Likewise.
227         * module.c: Likewise.
228         * options.c: Likewise.
229         * target-memory.c: Likewise.
230         * trans-array.c: Likewise.
231         * trans-common.c: Likewise.
232         * trans-const.c: Likewise.
233         * trans-decl.c: Likewise.
234         * trans-expr.c: Likewise.
235         * trans-intrinsic.c: Likewise.
236         * trans-io.c: Likewise.
237         * trans-openmp.c: Likewise.
238         * trans-stmt.c: Likewise.
239         * trans-types.c: Likewise.
240         * trans.c: Likewise.
242 2015-06-02  Steven G. Kargl  <kargl@gcc.gnu.org>
244         PR fortran/66380
245         * simplify.c (gfc_simplify_reshape): Convert assert into returning
246         NULL, which triggers an error condition.
248 2015-05-27  Andre Vehreschild  <vehre@gmx.de>
250         PR fortran/65548
251         * trans-stmt.c (gfc_trans_allocate): Add missing location
252         information for e3rhs.
254 2015-05-26  Paul Thomas  <pault@gcc.gnu.org>
256         PR fortran/66082
257         * trans-array.c (gfc_conv_array_parameter): Ensure that all
258         non-variable arrays with allocatable components have the
259         components deallocated after the procedure call.
261 2015-05-24  Mikael Morin  <mikael@gcc.gnu.org>
263         PR fortran/66257
264         * resolve.c (resolve_actual_arglist): Don't throw an error
265         if the argument with procedure pointer component is not a variable.
267 2015-05-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
269         PR fortran/44054
270         * gfortran.h (struct gfc_error_buf): Rename as
271         gfc_error_buffer. Move closer to push, pop and free
272         methods. Reimplement using an output_buffer.
273         * error.c (errors, warnings, warning_buffer, cur_error_buffer):
274         Delete everywhere in this file.
275         (error_char): Delete all contents.
276         (gfc_increment_error_count): Delete.
277         (gfc_error_now): Update comment. Set error_buffer.flag.
278         (gfc_warning_check): Do not handle warning_buffer.
279         (gfc_error_1): Delete.
280         (gfc_error_now_1): Delete.
281         (gfc_error_check): Simplify.
282         (gfc_move_error_buffer_from_to): Renamed from
283         gfc_move_output_buffer_from_to.
284         (gfc_push_error): Handle only gfc_error_buffer.
285         (gfc_pop_error): Likewise.
286         (gfc_free_error): Likewise.
287         (gfc_get_errors): Remove warnings and errors.
288         (gfc_diagnostics_init): Use static error_buffer.
289         (gfc_error_1,gfc_error_now_1): Delete declarations.
290         * symbol.c, decl.c, trans-common.c, data.c, expr.c, expr.c,
291         frontend-passes.c, resolve.c, match.c, parse.c: Replace
292         gfc_error_1 with gfc_error and gfc_error_now_1 with gfc_error_1
293         everywhere.
294         * f95-lang.c (gfc_be_parse_file): Do not update errorcount and
295         warningcount here.
296         * primary.c (match_complex_constant): Replace gfc_error_buf and
297         output_buffer with gfc_error_buffer.
299 2015-05-22  Jim Wilson  <jim.wilson@linaro.org>
301         * Make-lang.in (check_gfortran_parallelize): Update comment.
303 2015-05-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
305         PR fortran/66176
306         * frontend-passes.c (check_conjg_variable):  New function.
307         (inline_matmul_assign):  Use it to keep track of conjugated
308         variables.
310 2015-05-20  Andre Vehreschild  <vehre@gmx.de>
312         PR fortran/65548
313         * trans-stmt.c (gfc_trans_allocate): Always retrieve the
314         descriptor or a reference to a source= expression for
315         arrays and non-arrays, respectively.  Use a temporary
316         symbol and gfc_trans_assignment for all source=
317         assignments to allocated objects besides for class and
318         derived types.
320 2015-05-19  Jakub Jelinek  <jakub@redhat.com>
322         PR middle-end/66199
323         * trans-openmp.c (gfc_trans_omp_teams): Set OMP_TEAMS_COMBINED for
324         combined constructs.
325         (gfc_trans_omp_target): Make sure BIND_EXPR has non-NULL
326         BIND_EXPR_BLOCK.
328 2015-05-19  David Malcolm  <dmalcolm@redhat.com>
330         * cpp.c (maybe_print_line): Strengthen local "map" from
331         const line_map * to const line_map_ordinary *.
332         (cb_file_change): Likewise for param "map" and local "from".
333         (cb_line_change): Likewise for local "map".
335 2015-05-19  Mikhail Maltsev  <maltsevm@gmail.com>
337         * interface.c (compare_actual_formal): Use std::swap instead of
338         explicit swaps.
339         * trans-array.c (gfc_trans_scalarized_loop_end): Likewise.
340         * trans-intrinsic.c (walk_inline_intrinsic_transpose): Likewise.
342 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
344         PR fortran/66106
345         * interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201).
346         * match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE.
348 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
350         PR fortran/66057
351         * decl.c(gfc_match_generic):  Detected a malformed GENERIC statement.
353 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
355         PR fortran/66043
356         * gfortran.dg/storage_size_6.f90: New tests.
358 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
360         PR fortran/66043
361         * gfortran.dg/storage_size_6.f90: New tests.
363 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
365         PR fortran/66044
366         * decl.c(gfc_match_entry):  Change a gfc_internal_error() into
367         a gfc_error()
369 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
371         PR fortran/66043
372         * gfortran.dg/storage_size_6.f90: New tests.
374 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
376         PR fortran/66040
377         * parse.c(verify_st_order): Replace a gfc_internal_error with your
378         generic gfc_error.
380 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
382         PR fortran/66039
383         * io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH,
384         BACKSPACE, and ENDFILE statements
386 2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>
388         PR fortran/64925
389         * symbol.c(check_conflict):  Check for a conflict between a dummy
390         argument and an internal procedure name.
392 2015-05-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
394         PR fortran/65903
395         * io.c (format_lex): Change to NONSTRING when checking for
396         possible doubled quote.
397         * scanner.c (gfc_next_char_literal): Revert change from 64506
398         and add a check for quotes and return.
400 2015-05-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
402         PR fortran/66113
403         * expr.c (is_parent_of_current_ns):  New function.
404         (check_restricted):  Use it.
406 2015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>
408         PR fortran/44054
410         Replace all calls to gfc_notify_std_1 with gfc_notify_std and
411         gfc_warning_1 with gfc_warning.
412         * decl.c (gfc_verify_c_interop_param): Here.
413         * resolve.c (resolve_branch): Here.
414         (resolve_fl_derived): Here.
415         * dependency.c (gfc_check_argument_var_dependency):
416         * scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line
417         counter and locations before and after warning.
418         * gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1):
419         Delete.
420         (gfc_warning_now_at): Declare.
421         * error.c (gfc_warning_1): Delete.
422         (gfc_notify_std_1): Delete.
423         (gfc_warning_now_1): Delete.
424         (gfc_format_decoder): Handle two locations.
425         (gfc_diagnostic_build_prefix): Rename as
426         gfc_diagnostic_build_kind_prefix.
427         (gfc_diagnostic_build_locus_prefix): Take an expanded_location
428         instead of diagnostic_info.
429         (gfc_diagnostic_build_locus_prefix): Add overload that takes two
430         expanded_location.
431         (gfc_diagnostic_starter): Handle two locations.
432         (gfc_warning_now_at): New.
433         (gfc_diagnostics_init): Initialize caret_chars array.
434         (gfc_diagnostics_finish): Reset caret_chars array to default.
436 2015-05-16  Mikael Morin  <mikael@gcc.gnu.org>
437             Paul Thomas  <pault@gcc.gnu.org>
439         PR fortran/65792
440         * trans-expr.c (gfc_trans_subcomponent_assign): Always assign
441         the expression component to the destination. In addition, if
442         the component has allocatable components, copy them and
443         deallocate those of the expression, if it is not a variable.
444         The expression is fixed if not a variable to prevent multiple
445         evaluations.
447 2015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
449         PR fortran/66111
450         * frontend-passes.c (has_dimen_vector_ref):  New function.
451         (inline_matmul_assign):  Use it to return early in case
452         of unhandled vector subscripts.
454 2015-05-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
456         PR fortran/66041
457         PR fortran/37131
458         * gfortran.h (gfc_array_spec):  Add field resolved.
459         * array.c (gfc_resolve_array_spec):  Resolve array spec
460         only once.
462 2015-05-11  Mikael Morin  <mikael@gcc.gnu.org>
464         PR fortran/66100
465         * simplify.c (simplify_bound): Fix assert to accept subobject arrays.
467 2015-05-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
469         PR fortran/66041
470         * frontend-passes.c (scalarized_expr): Set correct dimension and
471         shape for the expression to be passed to lbound. Remove trailing
472         references after array refrence.
473         (inline_matmul_assign):  Remove gfc_copy_expr from calls
474         to scalarized_expr().
476 2015-05-10  Mikael Morin  <mikael@gcc.gnu.org>
478         * simplify.c (simplify_bound_dim): Don't check for emptyness
479         in the case of cobound simplification.  Factor lower/upper
480         bound differenciation before the actual simplification.
481         (simplify_bound): Remove assumed shape specific simplification.
482         Don't give up early for the lbound of an assumed shape.
484 2015-05-09  Mikael Morin  <mikael@gcc.gnu.org>
486         PR fortran/65894
487         * trans-array.h (gfc_scalar_elemental_arg_saved_as_reference):
488         New prototype.
489         * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference):
490         New function.
491         (gfc_add_loop_ss_code): Use gfc_scalar_elemental_arg_saved_as_reference
492         as conditional.
493         (gfc_walk_elemental_function_args): Set the dummy_arg field.
494         * trans.h (gfc_ss_info): New subfield dummy_arg.
495         * trans-expr.c (gfc_conv_procedure_call): Revert the change
496         of revision 222361.
497         (gfc_conv_expr): Use gfc_scalar_elemental_arg_saved_as_reference
498         as conditional.
500 2015-05-08  Mikael Morin  <mikael@gcc.gnu.org>
502         * trans-array.c (gfc_walk_elemental_function_args):
503         Don't skip the advance to the next dummy argument when skipping
504         absent optional args.
506 2015-05-05  David Malcolm  <dmalcolm@redhat.com>
508         * expr.c (check_inquiry): Fix indentation so that it reflects the
509         block structure.
510         * interface.c (compare_parameter): Likewise.
511         * parse.c (parse_oacc_structured_block): Likewise.
512         * target-memory.c (expr_to_char): Likewise.
513         * trans-types.c (gfc_init_kinds): Likewise.
515 2015-05-02  Steven G. Kargl  <kargl@gcc.gnu.org>
517         PR fortran/65976
518         * invoke.texi:  Remove 'no-' in '-fno-fixed-form'
520 2015-05-01  Mikael Morin  <mikael@gcc.gnu.org>
522         * simplify.c (simplify_bound_dim): Tighten the check for array fullness
523         by also checking for absence of subreference.
524         (simplify_bound): Don't skip simplification if the array
525         has subreferences.
526         (simplify_cobound): Same.
528 2015-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
530         PR fortran/37131
531         * simplify.c (simplify_bound): Get constant lower bounds of one
532         from array spec for assumed and explicit shape shape arrays if
533         the lower bounds are indeed one.
535 2015-04-30  David Malcolm  <dmalcolm@redhat.com>
537         * options.c (gfc_init_options): Remove spurious second
538         semicolon.
539         * trans-stmt.c (gfc_trans_allocate): Likewise.
541 2015-04-28  Andre Vehreschild  <vehre@gmx.de>
543         * interface.c (gfc_compare_types): Check for unlimited
544         polymorphism flag in the correct position indepent of the _data
545         component being present or not.  This prevents a segfault, when
546         the _data component is not present.
547         * symbol.c (gfc_type_compatible): Same.
549 2015-04-27  Jim Wilson  <jim.wilson@linaro.org>
551         * Make-lang.in (fortran.mostlyclean): Remove gfortran and
552         gfortran-cross.
554 2015-04-27  Andre Vehreschild  <vehre@gmx.de>
556         PR fortran/59678
557         PR fortran/65841
558         * trans-array.c (duplicate_allocatable): Fixed deep copy of
559         allocatable components, which are liable for copy only, when
560         they are allocated.
561         (gfc_duplicate_allocatable): Add deep-copy code into if
562         component allocated block. Needed interface change for that.
563         (gfc_copy_allocatable_data): Supplying NULL_TREE for code to
564         add into if-block for checking whether a component was
565         allocated.
566         (gfc_duplicate_allocatable_nocopy): Likewise.
567         (structure_alloc_comps): Likewise.
568         * trans-array.h: Likewise.
569         * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
570         * trans-openmp.c (gfc_walk_alloc_comps): Likewise.
572 2015-04-23  Andre Vehreschild  <vehre@gmx.de>
574         PR fortran/60322
575         * expr.c (gfc_lval_expr_from_sym): Code to select the regular
576         or class array added.
577         * gfortran.h: Add IS_CLASS_ARRAY macro.
578         * trans-array.c (gfc_add_loop_ss_code): Treat class objects
579         to be referenced always.
580         (build_class_array_ref): Adapt retrieval of array descriptor.
581         (build_array_ref): Likewise.
582         (gfc_conv_array_ref): Hand the vptr or the descriptor to
583         build_array_ref depending whether the sym is class or not.
584         (gfc_trans_array_cobounds):  Select correct gfc_array_spec for
585         regular and class arrays.
586         (gfc_trans_array_bounds): Likewise.
587         (gfc_trans_dummy_array_bias): Likewise.
588         (gfc_get_dataptr_offset): Correcting call of build_array_ref.
589         (gfc_conv_expr_descriptor): Set the array's offset to -1 when
590         lbound in inner most dim is 1 and symbol non-pointer/assoc.
591         * trans-decl.c (gfc_build_qualified_array): Select correct
592         gfc_array_spec for regular and class arrays.
593         (gfc_build_dummy_array_decl): Likewise.
594         (gfc_get_symbol_decl): Get a dummy array for class arrays.
595         (gfc_trans_deferred_vars): Tell conv_expr that the descriptor
596         is desired.
597         * trans-expr.c (gfc_class_vptr_get): Get the class descriptor
598         from the correct location for class arrays.
599         (gfc_class_len_get): Likewise.
600         (gfc_conv_intrinsic_to_class): Add handling of _len component.
601         (gfc_conv_class_to_class):  Prevent access to unset array data
602         when the array is an optional argument. Add handling of _len
603         component.
604         (gfc_copy_class_to_class): Check that _def_init is non-NULL
605         when used in _vptr->copy()
606         (gfc_trans_class_init_assign): Ensure that the rank of
607         _def_init is zero.
608         (gfc_conv_component_ref): Get the _vptr along with _data refs.
609         (gfc_conv_variable): Make sure the temp array descriptor is
610         returned for class arrays, too, and that class arrays are
611         dereferenced correctly.
612         (gfc_conv_procedure_call): For polymorphic type initialization
613         the initializer has to be a pointer to _def_init stored in a
614         dummy variable, which then needs to be used by value.
615         * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the
616         temporary array descriptor for class arrays, too.
617         (gfc_conv_intrinsic_storage_size): Likewise.
618         (gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS
619         expressions.
620         * trans-stmt.c (trans_associate_var): Use a temporary array for
621         the associate variable of class arrays, too, making the array
622         one-based (lbound == 1).
623         * trans-types.c (gfc_is_nodesc_array): Use the correct
624         array data.
625         * trans.c (gfc_build_array_ref): Use the dummy array descriptor
626         when present.
627         * trans.h: Add class_vptr to gfc_se for storing a class ref's
628         vptr.
630 2015-04-22  Steven G. Kargl  <kargl@gcc.gnu.org>
632         PR fortran/65429
633         * decl.c (add_init_expr_to_sym): Set the length type parameter.
635 2015-04-10  Tobias Burnus  <burnus@net-b.de>
637         * trans-stmt.c (gfc_trans_lock_unlock): Implement -fcoarray=lib
638         version; reject not-yet-implemented variants.
639         * trans-types.c (gfc_get_derived_type): For lock_type with
640         -fcoarray=lib, use a void pointer as type.
641         * trans.c (gfc_allocate_using_lib, gfc_allocate_allocatable):
642         Handle lock_type with -fcoarray=lib.
644 2015-04-10  Mikael Morin  <mikael@gcc.gnu.org>
646         PR fortran/56674
647         PR fortran/58813
648         PR fortran/59016
649         PR fortran/59024
650         * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the
651         former to the latter and make it non-static.  Update callers.
652         * gfortran.h (gfc_save_symbol_data): New prototype.
653         * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data'
654         before modifying symbols 'sym' and 'dt_sym'.
656 2013-04-09  Paul Thomas  <pault@gcc.gnu.org>
658         PR fortran/56852
659         * primary.c (gfc_variable_attr): Avoid ICE on AR_UNKNOWN if any
660         of the index variables are untyped and errors are present.
662 2015-04-07  Andre Vehreschild  <vehre@gmx.de>
664         PR fortran/65548
665         * trans-stmt.c (gfc_trans_allocate): For intrinsic functions
666         use conv_expr_descriptor() instead of conv_expr_reference().
668 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
670         PR fortran/65597
671         * trans-openmp.c (gfc_trans_omp_do): For !simple simd with explicit
672         linear clause for the iterator set OMP_CLAUSE_LINEAR_NO_COPYIN.
673         For implcitly added !simple OMP_CLAUSE_LINEAR set it too.  Use step 1
674         instead of the original step on the new iterator - count.
676 2015-03-25  Mikael Morin  <mikael@gcc.gnu.org>
678         PR fortran/64952
679         PR fortran/65532
680         * gfortran.h (struct gfc_namespace): New field 'types_resolved'.
681         * resolve.c (resolve_types): Return early if field 'types_resolved'
682         is set.  Set 'types_resolved' at the end.
684 2015-03-24  Andre Vehreschild  <vehre@gmx.de>
686         PR fortran/55901
687         * trans-expr.c (gfc_conv_structure): Fixed indendation.
688         Using integer_zero_node now instead of explicitly
689         constructing a integer constant zero node.
690         (gfc_conv_derived_to_class): Add handling of _len component,
691         i.e., when the rhs has a string_length then assign that to
692         class' _len, else assign 0.
693         (gfc_conv_intrinsic_to_class): Likewise.
695 2015-03-24  Andre Vehreschild  <vehre@gmx.de>
697         PR fortran/64787
698         PR fortran/57456
699         PR fortran/63230
700         * class.c (gfc_add_component_ref):  Free no longer needed
701         ref-chains to prevent memory loss.
702         (find_intrinsic_vtab): For deferred length char arrays or
703         unlimited polymorphic objects, store the size in bytes of one
704         character in the size component of the vtab.
705         * gfortran.h: Added gfc_add_len_component () define.
706         * trans-array.c (gfc_trans_create_temp_array): Switched to new
707         function name for getting a class' vtab's field.
708         (build_class_array_ref): Likewise.
709         (gfc_array_init_size): Using the size information from allocate
710         more consequently now, i.e., the typespec of the entity to
711         allocate is no longer needed.  This is to address the last open
712         comment in PR fortran/57456.
713         (gfc_array_allocate): Likewise.
714         (structure_alloc_comps): gfc_copy_class_to_class () needs to
715         know whether the class is unlimited polymorphic.
716         * trans-array.h: Changed interface of gfc_array_allocate () to
717         reflect the no longer needed typespec.
718         * trans-expr.c (gfc_find_and_cut_at_last_class_ref): New.
719         (gfc_reset_len): New.
720         (gfc_get_class_array_ref): Switch to new function name for
721         getting a class' vtab's field.
722         (gfc_copy_class_to_class):  Added flag to know whether the class
723         to copy is unlimited polymorphic.  Adding _len dependent code
724         then, which calls ->vptr->copy () with four arguments adding
725         the length information ->vptr->copy(from, to, from_len, to_cap).
726         (gfc_conv_procedure_call): Switch to new function name for
727         getting a class' vtab's field.
728         (alloc_scalar_allocatable_for_assignment): Use the string_length
729         as computed by gfc_conv_expr and not the statically backend_decl
730         which may be incorrect when ref-ing.
731         (gfc_trans_assignment_1): Use the string_length variable and
732         not the rse.string_length.  The former has been computed more
733         generally.
734         * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Switch to new
735         function name for getting a class' vtab's field.
736         (gfc_conv_intrinsic_storage_size): Likewise.
737         (gfc_conv_intrinsic_transfer): Likewise.
738         * trans-stmt.c (gfc_trans_allocate): Restructured to evaluate
739         source=expr3 only once before the loop over the objects to
740         allocate, when the objects are not arrays. Doing correct _len
741         initialization and calling of vptr->copy () fixing PR 64787.
742         (gfc_trans_deallocate): Reseting _len to 0, preventing future
743         errors.
744         * trans.c (gfc_build_array_ref): Switch to new function name
745         for getting a class' vtab's field.
746         (gfc_add_comp_finalizer_call): Likewise.
747         * trans.h: Define the prototypes for the gfc_class_vtab_*_get ()
748         and gfc_vptr_*_get () functions.
749         Added gfc_find_and_cut_at_last_class_ref () and
750         gfc_reset_len () routine prototype.  Added flag to
751         gfc_copy_class_to_class () prototype to signal an unlimited
752         polymorphic entity to copy.
754 2015-03-24  Iain Sandoe  <iain@codesourcery.com>
755             Tobias Burnus  <burnus@net-b.de>
757         * gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
759 2015-03-23  Paul Thomas  <pault@gcc.gnu.org>
760             Mikael Morin  <mikael@gcc.gnu.org>
762         PR fortran/64952
763         * gfortran.h (struct symbol_attribute) : New field
764         'array_outer_dependency'.
765         * trans.h (struct gfc_ss_info): New field 'array_outer_dependency'.
766         * module.c (enum ab_attribute): New value AB_ARRAY_OUTER_DEPENDENCY.
767         (attr_bits): Append same value to initializer.
768         (mio_symbol_attribute): Handle 'array_outer_dependency' attr
769         in module read and write.
770         * resolve.c (update_current_proc_outer_array_dependency): New function.
771         (resolve_function, resolve_call): Add code to update current procedure's
772         'array_outer_dependency' attribute.
773         (resolve_variable): Mark current procedure with attribute
774         array_outer_dependency if the variable is an array coming from outside
775         the current namespace.
776         (resolve_fl_procedure): Mark a procedure without body with attribute
777         'array_outer_dependency'.
778         * trans-array.c (gfc_conv_resolve_dependencies): If any ss is
779         marked as 'array_outer_dependency' generate a temporary.
780         (gfc_walk_function_expr): If the function may reference external arrays,
781         mark the head gfc_ss with flag 'array_outer_dependency'.
783 2015-03-22 Jerry DeLisle  <jvdelisle@gcc.gnu.org>
785         PR libgfortran/59513
786         * gfortran.texi (Read/Write after EOF marker): New information.
788 2015-03-21  H.J. Lu  <hongjiu.lu@intel.com>
790         * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
791         line.
793 2015-03-21  Tobias Burnus  <burnus@net-b.de>
795         * gfortran.texi (_gfortran_caf_sync_all, _gfortran_caf_sync_images,
796         _gfortran_caf_sync_memory, _gfortran_caf_error_stop,
797         _gfortran_caf_error_stop_str, _gfortran_caf_atomic_define,
798         _gfortran_caf_atomic_ref, _gfortran_caf_atomic_cas,
799         _gfortran_caf_atomic_op): New sections.
801 2015-03-21  Tobias Burnus  <burnus@net-b.de>
803         * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
804         coindexed coarray accesses.
806 2015-03-17  Paul Thomas  <pault@gcc.gnu.org>
808         PR fortran/59198
809         * trans-types.c (gfc_get_derived_type): If an abstract derived
810         type with procedure pointer components has no other type of
811         component, return the backend_decl. Otherwise build the
812         components if any of the non-procedure pointer components have
813         no backend_decl.
815 2015-03-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
817         PR fortran/64432
818         *trans-intrinisic.c (conv_intrinsic_system_clock): Check the
819         smallest kind passed in user arguments and hardcode tesults for
820         KIND=1 or KIND=2 to indicate no clock available.
822 2015-03-16  Andre Vehreschild  <vehre@gmx.de>
824         * resolve.c: Prevent segfault on illegal input.
826 2015-03-14  Mikael Morin  <mikael@gcc.gnu.org>
828         PR fortran/61138
829         * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY
830         field before reusing LSE.
832 2015-03-11  Janne Blomqvist  <jb@gcc.gnu.org>
834         PR libfortran/65200
835         * gfortran.texi: Document behavior when opening files without
836         explicit ACTION= specifier.
838 2015-03-10  Paul Thomas  <pault@gcc.gnu.org>
840         PR fortran/65024
841         * trans-expr.c (gfc_conv_component_ref): If the component
842         backend declaration is missing and the derived type symbol is
843         available in the reference, call gfc_build_derived_type.
845 2015-03-10  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
846             Tobias Burnus  <burnus@net-b.de>
848         * trans.h (caf_sync_memory): New function decl tree.
849         * trans-decl.c (gfc_build_builtin_function_decls): Define it.
850         (create_main_function): Don't call sync_synchronize and leave
851         it to the CAF library.
852         * trans-stmt.c (gfc_trans_stop): Ditto.
853         (gfc_trans_sync): Ditto; add call library call for sync memory.
855 2015-03-08  Mikael Morin  <mikael@gcc.gnu.org>
857         PR fortran/60898
858         * resolve.c (resolve_symbol): Check that the symbol found by
859         name lookup really is the current symbol being resolved.
861 2015-03-02  Tobias Burnus  <burnus@net-b.de>
863         * check.c (gfc_check_atomic): Properly check for coarrayness
864         and for being coindexed.
866 2015-02-26  Martin Liska  <mliska@suse.cz>
868         * resolve.c: Rename enum 'comparison' to 'compare_result' as
869         solution for -Wodr issue.
871 2015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
873         PR libgomp/64625
874         * f95-lang.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
875         Remove macros.
876         (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
877         * types.def (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
878         (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
879         Remove function types.
880         (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
881         (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
882         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
883         New function types.
885 2015-02-22  Bernd Edlinger  <bernd.edlinger@hotmail.de>
887         PR fortran/64980
888         PR fortran/61960
889         * trans-expr.c (gfc_apply_interface_mapping_to_expr): Remove mapping
890         for component references to class objects.
891         (gfc_conv_procedure_call): Compare the class by name.
893 2015-02-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
895         PR fortran/64506
896         * scanner.c (gfc_next_char_literal): For free form source,
897         check for '!' and if found, clear the comment and go back
898         and get the next character. For fixed form source, skip the
899         rest of the line.
901 2015-02-12  Paul Thomas  <pault@gcc.gnu.org>
903         PR fortran/64932
904         * trans-stmt.c (gfc_trans_deallocate): If a component array
905         expression is not a descriptor type and it is a derived type
906         that has allocatable components and is not finalizable, then
907         deallocate the allocatable components.
909 2015-02-08  Mikael Morin  <mikael@gcc.gnu.org>
911         PR fortran/63744
912         * module.c (check_for_ambiguous): Change argument type
913         from gfc_symbol to gfc_symtree.  Check local (symtree) name
914         instead of original (symbol) name.
915         (read_module): Update caller.
917 2015-02-06  Paul Thomas  <pault@gcc.gnu.org>
919         PR fortran/63205
920         * gfortran.h: Add 'must finalize' field to gfc_expr and
921         prototypes for gfc_is_alloc_class_scalar_function and for
922         gfc_is_alloc_class_array_function.
923         * expr.c (gfc_is_alloc_class_scalar_function,
924         gfc_is_alloc_class_array_function): New functions.
925         * trans-array.c (gfc_add_loop_ss_code): Do not move the
926         expression for allocatable class scalar functions outside the
927         loop.
928         (conv_array_index_offset): Cope with deltas being NULL_TREE.
929         (build_class_array_ref): Do not return with allocatable class
930         array functions. Add code to pick out the returned class array.
931         Dereference if necessary and return if not a class object.
932         (gfc_conv_scalarized_array_ref): Cope with offsets being NULL.
933         (gfc_walk_function_expr): Return an array ss for the result of
934         an allocatable class array function.
935         * trans-expr.c (gfc_conv_subref_array_arg): Remove the assert
936         that the argument should be a variable. If an allocatable class
937         array function, set the offset to zero and skip the write-out
938         loop in this case.
939         (gfc_conv_procedure_call): Add allocatable class array function
940         to the assert. Call gfc_conv_subref_array_arg for allocatable
941         class array function arguments with derived type formal arg..
942         Add the code for handling allocatable class functions, including
943         finalization calls to prevent memory leaks.
944         (arrayfunc_assign_needs_temporary): Return if an allocatable
945         class array function.
946         (gfc_trans_assignment_1): Set must_finalize to rhs expression
947         for allocatable class functions. Set scalar_to_array as needed
948         for scalar class allocatable functions assigned to an array.
949         Nullify the allocatable components corresponding the the lhs
950         derived type so that the finalization does not free them.
952 2015-01-29  Andre Vehreschild  <vehre@gmx.de>
953             Janus Weil  <janus@gcc.gnu.org>
955         PR fortran/60289
956         Initial patch by Janus Weil
957         * resolve.c (resolve_allocate_expr): Add check for comp. only
958         when target is not unlimited polymorphic.
959         * trans-stmt.c (gfc_trans_allocate): Assign correct value to
960         _len component of unlimited polymorphic entities.
962 2015-02-05  Tobias Burnus  <burnus@net-b.de>
964         PR fortran/64943
965         * resolve.c (resolve_transfer): Also check structure
966         constructors.
968 2015-02-05  Paul Thomas  <pault@gcc.gnu.org>
970         PR fortran/64757
971         * resolve.c (resolve_structure_cons): Obtain the rank of class
972         components.
973         * trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
974         assignment to allocatable class array components.
975         (alloc_scalar_allocatable_for_subcomponent_assignment): If comp
976         is a class component, allocate to the _data field.
977         (gfc_trans_subcomponent_assign): If a class component with a
978         derived type expression set the _vptr field and for array
979         components, call gfc_trans_alloc_subarray_assign. For scalars,
980         the assignment is performed here.
982 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
984         * options.c: Include langhooks.h.
985         (gfc_post_options): Change lang_hooks.name based on
986         selected -std= mode.
988 2015-02-03  Steven G. Kargl  <kargl@gcc.gnu.org>
990         * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
992 2015-01-30  Andre Vehreschild  <vehre@gmx.de>
994         * trans-decl.c (gfc_get_symbol_decl): Removed duplicate code.
995         * trans-expr.c (gfc_conv_intrinsic_to_class): Fixed indentation.
996         Fixed datatype of charlen to be a 32-bit int.
998 2015-02-01  Joseph Myers  <joseph@codesourcery.com>
1000         * error.c (gfc_warning (const char *, ...), gfc_warning_now (const
1001         char *, ...)): Remove functions.
1002         * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now
1003         (const char *, ...)): Remove declarations.
1004         * arith.c, check.c, data.c, decl.c, frontend-passes.c,
1005         interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c,
1006         options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c,
1007         trans-common.c, trans-const.c, trans-stmt.c: All callers of
1008         gfc_warning and gfc_warning_now changed to pass 0 or option number
1009         as first argument.
1011 2015-01-30  Joseph Myers  <joseph@codesourcery.com>
1013         * f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
1014         callers of fatal_error changed to pass input_location as first
1015         argument.
1017 2015-01-28  Tobias Burnus  <burnus@net-b.de>
1019         * intrinsic.texi (CO_BROADCAST): Correct argument description.
1021 2015-01-27  Tobias Burnus  <burnus@net-b.de>
1023         PR fortran/63861
1024         * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
1025         Fix handling for scalar coarrays.
1026         * trans-types.c (gfc_get_element_type): Add comment.
1028 2015-01-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1030         PR fortran/64771
1031         * interface.c: Remove <algorithm>.
1032         (check_dummy_characteristics): Use MAX instead of std::max.
1034 2015-01-26  Paul Thomas  <pault@gcc.gnu.org>
1036         PR fortran/62044
1037         * resolve.c (resolve_allocate_expr): If the default initializer
1038         is NULL, keep the original MOLD expression so that the correct
1039         typespec is available.
1041 2015-01-26  Tobias Burnus  <burnus@net-b.de>
1043         PR fortran/64771
1044         * interface.c (check_dummy_characteristics): Fix coarray handling.
1046 2015-01-26  Tobias Burnus  <burnus@net-b.de>
1048         * io.c (gfc_match_inquire): Replace "-1" by a defined constant.
1050 2015-01-26  Janus Weil  <janus@gcc.gnu.org>
1052         PR fortran/64230
1053         * class.c (finalize_component): New argument 'sub_ns'. Insert code to
1054         check if 'expr' is associated.
1055         (generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
1056         'ptr2'. Pass 'sub_ns' to finalize_component.
1058 2015-01-25  Mikael Morin  <mikael@gcc.gnu.org>
1060         PR fortran/62044
1061         * decl.c (gfc_match_derived_decl): Don't insert a new symtree element.
1062         * module.c (MOD_VERSION): Bump.
1063         (write_module): Don't write list of extensions.
1064         (read_module): Don't jump over list of extensions;
1065         don't load list of extensions.
1066         (load_derived_extensions, write_dt_extensions,
1067          write_derived_extensions): Remove.
1069 2015-01-24  Tobias Burnus  <burnus@net-b.de>
1071         * parse.c (gfc_parse_file): Fix two-location gfc_error call.
1073 2015-01-23  Martin Liska  <mliska@suse.cz>
1075         * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized
1076         false positive during profiledbootstrap by initializing them.
1077         * matchexp.c (match_mult_operand): Likewise.
1078         * module.c (write_atom): Likewise.
1079         (read_module): Likewise.
1081 2015-01-23  Tom de Vries  <tom@codesourcery.com>
1083         PR libgomp/64672
1084         * lang.opt (fopenacc): Mark as LTO option.
1086 2015-01-23  Tom de Vries  <tom@codesourcery.com>
1088         PR libgomp/64707
1089         * lang.opt (fopenmp): Mark as LTO option.
1091 2015-01-23  Andre Vehreschild  <vehre@gmx.de>
1093         * trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
1094         * trans-stmt.c (gfc_trans_allocate): Fixed indentation.
1096 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
1098         * gfc-diagnostic.def (DK_ICE_NOBT): New kind.
1100 2015-01-23  Janus Weil  <janus@gcc.gnu.org>
1102         PR fortran/60922
1103         * class.c (finalize_component): Apply the check for 'fini_coarray' only
1104         to coarray components.
1106 2015-01-23  Tobias Burnus  <burnus@net-b.de>
1108         PR fortran/64726
1109         * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
1110         loop generation.
1112 2015-01-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1114         PR fortran/61933
1115         * libgfortran.h:
1116         * trans-io.c (set_parameter_value): Delete use of has_iostat.
1117         Redefine to not generate any runtime error check calls.
1118         (set_parameter_value_chk): Rename of the former
1119         set_parameter_value with the runtime error checks and fix
1120         whitespace. (set_parameter_value_inquire): New function that
1121         builds a runtime conditional block to set the INQUIRE
1122         common parameter block unit number to -2 when unit numbers
1123         exceed positive KIND=4 limits. (gfc_trans_open): Whitespace.
1124         For unit, use the renamed set_parameter_value_chk.
1125         (gfc_trans_close): Likewise use renamed function.
1126         (build_filepos): Whitespace and use renamed function.
1127         (gfc_trans_inquire): Whitespace and for unit use
1128         set_parameter_value and set_parameter_value_inquire.
1129         (gfc_trans_wait): Remove p->iostat from call to
1130         set_parameter_value. Use new set_parameter_value_chk for unit.
1131         (build_dt): Use the new set_parameter_value without p->iostat
1132         and fix whitespace. Use set_parameter_value_chk for unit.
1134 2015-01-21  Thomas Koenig  <tkoenig@netcologne.de>
1136         PR fortran/57023
1137         * dependency.c (callback_dummy_intent_not_int):  New function.
1138         (dummy_intent_not_in):  New function.
1139         (gfc_full_array_ref_p):  Use dummy_intent_not_in.
1141 2015-01-18  Andre Vehreschild  <vehre@gmx.de>
1142             Janus Weil <janus@gcc.gnu.org>
1144         PR fortran/60255
1145         * class.c (gfc_get_len_component): New.
1146         (gfc_build_class_symbol): Add _len component to unlimited
1147         polymorphic entities.
1148         (find_intrinsic_vtab): Removed emitting of error message.
1149         * gfortran.h: Added prototype for gfc_get_len_component.
1150         * simplify.c (gfc_simplify_len): Use _len component where
1151         available.
1152         * trans-expr.c (gfc_class_len_get): New.
1153         (gfc_conv_intrinsic_to_class): Add handling for deferred
1154         character arrays.
1155         (gfc_conv_structure): Treat _len component correctly.
1156         (gfc_conv_expr): Prevent bind_c handling when not required.
1157         (gfc_trans_pointer_assignment): Propagate _len component.
1158         * trans-stmt.c (class_has_len_component): New.
1159         (trans_associate_var): _len component treatment for associate
1160         context.
1161         (gfc_trans_allocate): Same as for trans_associate_var()
1162         * trans.h: Added prototype for gfc_class_len_get.
1164 2015-01-18  Paul Thomas  <pault@gcc.gnu.org>
1166         PR fortran/57959
1167         * trans-expr.c (gfc_trans_subcomponent_assign): Use a deep copy
1168         for allocatable components, where the source is a variable.
1170 2015-01-18  Paul Thomas  <pault@gcc.gnu.org>
1172         PR fortran/55901
1173         * primary.c (gfc_match_varspec): Exclude dangling associate-
1174         names with dimension 0 from being counted as arrays.
1175         * resolve.c (resolve_assoc_var): Sub-strings are permissible
1176         for associate-names, so exclude characters from the test for
1177         misuse as arrays.
1178         * trans-decl.c (gfc_get_symbol_decl): Associate-names can use
1179         the hidden string length variable of their associated target.
1180         Signal this by setting 'length' to a constant, if the decl for
1181         the string length is a variable.
1183 2015-01-17  Paul Thomas  <pault@gcc.gnu.org>
1185         PR fortran/64578
1186         * trans-expr.c (gfc_trans_pointer_assignment): Make sure that
1187         before reinitializing rse, to add the rse.pre to block before
1188         creating 'ptrtemp'.
1189         * trans-intrinsic.c (gfc_conv_associated): Deal with the class
1190         data being a descriptor.
1192 2015-01-17  Andre Vehreschild  <vehre@gmx.de>
1194         PR fortran/60357
1195         * primary.c (build_actual_constructor): Prevent warning.
1196         * trans-expr.c (alloc_scalar_allocatable_for_subcomponent_
1197         assignment): New function encapsulates treatment of allocatable
1198         components.
1199         (gfc_trans_subcomponent_assign): Needed to distinguish between
1200         regular assignment and initilization.
1201         (gfc_trans_structure_assign): Same.
1202         (gfc_conv_structure): Same.
1204         PR fortran/61275
1205         * gfortran.h: deferred_parameter is not needed, because
1206         it artificial does the trick completely.
1207         * primary.c (build_actual_constructor): Same.
1208         (gfc_convert_to_structure_constructor): Same.
1209         * resolve.c (resolve_fl_derived0): Same.
1210         * trans-expr.c (gfc_conv_component_ref): Prevent treating
1211         allocatable deferred length char arrays here.
1212         (gfc_trans_subcomponent_assign): Same as above.
1213         * trans-types.c (gfc_sym_type): This is done in
1214         gfc_get_derived_type already.
1216 2015-01-17  Andre Vehreschild  <vehre@gmx.de>
1218         PR fortran/60334
1219         * trans-decl.c (gfc_get_symbol_decl):Use a ref on the string
1220         length when the symbol is declared to be a result.
1221         * trans-expr.c (gfc_conv_procedure_call): Strip deref on the
1222         string length when functions are nested and the string length
1223         is a reference already.
1225 2015-01-16  Janus Weil  <janus@gcc.gnu.org>
1227         PR fortran/45290
1228         * decl.c (match_pointer_init): Error out if resolution of init expr
1229         failed.
1231 2015-01-15  Tobias Burnus  <burnus@net-b.de>
1233         * openmp.c (check_symbol_not_pointer, resolve_oacc_data_clauses,
1234         resolve_oacc_deviceptr_clause, resolve_omp_clauses,
1235         gfc_resolve_oacc_declare): Replace '%s' by %qs.
1237 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
1238             Cesar Philippidis  <cesar@codesourcery.com>
1239             James Norris  <jnorris@codesourcery.com>
1240             Ilmir Usmanov  <i.usmanov@samsung.com>
1241             Tobias Burnus  <burnus@net-b.de>
1243         * lang.opt (fopenacc): New option.
1244         * cpp.c (cpp_define_builtins): Conditionally define _OPENACC.
1245         * dump-parse-tree.c (show_omp_node): Split part of it into...
1246         (show_omp_clauses): ... this new function.
1247         (show_omp_node, show_code_node): Handle EXEC_OACC_PARALLEL_LOOP,
1248         EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
1249         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
1250         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
1251         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
1252         (show_namespace): Update for OpenACC.
1253         * f95-lang.c (DEF_FUNCTION_TYPE_VAR_2, DEF_FUNCTION_TYPE_VAR_8)
1254         (DEF_FUNCTION_TYPE_VAR_12, DEF_GOACC_BUILTIN)
1255         (DEF_GOACC_BUILTIN_COMPILER): New macros.
1256         * types.def (BT_FN_VOID_INT_INT_VAR)
1257         (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
1258         (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
1259         New function types.
1260         * gfortran.h (gfc_statement): Add ST_OACC_PARALLEL_LOOP,
1261         ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
1262         ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_DATA,
1263         ST_OACC_END_DATA, ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA,
1264         ST_OACC_LOOP, ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE,
1265         ST_OACC_WAIT, ST_OACC_CACHE, ST_OACC_KERNELS_LOOP,
1266         ST_OACC_END_KERNELS_LOOP, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
1267         ST_OACC_ROUTINE.
1268         (struct gfc_expr_list): New data type.
1269         (gfc_get_expr_list): New macro.
1270         (gfc_omp_map_op): Add OMP_MAP_FORCE_ALLOC, OMP_MAP_FORCE_DEALLOC,
1271         OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM, OMP_MAP_FORCE_TOFROM,
1272         OMP_MAP_FORCE_PRESENT, OMP_MAP_FORCE_DEVICEPTR.
1273         (OMP_LIST_FIRST, OMP_LIST_DEVICE_RESIDENT, OMP_LIST_USE_DEVICE)
1274         (OMP_LIST_CACHE): New enumerators.
1275         (struct gfc_omp_clauses): Add async_expr, gang_expr, worker_expr,
1276         vector_expr, num_gangs_expr, num_workers_expr, vector_length_expr,
1277         wait_list, tile_list, async, gang, worker, vector, seq,
1278         independent, wait, par_auto, gang_static, and loc members.
1279         (struct gfc_namespace): Add oacc_declare_clauses member.
1280         (gfc_exec_op): Add EXEC_OACC_KERNELS_LOOP,
1281         EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS,
1282         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
1283         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
1284         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
1285         (gfc_free_expr_list, gfc_resolve_oacc_directive)
1286         (gfc_resolve_oacc_declare, gfc_resolve_oacc_parallel_loop_blocks)
1287         (gfc_resolve_oacc_blocks): New prototypes.
1288         * match.c (match_exit_cycle): Handle EXEC_OACC_LOOP and
1289         EXEC_OACC_PARALLEL_LOOP.
1290         * match.h (gfc_match_oacc_cache, gfc_match_oacc_wait)
1291         (gfc_match_oacc_update, gfc_match_oacc_declare)
1292         (gfc_match_oacc_loop, gfc_match_oacc_host_data)
1293         (gfc_match_oacc_data, gfc_match_oacc_kernels)
1294         (gfc_match_oacc_kernels_loop, gfc_match_oacc_parallel)
1295         (gfc_match_oacc_parallel_loop, gfc_match_oacc_enter_data)
1296         (gfc_match_oacc_exit_data, gfc_match_oacc_routine): New
1297         prototypes.
1298         * openmp.c: Include "diagnostic.h" and "gomp-constants.h".
1299         (gfc_free_omp_clauses): Update for members added to struct
1300         gfc_omp_clauses.
1301         (gfc_match_omp_clauses): Change mask paramter to uint64_t.  Add
1302         openacc parameter.
1303         (resolve_omp_clauses): Add openacc parameter.  Update for OpenACC.
1304         (struct fortran_omp_context): Add is_openmp member.
1305         (gfc_resolve_omp_parallel_blocks): Initialize it.
1306         (gfc_resolve_do_iterator): Update for OpenACC.
1307         (gfc_resolve_omp_directive): Call
1308         resolve_omp_directive_inside_oacc_region.
1309         (OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE)
1310         (OMP_CLAUSE_LASTPRIVATE, OMP_CLAUSE_COPYPRIVATE)
1311         (OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN, OMP_CLAUSE_REDUCTION)
1312         (OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS, OMP_CLAUSE_SCHEDULE)
1313         (OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED, OMP_CLAUSE_COLLAPSE)
1314         (OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE)
1315         (OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH)
1316         (OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND)
1317         (OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM)
1318         (OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO)
1319         (OMP_CLAUSE_FROM, OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT)
1320         (OMP_CLAUSE_DIST_SCHEDULE): Use uint64_t.
1321         (OMP_CLAUSE_ASYNC, OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS)
1322         (OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_COPY, OMP_CLAUSE_COPYOUT)
1323         (OMP_CLAUSE_CREATE, OMP_CLAUSE_PRESENT)
1324         (OMP_CLAUSE_PRESENT_OR_COPY, OMP_CLAUSE_PRESENT_OR_COPYIN)
1325         (OMP_CLAUSE_PRESENT_OR_COPYOUT, OMP_CLAUSE_PRESENT_OR_CREATE)
1326         (OMP_CLAUSE_DEVICEPTR, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER)
1327         (OMP_CLAUSE_VECTOR, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT)
1328         (OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_DEVICE_RESIDENT)
1329         (OMP_CLAUSE_HOST_SELF, OMP_CLAUSE_OACC_DEVICE, OMP_CLAUSE_WAIT)
1330         (OMP_CLAUSE_DELETE, OMP_CLAUSE_AUTO, OMP_CLAUSE_TILE): New macros.
1331         (gfc_match_omp_clauses): Handle those.
1332         (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES)
1333         (OACC_LOOP_CLAUSES, OACC_PARALLEL_LOOP_CLAUSES)
1334         (OACC_KERNELS_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES)
1335         (OACC_DECLARE_CLAUSES, OACC_UPDATE_CLAUSES)
1336         (OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES)
1337         (OACC_WAIT_CLAUSES): New macros.
1338         (gfc_free_expr_list, match_oacc_expr_list, match_oacc_clause_gang)
1339         (gfc_match_omp_map_clause, gfc_match_oacc_parallel_loop)
1340         (gfc_match_oacc_parallel, gfc_match_oacc_kernels_loop)
1341         (gfc_match_oacc_kernels, gfc_match_oacc_data)
1342         (gfc_match_oacc_host_data, gfc_match_oacc_loop)
1343         (gfc_match_oacc_declare, gfc_match_oacc_update)
1344         (gfc_match_oacc_enter_data, gfc_match_oacc_exit_data)
1345         (gfc_match_oacc_wait, gfc_match_oacc_cache)
1346         (gfc_match_oacc_routine, oacc_is_loop)
1347         (resolve_oacc_scalar_int_expr, resolve_oacc_positive_int_expr)
1348         (check_symbol_not_pointer, check_array_not_assumed)
1349         (resolve_oacc_data_clauses, resolve_oacc_deviceptr_clause)
1350         (oacc_compatible_clauses, oacc_is_parallel, oacc_is_kernels)
1351         (omp_code_to_statement, oacc_code_to_statement)
1352         (resolve_oacc_directive_inside_omp_region)
1353         (resolve_omp_directive_inside_oacc_region)
1354         (resolve_oacc_nested_loops, resolve_oacc_params_in_parallel)
1355         (resolve_oacc_loop_blocks, gfc_resolve_oacc_blocks)
1356         (resolve_oacc_loop, resolve_oacc_cache, gfc_resolve_oacc_declare)
1357         (gfc_resolve_oacc_directive): New functions.
1358         * parse.c (next_free): Update for OpenACC.  Move some code into...
1359         (verify_token_free): ... this new function.
1360         (next_fixed): Update for OpenACC.  Move some code into...
1361         (verify_token_fixed): ... this new function.
1362         (case_executable): Add ST_OACC_UPDATE, ST_OACC_WAIT,
1363         ST_OACC_CACHE, ST_OACC_ENTER_DATA, and ST_OACC_EXIT_DATA.
1364         (case_exec_markers): Add ST_OACC_PARALLEL_LOOP, ST_OACC_PARALLEL,
1365         ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA, ST_OACC_LOOP,
1366         ST_OACC_KERNELS_LOOP.
1367         (case_decl): Add ST_OACC_ROUTINE.
1368         (push_state, parse_critical_block, parse_progunit): Update for
1369         OpenACC.
1370         (gfc_ascii_statement): Handle ST_OACC_PARALLEL_LOOP,
1371         ST_OACC_END_PARALLEL_LOOP, ST_OACC_PARALLEL, ST_OACC_END_PARALLEL,
1372         ST_OACC_KERNELS, ST_OACC_END_KERNELS, ST_OACC_KERNELS_LOOP,
1373         ST_OACC_END_KERNELS_LOOP, ST_OACC_DATA, ST_OACC_END_DATA,
1374         ST_OACC_HOST_DATA, ST_OACC_END_HOST_DATA, ST_OACC_LOOP,
1375         ST_OACC_END_LOOP, ST_OACC_DECLARE, ST_OACC_UPDATE, ST_OACC_WAIT,
1376         ST_OACC_CACHE, ST_OACC_ENTER_DATA, ST_OACC_EXIT_DATA,
1377         ST_OACC_ROUTINE.
1378         (verify_st_order, parse_spec): Handle ST_OACC_DECLARE.
1379         (parse_executable): Handle ST_OACC_PARALLEL_LOOP,
1380         ST_OACC_KERNELS_LOOP, ST_OACC_LOOP, ST_OACC_PARALLEL,
1381         ST_OACC_KERNELS, ST_OACC_DATA, ST_OACC_HOST_DATA.
1382         (decode_oacc_directive, parse_oacc_structured_block)
1383         (parse_oacc_loop, is_oacc): New functions.
1384         * parse.h (struct gfc_state_data): Add oacc_declare_clauses
1385         member.
1386         (is_oacc): New prototype.
1387         * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
1388         EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_PARALLEL,
1389         EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS, EXEC_OACC_DATA,
1390         EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP, EXEC_OACC_UPDATE,
1391         EXEC_OACC_WAIT, EXEC_OACC_CACHE, EXEC_OACC_ENTER_DATA,
1392         EXEC_OACC_EXIT_DATA.
1393         (resolve_codes): Call gfc_resolve_oacc_declare.
1394         * scanner.c (openacc_flag, openacc_locus): New variables.
1395         (skip_free_comments): Update for OpenACC.  Move some code into...
1396         (skip_omp_attribute): ... this new function.
1397         (skip_oacc_attribute): New function.
1398         (skip_fixed_comments, gfc_next_char_literal): Update for OpenACC.
1399         * st.c (gfc_free_statement): Handle EXEC_OACC_PARALLEL_LOOP,
1400         EXEC_OACC_PARALLEL, EXEC_OACC_KERNELS_LOOP, EXEC_OACC_KERNELS,
1401         EXEC_OACC_DATA, EXEC_OACC_HOST_DATA, EXEC_OACC_LOOP,
1402         EXEC_OACC_UPDATE, EXEC_OACC_WAIT, EXEC_OACC_CACHE,
1403         EXEC_OACC_ENTER_DATA, EXEC_OACC_EXIT_DATA.
1404         * trans-decl.c (gfc_generate_function_code): Update for OpenACC.
1405         * trans-openmp.c: Include "gomp-constants.h".
1406         (gfc_omp_finish_clause, gfc_trans_omp_clauses): Use GOMP_MAP_*
1407         instead of OMP_CLAUSE_MAP_*.  Use OMP_CLAUSE_SET_MAP_KIND.
1408         (gfc_trans_omp_clauses): Handle OMP_LIST_USE_DEVICE,
1409         OMP_LIST_DEVICE_RESIDENT, OMP_LIST_CACHE, and OMP_MAP_FORCE_ALLOC,
1410         OMP_MAP_FORCE_DEALLOC, OMP_MAP_FORCE_TO, OMP_MAP_FORCE_FROM,
1411         OMP_MAP_FORCE_TOFROM, OMP_MAP_FORCE_PRESENT,
1412         OMP_MAP_FORCE_DEVICEPTR, and gfc_omp_clauses' async, seq,
1413         independent, wait_list, num_gangs_expr, num_workers_expr,
1414         vector_length_expr, vector, vector_expr, worker, worker_expr,
1415         gang, gang_expr members.
1416         (gfc_trans_omp_do): Handle EXEC_OACC_LOOP.
1417         (gfc_convert_expr_to_tree, gfc_trans_oacc_construct)
1418         (gfc_trans_oacc_executable_directive)
1419         (gfc_trans_oacc_wait_directive, gfc_trans_oacc_combined_directive)
1420         (gfc_trans_oacc_declare, gfc_trans_oacc_directive): New functions.
1421         * trans-stmt.c (gfc_trans_block_construct): Update for OpenACC.
1422         * trans-stmt.h (gfc_trans_oacc_directive, gfc_trans_oacc_declare):
1423         New prototypes.
1424         * trans.c (tranc_code): Handle EXEC_OACC_CACHE, EXEC_OACC_WAIT,
1425         EXEC_OACC_UPDATE, EXEC_OACC_LOOP, EXEC_OACC_HOST_DATA,
1426         EXEC_OACC_DATA, EXEC_OACC_KERNELS, EXEC_OACC_KERNELS_LOOP,
1427         EXEC_OACC_PARALLEL, EXEC_OACC_PARALLEL_LOOP, EXEC_OACC_ENTER_DATA,
1428         EXEC_OACC_EXIT_DATA.
1429         * gfortran.texi: Update for OpenACC.
1430         * intrinsic.texi: Likewise.
1431         * invoke.texi: Likewise.
1433 2015-01-15  Janus Weil  <janus@gcc.gnu.org>
1435         PR fortran/58023
1436         * resolve.c (resolve_fl_derived0): Continue resolving next component
1437         after error.
1439 2015-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1441         PR fortran/61933
1442         * io.c (gfc_match_inquire): Generate error if unit number in
1443         inquire statement is a constant -1.  All other values allowed.
1444         * trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
1445         (create_dummy_iostat): Delete function no longer used.
1447 2015-01-13  Jakub Jelinek  <jakub@redhat.com>
1449         PR fortran/64528
1450         * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
1451         on dummy args with VALUE attribute.
1453 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
1455         PR fortran/63733
1456         * interface.c (gfc_extend_expr): Look for type-bound operators before
1457         non-typebound ones.
1459 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
1461         PR fortran/58023
1462         * resolve.c (resolve_fl_derived0): Set error flag if problems with the
1463         interface of a procedure-pointer component were detected.
1465 2015-01-11  Janus Weil  <janus@gcc.gnu.org>
1467         PR fortran/64508
1468         * interface.c (compare_parameter): Interface check for
1469         procedure-pointer component as actual argument.
1471 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
1473         * gfortran.texi: Update for libgomp being renamed from "GNU OpenMP
1474         Runtime Library" to "GNU Offloading and Multi Processing Runtime
1475         Library".
1476         * intrinsic.texi: Likewise.
1478 2015-01-10  Tobias Burnus  <burnus@net-b.de>
1480         PR fortran/64522
1481         * invoke.texi (Wline-truncation): Document new behaviour.
1482         * lang.opt (Wline-truncation): Add Init(-1).
1483         * options.c (gfc_post_options): If -Wline-truncation is unset,
1484         enable it for free-form source files; for the latter, also use
1485         -Werror=line-truncation, unless -Wno-error has been specified.
1487 2015-01-09  Michael Collison  <michael.collison@linaro.org>
1489         * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1490         input.h, alias.h, symtab.h, options.h, fold-const.h,
1491         wide-int.h, and inchash.h due to flattening of tree.h.
1492         * cpp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1493         input.h, alias.h, symtab.h, fold-const.h,
1494         wide-int.h, and inchash.h due to flattening of tree.h.
1495         * decl.c: Ditto.
1496         * f95.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1497         input.h, alias.h, symtab.h, options.h, fold-const.h,
1498         wide-int.h, and inchash.h due to flattening of tree.h.
1499         * iresolve.c: Ditto.
1500         * match.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1501         input.h, alias.h, symtab.h, fold-const.h,
1502         wide-int.h, and inchash.h due to flattening of tree.h.
1503         * module.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1504         input.h, alias.h, symtab.h, options.h, fold-const.h,
1505         wide-int.h, and inchash.h due to flattening of tree.h.
1506         * options.c: Ditto.
1507         * target-memory.c: Include hash-set.h, vec.h,
1508         double-int.h, input.h, alias.h, symtab.h, fold-const.h,
1509         wide-int.h, and inchash.h due to flattening of tree.h.
1510         * trans-array.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1511         input.h, alias.h, symtab.h, options.h, fold-const.h,
1512         wide-int.h, and inchash.h due to flattening of tree.h.
1513         * trans.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1514         input.h, alias.h, symtab.h, options.h, fold-const.h,
1515         wide-int.h, and inchash.h due to flattening of tree.h.
1516         * trans-common.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1517         input.h, alias.h, symtab.h, fold-const.h,
1518         wide-int.h, and inchash.h due to flattening of tree.h.
1519         * trans-const.c: Ditto.
1520         * trans-decl.c: Ditto.
1521         * trans-expr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1522         input.h, alias.h, symtab.h, options.h, fold-const.h,
1523         wide-int.h, and inchash.h due to flattening of tree.h.
1524         * trans-intrinsic.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1525         input.h, alias.h, symtab.h, fold-const.h,
1526         wide-int.h, inchash.h and real.h due to flattening of tree.h.
1527         * trans-io.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1528         input.h, alias.h, symtab.h, options.h, fold-const.h,
1529         wide-int.h, and inchash.h due to flattening of tree.h.
1530         * trans-openmp.c: Ditto.
1531         * trans-stmt.c: Ditto.
1532         * trans-types.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1533         input.h, alias.h, symtab.h, fold-const.h,
1534         wide-int.h, inchash.h and real.h due to flattening of tree.h.
1536 2015-01-08  Tobias Burnus  <burnus@net-b.de>
1538         * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
1539         for module coarrays with -fcoarray=lib.
1540         (get_proc_pointer_decl): As module variable, make only public
1541         when not marked as private.
1543 2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
1545         PR fortran/47674
1546         * dependency.h:  Actually commit changes.
1548 2015-01-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
1550         PR fortran/47674
1551         * dependency.c:  Update copyright years.
1552         (gfc_discard_nops):  Add prototype.
1553         * dependency.c (discard_nops):  Rename to gfc_discard_nops,
1554         make non-static.
1555         (gfc_discard_nops):  Use gfc_discard_nops.
1556         (gfc_dep_difference):  Likewise.
1557         * frontend-passes.c  Update copyright years.
1558         (realloc_strings):  New function.  Add prototype.
1559         (gfc_run_passes):  Call realloc_strings.
1560         (realloc_string_callback):  New function.
1561         (create_var):  Add prototype.  Handle case of a
1562         scalar character variable.
1563         (optimize_trim):  Do not handle allocatable variables.
1565 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
1567         Update copyright years.
1569         * gfortranspec.c (lang_specific_driver): Update copyright notice
1570         dates.
1571         * gfc-internals.texi: Bump @copying's copyright year.
1572         * gfortran.texi: Ditto.
1573         * intrinsic.texi: Ditto.
1574         * invoke.texi: Ditto.
1576 2015-01-02  Janus Weil  <janus@gcc.gnu.org>
1578         PR fortran/57562
1579         * expr.c (find_component_ref): Deal with extended types.
1581 2015-01-02  Tobias Burnus  <burnus@net-b.de>
1583         * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
1584         for module coarrays with -fcoarray=lib.
1586 2015-01-02  Janus Weil  <janus@gcc.gnu.org>
1588         PR fortran/60507
1589         * interface.c (is_procptr_result): New function to check if an
1590         expression is a procedure-pointer result.
1591         (compare_actual_formal): Use it.
1593 Copyright (C) 2015 Free Software Foundation, Inc.
1595 Copying and distribution of this file, with or without modification,
1596 are permitted in any medium without royalty provided the copyright
1597 notice and this notice are preserved.