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