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