]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/fortran/ChangeLog
gcc/
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
1 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
2
3 * trans-decl.c (module_hasher): Likewise.
4 * trans.h (module_decl_hasher): Likewise.
5
6 2015-06-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
7
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.
13
14 2015-06-23 Andre Vehreschild <vehre@gmx.de>
15
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.
28
29 2015-06-19 Mikael Morin <mikael@gcc.gnu.org>
30
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.
35
36 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
37
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.
59
60 2015-06-15 Andre Vehreschild <vehre@gmx.de>
61
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.
91
92 2015-06-14 Thomas Koenig <tkoenig@gcc.gnu.org>
93
94 * intrinsic.texi: Change \leq to < in descrition of imaginary
95 part in argument to log.
96
97 2015-06-11 Paul Thomas <pault@gcc.gnu.org>
98
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.
106
107 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
108
109 * f95-lang.c (gfc_create_decls): Register the main translation unit
110 through the new debug hook.
111
112 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
113
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.
136
137 2015-06-08 Steven G. Kargl <kargl@gcc.gnu.org>
138
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.
142
143 2015-06-06 Thomas Koenig <tkoenig@netcologne.de>
144
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.
179
180 2015-06-05 Steven G. Kargl <kargl@gcc.gnu.org>
181
182 PR fortran/66347
183 * resolve.c (apply_default_init_local): Do not dereference a NULL
184 pointer.
185
186 2015-06-05 Thomas Koenig <tkoenig@gcc.gnu.org>
187
188 PR fortran/66385
189 * frontend-passes.c (combine_array_constructor): Return early if
190 inside a FORALL loop.
191
192 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
193
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.
201
202 2015-06-05 Russell Whitesides <russelldub@gmail.com>
203 Steven G. Kargl <kargl@gcc.gnu.org>
204
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
211
212 2015-06-04 Thomas Koenig <tkoenig@netcologne.de>
213
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.
218
219 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
220
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.
241
242 2015-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
243
244 PR fortran/66380
245 * simplify.c (gfc_simplify_reshape): Convert assert into returning
246 NULL, which triggers an error condition.
247
248 2015-05-27 Andre Vehreschild <vehre@gmx.de>
249
250 PR fortran/65548
251 * trans-stmt.c (gfc_trans_allocate): Add missing location
252 information for e3rhs.
253
254 2015-05-26 Paul Thomas <pault@gcc.gnu.org>
255
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.
260
261 2015-05-24 Mikael Morin <mikael@gcc.gnu.org>
262
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.
266
267 2015-05-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
268
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.
298
299 2015-05-22 Jim Wilson <jim.wilson@linaro.org>
300
301 * Make-lang.in (check_gfortran_parallelize): Update comment.
302
303 2015-05-21 Thomas Koenig <tkoenig@gcc.gnu.org>
304
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.
309
310 2015-05-20 Andre Vehreschild <vehre@gmx.de>
311
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.
319
320 2015-05-19 Jakub Jelinek <jakub@redhat.com>
321
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.
327
328 2015-05-19 David Malcolm <dmalcolm@redhat.com>
329
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".
334
335 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
336
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.
341
342 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
343
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.
347
348 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
349
350 PR fortran/66057
351 * decl.c(gfc_match_generic): Detected a malformed GENERIC statement.
352
353 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
354
355 PR fortran/66043
356 * gfortran.dg/storage_size_6.f90: New tests.
357
358 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
359
360 PR fortran/66043
361 * gfortran.dg/storage_size_6.f90: New tests.
362
363 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
364
365 PR fortran/66044
366 * decl.c(gfc_match_entry): Change a gfc_internal_error() into
367 a gfc_error()
368
369 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
370
371 PR fortran/66043
372 * gfortran.dg/storage_size_6.f90: New tests.
373
374 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
375
376 PR fortran/66040
377 * parse.c(verify_st_order): Replace a gfc_internal_error with your
378 generic gfc_error.
379
380 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
381
382 PR fortran/66039
383 * io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH,
384 BACKSPACE, and ENDFILE statements
385
386 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org>
387
388 PR fortran/64925
389 * symbol.c(check_conflict): Check for a conflict between a dummy
390 argument and an internal procedure name.
391
392 2015-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
393
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.
399
400 2015-05-16 Thomas Koenig <tkoenig@gcc.gnu.org>
401
402 PR fortran/66113
403 * expr.c (is_parent_of_current_ns): New function.
404 (check_restricted): Use it.
405
406 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
407
408 PR fortran/44054
409
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.
435
436 2015-05-16 Mikael Morin <mikael@gcc.gnu.org>
437 Paul Thomas <pault@gcc.gnu.org>
438
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.
446
447 2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
448
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.
453
454 2015-05-12 Thomas Koenig <tkoenig@gcc.gnu.org>
455
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.
461
462 2015-05-11 Mikael Morin <mikael@gcc.gnu.org>
463
464 PR fortran/66100
465 * simplify.c (simplify_bound): Fix assert to accept subobject arrays.
466
467 2015-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
468
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().
475
476 2015-05-10 Mikael Morin <mikael@gcc.gnu.org>
477
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.
483
484 2015-05-09 Mikael Morin <mikael@gcc.gnu.org>
485
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.
499
500 2015-05-08 Mikael Morin <mikael@gcc.gnu.org>
501
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.
505
506 2015-05-05 David Malcolm <dmalcolm@redhat.com>
507
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.
514
515 2015-05-02 Steven G. Kargl <kargl@gcc.gnu.org>
516
517 PR fortran/65976
518 * invoke.texi: Remove 'no-' in '-fno-fixed-form'
519
520 2015-05-01 Mikael Morin <mikael@gcc.gnu.org>
521
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.
527
528 2015-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
529
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.
534
535 2015-04-30 David Malcolm <dmalcolm@redhat.com>
536
537 * options.c (gfc_init_options): Remove spurious second
538 semicolon.
539 * trans-stmt.c (gfc_trans_allocate): Likewise.
540
541 2015-04-28 Andre Vehreschild <vehre@gmx.de>
542
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.
548
549 2015-04-27 Jim Wilson <jim.wilson@linaro.org>
550
551 * Make-lang.in (fortran.mostlyclean): Remove gfortran and
552 gfortran-cross.
553
554 2015-04-27 Andre Vehreschild <vehre@gmx.de>
555
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.
571
572 2015-04-23 Andre Vehreschild <vehre@gmx.de>
573
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.
629
630 2015-04-22 Steven G. Kargl <kargl@gcc.gnu.org>
631
632 PR fortran/65429
633 * decl.c (add_init_expr_to_sym): Set the length type parameter.
634
635 2015-04-10 Tobias Burnus <burnus@net-b.de>
636
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.
643
644 2015-04-10 Mikael Morin <mikael@gcc.gnu.org>
645
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'.
655
656 2013-04-09 Paul Thomas <pault@gcc.gnu.org>
657
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.
661
662 2015-04-07 Andre Vehreschild <vehre@gmx.de>
663
664 PR fortran/65548
665 * trans-stmt.c (gfc_trans_allocate): For intrinsic functions
666 use conv_expr_descriptor() instead of conv_expr_reference().
667
668 2015-03-30 Jakub Jelinek <jakub@redhat.com>
669
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.
675
676 2015-03-25 Mikael Morin <mikael@gcc.gnu.org>
677
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.
683
684 2015-03-24 Andre Vehreschild <vehre@gmx.de>
685
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.
694
695 2015-03-24 Andre Vehreschild <vehre@gmx.de>
696
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.
753
754 2015-03-24 Iain Sandoe <iain@codesourcery.com>
755 Tobias Burnus <burnus@net-b.de>
756
757 * gfortran.texi (_gfortran_caf_sync_memory): Improve wording.
758
759 2015-03-23 Paul Thomas <pault@gcc.gnu.org>
760 Mikael Morin <mikael@gcc.gnu.org>
761
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'.
782
783 2015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
784
785 PR libgfortran/59513
786 * gfortran.texi (Read/Write after EOF marker): New information.
787
788 2015-03-21 H.J. Lu <hongjiu.lu@intel.com>
789
790 * gfortran.texi (_gfortran_caf_sync_memory): Put @{xxx} in one
791 line.
792
793 2015-03-21 Tobias Burnus <burnus@net-b.de>
794
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.
800
801 2015-03-21 Tobias Burnus <burnus@net-b.de>
802
803 * trans-expr.c (gfc_get_tree_for_caf_expr): Reject unimplemented
804 coindexed coarray accesses.
805
806 2015-03-17 Paul Thomas <pault@gcc.gnu.org>
807
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.
814
815 2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
816
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.
821
822 2015-03-16 Andre Vehreschild <vehre@gmx.de>
823
824 * resolve.c: Prevent segfault on illegal input.
825
826 2015-03-14 Mikael Morin <mikael@gcc.gnu.org>
827
828 PR fortran/61138
829 * trans-expr.c (gfc_trans_pointer_assignment): Clear DESCRIPTOR_ONLY
830 field before reusing LSE.
831
832 2015-03-11 Janne Blomqvist <jb@gcc.gnu.org>
833
834 PR libfortran/65200
835 * gfortran.texi: Document behavior when opening files without
836 explicit ACTION= specifier.
837
838 2015-03-10 Paul Thomas <pault@gcc.gnu.org>
839
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.
844
845 2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
846 Tobias Burnus <burnus@net-b.de>
847
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.
854
855 2015-03-08 Mikael Morin <mikael@gcc.gnu.org>
856
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.
860
861 2015-03-02 Tobias Burnus <burnus@net-b.de>
862
863 * check.c (gfc_check_atomic): Properly check for coarrayness
864 and for being coindexed.
865
866 2015-02-26 Martin Liska <mliska@suse.cz>
867
868 * resolve.c: Rename enum 'comparison' to 'compare_result' as
869 solution for -Wodr issue.
870
871 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
872
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.
884
885 2015-02-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
886
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.
892
893 2015-02-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
894
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.
900
901 2015-02-12 Paul Thomas <pault@gcc.gnu.org>
902
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.
908
909 2015-02-08 Mikael Morin <mikael@gcc.gnu.org>
910
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.
916
917 2015-02-06 Paul Thomas <pault@gcc.gnu.org>
918
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.
951
952 2015-01-29 Andre Vehreschild <vehre@gmx.de>
953 Janus Weil <janus@gcc.gnu.org>
954
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.
961
962 2015-02-05 Tobias Burnus <burnus@net-b.de>
963
964 PR fortran/64943
965 * resolve.c (resolve_transfer): Also check structure
966 constructors.
967
968 2015-02-05 Paul Thomas <pault@gcc.gnu.org>
969
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.
981
982 2015-02-04 Jakub Jelinek <jakub@redhat.com>
983
984 * options.c: Include langhooks.h.
985 (gfc_post_options): Change lang_hooks.name based on
986 selected -std= mode.
987
988 2015-02-03 Steven G. Kargl <kargl@gcc.gnu.org>
989
990 * intrinsic.texi (CO_ASSOCIATED): c_prt_1 should be c_ptr_1.
991
992 2015-01-30 Andre Vehreschild <vehre@gmx.de>
993
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.
997
998 2015-02-01 Joseph Myers <joseph@codesourcery.com>
999
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.
1010
1011 2015-01-30 Joseph Myers <joseph@codesourcery.com>
1012
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.
1016
1017 2015-01-28 Tobias Burnus <burnus@net-b.de>
1018
1019 * intrinsic.texi (CO_BROADCAST): Correct argument description.
1020
1021 2015-01-27 Tobias Burnus <burnus@net-b.de>
1022
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.
1027
1028 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1029
1030 PR fortran/64771
1031 * interface.c: Remove <algorithm>.
1032 (check_dummy_characteristics): Use MAX instead of std::max.
1033
1034 2015-01-26 Paul Thomas <pault@gcc.gnu.org>
1035
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.
1040
1041 2015-01-26 Tobias Burnus <burnus@net-b.de>
1042
1043 PR fortran/64771
1044 * interface.c (check_dummy_characteristics): Fix coarray handling.
1045
1046 2015-01-26 Tobias Burnus <burnus@net-b.de>
1047
1048 * io.c (gfc_match_inquire): Replace "-1" by a defined constant.
1049
1050 2015-01-26 Janus Weil <janus@gcc.gnu.org>
1051
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.
1057
1058 2015-01-25 Mikael Morin <mikael@gcc.gnu.org>
1059
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.
1068
1069 2015-01-24 Tobias Burnus <burnus@net-b.de>
1070
1071 * parse.c (gfc_parse_file): Fix two-location gfc_error call.
1072
1073 2015-01-23 Martin Liska <mliska@suse.cz>
1074
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.
1080
1081 2015-01-23 Tom de Vries <tom@codesourcery.com>
1082
1083 PR libgomp/64672
1084 * lang.opt (fopenacc): Mark as LTO option.
1085
1086 2015-01-23 Tom de Vries <tom@codesourcery.com>
1087
1088 PR libgomp/64707
1089 * lang.opt (fopenmp): Mark as LTO option.
1090
1091 2015-01-23 Andre Vehreschild <vehre@gmx.de>
1092
1093 * trans-decl.c (gfc_finish_var_decl): Fixed moved comment.
1094 * trans-stmt.c (gfc_trans_allocate): Fixed indentation.
1095
1096 2015-01-23 Jakub Jelinek <jakub@redhat.com>
1097
1098 * gfc-diagnostic.def (DK_ICE_NOBT): New kind.
1099
1100 2015-01-23 Janus Weil <janus@gcc.gnu.org>
1101
1102 PR fortran/60922
1103 * class.c (finalize_component): Apply the check for 'fini_coarray' only
1104 to coarray components.
1105
1106 2015-01-23 Tobias Burnus <burnus@net-b.de>
1107
1108 PR fortran/64726
1109 * trans-openmp.c (gfc_trans_oacc_combined_directive): Fix
1110 loop generation.
1111
1112 2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1113
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.
1133
1134 2015-01-21 Thomas Koenig <tkoenig@netcologne.de>
1135
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.
1140
1141 2015-01-18 Andre Vehreschild <vehre@gmx.de>
1142 Janus Weil <janus@gcc.gnu.org>
1143
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.
1163
1164 2015-01-18 Paul Thomas <pault@gcc.gnu.org>
1165
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.
1169
1170 2015-01-18 Paul Thomas <pault@gcc.gnu.org>
1171
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.
1182
1183 2015-01-17 Paul Thomas <pault@gcc.gnu.org>
1184
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.
1191
1192 2015-01-17 Andre Vehreschild <vehre@gmx.de>
1193
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.
1203
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.
1215
1216 2015-01-17 Andre Vehreschild <vehre@gmx.de>
1217
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.
1224
1225 2015-01-16 Janus Weil <janus@gcc.gnu.org>
1226
1227 PR fortran/45290
1228 * decl.c (match_pointer_init): Error out if resolution of init expr
1229 failed.
1230
1231 2015-01-15 Tobias Burnus <burnus@net-b.de>
1232
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.
1236
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>
1242
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.
1432
1433 2015-01-15 Janus Weil <janus@gcc.gnu.org>
1434
1435 PR fortran/58023
1436 * resolve.c (resolve_fl_derived0): Continue resolving next component
1437 after error.
1438
1439 2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1440
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.
1446
1447 2015-01-13 Jakub Jelinek <jakub@redhat.com>
1448
1449 PR fortran/64528
1450 * trans-decl.c (create_function_arglist): Don't set TREE_READONLY
1451 on dummy args with VALUE attribute.
1452
1453 2015-01-11 Janus Weil <janus@gcc.gnu.org>
1454
1455 PR fortran/63733
1456 * interface.c (gfc_extend_expr): Look for type-bound operators before
1457 non-typebound ones.
1458
1459 2015-01-11 Janus Weil <janus@gcc.gnu.org>
1460
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.
1464
1465 2015-01-11 Janus Weil <janus@gcc.gnu.org>
1466
1467 PR fortran/64508
1468 * interface.c (compare_parameter): Interface check for
1469 procedure-pointer component as actual argument.
1470
1471 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
1472
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.
1477
1478 2015-01-10 Tobias Burnus <burnus@net-b.de>
1479
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.
1486
1487 2015-01-09 Michael Collison <michael.collison@linaro.org>
1488
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.
1535
1536 2015-01-08 Tobias Burnus <burnus@net-b.de>
1537
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.
1542
1543 2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
1544
1545 PR fortran/47674
1546 * dependency.h: Actually commit changes.
1547
1548 2015-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
1549
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.
1564
1565 2015-01-05 Jakub Jelinek <jakub@redhat.com>
1566
1567 Update copyright years.
1568
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.
1575
1576 2015-01-02 Janus Weil <janus@gcc.gnu.org>
1577
1578 PR fortran/57562
1579 * expr.c (find_component_ref): Deal with extended types.
1580
1581 2015-01-02 Tobias Burnus <burnus@net-b.de>
1582
1583 * trans-decl.c (gfc_build_qualified_array): Fix coarray tokens
1584 for module coarrays with -fcoarray=lib.
1585
1586 2015-01-02 Janus Weil <janus@gcc.gnu.org>
1587
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.
1592 ^L
1593 Copyright (C) 2015 Free Software Foundation, Inc.
1594
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.