]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
re PR fortran/47023 (C_Sizeof: Rejects valid code)
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
fbe468a5
JW
12011-10-17 Janus Weil <janus@gcc.gnu.org>
2
3 PR fortran/47023
4 PR fortran/50752
5 * primary.c (match_kind_param): Avoid segfault.
6
930d4d4e
TK
72011-10-16 Thomas Koenig <tkoenig@gcc.gnu.org>
8
9 * frontend-passes.c (current_ns): Make static.
10 (create_var): Note parent of newly created namespace.
11 (optimize_namespace): Don't wak sibling namespaces
12 if they are EXEC_BLOCK because this is handled...
13 (gfc_code_walker): ... here. Also walk ASSOCIATE lists.
14
bee64a2b
JW
152011-10-16 Janus Weil <janus@gcc.gnu.org>
16
17 PR fortran/47023
18 * primary.c (match_kind_param): Detect ISO_C_BINDING kinds.
19 (get_kind): Pass on 'is_iso_c' flag.
20 (match_integer_constant,match_real_constant,match_logical_constant):
21 Set 'ts.is_c_interop'.
22
fe445bf7
JW
232011-10-16 Janus Weil <janus@gcc.gnu.org>
24
25 PR fortran/50547
26 * resolve.c (resolve_formal_arglist): Remove unneeded error message.
27 Some reshuffling.
28
4650947d
TB
292011-10-15 Tobias Burnus <burnus@net-b.de>
30
31 * gfortran.texi (Fortran 2008 status, TS 29113 status,
32 Further Interoperability of Fortran with C): Update implementation
33 status, change references from TR 29113 to TS 29113.
34 * intrinsic.texi (RANK): Change TR 29113 to TS 29113.
35 * invoke.text (-std=): Ditto, change -std=f2008tr to -std=f2008ts.
36 * lang.opt (std=): Ditto.
37 * options.c (gfc_handle_option, set_default_std_flags): Ditto and
38 change GFC_STD_F2008_TR to GFC_STD_F2008_TS.
39 * libgfortran.h: Ditto.
40 * intrinsic.c (add_functions, gfc_check_intrinsic_standard): Ditto.
41 * decl.c (verify_c_interop_param): Ditto.
42
6fd7dd57
JW
432011-10-14 Janus Weil <janus@gcc.gnu.org>
44
45 PR fortran/50570
46 * expr.c (gfc_check_vardef_context): Don't throw an error on
47 non-pointer assignments involving an intent(in) pointer dummy.
48
85ff2938
TB
492011-10-14 Tobias Burnus <burnus@net-b.de>
50
51 PR fortran/50718
52 * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
53 for dummy arguments with VALUE attribute.
54
7e191522
TB
552011-10-11 Tobias Burnus <burnus@net-b.de>
56 Janus Weil <janus@gcc.gnu.org>
57
58 * invoke.texi (-fwhole-file): Update wording since -fwhole-file
59 is now enabled by default.
60
e79983f4
MM
612011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
62
63 * trans-expr.c (gfc_conv_power_op): Delete old interface with two
64 parallel arrays to hold standard builtin declarations, and replace
65 it with a function based interface that can support creating
66 builtins on the fly in the future. Change all uses, and poison
67 the old names. Make sure 0 is not a legitimate builtin index.
68 (fill_with_spaces): Ditto.
69 (gfc_trans_string_copy): Ditto.
70 (gfc_trans_zero_assign): Ditto.
71 (gfc_build_memcpy_call): Ditto.
72 (alloc_scalar_allocatable_for_assignment): Ditto.
73 * trans-array.c (gfc_trans_array_constructor_value): Ditto.
74 (duplicate_allocatable): Ditto.
75 (gfc_alloc_allocatable_for_assignment): Ditto.
76 * trans-openmp.c (gfc_omp_clause_copy_ctor): Ditto.
77 (gfc_omp_clause_assign_op): Ditto.
78 (gfc_trans_omp_atomic): Ditto.
79 (gfc_trans_omp_do): Ditto.
80 (gfc_trans_omp_task): Ditto.
81 * trans-stmt.c (gfc_trans_stop): Ditto.
82 (gfc_trans_sync): Ditto.
83 (gfc_trans_allocate): Ditto.
84 (gfc_trans_deallocate): Ditto.
85 * trans.c (gfc_call_malloc): Ditto.
86 (gfc_allocate_using_malloc): Ditto.
87 (gfc_call_free): Ditto.
88 (gfc_deallocate_with_status): Ditto.
89 (gfc_deallocate_scalar_with_status): Ditto.
90 * f95-lang.c (gfc_define_builtin): Ditto.
91 (gfc_init_builtin_functions): Ditto.
92 * trans-decl.c (create_main_function): Ditto.
93 * trans-intrinsic.c (builtin_decl_for_precision): Ditto.
94
2855325f
TK
952011-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
96
97 PR fortran/50564
98 * frontend-passes (forall_level): New variable.
99 (cfe_register_funcs): Don't register functions if we
100 are within a forall loop.
101 (optimize_namespace): Set forall_level to 0 before entry.
102 (gfc_code_walker): Increase/decrease forall_level.
103
7de61dc6
TB
1042011-10-09 Tobias Burnus <burnus@net-b.de>
105
10d1dc24 106 PR fortran/50273
7de61dc6
TB
107 * trans-common.c (translate_common): Fix -Walign-commons check.
108
46a9f26b
MM
1092011-10-09 Mikael Morin <mikael.morin@sfr.fr>
110
111 * interface.c (check_dummy_characteristics): Count dimensions starting
112 from one in diagnostic.
113
28d0b595
TB
1142011-10-09 Tobias Burnus <burnus@net-b.de>
115
116 * Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
117 dependency on iso-c-binding.def and iso-fortran-env.def.
118 * module.c (import_iso_c_binding_module): Add error when
119 explicitly importing a nonstandard symbol; extend standard-
120 depending loading.
121 * iso-c-binding.def: Add c_float128 and c_float128_complex
122 integer parameters (for -std=gnu).
123 * intrinsic.texi (ISO_C_Binding): Document them.
124 * symbol.c (generate_isocbinding_symbol): Change macros
125 to ignore GFC_STD_* data.
126 * trans-types.c (gfc_init_c_interop_kinds): Ditto; make
127 nonstatic and renamed from "init_c_interop_kinds".
128 (gfc_init_kinds): Don't call it
129 * trans-types.h (gfc_init_c_interop_kinds): Add prototype.
130 * f95-lang.c (gfc_init_decl_processing): Call it.
131
4e5d3db2
JW
1322011-10-09 Janus Weil <janus@gcc.gnu.org>
133
134 PR fortran/50659
135 * expr.c (replace_symbol): Only do replacement if the symbol is a dummy.
136
30a390c8
PT
1372011-10-08 Paul Thomas <pault@gcc.gnu.org>
138
139 PR fortran/47844
140 * trans-array.c (gfc_conv_array_index_offset): Use descriptor
141 stride for pointer function results.
142
621babd8
MM
1432011-10-07 Mikael Morin <mikael.morin@sfr.fr>
144
145 * trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.
146
c2eb5b53
MM
1472011-10-07 Mikael Morin <mikael.morin@sfr.fr>
148
149 * trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.
150
065c6f9d
MM
1512011-10-07 Mikael Morin <mikael.morin@sfr.fr>
152
153 * trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
154 Remove conditions on coarray.
155 (gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
156 (gfc_conv_expr_descriptor): Ditto. Add assertions before the call.
157
6cb0246c
MM
1582011-10-07 Mikael Morin <mikael.morin@sfr.fr>
159
160 * trans-array.c (gfc_conv_section_startstride): Remove coarray_last
161 argument. Remove condition on coarray_last.
162 (gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
163 (gfc_conv_expr_descriptor): Ditto.
164
d7baf647
MM
1652011-10-07 Mikael Morin <mikael.morin@sfr.fr>
166
167 * trans-array.c (gfc_walk_variable_expr): Remove scalar coarray
168 handling. Don't reset array ref's corank and codimensions' types
169 in the full array ref case. Update loop upper limit.
170 Remove DIMEN_THIS_IMAGE case. Remove unnecessary conditions.
171
677e2dae
MM
1722011-10-07 Mikael Morin <mikael.morin@sfr.fr>
173
174 * trans.h (gfc_ss_info): Remove codimen field.
175 * trans-array.c (gfc_get_array_ss): Don't set codimen field.
176 (gfc_trans_create_temp_array): Don't set descriptor's cobounds.
177 (gfc_trans_constant_array_constructor): Update loop upper limit.
178 (gfc_conv_ss_startstride): Don't set codimen field.
179 Don't get descriptor's cobounds.
180 (gfc_walk_variable_expr): Update dimension index.
181 * trans-intrinsic.c (trans_this_image, trans_image_index,
182 conv_intrinsic_cobound): Don't set codimen field
183
c6d741b8
MM
1842011-10-07 Mikael Morin <mikael.morin@sfr.fr>
185
186 * trans.h (gfc_loopinfo): Remove codimen field.
187 * trans-array.c (gfc_set_vector_loop_bounds,
188 gfc_trans_scalarizing_loops, gfc_conv_loop_setup): Update loop upper
189 limit.
190 (gfc_set_loop_bounds_from_array_spec): Ditto. Remove skip on last
191 codimension.
192 (gfc_start_scalarized_body): Update loop lower limit.
193 (gfc_conv_ss_startstride): Don't set loop's codimen field.
194 (gfc_conv_loop_setup): Remove unnecessary condition.
195 (gfc_conv_expr_descriptor): Don't use loop's codimen field as corank.
196
8e50858e
MM
1972011-10-07 Mikael Morin <mikael.morin@sfr.fr>
198
199 * trans.h (gfc_ss): Remove data.temp.codimen field.
200 * trans-array.c (gfc_conv_resolve_dependencies,
201 gfc_conv_expr_descriptor): Don't set temp's codimen field.
202
5551a54e
MM
2032011-10-07 Mikael Morin <mikael.morin@sfr.fr>
204
205 * resolve.c (resolve_array_ref): Set array_ref's dimen field (and the
206 associated dimen_type) in the full array ref case.
207
9b701a45
MM
2082011-10-07 Mikael Morin <mikael.morin@sfr.fr>
209
210 * trans-intrinsic.c (walk_coarray): New function.
211 (convert_element_to_coarray_ref): Move code to walk_coarray. Remove.
212 (trans-this_image, trans_image_index, conv_intrinsic_cobound):
213 Use walk_coarray.
214
6bd0ce7b
MM
2152011-10-07 Mikael Morin <mikael.morin@sfr.fr>
216
217 * trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer
218 cobounds evaluation.
219
199c387d
MM
2202011-10-07 Mikael Morin <mikael.morin@sfr.fr>
221
222 * trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.
223
287b3dd2
MM
2242011-10-07 Mikael Morin <mikael.morin@sfr.fr>
225
226 * trans-array.c (gfc_conv_section_startstride): Move code to
227 evaluate_bound. Use evaluate_bound.
228 (evaluate_bound): New function.
229
b0ac6998
MM
2302011-10-07 Mikael Morin <mikael.morin@sfr.fr>
231
232 * trans-array.c (gfc_conv_section_startstride): Update assertion to
233 also accept coarrays.
234
3ca39858
MM
2352011-10-07 Mikael Morin <mikael.morin@sfr.fr>
236
237 * trans-array.c (gfc_conv_section_startstride): Factor common
238 array ref references.
239
a7525708
MM
2402011-10-07 Mikael Morin <mikael.morin@sfr.fr>
241
242 * trans-array.c (gfc_conv_expr_descriptor): Use codim instead of
243 loop.codimen as argument to gfc_get_array_type_bounds.
244
23c3d0f9
MM
2452011-10-07 Mikael Morin <mikael.morin@sfr.fr>
246
247 * trans-array.h (struct gfc_se): New flag want_coarray.
248 * trans-intrinsic.c (trans_this_image, trans_image_index,
249 conv_intrinsic_cobound): Set want_coarray.
250 * trans_array.c (gfc_conv_expr_descriptor): Evaluate codimension
251 earlier and without relying on the scalarizer.
252
89010691
MM
2532011-10-07 Mikael Morin <mikael.morin@sfr.fr>
254
255 * expr.c (gfc_get_corank): Return 0 if input expression is not a
256 coarray.
257
bb033c9a
MM
2582011-10-07 Mikael Morin <mikael.morin@sfr.fr>
259
260 * trans-array.c (gfc_conv_expr_descriptor): Simplify coarray
677e2dae 261 descriptor setup code.
bb033c9a 262
b78a06b2
MM
2632011-10-07 Mikael Morin <mikael.morin@sfr.fr>
264
265 * resolve.c (compare_spec_to_ref): Move coarray ref initialization
266 code...
267 (resolve_array_ref): ... here.
268
266edc7e
MM
2692011-10-07 Mikael Morin <mikael.morin@sfr.fr>
270
271 * check.c (is_coarray): Remove.
272 (coarray_check): Use gfc_is_coarray.
273
58eba515
JW
2742011-10-07 Janus Weil <janus@gcc.gnu.org>
275
276 PR fortran/50625
277 * class.c (gfc_build_class_symbol): Fix whitespace.
278 * module.c (mio_symbol): Set 'class_ok' attribute.
279 * trans-decl.c (gfc_get_symbol_decl): Make sure the backend_decl has
280 been built for class symbols.
281
97f26732
JW
2822011-10-04 Janus Weil <janus@gcc.gnu.org>
283
284 PR fortran/35831
285 * interface.c (check_dummy_characteristics): Check the array shape.
286
e323640f
JW
2872011-10-01 Janus Weil <janus@gcc.gnu.org>
288
289 PR fortran/50585
290 * interface.c (get_expr_storage_size): Check if 'length' component is
291 associated.
292
4056cc1b
JW
2932011-09-29 Janus Weil <janus@gcc.gnu.org>
294
295 PR fortran/50547
296 * resolve.c (resolve_formal_arglist): Fix pureness check for dummy
297 functions.
298
299 PR fortran/50553
300 * symbol.c (check_conflict): Forbid TARGET attribute for statement
301 functions.
302
82aa8722
JJ
3032011-09-27 Jakub Jelinek <jakub@redhat.com>
304
305 * trans-types.c (gfc_type_for_size): Return wider type
306 if no suitable narrower type has been found.
307 (gfc_type_for_mode): Return NULL_TREE if gfc_type_for_size
308 returned type doesn't have expected TYPE_MODE.
309
ef71fdd9
JW
3102011-09-26 Janus Weil <janus@gcc.gnu.org>
311
312 PR fortran/50515
313 * resolve.c (resolve_common_blocks): Check for EXTERNAL attribute.
314
315 PR fortran/50517
316 * interface.c (gfc_compare_interfaces): Bugfix in check for result type.
317
58c1ae36
JW
3182011-09-22 Janus Weil <janus@gcc.gnu.org>
319
320 PR fortran/41733
321 * expr.c (gfc_check_pointer_assign): Check for nonintrinsic elemental
322 procedures.
323 * interface.c (gfc_compare_interfaces): Rename 'intent_flag'. Check
324 for PURE and ELEMENTAL attributes.
325 (compare_actual_formal): Remove pureness check here.
326
40ebf57b
SK
3272011-09-20 Steven G. Kargl <kargl@gcc.gnu.org>
328
329 * check.c (gfc_check_c_sizeof): Remove redundant word.
330
0274cf27
SB
3312011-09-20 Simon Baldwin <simonb@google.com>
332
333 * module.c (gfc_dump_module): Omit timestamp from output.
334
7214727c
JW
3352011-09-17 Janus Weil <janus@gcc.gnu.org>
336
337 PR fortran/50403
338 * symbol.c (gfc_use_derived): Fix coding style.
339
f2ce74d1
JW
3402011-09-15 Janus Weil <janus@gcc.gnu.org>
341
342 PR fortran/50401
343 * resolve.c (resolve_transfer): Check if component 'ref' is defined.
344
345 PR fortran/50403
346 * symbol.c (gfc_use_derived): Check if argument 'sym' is defined.
347
ea8ad3e5
TB
3482011-09-14 Tobias Burnus <burnus@net-b.de>
349
350 PR fortran/34547
351 PR fortran/50375
352 * check.c (gfc_check_null): Allow allocatables as MOLD to NULL.
353 * resolve.c (resolve_transfer): Reject NULL without MOLD.
354 * interface.c (gfc_procedure_use): Reject NULL without MOLD
355 if no explicit interface is known.
356 (gfc_search_interface): Reject NULL without MOLD if it would
357 lead to ambiguity.
358
94c4133a
JW
3592011-09-13 Janus Weil <janus@gcc.gnu.org>
360
361 PR fortran/50379
362 * symbol.c (check_conflict): Check conflict between GENERIC and RESULT
363 attributes.
364
fa11ae6c
TK
3652011-09-11 Thomas Koenig <tkoenig@gcc.gnu.org>
366
367 PR fortran/50327
368 * frontend-passes.c (dummy_expr_callback): New function.
369 (convert_do_while): New function.
370 (optimize_namespace): Call code walker to convert do while loops.
371
9795c594
JW
3722011-09-11 Janus Weil <janus@gcc.gnu.org>
373
374 PR fortran/35831
375 PR fortran/47978
376 * interface.c (check_dummy_characteristics): New function to check the
377 characteristics of dummy arguments.
378 (gfc_compare_interfaces,gfc_check_typebound_override): Call it here.
379
e97b61c2
MM
3802011-09-08 Mikael Morin <mikael.morin@sfr.fr>
381
382 * trans-array.c (gfc_trans_constant_array_constructor): Remove
383 superfluous initialisation of DIM field.
384 (gfc_trans_array_constructor): Assert that DIMEN field is properly set.
385 (gfc_conv_expr_descriptor): Ditto.
386 * trans-expr.c (gfc_conv_procedure_call): Ditto.
387
26f77530
MM
3882011-09-08 Mikael Morin <mikael.morin@sfr.fr>
389
390 * trans-array.h (gfc_get_scalar_ss): New prototype.
391 * trans-array.c (gfc_get_scalar_ss): New function.
392 (gfc_walk_variable_expr, gfc_walk_op_expr,
393 gfc_walk_elemental_function_args): Re-use gfc_get_scalar_ss.
394 * trans-expr.c (gfc_trans_subarray_assign): Ditto.
395 (gfc_trans_assignment_1): Ditto.
396 * trans-stmt.c (compute_inner_temp_size, gfc_trans_where_assign,
397 gfc_trans_where_3): Ditto.
398
a1ae4f43
MM
3992011-09-08 Mikael Morin <mikael.morin@sfr.fr>
400
401 * trans-array.h (gfc_get_temp_ss): New prototype.
402 * trans-array.c (gfc_get_temp_ss): New function.
403 (gfc_conv_resolve_dependencies): Re-use gfc_get_temp_ss.
404 (gfc_conv_expr_descriptor): Ditto.
405 * trans-expr.c (gfc_conv_subref_array_arg): Ditto.
406
66877276
MM
4072011-09-08 Mikael Morin <mikael.morin@sfr.fr>
408
409 * trans-array.h (gfc_get_array_ss): New prototype.
410 * trans-array.c (gfc_get_array_ss): New function.
411 (gfc_walk_variable_expr, gfc_walk_function_expr,
412 gfc_walk_array_constructor): Re-use gfc_get_array_ss.
413 * trans-expr.c (gfc_trans_subarray_assign): Ditto.
414 * trans-intrinsic.c (gfc_walk_intrinsic_bound,
415 gfc_walk_intrinsic_libfunc): Ditto.
416 * trans-io.c (transfer_array_component): Ditto.
417
8c6a85e3
TB
4182011-09-08 Tobias Burnus <burnus@net-b.de>
419
420 PR fortran/44646
421 * decl.c (gfc_match_entry, gfc_match_end): Handle COMP_DO_CONCURRENT.
422 * dump-parse-tree.c (show_code_node): Handle EXEC_DO_CONCURRENT.
423 * gfortran.h (gfc_exec_op): Add EXEC_DO_CONCURRENT.
424 * match.c (gfc_match_critical, match_exit_cycle, gfc_match_stopcode,
425 lock_unlock_statement, sync_statement, gfc_match_allocate,
426 gfc_match_deallocate, gfc_match_return): Add DO CONCURRENT diagnostic.
427 (gfc_match_do): Match DO CONCURRENT.
428 (match_derived_type_spec, match_type_spec, gfc_free_forall_iterator,
429 match_forall_iterator, match_forall_header, match_simple_forall,
430 gfc_match_forall): Move up in the file.
431 * parse.c (check_do_closure, parse_do_block): Handle do concurrent.
432 * parse.h (gfc_compile_state): Add COMP_DO_CONCURRENT.
433 * resolve.c (do_concurrent_flag): New global variable.
434 (resolve_function, pure_subroutine, resolve_branch,
435 gfc_resolve_blocks, resolve_code, resolve_types): Add do concurrent
436 diagnostic.
437 * st.c (gfc_free_statement): Handle EXEC_DO_CONCURRENT.
438 * trans-stmt.c (gfc_trans_do_concurrent): New function.
439 (gfc_trans_forall_1): Handle do concurrent.
440 * trans-stmt.h (gfc_trans_do_concurrent): New function prototype.
441 * trans.c (trans_code): Call it.
442 * frontend-passes.c (gfc_code_walker): Handle EXEC_DO_CONCURRENT.
443
6a38e151
JW
4442011-09-07 Janus Weil <janus@gcc.gnu.org>
445
446 PR fortran/48095
447 * primary.c (gfc_match_structure_constructor): Handle parsing of
448 procedure pointers components in structure constructors.
449 * resolve.c (resolve_structure_cons): Check interface of procedure
450 pointer components. Changed wording of some error messages.
451
30ff79fa
JW
4522011-09-04 Janus Weil <janus@gcc.gnu.org>
453
454 PR fortran/50227
455 * trans-types.c (gfc_sym_type): Check for proc_name.
456
dc8c7978
TB
4572011-08-30 Tobias Burnus <burnus@net-b.de>
458
459 PR fortran/45044
460 * trans-common.c (build_common_decl): Warn if named common
461 block's size is not everywhere the same.
462
505920d6
SK
4632011-08-30 Steven G. Kargl <kargl@gcc.gnu.org>
464
465 PR fortran/45170
466 * trans-stmt.c (gfc_trans_allocate): Evaluate the substring.
467
7a3eeb85
JW
4682011-08-29 Janus Weil <janus@gcc.gnu.org>
469
470 PR fortran/50225
471 * trans-decl.c (gfc_generate_function_code): Nullify polymorphic
472 allocatable function results.
473
86187d0f
TB
4742011-08-29 Tobias Burnus <burnus@net-b.de>
475
476 * trans-decl.c (generate_coarray_sym_init): Use
477 GFC_CAF_COARRAY_STATIC for static coarrays.
478
892a371f
DS
4792011-08-28 Dodji Seketeli <dodji@redhat.com>
480
481 * scanner.c (load_file): Don't abuse LC_RENAME reason while
86187d0f 482 (indirectly) calling linemap_add.
892a371f 483
a6c975bd
JJ
4842011-08-26 Jakub Jelinek <jakub@redhat.com>
485
486 * trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL
487 if threadprivate.
488 * symbol.c (check_conflict): Allow threadprivate attribute with
489 FL_PROCEDURE if proc_pointer.
490
30d50718 4912011-08-25 Mikael Morin <mikael@gcc.gnu.org>
d54e80ce
MM
492
493 PR fortran/50050
494 * expr.c (gfc_free_shape): Do nothing if shape is NULL.
495 (free_expr0): Remove redundant NULL shape check.
496 * resolve.c (check_host_association): Ditto.
497 * trans-expr.c (gfc_trans_subarray_assign): Assert that shape is
498 non-NULL.
499 * trans-io.c (transfer_array_component): Ditto.
500
aa13dc3c
TB
5012011-08-25 Tobias Burnus <burnus@net-b.de>
502
503 * trans-array.c (gfc_conv_descriptor_token): Add assert.
504 * trans-decl.c (gfc_build_qualified_array,
505 create_function_arglist): Handle assumed-shape arrays.
506 * trans-expr.c (gfc_conv_procedure_call): Ditto.
507 * trans-types.c (gfc_get_array_descriptor_base): Ditto, don't
508 add "caf_token" to assumed-shape descriptors, new akind argument.
509 (gfc_get_array_type_bounds): Pass akind.
510 * trans.h (lang_decl): New elements caf_offset and token.
511 (GFC_DECL_TOKEN, GFC_DECL_CAF_OFFSET): New macros.
512
241e79cf
TB
5132011-08-25 Tobias Burnus <burnus@net-b.de>
514
515 * trans-array.c (structure_alloc_comps): Fix for allocatable
516 scalar coarray components.
517 * trans-expr.c (gfc_conv_component_ref): Ditto.
518 * trans-type.c (gfc_get_derived_type): Ditto.
519
40885767
TB
5202011-08-24 Tobias Burnus <burnus@net-b.de>
521
522 PR fortran/50163
523 * expr.c (check_init_expr): Return when an error occured.
524
c5bc3df6
JM
5252011-08-24 Joseph Myers <joseph@codesourcery.com>
526
527 * Make-lang.in (fortran/cpp.o): Remove explicit compilation rule.
528
0fcbc86b
TB
5292011-08-23 Tobias Burnus <burnus@net-b.de>
530
531 PR fortran/31600
532 * symbol.c (gfc_add_type): Better diagnostic if redefining
533 use-associated symbol.
534 * module.c (gfc_use_module): Use module name as locus.
535
e3dfef44
GC
5362011-08-22 Gabriel Charette <gchare@google.com>
537
538 * cpp.c (gfc_cpp_init): Force BUILTINS_LOCATION for tokens
539 defined in cpp_define_builtins.
540
30d50718 5412011-08-22 Mikael Morin <mikael@gcc.gnu.org>
7d7212ec
MM
542
543 PR fortran/50050
544 * gfortran.h (gfc_clear_shape, gfc_free_shape): New prototypes.
545 * expr.c (gfc_clear_shape, gfc_free_shape): New functions.
546 (free_expr0): Re-use gfc_free_shape.
547 * trans-expr.c (gfc_trans_subarray_assign): Ditto.
548 * trans-io.c (transfer_array_component): Ditto.
549 * resolve.c (check_host_association): Ditto.
550 (gfc_expr_to_initialize): Don't force the rank value and free the shape
551 after updating the expression. Recalculate shape and rank.
552 (resolve_where_shape): Re-use gfc_clear_shape.
553 * array.c (gfc_array_ref_shape): Ditto.
554
6cd1d48e
TK
5552011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
556
557 PR fortran/47659
558 * expr.c (gfc_check_assign): Check for type conversions when the
559 right-hand side is a constant REAL/COMPLEX contstant the left-hand
560 side is also REAL/COMPLEX. Don't warn when a narrowing conversion
561 for REAL does not change the value of the constant.
562
2d27cb44
TK
5632011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
564
565 PR fortran/50130
566 * resolve.c (resolve_array_ref): Don't calculate upper bound
567 if the stride is zero.
568
13001f33
JW
5692011-08-20 Janus Weil <janus@gcc.gnu.org>
570
571 PR fortran/49638
572 * dependency.c (gfc_dep_compare_expr): Add new result value "-3".
573 (gfc_check_element_vs_section,gfc_check_element_vs_element): Handle
574 result value "-3".
7d7212ec 575 * frontend-passes.c (optimize_comparison): Ditto.
13001f33
JW
576 * interface.c (gfc_check_typebound_override): Ditto.
577
176a6603
MM
5782011-08-19 Mikael Morin <mikael.morin@sfr.fr>
579
580 PR fortran/50129
581 * parse.c (parse_where): Undo changes after emitting an error.
582
c26dffff
JJ
5832011-08-19 Jakub Jelinek <jakub@redhat.com>
584
585 PR fortran/49792
586 * trans-expr.c (gfc_trans_assignment_1): Set OMPWS_SCALARIZER_WS
587 bit in ompws_flags only if loop.temp_ss is NULL, and clear it if
588 lhs needs reallocation.
589 * trans-openmp.c (gfc_trans_omp_workshare): Don't return early if
590 code is NULL, emit a barrier if workshare emitted no code at all
591 and NOWAIT clause isn't present.
592
df1a69f6
MM
5932011-08-19 Mikael Morin <mikael.morin@sfr.fr>
594
595 PR fortran/50071
596 * gfortran.h (gfc_exec_op): New constant EXEC_END_NESTED_BLOCK.
597 * parse.c (check_statement_label): Accept ST_END_BLOCK and
598 ST_END_ASSOCIATE as valid branch target.
599 (accept_statement): Change EXEC_END_BLOCK to EXEC_END_NESTED_BLOCK.
600 Add EXEC_END_BLOCK code in the ST_END_BLOCK and ST_END_ASSOCIATE cases.
601 * resolve.c (find_reachable_labels): Change EXEC_END_BLOCK to
602 EXEC_END_NESTED_BLOCK.
603 (resolve_branch): Ditto.
604 (resolve_code): Add EXEC_END_NESTED_BLOCK case.
605 * st.c (gfc_free_statement): Ditto.
606 * trans.c (trans_code): Ditto.
607
4ee3237e
MM
6082011-08-18 Mikael Morin <mikael.morin@sfr.fr>
609
610 PR fortran/50071
611 * symbol.c (gfc_get_st_label): Use the derived type namespace when
612 we are parsing a derived type definition.
613
3b6fa7a5
TB
6142011-08-18 Tobias Burnus <burnus@net-b.de>
615
616 PR fortran/18918
617 * parse.c (parse_derived): Add lock_type
618 checks, improve coarray_comp handling.
619 * resolve.c (resolve_allocate_expr,
620 resolve_lock_unlock, resolve_symbol): Fix lock_type
621 constraint checks.
622
dbad8e71
TB
6232011-08-17 Tobias Burnus <burnus@net-b.de>
624
625 PR fortran/31461
626 * trans-decl.c (generate_local_decl): Warn about
627 unused explicitly imported module variables/parameters.
628
30228b61
JW
6292011-08-17 Janus Weil <janus@gcc.gnu.org>
630
631 PR fortran/50070
632 * resolve.c (resolve_fl_variable): Reject non-constant character lengths
633 in COMMON variables.
634
565fc114
TB
6352011-08-16 Tobias Burnus <burnus@net-b.de>
636 Dominique Dhumieres <dominiq@lps.ens.fr>
637
638 PR fortran/50094
639 * resolve.c (resolve_symbol): Fix stupid typo.
640
e535f1b2
TB
6412011-08-15 Tobias Burnus <burnus@net-b.de>
642
643 * resolve.c (resolve_symbol): Fix coarray result-var check.
644
8533a1ca
SK
6452011-08-14 Steven G. Kargl <kargl@gcc.gnu.org>
646
647 * module.c (use_iso_fortran_env_module): Spell 'referrenced' correctly.
648
bb9de0c4
JW
6492011-08-14 Janus Weil <janus@gcc.gnu.org>
650
651 PR fortran/50073
652 * decl.c (check_function_name): New function, separated off from
653 'variable_decl' and slightly extended.
654 (variable_decl,attr_decl1): Call it.
655
e3b3fa45
RO
6562011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
657
658 * Make-lang.in (gfortran$(exeext)): Add $(EXTRA_GCC_LIBS).
659
2240d1cf
JW
6602011-08-07 Janus Weil <janus@gcc.gnu.org>
661 Thomas Koenig <tkoenig@gcc.gnu.org>
662
663 PR fortran/49638
664 * dependency.c (are_identical_variables): For dummy arguments only
665 check for equal names, not equal symbols.
666 * interface.c (gfc_check_typebound_override): Add checking for rank
667 and character length.
668
99fc1b90
JW
6692011-08-07 Janus Weil <janus@gcc.gnu.org>
670
671 PR fortran/49638
672 * dependency.h (gfc_is_same_range,gfc_are_identical_variables): Remove
673 two prototypes.
674 * dependency.c (gfc_are_identical_variables,are_identical_variables):
675 Renamed the former to the latter and made static.
676 (gfc_dep_compare_expr): Renamed 'gfc_are_identical_variables', handle
677 commutativity of multiplication.
678 (gfc_is_same_range,is_same_range): Renamed the former to the latter,
679 made static and removed argument 'def'.
680 (check_section_vs_section): Renamed 'gfc_is_same_range'.
681 * gfortran.h (gfc_check_typebound_override): New prototype.
682 * interface.c (gfc_check_typebound_override): Moved here from ...
683 * resolve.c (check_typebound_override): ... here (and renamed).
684 (resolve_typebound_procedure): Renamed 'check_typebound_override'.
685
48b155b9
TK
6862011-08-06 Thomas Koenig <tkoenig@gcc.gnu.org>
687
688 PR fortran/50004
689 * target-memory.c (gfc_target_expr-size): Don't clobber typespec
690 for derived types.
691 * simplify.c (gfc_simplify_transfer): Don't calculate source_size
692 twice.
693
86dbed7d
TK
6942011-08-05 Thomas Koenig <tkoenig@gcc.gnu.org>
695
5f7c4bd7 696 PR fortran/37211
86dbed7d
TK
697 * gfortran.h (gfc_calculate_transfer_sizes): Add prototype.
698 * target-memory.h (gfc_target_interpret_expr): Add boolean
699 argument wether to convert wide characters.
700 * target-memory.c (gfc_target_expr_size): Also return length
701 of characters for non-constant expressions if these can be
702 determined from the cl.
703 (interpret_array): Add argument for gfc_target_interpret_expr.
704 (gfc_interpret_derived): Likewise.
705 (gfc_target_interpret_expr): Likewise.
706 * check.c: Include target-memory.h.
707 (gfc_calculate_transfer_sizes): New function.
708 (gfc_check_transfer): When -Wsurprising is in force, calculate
709 sizes and warn if result is larger than size (check moved from
710 gfc_simplify_transfer).
711 * simplify.c (gfc_simplify_transfer): Use
712 gfc_calculate_transfer_sizes. Remove warning.
713
428f80e6
RG
7142011-08-04 Richard Guenther <rguenther@suse.de>
715
716 PR fortran/49957
717 * trans-array.c (add_to_offset): New function.
718 (gfc_conv_array_ref): Build the array index expression in optimally
719 associated order.
720 (gfc_walk_variable_expr): Adjust for the backward walk.
721
f315a6b4
DK
7222011-08-02 Daniel Kraft <d@domob.eu>
723
724 PR fortran/49885
725 * trans-array.c (gfc_trans_auto_array_allocation): Change
726 gfc_start_block to gfc_init_block to avoid spurious extra-scope.
727
979d4598
TB
7282011-08-02 Tobias Burnus <burnus@net-b.de>
729
730 * trans-array.c (gfc_array_allocate): Pass token to
731 gfc_allocate_allocatable for -fcoarray=lib.
732 * trans-stmt.c (gfc_trans_allocate): Update
733 gfc_allocate_allocatable call.
734 * trans.h (gfc_allocate_allocatable): Update prototype.
735 (gfc_allocate_using_lib): Remove.
736 * trans.c (gfc_allocate_using_lib): Make static, handle token.
737 (gfc_allocate_allocatable): Ditto.
738
20906c66
JJ
7392011-08-02 Jakub Jelinek <jakub@redhat.com>
740
741 PR fortran/46752
742 * cpp.c (cpp_define_builtins): Change _OPENMP to 201107.
743 * openmp.c (gfc_free_omp_clauses): Free also final_expr.
744 (OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE): Define.
745 (gfc_match_omp_clauses): Handle parsing final and mergeable
746 clauses.
747 (OMP_TASK_CLAUSES): Allow final and mergeable clauses.
748 (gfc_match_omp_taskyield): New function.
749 (resolve_omp_clauses): Resolve final clause. Allow POINTERs and
750 Cray pointers in clauses other than REDUCTION.
751 (gfc_match_omp_atomic): Match optional
752 read/write/update/capture keywords after !$omp atomic.
753 (resolve_omp_atomic): Handle all OpenMP 3.1 atomic forms.
754 * dump-parse-tree.c (show_omp_node): Handle EXEC_OMP_TASKYIELD,
755 print final and mergeable clauses.
756 (show_code_node): Handle EXEC_OMP_TASKYIELD.
757 * trans-openmp.c (gfc_trans_omp_clauses): Handle final and
758 mergeable clauses.
759 (gfc_trans_omp_taskyield): New function.
760 (gfc_trans_omp_directive): Handle EXEC_OMP_TASKYIELD.
761 (gfc_trans_omp_atomic): Handle all OpenMP 3.1 atomic forms.
762 (gfc_omp_clause_copy_ctor): Handle non-allocated allocatable.
763 (gfc_omp_predetermined_sharing): Adjust comment.
764 * gfortran.h (gfc_statement): Add ST_OMP_TASKYIELD and
765 ST_OMP_END_ATOMIC.
766 (gfc_omp_clauses): Add final_expr and mergeable fields.
767 (gfc_exec_op): Add EXEC_OMP_TASKYIELD.
768 (gfc_omp_atomic_op): New enum typedef.
769 (struct gfc_code): Add ext.omp_atomic.
770 * trans.c (trans_code): Handle EXEC_OMP_TASKYIELD.
771 * frontend-passes.c (gfc_code_walker): Also walk final_expr.
772 * resolve.c (gfc_resolve_blocks, resolve_code): Handle
773 EXEC_OMP_TASKYIELD.
774 * st.c (gfc_free_statement): Likewise.
775 * match.h (gfc_match_omp_taskyield): New prototype.
776 * parse.c (decode_omp_directive): Handle taskyield directive.
777 Handle !$omp end atomic.
778 (case_executable): Add ST_OMP_TASKYIELD case.
779 (gfc_ascii_statement): Handle ST_OMP_TASKYIELD.
780 (parse_omp_atomic): Return gfc_statement instead of void.
781 For !$omp atomic capture parse two assignments instead of
782 just one and require !$omp end atomic afterwards, for
783 other !$omp atomic forms just allow !$omp end atomic at the
784 end.
785 (parse_omp_structured_block, parse_executable): Adjust
786 parse_omp_atomic callers.
787
7882011-08-02 Tobias Burnus <burnus@net-b.de>
789
790 * intrinsic.c (OMP_LIB): Updated openmp_version's
791 value to 201107.
792 * gfortran.texi (OpenMP): Update ref to OpenMP 3.1.
793 * intrinsic.texi (OpenMP Modules): Update ref to OpenMP 3.1;
794 remove deleted omp_integer_kind and omp_logical_kind constants.
795
0291fa25
JW
7962011-07-31 Janus Weil <janus@gcc.gnu.org>
797
798 PR fortran/49112
799 * resolve.c (resolve_structure_cons): Don't do the full dt resolution,
800 only call 'resolve_fl_derived0'.
801 (resolve_typebound_procedures): Resolve typebound procedures of
802 parent type.
803 (resolve_fl_derived0): New function, which does a part of the work
804 for 'resolve_fl_derived'.
805 (resolve_fl_derived): Call 'resolve_fl_derived0' and do some additional
806 things.
807
7d0300ed
TK
8082011-07-30 Thomas Koenig <tkoenig@gcc.gnu.org>
809
810 PR fortran/48876
811 * expr.c (gfc_simplify_expr): If end of a string is less
812 than zero, set it to zero.
813
d2663912
JJ
8142011-07-28 Jakub Jelinek <jakub@redhat.com>
815
816 PR fortran/31067
817 * frontend-passes.c (optimize_minmaxloc): New function.
818 (optimize_expr): Call it.
819
4bfd470b
TB
8202011-07-27 Tobias Burnus <burnus@net-b.de>
821
822 PR fortran/45586
823 * trans-types.c (gfc_get_derived_type): Ensure that pointer
824 component types are marked as nonrestricted.
825
4f13e17f
DC
8262011-07-27 Daniel Carrera <dcarrera@gmail.com>
827
828 PR fortran/49755
829 * trans.c (gfc_allocate_using_malloc): Change function signature.
830 Return nothing. New parameter "pointer". Eliminate temorary variables.
831 (gfc_allocate_using_lib): Ditto.
832 (gfc_allocate_allocatable): Ditto. Update call to gfc_allocate_using_lib
833 and gfc_allocate_using_malloc. Do not free and then reallocate a
834 variable that is already allocated.
835 (gfc_likely): New function. Basedon gfc_unlikely.
836 * trans-array.c (gfc_array_init_size): New parameter "descriptor_block".
837 Instructions to modify the array descriptor are stored in this block
838 while other instructions continue to be stored in "pblock".
839 (gfc_array_allocate): Update call to gfc_array_init_size. Move the
840 descriptor_block so that the array descriptor is only updated if
841 the array was allocated successfully.
842 Update calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
843 * trans.h (gfc_allocate_allocatable): Change function signature.
844 Function now returns void.
845 (gfc_allocate_using_lib): Ditto, and new function parameter.
846 (gfc_allocate_using_malloc): Ditto.
847 * trans-openmp.c (gfc_omp_clause_default_ctor,
848 gfc_omp_clause_copy_ctor,gfc_trans_omp_array_reduction): Replace a call
849 to gfc_allocate_allocatable with gfc_allocate_using_malloc.
850 * trans-stmt.c (gfc_trans_allocate): Update function calls for
851 gfc_allocate_allocatable and gfc_allocate_using_malloc.
852
af232d48
TB
8532011-07-26 Tobias Burnus <burnus@net-b.de>
854
855 * trans-array.c (CAF_TOKEN_FIELD): New macro constant.
856 (gfc_conv_descriptor_token): New function.
857 * trans-array.h (gfc_conv_descriptor_token): New prototype.
858 * trans-types.c (gfc_get_array_descriptor_base): For coarrays
859 with -fcoarray=lib, append "void *token" to the array descriptor.
860 (gfc_array_descriptor_base_caf): New static variable.
861 * trans-expr.c (gfc_conv_procedure_call): Handle token and offset
862 when passing a descriptor coarray to a nondescriptor dummy.
863
efc694a7
TB
8642011-07-23 Tobias Burnus <burnus@net-b.de>
865
866 * resolve.c (resolve_symbol): Fix coarray var decl check.
867
8f992d64
DC
8682011-07-21 Daniel Carrera <dcarrera@gmail.com>
869
870 * trans.c (gfc_allocate_with_status): Split into two functions
871 gfc_allocate_using_malloc and gfc_allocate_usig_lib.
872 (gfc_allocate_using_malloc): The status parameter is now the
873 actual status rather than a pointer. Code cleanup.
874 (gfc_allocate_using_lib): Ditto. Add new parametrs errmsg and
875 errlen. Pass these to the coarray lib.
876 * trans-openmp.c (gfc_omp_clause_default_ctor): Update calls to
877 gfc_allocate_allocatable.
878 (gfc_omp_clause_copy_ctor): Ditto.
879 (gfc_trans_omp_array_reduction): Ditto.
880 * trans-stmt.c (gfc_trans_allocate): Ditto. Update call to
881 gfc_allocate_using_malloc. Pass stat rather than pstat to the allocate
882 fuctions. If using coarray lib, pass errmsg and errlen to the allocate
883 functions. Move error checking outside the if (!gfc_array_allocate)
884 block so that it also affects trees produced by gfc_array_allocate.
885 * trans-array.c (gfc_array_allocate): Add new parameters errmsg
886 and errlen. Replace parameter pstat by status. Code cleanup. Update
887 calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
888 * trans-array.h (gfc_array_allocate): Update signature of
889 gfc_array_allocate.
890
1f1c0dbd
SK
8912011-07-21 Steven G. Kargl <kargl@gcc.gnu.org>
892
893 * gfortran.texi: Remove a duplicate word.
894
0c53708e
TB
8952011-07-21 Tobias Burnus <burnus@net-b.de>
896
897 * check.c (gfc_check_present): Allow coarrays.
898 * trans-array.c (gfc_conv_array_ref): Avoid casting
899 when a pointer is wanted.
900 * trans-decl.c (create_function_arglist): For -fcoarray=lib,
901 handle hidden token and offset arguments for nondescriptor
902 coarrays.
903 * trans-expr.c (get_tree_for_caf_expr): New function.
904 (gfc_conv_procedure_call): For -fcoarray=lib pass the
905 token and offset for nondescriptor coarray dummies.
906 * trans.h (lang_type): Add caf_offset tree.
907 (GFC_TYPE_ARRAY_CAF_OFFSET): New macro.
908
394d3a2e
TB
9092011-07-19 Tobias Burnus <burnus@net-b.de>
910
911 * expr.c (gfc_is_coarray): New function.
912 * gfortran.h (gfc_is_coarray): New prototype.
913 * interface.c (compare_parameter): Use it.
914
5d49b6a7
RG
9152011-07-19 Richard Guenther <rguenther@suse.de>
916
917 * trans-expr.c (fill_with_spaces): Use fold_build_pointer_plus.
918 (gfc_trans_string_copy): Likewise.
919 * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Likewise.
920 * trans-types.c (gfc_get_array_descr_info): Likewise.
921 * trans.c (gfc_build_array_ref): Likewise.
922
b21a544b
JW
9232011-07-19 Janus Weil <janus@gcc.gnu.org>
924
925 PR fortran/49708
926 * resolve.c (resolve_allocate_expr): Fix diagnostics for pointers.
927
15e2b595
TB
9282011-07-18 Tobias Burnus <burnus@net-b.de>
929
930 * trans-decl.c (gfc_build_qualified_array): Make coarray's
931 token TYPE_QUAL_RESTRICT.
932
d8155bf5
TB
9332011-07-18 Tobias Burnus <burnus@net-b.de>
934
935 * resolve.c (resolve_transfer): Mention defined I/O
936 in the diagnostic for alloc_comp/pointer_comp.
937
63523a1f
TB
9382011-07-17 Tobias Burnus <burnus@net-b.de>
939
940 PR fortran/34657
941 * module.c (check_for_ambiguous): Check whether the name is matches
942 the current program unit.
943
73cd74f8
TB
9442011-07-17 Tobias Burnus <burnus@net-b.de>
945
946 PR fortran/49624
947 * expr.c (gfc_check_pointer_assign): Fix checking for invalid
948 pointer bounds.
949
badd9e69
TB
9502011-07-16 Tobias Burnus <burnus@net-b.de>
951
952 * expr.c (gfc_ref_this_image): New function.
953 (gfc_is_coindexed): Use it.
954 * gfortran.h (gfc_ref_this_image): New prototype.
955 * resolve.c (resolve_deallocate_expr,
956 resolve_allocate_expr): Support alloc scalar coarrays.
957 * trans-array.c (gfc_conv_array_ref, gfc_array_init_size,
958 gfc_conv_descriptor_cosize, gfc_array_allocate,
959 gfc_trans_deferred_array): Ditto.
960 * trans-expr.c (gfc_conv_variable) Ditto.:
961 * trans-stmt.c (gfc_trans_deallocate): Ditto.
962 * trans-types.c (gfc_get_element_type, gfc_get_array_type_bounds
963 gfc_get_array_descr_info): Ditto.
964 * trans-decl.c (gfc_get_symbol_decl): Ditto.
965
932ebb94
JJ
9662011-07-11 Jakub Jelinek <jakub@redhat.com>
967
968 PR fortran/49698
969 * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Initialize
970 inner_size to gfc_index_one_node instead of integer_one_node.
971
89560a3c
TB
9722011-07-10 Tobias Burnus <burnus@net-b.de>
973
974 PR fortran/49690
975 * intrinsic.c (add_functions): Use BT_VOID for 2nd argument of SIGNAL.
976
4dc694b2
UB
9772011-07-09 Uros Bizjak <ubizjak@gmail.com>
978
979 PR fortran/48926
980 * expr.c (gfc_get_corank): Change return value to int.
981 * gfortran.h (gfc_get_corank): Update function prototype.
982
e3d748dd
MM
9832011-07-07 Mikael Morin <mikael.morin@sfr.fr>
984
985 PR fortran/49648
986 * resolve.c (resolve_symbol): Force resolution of function result's
987 array specification.
988
4054bc52
TB
9892011-07-07 Tobias Burnus <burnus@net-b.de>
990
991 * trans.c (gfc_allocate_with_status): Call _gfortran_caf_register
992 with NULL arguments for (new) stat=/errmsg= arguments.
993
badd9e69 9942011-07-06 Daniel Carrera <dcarrera@gmail.com>
ea6363a3
DC
995
996 * trans-array.c (gfc_array_allocate): Rename allocatable_array to
4dc694b2 997 allocatable. Rename function gfc_allocate_array_with_status to
ea6363a3
DC
998 gfc_allocate_allocatable_with_status. Update function call for
999 gfc_allocate_with_status.
1000 * trans-opemp.c (gfc_omp_clause_default_ctor): Rename function
1001 gfc_allocate_array_with_status to gfc_allocate_allocatable_with_status.
1002 * trans-stmt.c (gfc_trans_allocate): Update function call for
1003 gfc_allocate_with_status. Rename function gfc_allocate_array_with_status
1004 to gfc_allocate_allocatable_with_status.
1005 * trans.c (gfc_call_malloc): Add new parameter gfc_allocate_with_status
1006 so it uses the library for memory allocation when -fcoarray=lib.
1007 (gfc_allocate_allocatable_with_status): Renamed from
1008 gfc_allocate_array_with_status.
1009 (gfc_allocate_allocatable_with_status): Update function call for
1010 gfc_allocate_with_status.
1011 * trans.h (gfc_coarray_type): New enum.
1012 (gfc_allocate_with_status): Update prototype.
1013 (gfc_allocate_allocatable_with_status): Renamed from
1014 gfc_allocate_array_with_status.
1015 * trans-decl.c (generate_coarray_sym_init): Use the new constant
1016 GFC_CAF_COARRAY_ALLOC in the call to gfor_fndecl_caf_register.
1017
1a072294
RG
10182011-07-06 Richard Guenther <rguenther@suse.de>
1019
1020 * f95-lang.c (gfc_init_decl_processing):
1021 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1022
bc947511
JJ
10232011-07-04 Jakub Jelinek <jakub@redhat.com>
1024
1025 PR fortran/49623
1026 * gfortranspec.c (lang_specific_driver): Ignore options with
1027 CL_ERR_MISSING_ARG errors.
1028
49860194
JW
10292011-07-02 Janus Weil <janus@gcc.gnu.org>
1030
1031 PR fortran/49562
1032 * expr.c (gfc_check_vardef_context): Handle type-bound procedures.
1033
21ea4922
JJ
10342011-06-30 Jakub Jelinek <jakub@redhat.com>
1035
1036 PR fortran/49540
1037 * gfortran.h (gfc_constructor): Add repeat field.
1038 * trans-array.c (gfc_conv_array_initializer): Handle repeat > 1.
1039 * array.c (current_expand): Add repeat field.
1040 (expand_constructor): Copy repeat.
1041 * constructor.c (node_free, node_copy, gfc_constructor_get,
1042 gfc_constructor_lookup): Handle repeat field.
1043 (gfc_constructor_lookup_next, gfc_constructor_remove): New functions.
1044 * data.h (gfc_assign_data_value): Add mpz_t * argument.
1045 (gfc_assign_data_value_range): Removed.
1046 * constructor.h (gfc_constructor_advance): Removed.
1047 (gfc_constructor_lookup_next, gfc_constructor_remove): New prototypes.
1048 * data.c (gfc_assign_data_value): Add REPEAT argument, handle it and
1049 also handle overwriting a range with a single entry.
1050 (gfc_assign_data_value_range): Removed.
1051 * resolve.c (check_data_variable): Adjust gfc_assign_data_value
1052 call. Use gfc_assign_data_value instead of
1053 gfc_assign_data_value_expr.
1054
dbb7247b
JW
10552011-06-27 Janus Weil <janus@gcc.gnu.org>
1056
1057 PR fortran/49466
1058 * trans-array.c (structure_alloc_comps): Make sure sub-components
1059 and extended types are correctly deallocated.
1060
e0a8ecf2
AM
10612011-06-21 Andrew MacLeod <amacleod@redhat.com>
1062
1063 * trans-openmp.c: Add sync_ or SYNC__ to builtin names.
1064 * trans-stmt.c: Add sync_ or SYNC__ to builtin names.
1065 * trans-decl.c: Add sync_ or SYNC__ to builtin names.
1066
95f5c775
JW
10672011-06-21 Janus Weil <janus@gcc.gnu.org>
1068
1069 PR fortran/49112
1070 * class.c (gfc_find_derived_vtab): Make vtab and default initialization
1071 symbols SAVE_IMPLICIT.
1072
fea54935
TB
10732011-06-20 Tobias Burnus <burnus@net-b.de>
1074
1075 PR fortran/18918
1076 * gfortran.h (gfc_check_vardef_context): Update prototype.
1077 (iso_fortran_env_symbol): Handle derived types.
1078 (symbol_attribute): Add lock_comp.
1079 * expr.c (gfc_check_vardef_context): Add LOCK_TYPE check.
1080 * interface.c (compare_parameter, gfc_procedure_use): Handle
1081 LOCK_TYPE.
1082 (compare_actual_formal): Update
1083 gfc_check_vardef_context call.
1084 * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
1085 * intrinsic.c (check_arglist): Ditto.
1086 * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire): Ditto.
1087 * iso-fortran-env.def (ISOFORTRAN_LOCK_TYPE): Add.
1088 * intrinsic.texi (ISO_FORTRAN_ENV): Document LOCK_TYPE.
1089 * module.c (mio_symbol_attribute): Handle lock_comp.
1090 (create_derived_type): New function.
1091 (use_iso_fortran_env_module): Call it to handle LOCK_TYPE.
1092 * parse.c (parse_derived): Add constraint check for LOCK_TYPE.
1093 * resolve.c (resolve_symbol, resolve_lock_unlock): Add constraint
1094 checks for LOCK_TYPE.
1095 (gfc_resolve_iterator, resolve_deallocate_expr,
1096 resolve_allocate_expr, resolve_code, resolve_transfer): Update
1097 gfc_check_vardef_context call.
1098 * trans-stmt.h (gfc_trans_lock_unlock): New prototype.
1099 * trans-stmt.c (gfc_trans_lock_unlock): New function.
1100 * trans.c (trans_code): Handle LOCK and UNLOCK.
1101
3547d57e
JW
11022011-06-18 Janus Weil <janus@gcc.gnu.org>
1103
1104 PR fortran/49400
1105 * decl.c (gfc_match_procedure): Allow PROCEDURE declarations inside
1106 BLOCK constructs.
1107
b53abf71
JW
11082011-06-17 Janus Weil <janus@gcc.gnu.org>
1109
1110 PR fortran/48699
1111 * check.c (gfc_check_move_alloc): If 'TO' argument is polymorphic,
1112 make sure the vtab is present.
1113
67a7c837
JW
11142011-06-16 Janus Weil <janus@gcc.gnu.org>
1115
1116 PR fortran/49074
1117 * interface.c (gfc_extend_assign): Propagate the locus from the
1118 assignment to the type-bound procedure call.
1119
9c9eacb9
JW
11202011-06-16 Janus Weil <janus@gcc.gnu.org>
1121
1122 PR fortran/49417
1123 * module.c (mio_component): Make sure the 'class_ok' attribute is set
1124 for use-associated CLASS components.
1125 * parse.c (parse_derived): Check for 'class_ok' attribute.
1126 * resolve.c (resolve_fl_derived): Ditto.
1127
4f21f0da
TK
11282011-06-13 Thomas Koenig <tkoenig@gcc.gnu.org>
1129
1130 * frontend-passes.c (remove_trim): New function.
1131 (optimize_assignment): Use it.
1132 (optimize_comparison): Likewise. Return correct status
1133 for previous change.
1134
73039f89
TB
11352011-06-12 Tobias Burnus
1136
1137 PR fortran/49324
1138 * trans-expr.c (gfc_trans_assignment_1): Tell
1139 gfc_trans_scalar_assign to also deep-copy RHS nonvariables
1140 with allocatable components.
1141 * trans-array.c (gfc_conv_expr_descriptor): Ditto.
1142
b5ee9d1c
TK
11432011-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
1144
1145 * frontend-passes.c (optimize_assignment): Follow chains
1146 of concatenation operators to the end for removing trailing
1147 TRIMS for assignments.
1148
f5c01f5b
DC
11492011-06-10 Daniel Carrera <dcarrera@gmail.com>
1150
1151 * trans-decl.c (gfc_build_builtin_function_decls):
1152 Updated declaration of caf_sync_all and caf_sync_images.
1153 * trans-stmt.c (gfc_trans_sync): Function
1154 can now handle a "stat" variable that has an integer type
1155 different from integer_type_node.
1156
9ef0b98e
RG
11572011-06-09 Richard Guenther <rguenther@suse.de>
1158
1159 * trans.c (gfc_allocate_array_with_status): Mark error path
1160 as unlikely.
1161
5493aa17
TB
11622011-06-08 Tobias Burnus <burnus@net-b.de>
1163
1164 PR fortran/18918
1165 * gfortran.h (gfc_statement): Add ST_LOCK and ST_UNLOCK.
1166 (gfc_exec_op): Add EXEC_LOCK and EXEC_UNLOCK.
1167 (gfc_code): Add expr4.
1168 * match.h (gfc_match_lock, gfc_match_unlock): New prototypes.
1169 * match.c (gfc_match_lock, gfc_match_unlock,
1170 lock_unlock_statement): New functions.
1171 (sync_statement): Bug fix, avoiding double freeing.
1172 (gfc_match_if): Handle LOCK/UNLOCK statement.
1173 * parse.c (decode_statement, next_statement,
1174 gfc_ascii_statement): Ditto.
1175 * st.c (gfc_free_statement): Handle LOCK and UNLOCK.
1176 * resolve.c (resolve_lock_unlock): New function.
1177 (resolve_code): Call it.
1178 * dump-parse-tree.c (show_code_node): Handle LOCK/UNLOCK.
1179
009db074
RG
11802011-06-07 Richard Guenther <rguenther@suse.de>
1181
1182 * f95-lang.c (gfc_init_decl_processing): Do not set
1183 size_type_node or call set_sizetype.
1184
8d231ff2
TB
11852011-06-05 Tobias Burnus <burnus@net-b.de>
1186
1187 PR fortran/49255
1188 * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
1189 for F2008.
1190
142f5e4a
AS
11912011-06-05 Andreas Schmidt <andreas.schmidt.42@gmx.net>
1192 Thomas Koenig <tkoenig@gcc.gnu.org>
1193
1194 * dump-parse-tree.c (show_symbol): Don't dump namespace
1195 for ENTRY to avoid infinite recursion.
1196
cde3a7a9
AL
11972011-06-02 Asher Langton <langton2@llnl.gov>
1198
1199 PR fortran/49268
1200 * trans-decl.c (gfc_trans_deferred_vars): Treat assumed-size Cray
1201 pointees as AS_EXPLICIT.
1202
11126dc0
AL
12032011-06-02 Asher Langton <langton2@llnl.gov>
1204
1205 PR fortran/37039
1206 * decl.c (variable_decl): Merge current_as before copying to cp_as.
1207
162b5a21
SK
12082011-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
1209
1210 PR fortran/49265
1211 * decl.c (gfc_match_modproc): Allow for a double colon in a module
1212 procedure statement.
1213 * parse.c ( decode_statement): Deal with whitespace around :: in
1214 gfc_match_modproc.
142f5e4a 1215
da661a58
TB
12162011-05-31 Tobias Burnus <burnus@net-b.de>
1217
1218 PR fortran/18918
1219 * intrinsic.c (klass): Add CLASS_ATOMIC.
1220 (add_subroutines): Add atomic_ref/atomic_define.
1221 * intrinsic.texi (ATOMIC_REF, ATOMIC_DEFINE): Document.
1222 * intrinsic.h (gfc_check_atomic_def, gfc_check_atomic_ref,
1223 gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New prototypes.
1224 * gfortran.h (gfc_isym_id): Add GFC_ISYM_ATOMIC_DEF
1225 and GFC_ISYM_ATOMIC_REF.
1226 (gfc_atomic_int_kind, gfc_atomic_logical_kind): New global vars.
1227 * iresolve.c (gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New
1228 functions.
1229 * check.c (gfc_check_atomic, gfc_check_atomic_def,
1230 gfc_check_atomic_ref): New functions.
1231 * iso-fortran-env.def (ISOFORTRANENV_FILE_ATOMIC_INT_KIND,
1232 ISOFORTRANENV_FILE_ATOMIC_LOGICAL_KIND): Change kind value.
1233 * trans-intrinsic.c (conv_intrinsic_atomic_def,
1234 conv_intrinsic_atomic_ref, gfc_conv_intrinsic_subroutine): New
1235 functions.
1236 (conv_intrinsic_move_alloc) Renamed from
1237 gfc_conv_intrinsic_move_alloc - and made static.
1238 * trans.h (gfc_conv_intrinsic_move_alloc): Remove.
1239 (gfc_conv_intrinsic_subroutine) Add prototype.
1240 * trans.c (trans_code): Call gfc_conv_intrinsic_subroutine.
1241 * trans-types (gfc_atomic_int_kind, gfc_atomic_logical_kind): New
1242 global vars.
1243 (gfc_init_kinds): Set them.
1244
d73b65b6
TB
12452011-05-31 Tobias Burnus <burnus@net-b.de>
1246
1247 PR fortran/18918
1248 * trans-array.c (gfc_trans_dummy_array_bias): Handle
1249 cobounds of assumed-shape arrays.
1250
9f3761c5
TB
12512011-05-31 Tobias Burnus <burnus@net-b.de>
1252
1253 PR fortran/18918
1254 * resolve.c (resolve_fl_variable): Handle static coarrays
1255 with non-constant cobounds.
1256
5e7bb2b9
JW
12572011-05-29 Janus Weil <janus@gcc.gnu.org>
1258
1259 PR fortran/47601
1260 * module.c (mio_component_ref): Handle components of extended types.
1261 * symbol.c (gfc_find_component): Return is sym is NULL.
1262
427180d2
TB
12632011-05-29 Tobias Burnus <burnus@net-b.de>
1264
1265 PR fortran/18918
1266 * interface.c (compare_parameter): Add check for passing coarray
1267 to allocatable noncoarray dummy.
1268
8a5c4899
TB
12692011-05-29 Tobias Burnus <burnus@net-b.de>
1270 Richard Guenther <rguenther@suse.de>
1271
1272 PR fortran/18918
1273 * trans-types.c (gfc_get_nodesc_array_type): Don't mess with
1274 the type's TREE_TYPE.
1275 * trans-array.c (gfc_conv_array_ref): Use TYPE_MAIN_VARIANT.
1276 * trans.c (gfc_build_array_ref): Ditto.
1277
5aacb11e
TB
12782011-05-27 Tobias Burnus <burnus@net-b.de>
1279
1280 PR fortran/18918
1281 * check.c (gfc_check_associated, gfc_check_null): Add coindexed check.
1282 * match.c (gfc_match_nullify): Ditto.
1283 * resolve.c (resolve_deallocate_expr): Ditto.
1284 * trans-types.c (gfc_get_nodesc_array_type): Don't set restricted
1285 for nonpointers.
1286
2514987f
TB
12872011-05-27 Tobias Burnus <burnus@net-b.de>
1288
1289 PR fortran/48820
1290 * gfortran.h (gfc_isym_id): Add GFC_ISYM_RANK.
1291 * intrinsic.c (add_functions): Add rank intrinsic.
1292 (gfc_check_intrinsic_standard): Handle GFC_STD_F2008_TR.
1293 * intrinsic.h (gfc_simplify_rank, gfc_check_rank): Add prototypes.
1294 * simplify.c (gfc_simplify_rank): New function.
1295 * intrinsic.texi (RANK): Add description for rank intrinsic.
1296 * check.c (gfc_check_rank): New function.
1297
aed5574e
PT
12982011-05-26 Paul Thomas <pault@gcc.gnu.org>
1299 Thomas Koenig <tkoenig@gcc.gnu.org>
1300
1301 PR fortran/48955
1302 * trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET
1303 changed to GFC_ENABLE_REVERSE.
1304 * trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed
1305 to GFC_INHIBIT_REVERSE.
1306 * gfortran.h : Enum gfc_reverse is now GFC_ENABLE_REVERSE,
1307 GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE.
1308 * dependency.c (gfc_dep_resolver): Change names for elements of
1309 gfc_reverse as necessary. Change the logic so that forward
1310 dependences are remembered as well as backward ones. When both
1311 have appeared, force a temporary.
1312
b8ff4e88
TB
13132011-05-26 Tobias Burnus <burnus@net-b.de>
1314
1315 PR fortran/18918
1316 * trans-array.c (gfc_conv_array_ref): Handle pointer coarrays.
1317 * trans-decl.c (has_coarray_vars, caf_init_block,
1318 gfor_fndecl_caf_register): New file-global variables.
1319 (gfc_finish_var_decl): Make sure that coarrays in main are static.
1320 (gfc_build_qualified_array): Generate coarray token variable.
1321 (gfc_get_symbol_decl): Don't use a static initializer for coarrays.
1322 (gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register.
1323 (gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip for
1324 static coarrays.
1325 (generate_local_decl): Check for local coarrays.
1326 (create_main_function): SYNC ALL before calling MAIN.
1327 (generate_coarray_sym_init): Register static coarray.
1328 (generate_coarray_init): Generate CAF registering constructor
1329 function.
1330 (gfc_generate_function_code): Call it, if needed, do not create
1331 cgraph twice.
1332 (gfc_generate_module_vars, gfc_process_block_locals): Call
1333 generate_coarray_init.
1334 * trans-types.c (gfc_get_nodesc_array_type): Generate pointers for
1335 -fcoarray=lib.
1336 * trans.h (gfor_fndecl_caf_register): New variable.
1337 (lang_type): New element caf_token.
1338 (GFC_TYPE_ARRAY_CAF_TOKEN): New macro.
1339
1ed1641d
JM
13402011-05-24 Joseph Myers <joseph@codesourcery.com>
1341
1342 * Make-lang.in (GFORTRAN_D_OBJS): Remove prefix.o.
1343 (gfortran$(exeext)): Use libcommon-target.a.
1344
42a2717c
TK
13452011-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>
1346
1347 * frontend-passes.c (cfe_register_funcs): Also register
1348 character functions if their charlens are known and constant.
1349 Also register allocatable functions.
1350
43a9eec7
JW
13512011-05-21 Janus Weil <janus@gcc.gnu.org>
1352
1353 PR fortran/48699
1354 * match.c (select_type_set_tmp): Make the temporary ALLOCATABLE if the
1355 selector is ALLOCATABLE.
1356
54381af7
JW
13572011-05-20 Janus Weil <janus@gcc.gnu.org>
1358
1359 PR fortran/48706
1360 * module.c (write_dt_extensions): Do not write extended types which
1361 are local to a subroutine.
1362
2691e6d7
JM
13632011-05-20 Joseph Myers <joseph@codesourcery.com>
1364
1365 * Make-lang.in (GFORTRAN_D_OBJS): Remove version.o and intl.o.
1366
57b4d355
JB
13672011-05-20 Janne Blomqvist <jb@gcc.gnu.org>
1368
b8ff4e88
TB
1369 * gfortran.texi (set_fpe): Update documentation.
1370 * invoke.texi (-ffpe-trap): Likewise.
1371 * libgfortran.h (GFC_FPE_PRECISION): Rename to GFC_FPE_INEXACT.
1372 * options.c (gfc_handle_fpe_trap_option): Handle inexact and make
1373 precision an alias for it.
57b4d355
JB
1374
13752011-05-19 Tobias Burnus <burnus@net-b.de>
4409de24
TB
1376
1377 PR fortran/18918
1378 * trans-types.c (gfc_get_element_type): Handle scalar coarrays.
1379 (gfc_get_nodesc_array_type): Make a variant-type copy for scalar
1380 coarrays.
1381 * trans.c (gfc_build_array_ref): Return original type not variant
1382 copy for scalar coarrays.
1383 * trans-array.c (gfc_conv_array_ref): Ditto.
1384
54381af7
JW
13852011-05-18 Janus Weil <janus@gcc.gnu.org>
1386
1387 PR fortran/48700
1388 * trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): Deallocate 'TO'
1389 argument to avoid memory leaks.
1390
20c97ec9
TB
13912011-05-16 Tobias Burnus <burnus@net-b.de>
1392
1393 * gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR.
1394 (Fortran 2008 status): Multi-image support for coarrays.
1395 (TR 19113 status): New section.
1396
4ca9939b
TB
13972011-05-15 Tobias Burnus <burnus@net-b.de>
1398
1399 PR fortran/18918
1400 actual argument is not an array; rank mismatch is diagnosted later.
1401 * trans-decl.c (gfc_get_symbol_decl, gfc_trans_deferred_vars): Handle
1402 scalar coarrays.
1403 * trans-types.c (gfc_get_array_type_bounds): Ditto.
1404
29eabd78
JR
14052011-05-15 Joern Rennecke <amylaar@spamcop.net>
1406
1407 PR middle-end/46500
1408 * trans-types.c: Include "tm.h".
1409 [0] (c_size_t_size): Remove.
1410
817f24d9
JB
14112011-05-15 Janne Blomqvist <jb@gcc.gnu.org>
1412
1413 PR libfortran/48915
1414 * gfortran.texi (_gfortran_set_options): Even though -fbacktrace
1415 is now the default, the library defaults to backtracing disabled.
1416
ade2e403
TB
14172011-05-14 Tobias Burnus <burnus@net-b.de>
1418
1419 * lang.opt (fdump-core): Re-add as ignored option
1420 for backward compatibility.
1421
7daa7b1d
JB
14222011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
1423
1424 PR libfortran/48915
1425 * gfortran.texi: Update mixed-language programming section
1426 reflecting the removal of the fdump-core option, and that
1427 -fbacktrace is now enabled by default.
1428
222c2a63
TK
14292011-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1430
1431 PR fortran/22572
1432 * frontend-passes.c (cfe_register_funcs): Also register functions
1433 for potential elimination if the rank is > 0, the shape is unknown
1434 and reallocate on assignment is active.
1435 (create_var): For rank > 0 functions with unknown shape, create
1436 an allocatable temporary.
1437
e6242bc7
TB
14382011-05-14 Tobias Burnus <burnus@net-b.de>
1439
1440 PR fortran/18918
1441 * interface.c (compare_parameter): Skip diagnostic if
1442 actual argument is not an array; rank mismatch is diagnosted later.
1443
2d8c9ad5
TB
14442011-05-14 Tobias Burnus <burnus@net-b.de>
1445
1446 * options.c (gfc_init_options, gfc_post_options): Enable
1447 -fstack-arrays by default if -Ofast is used.
1448 * invoke.texi (-fstack-arrays): Document this.
1449
de8bd142
JB
14502011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
1451
2d8c9ad5
TB
1452 PR libfortran/48915
1453 * gfortran.h (gfc_option_t): Remove flag_dump_core.
1454 * gfortran.texi (GFORTRAN_ERROR_DUMPCORE): Remove section.
1455 (GFORTRAN_ERROR_BACKTRACE): Document that it's enabled by default.
1456 * intrinsic.texi (ABORT): Remove explanation of -fdump-core.
1457 * invoke.texi: Remove -fdump-core, document that -fbacktrace is
1458 enabled by default.
1459 * lang.opt: Remove -fdump-core.
1460 * options.c (gfc_init_options): Make backtrace default to enabled,
1461 remove dump_core.
1462 (gfc_handle_option): Remove OPT_fdump-core.
1463 * trans-decl.c: Pass a 0 to preserve ABI.
de8bd142 1464
1028b2bd
JB
14652011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
1466
2d8c9ad5 1467 * gfortran.texi: Remove GFORTRAN_USE_STDERR documentation.
1028b2bd 1468
75933b07
TB
14692011-05-13 Tobias Burnus <burnus@net-b.de>
1470
1471 PR fortran/48972
1472 * io.c (resolve_tag_format, resolve_tag): Make sure
1473 that the string is of default kind.
1474 (gfc_resolve_inquire): Also resolve decimal tag.
1475
13157033
TB
14762011-05-12 Tobias Burnus <burnus@net-b.de>
1477
1478 PR fortran/48972
1479 * resolve.c (resolve_intrinsic): Don't resolve module
1480 intrinsics multiple times.
1481
0126595f
TB
14822011-05-11 Tobias Burnus <burnus@net-b.de>
1483
1484 PR fortran/48889
1485 * expr.c (gfc_is_constant_expr): Use e->value.function.esym
1486 instead of e->symtree->n.sym, if available.
1487
c99c0026
EB
14882011-05-07 Eric Botcazou <ebotcazou@adacore.com>
1489
1490 * f95-lang.c (global_bindings_p): Return bool and simplify.
1491
6f4d39bb
TB
14922011-05-07 Tobias Burnus <burnus@net-b.de>
1493
1494 PR fortran/18918
1495 PR fortran/48919
1496 * trans.h: Move gfc_init_coarray_decl prototype ...
1497 * gfortran.h: ... to here.
1498 * parse.c (translate_all_program_units): Call gfc_init_coarray_decl.
1499 (gfc_parse_file): Update translate_all_program_units call.
1500 * trans-decl.c (gfc_init_coarray_decl): Fix variable declaration,
1501 new argument whether DECL_EXTERNAL should be used.
1502 (create_main_function): Update gfc_init_coarray_decl call.
1503 * trans-intrinsic.c (trans_this_image, trans_image_index,
1504 conv_intrinsic_cobound): Ditto.
1505
c81e79b5
TB
15062011-05-06 Tobias Burnus <burnus@net-b.de>
1507
1508 PR fortran/18918
1509 * trans-array.c (gfc_walk_variable_expr): Continue walking
1510 for scalar coarrays.
1511 * trans-intrinsic.c (convert_element_to_coarray_ref): New function.
1512 (trans_this_image, trans_image_index, conv_intrinsic_cobound): Use it.
1513 (trans_this_image): Fix algorithm.
1514 * trans-types.c (gfc_get_element_type, gfc_get_array_descriptor_base,
1515 gfc_sym_type): Handle scalar coarrays.
1516
2e8d9212
TB
15172011-05-06 Tobias Burnus <burnus@net-b.de>
1518
1519 PR fortran/48858
1520 PR fortran/48820
1521 * lang.opt (std=f2008tr): New.
1522 * libgfortran.h (GFC_STD_F2008_TR): New macro constant.
1523 * decl.c (verify_c_interop_param): Allow OPTIONAL in BIND(C)
1524 procedures for -std=f2008tr/gnu/legacy.
1525 (gfc_match_import): Set sym to NULL.
1526 * options.c (set_default_std_flags,gfc_handle_option): Handle
1527 -std=f2008tr.
1528 * invoke.texi (-std=): Document -std=f2008tr.
1529
3d528853
NF
15302011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1531
1532 * trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label.
1533 * trans-io.c (add_case): Likewise.
1534 * trans-stmt.c (gfc_trans_integer_select): Likewise.
1535 (gfc_trans_character_select): Likewise.
1536
907a08d9
EB
15372011-05-05 Eric Botcazou <ebotcazou@adacore.com>
1538
1539 * trans-decl.c (trans_function_start): Do not set
1540 dont_save_pending_sizes_p.
1541
42375e2e
NF
15422011-05-04 Nathan Froyd <froydnj@codesourcery.com>
1543
1544 * trans.h (gfc_chainon_list): Delete.
1545 * trans.c (gfc_chainon_list): Delete.
1546
7a994646
TB
15472011-05-04 Tobias Burnus <burnus@net-b.de>
1548
1549 PR fortran/48864
1550 * invoke.texi (fno-protect-parens): Document
1551 that -Ofast implies -fno-protect-parens.
1552 * options.c (gfc_init_options, gfc_post_options):
1553 Make -Ofast imply -fno-protect-parens.
1554
6c32445b
NF
15552011-05-04 Nathan Froyd <froydnj@codesourcery.com>
1556
1557 * trans-decl.c (build_library_function_decl_1): Call
1558 build_function_type_vec. Adjust argument list building accordingly.
1559 * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.
1560 * trans-types.c (gfc_get_function_type): Likewise.
1561
df09d1d5
RG
15622011-05-04 Richard Guenther <rguenther@suse.de>
1563
1564 * trans-array.c (gfc_trans_array_constructor_value): Use
1565 size_int for bounds of range types.
1566 (gfc_trans_array_constructor_value): Use size_type_node
1567 for memcpy argument.
1568 * trans-common.c (build_field): Use gfc_charlen_type_node
1569 for lengths.
1570 * trans-openmp.c (gfc_trans_omp_clauses): Do not pass NULL
1571 as type to build_int_cst.
1572 * trans-const.c (gfc_build_string_const): Use size_int
1573 for bounds of range types.
1574 (gfc_build_wide_string_const): Likewise.
1575 * trans-stmt.c (gfc_trans_label_assign): Use gfc_charlen_type_node
1576 for lengths.
1577 (gfc_trans_character_select): Likewise.
1578 (gfc_trans_character_select): Do not pass NULL
1579 as type to build_int_cst.
1580 (gfc_trans_character_select): Use size_int for bounds of range types.
1581 * trans-io.c (gfc_build_io_library_fndecls): Likewise.
1582 (add_case): Do not pass NULL as type to build_int_cst.
1583 (transfer_expr): Likewise.
1584 (transfer_array_desc): Likewise.
1585 * trans-decl.c (gfc_add_assign_aux_vars): Use gfc_charlen_type_node
1586 for lengths.
1587 (gfc_trans_assign_aux_var): Likewise.
1588 (create_main_function): Use size_int for bounds of range types.
1589 * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): Do not pass
1590 NULL as type to build_int_cst.
1591 (gfc_conv_intrinsic_spacing): Likewise.
1592 (gfc_conv_intrinsic_rrspacing): Likewise.
1593 (gfc_conv_intrinsic_len): Use gfc_charlen_type_node for lengths.
1594
d35936ab
RG
15952011-05-04 Richard Guenther <rguenther@suse.de>
1596
1597 * trans-types.c (gfc_get_array_type_bounds): Remove zero notrunc
1598 argument to int_const_binop.
1599
0e3184ac
TB
16002011-05-03 Tobias Burnus <burnus@net-b.de>
1601
1602 PR fortran/18918
1603 * trans-intrinsic.c (trans_this_image): Implement version with
1604 coarray argument.
1605 (conv_intrinsic_cobound): Simplify code.
1606 (gfc_conv_intrinsic_function): Call trans_this_image for
1607 this_image(coarray) except for -fcoarray=single.
1608
5a17346a
SK
16092011-05-02 Steven G. Kargl <kargl@gcc.gnu.org>
1610
1611 PR fortran/48720
1612 * gfortran.texi: Document the 'Q' exponent-letter extension.
1613 * invoke.texi: Document -Wreal-q-constant.
1614 * lang.opt: Add -Wreal-q-constant option.
1615 * gfortran.h: Add warn_real_q_constant to option struct.
1616 * primary.c (match_real_constant): Use it. Accept 'Q' as
1617 exponent-letter for REAL(16) real-literal-constant with a
1618 fallback to REAL(10) or error if REAL(10) is not available.
1619 * options.c (gfc_init_options, set_Wall) Set it.
1620 (gfc_handle_option): Handle new option.
1621
03cf9837
TK
16222011-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
1623
1624 * dump-prase-tree.c (show_code_node): Set the current
1625 namespace to the BLOCK before displaying it; restore
1626 afterwards.
1627
4e2cf5f5
TB
16282011-04-30 Tobias Burnus <burnus@net-b.de>
1629
2ad7ae18 1630 PR fortran/48821
4e2cf5f5
TB
1631 * decl.c (gfc_match_import): Don't try to find the
1632 symbol if already found.
1633
b972d95b
PT
16342011-04-30 Paul Thomas <pault@gcc.gnu.org>
1635
1636 PR fortran/48746
1637 * trans-expr.c (fcncall_realloc_result): Set the bounds and the
1638 offset so that the lbounds are one.
1639 (gfc_trans_arrayfunc_assign): Add rank to arguments of above.
1640
7097b041
PT
16412011-04-29 Paul Thomas <pault@gcc.gnu.org>
1642
1643 PR fortran/48462
1644 * trans-expr.c (arrayfunc_assign_needs_temporary): Deal with
1645 automatic reallocation when the lhs is a target.
1646
1647 PR fortran/48746
1648 * trans-expr.c (fcncall_realloc_result): Make sure that the
1649 result dtype field is set before the function call.
1650
12578be7
TB
16512011-04-29 Tobias Burnus <burnus@net-b.de>
1652
1653 PR fortran/48810
1654 * resolve.c (resolve_typebound_generic_call): Don't check access
1655 flags of the specific function.
1656
1657 PR fortran/48800
1658 * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED
1659 to AS_ASSUMED_SHAPE for function results.
1660 (resolve_fl_var_and_proc): Print also for function results with
1661 AS_DEFERRED an error, if they are not a pointer or allocatable.
1662 (resolve_types): Make sure arguments of procedures in interface
1663 blocks are resolved.
1664
fa5e5a76
MM
16652011-04-29 Michael Matz <matz@suse.de>
1666
1667 * options.c (options.c): Set warn_maybe_uninitialized.
1668
a300121e
TB
16692011-04-28 Tobias Burnus <burnus@net-b.de>
1670
1671 PR fortran/48112
1672 * resolve.c (resolve_fl_var_and_proc): Print diagnostic of
1673 function results only once.
1674 (resolve_symbol): Always resolve function results.
1675
1676 PR fortran/48279
1677 * expr.c (gfc_check_vardef_context): Fix handling of generic
1678 EXPR_FUNCTION.
1679 * interface.c (check_interface0): Reject internal functions
1680 in generic interfaces, unless -std=gnu.
1681
fa9f7c70
TB
16822011-04-27 Tobias Burnus <burnus@net-b.de>
1683
1684 PR fortran/48788
1685 * resolve.c (resolve_global_procedure): Error recovery -
1686 avoid segfault for (non)character-returning functions.
1687
3a1fd30c
TK
16882011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org>
1689
1690 * decl.c (gfc_match_end): Check that the block name starts
1691 with "block@".
1692 * parse.c (gfc_build_block_ns): Make block names unique by
1693 numbering them.
1694
5a87ca71
TK
16952011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org>
1696
1697 * frontend-passes.c (inserted_block): New variable.
1698 (changed_statement): Likewise.
1699 (create_var): Encase statement to be operated on in a BLOCK.
1700 Adjust code insertion for BLOCK.
1701 (cfe_code): Set inserted_block and changed_statement to NULL.
1702
c49eaa23
TB
17032011-04-23 Tobias Burnus <burnus@net-b.de>
1704
1705 PR fortran/18918
1706 * module.c (mio_array_spec): Set as->cotype on reading.
1707 * resolve.c (resolve_allocate_expr): Fix allocating coarray
1708 components.
1709
82358e09
TK
17102011-04-21 Thomas Koenig <tkoenig@gcc.gnu.org>
1711
1712 PR fortran/48405
1713 * frontend_passes (cfe_register_funcs): Remove workaround for DO
1714 loops.
1715 (gfc_code_walker): Make sure the pointer to the current
1716 statement doen't change when other statements are inserted.
1717
e85df92e
TB
17182011-04-21 Tobias Burnus <burnus@net-b.de>
1719
1720 PR fortran/18918
1721 * array.c (gfc_match_array_spec): Fix maximal rank(+corank) check.
1722
04695783
JM
17232011-04-20 Jim Meyering <meyering@redhat.com>
1724
1725 * expr.c (free_expr0): Remove useless if-before-free.
1726 * gfortranspec.c (lang_specific_pre_link): Likewise.
1727 * interface.c (gfc_extend_expr): Likewise.
1728 * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
1729
8721a387
TB
17302011-04-19 Tobias Burnus <burnus@net-b.de>
1731
1732 PR fortran/48588
1733 PR fortran/48692
1734
1735 * module.c (fix_mio_expr): Commit created symbol.
1736
f7d2e5d4
JB
17372011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
1738
1739 * scanner.c (load_file): Use XCNEWVAR instead of xcalloc.
1740
6c13c5f2
JB
17412011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
1742
1743 * frontend-passes.c (gfc_run_passes): Use XDELETEVEC instead of
1744 free.
1745
93acb62c
JB
17462011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
1747
1748 * misc.c (gfc_getmem): Remove function.
1749 * gfortran.h: Remove gfc_getmem prototype. Replace gfc_getmem
1750 usage with XCNEW or XCNEWVEC.
1751 * expr.c (gfc_check_assign_symbol): Replace gfc_getmem usage with
1752 XCNEW or XCNEWVEC.
1753 * options.c (gfc_handle_module_path_options)
1754 (gfc_get_option_string): Likewise.
1755 * resolve.c (gfc_resolve_forall): Likewise.
1756 * simplify.c (simplify_transformation_to_array): Likewise.
1757 * target-memory.c (gfc_target_interpret_expr): Likewise.
1758 * trans-common.c (get_segment_info, copy_equiv_list_to_ns)
1759 (get_init_field): Likewise.
1760 * trans-expr.c (gfc_conv_statement_function): Likewise.
1761 * trans-io.c (nml_full_name): Likewise.
1762 * trans-stmt.c (gfc_trans_forall_1): Likewise.
1763 * scanner.c (load_file): Replace gfc_getmem usage with xcalloc.
1764
9714ca72
TB
17652011-04-19 Tobias Burnus <burnus@net-b.de>
1766
1767 PR fortran/48588
1768 * parse.c (resolve_all_program_units): Skip modules.
1769 (translate_all_program_units): Handle modules.
1770 (gfc_parse_file): Defer code generation for modules.
1771
7c589800
MJ
17722011-04-19 Martin Jambor <mjambor@suse.cz>
1773
1774 * trans-decl.c (gfc_generate_function_code): Call cgraph_create_node
1775 instead of cgraph_get_create_node.
1776
513db953
JM
17772011-04-18 Jim Meyering <meyering@redhat.com>
1778
1779 remove now-unused definition of gfc_free
1780 * misc.c (gfc_free): Remove function.
1781 * gfortran.h (gfc_free): Remove its prototype.
1782
cede9502
JM
17832011-04-18 Jim Meyering <meyering@redhat.com>
1784
1785 convert each use of gfc_free (p) to free (p)
1786 Do that by running this command:
1787 perl -pi -e 's/\bgfc_free ?\(/free (/' \
1788 $(git grep -El '\bgfc_free ?\(')
1789 which also corrects the few uses that lacked a space between
1790 the function name and the open parenthesis.
1791 Manually undo the change to the function definition itself
1792 and its prototype. They'll be removed next.
1793 * array.c (gfc_free_array_spec, gfc_set_array_spec): s/gfc_free/free/
1794 * constructor.c (node_free): Likewise.
1795 * cpp.c (dump_queued_macros): Likewise.
1796 * data.c (gfc_assign_data_value): Likewise.
1797 * decl.c (free_variable, free_value, gfc_free_data): Likewise.
1798 (gfc_free_data_all, match_old_style_init): Likewise.
1799 (gfc_set_constant_character_len, gfc_free_enum_history, NUM_DECL):
1800 Likewise.
1801 (gfc_match_modproc): Likewise.
1802 * dependency.c (check_section_vs_section): Likewise.
1803 * error.c (gfc_pop_error, gfc_free_error): Likewise.
1804 * expr.c (free_expr0, gfc_free_expr, gfc_free_actual_arglist): Likewise.
1805 (gfc_free_ref_list, gfc_replace_expr, gfc_copy_ref): Likewise.
1806 (find_substring_ref, gfc_simplify_expr, gfc_check_assign_symbol):
1807 Likewise.
1808 * frontend-passes.c (gfc_run_passes, cfe_expr_0): Likewise.
1809 (strip_function_call, optimize_comparison): Likewise.
1810 * interface.c (gfc_free_interface, arginfo, check_interface0): Likewise.
1811 (CHECK_OS_COMPARISON, gfc_extend_assign, gfc_free_formal_arglist):
1812 Likewise.
1813 * intrinsic.c (gfc_intrinsic_done_1, gfc_convert_type_warn): Likewise.
1814 (gfc_convert_chartype): Likewise.
1815 * io.c (gfc_free_open, compare_to_allowed_values, gfc_free_close):
1816 Likewise.
1817 (gfc_free_filepos, gfc_free_dt, gfc_free_inquire): Likewise.
1818 * match.c (gfc_free_iterator, gfc_match_associate): Likewise.
1819 (gfc_free_alloc_list, gfc_free_namelist, gfc_free_equiv_until):
1820 Likewise.
1821 (free_case, gfc_free_forall_iterator): Likewise.
1822 * misc.c: Likewise.
1823 * module.c (free_pi_tree, resolve_fixups, free_rename): Likewise.
1824 (free_true_name, peek_atom, mio_allocated_wide_string): Likewise.
1825 (mio_pool_string, mio_internal_string, mio_gmp_integer): Likewise.
1826 (mio_gmp_real, mio_expr, mio_typebound_proc): Likewise.
1827 (mio_full_typebound_tree, skip_list, load_equiv): Likewise.
1828 (free_written_common, gfc_use_module, gfc_free_use_stmts): Likewise.
1829 * openmp.c (gfc_free_omp_clauses): Likewise.
1830 * options.c (gfc_post_options): Likewise.
1831 * parse.c (select_type_pop, parse_omp_structured_block): Likewise.
1832 * primary.c (gfc_free_structure_ctor_component): Likewise.
1833 * resolve.c (resolve_structure_cons, check_host_association): Likewise.
1834 (gfc_resolve_forall, resolve_equivalence): Likewise.
1835 * scanner.c (gfc_scanner_done_1, gfc_release_include_path): Likewise.
1836 (gfc_define_undef_line, preprocessor_line, include_line): Likewise.
1837 (load_file, gfc_read_orig_filename): Likewise.
1838 * simplify.c (simplify_transformation_to_array): Likewise.
1839 (gfc_simplify_ibits, simplify_shift, gfc_simplify_ishftc, STRING):
1840 Likewise.
1841 (gfc_simplify_compiler_options): Likewise.
1842 * st.c (gfc_free_statement, gfc_free_statements): Likewise.
1843 (gfc_free_association_list): Likewise.
1844 * symbol.c (free_components, gfc_free_st_label, free_st_labels):
1845 Likewise.
1846 (gfc_delete_symtree, gfc_free_symbol, gfc_undo_symbols): Likewise.
1847 (free_old_symbol, gfc_commit_symbols, free_tb_tree): Likewise.
1848 (free_common_tree, free_uop_tree, free_sym_tree): Likewise.
1849 (gfc_free_dt_list, gfc_free_equiv_infos, gfc_free_equiv_lists):
1850 Likewise.
1851 (gfc_free_finalizer, gfc_free_charlen, free_entry_list): Likewise.
1852 (gfc_free_namespace): Likewise.
1853 * trans-array.c (gfc_free_ss, gfc_trans_array_bound_check): Likewise.
1854 (gfc_conv_array_ref, gfc_conv_ss_startstride): Likewise.
1855 (gfc_trans_dummy_array_bias, gfc_conv_array_parameter): Likewise.
1856 * trans-common.c (get_init_field, create_common): Likewise.
1857 * trans-const.c (gfc_build_wide_string_const): Likewise.
1858 (gfc_conv_string_init): Likewise.
1859 * trans-decl.c (gfc_generate_function_code): Likewise.
1860 * trans-expr.c (gfc_conv_substring, gfc_free_interface_mapping):
1861 Likewise.
1862 (SCALAR_POINTER, gfc_conv_statement_function): Likewise.
1863 (gfc_trans_subarray_assign): Likewise.
1864 * trans-intrinsic.c (conv_generic_with_optional_char_arg): Likewise.
1865 * trans-io.c (gfc_trans_io_runtime_check, set_string): Likewise.
1866 (transfer_namelist_element, transfer_array_component): Likewise.
1867 * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
1868 * trans-stmt.c (cleanup_forall_symtrees, gfc_trans_forall_1): Likewise.
1869 * trans.c (trans_runtime_error_vararg, gfc_restore_backend_locus):
1870 Likewise.
1871
5cc124fe
JM
18722011-04-15 Jim Meyering <meyering@redhat.com>
1873
1874 gfortran: remove cpp definition of free, ...
1875 in preparation for the s/gfc_free/free/ transformation.
1876 * gfortran.h (free): Remove macro definition that would otherwise
1877 prevent direct use of the function.
1878
e84b920c
TB
18792011-04-18 Tobias Burnus <burnus@net-b.de>
1880
1881 PR fortran/18918
1882 * array.c (gfc_match_array_ref): Check for too many codimensions.
1883 * check.c (gfc_check_image_index): Check number of elements
1884 in SUB argument.
1885 * simplify.c (gfc_simplify_image_index): Remove unreachable checks.
1886
5af07930
TB
18872011-04-18 Tobias Burnus <burnus@net-b.de>
1888
1889 PR fortran/18918
1890 * iresolve.c (gfc_resolve_image_index): Set ts.type.
1891 * simplify.c (gfc_simplify_image_index): Don't abort if the bounds
1892 are not known at compile time and handle -fcoarray=lib.
1893 * trans-intrinsics.c (gfc_conv_intrinsic_function): Handle
1894 IMAGE_INDEX.
1895 (conv_intrinsic_cobound): Fix comment typo.
1896 (trans_this_image): New function.
1897 * trans-array.c (gfc_unlikely): Move to trans.c.
1898 * trans.c (gfc_unlikely): Function moved from trans-array.c.
1899 (gfc_trans_runtime_check): Use it.
1900 * trans-io.c (gfc_trans_io_runtime_check): Ditto.
1901 * trans.h (gfc_unlikely): Add prototype.
1902
12df8d01
PT
19032011-04-18 Paul Thomas <pault@gcc.gnu.org>
1904
1905 PR fortran/48462
1906 * trans-expr.c (fcncall_realloc_result): Renamed version of
1907 realloc_lhs_bounds_for_intrinsic_call that does not touch the
1908 descriptor bounds anymore but makes a temporary descriptor to
1909 hold the result.
1910 (gfc_trans_arrayfunc_assign): Modify the reference to above
1911 renamed function.
1912
0a826db3
TB
19132011-05-17 Tobias Burnus <burnus@net-b.de>
1914
1915 PR fortran/48624
1916 * trans-decl.c (gfc_get_extern_function_decl): Fix decl
1917 for external procedures with proc arguments.
1918
c76f8d52
MM
19192011-04-15 Michael Matz <matz@suse.de>
1920
1921 * trans-array.c (toplevel): Include gimple.h.
1922 (gfc_trans_allocate_array_storage): Check flag_stack_arrays,
1923 properly expand variable length arrays.
1924 (gfc_trans_auto_array_allocation): If flag_stack_arrays create
1925 variable length decls and associate them with their scope.
1926 * gfortran.h (gfc_option_t): Add flag_stack_arrays member.
1927 * options.c (gfc_init_options): Handle -fstack_arrays option.
1928 * lang.opt (fstack-arrays): Add option.
1929 * invoke.texi (Code Gen Options): Document it.
1930 * Make-lang.in (trans-array.o): Depend on GIMPLE_H.
1931
4d15cfbc
TB
19322011-04-15 Tobias Burnus <burnus@net-b.de>
1933
1934 PR fortran/18918
1935 * trans-intrinsic.c (conv_intrinsic_cobound): Remove unused
1936 code which is also causing an ICE.
1937
61e46a7d
NF
19382011-04-14 Nathan Froyd <froydnj@codesourcery.com>
1939
1940 * f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon.
1941
81f653d6
NF
19422011-04-12 Nathan Froyd <froydnj@codesourcery.com>
1943
1944 * f95-lang.c (union lang_tree_node): Check for TS_COMMON before
1945 calling TREE_CHAIN.
1946
99ee0251
PT
19472011-04-12 Paul Thomas <pault@gcc.gnu.org>
1948
1949 PR fortran/48360
1950 PR fortran/48456
1951 * trans-array.c (get_std_lbound): For derived type variables
1952 return array valued component lbound.
1953
a358e188
MJ
19542011-04-12 Martin Jambor <mjambor@suse.cz>
1955
1956 * trans-decl.c (gfc_generate_function_code): Call
1957 cgraph_get_create_node instead of cgraph_node.
1958
155e5d5f
TB
19592011-04-11 Tobias Burnus <burnus@net-b.de>
1960
1961 PR fortran/18918
1962 * simplify.c (simplify_bound_dim): Exit for
1963 ucobound's last dimension unless -fcoarray=single.
1964 * trans-array (gfc_conv_descriptor_size_1): Renamed from
1965 gfc_conv_descriptor_size, made static, has now from_dim and
1966 to_dim arguments.
1967 (gfc_conv_descriptor_size): Call gfc_conv_descriptor_size.
1968 (gfc_conv_descriptor_cosize): New function.
1969 * trans-array.h (gfc_conv_descriptor_cosize): New prototype.
1970 * trans-intrinsic.c (conv_intrinsic_cobound): Add input_location
1971 and handle last codim of ucobound for when -fcoarray is not "single".
1972
51a30b32
TK
19732011-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
1974
1975 PR fortran/48448
1976 * gfortran.h (gfc_option_t): Add warn_function_elimination and
1977 flag_frontend_optimize.
1978 * lang.opt (Wfunction-elimination): Add.
1979 (ffrontend-optimize): Add.
1980 * invoke.texi: Add documentation for -Wfunction-elimination
1981 and -ffrontend-optimize. Add -faggressive-function-elimination
1982 to list of code generation options.
1983 * frontend-passes.c (gfc_run_passes): Run optimizations if
1984 flag_frontend_optimize is set.
1985 (warn_function_elimination): New function.
1986 (cfe_expr_0): Call it if requested to do so.
1987 * options.c (gfc_init_options): Initiate warn_function_elimination
1988 and flag_frontend_optimize.
1989 (gfc_post_options): Set flag_frontend_optimize if not specified
1990 by user, depending on the optimization level.
1991 (gfc_handle_option): Handle -Wfunction-elimination and
1992 -ffrontend-optimize.
1993
7b7c0f2a
TB
19942011-04-06 Tobias Burnus <burnus@net-b.de>
1995
1996 PR fortran/18918
1997 * trans-intrinsic.c (gfc_conv_intrinsic_function): Fix
1998 call for this_image.
1999
a4437d18
NF
20002011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2001
2002 * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use
2003 build_function_type_list instead of build_function_type. Correct
2004 argument order for func_frexp and func_scalbn.
2005
db7f455b
DS
20062011-04-05 Duncan Sands <baldrick@free.fr>
2007
2008 * f95-lang.c (build_builtin_fntypes): Swap frexp parameter types.
2009
15e2b595 20102011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
0bcd8186
TK
2011
2012 * frontend-passes: (optimize_lexical_comparison): New function.
2013 (optimize_expr): Call it.
2014 (optimize_comparison): Also handle lexical comparison functions.
2015 Return false instad of -2 for unequal comparison.
2016
128e09f9
TK
20172011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
2018
2019 PR fortran/48412
2020 * frontend-passes (cfe_expr_0): Reverse the order of going
2021 through the loops.
2022
a3935ffc
TB
20232011-04-04 Tobias Burnus <burnus@net-b.de>
2024 Mikael Morin <mikael.morin@sfr.fr>
2025
2026 PR fortran/18918
2027 * check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE.
2028 * expr.c (gfc_is_coindexed): Ditto.
2029 * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE.
2030 * interface.c (compare_parameter): Use gfc_expr_attr and
2031 gfc_is_coindexed.
2032 * resolve.c (check_dimension, compare_spec_to_ref,
2033 resolve_allocate_expr, check_data_variable): Update for
2034 DIMEN_THIS_IMAGE.
2035 * simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image,
2036 gfc_simplify_ucobound): Allow non-constant bounds.
2037 * trans-array.c (gfc_set_loop_bounds_from_array_spec,
2038 gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
2039 gfc_set_vector_loop_bounds, gfc_conv_array_index_offset,
2040 gfc_start_scalarized_body, gfc_trans_scalarizing_loops,
2041 gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
2042 gfc_conv_ss_startstride, gfc_conv_loop_setup,
2043 gfc_trans_array_bounds, gfc_conv_expr_descriptor,
2044 gfc_walk_variable_expr): Handle codimen.
2045 * trans-decl.c (gfc_build_qualified_array): Save cobounds.
2046 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2.
2047 (conv_intrinsic_cobound): New function.
2048 (gfc_conv_intrinsic_function): Call it.
2049 (gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handle
2050 ucobound, lcobound, this_image.
2051 * fortran/trans-types.c (gfc_build_array_type): Save cobounds.
2052 (gfc_get_dtype): Honour corank.
2053 (gfc_get_nodesc_array_type): Save corank and codimensions.
2054 (gfc_get_array_type_bounds): Save cobound.
2055 * fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item.
2056 (gfc_array_kind): Add corank item.
2057 (GFC_TYPE_ARRAY_CORANK): New macro.
2058
3edf1dd5
KT
20592011-04-03 Kai Tietz <ktietz@redhat.com>
2060
2061 PR middle-end/48422
2062 * Make-lang.in (f95-lang.o): Add some missing dependencies.
2063
6e98bce4
TK
20642011-04-01 Thomas Koenig <tkoenig@gcc.gnu.org>
2065
2066 PR fortran/48352
2067 * frontend-passes (cfe_register_funcs): Don't
2068 register functions if they appear as iterators in DO loops.
2069
20702011-03-30 Michael Matz <matz@suse.de>
83799a47
MM
2071
2072 PR fortran/47516
2073 * trans-expr.c (realloc_lhs_loop_for_fcn_call): Take loop as parameter,
2074 don't use local variable.
2075 (gfc_trans_arrayfunc_assign): Adjust caller.
2076
d91909c0
JW
20772011-03-29 Janus Weil <janus@gcc.gnu.org>
2078
2079 PR fortran/48095
2080 * decl.c (match_procedure_decl,match_ppc_decl): Set flavor of interface.
2081 * module.c (MOD_VERSION): Bump.
2082 (mio_typespec): Read/write 'interface' field.
2083 * primary.c (match_string_constant,match_logical_constant): Remove
2084 unneeded code.
2085 (match_complex_constant): Make sure to clear the typespec.
2086
23360fe4
TK
20872011-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>
2088
2089 * frontend-passes.c (create_var): Warn about creating an
2090 array temporary if requested.
2091
7e3b6543
TK
20922011-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
2093
2094 PR fortran/47065
23360fe4 2095 * frontend-passes.c (optimize_trim): Also follow references, except
7e3b6543
TK
2096 when they are substring references or array references.
2097
60386f50
TB
20982011-03-27 Tobias Burnus <burnus@net-b.de>
2099
2100 PR fortran/18918
2101 * gfortran.h (gfc_isym_id): Rename GFC_ISYM_NUMIMAGES to
2102 GFC_ISYM_NUM_IMAGES.
2103 (gfc_fcoarray): Add GFC_FCOARRAY_LIB.
2104 * intrinsic.c (add_functions): Update due to GFC_ISYM_NUM_IMAGES
2105 rename.
2106 * invoke.texi (-fcoarray=): Document "lib" argument.
2107 * iresolve.c (gfc_resolve_this_image): Fix THIS IMAGE().
2108 * libgfortran.h (libgfortran_stat_codes): Add comments.
2109 * options.c (gfc_handle_coarray_option): Add -fcoarray=lib.
2110 * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
2111 Handle GFC_FCOARRAY_LIB.
2112 * trans.h (gfc_init_coarray_decl): New prototype.
2113 (gfor_fndecl_caf_init, gfor_fndecl_caf_finalize,
2114 gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical,
2115 gfor_fndecl_caf_sync_all, gfor_fndecl_caf_sync_images,
2116 gfor_fndecl_caf_error_stop, gfor_fndecl_caf_error_stop_str,
2117 gfort_gvar_caf_num_images, gfort_gvar_caf_this_image):
2118 New global variables.
2119 * trans-decl.c: Declare several CAF functions (cf. above).
2120 (gfc_build_builtin_function_decls): Initialize those.
2121 (gfc_init_coarray_decl): New function.
2122 (create_main_function): Call CAF init/finalize functions.
2123 * trans-intrinsic.c (trans_this_image, trans_num_images): New.
2124 (gfc_conv_intrinsic_function): Call those.
2125 * trans-stmt.c (gfc_trans_stop, gfc_trans_sync, gfc_trans_critical):
2126 Add code for GFC_FCOARRAY_LIB.
2127
cb83a137
JW
21282011-03-26 Janus Weil <janus@gcc.gnu.org>
2129
2130 PR fortran/48291
2131 * class.c (get_unique_hashed_string): Adjust maximum allowable length
2132 for unique type string.
2133
ba78087b
KT
21342011-03-25 Kai Tietz <ktietz@redhat.com>
2135
2136 * scanner.c (preprocessor_line): Use filename_cmp
2137 instead of strcmp.
2138
3ec1c379
TB
21392011-03-25 Tobias Burnus <burnus@net-b.de>
2140
2141 PR fortran/48174
2142 PR fortran/45304
2143 * trans-types.c (gfc_get_function_type): Don't use varargs if the
2144 procedure is known to have no arguments.
2145
15e2b595 21462011-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
2757d5ec
TK
2147
2148 PR fortran/22572
2149 * gfortran.h (gfc_option_t) : Add
2150 flag_aggressive_function_elimination.
2151 (gfc_dep_compare_functions): Add prototype.
2152 * lang.opt: Add faggressive-function-elimination.
2153 * invoke.texi: Document -faggressive-function-elimination.
2154 * frontend_passes (expr_array): New static variable.
2155 (expr_size): Likewise.
2156 (expr_count): Likewise.
2157 (current_code): Likewise.
2158 (current_ns): Likewise.
2159 (gfc_run_passes): Allocate and free space for expressions.
2160 (cfe_register_funcs): New function.
2161 (create_var): New function.
2162 (cfc_expr_0): New function.
2163 (cfe_code): New function.
2164 (optimize_namespace): Invoke gfc_code_walker with cfe_code
2165 and cfe_expr_0.
2166 * dependency.c (gfc_dep_compare_functions): New function.
2167 (gfc_dep_compare_expr): Use it.
2168 * options.c (gfc_init_options): Handle
2169 flag_aggressive_function_elimination.
2170 (gfc_handle_option): Likewise.
2171
cc9ce9ff
FXC
21722011-03-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2173
2174 * arith.c (arith_power): Plug memory leak.
2175
2e49964f
JW
21762011-03-12 Janus Weil <janus@gcc.gnu.org>
2177
2178 PR fortran/48059
2179 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
2180 for polymorphic arguments.
2181
28a0157c
FXC
21822011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2183
2184 PR fortran/48054
2185 * intrinsic.texi: Clarify doc of logarithm functions.
2186
8e421af9
FXC
21872011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2188
2189 PR fortran/47552
2190 * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
2191 the string length variable.
2192
0f2a6198
JW
21932011-03-11 Janus Weil <janus@gcc.gnu.org>
2194
2195 PR fortran/47768
2196 * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.
2197 (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.
2198
8e1e41e7
PT
21992011-03-06 Paul Thomas <pault@gcc.gnu.org>
2200 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2201
2202 PR fortran/47850
2203 * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if
2204 the expression has an iterator. Otherwise, iterate through the
2205 array, checking for constant expressions for each element.
2206
d9d114ec
JB
22072011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
2208
2209 PR libfortran/47802
2210 * intrinsic.texi: Update CTIME and FDATE documentation.
2211
4d04d67a
RW
22122011-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2213
2214 * invoke.texi (Option Summary, Fortran Dialect Options)
2215 (Preprocessing Options, Runtime Options, Code Gen Options):
2216 Fix vertical list spacing by using @itemx for additinoal
2217 items, empty line before @table. Fix typos.
2218
96fa6d31
FXC
22192011-02-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2220
2221 PR fortran/47894
2222 * intrinsic.texi: Fix doc of the VERIFY intrinsic.
2223
2573aab9
TB
22242011-02-26 Tobias Burnus <burnus@net-b.de>
2225
2226 PR fortran/47846
2227 * trans-stmt.c (gfc_trans_allocate): Fix allocation with
2228 type-spec of deferred-length strings.
2229
adb3f093
TB
22302011-02-26 Tobias Burnus <burnus@net-b.de>
2231
2232 PR fortran/47886
2233 * openmp.c (gfc_resolve_omp_directive): Resolve if()
2234 condition of OpenMP's task.
2235
1eabb08e
FXC
22362011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2237
2238 PR fortran/47894
2239 * intrinsic.texi: Fix doc of the VERIFY intrinsic.
2240
0d44b8be
TB
22412011-02-24 Tobias Burnus <burnus@net-b.de>
2242
2243 PR fortran/47872
2244 * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add
2245 multitable for linebreak between different syntax variants.
2246
5b1cce91
RG
22472011-02-24 Richard Guenther <rguenther@suse.de>
2248
2249 PR fortran/47839
2250 * f95-lang.c (pushdecl): For externs in non-global scope push
2251 a copy of the decl into the BLOCK.
2252
46b2c440
MM
22532011-02-23 Mikael Morin <mikael@gcc.gnu.org>
2254
2255 PR fortran/40850
2256 * trans.c (gfc_prepend_expr_to_block): New function.
2257 * trans.h (gfc_prepend_expr_to_block): Declare.
2258 * trans-array.c (gfc_conv_array_parameter): Replace
2259 gfc_add_expr_to_block with gfc_prepend_expr_to_block.
2260
0b3b617e
PT
22612011-02-22 Paul Thomas <pault@gcc.gnu.org>
2262
2263 PR fortran/45743
2264 * trans-decl.c (gfc_get_extern_function_decl): Don't use the
2265 gsymbol backend_decl if the procedure has a formal argument
2266 that is a procedure.
2267
e84589e1
TB
22682011-02-22 Tobias Burnus <burnus@net-b.de>
2269
2270 PR fortran/41359
2271 * trans-stmt.c (gfc_trans_if_1): Use correct line for
2272 expressions in the if condition.
2273
ceccaacf
TB
22742011-02-20 Tobias Burnus <burnus@net-b.de>
2275
2276 PR fortran/47797
2277 * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and
2278 gfc_restore_backend_locus to have better debug locations.
2279 * trans-array.c (gfc_trans_deferred_array): Ditto.
2280
0101807c
PT
22812011-02-20 Paul Thomas <pault@gcc.gnu.org>
2282
2283 PR fortran/45077
2284 PR fortran/44945
2285 * trans-types.c (gfc_get_derived_type): Remove code that looks
2286 for decls in gsym and add call to gfc_get_module_backend_decl.
2287 * trans.h : Add prototype for gfc_get_module_backend_decl.
2288 * trans-decl.c (gfc_get_module_backend_decl): New function.
2289 (gfc_get_symbol_decl): Call it.
2290
6c1b5781
PT
22912011-02-19 Paul Thomas <pault@gcc.gnu.org>
2292
2293 PR fortran/47348
2294 * trans-array.c (get_array_ctor_all_strlen): Move up in file.
2295 (get_array_ctor_var_strlen): Add block dummy and add call to
2296 get_array_ctor_all_strlen instead of giving up on substrings.
2297 Call gcc_unreachable for default case.
2298 (get_array_ctor_strlen): Add extra argument to in call to
2299 get_array_ctor_var_strlen.
2300
34c10b3b
JW
23012011-02-18 Janus Weil <janus@gcc.gnu.org>
2302
2303 PR fortran/47789
2304 * primary.c (gfc_match_structure_constructor): Handle empty parent
2305 types.
2306
56ee2f5a
TB
23072011-02-18 Tobias Burnus
2308
2309 PR fortran/47775
2310 * trans-expr.c (arrayfunc_assign_needs_temporary): Use
2311 esym to check whether the specific procedure returns an
2312 allocatable or pointer.
2313
b3c1b8a1
MM
23142011-02-18 Michael Matz <matz@suse.de>
2315
2316 PR fortran/45586
2317 * gfortran.h (struct gfc_component): Add norestrict_decl member.
2318 * trans.h (struct lang_type): Add nonrestricted_type member.
2319 * trans-expr.c (gfc_conv_component_ref): Search fields with correct
2320 parent type.
2321 * trans-types.c (mirror_fields, gfc_nonrestricted_type): New.
2322 (gfc_sym_type): Use it.
2323
357f98e5
JW
23242011-02-18 Janus Weil <janus@gcc.gnu.org>
2325
2326 PR fortran/47768
2327 * resolve.c (resolve_transfer): Reject variables with procedure pointer
2328 components.
2329
6e2062b0
JW
23302011-02-18 Janus Weil <janus@gcc.gnu.org>
2331
2332 PR fortran/47767
2333 * gfortran.h (gfc_check_access): Removed prototype.
2334 (gfc_check_symbol_access): Added prototype.
2335 * module.c (gfc_check_access): Renamed to 'check_access', made static.
2336 (gfc_check_symbol_access): New function, basically a shortcut for
2337 'check_access'.
2338 (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use
2339 'gfc_check_symbol_access'.
2340 (write_operator,write_module): Renamed 'gfc_check_access'.
2341 * resolve.c (resolve_fl_procedure,resolve_fl_derived,
2342 resolve_fl_namelist,resolve_symbol,resolve_fntype): Use
2343 'gfc_check_symbol_access'.
2344
528622fd
JW
23452011-02-16 Janus Weil <janus@gcc.gnu.org>
2346
2347 PR fortran/47745
2348 * class.c (gfc_build_class_symbol): Set 'class_ok' attribute.
2349 * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into
2350 'gfc_build_class_symbol'.
2351 (gfc_match_decl_type_spec): Reject unlimited polymorphism.
2352 * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
2353 * match.c (select_type_set_tmp): Move setting of 'class_ok' into
2354 'gfc_build_class_symbol'.
2355 * primary.c (gfc_variable_attr): Check for 'class_ok' attribute.
2356
ed17fc41
SK
23572011-02-15 Steven G. Kargl <kargl@gcc.gnu.org>
2358
2359 PR fortran/47633
2360 . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.
2361
01efe923
JW
23622011-02-14 Janus Weil <janus@gcc.gnu.org>
2363
2364 PR fortran/47730
2365 * parse.c (gfc_build_block_ns): Commit 'block@' symbol.
2366
ce2ab24c
JW
23672011-02-14 Janus Weil <janus@gcc.gnu.org>
2368
2369 PR fortran/47728
2370 * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic
2371 arrays.
2372 * primary.c (gfc_match_varspec): Avoid ICE for invalid class
2373 declaration.
2374
93302a24
JW
23752011-02-14 Janus Weil <janus@gcc.gnu.org>
2376
2377 PR fortran/47349
2378 * interface.c (get_expr_storage_size): Handle derived-type components.
2379
975b975b
TB
23802011-02-13 Tobias Burnus <burnus@net-b.de>
2381
2382 PR fortran/47569
2383 * interface.c (compare_parameter): Avoid ICE with
2384 character components.
2385
96d9b22c
JW
23862011-02-12 Janus Weil <janus@gcc.gnu.org>
2387
2388 * class.c (gfc_build_class_symbol): Reject polymorphic arrays.
2389 * decl.c (build_sym,build_struct,attr_decl1): Use return value of
2390 'gfc_build_class_symbol'.
2391
0143a784
MM
23922011-02-12 Michael Matz <matz@suse.de>
2393 Janus Weil <janus@gcc.gnu.org>
2394 Tobias Burnus <burnus@net-b.de>
2395
2396 PR fortran/45586
2397 * trans-expr.c (conv_parent_component_references): Avoid unintendent
2398 skipping of parent compounds.
2399
a26e8df4
TB
24002011-02-11 Tobias Burnus <burnus@net-b.de>
2401
2402 PR fortran/47550
2403 * resolve.c (resolve_formal_arglist): PURE with VALUE
2404 and no INTENT: Add -std= diagnostics.
2405
c79bb355
JW
24062011-02-09 Janus Weil <janus@gcc.gnu.org>
2407
2408 PR fortran/47352
2409 * resolve.c (resolve_procedure_interface): If interface has a result
2410 variable, copy the typespec and set result pointer to self.
2411
15167bba
JW
24122011-02-09 Janus Weil <janus@gcc.gnu.org>
2413
2414 PR fortran/47463
2415 * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
2416
c7f17815
JW
24172011-02-09 Janus Weil <janus@gcc.gnu.org>
2418
2419 PR fortran/47637
2420 * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
2421
70b9ed88
JD
24222011-02-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2423
2424 * io.c (match_io_element): Do not set dt if not inquire.
2425
7522a064
JW
24262011-02-08 Janus Weil <janus@gcc.gnu.org>
2427
2428 PR fortran/45290
2429 * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
2430 initialization target.
2431
f3f2c465
JB
24322011-02-07 Janne Blomqvist <jb@gcc.gnu.org>
2433 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2434
2435 * gfortran.texi (Thread-safety): texinfo styling fixes.
2436 * intrinsic.texi: Likewise.
2437
85883d65
JB
24382011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
2439
2440 * gfortran.texi (Compiler Characteristics): Add reference to
2441 thread-safety section.
2442
6985b4a1
JB
24432011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
2444
2445 * gfortran.texi (Thread-safety): New section.
2446 * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
2447 (GETENV): Likewise.
2448 (GET_ENVIRONMENT_VARIABLE): Likewise.
2449 (SYSTEM): Likewise.
2450
90cf3ecc
PT
24512011-02-06 Paul Thomas <pault@gcc.gnu.org>
2452
2453 PR fortran/47592
2454 * trans-stmt.c (gfc_trans_allocate): For deferred character
2455 length allocations with SOURCE, store to the values and string
2456 length to avoid calculating twice. Replace gfc_start_block
2457 with gfc_init_block to avoid unnecessary contexts and to keep
2458 declarations of temporaries where they should be. Tidy up the
2459 code a bit.
2460
4a9b1f8e
JB
24612011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
2462
2463 PR fortran/42434
2464 * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
2465
8e2bc95b
JW
24662011-02-02 Janus Weil <janus@gcc.gnu.org>
2467 Paul Thomas <pault@gcc.gnu.org>
2468
2469 PR fortran/47082
2470 * trans-expr.c (gfc_trans_class_init_assign): Add call to
2471 gfc_get_derived_type.
2472 * module.c (read_cleanup): Do not use unique_symtrees for vtabs
2473 or vtypes.
2474
da285ce8
JW
24752011-02-02 Janus Weil <janus@gcc.gnu.org>
2476
2477 PR fortran/47572
2478 * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
2479
0f0a4367
JW
24802011-02-01 Janus Weil <janus@gcc.gnu.org>
2481
2482 PR fortran/47565
2483 * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
2484 pointer components with allocatable result.
2485
463ec822
JW
24862011-01-31 Janus Weil <janus@gcc.gnu.org>
2487
2488 PR fortran/47455
2489 * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
2490 with pointer or allocatable result.
2491
fabb6f8e
PT
24922011-01-31 Paul Thomas <pault@gcc.gnu.org>
2493
2494 PR fortran/47519
2495 * trans-stmt.c (gfc_trans_allocate): Improve handling of
2496 deferred character lengths with SOURCE.
2497 * iresolve.c (gfc_resolve_repeat): Calculate character
2498 length from source length and ncopies.
2499 * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
2500 expressions for ALLOCATE.
2501
b6c77bcb
JW
25022011-01-31 Janus Weil <janus@gcc.gnu.org>
2503
2504 PR fortran/47463
2505 * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
2506 an argument of a typebound assignment being a component.
2507
c6092243
RO
25082011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2509
2510 * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
2511 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
2512
1ca99f75
TB
25132011-01-31 Tobias Burnus <burnus@net-b.de>
2514
2515 PR fortran/47042
2516 * resolve.c (resolve_fl_procedure): Reject stmt functions
2517 with pointer/allocatable attribute.
2518
86d7449c
TB
25192011-01-31 Tobias Burnus <burnus@net-b.de>
2520
2521 PR fortran/47042
2522 * interface.c (gfc_procedure_use): Add explicit interface check for
2523 pointer/allocatable functions.
2524
dafdf269
PT
25252011-01-30 Paul Thomas <pault@gcc.gnu.org>
2526
2527 PR fortran/47523
2528 * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
2529 expr and is assigned to a deferred character length scalar,
2530 make sure that the function is called before reallocation,
2531 so that the length is available. Include procedure pointer
2532 and procedure pointer component rhs as well.
2533
2534 PR fortran/45170
2535 PR fortran/35810
2536 PR fortran/47350
2537 * gfortran.dg/allocatable_function_5.f90: New test not added by
2538 mistake on 2011-01-28.
2539
7320cf09
TB
25402011-01-29 Tobias Burnus <burnus@net-b.de>
2541
2542 PR fortran/47531
2543 * check.c (gfc_check_shape): Support kind argument in SHAPE.
2544 * intrinsic.c (add_functions): Ditto.
2545 * resolve.c (gfc_resolve_shape): Ditto.
2546 * simplify.c (gfc_simplify_shape): Ditto.
2547 * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
2548 gfc_simplify_shape): Update prototypes.
2549 * intrinisc.text (SHAPE): Document kind argument.
2550
36ea267b
TB
25512011-01-28 Tobias Burnus <burnus@net-b.de>
2552
2553 PR fortran/47507
2554 * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
2555 attribute also without INTENT.
2556
5582f599
TB
25572011-01-28 Tobias Burnus <burnus@net-b.de>
2558
2559 * gfortran.texi (Fortran 2003 status): Mention support for
2560 nonconstant namelist variables.
2561
8d51f26f
PT
25622011-01-28 Paul Thomas <pault@gcc.gnu.org>
2563 Tobias Burnus <burnus@gcc.gnu.org>
2564
2565 PR fortran/45170
2566 PR fortran/35810
2567 PR fortran/47350
2568 * interface.c (compare_actual_formal): An allocatable or pointer
2569 deferred length actual is only allowed if the formal argument
2570 is also deferred length. Clean up whitespace.
2571 * trans-expr.c (gfc_conv_procedure_call): Pass string length for
2572 deferred character length formal arguments by reference. Do the
2573 same for function results.
2574 (gfc_trans_pointer_assignment): Do not do runtime check of lhs
2575 and rhs character lengths, if deferred length lhs. In this case
2576 set the lhs character length to that of the rhs.
2577 (gfc_conv_string_parameter): Remove assert that string length is
2578 an integer type.
2579 (is_scalar_reallocatable_lhs): New function.
2580 (alloc_scalar_allocatable_for_assignment): New function.
2581 (gfc_trans_assignment_1): Call above new function. If the rhs is
2582 a deferred character length itself, makes ure that the function
2583 is called before reallocation, so that the length is available.
2584 (gfc_trans_asssignment): Remove error about assignment to
2585 deferred length character variables.
2586 * gfortran.texi : Update entry about (re)allocation on
2587 assignment.
2588 * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
2589 length character variables.
2590 * module.c (mio_typespec): Transfer deferred characteristic.
2591 * trans-types.c (gfc_get_function_type): New code to generate
2592 hidden typelist, so that those character lengths that are
2593 passed by reference get the right type.
2594 * resolve.c (resolve_contained_fntype): Supress error for
2595 deferred character length functions.
2596 (resolve_function, resolve_fl_procedure) The same.
2597 (check_symbols): Remove the error that support for
2598 entity with deferred type parameter is not yet implemented.
2599 (resolve_fl_derived): The same.
2600 match.c (alloc_opt_list): Allow MOLD for deferred length object.
2601 * trans-decl.c (gfc_get_symbol_decl): For deferred character
2602 length dummies, generate a local variable for string length.
2603 (create_function_arglist): Hidden length can be a pointer.
2604 (gfc_trans_deferred_vars): For deferred character length
2605 results and dummies, assign the string length to the local
2606 variable from the hidden argument on entry and the other way
2607 round on exit, as appropriate.
2608
f18694de
TB
26092011-01-27 Tobias Burnus <burnus@net-b.de>
2610
2611 PR fortran/47474
2612 * trans-decl.c (gfc_generate_function_code): Fix init
2613 of allocatable result variable with allocatable components.
2614
22b00a9f
TB
26152011-01-27 Tobias Burnus <burnus@net-b.de>
2616
2617 PR fortran/47472
2618 * options.c (gfc_handle_module_path_options): Save
2619 module path without trailing slash as include path.
2620
315d905f
TB
26212011-01-25 Tobias Burnus <burnus@net-b.de>
2622
2623 PR fortran/47448
2624 * interface.c (gfc_check_operator_interface): Fix
2625 defined-assignment check.
2626
25cbe58f
TB
26272011-01-23 Tobias Burnus <burnus@net-b.de>
2628
2629 PR fortran/47421
2630 * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
2631 scalar allocatable dummy arguments.
2632
8a9adf2c
TK
26332011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
2634
2635 PR fortran/38536
2636 * resolve.c (gfc_iso_c_func_interface): For C_LOC,
2637 check for array sections followed by component references
2638 which are illegal. Also check for coindexed arguments.
2639
4618de23
TB
26402011-01-22 Tobias Burnus <burnus@net-b.de>
2641
2642 PR fortran/47399
2643 * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
2644 PARAMETER TBP.
2645
abba1823
TB
26462011-01-21 Tobias Burnus <burnus@net-b.de>
2647
2648 PR fortran/47394
2649 * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
2650 Use defined instead of magic number exit status codes.
2651 * scanner.c (include_line, gfc_new_file): Ditto.
2652
7f1f7ffb
TB
26532011-01-21 Tobias Burnus <burnus@net-b.de>
2654
2655 PR fortran/47377
2656 * expr.c (gfc_check_pointer_assign): Reject expr data-targets
2657 without pointer attribute.
2658
2d300fac
JW
26592011-01-18 Janus Weil <janus@gcc.gnu.org>
2660
2661 PR fortran/47240
2662 * resolve.c (expression_rank): Fix rank of procedure poiner components.
2663 * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
2664 pointer components as actual arguments.
2665
c7d3bb76
JJ
26662011-01-17 Jakub Jelinek <jakub@redhat.com>
2667
2668 PR fortran/47331
2669 * gfortran.h (struct gfc_omp_saved_state): New type.
2670 (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
2671 * resolve.c (resolve_global_procedure): Call it around gfc_resolve
2672 call.
2673 * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
2674 functions.
2675
4f7d9db8
TB
26762011-01-17 Tobias Burnus <burnus@net-b.de>
2677
2678 PR fortran/47327
2679 * invoke.texi (Options to request or suppress errors
2680 and warnings): Fix cross link.
2681
fc1e05d2
TB
26822011-01-15 Tobias Burnus <burnus@net-b.de>
2683
2684 * gfortran.texi: Update Fortran 2003 Status section.
2685
2686 PR fortran/47177
2687 * invoke.texi: Add missing "-E" to the -dM example.
2688
4975dfd9
TB
26892011-01-13 Tobias Burnus <burnus@net-b.de>
2690
2691 PR fortran/47268
2692 * intrinsic.texi (get_command_argument, get_environment_variable):
2693 Mark arguments as optional in the Arguments section.
2694
384f586a
KT
26952011-01-13 Kai Tietz <kai.tietz@onevision.com>
2696 Tobias Burnus <burnus@net-b.de>
2697
2698 PR fortran/47260
2699 * trans-decl.c (gfc_get_extern_function_decl,
2700 build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
2701 calling decl_attributes.
2702
29a63d67
TB
27032011-01-13 Tobias Burnus <burnus@net-b.de>
2704 Mikael Morin <mikael@gcc.gnu.org>
2705
2706 PR fortran/45848
2707 PR fortran/47204
2708 * gfortran.h (gfc_code): Move union ext's case_list into
2709 the struct block.
2710 * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
2711 by "block.".
2712 * frontend-passes.c (gfc_code_walker): Ditto.
2713 * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
2714 gfc_match_type_is, gfc_match_class_is): Ditto.
2715 * resolve.c (resolve_select, resolve_select_type): Ditto.
2716 * st.c (gfc_free_statement): Ditto.
2717 * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
2718 gfc_trans_character_select): Ditto.
2719 * parse.c (resolve_all_program_units): For error recovery, avoid
2720 segfault is proc_name is NULL.
2721
93c3bf47
PT
27222011-01-11 Paul Thomas <pault@gcc.gnu.org>
2723
2724 PR fortran/47051
2725 * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
2726 to be standard compliant by testing for shape rather than size
2727 before skipping reallocation. Improve comments.
2728
8977b4bb
JW
27292011-01-09 Janus Weil <janus@gcc.gnu.org>
2730
2731 PR fortran/47224
2732 * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
2733 of code.
2734
32df61ae
TK
27352011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
2736
2737 PR fortran/38536
2738 * resolve.c (is_scalar_expr_ptr): For a substring reference,
2739 use gfc_dep_compare_expr to compare start and end expession.
2740 Add FIXME for using gfc_deb_compare_expr elsewhere.
2741
b52956be
JW
27422011-01-09 Janus Weil <janus@gcc.gnu.org>
2743
2744 PR fortran/46313
2745 * class.c (get_unique_type_string): Make type name start with upper
2746 case letter.
2747
f90b55a6
TK
27482011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
2749
2750 PR fortran/46405
2751 * invoke.texi: Mention -ffree-line-length-none and
2752 -ffixed-line-length-none for preprocessing.
2753
f1f39033
PT
27542011-01-08 Paul Thomas <pault@gcc.gnu.org>
2755
2756 PR fortran/46896
2757 * trans-expr.c (gfc_conv_procedure_call): With a non-copying
2758 procedure argument (eg TRANSPOSE) use a temporary if there is
2759 any chance of aliasing due to host or use association.
2760 (arrayfunc_assign_needs_temporary): Correct logic for function
2761 results and do not use a temporary for implicitly PURE
2762 variables. Use a temporary for Cray pointees.
2763 * symbol.c (gfc_add_save): Explicit SAVE not compatible with
2764 implicit pureness of containing procedure.
2765 * decl.c (match_old_style_init, gfc_match_data): Where decl
2766 would fail in PURE procedure, set implicit_pure to zero.
2767 * gfortran.h : Add implicit_pure to structure symbol_attr and
2768 add prototype for function gfc_implicit_pure.
2769 * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
2770 Where decl would fail in PURE procedure, reset implicit_pure.
2771 * io.c (match_vtag, gfc_match_open, gfc_match_close,
2772 gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
2773 * match.c (gfc_match_critical, gfc_match_stopcode,
2774 sync_statement, gfc_match_allocate, gfc_match_deallocate): The
2775 same.
2776 * parse.c (decode_omp_directive): The same.
2777 (parse_contained): If not PURE, set implicit pure attribute.
2778 * resolve.c (resolve_formal_arglist, resolve_structure_cons,
2779 resolve_function, resolve_ordinary_assign) : The same.
2780 (gfc_implicit_pure): New function.
2781 * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
2782 to ab_attribute enum and use it in this function.
2783
ecb3baaa
TK
27842011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
2785
2786 PR fortran/45777
2787 * symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix,
2788 make static and move in front of its only caller, to ...
2789 * trans-array.c (symbols_could_alias): ... here.
2790 Pass information about pointer and target status as
2791 arguments. Allocatable arrays don't alias anything
2792 unless they have the POINTER attribute.
2793 (gfc_could_be_alias): Keep track of pointer and target
2794 status when following references. Also check if typespecs
2795 of components match those of other components or symbols.
2796
eaf31d82
TB
27972011-01-07 Tobias Burnus <burnus@net-b.de>
2798
2799 PR fortran/41580
2800 * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
2801 * intrinsic.c (add_functions): Use simplify functions for
2802 EXTENDS_TYPE_OF and SAME_TYPE_AS.
2803 * intrinsic.h (gfc_simplify_extends_type_of,
2804 gfc_simplify_same_type_as): New prototypes.
2805 * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
2806 gfc_simplify_same_type_as): New functions.
2807
0d87fa8c
JW
28082011-01-07 Janus Weil <janus@gcc.gnu.org>
2809
2810 PR fortran/47189
2811 PR fortran/47194
2812 * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
2813 * class.c (gfc_class_null_initializer): Initialize _vptr to declared
2814 type.
2815 * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
2816 * resolve.c (resolve_deallocate_expr): _data component will be added
2817 at translation stage.
2818 * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
2819 * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
2820
284d58f1
DF
28212011-01-06 Daniel Franke <franke.daniel@gmail.com>
2822
2823 PR fortran/33117
2824 PR fortran/46478
2825 * parse.c (parse_interface): Remove check for procedure types.
2826 * interface.c (check_interface0): Verify that procedures are
2827 either all SUBROUTINEs or all FUNCTIONs.
2828
a29f38ce
JW
28292011-01-05 Janus Weil <janus@gcc.gnu.org>
2830
2831 PR fortran/47180
2832 * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
2833 'vtab' is initialized).
2834
01738cee
JW
28352011-01-05 Janus Weil <janus@gcc.gnu.org>
2836
2837 PR fortran/47180
2838 * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
2839 assignment, set the _vptr component to the declared type.
2840
75fee9f2
TK
28412011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
2842
2843 PR fortran/46017
2844 * resolve.c (resolve_allocate_deallocate): Follow references to
2845 check for duplicate occurence of allocation/deallocation objects.
2846
8c077737
JW
28472011-01-05 Janus Weil <janus@gcc.gnu.org>
2848
2849 PR fortran/47024
2850 * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
2851 of polymorphic allocatables according to their declared type.
2852
844ba455
JW
28532011-01-04 Janus Weil <janus@gcc.gnu.org>
2854
2855 PR fortran/46448
2856 * class.c (gfc_find_derived_vtab): Set the module field for the copying
2857 routine to make sure it receives module name mangling.
2858
9f8e43c0
JJ
28592011-01-03 Jakub Jelinek <jakub@redhat.com>
2860
2861 * gfortranspec.c (lang_specific_driver): Update copyright notice
2862 dates.
2863
d9ace2ef
JW
28642011-01-03 Janus Weil <janus@gcc.gnu.org>
2865
2866 * intrinsic.texi (LEADZ): Fix example.
2867
2e85ae0d
JW
28682011-01-02 Janus Weil <janus@gcc.gnu.org>
2869
2870 PR fortran/46408
2871 * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
2872 routine.
2873
ad41bd84 2874\f
797103eb 2875Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
2876
2877Copying and distribution of this file, with or without modification,
2878are permitted in any medium without royalty provided the copyright
2879notice and this notice are preserved.