]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/fortran/ChangeLog
trans.h (gfc_build_compare_string): Add CODE argument.
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
1 2010-07-15 Jakub Jelinek <jakub@redhat.com>
2
3 * trans.h (gfc_build_compare_string): Add CODE argument.
4 * trans-intrinsic.c (gfc_conv_intrinsic_strcmp): Pass OP to
5 gfc_build_compare_string.
6 * trans-expr.c (gfc_conv_expr_op): Pass CODE to
7 gfc_build_compare_string.
8 (string_to_single_character): Rename len variable to length.
9 (gfc_optimize_len_trim): New function.
10 (gfc_build_compare_string): Add CODE argument. If it is EQ_EXPR
11 or NE_EXPR and one of the strings is string literal with LEN_TRIM
12 bigger than the length of the other string, they compare unequal.
13
14 2010-07-14 Mikael Morin <mikael@gcc.gnu.org>
15
16 * trans-array.c (gfc_conv_section_upper_bound): Remove
17 (gfc_conv_section_startstride): Don't set the upper bound in the
18 vector subscript case.
19 (gfc_conv_loop_setup): Don't use gfc_conv_section_upper_bound
20
21 2010-07-14 Janus Weil <janus@gcc.gnu.org>
22
23 PR fortran/44925
24 * gfortran.h (gfc_is_data_pointer): Remove prototype.
25 * dependency.c (gfc_is_data_pointer): Make it static.
26 * intrinsic.texi: Update documentation on C_LOC.
27 * resolve.c (gfc_iso_c_func_interface): Fix pointer and target checks
28 and add a check for polymorphic variables.
29
30 2010-07-14 Jakub Jelinek <jakub@redhat.com>
31
32 * trans-expr.c (string_to_single_character): Also optimize
33 string literals containing a single char followed only by spaces.
34 (gfc_trans_string_copy): Remove redundant string_to_single_character
35 calls.
36
37 * trans-decl.c (gfc_build_intrinsic_function_decls,
38 gfc_build_builtin_function_decls): Mark functions as
39 DECL_PURE_P or TREE_READONLY.
40
41 2010-07-13 Nathan Froyd <froydnj@codesourcery.com>
42
43 * trans-decl.c (build_entry_thunks): Call build_call_expr_loc_vec
44 instead of build_function_call_expr.
45 * trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Likewise.
46
47 2010-07-13 Tobias Burnus <burnus@net-b.de>
48 Daniel Franke <franke.daniel@gmail.com>
49
50 PR fortran/43665
51 * trans.h (gfc_build_library_function_decl_with_spec): New prototype.
52 * trans-decl.c (gfc_build_library_function_decl_with_spec): Removed
53 static.
54 * trans-io (gfc_build_io_library_fndecls): Add "fn spec" annotations.
55
56 2010-07-13 Daniel Franke <franke.daniel@gmail.com>
57 Tobias Burnus <burnus@net-b.de>
58
59 PR fortran/43665
60 * trans-decl.c (gfc_build_intrinsic_function_decls): Add
61 noclobber/noescape annotations to function calls.
62 (gfc_build_builtin_function_decls): Likewise.
63
64 2010-07-13 Janus Weil <janus@gcc.gnu.org>
65
66 PR fortran/44434
67 PR fortran/44565
68 PR fortran/43945
69 PR fortran/44869
70 * gfortran.h (gfc_find_derived_vtab): Modified prototype.
71 * class.c (gfc_build_class_symbol): Modified call to
72 'gfc_find_derived_vtab'.
73 (add_proc_component): Removed, moved code into 'add_proc_comp'.
74 (add_proc_comps): Renamed to 'add_proc_comp', removed treatment of
75 generics.
76 (add_procs_to_declared_vtab1): Removed unnecessary argument 'resolved'.
77 Removed treatment of generics.
78 (copy_vtab_proc_comps): Removed unnecessary argument 'resolved'.
79 Call 'add_proc_comp' instead of duplicating code.
80 (add_procs_to_declared_vtab): Removed unnecessary arguments 'resolved'
81 and 'declared'.
82 (add_generic_specifics,add_generics_to_declared_vtab): Removed.
83 (gfc_find_derived_vtab): Removed unnecessary argument 'resolved'.
84 Removed treatment of generics.
85 * iresolve.c (gfc_resolve_extends_type_of): Modified call to
86 'gfc_find_derived_vtab'.
87 * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
88 Removed treatment of generics.
89 (resolve_select_type,resolve_fl_derived): Modified call to
90 'gfc_find_derived_vtab'.
91 * trans-decl.c (gfc_get_symbol_decl): Ditto.
92 * trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
93 Ditto.
94 * trans-stmt.c (gfc_trans_allocate): Ditto.
95
96 2010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
97
98 PR fortran/37077
99 * trans-io.c (build_dt): Set common.unit to flag chracter(kind=4)
100 internal unit.
101
102 2010-07-12 Mikael Morin <mikael@gcc.gnu.org>
103
104 * expr.c (gfc_get_int_expr): Don't initialize mpfr data twice.
105 * resolve.c (build_default_init_expr): Ditto.
106
107 2010-07-11 Tobias Burnus <burnus@net-b.de>
108
109 PR fortran/44702
110 * module.c (sort_iso_c_rename_list): Remove.
111 (import_iso_c_binding_module,use_iso_fortran_env_module):
112 Allow multiple imports of the same symbol.
113
114 2010-07-11 Mikael Morin <mikael@gcc.gnu.org>
115
116 * arith.c (gfc_arith_done_1): Release mpfr internal caches.
117
118 2010-07-11 Janus Weil <janus@gcc.gnu.org>
119
120 PR fortran/44869
121 * decl.c (build_sym,attr_decl1): Only build the class container if the
122 symbol has sufficient attributes.
123 * expr.c (gfc_check_pointer_assign): Use class_pointer instead of
124 pointer attribute for classes.
125 * match.c (gfc_match_allocate,gfc_match_deallocate): Ditto.
126 * module.c (MOD_VERSION): Bump.
127 (enum ab_attribute,attr_bits): Add AB_CLASS_POINTER.
128 (mio_symbol_attribute): Handle class_pointer attribute.
129 * parse.c (parse_derived): Use class_pointer instead of pointer
130 attribute for classes.
131 * primary.c (gfc_variable_attr,gfc_expr_attr): Ditto.
132 * resolve.c (resolve_structure_cons,resolve_deallocate_expr,
133 resolve_allocate_expr,resolve_fl_derived): Ditto.
134 (resolve_fl_var_and_proc): Check for class_ok attribute.
135
136 2010-07-10 Mikael Morin <mikael@gcc.gnu.org>
137
138 * trans-io.c (gfc_build_st_parameter): Update calls to
139 gfc_add_field_to_struct.
140 * trans-stmt.c (ADD_FIELD): Ditto.
141 * trans-types.c
142 (gfc_get_derived_type): Ditto. Don't create backend_decl for C_PTR's
143 C_ADDRESS field.
144 (gfc_add_field_to_struct_1): Set TYPE_FIELDS(context) instead of
145 fieldlist, remove fieldlist from argument list.
146 (gfc_add_field_to_struct): Update call to gfc_add_field_to_struct_1
147 and remove fieldlist from argument list.
148 (gfc_get_desc_dim_type, gfc_get_array_descriptor_base,
149 gfc_get_mixed_entry_union): Move setting
150 TYPE_FIELDS to gfc_add_field_to_struct_1 and update calls to it.
151 * trans-types.h (gfc_add_field_to_struct): Update prototype.
152
153 2010-07-10 Paul Thomas <pault@gcc.gnu.org>
154
155 PR fortran/44773
156 * trans-expr.c (arrayfunc_assign_needs_temporary): No temporary
157 if the lhs has never been host associated, as well as not being
158 use associated, a pointer or a target.
159 * resolve.c (resolve_variable): Mark variables that are host
160 associated.
161 * gfortran.h: Add the host_assoc bit to the symbol_attribute
162 structure.
163
164 2010-07-09 Janus Weil <janus@gcc.gnu.org>
165
166 * intrinsic.texi: Add documentation for SAME_TYPE_AS, EXTENDS_TYPE_OF,
167 STORAGE_SIZE, C_NULL_PTR and C_NULL_FUNPTR. Modify documentation of
168 SIZEOF and C_SIZEOF.
169
170 2010-07-08 Janus Weil <janus@gcc.gnu.org>
171
172 PR fortran/44649
173 * gfortran.h (gfc_isym_id): Add GFC_ISYM_C_SIZEOF,GFC_ISYM_STORAGE_SIZE.
174 * intrinsic.h (gfc_check_c_sizeof,gfc_check_storage_size,
175 gfc_resolve_storage_size): New prototypes.
176 * check.c (gfc_check_c_sizeof,gfc_check_storage_size): New functions.
177 * intrinsic.c (add_functions): Add STORAGE_SIZE.
178 * iresolve.c (gfc_resolve_storage_size): New function.
179 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle polymorphic
180 arguments.
181 (gfc_conv_intrinsic_storage_size): New function.
182 (gfc_conv_intrinsic_function): Handle STORAGE_SIZE.
183
184 2010-07-08 Jakub Jelinek <jakub@redhat.com>
185
186 PR fortran/44847
187 * match.c (match_exit_cycle): Error on EXIT also from collapsed
188 !$omp do loops. Error on CYCLE to non-innermost collapsed
189 !$omp do loops.
190
191 2010-07-08 Tobias Burnus <burnus@net-b.de>
192
193 PR fortran/18918
194 * array.c (gfc_match_array_ref): Better error message for
195 coarrays with too few ranks.
196 (match_subscript): Move one diagnostic to caller.
197 * gfortran.h (gfc_get_corank): Add prottype.
198 * expr.c (gfc_get_corank): New function.
199 * iresolve.c (resolve_bound): Fix rank for cobounds.
200 (gfc_resolve_lbound,gfc_resolve_lcobound, gfc_resolve_ubound,
201 gfc_resolve_ucobound, gfc_resolve_this_image): Update
202 resolve_bound call.
203
204 2010-07-06 Tobias Burnus <burnus@net-b.de>
205
206 PR fortran/44742
207 * array.c (gfc_expand_constructor): Add optional diagnostic.
208 * gfortran.h (gfc_expand_constructor): Update prototype.
209 * expr.c (gfc_simplify_expr, check_init_expr,
210 gfc_reduce_init_expr): Update gfc_expand_constructor call.
211 * resolve.c (gfc_resolve_expr): Ditto.
212
213 2010-07-06 Tobias Burnus <burnus@net-b.de>
214
215 * trans-decl.c: Include diagnostic-core.h besides toplev.h.
216 * trans-intrinsic.c: Ditto.
217 * trans-types.c: Ditto.
218 * convert.c: Include diagnostic-core.h instead of toplev.h.
219 * options.c: Ditto.
220 * trans-array.c: Ditto.
221 * trans-const.c: Ditto.
222 * trans-expr.c: Ditto.
223 * trans-io.c: Ditto.
224 * trans-openmp.c: Ditto.
225 * trans.c: Ditto.
226
227 2010-07-06 Thomas Koenig <tkoenig@gcc.gnu.org>
228
229 PR fortran/PR44693
230 * check.c (dim_rank_check): Also check intrinsic functions.
231 Adjust permissible rank for functions which reduce the rank of
232 their argument. Spread is an exception, where DIM can
233 be one larger than the rank of array.
234
235 2010-07-05 Steven G. Kargl <kargl@gcc.gnu.org>
236
237 PR fortran/44797
238 * fortran/io.c (resolve_tag): Check EXIST tag is a default logical.
239
240 2010-07-05 Paul Thomas <pault@gcc.gnu.org>
241
242 PR fortran/44596
243 * trans-types.c (gfc_get_derived_type): Derived type fields
244 with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set
245 but build_pointer_type_for_mode must be used for this.
246
247 2010-07-05 Nathan Froyd <froydnj@codesourcery.com>
248
249 * trans.h (gfc_conv_procedure_call): Take a VEC instead of a tree.
250 * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Adjust for new
251 type of gfc_conv_procedure_call.
252 (conv_generic_with_optional_char_arg): Likewise.
253 * trans-stmt.c (gfc_trans_call): Likewise.
254 * trans-expr.c (gfc_conv_function_expr): Likewise.
255 (gfc_conv_procedure_call): Use build_call_vec instead of
256 build_call_list.
257
258 2010-07-04 Daniel Kraft <d@domob.eu>
259
260 * gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE.
261
262 2010-07-04 Paul Thomas <pault@gcc.gnu.org>
263
264 PR fortran/44596
265 PR fortran/44745
266 * trans-types.c (gfc_get_derived_type): Derived type fields
267 with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set.
268
269 2010-07-02 Mikael Morin <mikael@gcc.gnu.org>
270
271 PR fortran/44662
272 * decl.c (match_procedure_in_type): Clear structure before using.
273 (gfc_match_generic): Ditto.
274
275 2010-07-02 Nathan Froyd <froydnj@codesourcery.com>
276
277 * trans-types.h (gfc_add_field_to_struct): Add tree ** parameter.
278 * trans-types.c (gfc_add_field_to_struct_1): New function, most
279 of which comes from...
280 (gfc_add_field_to_struct): ...here. Call it. Add new parameter.
281 (gfc_get_desc_dim_type): Call gfc_add_field_to_struct_1 for
282 building fields.
283 (gfc_get_array_descriptor_base): Likewise.
284 (gfc_get_mixed_entry_union): Likewise.
285 (gfc_get_derived_type): Add extra chain parameter for
286 gfc_add_field_to_struct.
287 * trans-stmt.c (gfc_trans_character_select): Likewise.
288 * trans-io.c (gfc_build_st_parameter): Likewise.
289
290 2010-06-29 Janus Weil <janus@gcc.gnu.org>
291
292 PR fortran/44718
293 * resolve.c (is_external_proc): Prevent procedure pointers from being
294 regarded as external procedures.
295
296 2010-06-29 Janus Weil <janus@gcc.gnu.org>
297
298 PR fortran/44696
299 * trans-intrinsic.c (gfc_conv_associated): Handle polymorphic variables
300 passed as second argument of ASSOCIATED.
301
302 2010-06-29 Paul Thomas <pault@gcc.gnu.org>
303
304 PR fortran/44582
305 * trans-expr.c (arrayfunc_assign_needs_temporary): New function
306 to determine if a function assignment can be made without a
307 temporary.
308 (gfc_trans_arrayfunc_assign): Move all the conditions that
309 suppress the direct function call to the above new functon and
310 call it.
311
312 2010-06-28 Paul Thomas <pault@gcc.gnu.org>
313
314 PR fortran/40158
315 * interface.c (argument_rank_mismatch): New function.
316 (compare_parameter): Call new function instead of generating
317 the error directly.
318
319 2010-06-28 Nathan Froyd <froydnj@codesourcery.com>
320
321 * trans-openmp.c (dovar_init): Define. Define VECs containing it.
322 (gfc_trans_omp_do): Use a VEC to accumulate variables and their
323 initializers.
324
325 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
326
327 * Make-lang.in: Update dependencies.
328
329 2010-06-27 Nathan Froyd <froydnj@codesourcery.com>
330
331 * gfortran.h (gfc_code): Split backend_decl field into cycle_label
332 and exit_label fields.
333 * trans-openmp.c (gfc_trans_omp_do): Assign to new fields
334 individually.
335 * trans-stmt.c (gfc_trans_simple_do): Likewise.
336 (gfc_trans_do): Likewise.
337 (gfc_trans_do_while): Likewise.
338 (gfc_trans_cycle): Use cycle_label directly.
339 (gfc_trans_exit): Use exit_label directly.
340
341 2010-06-27 Daniel Kraft <d@domob.eu>
342
343 * dump-parse-tree.c (show_symbol): Dump target-expression for
344 associate names.
345 (show_code_node): Make distinction between BLOCK and ASSOCIATE.
346 (show_namespace): Use show_level for correct indentation of
347 "inner namespaces" (contained procedures or BLOCK).
348
349 2010-06-27 Thomas Koenig <tkoenig@gcc.gnu.org>
350
351 PR fortran/44678
352 * dump-parse-tree.c (show_code_node): Show namespace for
353 EXEC_BLOCK.
354
355 2010-06-26 Tobias Burnus <burnus@net-b.de>
356
357 * decl.c (gfc_match_decl_type_spec): Support
358 TYPE(intrinsic-type-spec).
359
360 2010-06-25 Tobias Burnus <burnus@net-b.de>
361
362 * intrinsic.h (gfc_check_selected_real_kind,
363 gfc_simplify_selected_real_kind): Update prototypes.
364 * intrinsic.c (add_functions): Add radix support to
365 selected_real_kind.
366 * check.c (gfc_check_selected_real_kind): Ditto.
367 * simplify.c (gfc_simplify_selected_real_kind): Ditto.
368 * trans-decl.c (gfc_build_intrinsic_function_decls):
369 Change call from selected_real_kind to selected_real_kind2008.
370 * intrinsic.texi (SELECTED_REAL_KIND): Update for radix.
371 (PRECISION, RANGE, RADIX): Add cross @refs.
372
373 2010-06-25 Tobias Burnus <burnus@net-b.de>
374
375 * decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS.
376 * gfortran.texi (_gfortran_set_options): Update for
377 GFC_STD_F2008_OBS addition.
378 * libgfortran.h: Add GFC_STD_F2008_OBS.
379 * options.c (set_default_std_flags, gfc_handle_option): Handle
380 GFC_STD_F2008_OBS.
381 io.c (check_format): Fix allow_std check.
382
383 2010-06-25 Tobias Burnus <burnus@net-b.de>
384
385 * decl.c (gfc_match_entry): Allow END besides
386 END SUBROUTINE/END FUNCTION for contained procedures.
387
388 2010-06-25 Tobias Burnus <burnus@net-b.de>
389
390 * parse.c (next_free, next_fixed): Allow ";" as first character.
391
392 2010-06-24 Tobias Burnus <burnus@net-b.de>
393
394 PR fortran/44614
395 * decl.c (variable_decl): Fix IMPORT diagnostic for CLASS.
396
397 2010-06-22 Janus Weil <janus@gcc.gnu.org>
398
399 PR fortran/44616
400 * resolve.c (resolve_fl_derived): Avoid checking for abstract on class
401 containers.
402
403 2010-06-21 Tobias Burnus <burnus@net-b.de>
404
405 PR fortran/40632
406 * interface.c (compare_parameter): Add gfc_is_simply_contiguous
407 checks.
408 * symbol.c (gfc_add_contiguous): New function.
409 (gfc_copy_attr, check_conflict): Handle contiguous attribute.
410 * decl.c (match_attr_spec): Ditto.
411 (gfc_match_contiguous): New function.
412 * resolve.c (resolve_fl_derived, resolve_symbol): Handle
413 contiguous.
414 * gfortran.h (symbol_attribute): Add contiguous.
415 (gfc_is_simply_contiguous): Add prototype.
416 (gfc_add_contiguous): Add prototype.
417 * match.h (gfc_match_contiguous): Add prototype.
418 * parse.c (decode_specification_statement,
419 decode_statement): Handle contiguous attribute.
420 * expr.c (gfc_is_simply_contiguous): New function.
421 * dump-parse-tree.c (show_attr): Handle contiguous.
422 * module.c (ab_attribute, attr_bits, mio_symbol_attribute):
423 Ditto.
424 * trans-expr.c (gfc_add_interface_mapping): Copy
425 attr.contiguous.
426 * trans-array.c (gfc_conv_descriptor_stride_get,
427 gfc_conv_array_parameter): Handle contiguous arrays.
428 * trans-types.c (gfc_build_array_type, gfc_build_array_type,
429 gfc_sym_type, gfc_get_derived_type, gfc_get_array_descr_info):
430 Ditto.
431 * trans.h (gfc_array_kind): Ditto.
432 * trans-decl.c (gfc_get_symbol_decl): Ditto.
433
434 2010-06-20 Joseph Myers <joseph@codesourcery.com>
435
436 * options.c (gfc_handle_option): Don't handle N_OPTS.
437
438 2010-06-19 Janus Weil <janus@gcc.gnu.org>
439
440 PR fortran/44584
441 * resolve.c (resolve_fl_derived): Reverse ordering of conditions
442 to avoid ICE.
443
444 2010-06-18 Tobias Burnus <burnus@net-b.de>
445
446 PR fortran/44556
447 * resolve.c (resolve_allocate_deallocate): Properly check
448 part-refs in stat=/errmsg= for invalid use.
449
450 2010-06-17 Janus Weil <janus@gcc.gnu.org>
451
452 PR fortran/44558
453 * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
454 Return directly in case of an error.
455
456 2010-06-16 Janus Weil <janus@gcc.gnu.org>
457
458 PR fortran/44549
459 * gfortran.h (gfc_get_typebound_proc): Modified Prototype.
460 * decl.c (match_procedure_in_type): Give a unique gfc_typebound_proc
461 structure to each procedure in a procedure list.
462 * module.c (mio_typebound_proc): Add NULL argument to
463 'gfc_get_typebound_proc'.
464 * symbol.c (gfc_get_typebound_proc): Add a new argument, which is used
465 to initialize the new structure.
466
467 2010-06-15 Janus Weil <janus@gcc.gnu.org>
468
469 PR fortran/43388
470 * gfortran.h (gfc_expr): Add new member 'mold'.
471 * match.c (gfc_match_allocate): Implement the MOLD tag.
472 * resolve.c (resolve_allocate_expr): Ditto.
473 * trans-stmt.c (gfc_trans_allocate): Ditto.
474
475 2010-06-15 Jakub Jelinek <jakub@redhat.com>
476
477 PR fortran/44536
478 * trans-openmp.c (gfc_omp_predetermined_sharing): Don't return
479 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with
480 GFC_DECL_SAVED_DESCRIPTOR set.
481 (gfc_omp_report_decl): New function.
482 * trans.h (gfc_omp_report_decl): New prototype.
483 * f95-lang.c (LANG_HOOKS_OMP_REPORT_DECL): Redefine.
484
485 2010-06-13 Daniel Franke <franke.daniel@gmail.com>
486
487 PR fortran/31588
488 PR fortran/43954
489 * gfortranspec.c (lang_specific_driver): Removed deprecation
490 warning for -M.
491 * lang.opt: Add options -M, -MM, -MD, -MMD, -MF, -MG, -MP, -MT, -MQ.
492 * lang-specs.h (CPP_FORWARD_OPTIONS): Add -M* options.
493 * cpp.h (gfc_cpp_makedep): New.
494 (gfc_cpp_add_dep): New.
495 (gfc_cpp_add_target): New.
496 * cpp.c (gfc_cpp_option): Add deps* members.
497 (gfc_cpp_makedep): New.
498 (gfc_cpp_add_dep): New.
499 (gfc_cpp_add_target): New.
500 (gfc_cpp_init_options): Initialize new options.
501 (gfc_cpp_handle_option): Handle new options.
502 (gfc_cpp_post_options): Map new options to libcpp-options.
503 (gfc_cpp_init): Handle deferred -MQ and -MT options.
504 (gfc_cpp_done): If requested, write dependencies to file.
505 * module.c (gfc_dump_module): Add a module filename as target.
506 * scanner.c (open_included_file): New parameter system; add the
507 included file as dependency.
508 (gfc_open_included_file): Add the included file as dependency.
509 (gfc_open_intrinsic_module): Likewise.
510 * invoke.texi: Removed deprecation warning for -M.
511 * gfortran.texi: Removed Makefile-dependencies project.
512
513 2010-06-12 Daniel Franke <franke.daniel@gmail.com>
514
515 * resolve.c (resolve_global_procedure): Improved checking if an
516 explicit interface is required.
517
518 2010-06-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
519
520 * trans-decl.c (gfc_build_intrinsic_function_decls): Fix
521 return type.
522 * trans-intrinsic.c (gfc_conv_intrinsic_fdate): Fix argument type.
523 (gfc_conv_intrinsic_ttynam): Likewise.
524 (gfc_conv_intrinsic_trim): Likewise.
525
526 2010-06-12 Janus Weil <janus@gcc.gnu.org>
527
528 PR fortran/40117
529 * decl.c (match_procedure_in_type): Allow procedure lists (F08).
530
531 2010-06-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
532
533 * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Fix comment.
534
535 2010-06-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
536
537 * mathbuiltins.def: Add builtins that do not directly correspond
538 to a Fortran intrinsic, with new macro OTHER_BUILTIN.
539 * f95-lang.c (gfc_init_builtin_functions): Define OTHER_BUILTIN.
540 * trans-intrinsic.c (gfc_intrinsic_map_t): Remove
541 code_{r,c}{4,8,10,16} fields. Add
542 {,complex}{float,double,long_double}_built_in fields.
543 (gfc_intrinsic_map): Adjust definitions of DEFINE_MATH_BUILTIN,
544 DEFINE_MATH_BUILTIN_C and LIB_FUNCTION accordingly. Add
545 definition of OTHER_BUILTIN.
546 (real_compnt_info): Remove unused struct.
547 (builtin_decl_for_precision, builtin_decl_for_float_kind): New
548 functions.
549 (build_round_expr): Call builtin_decl_for_precision instead of
550 series of if-else.
551 (gfc_conv_intrinsic_aint): Call builtin_decl_for_float_kind
552 instead of a switch.
553 (gfc_build_intrinsic_lib_fndecls): Match
554 {real,complex}{4,8,10,16}decl into the C-style built_in_decls.
555 (gfc_get_intrinsic_lib_fndecl): Do not hardcode floating-point
556 kinds.
557 (gfc_conv_intrinsic_lib_function): Go through all the extended
558 gfc_intrinsic_map.
559 (gfc_trans_same_strlen_check): Call builtin_decl_for_float_kind
560 instead of a switch.
561 (gfc_conv_intrinsic_abs): Likewise.
562 (gfc_conv_intrinsic_mod): Likewise.
563 (gfc_conv_intrinsic_sign): Likewise.
564 (gfc_conv_intrinsic_fraction): Likewise.
565 (gfc_conv_intrinsic_nearest): Likewise.
566 (gfc_conv_intrinsic_spacing): Likewise.
567 (gfc_conv_intrinsic_rrspacing): Likewise.
568 (gfc_conv_intrinsic_scale): Likewise.
569 (gfc_conv_intrinsic_set_exponent): Likewise.
570
571 2010-06-11 Paul Thomas <pault@gcc.gnu.org>
572
573 PR fortran/42051
574 PR fortran/43896
575 * trans-expr.c (gfc_conv_derived_to_class): Handle array-valued
576 functions with CLASS formal arguments.
577
578 2010-06-10 Janus Weil <janus@gcc.gnu.org>
579
580 PR fortran/44207
581 * resolve.c (conformable_arrays): Handle allocatable components.
582
583 2010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
584
585 PR fortran/38273
586 * gfortran.texi: Document that Cray pointers cannot be function
587 results.
588
589 2010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
590
591 PR fortran/36234
592 * gfortran.texi: Document lack of support for syntax
593 "complex FUNCTION name*16()", and existence of alternative
594 legacy syntax "complex*16 FUNCTION name()".
595
596 2010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
597
598 PR fortran/43032
599 * intrinsic.texi (FLUSH): Note the difference between FLUSH and
600 POSIX's fsync(), and how to call the latter from Fortran code.
601
602 2010-06-10 Daniel Franke <franke.daniel@gmail.com>
603
604 PR fortran/44457
605 * interface.c (compare_actual_formal): Reject actual arguments with
606 array subscript passed to ASYNCHRONOUS dummys.
607
608 2010-06-10 Daniel Kraft <d@domob.eu>
609
610 PR fortran/38936
611 * gfortran.h (enum gfc_statement): Add ST_ASSOCIATE, ST_END_ASSOCIATE.
612 (struct gfc_symbol): New field `assoc'.
613 (struct gfc_association_list): New struct.
614 (struct gfc_code): New struct `block' in union, move `ns' there
615 and add association list.
616 (gfc_free_association_list): New method.
617 (gfc_has_vector_subscript): Made public;
618 * match.h (gfc_match_associate): New method.
619 * parse.h (enum gfc_compile_state): Add COMP_ASSOCIATE.
620 * decl.c (gfc_match_end): Handle ST_END_ASSOCIATE.
621 * interface.c (gfc_has_vector_subscript): Made public.
622 (compare_actual_formal): Rename `has_vector_subscript' accordingly.
623 * match.c (gfc_match_associate): New method.
624 (gfc_match_select_type): Change reference to gfc_code's `ns' field.
625 * primary.c (match_variable): Don't allow names associated to expr here.
626 * parse.c (decode_statement): Try matching ASSOCIATE statement.
627 (case_exec_markers, case_end): Add ASSOCIATE statement.
628 (gfc_ascii_statement): Hande ST_ASSOCIATE and ST_END_ASSOCIATE.
629 (parse_associate): New method.
630 (parse_executable): Handle ST_ASSOCIATE.
631 (parse_block_construct): Change reference to gfc_code's `ns' field.
632 * resolve.c (resolve_select_type): Ditto.
633 (resolve_code): Ditto.
634 (resolve_block_construct): Ditto and add comment.
635 (resolve_select_type): Set association list in generated BLOCK to NULL.
636 (resolve_symbol): Resolve associate names.
637 * st.c (gfc_free_statement): Change reference to gfc_code's `ns' field
638 and free association list.
639 (gfc_free_association_list): New method.
640 * symbol.c (gfc_new_symbol): NULL new field `assoc'.
641 * trans-stmt.c (gfc_trans_block_construct): Change reference to
642 gfc_code's `ns' field.
643
644 2010-06-10 Kai Tietz <kai.tietz@onevision.com>
645
646 * error.c (error_print): Pre-initialize loc by NULL.
647 * openmp.c (resolve_omp_clauses): Add explicit
648 braces to avoid ambigous else.
649 * array.c (match_subscript): Pre-initialize m to MATCH_ERROR.
650
651 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
652
653 * gfc-internals.texi: Move to GFDL 1.3.
654 * gfortran.texi: Ditto.
655 * intrinsic.texi: Ditto.
656 * invoke.texi: Ditto.
657
658 2010-06-09 Daniel Franke <franke.daniel@gmail.com>
659
660 PR fortran/44347
661 * check.c (gfc_check_selected_real_kind): Verify that the
662 actual arguments are scalar.
663
664 2010-06-09 Daniel Franke <franke.daniel@gmail.com>
665
666 PR fortran/44359
667 * intrinsic.c (gfc_convert_type_warn): Further improve -Wconversion.
668
669 2010-06-09 Janus Weil <janus@gcc.gnu.org>
670
671 PR fortran/44430
672 * dump-parse-tree.c (show_symbol): Avoid infinite loop.
673
674 2010-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
675
676 * fortran/symbol.c (check_conflict): Remove an invalid conflict check.
677
678 2010-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
679
680 * fortran/intrinsic.c (add_functions): Change gfc_check_btest,
681 gfc_check_ibclr, and gfc_check_ibset to gfc_check_bitfcn.
682 * fortran/intrinsic.h: Remove prototypes for gfc_check_btest,
683 gfc_check_ibclr, and gfc_check_ibset. Add prototype for
684 gfc_check_bitfcn.
685 * fortran/check.c (nonnegative_check, less_than_bitsize1,
686 less_than_bitsize2): New functions.
687 (gfc_check_btest): Renamed to gfc_check_bitfcn. Use
688 nonnegative_check and less_than_bitsize1.
689 (gfc_check_ibclr, gfc_check_ibset): Removed.
690 (gfc_check_ibits,gfc_check_mvbits): Use nonnegative_check and
691 less_than_bitsize1.
692
693 2010-06-09 Janus Weil <janus@gcc.gnu.org>
694
695 PR fortran/44211
696 * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
697 Resolve references.
698
699 2010-06-09 Kai Tietz <kai.tietz@onevision.com>
700
701 * resolve.c (resolve_deallocate_expr): Avoid warning
702 about possible use of iunitialized sym.
703 (resolve_allocate_expr): Pre-initialize sym by NULL.
704
705 2010-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
706
707 PR fortran/43040
708 * f95-lang.c (gfc_init_builtin_functions): Remove comment.
709
710 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
711
712 * trans-types.c (gfc_get_nodesc_array_type): Use typed GC
713 allocation.
714 (gfc_get_array_type_bounds): Likewise.
715
716 * trans-decl.c (gfc_allocate_lang_decl): Likewise.
717 (gfc_find_module): Likewise.
718
719 * f95-lang.c (pushlevel): Likewise.
720
721 * trans.h (struct lang_type): Add variable_size GTY option.
722 (struct lang_decl): Likewise.
723
724 2010-06-08 Tobias Burnus <burnus@net-b.de>
725
726 PR fortran/44446
727 * symbol.c (check_conflict): Move protected--external/procedure check ...
728 * resolve.c (resolve_select_type): ... to the resolution stage.
729
730 2010-06-07 Tobias Burnus <burnus@net-b.de>
731
732 * options.c (gfc_handle_option): Fix -fno-recursive.
733
734 2010-06-07 Tobias Burnus <burnus@net-b.de>
735
736 * gfc-internals.texi (copyrights-gfortran): Fix copyright year format.
737 * gfortran.texi (copyrights-gfortran): Ditto.
738
739 2010-06-07 Joseph Myers <joseph@codesourcery.com>
740
741 * lang.opt (fshort-enums): Define using Var and VarExists.
742 * options.c (gfc_handle_option): Don't set flag_short_enums here.
743
744 2010-06-05 Paul Thomas <pault@gcc.gnu.org>
745 Janus Weil <janus@gcc.gnu.org>
746
747 PR fortran/43945
748 * resolve.c (get_declared_from_expr): Move to before
749 resolve_typebound_generic_call. Make new_ref and class_ref
750 ignorable if set to NULL.
751 (resolve_typebound_generic_call): Once we have resolved the
752 generic call, check that the specific instance is that which
753 is bound to the declared type.
754 (resolve_typebound_function,resolve_typebound_subroutine): Avoid
755 freeing 'class_ref->next' twice.
756
757 2010-06-05 Paul Thomas <pault@gcc.gnu.org>
758
759 PR fortran/43895
760 * trans-array.c (structure_alloc_comps): Dereference scalar
761 'decl' if it is a REFERENCE_TYPE. Tidy expressions containing
762 TREE_TYPE (decl).
763
764 2010-06-04 Joseph Myers <joseph@codesourcery.com>
765
766 * gfortranspec.c (append_arg, lang_specific_driver): Use
767 GCC-specific formats in diagnostics.
768
769 2010-06-02 Tobias Burnus <burnus@net-b.de>
770
771 PR fortran/44360
772 * parse.c (gfc_fixup_sibling_symbols): Do not "fix" use-associated
773 symbols.
774
775 2010-06-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
776
777 PR fortran/44371
778 * match.c (gfc_match_stopcode): Move gfc_match_eos call inside
779 condition block.
780
781 2010-05-31 Steven G. Kargl <kargl@gcc.gnu.org>
782
783 * fortran/gfortran.texi: Fix typos in description of variable-format-
784 expressions.
785
786 2010-05-31 Thomas Koenig <tkoenig@gcc.gnu.org>
787
788 PR fortran/36928
789 * dependency.c (gfc_check_section_vs_section): Check
790 for interleaving array assignments without conflicts.
791
792 2010-05-30 Janus Weil <janus@gcc.gnu.org>
793
794 * gcc/fortran/gfortran.h (CLASS_DATA): New macro for accessing the
795 $data component of a class container.
796 * gcc/fortran/decl.c (attr_decl1): Use macro CLASS_DATA.
797 * gcc/fortran/expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol,
798 gfc_has_ultimate_allocatable,gfc_has_ultimate_pointer): Ditto.
799 * gcc/fortran/interface.c (matching_typebound_op): Ditto.
800 * gcc/fortran/match.c (gfc_match_allocate, gfc_match_deallocate): Ditto.
801 * gcc/fortran/parse.c (parse_derived): Ditto.
802 * gcc/fortran/primary.c (gfc_match_varspec, gfc_variable_attr,
803 gfc_expr_attr): Ditto.
804 * gcc/fortran/resolve.c (resolve_structure_cons, find_array_spec,
805 resolve_deallocate_expr, resolve_allocate_expr, resolve_select_type,
806 resolve_fl_var_and_proc, resolve_typebound_procedure,
807 resolve_fl_derived): Ditto.
808 * gcc/fortran/symbol.c (gfc_type_compatible): Restructured.
809 * gcc/fortran/trans-array.c (structure_alloc_comps): Use macro
810 CLASS_DATA.
811 * gcc/fortran/trans-decl.c (gfc_get_symbol_decl,
812 gfc_trans_deferred_vars): Ditto.
813 * gcc/fortran/trans-stmt.c (gfc_trans_allocate): Ditto.
814
815 2010-05-28 Tobias Burnus <burnus@net-b.de>
816
817 * options.c (gfc_handle_option): Fix handling of -fno-whole-file.
818
819 2010-05-28 Joseph Myers <joseph@codesourcery.com>
820
821 * gfortranspec.c (append_arg, lang_specific_driver): Use
822 fatal_error instead of fatal. Use warning instead of fprintf for
823 warnings.
824
825 2010-05-28 Joseph Myers <joseph@codesourcery.com>
826
827 * cpp.c (gfc_cpp_init_0): Use xstrerror instead of strerror.
828 * module.c (write_char, gfc_dump_module, gfc_use_module): Use
829 xstrerror instead of strerror.
830
831 2010-05-26 Joseph Myers <joseph@codesourcery.com>
832
833 * cpp.c (cb_cpp_error): Save and restore
834 global_dc->warn_system_headers, not variable warn_system_headers.
835
836 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
837
838 * fortran/f95-lang.c: Do not include libfuncs.h, expr.h, and except.h.
839
840 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
841
842 * trans-common.c: Do not include rtl.h, include output.h instead.
843 * trans-decl.c: Likewise.
844
845 2010-05-26 Paul Thomas <pault@gcc.gnu.org>
846
847 PR fortran/40011
848 * resolve.c (resolve_global_procedure): Resolve the gsymbol's
849 namespace before trying to reorder the gsymbols.
850
851 2010-05-25 Daniel Franke <franke.daniel@gmail.com>
852
853 PR fortran/30668
854 PR fortran/31346
855 PR fortran/34260
856 * resolve.c (resolve_global_procedure): Add check for global
857 procedures with implicit interfaces and assumed-shape or optional
858 dummy arguments. Verify that function return type, kind and string
859 lengths match.
860
861 2010-05-21 Tobias Burnus <burnus@net-b.de>
862
863 * gfortran.h: Do not include system.h.
864 * bbt.c: Include system.h.
865 * data.c: Ditto.
866 * dependency.c: Ditto.
867 * dump-parse-tree.c: Ditto.
868 * arith.h: Do not include gfortran.h.
869 * constructor.h: Do not include gfortran.h and splay-tree.h.
870 * match.h: Do not include gfortran.h.
871 * parse.h: Ditto.
872 * target-memory.h: Ditto.
873 * openmp.c: Do not include toplev.h and target.h.
874 * trans-stmt.c: Ditto not include toplev.h.
875 * primary.c: Ditto.
876 * trans-common.c: Tell why toplev.h is needed. And
877 do not include target.h.
878 * trans-expr.c: Tell why toplev.h is needed.
879 * trans-array.c: Ditto.
880 * trans-openmp.c: Ditto.
881 * trans-const.c: Ditto.
882 * trans.c: Ditto.
883 * trans-types.c: Ditto.
884 * trans-io.c: Ditto.
885 * trans-decl.c: Ditto.
886 * scanner.c: Ditto.
887 * convert.c: Ditto.
888 * trans-intrinsic.c: Ditto.
889 * options.c: Ditto.
890
891 2010-05-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
892
893 PR fortran/43851
894 * match.c (gfc_match_stopcode): Use gfc_match_init_expr. Go to cleanup
895 before returning MATCH_ERROR. Add check for scalar. Add check for
896 default integer kind.
897
898 2010-05-22 Janus Weil <janus@gcc.gnu.org>
899
900 PR fortran/44212
901 * match.c (gfc_match_select_type): On error jump back out of the local
902 namespace.
903 * parse.c (parse_derived): Defer creation of vtab symbols to resolution
904 stage, more precisely to ...
905 * resolve.c (resolve_fl_derived): ... this place.
906
907 2010-05-22 Janus Weil <janus@gcc.gnu.org>
908
909 PR fortran/44213
910 * resolve.c (ensure_not_abstract): Allow abstract types with
911 non-abstract ancestors.
912
913 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
914
915 * trans-const.c: Include realmpfr.h.
916 * Make-lang.in: Update dependencies.
917
918 2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
919
920 * trans-const.c, trans-types.c, trans-intrinsic.c:
921 Clean up redundant includes.
922
923 2010-05-20 Daniel Franke <franke.daniel@gmail.com>
924
925 PR fortran/38407
926 * lang.opt (Wunused-dummy-argument): New option.
927 * gfortran.h (gfc_option_t): Add warn_unused_dummy_argument.
928 * options.c (gfc_init_options): Disable warn_unused_dummy_argument.
929 (set_Wall): Enable warn_unused_dummy_argument.
930 (gfc_handle_option): Set warn_unused_dummy_argument according to
931 command line.
932 * trans-decl.c (generate_local_decl): Separate warnings about
933 unused variables and unused dummy arguments.
934 * invoke.texi: Documented new option.
935
936 2010-05-20 Steven Bosscher <steven@gcc.gnu.org>
937
938 * trans-expr.c: Do not include convert.h, ggc.h, real.h, and gimple.h.
939 (gfc_conv_string_tmp): Do not assert type comparibilty.
940 * trans-array.c: Do not include gimple.h, ggc.h, and real.h.
941 (gfc_conv_expr_descriptor): Remove assert.
942 * trans-common.c: Clarify why rtl.h and tm.h are included.
943 * trans-openmp.c: Do not include ggc.h and real.h.
944 Explain why gimple.h is included.
945 * trans-const.c: Do not include ggc.h.
946 * trans-stmt.c: Do not include gimple.h, ggc.h, and real.h.
947 * trans.c: Do not include ggc.h and real.h.
948 Explain why gimple.h is included.
949 * trans-types.c: Do not include tm.h. Explain why langhooks.h
950 and dwarf2out.h are included.
951 * trans-io.c: Do not include gimple.h and real.h.
952 * trans-decl.c: Explain why gimple.h, tm.h, and rtl.h are included.
953 * trans-intrinsic.c: Do not include gimple.h. Explain why tm.h
954 is included.
955
956 2010-05-20 Tobias Burnus <burnus@net-b.de>
957
958 * options.c (gfc_init_options,gfc_post_options): Enable
959 flag_associative_math by default.
960
961 2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
962
963 PR fortran/43851
964 * trans-stmt.c (gfc_trans_stop): Add generation of call to
965 gfortran_error_stop_numeric. Fix up some whitespace. Use stop_string for
966 blank STOP, handling a null expression. (gfc_trans_pause): Use
967 pause_string for blank PAUSE.
968 * trans.h: Add external function declaration for error_stop_numeric.
969 * trans-decl.c (gfc_build_builtin_function_decls): Add the building of
970 the declaration for the library call. Adjust whitespaces.
971 * match.c (gfc_match_stopcode): Remove use of the actual stop code to
972 signal no stop code. Match the expression following the stop and pass
973 that to the translators. Remove the old use of digit matching. Add
974 checks that the stop_code expression is INTEGER or CHARACTER, constant,
975 and if CHARACTER, default character KIND.
976
977 2010-05-19 Daniel Franke <franke.daniel@gmail.com>
978
979 PR fortran/44055
980 * lang.opt (Wconversion-extra): New option.
981 * gfortran.h (gfc_option_t): Add warn_conversion_extra.
982 * options.c (gfc_init_options): Disable -Wconversion-extra by default.
983 (set_Wall): Enable -Wconversion.
984 (gfc_handle_option): Set warn_conversion_extra.
985 * intrinsic.c (gfc_convert_type_warn): Ignore kind conditions
986 introduced for -Wconversion if -Wconversion-extra is present.
987 * invoke.texi: Add -Wconversion to -Wall; document new behaviour of
988 -Wconversion; document -Wconversion-extra.
989
990 2010-05-19 Daniel Franke <franke.daniel@gmail.com>
991
992 PR fortran/42360
993 * gfortran.h (gfc_has_default_initializer): New.
994 * expr.c (gfc_has_default_initializer): New.
995 * resolve.c (has_default_initializer): Removed, use
996 gfc_has_default_initializer() instead. Updated all callers.
997 * trans-array.c (has_default_initializer): Removed, use
998 gfc_has_default_initializer() instead. Updated all callers.
999 * trans-decl.c (generate_local_decl): Do not check the
1000 first component only to check for initializers, but use
1001 gfc_has_default_initializer() instead.
1002
1003 2010-05-19 Daniel Franke <franke.daniel@gmail.com>
1004
1005 PR fortran/38404
1006 * primary.c (match_string_constant): Move start_locus just inside
1007 the string.
1008 * data.c (create_character_intializer): Clarified truncation warning.
1009
1010 2010-05-19 Daniel Franke <franke.daniel@gmail.com>
1011
1012 PR fortran/34505
1013 * intrinsic.h (gfc_check_float): New prototype.
1014 (gfc_check_sngl): New prototype.
1015 * check.c (gfc_check_float): New.
1016 (gfc_check_sngl): New.
1017 * intrinsic.c (add_functions): Moved DFLOAT from aliasing DBLE
1018 to be a specific for REAL. Added check routines for FLOAT, DFLOAT
1019 and SNGL.
1020 * intrinsic.texi: Removed individual nodes of FLOAT, DFLOAT and SNGL,
1021 added them to the list of specifics of REAL instead.
1022
1023 2010-05-17 Janus Weil <janus@gcc.gnu.org>
1024
1025 PR fortran/43990
1026 * trans-expr.c (gfc_conv_structure): Remove unneeded and buggy code.
1027 This is now handled via 'gfc_class_null_initializer'.
1028
1029 2010-05-17 Janus Weil <janus@gcc.gnu.org>
1030
1031 * class.c (gfc_add_component_ref,gfc_class_null_initializer,
1032 gfc_build_class_symbol,add_proc_component,add_proc_comps,
1033 add_procs_to_declared_vtab1,copy_vtab_proc_comps,
1034 add_procs_to_declared_vtab,add_generic_specifics,
1035 add_generics_to_declared_vtab,gfc_find_derived_vtab,
1036 find_typebound_proc_uop,gfc_find_typebound_proc,
1037 gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
1038 gfc_get_tbp_symtree): Moved here from other places.
1039 * expr.c (gfc_add_component_ref,gfc_class_null_initializer): Move to
1040 class.c.
1041 * gfortran.h (gfc_build_class_symbol,gfc_find_derived_vtab,
1042 gfc_find_typebound_proc,gfc_find_typebound_user_op,
1043 gfc_find_typebound_intrinsic_op,gfc_get_tbp_symtree,
1044 gfc_add_component_ref, gfc_class_null_initializer): Moved to class.c.
1045 * Make-lang.in: Add class.o.
1046 * symbol.c (gfc_build_class_symbol,add_proc_component,add_proc_comps,
1047 add_procs_to_declared_vtab1,copy_vtab_proc_comps,
1048 add_procs_to_declared_vtab,add_generic_specifics,
1049 add_generics_to_declared_vtab,gfc_find_derived_vtab,
1050 find_typebound_proc_uop,gfc_find_typebound_proc,
1051 gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
1052 gfc_get_tbp_symtree): Move to class.c.
1053
1054 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
1055
1056 * trans-types.c (gfc_init_types): Use build_function_type_list.
1057 (gfc_get_ppc_type): Likewise.
1058 * trans-decl.c (gfc_generate_constructors): Likewise.
1059 * f95-lang.c (build_builtin_fntypes): Likewise.
1060 (gfc_init_builtin_functions): Likewise.
1061 (DEF_FUNCTION_TYPE_0): Likewise.
1062 (DEF_FUNCTION_TYPE_1): Likewise.
1063 (DEF_FUNCTION_TYPE_2): Likewise.
1064 (DEF_FUNCTION_TYPE_3): Likewise.
1065 (DEF_FUNCTION_TYPE_4): Likewise.
1066 (DEF_FUNCTION_TYPE_5): Likewise.
1067 (DEF_FUNCTION_TYPE_6): Likewise.
1068 (DEF_FUNCTION_TYPE_7): Likewise. Use ARG7.
1069 (DEF_FUNCTION_TYPE_VAR_0): Use build_varags_function_type_list.
1070
1071 2010-05-17 Nathan Froyd <froydnj@codesourcery.com>
1072
1073 * trans-array.c (gfc_trans_array_constructor_value): Use
1074 build_constructor instead of build_constructor_from_list.
1075 (gfc_build_constant_array_constructor): Likewise.
1076 * trans-decl.c (create_main_function): Likewise.
1077 * trans-stmt.c (gfc_trans_character_select): Likewise.
1078
1079 2010-05-17 Janus Weil <janus@gcc.gnu.org>
1080
1081 PR fortran/44044
1082 * resolve.c (resolve_fl_var_and_proc): Move error messages here from ...
1083 (resolve_fl_variable_derived): ... this place.
1084 (resolve_symbol): Make sure function symbols (and their result
1085 variables) are not resolved twice.
1086
1087 2010-05-16 Daniel Franke <franke.daniel@gmail.com>
1088
1089 PR fortran/35779
1090 * array.c (match_array_list): Revert change from 2010-05-13.
1091
1092 2010-05-16 Richard Guenther <rguenther@suse.de>
1093
1094 * trans-decl.c (module_htab_decls_hash): Revert last change.
1095
1096 2010-05-16 Richard Guenther <rguenther@suse.de>
1097
1098 * trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE.
1099
1100 2010-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1101
1102 * options.c (set_Wall): Remove special logic for Wuninitialized
1103 without -O.
1104
1105 2010-05-15 Janus Weil <janus@gcc.gnu.org>
1106
1107 PR fortran/44154
1108 PR fortran/42647
1109 * trans-decl.c (gfc_trans_deferred_vars): Modify ordering of
1110 if branches.
1111
1112 2010-05-15 Janus Weil <janus@gcc.gnu.org>
1113
1114 PR fortran/43207
1115 PR fortran/43969
1116 * gfortran.h (gfc_class_null_initializer): New prototype.
1117 * expr.c (gfc_class_null_initializer): New function to build a NULL
1118 initializer for CLASS pointers.
1119 * symbol.c (gfc_build_class_symbol): Modify internal naming of class
1120 containers. Remove default NULL initialization of $data component.
1121 * trans.c (gfc_allocate_array_with_status): Fix wording of an error
1122 message.
1123 * trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
1124 Use new function 'gfc_class_null_initializer'.
1125 * trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
1126 class variables.
1127
1128 2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
1129
1130 PR fortran/44135
1131 * fortran/interface.c (get_sym_storage_size): Use signed instead of
1132 unsigned mpz_get_?i routines.
1133
1134 2010-05-14 Jakub Jelinek <jakub@redhat.com>
1135
1136 * trans.c (trans_code): Set backend locus early.
1137 * trans-decl.c (gfc_get_fake_result_decl): Use source location
1138 of the function instead of current input_location.
1139
1140 2010-05-13 Daniel Franke <franke.daniel@gmail.com>
1141
1142 PR fortran/35779
1143 * intrinsic.c (gfc_init_expr): Renamed to gfc_init_expr_flag.
1144 Updated all usages.
1145 * expr.c (init_flag): Removed; use gfc_init_expr_flag everywhere.
1146 * array.c (match_array_list): Pass on gfc_init_expr_flag when matching
1147 iterators.
1148
1149 2010-05-13 Jakub Jelinek <jakub@redhat.com>
1150
1151 PR fortran/44036
1152 * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
1153 variable lists.
1154 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
1155 by reference dummy procedures or non-dummy procedure pointers.
1156 (gfc_omp_predetermined_sharing): Return
1157 OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.
1158
1159 2010-05-11 Daniel Franke <franke.daniel@gmail.com>
1160
1161 PR fortran/43711
1162 * openmp.c (gfc_match_omp_taskwait): Report unexpected characters
1163 after OMP statement.
1164 (gfc_match_omp_critical): Likewise.
1165 (gfc_match_omp_flush): Likewise.
1166 (gfc_match_omp_workshare): Likewise.
1167 (gfc_match_omp_master): Likewise.
1168 (gfc_match_omp_ordered): Likewise.
1169 (gfc_match_omp_atomic): Likewise.
1170 (gfc_match_omp_barrier): Likewise.
1171 (gfc_match_omp_end_nowait): Likewise.
1172
1173 2010-05-11 Daniel Franke <franke.daniel@gmail.com>
1174
1175 PR fortran/31820
1176 * resolve.c (validate_case_label_expr): Removed FIXME.
1177 (resolve_select): Raise default warning on case labels out of range
1178 of the case expression.
1179
1180 2010-05-10 Daniel Franke <franke.daniel@gmail.com>
1181
1182 PR fortran/27866
1183 PR fortran/35003
1184 PR fortran/42809
1185 * intrinsic.c (gfc_convert_type_warn): Be more discriminative
1186 about conversion warnings.
1187
1188 2010-05-10 Janus Weil <janus@gcc.gnu.org>
1189
1190 PR fortran/44044
1191 * match.c (gfc_match_select_type): Move error message to
1192 resolve_select_type.
1193 * resolve.c (resolve_select_type): Error message moved here from
1194 gfc_match_select_type. Correctly set type of temporary.
1195
1196 2010-05-10 Richard Guenther <rguenther@suse.de>
1197
1198 * trans-decl.c (gfc_build_library_function_decl): Split out
1199 worker to ...
1200 (build_library_function_decl_1): ... this new function.
1201 Set a fnspec attribute if a specification was provided.
1202 (gfc_build_library_function_decl_with_spec): New function.
1203 (gfc_build_intrinsic_function_decls): Annotate internal_pack
1204 and internal_unpack.
1205
1206 2010-05-07 Daniel Franke <franke.daniel@gmail.com>
1207
1208 PR fortran/40728
1209 * intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol
1210 as external.
1211
1212 2010-05-07 Jason Merrill <jason@redhat.com>
1213
1214 * trans-expr.c (gfc_conv_procedure_call): Rename nullptr to null_ptr
1215 to avoid -Wc++-compat warning.
1216
1217 2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
1218
1219 PR 40989
1220 * options.c (gfc_handle_option): Add argument kind.
1221 * gfortran.h (gfc_handle_option): Update declaration.
1222
1223 2010-05-06 Tobias Burnus <burnus@net-b.de>
1224
1225 PR fortran/43985
1226 * trans-types.c (gfc_sym_type): Mark Cray pointees as
1227 GFC_POINTER_TYPE_P.
1228
1229 2010-05-05 Daniel Franke <franke.daniel@gmail.com>
1230
1231 PR fortran/32331
1232 * resolve.c (traverse_data_list): Rephrase error message for
1233 non-constant bounds in data-implied-do.
1234
1235 2010-05-05 Daniel Franke <franke.daniel@gmail.com>
1236
1237 PR fortran/24978
1238 * gfortran.h: Removed repeat count from constructor, removed
1239 all usages.
1240 * data.h (gfc_assign_data_value_range): Changed return value from
1241 void to gfc_try.
1242 * data.c (gfc_assign_data_value): Add location to constructor element.
1243 (gfc_assign_data_value_range): Call gfc_assign_data_value()
1244 for each element in range. Return early if an error was generated.
1245 * resolve.c (check_data_variable): Stop early if range assignment
1246 generated an error.
1247
1248 2010-05-05 Janus Weil <janus@gcc.gnu.org>
1249
1250 PR fortran/43696
1251 * resolve.c (resolve_fl_derived): Some fixes for class variables.
1252 * symbol.c (gfc_build_class_symbol): Add separate class container for
1253 class pointers.
1254
1255 2010-05-03 Steven G. Kargl <kargl@gcc.gnu.org>
1256
1257 PR fortran/43592
1258 * fortran/parse.c (parse_interface): Do not dereference a NULL pointer.
1259
1260 2010-05-02 Tobias Burnus <burnus@net-b.de>
1261
1262 PR fortran/18918
1263 * intrinsic.c (add_functions): Fix GFC_STD and add gfc_resolve_ calls
1264 for lcobound, ucobound, image_index and this_image.
1265 * intrinsic.h (gfc_resolve_lcobound, gfc_resolve_this_image,
1266 gfc_resolve_image_index, gfc_resolve_ucobound): New prototypes.
1267 * iresolve.c (gfc_resolve_lcobound, gfc_resolve_this_image,
1268 gfc_resolve_image_index, gfc_resolve_ucobound, resolve_bound): New
1269 functions.
1270 (gfc_resolve_lbound, gfc_resolve_ubound): Use resolve_bound.
1271
1272 2010-04-30 Tobias Burnus <burnus@net-b.de>
1273
1274 PR fortran/18918
1275 PR fortran/43931
1276 * trans-types.c (gfc_get_array_descriptor_base): Fix index
1277 calculation for array descriptor types.
1278
1279 2010-04-29 Janus Weil <janus@gcc.gnu.org>
1280
1281 PR fortran/43896
1282 * symbol.c (add_proc_component,copy_vtab_proc_comps): Remove
1283 initializers for PPC members of the vtabs.
1284
1285 2010-04-29 Janus Weil <janus@gcc.gnu.org>
1286
1287 PR fortran/42274
1288 * symbol.c (add_proc_component,add_proc_comps): Correctly set the 'ppc'
1289 attribute for all PPC members of the vtypes.
1290 (copy_vtab_proc_comps): Copy the correct interface.
1291 * trans.h (gfc_trans_assign_vtab_procs): Modified prototype.
1292 * trans-expr.c (gfc_trans_assign_vtab_procs): Pass the derived type as
1293 a dummy argument and make sure all PPC members of the vtab are
1294 initialized correctly.
1295 (gfc_conv_derived_to_class,gfc_trans_class_assign): Additional argument
1296 in call to gfc_trans_assign_vtab_procs.
1297 * trans-stmt.c (gfc_trans_allocate): Ditto.
1298
1299 2010-04-29 Paul Thomas <pault@gcc.gnu.org>
1300
1301 PR fortran/43326
1302 * resolve.c (resolve_typebound_function): Renamed
1303 resolve_class_compcall.Do all the detection of class references
1304 here.
1305 (resolve_typebound_subroutine): resolve_class_typebound_call
1306 renamed. Otherwise same as resolve_typebound_function.
1307 (gfc_resolve_expr): Call resolve_typebound_function.
1308 (resolve_code): Call resolve_typebound_subroutine.
1309
1310 2010-04-29 Janus Weil <janus@gcc.gnu.org>
1311
1312 PR fortran/43492
1313 * resolve.c (resolve_typebound_generic_call): For CLASS methods
1314 pass back the specific symtree name, rather than the target
1315 name.
1316
1317 2010-04-29 Paul Thomas <pault@gcc.gnu.org>
1318
1319 PR fortran/42353
1320 * resolve.c (resolve_structure_cons): Make the initializer of
1321 the vtab component 'extends' the same type as the component.
1322
1323 2010-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1324
1325 PR fortran/42680
1326 * interface.c (check_interface1): Pass symbol name rather than NULL to
1327 gfc_compare_interfaces.(gfc_compare_interfaces): Add assert to
1328 trap MULL. (gfc_compare_derived_types): Revert previous change
1329 incorporated incorrectly during merge from trunk, r155778.
1330 * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
1331 than NULL to gfc_compare_interfaces.
1332 * symbol.c (add_generic_specifics): Likewise.
1333
1334 2010-02-29 Janus Weil <janus@gcc.gnu.org>
1335
1336 PR fortran/42353
1337 * interface.c (gfc_compare_derived_types): Add condition for vtype.
1338 * symbol.c (gfc_find_derived_vtab): Sey access to private.
1339 (gfc_find_derived_vtab): Likewise.
1340 * module.c (ab_attribute): Add enumerator AB_VTAB.
1341 (mio_symbol_attribute): Use new attribute, AB_VTAB.
1342 (check_for_ambiguous): Likewise.
1343
1344 2010-04-29 Paul Thomas <pault@gcc.gnu.org>
1345 Janus Weil <janus@gcc.gnu.org>
1346
1347 PR fortran/41829
1348 * trans-expr.c (select_class_proc): Remove function.
1349 (conv_function_val): Delete reference to previous.
1350 (gfc_conv_derived_to_class): Add second argument to the call to
1351 gfc_find_derived_vtab.
1352 (gfc_conv_structure): Exclude proc_pointer components when
1353 accessing $data field of class objects.
1354 (gfc_trans_assign_vtab_procs): New function.
1355 (gfc_trans_class_assign): Add second argument to the call to
1356 gfc_find_derived_vtab.
1357 * symbol.c (gfc_build_class_symbol): Add delayed_vtab arg and
1358 implement holding off searching for the vptr derived type.
1359 (add_proc_component): New function.
1360 (add_proc_comps): New function.
1361 (add_procs_to_declared_vtab1): New function.
1362 (copy_vtab_proc_comps): New function.
1363 (add_procs_to_declared_vtab): New function.
1364 (void add_generic_specifics): New function.
1365 (add_generics_to_declared_vtab): New function.
1366 (gfc_find_derived_vtab): Add second argument to the call to
1367 gfc_find_derived_vtab. Add the calls to
1368 add_procs_to_declared_vtab and add_generics_to_declared_vtab.
1369 * decl.c (build_sym, build_struct): Use new arg in calls to
1370 gfc_build_class_symbol.
1371 * gfortran.h : Add vtype bitfield to symbol_attr. Remove the
1372 definition of struct gfc_class_esym_list. Modify prototypes
1373 of gfc_build_class_symbol and gfc_find_derived_vtab.
1374 * trans-stmt.c (gfc_trans_allocate): Add second argument to the
1375 call to gfc_find_derived_vtab.
1376 * module.c : Add the vtype attribute.
1377 * trans.h : Add prototype for gfc_trans_assign_vtab_procs.
1378 * resolve.c (resolve_typebound_generic_call): Add second arg
1379 to pass along the generic name for class methods.
1380 (resolve_typebound_call): The same.
1381 (resolve_compcall): Use the second arg to carry the generic
1382 name from the above. Remove the reference to class_esym.
1383 (check_members, check_class_members, resolve_class_esym,
1384 hash_value_expr): Remove functions.
1385 (resolve_class_compcall, resolve_class_typebound_call): Modify
1386 to use vtable rather than member by member calls.
1387 (gfc_resolve_expr): Modify second arg in call to
1388 resolve_compcall.
1389 (resolve_select_type): Add second arg in call to
1390 gfc_find_derived_vtab.
1391 (resolve_code): Add second arg in call resolve_typebound_call.
1392 (resolve_fl_derived): Exclude vtypes from check for late
1393 procedure definitions. Likewise for checking of explicit
1394 interface and checking of pass arg.
1395 * iresolve.c (gfc_resolve_extends_type_of): Add second arg in
1396 calls to gfc_find_derived_vtab.
1397 * match.c (select_type_set_tmp): Use new arg in call to
1398 gfc_build_class_symbol.
1399 * trans-decl.c (gfc_get_symbol_decl): Complete vtable if
1400 necessary.
1401 * parse.c (endType): Finish incomplete classes.
1402
1403 2010-04-28 Tobias Burnus <burnus@net-b.de>
1404
1405 PR fortran/18918
1406 PR fortran/43919
1407 * simplify.c (simplify_cobound): Handle scalar coarrays.
1408
1409 2010-04-27 Tobias Burnus <burnus@net-b.de>
1410
1411 * gfc-internals.texi: Update copyright year.
1412 * gfortran.texi: Ditto.
1413 * invoke.texi: Ditto.
1414
1415 2010-04-27 Tobias Burnus <burnus@net-b.de>
1416
1417 PR fortran/18918
1418 * resolve.c (resolve_allocate_expr): Allow array coarrays.
1419 * trans-types.h (gfc_get_array_type_bounds): Update prototype.
1420 * trans-types.c (gfc_get_array_type_bounds,
1421 gfc_get_array_descriptor_base): Add corank argument.
1422 * trans-array.c (gfc_array_init_size): Handle corank.
1423 (gfc_trans_create_temp_array, gfc_array_allocate,
1424 gfc_conv_expr_descriptor): Add corank argument to call.
1425 * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Ditto.
1426
1427 2010-04-24 Steven G. Kargl <kargl@gcc.gnu.org>
1428
1429 PR fortran/30073
1430 PR fortran/43793
1431 * trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead
1432 of mucking with a tree directly.
1433
1434 2010-04-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1435
1436 PR fortran/43832
1437 * io.c (gfc_match_open): Remove branch to syntax error. Add call to
1438 gfc_error with new error message.
1439
1440 2010-04-24 Paul Thomas <pault@gcc.gnu.org>
1441
1442 PR fortran/43841
1443 PR fortran/43843
1444 * trans-expr.c (gfc_conv_expr): Supply an address expression for
1445 GFC_SS_REFERENCE.
1446 (gfc_conv_expr_reference): Call gfc_conv_expr and return for
1447 GFC_SS_REFERENCE.
1448 * trans-array.c (gfc_add_loop_ss_code): Store the value rather
1449 than the address of a GFC_SS_REFERENCE.
1450 * trans.h : Change comment on GFC_SS_REFERENCE.
1451
1452 2010-04-22 Richard Guenther <rguenther@suse.de>
1453
1454 PR fortran/43829
1455 * resolve.c (gfc_resolve_index): Wrap around ...
1456 (gfc_resolve_index_1): ... this. Add parameter to allow
1457 any integer kind index type.
1458 (resolve_array_ref): Allow any integer kind for the start
1459 index of an array ref.
1460
1461 2010-04-21 Jakub Jelinek <jakub@redhat.com>
1462
1463 PR fortran/43836
1464 * f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on
1465 the decl.
1466
1467 2010-04-20 Harald Anlauf <anlauf@gmx.de>
1468
1469 * intrinsic.c (sort_actual): Remove 'is' in error message.
1470
1471 2010-04-20 Paul Thomas <pault@gcc.gnu.org>
1472
1473 PR fortran/43227
1474 * resolve.c (resolve_fl_derived): If a component character
1475 length has not been resolved, do so now.
1476 (resolve_symbol): The same as above for a symbol character
1477 length.
1478 * trans-decl.c (gfc_create_module_variable): A 'length' decl is
1479 not needed for a character valued, procedure pointer.
1480
1481 PR fortran/43266
1482 * resolve.c (ensure_not_abstract_walker): If 'overriding' is
1483 not found, return FAILURE rather than ICEing.
1484
1485 2010-04-19 Jakub Jelinek <jakub@redhat.com>
1486
1487 PR fortran/43339
1488 * openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
1489 sequential loops private in the innermost containing task region.
1490
1491 2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
1492
1493 * f95-lang.c (gfc_init_decl_processing): Remove second argument in call
1494 to build_common_tree_nodes.
1495
1496 2010-04-17 Steven G. Kargl <kargl@gcc.gnu.org>
1497
1498 PR fortran/31538
1499 * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
1500 gfc_msg_bounds by using 'Array bound mismatch' directly.
1501 (gfc_trans_dummy_array_bias): Remove the use of gfc_msg_bounds. Reword
1502 error message to include the mismatch in the extent of array bound.
1503 * fortran/trans.c: Remove gfc_msg_bounds. It is only used in one place.
1504 * fortran/trans.h: Remove extern definition of gfc_msg_bounds.
1505
1506 2010-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1507
1508 * gfortran.texi: Update information on temporary file locations.
1509
1510 2010-04-16 Jakub Jelinek <jakub@redhat.com>
1511
1512 * trans-decl.c (gfc_build_qualified_array): Ensure
1513 ubound.N and lbound.N artificial variable names don't appear
1514 in debug info.
1515
1516 2010-04-15 Steven G. Kargl <kargl@gcc.gnu.org>
1517
1518 PR fortran/30073
1519 * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
1520 block of code. Set name to the variable associated with the descriptor.
1521
1522 2010-04-15 Jakub Jelinek <jakub@redhat.com>
1523
1524 * trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P
1525 on VAR_DECL LBOUND and/or UBOUND, even for -O1.
1526
1527 2010-04-14 Steven G. Kargl <kargl@gcc.gnu.org>
1528
1529 * intrinsic.texi: Add the missing specific name of intrinsic
1530 procedure where the specific name is identical to the generic name.
1531 Fix inconsistent or mismatch in the argument names in intrinsic
1532 procedure descriptions. Add the SCALAR allocatable description to
1533 ALLOCATED.
1534
1535 2010-04-14 Tobias Burnus <burnus@net-b.de>
1536
1537 PR fortran/18918
1538 * array.c (gfc_find_array_ref): Handle codimensions.
1539 (gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error.
1540 * check.c (is_coarray, dim_corank_check, gfc_check_lcobound,
1541 gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound):
1542 New functions.
1543 * gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX,
1544 GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE,
1545 GFC_ISYM_UCOBOUND.
1546 * intrinsic.h (add_functions): Add this_image, image_index,
1547 lcobound and ucobound intrinsics.
1548 * intrinsic.c (gfc_check_lcobound,gfc_check_ucobound,
1549 gfc_check_image_index, gfc_check_this_image,
1550 gfc_simplify_image_index, gfc_simplify_lcobound,
1551 gfc_simplify_this_image, gfc_simplify_ucobound):
1552 New function prototypes.
1553 * intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE
1554 IMAGE_INDEX): Document new intrinsic functions.
1555 * match.c (gfc_match_critical, sync_statement): Make -fcoarray=none
1556 error fatal.
1557 * simplify.c (simplify_bound_dim): Handle coarrays.
1558 (simplify_bound): Update simplify_bound_dim call.
1559 (gfc_simplify_num_images): Add -fcoarray=none check.
1560 (simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound,
1561 gfc_simplify_ucobound, gfc_simplify_ucobound): New functions.
1562
1563 2010-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1564
1565 PR fortran/43747
1566 * constructor.c: Fix typo in comment.
1567 * expr.c (find_array_section): Add check for max array limit.
1568
1569 2010-04-13 Iain Sandoe <iains@gcc.gnu.org>
1570
1571 PR bootstrap/31400
1572 * gfortranspec.c (lookup_option): Check for -static and return
1573 OPTION_static.
1574 (lang_specific_driver): Break when OPTION_static is discovered.
1575
1576 2010-04-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1577
1578 * array.c (extract_element): Restore function from trunk.
1579 (gfc_get_array_element): Restore function from trunk.
1580 (gfc_expand_constructor): Restore check against
1581 flag_max_array_constructor.
1582 * constructor.c (node_copy_and_append): Delete unused.
1583 * gfortran.h: Delete comment and extra include.
1584 * constructor.h: Bump copyright and clean up TODO comments.
1585 * resolve.c: Whitespace.
1586
1587 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
1588
1589 * simplify.c (compute_dot_product): Replaced usage of ADVANCE macro
1590 with direct access access to elements. Adjusted prototype, fixed all
1591 callers.
1592 (gfc_simplify_dot_product): Removed duplicate check for zero-sized
1593 array.
1594 (gfc_simplify_matmul): Removed usage of ADVANCE macro.
1595 (gfc_simplify_spread): Removed workaround, directly insert elements
1596 at a given array position.
1597 (gfc_simplify_transpose): Likewise.
1598 (gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding
1599 function calls.
1600 (gfc_simplify_unpack): Likewise.
1601
1602 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
1603
1604 * simplify.c (only_convert_cmplx_boz): Renamed to ...
1605 (convert_boz): ... this and moved to start of file.
1606 (gfc_simplify_abs): Whitespace fix.
1607 (gfc_simplify_acos): Whitespace fix.
1608 (gfc_simplify_acosh): Whitespace fix.
1609 (gfc_simplify_aint): Whitespace fix.
1610 (gfc_simplify_dint): Whitespace fix.
1611 (gfc_simplify_anint): Whitespace fix.
1612 (gfc_simplify_and): Replaced if-gate by more common switch-over-type.
1613 (gfc_simplify_dnint): Whitespace fix.
1614 (gfc_simplify_asin): Whitespace fix.
1615 (gfc_simplify_asinh): Moved creation of result-expr out of switch.
1616 (gfc_simplify_atan): Likewise.
1617 (gfc_simplify_atanh): Whitespace fix.
1618 (gfc_simplify_atan2): Whitespace fix.
1619 (gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED.
1620 (gfc_simplify_bessel_j1): Likewise.
1621 (gfc_simplify_bessel_jn): Likewise.
1622 (gfc_simplify_bessel_y0): Likewise.
1623 (gfc_simplify_bessel_y1): Likewise.
1624 (gfc_simplify_bessel_yn): Likewise.
1625 (gfc_simplify_ceiling): Reorderd statements.
1626 (simplify_cmplx): Use convert_boz(), check for constant arguments.
1627 Whitespace fix.
1628 (gfc_simplify_cmplx): Use correct default kind. Removed check for
1629 constant arguments.
1630 (gfc_simplify_complex): Replaced if-gate. Removed check for
1631 constant arguments.
1632 (gfc_simplify_conjg): Whitespace fix.
1633 (gfc_simplify_cos): Whitespace fix.
1634 (gfc_simplify_cosh): Replaced if-gate by more common switch-over-type.
1635 (gfc_simplify_dcmplx): Removed check for constant arguments.
1636 (gfc_simplify_dble): Use convert_boz() and gfc_convert_constant().
1637 (gfc_simplify_digits): Whitespace fix.
1638 (gfc_simplify_dim): Whitespace fix.
1639 (gfc_simplify_dprod): Reordered statements.
1640 (gfc_simplify_erf): Whitespace fix.
1641 (gfc_simplify_erfc): Whitespace fix.
1642 (gfc_simplify_epsilon): Whitespace fix.
1643 (gfc_simplify_exp): Whitespace fix.
1644 (gfc_simplify_exponent): Use convert_boz().
1645 (gfc_simplify_floor): Reorderd statements.
1646 (gfc_simplify_gamma): Whitespace fix.
1647 (gfc_simplify_huge): Whitespace fix.
1648 (gfc_simplify_iand): Whitespace fix.
1649 (gfc_simplify_ieor): Whitespace fix.
1650 (simplify_intconv): Use gfc_convert_constant().
1651 (gfc_simplify_int): Use simplify_intconv().
1652 (gfc_simplify_int2): Reorderd statements.
1653 (gfc_simplify_idint): Reorderd statements.
1654 (gfc_simplify_ior): Whitespace fix.
1655 (gfc_simplify_ishftc): Removed duplicate type check.
1656 (gfc_simplify_len): Use range_check() instead of manual range check.
1657 (gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix.
1658 (gfc_simplify_log): Whitespace fix.
1659 (gfc_simplify_log10): Whitespace fix.
1660 (gfc_simplify_minval): Whitespace fix.
1661 (gfc_simplify_maxval): Whitespace fix.
1662 (gfc_simplify_mod): Whitespace fix.
1663 (gfc_simplify_modulo): Whitespace fix.
1664 (simplify_nint): Reorderd statements.
1665 (gfc_simplify_not): Whitespace fix.
1666 (gfc_simplify_or): Replaced if-gate by more common switch-over-type.
1667 (gfc_simplify_radix): Removed unused result-variable. Whitespace fix.
1668 (gfc_simplify_range): Removed unused result-variable. Whitespace fix.
1669 (gfc_simplify_real): Use convert_boz() and gfc_convert_constant().
1670 (gfc_simplify_realpart): Whitespace fix.
1671 (gfc_simplify_selected_char_kind): Removed unused result-variable.
1672 (gfc_simplify_selected_int_kind): Removed unused result-variable.
1673 (gfc_simplify_selected_real_kind): Removed unused result-variable.
1674 (gfc_simplify_sign): Whitespace fix.
1675 (gfc_simplify_sin): Whitespace fix.
1676 (gfc_simplify_sinh): Replaced if-gate by more common switch-over-type.
1677 (gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix.
1678 (gfc_simplify_tan): Replaced if-gate by more common switch-over-type.
1679 (gfc_simplify_tanh): Replaced if-gate by more common switch-over-type.
1680 (gfc_simplify_xor): Replaced if-gate by more common switch-over-type.
1681
1682 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
1683
1684 * gfortran.h (gfc_start_constructor): Removed.
1685 (gfc_get_array_element): Removed.
1686 * array.c (gfc_start_constructor): Removed, use gfc_get_array_expr
1687 instead. Fixed all callers.
1688 (extract_element): Removed.
1689 (gfc_expand_constructor): Temporarily removed check for
1690 max-array-constructor. Will be re-introduced later if still required.
1691 (gfc_get_array_element): Removed, use gfc_constructor_lookup_expr
1692 instead. Fixed all callers.
1693 * expr.c (find_array_section): Replaced manual lookup of elements
1694 by gfc_constructor_lookup.
1695
1696 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
1697
1698 * gfortran.h (gfc_get_null_expr): New prototype.
1699 (gfc_get_operator_expr): New prototype.
1700 (gfc_get_character_expr): New prototype.
1701 (gfc_get_iokind_expr): New prototype.
1702 * expr.c (gfc_get_null_expr): New.
1703 (gfc_get_character_expr): New.
1704 (gfc_get_iokind_expr): New.
1705 (gfc_get_operator_expr): Moved here from matchexp.c (build_node).
1706 * matchexp.c (build_node): Renamed and moved to
1707 expr.c (gfc_get_operator_expr). Reordered arguments to match
1708 other functions. Fixed all callers.
1709 (gfc_get_parentheses): Use specific function to build expr.
1710 * array.c (gfc_match_array_constructor): Likewise.
1711 * arith.c (eval_intrinsic): Likewise.
1712 (gfc_hollerith2int): Likewise.
1713 (gfc_hollerith2real): Likewise.
1714 (gfc_hollerith2complex): Likewise.
1715 (gfc_hollerith2logical): Likewise.
1716 * data.c (create_character_intializer): Likewise.
1717 * decl.c (gfc_match_null): Likewise.
1718 (enum_initializer): Likewise.
1719 * io.c (gfc_match_format): Likewise.
1720 (match_io): Likewise.
1721 * match.c (gfc_match_nullify): Likewise.
1722 * primary.c (match_string_constant): Likewise.
1723 (match_logical_constant): Likewise.
1724 (build_actual_constructor): Likewise.
1725 * resolve.c (build_default_init_expr): Likewise.
1726 * symbol.c (generate_isocbinding_symbol): Likewise.
1727 (gfc_build_class_symbol): Likewise.
1728 (gfc_find_derived_vtab): Likewise.
1729 * simplify.c (simplify_achar_char): Likewise.
1730 (gfc_simplify_adjustl): Likewise.
1731 (gfc_simplify_adjustr): Likewise.
1732 (gfc_simplify_and): Likewise.
1733 (gfc_simplify_bit_size): Likewise.
1734 (gfc_simplify_is_iostat_end): Likewise.
1735 (gfc_simplify_is_iostat_eor): Likewise.
1736 (gfc_simplify_isnan): Likewise.
1737 (simplify_bound): Likewise.
1738 (gfc_simplify_leadz): Likewise.
1739 (gfc_simplify_len_trim): Likewise.
1740 (gfc_simplify_logical): Likewise.
1741 (gfc_simplify_maxexponent): Likewise.
1742 (gfc_simplify_minexponent): Likewise.
1743 (gfc_simplify_new_line): Likewise.
1744 (gfc_simplify_null): Likewise.
1745 (gfc_simplify_or): Likewise.
1746 (gfc_simplify_precision): Likewise.
1747 (gfc_simplify_repeat): Likewise.
1748 (gfc_simplify_scan): Likewise.
1749 (gfc_simplify_size): Likewise.
1750 (gfc_simplify_trailz): Likewise.
1751 (gfc_simplify_trim): Likewise.
1752 (gfc_simplify_verify): Likewise.
1753 (gfc_simplify_xor): Likewise.
1754 * trans-io.c (build_dt): Likewise.
1755 (gfc_new_nml_name_expr): Removed.
1756
1757 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
1758
1759 * arith.h (gfc_constant_result): Removed prototype.
1760 * constructor.h (gfc_build_array_expr): Removed prototype.
1761 (gfc_build_structure_constructor_expr): Removed prototype.
1762 * gfortran.h (gfc_int_expr): Removed prototype.
1763 (gfc_logical_expr): Removed prototype.
1764 (gfc_get_array_expr): New prototype.
1765 (gfc_get_structure_constructor_expr): New prototype.
1766 (gfc_get_constant_expr): New prototype.
1767 (gfc_get_int_expr): New prototype.
1768 (gfc_get_logical_expr): New prototype.
1769 * arith.c (gfc_constant_result): Moved and renamed to
1770 expr.c (gfc_get_constant_expr). Fixed all callers.
1771 * constructor.c (gfc_build_array_expr): Moved and renamed to
1772 expr.c (gfc_get_array_expr). Split gfc_typespec argument to type
1773 and kind. Fixed all callers.
1774 (gfc_build_structure_constructor_expr): Moved and renamed to
1775 expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument
1776 to type and kind. Fixed all callers.
1777 * expr.c (gfc_logical_expr): Renamed to ...
1778 (gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers.
1779 (gfc_int_expr): Renamed to ...
1780 (gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all
1781 callers.
1782 (gfc_get_constant_expr): New.
1783 (gfc_get_array_expr): New.
1784 (gfc_get_structure_constructor_expr): New.
1785 * simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr
1786 instead.
1787
1788 2010-04-12 Daniel Franke <franke.daniel@gmail.com>
1789
1790 * constructor.h: New.
1791 * constructor.c: New.
1792 * Make-lang.in: Add new files to F95_PARSER_OBJS.
1793 * arith.c (reducy_unary): Use constructor API.
1794 (reduce_binary_ac): Likewise.
1795 (reduce_binary_ca): Likewise.
1796 (reduce_binary_aa): Likewise.
1797 * check.c (gfc_check_pack): Likewise.
1798 (gfc_check_reshape): Likewise.
1799 (gfc_check_unpack): Likewise.
1800 * decl.c (add_init_expr_to_sym): Likewise.
1801 (build_struct): Likewise.
1802 * dependency.c (gfc_check_dependency): Likewise.
1803 (contains_forall_index_p): Likewise.
1804 * dump-parse-tree.c (show_constructor): Likewise.
1805 * expr.c (free_expr0): Likewise.
1806 (gfc_copy_expr): Likewise.
1807 (gfc_is_constant_expr): Likewise.
1808 (simplify_constructor): Likewise.
1809 (find_array_element): Likewise.
1810 (find_component_ref): Likewise.
1811 (find_array_section): Likewise.
1812 (find_substring_ref): Likewise.
1813 (simplify_const_ref): Likewise.
1814 (scalarize_intrinsic_call): Likewise.
1815 (check_alloc_comp_init): Likewise.
1816 (gfc_default_initializer): Likewise.
1817 (gfc_traverse_expr): Likewise.
1818 * iresolve.c (check_charlen_present): Likewise.
1819 (gfc_resolve_reshape): Likewise.
1820 (gfc_resolve_transfer): Likewise.
1821 * module.c (mio_constructor): Likewise.
1822 * primary.c (build_actual_constructor): Likewise.
1823 (gfc_match_structure_constructor): Likewise.
1824 * resolve.c (resolve_structure_cons): Likewise.
1825 * simplify.c (is_constant_array_expr): Likewise.
1826 (init_result_expr): Likewise.
1827 (transformational_result): Likewise.
1828 (simplify_transformation_to_scalar): Likewise.
1829 (simplify_transformation_to_array): Likewise.
1830 (gfc_simplify_dot_product): Likewise.
1831 (simplify_bound): Likewise.
1832 (simplify_matmul): Likewise.
1833 (simplify_minval_maxval): Likewise.
1834 (gfc_simplify_pack): Likewise.
1835 (gfc_simplify_reshape): Likewise.
1836 (gfc_simplify_shape): Likewise.
1837 (gfc_simplify_spread): Likewise.
1838 (gfc_simplify_transpose): Likewise.
1839 (gfc_simplify_unpack): Likewise.q
1840 (gfc_convert_constant): Likewise.
1841 (gfc_convert_char_constant): Likewise.
1842 * target-memory.c (size_array): Likewise.
1843 (encode_array): Likewise.
1844 (encode_derived): Likewise.
1845 (interpret_array): Likewise.
1846 (gfc_interpret_derived): Likewise.
1847 (expr_to_char): Likewise.
1848 (gfc_merge_initializers): Likewise.
1849 * trans-array.c (gfc_get_array_constructor_size): Likewise.
1850 (gfc_trans_array_constructor_value): Likewise.
1851 (get_array_ctor_strlen): Likewise.
1852 (gfc_constant_array_constructor_p): Likewise.
1853 (gfc_build_constant_array_constructor): Likewise.
1854 (gfc_trans_array_constructor): Likewise.
1855 (gfc_conv_array_initializer): Likewise.
1856 * trans-decl.c (check_constant_initializer): Likewise.
1857 * trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
1858 (gfc_apply_interface_mapping_to_cons): Likewise.
1859 (gfc_trans_structure_assign): Likewise.
1860 (gfc_conv_structure): Likewise.
1861 * array.c (check_duplicate_iterator): Likewise.
1862 (match_array_list): Likewise.
1863 (match_array_cons_element): Likewise.
1864 (gfc_match_array_constructor): Likewise.
1865 (check_constructor_type): Likewise.
1866 (check_constructor): Likewise.
1867 (expand): Likewise.
1868 (expand_constructor): Likewise.
1869 (extract_element): Likewise.
1870 (gfc_expanded_ac): Likewise.
1871 (resolve_array_list): Likewise.
1872 (gfc_resolve_character_array_constructor): Likewise.
1873 (copy_iterator): Renamed to ...
1874 (gfc_copy_iterator): ... this.
1875 (gfc_append_constructor): Removed.
1876 (gfc_insert_constructor): Removed unused function.
1877 (gfc_get_constructor): Removed.
1878 (gfc_free_constructor): Removed.
1879 (qgfc_copy_constructor): Removed.
1880 * gfortran.h (struct gfc_expr): Removed member 'con_by_offset'.
1881 Removed all references. Replaced constructor list by splay-tree.
1882 (struct gfc_constructor): Removed member 'next', moved 'offset' from
1883 the inner struct, added member 'base'.
1884 (gfc_append_constructor): Removed prototype.
1885 (gfc_insert_constructor): Removed prototype.
1886 (gfc_get_constructor): Removed prototype.
1887 (gfc_free_constructor): Removed prototype.
1888 (qgfc_copy_constructor): Removed prototype.
1889 (gfc_copy_iterator): New prototype.
1890 * trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype.
1891
1892 2010-04-10 Tobias Burnus <burnus@net-b.de>
1893
1894 PR fortran/43591
1895 * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
1896 proc-pointers and type-bound procedures.
1897 (gfc_specification_expr): Check proc-pointers for pureness.
1898
1899 2010-04-09 Iain Sandoe <iains@gcc.gnu.org>
1900
1901 PR bootstrap/43684
1902 * gfortranspec.c (lang_specific_driver): Do not expose vars
1903 only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling
1904 for such.
1905
1906 2010-04-09 Tobias Burnus <burnus@net-b.de>
1907
1908 PR fortran/18918
1909 * decl.c (variable_decl, match_attr_spec): Fix setting the array
1910 spec.
1911 * array.c (match_subscript,gfc_match_array_ref): Add coarray support.
1912 * data.c (gfc_assign_data_value): Ditto.
1913 * expr.c (gfc_check_pointer_assign): Add check for coarray constraint.
1914 (gfc_traverse_expr): Traverse also through codimension expressions.
1915 (gfc_is_coindexed, gfc_has_ultimate_allocatable,
1916 gfc_has_ultimate_pointer): New functions.
1917 * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_STAR for coarrays.
1918 (gfc_array_ref): Add codimen.
1919 (gfc_array_ref): Add in_allocate.
1920 (gfc_is_coindexed, gfc_has_ultimate_allocatable,
1921 gfc_has_ultimate_pointer): Add prototypes.
1922 * interface.c (compare_parameter, compare_actual_formal,
1923 check_intents): Add coarray constraints.
1924 * match.c (gfc_match_iterator): Add coarray constraint.
1925 * match.h (gfc_match_array_ref): Update interface.
1926 * primary.c (gfc_match_varspec): Handle codimensions.
1927 * resolve.c (coarray_alloc, inquiry_argument): New static variables.
1928 (check_class_members): Return gfc_try instead for error recovery.
1929 (resolve_typebound_function,resolve_typebound_subroutine,
1930 check_members): Handle return value of check_class_members.
1931 (resolve_structure_cons, resolve_actual_arglist, resolve_function,
1932 check_dimension, compare_spec_to_ref, resolve_array_ref,
1933 resolve_ref, resolve_variable, gfc_resolve_expr, conformable_arrays,
1934 resolve_allocate_expr, resolve_ordinary_assign): Add coarray
1935 support.
1936 * trans-array.c (gfc_conv_array_ref, gfc_walk_variable_expr):
1937 Skip over coarray refs.
1938 (gfc_array_allocate) Add support for references containing coindexes.
1939 * trans-expr.c (gfc_add_interface_mapping): Copy coarray attribute.
1940 (gfc_map_intrinsic_function): Ignore codimensions.
1941
1942 2010-04-08 Bud Davis <bdavis9659@sbcglobal.net>
1943
1944 PR fortran/28039
1945 * io.c (check_format_string): Added check for additional non
1946 blank characters after the format string was successfully
1947 parsed.
1948 * io.c (check_format): Changed the error messages for positive
1949 int required and period required to drop through the error logic
1950 and report with gfc_error instead of gfc_error_now. Corrected
1951 format postion for hollerith strings.
1952
1953 2010-04-08 Tobias Burnus <burnus@net-b.de>
1954
1955 * module.c (use_iso_fortran_env_module): Fix standard check.
1956
1957 2010-04-07 Jakub Jelinek <jakub@redhat.com>
1958
1959 * parse.c (parse_derived, parse_enum): Avoid set but not used
1960 warning.
1961
1962 2010-04-07 Janne Blomqvist <jb@gcc.gnu.org>
1963
1964 PR fortran/40539
1965 * gfortran.texi: Add section about representation of
1966 LOGICAL variables.
1967
1968 2010-04-07 Simon Baldwin <simonb@google.com>
1969
1970 * cpp.c (cb_cpp_error): Add warning reason argument, set a value
1971 for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
1972
1973 2010-04-07 Richard Guenther <rguenther@suse.de>
1974
1975 * options.c (gfc_init_options): Do not set.
1976
1977 2010-04-06 Tobias Burnus <burnus@net-b.de>
1978
1979 PR fortran/18918
1980 * array.c (gfc_match_array_spec): Add error for -fcoarray=none.
1981 * match.c (gfc_match_critical, sync_statement): Ditto.
1982 * gfortran.h (gfc_fcoarray): New enum.
1983 (gfc_option_t): Use it.
1984 * lang.opt (fcoarray): Add new flag.
1985 * invoke.texi (fcoarray): Document it.
1986 * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=.
1987 (gfc_handle_coarray_option): New function.
1988
1989 2010-04-06 Tobias Burnus <burnus@net-b.de>
1990
1991 PR fortran/18918
1992 * gfortran.h (gfc_array_spec): Add cotype.
1993 * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it
1994 and defer error diagnostic.
1995 * resolve.c (resolve_fl_derived): Add missing check.
1996 (resolve_symbol): Add cotype/type check.
1997 * parse.c (parse_derived): Fix setting of coarray_comp.
1998
1999 2010-04-06 Tobias Burnus <burnus@net-b.de>
2000
2001 PR fortran/18918
2002 * array.c (gfc_free_array_spec,gfc_resolve_array_spec,
2003 match_array_element_spec,gfc_copy_array_spec,
2004 gfc_compare_array_spec): Include corank.
2005 (match_array_element_spec,gfc_set_array_spec): Support codimension.
2006 * decl.c (build_sym,build_struct,variable_decl,
2007 match_attr_spec,attr_decl1,cray_pointer_decl,
2008 gfc_match_volatile): Add codimension.
2009 (gfc_match_codimension): New function.
2010 * dump-parse-tree.c (show_array_spec,show_attr): Support codimension.
2011 * gfortran.h (symbol_attribute,gfc_array_spec): Ditto.
2012 (gfc_add_codimension): New function prototype.
2013 * match.h (gfc_match_codimension): New function prototype.
2014 (gfc_match_array_spec): Update prototype
2015 * match.c (gfc_match_common): Update gfc_match_array_spec call.
2016 * module.c (MOD_VERSION): Bump.
2017 (mio_symbol_attribute): Support coarray attributes.
2018 (mio_array_spec): Add corank support.
2019 * parse.c (decode_specification_statement,decode_statement,
2020 parse_derived): Add coarray support.
2021 * resolve.c (resolve_formal_arglist, was_declared,
2022 is_non_constant_shape_array, resolve_fl_variable,
2023 resolve_fl_derived, resolve_symbol): Add coarray support.
2024 * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr,
2025 gfc_build_class_symbol): Add coarray support.
2026 (gfc_add_codimension): New function.
2027
2028 2010-04-06 Tobias Burnus <burnus@net-b.de>
2029
2030 PR fortran/18918
2031 * iso-fortran-env.def: Add the integer parameters atomic_int_kind,
2032 atomic_logical_kind, iostat_inquire_internal_unit, stat_locked,
2033 stat_locked_other_image, stat_stopped_image and stat_unlocked of
2034 Fortran 2008.
2035 * intrinsic.texi (iso_fortran_env): Ditto.
2036 * libgfortran.h (libgfortran_stat_codes): New enum.
2037 * module.c (use_iso_fortran_env_module): Honour -std= when loading
2038 constants from the intrinsic module.
2039
2040 2010-04-06 Tobias Burnus <burnus@net-b.de>
2041
2042 PR fortran/39997
2043 * intrinsic.c (add_functions): Add num_images.
2044 * decl.c (gfc_match_end): Handle END CRITICAL.
2045 * intrinsic.h (gfc_simplify_num_images): Add prototype.
2046 * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
2047 and SYNC.
2048 * gfortran.h (gfc_statement): Add enum items for those.
2049 (gfc_exec_op) Ditto.
2050 (gfc_isym_id): Add num_images.
2051 * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
2052 (gfc_trans_sync,gfc_trans_critical): New functions.
2053 * trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
2054 gfc_trans_critical): Add/update prototypes.
2055 * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
2056 and SYNC statements.
2057 * trans.h (gfor_fndecl_error_stop_string) Add variable.
2058 * resolve.c (resolve_sync): Add function.
2059 (gfc_resolve_blocks): Handle CRITICAL.
2060 (resolve_code): Handle CRITICAL, ERROR STOP,
2061 (resolve_branch): Add CRITICAL constraint check.
2062 and SYNC statements.
2063 * st.c (gfc_free_statement): Add new statements.
2064 * trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
2065 (gfc_build_builtin_function_decls): Initialize it.
2066 * match.c (gfc_match_if): Handle ERROR STOP and SYNC.
2067 (gfc_match_critical, gfc_match_error_stop, sync_statement,
2068 gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory):
2069 New functions.
2070 (match_exit_cycle): Handle CRITICAL constraint.
2071 (gfc_match_stopcode): Handle ERROR STOP.
2072 * match.h (gfc_match_critical, gfc_match_error_stop,
2073 gfc_match_sync_all, gfc_match_sync_images,
2074 gfc_match_sync_memory): Add prototype.
2075 * parse.c (decode_statement, gfc_ascii_statement,
2076 parse_executable): Handle new statements.
2077 (parse_critical_block): New function.
2078 * parse.h (gfc_compile_state): Add COMP_CRITICAL.
2079 * intrinsic.texi (num_images): Document new function.
2080 * simplify.c (gfc_simplify_num_images): Add function.
2081
2082 2010-04-06 Tobias Burnus <burnus@net-b.de>
2083
2084 PR fortran/43178
2085 * trans-array.c (gfc_conv_expr_descriptor): Update
2086 gfc_trans_scalar_assign call.
2087 (has_default_initializer): New function.
2088 (gfc_trans_deferred_array): Nullify less often.
2089 * trans-expr.c (gfc_conv_subref_array_arg,
2090 gfc_trans_subcomponent_assign): Update call to
2091 gfc_trans_scalar_assign.
2092 (gfc_trans_scalar_assign): Add parameter and pass it on.
2093 (gfc_trans_assignment_1): Optionally, do not dealloc before
2094 assignment.
2095 * trans-openmp.c (gfc_trans_omp_array_reduction): Update
2096 call to gfc_trans_scalar_assign.
2097 * trans-decl.c (gfc_get_symbol_decl): Do not always apply
2098 initializer to static variables.
2099 (gfc_init_default_dt): Add dealloc parameter and pass it on.
2100 * trans-stmt.c (forall_make_variable_temp,
2101 generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
2102 gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3
2103 gfc_trans_allocate): Update gfc_trans_assignment call.
2104 * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt,
2105 gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc
2106 parameter to prototype.
2107
2108 2010-03-31 Paul Thomas <pault@gcc.gnu.org>
2109
2110 * ioparm.def : Update copyright.
2111 * lang.opt : ditto
2112 * trans-array.c : ditto
2113 * trans-array.h : ditto
2114 * expr.c: ditto
2115 * trans-types.c: ditto
2116 * dependency.c : ditto
2117 * gfortran.h : ditto
2118 * options.c : ditto
2119 * trans-io.c : ditto
2120 * trans-intrinsic.c : ditto
2121 * libgfortran.h : ditto
2122 * invoke.texi : ditto
2123 * intrinsic.texi : ditto
2124 * trans.c : ditto
2125 * trans.h : ditto
2126 * intrinsic.c : ditto
2127 * interface.c : ditto
2128 * iresolve.c : ditto
2129 * trans-stmt.c : ditto
2130 * trans-stmt.h : ditto
2131 * parse,c : ditto
2132 * match.h : ditto
2133 * error.c : ditto
2134
2135 2010-03-20 Paul Thomas <pault@gcc.gnu.org>
2136
2137 PR fortran/43450
2138 * trans-decl.c (gfc_create_module_variable): With -fwhole-file
2139 do not assert the context of derived types.
2140
2141 2010-03-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2142
2143 PR fortran/43409
2144 * ioparm.def: Change inquire size variable to type pointer to
2145 GFC_IO_INT type.
2146
2147 2010-03-18 Paul Thomas <pault@gcc.gnu.org>
2148
2149 PR fortran/43039
2150 * trans-expr.c (conv_parent_component_references): Ensure that
2151 'dt' has a backend_decl.
2152
2153 PR fortran/43043
2154 * trans-expr.c (gfc_conv_structure): Ensure that the derived
2155 type has a backend_decl.
2156
2157 PR fortran/43044
2158 * resolve.c (resolve_global_procedure): Check that the 'cl'
2159 structure is not NULL.
2160
2161 2010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
2162
2163 * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
2164 redundant tab.
2165
2166 2010-03-17 Tobias Burnus <burnus@net-b.de>
2167
2168 PR fortran/43331
2169 * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref,
2170 gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed
2171 check.
2172 * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray
2173 pointees as having explizit size.
2174 * expr.c (gfc_check_assign): Remove now unreachable Cray pointee
2175 check.
2176 * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert.
2177 (gfc_sym_type): Don't mark Cray pointees as restricted pointers.
2178 * resolve.c (resolve_symbol): Handle cp_was_assumed.
2179 * trans-decl.c (gfc_trans_deferred_vars): Ditto.
2180 (gfc_finish_var_decl): Don't mark Cray pointees as restricted
2181 pointers.
2182
2183 2010-03-14 Tobias Burnus <burnus@net-b.de>
2184
2185 PR fortran/43362
2186 * resolve.c (resolve_structure_cons): Add missing PURE constraint.
2187 (resolve_ordinary_assign): Add check to avoid segfault.
2188
2189 2010-03-12 Paul Thomas <pault@gcc.gnu.org>
2190
2191 PR fortran/43291
2192 PR fortran/43326
2193 * resolve.c (resolve_compcall): Add new boolean dummy argument
2194 'class_members'. Only resolve expression at end if false.
2195 Remove redundant, static variable 'class_object'.
2196 (check_class_members): Add extra argument to call of
2197 resolve_compcall.
2198 (resolve_typebound_function): Renamed resolve_class_compcall.
2199 Do all the detection of class references here. Correct calls to
2200 resolve_compcall for extra argument.
2201 (resolve_typebound_subroutine): resolve_class_typebound_call
2202 renamed. Otherwise same as resolve_typebound_function.
2203 (gfc_resolve_expr): Call resolve_typebound_function.
2204 (resolve_code): Call resolve_typebound_subroutine.
2205
2206 2010-03-10 Tobias Burnus <burnus@net-b.de
2207
2208 PR fortran/43303
2209 * symbol.c (get_iso_c_sym): Set sym->result.
2210
2211 2010-03-08 Janus Weil <janus@gcc.gnu.org>
2212
2213 PR fortran/43256
2214 * resolve.c (resolve_compcall): Don't set 'value.function.name' here
2215 for TBPs, otherwise they will not be resolved properly.
2216 (resolve_function): Use 'value.function.esym' instead of
2217 'value.function.name' to check if we're dealing with a TBP.
2218 (check_class_members): Set correct type of passed object for all TBPs,
2219 not only generic ones, except if the type is abstract.
2220
2221 2010-03-04 Janus Weil <janus@gcc.gnu.org>
2222
2223 PR fortran/43244
2224 * decl.c (gfc_match_final_decl): Make sure variable names starting with
2225 'final...' are not misinterpreted as FINAL statements.
2226
2227 2010-03-03 Paul Thomas <pault@gcc.gnu.org>
2228
2229 PR fortran/43243
2230 * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
2231 allocatable ultimate components do not need temporaries, whilst
2232 ultimate pointer components do.
2233
2234 2010-03-03 Janus Weil <janus@gcc.gnu.org>
2235
2236 PR fortran/43169
2237 * resolve.c (resolve_code): Correctly set gfc_current_ns for
2238 EXEC_SELECT_TYPE.
2239 (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
2240 (gfc_pure): Ditto.
2241
2242 2010-03-02 Paul Thomas <pault@gcc.gnu.org>
2243
2244 PR fortran/43180
2245 * trans-array.c (gfc_conv_array_parameter): A full array of
2246 derived type need not be restricted to a symbol without an
2247 array spec to use the call to gfc_conv_expr_descriptor.
2248
2249 PR fortran/43173
2250 * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
2251 allocatable arrays do not need temporaries.
2252
2253 2010-03-01 Tobias Burnus <burnus@net-b.de>
2254
2255 PR fortran/43199
2256 * resolve.c (find_array_spec): Handle REF_COMPONENT with
2257 CLASS components.
2258
2259 2010-02-28 Tobias Burnus <burnus@net-b.de>
2260
2261 PR fortran/43205
2262 * trans-expr.c (is_zero_initializer_p): Move up in the file.
2263 (gfc_conv_initializer): Handle zero initializer as special case.
2264
2265 2010-02-27 Tobias Burnus <burnus@net-b.de>
2266
2267 PR fortran/43185
2268 * resolve.c (resolve_fl_variable_derived): Imply SAVE
2269 for module variables for Fortran 2008.
2270
2271 2010-02-25 Jakub Jelinek <jakub@redhat.com>
2272
2273 PR debug/43166
2274 * trans-common.c (build_common_decl): Also update DECL_MODE,
2275 and DECL_SIZE when encountering a larger common block and call
2276 layout_decl.
2277
2278 2010-02-24 Tobias Burnus <burnus@net-b.de>
2279
2280 PR fortran/43042
2281 * trans-expr.c (gfc_conv_initializer): Call directly
2282 gfc_conv_constant for C_NULL_(FUN)PTR.
2283
2284 2010-02-22 Paul Thomas <pault@gcc.gnu.org>
2285
2286 PR fortran/43072
2287 * dependency.c (gfc_full_array_ref_p): Check for contiguous by
2288 checking the rest of the dimensions for elements.
2289
2290 2010-02-21 Tobias Burnus <burnus@net-b.de>
2291
2292 PR fortran/35259
2293 * gfortran.h (gfc_option_t): New flag -fprotect-parens.
2294 * lang.opt: Ditto.
2295 * option.c (gfc_init_options,gfc_handle_option): Ditto.
2296 * trans-expr.c (gfc_conv_expr_op): Use the flag.
2297 * invoke.texi: Document new -fno-protect-parens flag.
2298
2299 2010-02-20 Paul Thomas <pault@gcc.gnu.org>
2300
2301 PR fortran/36932
2302 PR fortran/36933
2303 PR fortran/43072
2304 PR fortran/43111
2305 * dependency.c (gfc_check_argument_var_dependency): Use enum
2306 value instead of arithmetic vaue for 'elemental'.
2307 (check_data_pointer_types): New function.
2308 (gfc_check_dependency): Call check_data_pointer_types.
2309 * trans-array.h : Change fourth argument of
2310 gfc_conv_array_parameter to boolean.
2311 * trans-array.c (gfc_conv_array_parameter): A contiguous array
2312 can be a dummy but it must not be assumed shape or deferred.
2313 Change fourth argument to boolean. Array constructor exprs will
2314 always be contiguous and do not need packing and unpacking.
2315 * trans-expr.c (gfc_conv_procedure_call): Clean up some white
2316 space and change fourth argument of gfc_conv_array_parameter
2317 to boolean.
2318 (gfc_trans_arrayfunc_assign): Change fourth argument of
2319 gfc_conv_array_parameter to boolean.
2320 * trans-io.c (gfc_convert_array_to_string): The same.
2321 * trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
2322
2323 2010-02-20 Tobias Burnus <burnus@net-b.de>
2324
2325 PR fortran/42958
2326 * libgfortran.h: Add GFC_RTCHECK_MEM.
2327 * invoke.texi (-fcheck=): Document -fcheck=mem.
2328 * tranc.c (gfc_call_malloc): Remove negative-size run-time error
2329 and enable malloc-success check only with -fcheck=mem.
2330 * option.c (gfc_handle_runtime_check_option): Add -fcheck=mem.
2331
2332 2010-02-16 Tobias Burnus <burnus@net-b.de>
2333
2334 PR fortran/43040
2335 * gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA.
2336 * intrinsic.c (add_functions): Ditto.
2337 * iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma.
2338 * mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma".
2339
2340 2010-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2341
2342 PR fortran/32382
2343 * trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to
2344 gfc_trans_do prototype.
2345 * trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in
2346 a loop exit condition. If exit condition is given, build the loop exit
2347 code, checking IO results of implied do loops in READ and WRITE.
2348 (gfc_trans_do): Likewise.
2349 * trans.c (trans_code): New static work function, previously
2350 gfc_trans_code. Passes exit condition to gfc_trans_do.
2351 (gfc_trans_code): Calls trans_code with NULL_TREE condition.
2352 (gfc_trans_code_cond): Calls trans_code with loop exit condition.
2353 * trans-io.c (build_dt): Build an exit condition to allow checking IO
2354 result status bits in the dtparm structure. Use this condition in call
2355 to gfc_trans_code_cond.
2356
2357 2010-02-13 Paul Thomas <pault@gcc.gnu.org>
2358
2359 PR fortran/41113
2360 PR fortran/41117
2361 * trans-array.c (gfc_conv_array_parameter): Use
2362 gfc_full_array_ref_p to detect full and contiguous variable
2363 arrays. Full array components and contiguous arrays do not need
2364 internal_pack and internal_unpack.
2365
2366 2010-02-11 Jakub Jelinek <jakub@redhat.com>
2367
2368 PR fortran/43030
2369 * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
2370
2371 PR fortran/43029
2372 * decl.c (enumerator_decl): Don't call gfc_free_enum_history
2373 here.
2374 (gfc_match_enumerator_def): But here whenever enumerator_decl returns
2375 MATCH_ERROR.
2376
2377 2010-02-10 Joost VandeVondele <jv244@cam.ac.uk>
2378 Tobias Burnus <burnus@net-b.de>
2379
2380 PR fortran/40823
2381 * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at.
2382
2383 2010-02-10 Tobias Burnus <burnus@net-b.de>
2384
2385 PR fortran/43015
2386 * trans-decl.c (gfc_generate_function_code): Only check
2387 actual-vs.-dummy character bounds if not bind(C).
2388
2389 2010-02-10 Jakub Jelinek <jakub@redhat.com>
2390
2391 PR fortran/42309
2392 * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
2393 info->dimen after info has been freed.
2394
2395 2010-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2396
2397 PR fortran/42999
2398 * array.c (gfc_constant_ac): Do not prevent expansion of constructors
2399 with iterators.
2400
2401 2010-02-09 Jakub Jelinek <jakub@redhat.com>
2402
2403 * module.c (fix_mio_expr): Declare sym.
2404
2405 2010-02-09 Paul Thomas <pault@gcc.gnu.org>
2406
2407 PR fortran/41869
2408 * module.c (fix_mio_expr): Fix for private generic procedures.
2409
2410 2010-02-09 Daniel Kraft <d@domob.eu>
2411
2412 PR fortran/39171
2413 * resolve.c (resolve_charlen): Change warning about negative CHARACTER
2414 length to be correct and issue only with -Wsurprising.
2415 * invoke.texi (Wsurprising): Mention this new warning that is
2416 turned on by -Wsurprising.
2417
2418 2010-02-09 Daniel Kraft <d@domob.eu>
2419
2420 PR fortran/41507
2421 * intrinsic.texi (MAXVAL): Remove wrong claim that array argument
2422 can be CHARACTER type.
2423 (MINVAL), (MAXLOC), (MINLOC): Ditto.
2424
2425 2010-02-05 Paul Thomas <pault@gcc.gnu.org>
2426
2427 PR fortran/42309
2428 * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
2429 'formal_ptr'. If this is true, give returned descriptor unity
2430 lbounds, in all dimensions, and the appropriate offset.
2431 (gfc_conv_procedure_call); If formal is a pointer, set the last
2432 argument of gfc_conv_subref_array_arg to true.
2433 * trans.h : Add last argument for gfc_conv_subref_array_arg.
2434 * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
2435 new arg of gfc_conv_subref_array_arg to false.
2436 * trans-stmt.c (forall_make_variable_temp): The same.
2437
2438 2010-02-03 Tobias Burnus <burnus@net-b.de>
2439
2440 PR fortran/42936
2441 * interface.c (compare_parameter): Disable rank-checking
2442 for NULL().
2443
2444 2010-02-02 Tobias Burnus <burnus@net-b.de>
2445
2446 PR fortran/42650
2447 * parse.c (decode_specification_statement): Use sym->result not sym.
2448
2449 2010-02-01 Tobias Burnus <burnus@net-b.de>
2450
2451 PR fortran/42922
2452 * decl.c (variable_decl): Allow default initializer in
2453 TYPE declarations in PURE functions.
2454
2455 2010-01-31 Janus Weil <janus@gcc.gnu.org>
2456
2457 PR fortran/42888
2458 * resolve.c (resolve_allocate_expr): Move default initialization code
2459 here from gfc_trans_allocate.
2460 * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
2461 EXEC_INIT_ASSIGN.
2462 * trans-expr.c (gfc_trans_class_assign): Handle default initialization
2463 of CLASS variables via memcpy.
2464 * trans-stmt.c (gfc_trans_allocate): Move default initialization code
2465 to resolve_allocate_expr.
2466
2467 2010-01-31 Paul Thomas <pault@gcc.gnu.org>
2468
2469 PR fortran/38324
2470 * expr.c (gfc_get_full_arrayspec_from_expr): New function.
2471 * gfortran.h : Add prototype for above.
2472 * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
2473 (gfc_trans_subcomponent_assign): Call new function to replace
2474 the code to deal with allocatable components.
2475 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
2476 gfc_get_full_arrayspec_from_expr to replace existing code.
2477
2478 2010-01-25 Tobias Burnus <burnus@net-b.de>
2479
2480 PR fortran/42858
2481 * array.c (gfc_array_dimen_size): Fix intrinsic procedure
2482 check.
2483
2484 2010-01-24 Paul Thomas <pault@gcc.gnu.org>
2485
2486 PR fortran/41044
2487 PR fortran/41167
2488 * expr.c (remove_subobject_ref): If the constructor is NULL use
2489 the expression as the source.
2490 (simplify_const_ref): Change the type of expression if
2491 there are component references. Allow for substring to be at
2492 the end of an arbitrarily long chain of references. If an
2493 element is found that is not in an EXPR_ARRAY, assume that this
2494 is scalar initialization of array. Call remove_subobject_ref in
2495 this case with NULL second argument.
2496
2497 2010-01-24 Tobias Burnus <burnus@net-b.de>
2498
2499 PR fortran/39304
2500 * array.c (gfc_array_dimen_size): Use correct specific
2501 function in the check.
2502
2503 2010-01-21 Paul Thomas <pault@gcc.gnu.org>
2504
2505 PR fortran/42736
2506 * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
2507 is required, turn any trailing array elements after a range
2508 into ranges so that offsets can be calculated.
2509
2510 2010-01-20 Joern Rennecke <amylaar@spamcop.net>
2511
2512 * module.c (mio_f2k_derived): Use enumerator as initializer of
2513 enum variable.
2514
2515 PR bootstrap/42812
2516 * gfortran.h (struct gfc_namespace) <resolved>: Change to signed
2517 bitfield of width 2.
2518
2519 2010-01-19 Janus Weil <janus@gcc.gnu.org>
2520
2521 PR fortran/42804
2522 * resolve.c (extract_compcall_passed_object): Set locus for
2523 passed-object argument.
2524 (extract_ppc_passed_object): Set locus and correctly remove PPC
2525 reference.
2526
2527 2010-01-19 Paul Thomas <pault@gcc.gnu.org>
2528
2529 PR fortran/42783
2530 * trans-decl.c (add_argument_checking): Do not use the backend
2531 decl directly to test for the presence of an optional dummy
2532 argument. Use gfc_conv_expr_present, remembering to set the
2533 symbol referenced.
2534
2535 PR fortran/42772
2536 * trans-decl.c (gfc_generate_function_code): Small white space
2537 changes. If 'recurcheckvar' is NULL do not try to reset it.
2538
2539 2010-01-19 Janus Weil <janus@gcc.gnu.org>
2540
2541 PR fortran/42545
2542 * resolve.c (resolve_fl_derived): Set the accessibility of the parent
2543 component for extended types.
2544 * symbol.c (gfc_find_component): Remove a wrongly-worded error message
2545 and take care of parent component accessibility.
2546
2547 2010-01-17 Janus Weil <janus@gcc.gnu.org>
2548
2549 PR fortran/42677
2550 * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
2551 * interface.c (check_interface1): Move a warning message here from
2552 resolve_fl_procedure.
2553 (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
2554 * module.c (read_module): Remove call to gfc_check_interfaces, since
2555 this comes too early here.
2556 * resolve.c (resolve_fl_procedure): Move warning message to
2557 check_interface1.
2558
2559 2010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2560
2561 PR fortran/42684
2562 * interface.c (check_interface1): Pass symbol name rather than NULL to
2563 gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
2564 trap MULL.
2565 * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
2566 than NULL to gfc_compare_interfaces.
2567
2568 2010-01-14 Paul Thomas <pault@gcc.gnu.org>
2569
2570 PR fortran/41478
2571 * trans-array.c (duplicate_allocatable): Static version of
2572 gfc_duplicate_allocatable with provision to handle scalar
2573 components. New boolean argument to switch off call to malloc
2574 if true.
2575 (gfc_duplicate_allocatable): New function to call above with
2576 new argument false.
2577 (gfc_copy_allocatable_data): New function to call above with
2578 new argument true.
2579 (structure_alloc_comps): Do not apply indirect reference to
2580 scalar pointers. Add new section to copy allocatable components
2581 of arrays. Extend copying of allocatable components to include
2582 scalars.
2583 (gfc_copy_only_alloc_comp): New function to copy allocatable
2584 component derived types, without allocating the base structure.
2585 * trans-array.h : Add primitive for gfc_copy_allocatable_data.
2586 Add primitive for gfc_copy_only_alloc_comp.
2587 * trans-expr.c (gfc_conv_procedure_call): After calls to
2588 transformational functions with results that are derived types
2589 with allocatable components, copy the components in the result.
2590 (gfc_trans_arrayfunc_assign): Deallocate allocatable components
2591 of lhs derived types before allocation.
2592
2593 2010-01-14 Paul Thomas <pault@gcc.gnu.org>
2594
2595 PR fortran/42481
2596 * module.c (load_generic_interfaces): If a procedure that is
2597 use associated but not generic is given an interface that
2598 includes itself, then make it generic.
2599
2600 2010-01-11 Joseph Myers <joseph@codesourcery.com>
2601 Shujing Zhao <pearly.zhao@oracle.com>
2602
2603 PR translation/42469
2604 * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
2605 finit-logical=, finit-real=, fmax-array-constructor=): Use tab
2606 character between option name and help text.
2607
2608 2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2609
2610 PR fortran/20923
2611 PR fortran/32489
2612 * trans-array.c (gfc_conv_array_initializer): Change call to
2613 gfc_error_now to call to gfc_fatal_error.
2614 * array.c (count_elements): Whitespace. (extract_element): Whitespace.
2615 (is_constant_element): Changed name from constant_element.
2616 (gfc_constant_ac): Only use expand_construuctor for expression
2617 types of EXPR_ARRAY. If expression type is EXPR_CONSTANT, no need to
2618 call gfc_is_constant_expr.
2619 * expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
2620 message.
2621 * resolve.c (gfc_is_expandable_expr): New function that determiners if
2622 array expressions should have their constructors expanded.
2623 (gfc_resolve_expr): Use new function to determine whether or not to call
2624 gfc_expand_constructor.
2625
2626 2010-01-09 Tobias Burnus <burnus@net-b.de>
2627
2628 PR fortran/41298
2629 * trans-expr.c (gfc_trans_structure_assign): Handle
2630 c_null_(fun)ptr.
2631 * symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
2632 to the constructor for c_null_(fun)ptr.
2633 * resolve.c (resolve_structure_cons): Add special case
2634 for c_null_(fun)ptr.
2635
2636 2010-01-09 Jakub Jelinek <jakub@redhat.com>
2637
2638 * gfortranspec.c (lang_specific_driver): Update copyright notice
2639 dates.
2640
2641 2010-01-08 Tobias Burnus <burnus@net-b.de>
2642
2643 PR/fortran 25829
2644 * symbol.c (check_conflict, gfc_copy_attr): Add
2645 ASYNCHRONOUS support.
2646 (gfc_add_asynchronous): New function.
2647 * decl.c (match_attr_spec): Add ASYNCHRONOUS support.
2648 (gfc_match_asynchronous): New function.
2649 * dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support.
2650 * gfortran.h (symbol_attribute): New ASYNCHRONOUS bit.
2651 (gfc_add_asynchronous): New Prototype.
2652 * module.c (ab_attribute, mio_symbol_attribute): Add
2653 ASYNCHRONOUS support.
2654 * resolve.c (was_declared): Ditto.
2655 * match.h (gfc_match_asynchronous): New prototype.
2656 * parse.c (decode_specification_statement,decode_statement):
2657 Add ASYNCHRONOUS support.
2658
2659 2010-01-07 Tobias Burnus <burnus@net-b.de>
2660
2661 PR fortran/42597
2662 * trans-decl.c (get_proc_pointer_decl): Fix call to
2663 gfc_conv_initializer for array-valued proc-pointer funcs.
2664
2665 2010-01-07 Tobias Burnus <burnus@net-b.de>
2666
2667 PR fortran/41872
2668 * trans-decl.c (gfc_trans_deferred_vars): Don't initialize
2669 allocatable scalars with SAVE attribute.
2670
2671 2010-01-05 Tobias Burnus <burnus@net-b.de>
2672
2673 PR fortran/42517
2674 * options.c (gfc_post_options): Set -frecursion
2675 when -fopenmp is used.
2676
2677 2010-01-05 Tobias Burnus <burnus@net-b.de>
2678
2679 PR fortran/41872
2680 * trans-expr.c (gfc_conv_procedure_call): Nullify
2681 return value for allocatable-scalar character functions.
2682
2683 2010-01-04 Tobias Burnus <burnus@net-b.de>
2684
2685 PR fortran/36161
2686 * error.c (error_printf, gfc_warning, gfc_notify_std,
2687 gfc_warning_now, gfc_error, gfc_error_now,
2688 gfc_fatal_error): Change argument name from nocmsgid to
2689 gmsgid to enable (x)gettext's % checking.
2690
2691 2010-01-04 Tobias Burnus <burnus@net-b.de>
2692
2693 * trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
2694
2695 2010-01-04 Tobias Burnus <burnus@net-b.de>
2696
2697 PR fortran/41872
2698 * trans-expr.c (gfc_conv_procedure_call): Add indirect ref
2699 for functions returning allocatable scalars.
2700 * trans-stmt.c (gfc_trans_allocate): Emmit error when
2701 reallocating an allocatable scalar.
2702 * trans.c (gfc_allocate_with_status): Fix pseudocode syntax
2703 in comment.
2704 * trans-decl.c (gfc_trans_deferred_vars): Nullify local
2705 allocatable scalars.
2706 (gfc_generate_function_code): Nullify result variable for
2707 allocatable scalars.
2708
2709 PR fortran/40849
2710 * module.c (gfc_use_module): Fix warning string to allow
2711 for translation.
2712
2713 PR fortran/42517
2714 * invoke.texi (-fcheck=recursion): Mention that the checking
2715 is also disabled for -frecursive.
2716 * trans-decl.c (gfc_generate_function_code): Disable
2717 -fcheck=recursion when -frecursive is used.
2718
2719 * intrinsic.texi (iso_c_binding): Improve wording.
2720
2721 \f
2722 Copyright (C) 2010 Free Software Foundation, Inc.
2723
2724 Copying and distribution of this file, with or without modification,
2725 are permitted in any medium without royalty provided the copyright
2726 notice and this notice are preserved.