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