]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
re PR fortran/40632 (Support F2008's contiguous attribute)
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
fe4e525c
TB
12010-06-21 Tobias Burnus <burnus@net-b.de>
2
3 PR fortran/40632
4 * interface.c (compare_parameter): Add gfc_is_simply_contiguous
5 checks.
6 * symbol.c (gfc_add_contiguous): New function.
7 (gfc_copy_attr, check_conflict): Handle contiguous attribute.
8 * decl.c (match_attr_spec): Ditto.
9 (gfc_match_contiguous): New function.
10 * resolve.c (resolve_fl_derived, resolve_symbol): Handle
11 contiguous.
12 * gfortran.h (symbol_attribute): Add contiguous.
13 (gfc_is_simply_contiguous): Add prototype.
14 (gfc_add_contiguous): Add prototype.
15 * match.h (gfc_match_contiguous): Add prototype.
16 * parse.c (decode_specification_statement,
17 decode_statement): Handle contiguous attribute.
18 * expr.c (gfc_is_simply_contiguous): New function.
19 * dump-parse-tree.c (show_attr): Handle contiguous.
20 * module.c (ab_attribute, attr_bits, mio_symbol_attribute):
21 Ditto.
22 * trans-expr.c (gfc_add_interface_mapping): Copy
23 attr.contiguous.
24 * trans-array.c (gfc_conv_descriptor_stride_get,
25 gfc_conv_array_parameter): Handle contiguous arrays.
26 * trans-types.c (gfc_build_array_type, gfc_build_array_type,
27 gfc_sym_type, gfc_get_derived_type, gfc_get_array_descr_info):
28 Ditto.
29 * trans.h (gfc_array_kind): Ditto.
30 * trans-decl.c (gfc_get_symbol_decl): Ditto.
31
6e2f1956
JM
322010-06-20 Joseph Myers <joseph@codesourcery.com>
33
34 * options.c (gfc_handle_option): Don't handle N_OPTS.
35
1304f582
JW
362010-06-19 Janus Weil <janus@gcc.gnu.org>
37
38 PR fortran/44584
39 * resolve.c (resolve_fl_derived): Reverse ordering of conditions
40 to avoid ICE.
41
ddf58e42
TB
422010-06-18 Tobias Burnus <burnus@net-b.de>
43
44 PR fortran/44556
45 * resolve.c (resolve_allocate_deallocate): Properly check
46 part-refs in stat=/errmsg= for invalid use.
47
8399a0cc
JW
482010-06-17 Janus Weil <janus@gcc.gnu.org>
49
50 PR fortran/44558
51 * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
52 Return directly in case of an error.
53
3e15518b
JW
542010-06-16 Janus Weil <janus@gcc.gnu.org>
55
56 PR fortran/44549
57 * gfortran.h (gfc_get_typebound_proc): Modified Prototype.
58 * decl.c (match_procedure_in_type): Give a unique gfc_typebound_proc
59 structure to each procedure in a procedure list.
60 * module.c (mio_typebound_proc): Add NULL argument to
61 'gfc_get_typebound_proc'.
62 * symbol.c (gfc_get_typebound_proc): Add a new argument, which is used
63 to initialize the new structure.
64
94bff632
JW
652010-06-15 Janus Weil <janus@gcc.gnu.org>
66
67 PR fortran/43388
68 * gfortran.h (gfc_expr): Add new member 'mold'.
69 * match.c (gfc_match_allocate): Implement the MOLD tag.
70 * resolve.c (resolve_allocate_expr): Ditto.
71 * trans-stmt.c (gfc_trans_allocate): Ditto.
72
79943d19
JJ
732010-06-15 Jakub Jelinek <jakub@redhat.com>
74
75 PR fortran/44536
76 * trans-openmp.c (gfc_omp_predetermined_sharing): Don't return
77 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with
78 GFC_DECL_SAVED_DESCRIPTOR set.
79 (gfc_omp_report_decl): New function.
80 * trans.h (gfc_omp_report_decl): New prototype.
81 * f95-lang.c (LANG_HOOKS_OMP_REPORT_DECL): Redefine.
82
d8ddea40
DF
832010-06-13 Daniel Franke <franke.daniel@gmail.com>
84
85 PR fortran/31588
86 PR fortran/43954
87 * gfortranspec.c (lang_specific_driver): Removed deprecation
88 warning for -M.
89 * lang.opt: Add options -M, -MM, -MD, -MMD, -MF, -MG, -MP, -MT, -MQ.
90 * lang-specs.h (CPP_FORWARD_OPTIONS): Add -M* options.
91 * cpp.h (gfc_cpp_makedep): New.
92 (gfc_cpp_add_dep): New.
93 (gfc_cpp_add_target): New.
94 * cpp.c (gfc_cpp_option): Add deps* members.
95 (gfc_cpp_makedep): New.
96 (gfc_cpp_add_dep): New.
97 (gfc_cpp_add_target): New.
98 (gfc_cpp_init_options): Initialize new options.
99 (gfc_cpp_handle_option): Handle new options.
100 (gfc_cpp_post_options): Map new options to libcpp-options.
101 (gfc_cpp_init): Handle deferred -MQ and -MT options.
102 (gfc_cpp_done): If requested, write dependencies to file.
103 * module.c (gfc_dump_module): Add a module filename as target.
104 * scanner.c (open_included_file): New parameter system; add the
105 included file as dependency.
106 (gfc_open_included_file): Add the included file as dependency.
107 (gfc_open_intrinsic_module): Likewise.
108 * invoke.texi: Removed deprecation warning for -M.
109 * gfortran.texi: Removed Makefile-dependencies project.
110
1b1a6626
DF
1112010-06-12 Daniel Franke <franke.daniel@gmail.com>
112
113 * resolve.c (resolve_global_procedure): Improved checking if an
114 explicit interface is required.
115
6cd8d93a
FXC
1162010-06-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
117
118 * trans-decl.c (gfc_build_intrinsic_function_decls): Fix
119 return type.
120 * trans-intrinsic.c (gfc_conv_intrinsic_fdate): Fix argument type.
121 (gfc_conv_intrinsic_ttynam): Likewise.
122 (gfc_conv_intrinsic_trim): Likewise.
123
1be17993
JW
1242010-06-12 Janus Weil <janus@gcc.gnu.org>
125
126 PR fortran/40117
127 * decl.c (match_procedure_in_type): Allow procedure lists (F08).
128
1826e883
FXC
1292010-06-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
130
131 * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Fix comment.
132
2921157d
FXC
1332010-06-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
134
135 * mathbuiltins.def: Add builtins that do not directly correspond
136 to a Fortran intrinsic, with new macro OTHER_BUILTIN.
137 * f95-lang.c (gfc_init_builtin_functions): Define OTHER_BUILTIN.
138 * trans-intrinsic.c (gfc_intrinsic_map_t): Remove
139 code_{r,c}{4,8,10,16} fields. Add
140 {,complex}{float,double,long_double}_built_in fields.
141 (gfc_intrinsic_map): Adjust definitions of DEFINE_MATH_BUILTIN,
142 DEFINE_MATH_BUILTIN_C and LIB_FUNCTION accordingly. Add
143 definition of OTHER_BUILTIN.
144 (real_compnt_info): Remove unused struct.
145 (builtin_decl_for_precision, builtin_decl_for_float_kind): New
146 functions.
147 (build_round_expr): Call builtin_decl_for_precision instead of
148 series of if-else.
149 (gfc_conv_intrinsic_aint): Call builtin_decl_for_float_kind
150 instead of a switch.
151 (gfc_build_intrinsic_lib_fndecls): Match
152 {real,complex}{4,8,10,16}decl into the C-style built_in_decls.
153 (gfc_get_intrinsic_lib_fndecl): Do not hardcode floating-point
154 kinds.
155 (gfc_conv_intrinsic_lib_function): Go through all the extended
156 gfc_intrinsic_map.
157 (gfc_trans_same_strlen_check): Call builtin_decl_for_float_kind
158 instead of a switch.
159 (gfc_conv_intrinsic_abs): Likewise.
160 (gfc_conv_intrinsic_mod): Likewise.
161 (gfc_conv_intrinsic_sign): Likewise.
162 (gfc_conv_intrinsic_fraction): Likewise.
163 (gfc_conv_intrinsic_nearest): Likewise.
164 (gfc_conv_intrinsic_spacing): Likewise.
165 (gfc_conv_intrinsic_rrspacing): Likewise.
166 (gfc_conv_intrinsic_scale): Likewise.
167 (gfc_conv_intrinsic_set_exponent): Likewise.
168
92bb7768
PT
1692010-06-11 Paul Thomas <pault@gcc.gnu.org>
170
171 PR fortran/42051
172 PR fortran/43896
173 * trans-expr.c (gfc_conv_derived_to_class): Handle array-valued
174 functions with CLASS formal arguments.
175
66051b60
JW
1762010-06-10 Janus Weil <janus@gcc.gnu.org>
177
178 PR fortran/44207
179 * resolve.c (conformable_arrays): Handle allocatable components.
180
f14b9067
FXC
1812010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
182
183 PR fortran/38273
184 * gfortran.texi: Document that Cray pointers cannot be function
185 results.
186
1872010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
188
189 PR fortran/36234
190 * gfortran.texi: Document lack of support for syntax
191 "complex FUNCTION name*16()", and existence of alternative
192 legacy syntax "complex*16 FUNCTION name()".
193
da12c997
FXC
1942010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
195
196 PR fortran/43032
197 * intrinsic.texi (FLUSH): Note the difference between FLUSH and
198 POSIX's fsync(), and how to call the latter from Fortran code.
199
84efddb2
DF
2002010-06-10 Daniel Franke <franke.daniel@gmail.com>
201
202 PR fortran/44457
203 * interface.c (compare_actual_formal): Reject actual arguments with
204 array subscript passed to ASYNCHRONOUS dummys.
205
03af1e4c
DK
2062010-06-10 Daniel Kraft <d@domob.eu>
207
208 PR fortran/38936
209 * gfortran.h (enum gfc_statement): Add ST_ASSOCIATE, ST_END_ASSOCIATE.
210 (struct gfc_symbol): New field `assoc'.
211 (struct gfc_association_list): New struct.
212 (struct gfc_code): New struct `block' in union, move `ns' there
213 and add association list.
214 (gfc_free_association_list): New method.
215 (gfc_has_vector_subscript): Made public;
216 * match.h (gfc_match_associate): New method.
217 * parse.h (enum gfc_compile_state): Add COMP_ASSOCIATE.
218 * decl.c (gfc_match_end): Handle ST_END_ASSOCIATE.
219 * interface.c (gfc_has_vector_subscript): Made public.
220 (compare_actual_formal): Rename `has_vector_subscript' accordingly.
221 * match.c (gfc_match_associate): New method.
222 (gfc_match_select_type): Change reference to gfc_code's `ns' field.
223 * primary.c (match_variable): Don't allow names associated to expr here.
224 * parse.c (decode_statement): Try matching ASSOCIATE statement.
225 (case_exec_markers, case_end): Add ASSOCIATE statement.
226 (gfc_ascii_statement): Hande ST_ASSOCIATE and ST_END_ASSOCIATE.
227 (parse_associate): New method.
228 (parse_executable): Handle ST_ASSOCIATE.
229 (parse_block_construct): Change reference to gfc_code's `ns' field.
230 * resolve.c (resolve_select_type): Ditto.
231 (resolve_code): Ditto.
232 (resolve_block_construct): Ditto and add comment.
233 (resolve_select_type): Set association list in generated BLOCK to NULL.
234 (resolve_symbol): Resolve associate names.
235 * st.c (gfc_free_statement): Change reference to gfc_code's `ns' field
236 and free association list.
237 (gfc_free_association_list): New method.
238 * symbol.c (gfc_new_symbol): NULL new field `assoc'.
239 * trans-stmt.c (gfc_trans_block_construct): Change reference to
240 gfc_code's `ns' field.
241
acaed831
KT
2422010-06-10 Kai Tietz <kai.tietz@onevision.com>
243
244 * error.c (error_print): Pre-initialize loc by NULL.
245 * openmp.c (resolve_omp_clauses): Add explicit
246 braces to avoid ambigous else.
247 * array.c (match_subscript): Pre-initialize m to MATCH_ERROR.
248
07a67d6a
GP
2492010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
250
251 * gfc-internals.texi: Move to GFDL 1.3.
252 * gfortran.texi: Ditto.
253 * intrinsic.texi: Ditto.
254 * invoke.texi: Ditto.
255
70987f62
DF
2562010-06-09 Daniel Franke <franke.daniel@gmail.com>
257
258 PR fortran/44347
259 * check.c (gfc_check_selected_real_kind): Verify that the
260 actual arguments are scalar.
261
33169a22
DF
2622010-06-09 Daniel Franke <franke.daniel@gmail.com>
263
264 PR fortran/44359
265 * intrinsic.c (gfc_convert_type_warn): Further improve -Wconversion.
266
b51789fe
JW
2672010-06-09 Janus Weil <janus@gcc.gnu.org>
268
269 PR fortran/44430
270 * dump-parse-tree.c (show_symbol): Avoid infinite loop.
271
87b18909
SK
2722010-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
273
274 * fortran/symbol.c (check_conflict): Remove an invalid conflict check.
275
289e52fd
SK
2762010-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
277
278 * fortran/intrinsic.c (add_functions): Change gfc_check_btest,
279 gfc_check_ibclr, and gfc_check_ibset to gfc_check_bitfcn.
280 * fortran/intrinsic.h: Remove prototypes for gfc_check_btest,
281 gfc_check_ibclr, and gfc_check_ibset. Add prototype for
282 gfc_check_bitfcn.
283 * fortran/check.c (nonnegative_check, less_than_bitsize1,
284 less_than_bitsize2): New functions.
285 (gfc_check_btest): Renamed to gfc_check_bitfcn. Use
286 nonnegative_check and less_than_bitsize1.
287 (gfc_check_ibclr, gfc_check_ibset): Removed.
288 (gfc_check_ibits,gfc_check_mvbits): Use nonnegative_check and
289 less_than_bitsize1.
290
f1a0b754
JW
2912010-06-09 Janus Weil <janus@gcc.gnu.org>
292
293 PR fortran/44211
294 * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
295 Resolve references.
296
37b28a35
KT
2972010-06-09 Kai Tietz <kai.tietz@onevision.com>
298
299 * resolve.c (resolve_deallocate_expr): Avoid warning
300 about possible use of iunitialized sym.
301 (resolve_allocate_expr): Pre-initialize sym by NULL.
302
07b7ede0
FXC
3032010-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
304
305 PR fortran/43040
306 * f95-lang.c (gfc_init_builtin_functions): Remove comment.
307
a9429e29
LB
3082010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
309
310 * trans-types.c (gfc_get_nodesc_array_type): Use typed GC
311 allocation.
312 (gfc_get_array_type_bounds): Likewise.
313
314 * trans-decl.c (gfc_allocate_lang_decl): Likewise.
315 (gfc_find_module): Likewise.
316
317 * f95-lang.c (pushlevel): Likewise.
318
319 * trans.h (struct lang_type): Add variable_size GTY option.
320 (struct lang_decl): Likewise.
321
c064bf1c
TB
3222010-06-08 Tobias Burnus <burnus@net-b.de>
323
324 PR fortran/44446
325 * symbol.c (check_conflict): Move protected--external/procedure check ...
326 * resolve.c (resolve_select_type): ... to the resolution stage.
327
e7105ec5
TB
3282010-06-07 Tobias Burnus <burnus@net-b.de>
329
330 * options.c (gfc_handle_option): Fix -fno-recursive.
331
d233147b
TB
3322010-06-07 Tobias Burnus <burnus@net-b.de>
333
334 * gfc-internals.texi (copyrights-gfortran): Fix copyright year format.
335 * gfortran.texi (copyrights-gfortran): Ditto.
336
5498f011
JM
3372010-06-07 Joseph Myers <joseph@codesourcery.com>
338
339 * lang.opt (fshort-enums): Define using Var and VarExists.
340 * options.c (gfc_handle_option): Don't set flag_short_enums here.
341
15d774f9
PT
3422010-06-05 Paul Thomas <pault@gcc.gnu.org>
343 Janus Weil <janus@gcc.gnu.org>
344
345 PR fortran/43945
346 * resolve.c (get_declared_from_expr): Move to before
347 resolve_typebound_generic_call. Make new_ref and class_ref
348 ignorable if set to NULL.
349 (resolve_typebound_generic_call): Once we have resolved the
350 generic call, check that the specific instance is that which
351 is bound to the declared type.
352 (resolve_typebound_function,resolve_typebound_subroutine): Avoid
353 freeing 'class_ref->next' twice.
354
546a65d9
PT
3552010-06-05 Paul Thomas <pault@gcc.gnu.org>
356
357 PR fortran/43895
358 * trans-array.c (structure_alloc_comps): Dereference scalar
359 'decl' if it is a REFERENCE_TYPE. Tidy expressions containing
360 TREE_TYPE (decl).
361
bdc6b402
JM
3622010-06-04 Joseph Myers <joseph@codesourcery.com>
363
364 * gfortranspec.c (append_arg, lang_specific_driver): Use
365 GCC-specific formats in diagnostics.
366
aac18c02
TB
3672010-06-02 Tobias Burnus <burnus@net-b.de>
368
369 PR fortran/44360
370 * parse.c (gfc_fixup_sibling_symbols): Do not "fix" use-associated
371 symbols.
372
022d9260
JD
3732010-06-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
374
375 PR fortran/44371
376 * match.c (gfc_match_stopcode): Move gfc_match_eos call inside
377 condition block.
378
87187539
SK
3792010-05-31 Steven G. Kargl <kargl@gcc.gnu.org>
380
381 * fortran/gfortran.texi: Fix typos in description of variable-format-
382 expressions.
383
e2113565
TK
3842010-05-31 Thomas Koenig <tkoenig@gcc.gnu.org>
385
386 PR fortran/36928
387 * dependency.c (gfc_check_section_vs_section): Check
388 for interleaving array assignments without conflicts.
389
7a08eda1
JW
3902010-05-30 Janus Weil <janus@gcc.gnu.org>
391
392 * gcc/fortran/gfortran.h (CLASS_DATA): New macro for accessing the
393 $data component of a class container.
394 * gcc/fortran/decl.c (attr_decl1): Use macro CLASS_DATA.
395 * gcc/fortran/expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol,
396 gfc_has_ultimate_allocatable,gfc_has_ultimate_pointer): Ditto.
397 * gcc/fortran/interface.c (matching_typebound_op): Ditto.
398 * gcc/fortran/match.c (gfc_match_allocate, gfc_match_deallocate): Ditto.
399 * gcc/fortran/parse.c (parse_derived): Ditto.
400 * gcc/fortran/primary.c (gfc_match_varspec, gfc_variable_attr,
401 gfc_expr_attr): Ditto.
402 * gcc/fortran/resolve.c (resolve_structure_cons, find_array_spec,
403 resolve_deallocate_expr, resolve_allocate_expr, resolve_select_type,
404 resolve_fl_var_and_proc, resolve_typebound_procedure,
405 resolve_fl_derived): Ditto.
406 * gcc/fortran/symbol.c (gfc_type_compatible): Restructured.
407 * gcc/fortran/trans-array.c (structure_alloc_comps): Use macro
408 CLASS_DATA.
409 * gcc/fortran/trans-decl.c (gfc_get_symbol_decl,
410 gfc_trans_deferred_vars): Ditto.
411 * gcc/fortran/trans-stmt.c (gfc_trans_allocate): Ditto.
412
984ad449
TB
4132010-05-28 Tobias Burnus <burnus@net-b.de>
414
415 * options.c (gfc_handle_option): Fix handling of -fno-whole-file.
416
2dec80c7
JM
4172010-05-28 Joseph Myers <joseph@codesourcery.com>
418
419 * gfortranspec.c (append_arg, lang_specific_driver): Use
420 fatal_error instead of fatal. Use warning instead of fprintf for
421 warnings.
422
7ca92787
JM
4232010-05-28 Joseph Myers <joseph@codesourcery.com>
424
425 * cpp.c (gfc_cpp_init_0): Use xstrerror instead of strerror.
426 * module.c (write_char, gfc_dump_module, gfc_use_module): Use
427 xstrerror instead of strerror.
428
5f0f4a3b
JM
4292010-05-26 Joseph Myers <joseph@codesourcery.com>
430
431 * cpp.c (cb_cpp_error): Save and restore
432 global_dc->warn_system_headers, not variable warn_system_headers.
433
140b7433
SB
4342010-05-26 Steven Bosscher <steven@gcc.gnu.org>
435
436 * fortran/f95-lang.c: Do not include libfuncs.h, expr.h, and except.h.
437
d347d97e
SB
4382010-05-26 Steven Bosscher <steven@gcc.gnu.org>
439
440 * trans-common.c: Do not include rtl.h, include output.h instead.
441 * trans-decl.c: Likewise.
442
cc9a4ca9
PT
4432010-05-26 Paul Thomas <pault@gcc.gnu.org>
444
445 PR fortran/40011
446 * resolve.c (resolve_global_procedure): Resolve the gsymbol's
447 namespace before trying to reorder the gsymbols.
448
30145da5
DF
4492010-05-25 Daniel Franke <franke.daniel@gmail.com>
450
451 PR fortran/30668
452 PR fortran/31346
453 PR fortran/34260
454 * resolve.c (resolve_global_procedure): Add check for global
455 procedures with implicit interfaces and assumed-shape or optional
456 dummy arguments. Verify that function return type, kind and string
457 lengths match.
458
7274feea
TB
4592010-05-21 Tobias Burnus <burnus@net-b.de>
460
461 * gfortran.h: Do not include system.h.
462 * bbt.c: Include system.h.
463 * data.c: Ditto.
464 * dependency.c: Ditto.
465 * dump-parse-tree.c: Ditto.
466 * arith.h: Do not include gfortran.h.
467 * constructor.h: Do not include gfortran.h and splay-tree.h.
468 * match.h: Do not include gfortran.h.
469 * parse.h: Ditto.
470 * target-memory.h: Ditto.
471 * openmp.c: Do not include toplev.h and target.h.
472 * trans-stmt.c: Ditto not include toplev.h.
473 * primary.c: Ditto.
474 * trans-common.c: Tell why toplev.h is needed. And
475 do not include target.h.
476 * trans-expr.c: Tell why toplev.h is needed.
477 * trans-array.c: Ditto.
478 * trans-openmp.c: Ditto.
479 * trans-const.c: Ditto.
480 * trans.c: Ditto.
481 * trans-types.c: Ditto.
482 * trans-io.c: Ditto.
483 * trans-decl.c: Ditto.
484 * scanner.c: Ditto.
485 * convert.c: Ditto.
486 * trans-intrinsic.c: Ditto.
487 * options.c: Ditto.
488
5d2d72cb
JD
4892010-05-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
490
491 PR fortran/43851
492 * match.c (gfc_match_stopcode): Use gfc_match_init_expr. Go to cleanup
493 before returning MATCH_ERROR. Add check for scalar. Add check for
494 default integer kind.
495
bc382218
JW
4962010-05-22 Janus Weil <janus@gcc.gnu.org>
497
498 PR fortran/44212
499 * match.c (gfc_match_select_type): On error jump back out of the local
500 namespace.
501 * parse.c (parse_derived): Defer creation of vtab symbols to resolution
502 stage, more precisely to ...
503 * resolve.c (resolve_fl_derived): ... this place.
504
7c9b8fb9
JW
5052010-05-22 Janus Weil <janus@gcc.gnu.org>
506
507 PR fortran/44213
508 * resolve.c (ensure_not_abstract): Allow abstract types with
509 non-abstract ancestors.
510
d49b6e1e
SB
5112010-05-21 Steven Bosscher <steven@gcc.gnu.org>
512
513 * trans-const.c: Include realmpfr.h.
514 * Make-lang.in: Update dependencies.
515
40013784
SB
5162010-05-21 Steven Bosscher <steven@gcc.gnu.org>
517
518 * trans-const.c, trans-types.c, trans-intrinsic.c:
519 Clean up redundant includes.
520
4ed44ccc
DF
5212010-05-20 Daniel Franke <franke.daniel@gmail.com>
522
523 PR fortran/38407
524 * lang.opt (Wunused-dummy-argument): New option.
525 * gfortran.h (gfc_option_t): Add warn_unused_dummy_argument.
526 * options.c (gfc_init_options): Disable warn_unused_dummy_argument.
527 (set_Wall): Enable warn_unused_dummy_argument.
528 (gfc_handle_option): Set warn_unused_dummy_argument according to
529 command line.
530 * trans-decl.c (generate_local_decl): Separate warnings about
531 unused variables and unused dummy arguments.
532 * invoke.texi: Documented new option.
533
a48ba7e1
SB
5342010-05-20 Steven Bosscher <steven@gcc.gnu.org>
535
536 * trans-expr.c: Do not include convert.h, ggc.h, real.h, and gimple.h.
537 (gfc_conv_string_tmp): Do not assert type comparibilty.
538 * trans-array.c: Do not include gimple.h, ggc.h, and real.h.
539 (gfc_conv_expr_descriptor): Remove assert.
540 * trans-common.c: Clarify why rtl.h and tm.h are included.
541 * trans-openmp.c: Do not include ggc.h and real.h.
542 Explain why gimple.h is included.
543 * trans-const.c: Do not include ggc.h.
544 * trans-stmt.c: Do not include gimple.h, ggc.h, and real.h.
545 * trans.c: Do not include ggc.h and real.h.
546 Explain why gimple.h is included.
547 * trans-types.c: Do not include tm.h. Explain why langhooks.h
548 and dwarf2out.h are included.
549 * trans-io.c: Do not include gimple.h and real.h.
550 * trans-decl.c: Explain why gimple.h, tm.h, and rtl.h are included.
551 * trans-intrinsic.c: Do not include gimple.h. Explain why tm.h
552 is included.
553
feef2551
TB
5542010-05-20 Tobias Burnus <burnus@net-b.de>
555
556 * options.c (gfc_init_options,gfc_post_options): Enable
557 flag_associative_math by default.
558
6d1b0f92
JD
5592010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
560
561 PR fortran/43851
562 * trans-stmt.c (gfc_trans_stop): Add generation of call to
563 gfortran_error_stop_numeric. Fix up some whitespace. Use stop_string for
564 blank STOP, handling a null expression. (gfc_trans_pause): Use
565 pause_string for blank PAUSE.
566 * trans.h: Add external function declaration for error_stop_numeric.
567 * trans-decl.c (gfc_build_builtin_function_decls): Add the building of
568 the declaration for the library call. Adjust whitespaces.
569 * match.c (gfc_match_stopcode): Remove use of the actual stop code to
570 signal no stop code. Match the expression following the stop and pass
571 that to the translators. Remove the old use of digit matching. Add
572 checks that the stop_code expression is INTEGER or CHARACTER, constant,
573 and if CHARACTER, default character KIND.
574
daf8c6f0
DF
5752010-05-19 Daniel Franke <franke.daniel@gmail.com>
576
577 PR fortran/44055
578 * lang.opt (Wconversion-extra): New option.
579 * gfortran.h (gfc_option_t): Add warn_conversion_extra.
580 * options.c (gfc_init_options): Disable -Wconversion-extra by default.
581 (set_Wall): Enable -Wconversion.
582 (gfc_handle_option): Set warn_conversion_extra.
583 * intrinsic.c (gfc_convert_type_warn): Ignore kind conditions
584 introduced for -Wconversion if -Wconversion-extra is present.
585 * invoke.texi: Add -Wconversion to -Wall; document new behaviour of
586 -Wconversion; document -Wconversion-extra.
587
16e520b6
DF
5882010-05-19 Daniel Franke <franke.daniel@gmail.com>
589
590 PR fortran/42360
591 * gfortran.h (gfc_has_default_initializer): New.
592 * expr.c (gfc_has_default_initializer): New.
593 * resolve.c (has_default_initializer): Removed, use
594 gfc_has_default_initializer() instead. Updated all callers.
595 * trans-array.c (has_default_initializer): Removed, use
596 gfc_has_default_initializer() instead. Updated all callers.
597 * trans-decl.c (generate_local_decl): Do not check the
598 first component only to check for initializers, but use
599 gfc_has_default_initializer() instead.
600
66faed76
DF
6012010-05-19 Daniel Franke <franke.daniel@gmail.com>
602
603 PR fortran/38404
604 * primary.c (match_string_constant): Move start_locus just inside
605 the string.
606 * data.c (create_character_intializer): Clarified truncation warning.
607
c9018c71
DF
6082010-05-19 Daniel Franke <franke.daniel@gmail.com>
609
610 PR fortran/34505
611 * intrinsic.h (gfc_check_float): New prototype.
612 (gfc_check_sngl): New prototype.
613 * check.c (gfc_check_float): New.
614 (gfc_check_sngl): New.
615 * intrinsic.c (add_functions): Moved DFLOAT from aliasing DBLE
616 to be a specific for REAL. Added check routines for FLOAT, DFLOAT
617 and SNGL.
618 * intrinsic.texi: Removed individual nodes of FLOAT, DFLOAT and SNGL,
619 added them to the list of specifics of REAL instead.
620
94ea6939
JW
6212010-05-17 Janus Weil <janus@gcc.gnu.org>
622
623 PR fortran/43990
624 * trans-expr.c (gfc_conv_structure): Remove unneeded and buggy code.
625 This is now handled via 'gfc_class_null_initializer'.
626
d15bac21
JW
6272010-05-17 Janus Weil <janus@gcc.gnu.org>
628
629 * class.c (gfc_add_component_ref,gfc_class_null_initializer,
630 gfc_build_class_symbol,add_proc_component,add_proc_comps,
631 add_procs_to_declared_vtab1,copy_vtab_proc_comps,
632 add_procs_to_declared_vtab,add_generic_specifics,
633 add_generics_to_declared_vtab,gfc_find_derived_vtab,
634 find_typebound_proc_uop,gfc_find_typebound_proc,
635 gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
636 gfc_get_tbp_symtree): Moved here from other places.
637 * expr.c (gfc_add_component_ref,gfc_class_null_initializer): Move to
638 class.c.
639 * gfortran.h (gfc_build_class_symbol,gfc_find_derived_vtab,
640 gfc_find_typebound_proc,gfc_find_typebound_user_op,
641 gfc_find_typebound_intrinsic_op,gfc_get_tbp_symtree,
642 gfc_add_component_ref, gfc_class_null_initializer): Moved to class.c.
643 * Make-lang.in: Add class.o.
644 * symbol.c (gfc_build_class_symbol,add_proc_component,add_proc_comps,
645 add_procs_to_declared_vtab1,copy_vtab_proc_comps,
646 add_procs_to_declared_vtab,add_generic_specifics,
647 add_generics_to_declared_vtab,gfc_find_derived_vtab,
648 find_typebound_proc_uop,gfc_find_typebound_proc,
649 gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op,
650 gfc_get_tbp_symtree): Move to class.c.
651
1eabc6be 6522010-05-17 Nathan Froyd <froydnj@codesourcery.com>
b64fca63
NF
653
654 * trans-types.c (gfc_init_types): Use build_function_type_list.
655 (gfc_get_ppc_type): Likewise.
656 * trans-decl.c (gfc_generate_constructors): Likewise.
657 * f95-lang.c (build_builtin_fntypes): Likewise.
658 (gfc_init_builtin_functions): Likewise.
659 (DEF_FUNCTION_TYPE_0): Likewise.
660 (DEF_FUNCTION_TYPE_1): Likewise.
661 (DEF_FUNCTION_TYPE_2): Likewise.
662 (DEF_FUNCTION_TYPE_3): Likewise.
663 (DEF_FUNCTION_TYPE_4): Likewise.
664 (DEF_FUNCTION_TYPE_5): Likewise.
665 (DEF_FUNCTION_TYPE_6): Likewise.
666 (DEF_FUNCTION_TYPE_7): Likewise. Use ARG7.
667 (DEF_FUNCTION_TYPE_VAR_0): Use build_varags_function_type_list.
668
8341deb5 6692010-05-17 Nathan Froyd <froydnj@codesourcery.com>
8748ad99
NF
670
671 * trans-array.c (gfc_trans_array_constructor_value): Use
672 build_constructor instead of build_constructor_from_list.
673 (gfc_build_constant_array_constructor): Likewise.
674 * trans-decl.c (create_main_function): Likewise.
675 * trans-stmt.c (gfc_trans_character_select): Likewise.
676
233961db
JW
6772010-05-17 Janus Weil <janus@gcc.gnu.org>
678
679 PR fortran/44044
680 * resolve.c (resolve_fl_var_and_proc): Move error messages here from ...
681 (resolve_fl_variable_derived): ... this place.
682 (resolve_symbol): Make sure function symbols (and their result
683 variables) are not resolved twice.
684
cdc6637d
DF
6852010-05-16 Daniel Franke <franke.daniel@gmail.com>
686
feef2551 687 PR fortran/35779
cdc6637d
DF
688 * array.c (match_array_list): Revert change from 2010-05-13.
689
afdda4b4
RG
6902010-05-16 Richard Guenther <rguenther@suse.de>
691
692 * trans-decl.c (module_htab_decls_hash): Revert last change.
693
6456e26e
RG
6942010-05-16 Richard Guenther <rguenther@suse.de>
695
696 * trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE.
697
fa36ce9c
MLI
6982010-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
699
700 * options.c (set_Wall): Remove special logic for Wuninitialized
701 without -O.
702
3a28464c
JW
7032010-05-15 Janus Weil <janus@gcc.gnu.org>
704
705 PR fortran/44154
706 PR fortran/42647
707 * trans-decl.c (gfc_trans_deferred_vars): Modify ordering of
708 if branches.
709
f8dde8af
JW
7102010-05-15 Janus Weil <janus@gcc.gnu.org>
711
712 PR fortran/43207
713 PR fortran/43969
714 * gfortran.h (gfc_class_null_initializer): New prototype.
715 * expr.c (gfc_class_null_initializer): New function to build a NULL
716 initializer for CLASS pointers.
717 * symbol.c (gfc_build_class_symbol): Modify internal naming of class
718 containers. Remove default NULL initialization of $data component.
719 * trans.c (gfc_allocate_array_with_status): Fix wording of an error
720 message.
721 * trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
722 Use new function 'gfc_class_null_initializer'.
723 * trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
724 class variables.
725
c13af44b
SK
7262010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
727
728 PR fortran/44135
729 * fortran/interface.c (get_sym_storage_size): Use signed instead of
730 unsigned mpz_get_?i routines.
731
88e09c79
JJ
7322010-05-14 Jakub Jelinek <jakub@redhat.com>
733
734 * trans.c (trans_code): Set backend locus early.
735 * trans-decl.c (gfc_get_fake_result_decl): Use source location
736 of the function instead of current input_location.
737
f2cbd86c
DF
7382010-05-13 Daniel Franke <franke.daniel@gmail.com>
739
feef2551
TB
740 PR fortran/35779
741 * intrinsic.c (gfc_init_expr): Renamed to gfc_init_expr_flag.
742 Updated all usages.
743 * expr.c (init_flag): Removed; use gfc_init_expr_flag everywhere.
744 * array.c (match_array_list): Pass on gfc_init_expr_flag when matching
745 iterators.
f2cbd86c 746
2b45bf21
JJ
7472010-05-13 Jakub Jelinek <jakub@redhat.com>
748
749 PR fortran/44036
750 * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
751 variable lists.
752 * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
753 by reference dummy procedures or non-dummy procedure pointers.
754 (gfc_omp_predetermined_sharing): Return
755 OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.
756
edf86ec1
DF
7572010-05-11 Daniel Franke <franke.daniel@gmail.com>
758
feef2551
TB
759 PR fortran/43711
760 * openmp.c (gfc_match_omp_taskwait): Report unexpected characters
761 after OMP statement.
762 (gfc_match_omp_critical): Likewise.
763 (gfc_match_omp_flush): Likewise.
764 (gfc_match_omp_workshare): Likewise.
765 (gfc_match_omp_master): Likewise.
766 (gfc_match_omp_ordered): Likewise.
767 (gfc_match_omp_atomic): Likewise.
768 (gfc_match_omp_barrier): Likewise.
769 (gfc_match_omp_end_nowait): Likewise.
edf86ec1 770
ad1614a7
DF
7712010-05-11 Daniel Franke <franke.daniel@gmail.com>
772
773 PR fortran/31820
774 * resolve.c (validate_case_label_expr): Removed FIXME.
775 (resolve_select): Raise default warning on case labels out of range
776 of the case expression.
777
4e42ad66
DF
7782010-05-10 Daniel Franke <franke.daniel@gmail.com>
779
780 PR fortran/27866
781 PR fortran/35003
782 PR fortran/42809
ad1614a7 783 * intrinsic.c (gfc_convert_type_warn): Be more discriminative
4e42ad66
DF
784 about conversion warnings.
785
f5dbb57c
JW
7862010-05-10 Janus Weil <janus@gcc.gnu.org>
787
788 PR fortran/44044
789 * match.c (gfc_match_select_type): Move error message to
790 resolve_select_type.
791 * resolve.c (resolve_select_type): Error message moved here from
792 gfc_match_select_type. Correctly set type of temporary.
793
0b7b376d
RG
7942010-05-10 Richard Guenther <rguenther@suse.de>
795
796 * trans-decl.c (gfc_build_library_function_decl): Split out
797 worker to ...
798 (build_library_function_decl_1): ... this new function.
799 Set a fnspec attribute if a specification was provided.
800 (gfc_build_library_function_decl_with_spec): New function.
801 (gfc_build_intrinsic_function_decls): Annotate internal_pack
802 and internal_unpack.
803
db7d7dc1
DF
8042010-05-07 Daniel Franke <franke.daniel@gmail.com>
805
806 PR fortran/40728
807 * intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol
feef2551 808 as external.
db7d7dc1 809
2cd5965f
JM
8102010-05-07 Jason Merrill <jason@redhat.com>
811
812 * trans-expr.c (gfc_conv_procedure_call): Rename nullptr to null_ptr
813 to avoid -Wc++-compat warning.
814
3734d960
MLI
8152010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
816
817 PR 40989
818 * options.c (gfc_handle_option): Add argument kind.
819 * gfortran.h (gfc_handle_option): Update declaration.
820
8212010-05-06 Tobias Burnus <burnus@net-b.de>
5e7b92b9
TB
822
823 PR fortran/43985
824 * trans-types.c (gfc_sym_type): Mark Cray pointees as
825 GFC_POINTER_TYPE_P.
826
147a19a9
DF
8272010-05-05 Daniel Franke <franke.daniel@gmail.com>
828
db7d7dc1 829 PR fortran/32331
5e7b92b9
TB
830 * resolve.c (traverse_data_list): Rephrase error message for
831 non-constant bounds in data-implied-do.
147a19a9 832
e5880243
DF
8332010-05-05 Daniel Franke <franke.daniel@gmail.com>
834
835 PR fortran/24978
836 * gfortran.h: Removed repeat count from constructor, removed
837 all usages.
838 * data.h (gfc_assign_data_value_range): Changed return value from
839 void to gfc_try.
840 * data.c (gfc_assign_data_value): Add location to constructor element.
841 (gfc_assign_data_value_range): Call gfc_assign_data_value()
842 for each element in range. Return early if an error was generated.
843 * resolve.c (check_data_variable): Stop early if range assignment
844 generated an error.
845
371b334e
JW
8462010-05-05 Janus Weil <janus@gcc.gnu.org>
847
848 PR fortran/43696
849 * resolve.c (resolve_fl_derived): Some fixes for class variables.
850 * symbol.c (gfc_build_class_symbol): Add separate class container for
851 class pointers.
852
431f5969
SK
8532010-05-03 Steven G. Kargl <kargl@gcc.gnu.org>
854
855 PR fortran/43592
856 * fortran/parse.c (parse_interface): Do not dereference a NULL pointer.
857
0d6d8e00
TB
8582010-05-02 Tobias Burnus <burnus@net-b.de>
859
860 PR fortran/18918
861 * intrinsic.c (add_functions): Fix GFC_STD and add gfc_resolve_ calls
862 for lcobound, ucobound, image_index and this_image.
863 * intrinsic.h (gfc_resolve_lcobound, gfc_resolve_this_image,
864 gfc_resolve_image_index, gfc_resolve_ucobound): New prototypes.
865 * iresolve.c (gfc_resolve_lcobound, gfc_resolve_this_image,
866 gfc_resolve_image_index, gfc_resolve_ucobound, resolve_bound): New
867 functions.
868 (gfc_resolve_lbound, gfc_resolve_ubound): Use resolve_bound.
869
8702010-04-30 Tobias Burnus <burnus@net-b.de>
bf65e4b1
TB
871
872 PR fortran/18918
873 PR fortran/43931
874 * trans-types.c (gfc_get_array_descriptor_base): Fix index
875 calculation for array descriptor types.
876
eece1eb9
PT
8772010-04-29 Janus Weil <janus@gcc.gnu.org>
878
879 PR fortran/43896
880 * symbol.c (add_proc_component,copy_vtab_proc_comps): Remove
881 initializers for PPC members of the vtabs.
882
8832010-04-29 Janus Weil <janus@gcc.gnu.org>
884
885 PR fortran/42274
886 * symbol.c (add_proc_component,add_proc_comps): Correctly set the 'ppc'
887 attribute for all PPC members of the vtypes.
888 (copy_vtab_proc_comps): Copy the correct interface.
889 * trans.h (gfc_trans_assign_vtab_procs): Modified prototype.
890 * trans-expr.c (gfc_trans_assign_vtab_procs): Pass the derived type as
891 a dummy argument and make sure all PPC members of the vtab are
892 initialized correctly.
893 (gfc_conv_derived_to_class,gfc_trans_class_assign): Additional argument
894 in call to gfc_trans_assign_vtab_procs.
895 * trans-stmt.c (gfc_trans_allocate): Ditto.
896
8972010-04-29 Paul Thomas <pault@gcc.gnu.org>
898
899 PR fortran/43326
900 * resolve.c (resolve_typebound_function): Renamed
901 resolve_class_compcall.Do all the detection of class references
902 here.
903 (resolve_typebound_subroutine): resolve_class_typebound_call
904 renamed. Otherwise same as resolve_typebound_function.
905 (gfc_resolve_expr): Call resolve_typebound_function.
906 (resolve_code): Call resolve_typebound_subroutine.
907
9082010-04-29 Janus Weil <janus@gcc.gnu.org>
909
910 PR fortran/43492
911 * resolve.c (resolve_typebound_generic_call): For CLASS methods
912 pass back the specific symtree name, rather than the target
913 name.
914
9152010-04-29 Paul Thomas <pault@gcc.gnu.org>
916
917 PR fortran/42353
918 * resolve.c (resolve_structure_cons): Make the initializer of
919 the vtab component 'extends' the same type as the component.
920
9212010-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
922
923 PR fortran/42680
924 * interface.c (check_interface1): Pass symbol name rather than NULL to
925 gfc_compare_interfaces.(gfc_compare_interfaces): Add assert to
926 trap MULL. (gfc_compare_derived_types): Revert previous change
927 incorporated incorrectly during merge from trunk, r155778.
928 * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
929 than NULL to gfc_compare_interfaces.
930 * symbol.c (add_generic_specifics): Likewise.
931
9322010-02-29 Janus Weil <janus@gcc.gnu.org>
933
934 PR fortran/42353
935 * interface.c (gfc_compare_derived_types): Add condition for vtype.
936 * symbol.c (gfc_find_derived_vtab): Sey access to private.
937 (gfc_find_derived_vtab): Likewise.
938 * module.c (ab_attribute): Add enumerator AB_VTAB.
939 (mio_symbol_attribute): Use new attribute, AB_VTAB.
940 (check_for_ambiguous): Likewise.
941
9422010-04-29 Paul Thomas <pault@gcc.gnu.org>
943 Janus Weil <janus@gcc.gnu.org>
944
945 PR fortran/41829
946 * trans-expr.c (select_class_proc): Remove function.
947 (conv_function_val): Delete reference to previous.
948 (gfc_conv_derived_to_class): Add second argument to the call to
949 gfc_find_derived_vtab.
950 (gfc_conv_structure): Exclude proc_pointer components when
951 accessing $data field of class objects.
952 (gfc_trans_assign_vtab_procs): New function.
953 (gfc_trans_class_assign): Add second argument to the call to
954 gfc_find_derived_vtab.
955 * symbol.c (gfc_build_class_symbol): Add delayed_vtab arg and
956 implement holding off searching for the vptr derived type.
957 (add_proc_component): New function.
958 (add_proc_comps): New function.
959 (add_procs_to_declared_vtab1): New function.
960 (copy_vtab_proc_comps): New function.
961 (add_procs_to_declared_vtab): New function.
962 (void add_generic_specifics): New function.
963 (add_generics_to_declared_vtab): New function.
964 (gfc_find_derived_vtab): Add second argument to the call to
965 gfc_find_derived_vtab. Add the calls to
966 add_procs_to_declared_vtab and add_generics_to_declared_vtab.
967 * decl.c (build_sym, build_struct): Use new arg in calls to
968 gfc_build_class_symbol.
969 * gfortran.h : Add vtype bitfield to symbol_attr. Remove the
970 definition of struct gfc_class_esym_list. Modify prototypes
971 of gfc_build_class_symbol and gfc_find_derived_vtab.
972 * trans-stmt.c (gfc_trans_allocate): Add second argument to the
973 call to gfc_find_derived_vtab.
974 * module.c : Add the vtype attribute.
975 * trans.h : Add prototype for gfc_trans_assign_vtab_procs.
976 * resolve.c (resolve_typebound_generic_call): Add second arg
977 to pass along the generic name for class methods.
978 (resolve_typebound_call): The same.
979 (resolve_compcall): Use the second arg to carry the generic
980 name from the above. Remove the reference to class_esym.
981 (check_members, check_class_members, resolve_class_esym,
982 hash_value_expr): Remove functions.
983 (resolve_class_compcall, resolve_class_typebound_call): Modify
984 to use vtable rather than member by member calls.
985 (gfc_resolve_expr): Modify second arg in call to
986 resolve_compcall.
987 (resolve_select_type): Add second arg in call to
988 gfc_find_derived_vtab.
989 (resolve_code): Add second arg in call resolve_typebound_call.
990 (resolve_fl_derived): Exclude vtypes from check for late
991 procedure definitions. Likewise for checking of explicit
992 interface and checking of pass arg.
993 * iresolve.c (gfc_resolve_extends_type_of): Add second arg in
994 calls to gfc_find_derived_vtab.
995 * match.c (select_type_set_tmp): Use new arg in call to
996 gfc_build_class_symbol.
997 * trans-decl.c (gfc_get_symbol_decl): Complete vtable if
998 necessary.
999 * parse.c (endType): Finish incomplete classes.
1000
a10da381
TB
10012010-04-28 Tobias Burnus <burnus@net-b.de>
1002
1003 PR fortran/18918
1004 PR fortran/43919
1005 * simplify.c (simplify_cobound): Handle scalar coarrays.
1006
ecb9d36f
TB
10072010-04-27 Tobias Burnus <burnus@net-b.de>
1008
1009 * gfc-internals.texi: Update copyright year.
1010 * gfortran.texi: Ditto.
1011 * invoke.texi: Ditto.
1012
f33beee9
TB
10132010-04-27 Tobias Burnus <burnus@net-b.de>
1014
1015 PR fortran/18918
1016 * resolve.c (resolve_allocate_expr): Allow array coarrays.
1017 * trans-types.h (gfc_get_array_type_bounds): Update prototype.
1018 * trans-types.c (gfc_get_array_type_bounds,
1019 gfc_get_array_descriptor_base): Add corank argument.
1020 * trans-array.c (gfc_array_init_size): Handle corank.
1021 (gfc_trans_create_temp_array, gfc_array_allocate,
1022 gfc_conv_expr_descriptor): Add corank argument to call.
1023 * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Ditto.
1024
8583a512
SK
10252010-04-24 Steven G. Kargl <kargl@gcc.gnu.org>
1026
1027 PR fortran/30073
1028 PR fortran/43793
1029 * trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead
1030 of mucking with a tree directly.
1031
2b8f356c
JD
10322010-04-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1033
1034 PR fortran/43832
1035 * io.c (gfc_match_open): Remove branch to syntax error. Add call to
1036 gfc_error with new error message.
1037
991b4da1
PT
10382010-04-24 Paul Thomas <pault@gcc.gnu.org>
1039
1040 PR fortran/43841
1041 PR fortran/43843
1042 * trans-expr.c (gfc_conv_expr): Supply an address expression for
1043 GFC_SS_REFERENCE.
1044 (gfc_conv_expr_reference): Call gfc_conv_expr and return for
1045 GFC_SS_REFERENCE.
1046 * trans-array.c (gfc_add_loop_ss_code): Store the value rather
1047 than the address of a GFC_SS_REFERENCE.
1048 * trans.h : Change comment on GFC_SS_REFERENCE.
1049
92375a20
RG
10502010-04-22 Richard Guenther <rguenther@suse.de>
1051
1052 PR fortran/43829
1053 * resolve.c (gfc_resolve_index): Wrap around ...
1054 (gfc_resolve_index_1): ... this. Add parameter to allow
1055 any integer kind index type.
1056 (resolve_array_ref): Allow any integer kind for the start
1057 index of an array ref.
1058
2b65cd83
JJ
10592010-04-21 Jakub Jelinek <jakub@redhat.com>
1060
1061 PR fortran/43836
1062 * f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on
1063 the decl.
1064
b41f8489
HA
10652010-04-20 Harald Anlauf <anlauf@gmx.de>
1066
1067 * intrinsic.c (sort_actual): Remove 'is' in error message.
1068
9c4174d8
PT
10692010-04-20 Paul Thomas <pault@gcc.gnu.org>
1070
1071 PR fortran/43227
1072 * resolve.c (resolve_fl_derived): If a component character
1073 length has not been resolved, do so now.
1074 (resolve_symbol): The same as above for a symbol character
1075 length.
1076 * trans-decl.c (gfc_create_module_variable): A 'length' decl is
1077 not needed for a character valued, procedure pointer.
1078
1079 PR fortran/43266
1080 * resolve.c (ensure_not_abstract_walker): If 'overriding' is
1081 not found, return FAILURE rather than ICEing.
1082
310e4472
JJ
10832010-04-19 Jakub Jelinek <jakub@redhat.com>
1084
1085 PR fortran/43339
1086 * openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
1087 sequential loops private in the innermost containing task region.
1088
3b9e5d95
EB
10892010-04-18 Eric Botcazou <ebotcazou@adacore.com>
1090
1091 * f95-lang.c (gfc_init_decl_processing): Remove second argument in call
1092 to build_common_tree_nodes.
1093
6c559604
SK
10942010-04-17 Steven G. Kargl <kargl@gcc.gnu.org>
1095
3b9e5d95
EB
1096 PR fortran/31538
1097 * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
1098 gfc_msg_bounds by using 'Array bound mismatch' directly.
1099 (gfc_trans_dummy_array_bias): Remove the use of gfc_msg_bounds. Reword
1100 error message to include the mismatch in the extent of array bound.
1101 * fortran/trans.c: Remove gfc_msg_bounds. It is only used in one place.
1102 * fortran/trans.h: Remove extern definition of gfc_msg_bounds.
6c559604 1103
0e9496cc
JD
11042010-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1105
1106 * gfortran.texi: Update information on temporary file locations.
1107
fcd3c5a9
JJ
11082010-04-16 Jakub Jelinek <jakub@redhat.com>
1109
1110 * trans-decl.c (gfc_build_qualified_array): Ensure
1111 ubound.N and lbound.N artificial variable names don't appear
1112 in debug info.
1113
e3e529d1
SK
11142010-04-15 Steven G. Kargl <kargl@gcc.gnu.org>
1115
1116 PR fortran/30073
1117 * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
1118 block of code. Set name to the variable associated with the descriptor.
1119
e429bb49
JJ
11202010-04-15 Jakub Jelinek <jakub@redhat.com>
1121
1122 * trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P
1123 on VAR_DECL LBOUND and/or UBOUND, even for -O1.
1124
17fb1a8c
SK
11252010-04-14 Steven G. Kargl <kargl@gcc.gnu.org>
1126
e429bb49 1127 * intrinsic.texi: Add the missing specific name of intrinsic
17fb1a8c
SK
1128 procedure where the specific name is identical to the generic name.
1129 Fix inconsistent or mismatch in the argument names in intrinsic
1130 procedure descriptions. Add the SCALAR allocatable description to
1131 ALLOCATED.
1132
64f002ed
TB
11332010-04-14 Tobias Burnus <burnus@net-b.de>
1134
1135 PR fortran/18918
1136 * array.c (gfc_find_array_ref): Handle codimensions.
1137 (gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error.
1138 * check.c (is_coarray, dim_corank_check, gfc_check_lcobound,
1139 gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound):
1140 New functions.
1141 * gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX,
1142 GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE,
1143 GFC_ISYM_UCOBOUND.
1144 * intrinsic.h (add_functions): Add this_image, image_index,
1145 lcobound and ucobound intrinsics.
1146 * intrinsic.c (gfc_check_lcobound,gfc_check_ucobound,
1147 gfc_check_image_index, gfc_check_this_image,
1148 gfc_simplify_image_index, gfc_simplify_lcobound,
1149 gfc_simplify_this_image, gfc_simplify_ucobound):
1150 New function prototypes.
1151 * intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE
1152 IMAGE_INDEX): Document new intrinsic functions.
1153 * match.c (gfc_match_critical, sync_statement): Make -fcoarray=none
1154 error fatal.
1155 * simplify.c (simplify_bound_dim): Handle coarrays.
1156 (simplify_bound): Update simplify_bound_dim call.
1157 (gfc_simplify_num_images): Add -fcoarray=none check.
1158 (simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound,
1159 gfc_simplify_ucobound, gfc_simplify_ucobound): New functions.
1160
b1ccc24e
JD
11612010-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1162
1163 PR fortran/43747
1164 * constructor.c: Fix typo in comment.
1165 * expr.c (find_array_section): Add check for max array limit.
1166
5f1c83e1
IS
11672010-04-13 Iain Sandoe <iains@gcc.gnu.org>
1168
1169 PR bootstrap/31400
1170 * gfortranspec.c (lookup_option): Check for -static and return
1171 OPTION_static.
1172 (lang_specific_driver): Break when OPTION_static is discovered.
1173
b7e75771
JD
11742010-04-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1175
1176 * array.c (extract_element): Restore function from trunk.
1177 (gfc_get_array_element): Restore function from trunk.
1178 (gfc_expand_constructor): Restore check against
1179 flag_max_array_constructor.
1180 * constructor.c (node_copy_and_append): Delete unused.
1181 * gfortran.h: Delete comment and extra include.
1182 * constructor.h: Bump copyright and clean up TODO comments.
1183 * resolve.c: Whitespace.
1184
11852010-04-12 Daniel Franke <franke.daniel@gmail.com>
1186
1187 * simplify.c (compute_dot_product): Replaced usage of ADVANCE macro
1188 with direct access access to elements. Adjusted prototype, fixed all
1189 callers.
1190 (gfc_simplify_dot_product): Removed duplicate check for zero-sized
1191 array.
1192 (gfc_simplify_matmul): Removed usage of ADVANCE macro.
1193 (gfc_simplify_spread): Removed workaround, directly insert elements
1194 at a given array position.
1195 (gfc_simplify_transpose): Likewise.
1196 (gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding
1197 function calls.
1198 (gfc_simplify_unpack): Likewise.
1199
12002010-04-12 Daniel Franke <franke.daniel@gmail.com>
1201
1202 * simplify.c (only_convert_cmplx_boz): Renamed to ...
1203 (convert_boz): ... this and moved to start of file.
1204 (gfc_simplify_abs): Whitespace fix.
1205 (gfc_simplify_acos): Whitespace fix.
1206 (gfc_simplify_acosh): Whitespace fix.
1207 (gfc_simplify_aint): Whitespace fix.
1208 (gfc_simplify_dint): Whitespace fix.
1209 (gfc_simplify_anint): Whitespace fix.
1210 (gfc_simplify_and): Replaced if-gate by more common switch-over-type.
1211 (gfc_simplify_dnint): Whitespace fix.
1212 (gfc_simplify_asin): Whitespace fix.
1213 (gfc_simplify_asinh): Moved creation of result-expr out of switch.
1214 (gfc_simplify_atan): Likewise.
1215 (gfc_simplify_atanh): Whitespace fix.
1216 (gfc_simplify_atan2): Whitespace fix.
1217 (gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED.
1218 (gfc_simplify_bessel_j1): Likewise.
1219 (gfc_simplify_bessel_jn): Likewise.
1220 (gfc_simplify_bessel_y0): Likewise.
1221 (gfc_simplify_bessel_y1): Likewise.
1222 (gfc_simplify_bessel_yn): Likewise.
1223 (gfc_simplify_ceiling): Reorderd statements.
1224 (simplify_cmplx): Use convert_boz(), check for constant arguments.
1225 Whitespace fix.
1226 (gfc_simplify_cmplx): Use correct default kind. Removed check for
1227 constant arguments.
1228 (gfc_simplify_complex): Replaced if-gate. Removed check for
1229 constant arguments.
1230 (gfc_simplify_conjg): Whitespace fix.
1231 (gfc_simplify_cos): Whitespace fix.
1232 (gfc_simplify_cosh): Replaced if-gate by more common switch-over-type.
1233 (gfc_simplify_dcmplx): Removed check for constant arguments.
1234 (gfc_simplify_dble): Use convert_boz() and gfc_convert_constant().
1235 (gfc_simplify_digits): Whitespace fix.
1236 (gfc_simplify_dim): Whitespace fix.
1237 (gfc_simplify_dprod): Reordered statements.
1238 (gfc_simplify_erf): Whitespace fix.
1239 (gfc_simplify_erfc): Whitespace fix.
1240 (gfc_simplify_epsilon): Whitespace fix.
1241 (gfc_simplify_exp): Whitespace fix.
1242 (gfc_simplify_exponent): Use convert_boz().
1243 (gfc_simplify_floor): Reorderd statements.
1244 (gfc_simplify_gamma): Whitespace fix.
1245 (gfc_simplify_huge): Whitespace fix.
1246 (gfc_simplify_iand): Whitespace fix.
1247 (gfc_simplify_ieor): Whitespace fix.
1248 (simplify_intconv): Use gfc_convert_constant().
1249 (gfc_simplify_int): Use simplify_intconv().
1250 (gfc_simplify_int2): Reorderd statements.
1251 (gfc_simplify_idint): Reorderd statements.
1252 (gfc_simplify_ior): Whitespace fix.
1253 (gfc_simplify_ishftc): Removed duplicate type check.
1254 (gfc_simplify_len): Use range_check() instead of manual range check.
1255 (gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix.
1256 (gfc_simplify_log): Whitespace fix.
1257 (gfc_simplify_log10): Whitespace fix.
1258 (gfc_simplify_minval): Whitespace fix.
1259 (gfc_simplify_maxval): Whitespace fix.
1260 (gfc_simplify_mod): Whitespace fix.
1261 (gfc_simplify_modulo): Whitespace fix.
1262 (simplify_nint): Reorderd statements.
1263 (gfc_simplify_not): Whitespace fix.
1264 (gfc_simplify_or): Replaced if-gate by more common switch-over-type.
1265 (gfc_simplify_radix): Removed unused result-variable. Whitespace fix.
1266 (gfc_simplify_range): Removed unused result-variable. Whitespace fix.
1267 (gfc_simplify_real): Use convert_boz() and gfc_convert_constant().
1268 (gfc_simplify_realpart): Whitespace fix.
1269 (gfc_simplify_selected_char_kind): Removed unused result-variable.
1270 (gfc_simplify_selected_int_kind): Removed unused result-variable.
1271 (gfc_simplify_selected_real_kind): Removed unused result-variable.
1272 (gfc_simplify_sign): Whitespace fix.
1273 (gfc_simplify_sin): Whitespace fix.
1274 (gfc_simplify_sinh): Replaced if-gate by more common switch-over-type.
1275 (gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix.
1276 (gfc_simplify_tan): Replaced if-gate by more common switch-over-type.
1277 (gfc_simplify_tanh): Replaced if-gate by more common switch-over-type.
1278 (gfc_simplify_xor): Replaced if-gate by more common switch-over-type.
1279
12802010-04-12 Daniel Franke <franke.daniel@gmail.com>
1281
1282 * gfortran.h (gfc_start_constructor): Removed.
1283 (gfc_get_array_element): Removed.
1284 * array.c (gfc_start_constructor): Removed, use gfc_get_array_expr
1285 instead. Fixed all callers.
1286 (extract_element): Removed.
1287 (gfc_expand_constructor): Temporarily removed check for
1288 max-array-constructor. Will be re-introduced later if still required.
1289 (gfc_get_array_element): Removed, use gfc_constructor_lookup_expr
1290 instead. Fixed all callers.
1291 * expr.c (find_array_section): Replaced manual lookup of elements
1292 by gfc_constructor_lookup.
1293
12942010-04-12 Daniel Franke <franke.daniel@gmail.com>
1295
feef2551
TB
1296 * gfortran.h (gfc_get_null_expr): New prototype.
1297 (gfc_get_operator_expr): New prototype.
1298 (gfc_get_character_expr): New prototype.
1299 (gfc_get_iokind_expr): New prototype.
1300 * expr.c (gfc_get_null_expr): New.
1301 (gfc_get_character_expr): New.
1302 (gfc_get_iokind_expr): New.
1303 (gfc_get_operator_expr): Moved here from matchexp.c (build_node).
1304 * matchexp.c (build_node): Renamed and moved to
1305 expr.c (gfc_get_operator_expr). Reordered arguments to match
1306 other functions. Fixed all callers.
1307 (gfc_get_parentheses): Use specific function to build expr.
1308 * array.c (gfc_match_array_constructor): Likewise.
1309 * arith.c (eval_intrinsic): Likewise.
1310 (gfc_hollerith2int): Likewise.
1311 (gfc_hollerith2real): Likewise.
1312 (gfc_hollerith2complex): Likewise.
1313 (gfc_hollerith2logical): Likewise.
1314 * data.c (create_character_intializer): Likewise.
1315 * decl.c (gfc_match_null): Likewise.
1316 (enum_initializer): Likewise.
1317 * io.c (gfc_match_format): Likewise.
1318 (match_io): Likewise.
1319 * match.c (gfc_match_nullify): Likewise.
1320 * primary.c (match_string_constant): Likewise.
1321 (match_logical_constant): Likewise.
1322 (build_actual_constructor): Likewise.
1323 * resolve.c (build_default_init_expr): Likewise.
1324 * symbol.c (generate_isocbinding_symbol): Likewise.
1325 (gfc_build_class_symbol): Likewise.
1326 (gfc_find_derived_vtab): Likewise.
1327 * simplify.c (simplify_achar_char): Likewise.
1328 (gfc_simplify_adjustl): Likewise.
1329 (gfc_simplify_adjustr): Likewise.
1330 (gfc_simplify_and): Likewise.
1331 (gfc_simplify_bit_size): Likewise.
1332 (gfc_simplify_is_iostat_end): Likewise.
1333 (gfc_simplify_is_iostat_eor): Likewise.
1334 (gfc_simplify_isnan): Likewise.
1335 (simplify_bound): Likewise.
1336 (gfc_simplify_leadz): Likewise.
1337 (gfc_simplify_len_trim): Likewise.
1338 (gfc_simplify_logical): Likewise.
1339 (gfc_simplify_maxexponent): Likewise.
1340 (gfc_simplify_minexponent): Likewise.
1341 (gfc_simplify_new_line): Likewise.
1342 (gfc_simplify_null): Likewise.
1343 (gfc_simplify_or): Likewise.
1344 (gfc_simplify_precision): Likewise.
1345 (gfc_simplify_repeat): Likewise.
1346 (gfc_simplify_scan): Likewise.
1347 (gfc_simplify_size): Likewise.
1348 (gfc_simplify_trailz): Likewise.
1349 (gfc_simplify_trim): Likewise.
1350 (gfc_simplify_verify): Likewise.
1351 (gfc_simplify_xor): Likewise.
1352 * trans-io.c (build_dt): Likewise.
1353 (gfc_new_nml_name_expr): Removed.
b7e75771
JD
1354
13552010-04-12 Daniel Franke <franke.daniel@gmail.com>
1356
1357 * arith.h (gfc_constant_result): Removed prototype.
1358 * constructor.h (gfc_build_array_expr): Removed prototype.
1359 (gfc_build_structure_constructor_expr): Removed prototype.
1360 * gfortran.h (gfc_int_expr): Removed prototype.
1361 (gfc_logical_expr): Removed prototype.
1362 (gfc_get_array_expr): New prototype.
1363 (gfc_get_structure_constructor_expr): New prototype.
1364 (gfc_get_constant_expr): New prototype.
1365 (gfc_get_int_expr): New prototype.
1366 (gfc_get_logical_expr): New prototype.
1367 * arith.c (gfc_constant_result): Moved and renamed to
1368 expr.c (gfc_get_constant_expr). Fixed all callers.
1369 * constructor.c (gfc_build_array_expr): Moved and renamed to
1370 expr.c (gfc_get_array_expr). Split gfc_typespec argument to type
1371 and kind. Fixed all callers.
1372 (gfc_build_structure_constructor_expr): Moved and renamed to
1373 expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument
1374 to type and kind. Fixed all callers.
1375 * expr.c (gfc_logical_expr): Renamed to ...
1376 (gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers.
1377 (gfc_int_expr): Renamed to ...
1378 (gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all
1379 callers.
1380 (gfc_get_constant_expr): New.
1381 (gfc_get_array_expr): New.
1382 (gfc_get_structure_constructor_expr): New.
1383 * simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr
1384 instead.
1385
13862010-04-12 Daniel Franke <franke.daniel@gmail.com>
1387
1388 * constructor.h: New.
1389 * constructor.c: New.
1390 * Make-lang.in: Add new files to F95_PARSER_OBJS.
1391 * arith.c (reducy_unary): Use constructor API.
1392 (reduce_binary_ac): Likewise.
1393 (reduce_binary_ca): Likewise.
1394 (reduce_binary_aa): Likewise.
1395 * check.c (gfc_check_pack): Likewise.
1396 (gfc_check_reshape): Likewise.
1397 (gfc_check_unpack): Likewise.
1398 * decl.c (add_init_expr_to_sym): Likewise.
1399 (build_struct): Likewise.
1400 * dependency.c (gfc_check_dependency): Likewise.
1401 (contains_forall_index_p): Likewise.
1402 * dump-parse-tree.c (show_constructor): Likewise.
1403 * expr.c (free_expr0): Likewise.
1404 (gfc_copy_expr): Likewise.
1405 (gfc_is_constant_expr): Likewise.
1406 (simplify_constructor): Likewise.
1407 (find_array_element): Likewise.
1408 (find_component_ref): Likewise.
1409 (find_array_section): Likewise.
1410 (find_substring_ref): Likewise.
1411 (simplify_const_ref): Likewise.
1412 (scalarize_intrinsic_call): Likewise.
1413 (check_alloc_comp_init): Likewise.
1414 (gfc_default_initializer): Likewise.
1415 (gfc_traverse_expr): Likewise.
1416 * iresolve.c (check_charlen_present): Likewise.
1417 (gfc_resolve_reshape): Likewise.
1418 (gfc_resolve_transfer): Likewise.
1419 * module.c (mio_constructor): Likewise.
1420 * primary.c (build_actual_constructor): Likewise.
1421 (gfc_match_structure_constructor): Likewise.
1422 * resolve.c (resolve_structure_cons): Likewise.
1423 * simplify.c (is_constant_array_expr): Likewise.
1424 (init_result_expr): Likewise.
1425 (transformational_result): Likewise.
1426 (simplify_transformation_to_scalar): Likewise.
1427 (simplify_transformation_to_array): Likewise.
1428 (gfc_simplify_dot_product): Likewise.
1429 (simplify_bound): Likewise.
1430 (simplify_matmul): Likewise.
1431 (simplify_minval_maxval): Likewise.
1432 (gfc_simplify_pack): Likewise.
1433 (gfc_simplify_reshape): Likewise.
1434 (gfc_simplify_shape): Likewise.
1435 (gfc_simplify_spread): Likewise.
1436 (gfc_simplify_transpose): Likewise.
1437 (gfc_simplify_unpack): Likewise.q
1438 (gfc_convert_constant): Likewise.
1439 (gfc_convert_char_constant): Likewise.
1440 * target-memory.c (size_array): Likewise.
1441 (encode_array): Likewise.
1442 (encode_derived): Likewise.
1443 (interpret_array): Likewise.
1444 (gfc_interpret_derived): Likewise.
1445 (expr_to_char): Likewise.
1446 (gfc_merge_initializers): Likewise.
1447 * trans-array.c (gfc_get_array_constructor_size): Likewise.
1448 (gfc_trans_array_constructor_value): Likewise.
1449 (get_array_ctor_strlen): Likewise.
1450 (gfc_constant_array_constructor_p): Likewise.
1451 (gfc_build_constant_array_constructor): Likewise.
1452 (gfc_trans_array_constructor): Likewise.
1453 (gfc_conv_array_initializer): Likewise.
1454 * trans-decl.c (check_constant_initializer): Likewise.
1455 * trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
1456 (gfc_apply_interface_mapping_to_cons): Likewise.
1457 (gfc_trans_structure_assign): Likewise.
1458 (gfc_conv_structure): Likewise.
1459 * array.c (check_duplicate_iterator): Likewise.
1460 (match_array_list): Likewise.
1461 (match_array_cons_element): Likewise.
1462 (gfc_match_array_constructor): Likewise.
1463 (check_constructor_type): Likewise.
1464 (check_constructor): Likewise.
1465 (expand): Likewise.
1466 (expand_constructor): Likewise.
1467 (extract_element): Likewise.
1468 (gfc_expanded_ac): Likewise.
1469 (resolve_array_list): Likewise.
1470 (gfc_resolve_character_array_constructor): Likewise.
1471 (copy_iterator): Renamed to ...
1472 (gfc_copy_iterator): ... this.
1473 (gfc_append_constructor): Removed.
1474 (gfc_insert_constructor): Removed unused function.
1475 (gfc_get_constructor): Removed.
1476 (gfc_free_constructor): Removed.
1477 (qgfc_copy_constructor): Removed.
1478 * gfortran.h (struct gfc_expr): Removed member 'con_by_offset'.
1479 Removed all references. Replaced constructor list by splay-tree.
1480 (struct gfc_constructor): Removed member 'next', moved 'offset' from
1481 the inner struct, added member 'base'.
1482 (gfc_append_constructor): Removed prototype.
1483 (gfc_insert_constructor): Removed prototype.
1484 (gfc_get_constructor): Removed prototype.
1485 (gfc_free_constructor): Removed prototype.
1486 (qgfc_copy_constructor): Removed prototype.
1487 (gfc_copy_iterator): New prototype.
1488 * trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype.
1489
687ea68f
TB
14902010-04-10 Tobias Burnus <burnus@net-b.de>
1491
1492 PR fortran/43591
1493 * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
1494 proc-pointers and type-bound procedures.
1495 (gfc_specification_expr): Check proc-pointers for pureness.
1496
8351bca7
IS
14972010-04-09 Iain Sandoe <iains@gcc.gnu.org>
1498
1499 PR bootstrap/43684
1500 * gfortranspec.c (lang_specific_driver): Do not expose vars
1501 only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling
1502 for such.
1503
d3a9eea2
TB
15042010-04-09 Tobias Burnus <burnus@net-b.de>
1505
1506 PR fortran/18918
1507 * decl.c (variable_decl, match_attr_spec): Fix setting the array
1508 spec.
1509 * array.c (match_subscript,gfc_match_array_ref): Add coarray support.
1510 * data.c (gfc_assign_data_value): Ditto.
1511 * expr.c (gfc_check_pointer_assign): Add check for coarray constraint.
1512 (gfc_traverse_expr): Traverse also through codimension expressions.
1513 (gfc_is_coindexed, gfc_has_ultimate_allocatable,
1514 gfc_has_ultimate_pointer): New functions.
1515 * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_STAR for coarrays.
1516 (gfc_array_ref): Add codimen.
1517 (gfc_array_ref): Add in_allocate.
1518 (gfc_is_coindexed, gfc_has_ultimate_allocatable,
1519 gfc_has_ultimate_pointer): Add prototypes.
1520 * interface.c (compare_parameter, compare_actual_formal,
1521 check_intents): Add coarray constraints.
1522 * match.c (gfc_match_iterator): Add coarray constraint.
1523 * match.h (gfc_match_array_ref): Update interface.
1524 * primary.c (gfc_match_varspec): Handle codimensions.
1525 * resolve.c (coarray_alloc, inquiry_argument): New static variables.
1526 (check_class_members): Return gfc_try instead for error recovery.
1527 (resolve_typebound_function,resolve_typebound_subroutine,
1528 check_members): Handle return value of check_class_members.
1529 (resolve_structure_cons, resolve_actual_arglist, resolve_function,
1530 check_dimension, compare_spec_to_ref, resolve_array_ref,
1531 resolve_ref, resolve_variable, gfc_resolve_expr, conformable_arrays,
1532 resolve_allocate_expr, resolve_ordinary_assign): Add coarray
1533 support.
1534 * trans-array.c (gfc_conv_array_ref, gfc_walk_variable_expr):
1535 Skip over coarray refs.
1536 (gfc_array_allocate) Add support for references containing coindexes.
1537 * trans-expr.c (gfc_add_interface_mapping): Copy coarray attribute.
1538 (gfc_map_intrinsic_function): Ignore codimensions.
1539
d0a2c5a9
BD
15402010-04-08 Bud Davis <bdavis9659@sbcglobal.net>
1541
1542 PR fortran/28039
1543 * io.c (check_format_string): Added check for additional non
1544 blank characters after the format string was successfully
1545 parsed.
1546 * io.c (check_format): Changed the error messages for positive
1547 int required and period required to drop through the error logic
1548 and report with gfc_error instead of gfc_error_now. Corrected
1549 format postion for hollerith strings.
1550
3e2f637e
TB
15512010-04-08 Tobias Burnus <burnus@net-b.de>
1552
1553 * module.c (use_iso_fortran_env_module): Fix standard check.
1554
60d3aec4
JJ
15552010-04-07 Jakub Jelinek <jakub@redhat.com>
1556
1557 * parse.c (parse_derived, parse_enum): Avoid set but not used
1558 warning.
1559
927f4842
JB
15602010-04-07 Janne Blomqvist <jb@gcc.gnu.org>
1561
1562 PR fortran/40539
1563 * gfortran.texi: Add section about representation of
3e2f637e 1564 LOGICAL variables.
927f4842 1565
87cf0651
SB
15662010-04-07 Simon Baldwin <simonb@google.com>
1567
1568 * cpp.c (cb_cpp_error): Add warning reason argument, set a value
1569 for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
1570
0d3c82d6
RG
15712010-04-07 Richard Guenther <rguenther@suse.de>
1572
1573 * options.c (gfc_init_options): Do not set.
1574
f4d1d50a
TB
15752010-04-06 Tobias Burnus <burnus@net-b.de>
1576
1577 PR fortran/18918
1578 * array.c (gfc_match_array_spec): Add error for -fcoarray=none.
1579 * match.c (gfc_match_critical, sync_statement): Ditto.
1580 * gfortran.h (gfc_fcoarray): New enum.
1581 (gfc_option_t): Use it.
1582 * lang.opt (fcoarray): Add new flag.
1583 * invoke.texi (fcoarray): Document it.
1584 * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=.
1585 (gfc_handle_coarray_option): New function.
1586
178f9aa1
TB
15872010-04-06 Tobias Burnus <burnus@net-b.de>
1588
1589 PR fortran/18918
1590 * gfortran.h (gfc_array_spec): Add cotype.
1591 * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it
1592 and defer error diagnostic.
1593 * resolve.c (resolve_fl_derived): Add missing check.
1594 (resolve_symbol): Add cotype/type check.
1595 * parse.c (parse_derived): Fix setting of coarray_comp.
1596
be59db2d
TB
15972010-04-06 Tobias Burnus <burnus@net-b.de>
1598
1599 PR fortran/18918
1600 * array.c (gfc_free_array_spec,gfc_resolve_array_spec,
1601 match_array_element_spec,gfc_copy_array_spec,
1602 gfc_compare_array_spec): Include corank.
1603 (match_array_element_spec,gfc_set_array_spec): Support codimension.
1604 * decl.c (build_sym,build_struct,variable_decl,
1605 match_attr_spec,attr_decl1,cray_pointer_decl,
1606 gfc_match_volatile): Add codimension.
1607 (gfc_match_codimension): New function.
1608 * dump-parse-tree.c (show_array_spec,show_attr): Support codimension.
1609 * gfortran.h (symbol_attribute,gfc_array_spec): Ditto.
1610 (gfc_add_codimension): New function prototype.
1611 * match.h (gfc_match_codimension): New function prototype.
1612 (gfc_match_array_spec): Update prototype
1613 * match.c (gfc_match_common): Update gfc_match_array_spec call.
1614 * module.c (MOD_VERSION): Bump.
1615 (mio_symbol_attribute): Support coarray attributes.
1616 (mio_array_spec): Add corank support.
1617 * parse.c (decode_specification_statement,decode_statement,
1618 parse_derived): Add coarray support.
1619 * resolve.c (resolve_formal_arglist, was_declared,
1620 is_non_constant_shape_array, resolve_fl_variable,
1621 resolve_fl_derived, resolve_symbol): Add coarray support.
1622 * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr,
1623 gfc_build_class_symbol): Add coarray support.
1624 (gfc_add_codimension): New function.
1625
385e8144
TB
16262010-04-06 Tobias Burnus <burnus@net-b.de>
1627
1628 PR fortran/18918
1629 * iso-fortran-env.def: Add the integer parameters atomic_int_kind,
1630 atomic_logical_kind, iostat_inquire_internal_unit, stat_locked,
1631 stat_locked_other_image, stat_stopped_image and stat_unlocked of
1632 Fortran 2008.
1633 * intrinsic.texi (iso_fortran_env): Ditto.
1634 * libgfortran.h (libgfortran_stat_codes): New enum.
1635 * module.c (use_iso_fortran_env_module): Honour -std= when loading
1636 constants from the intrinsic module.
1637
d0a4a61c
TB
16382010-04-06 Tobias Burnus <burnus@net-b.de>
1639
1640 PR fortran/39997
1641 * intrinsic.c (add_functions): Add num_images.
1642 * decl.c (gfc_match_end): Handle END CRITICAL.
1643 * intrinsic.h (gfc_simplify_num_images): Add prototype.
1644 * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
1645 and SYNC.
1646 * gfortran.h (gfc_statement): Add enum items for those.
1647 (gfc_exec_op) Ditto.
1648 (gfc_isym_id): Add num_images.
1649 * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
1650 (gfc_trans_sync,gfc_trans_critical): New functions.
1651 * trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
1652 gfc_trans_critical): Add/update prototypes.
1653 * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
1654 and SYNC statements.
1655 * trans.h (gfor_fndecl_error_stop_string) Add variable.
1656 * resolve.c (resolve_sync): Add function.
1657 (gfc_resolve_blocks): Handle CRITICAL.
1658 (resolve_code): Handle CRITICAL, ERROR STOP,
1659 (resolve_branch): Add CRITICAL constraint check.
1660 and SYNC statements.
1661 * st.c (gfc_free_statement): Add new statements.
1662 * trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
1663 (gfc_build_builtin_function_decls): Initialize it.
1664 * match.c (gfc_match_if): Handle ERROR STOP and SYNC.
1665 (gfc_match_critical, gfc_match_error_stop, sync_statement,
1666 gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory):
1667 New functions.
1668 (match_exit_cycle): Handle CRITICAL constraint.
1669 (gfc_match_stopcode): Handle ERROR STOP.
1670 * match.h (gfc_match_critical, gfc_match_error_stop,
1671 gfc_match_sync_all, gfc_match_sync_images,
1672 gfc_match_sync_memory): Add prototype.
1673 * parse.c (decode_statement, gfc_ascii_statement,
1674 parse_executable): Handle new statements.
1675 (parse_critical_block): New function.
1676 * parse.h (gfc_compile_state): Add COMP_CRITICAL.
1677 * intrinsic.texi (num_images): Document new function.
1678 * simplify.c (gfc_simplify_num_images): Add function.
1679
2b56d6a4
TB
16802010-04-06 Tobias Burnus <burnus@net-b.de>
1681
1682 PR fortran/43178
1683 * trans-array.c (gfc_conv_expr_descriptor): Update
1684 gfc_trans_scalar_assign call.
1685 (has_default_initializer): New function.
1686 (gfc_trans_deferred_array): Nullify less often.
1687 * trans-expr.c (gfc_conv_subref_array_arg,
1688 gfc_trans_subcomponent_assign): Update call to
1689 gfc_trans_scalar_assign.
1690 (gfc_trans_scalar_assign): Add parameter and pass it on.
1691 (gfc_trans_assignment_1): Optionally, do not dealloc before
1692 assignment.
1693 * trans-openmp.c (gfc_trans_omp_array_reduction): Update
1694 call to gfc_trans_scalar_assign.
1695 * trans-decl.c (gfc_get_symbol_decl): Do not always apply
1696 initializer to static variables.
1697 (gfc_init_default_dt): Add dealloc parameter and pass it on.
1698 * trans-stmt.c (forall_make_variable_temp,
1699 generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
1700 gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3
1701 gfc_trans_allocate): Update gfc_trans_assignment call.
1702 * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt,
1703 gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc
1704 parameter to prototype.
1705
0a261912
PT
17062010-03-31 Paul Thomas <pault@gcc.gnu.org>
1707
1708 * ioparm.def : Update copyright.
1709 * lang.opt : ditto
1710 * trans-array.c : ditto
1711 * trans-array.h : ditto
1712 * expr.c: ditto
1713 * trans-types.c: ditto
1714 * dependency.c : ditto
1715 * gfortran.h : ditto
1716 * options.c : ditto
1717 * trans-io.c : ditto
1718 * trans-intrinsic.c : ditto
1719 * libgfortran.h : ditto
1720 * invoke.texi : ditto
1721 * intrinsic.texi : ditto
1722 * trans.c : ditto
1723 * trans.h : ditto
1724 * intrinsic.c : ditto
1725 * interface.c : ditto
1726 * iresolve.c : ditto
1727 * trans-stmt.c : ditto
1728 * trans-stmt.h : ditto
1729 * parse,c : ditto
1730 * match.h : ditto
1731 * error.c : ditto
1732
b8849663
PT
17332010-03-20 Paul Thomas <pault@gcc.gnu.org>
1734
1735 PR fortran/43450
1736 * trans-decl.c (gfc_create_module_variable): With -fwhole-file
1737 do not assert the context of derived types.
1738
41c3cddc
JD
17392010-03-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1740
1741 PR fortran/43409
1742 * ioparm.def: Change inquire size variable to type pointer to
1743 GFC_IO_INT type.
1744
1821bcfc
PT
17452010-03-18 Paul Thomas <pault@gcc.gnu.org>
1746
feef2551
TB
1747 PR fortran/43039
1748 * trans-expr.c (conv_parent_component_references): Ensure that
1821bcfc
PT
1749 'dt' has a backend_decl.
1750
feef2551
TB
1751 PR fortran/43043
1752 * trans-expr.c (gfc_conv_structure): Ensure that the derived
1821bcfc
PT
1753 type has a backend_decl.
1754
feef2551
TB
1755 PR fortran/43044
1756 * resolve.c (resolve_global_procedure): Check that the 'cl'
1821bcfc
PT
1757 structure is not NULL.
1758
316fc112
SZ
17592010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
1760
1761 * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
1762 redundant tab.
1763
b3aefde2
TB
17642010-03-17 Tobias Burnus <burnus@net-b.de>
1765
1766 PR fortran/43331
1767 * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref,
1768 gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed
1769 check.
1770 * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray
1771 pointees as having explizit size.
1772 * expr.c (gfc_check_assign): Remove now unreachable Cray pointee
1773 check.
1774 * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert.
1775 (gfc_sym_type): Don't mark Cray pointees as restricted pointers.
1776 * resolve.c (resolve_symbol): Handle cp_was_assumed.
1777 * trans-decl.c (gfc_trans_deferred_vars): Ditto.
1778 (gfc_finish_var_decl): Don't mark Cray pointees as restricted
1779 pointers.
1780
4eceddd7
TB
17812010-03-14 Tobias Burnus <burnus@net-b.de>
1782
1783 PR fortran/43362
1784 * resolve.c (resolve_structure_cons): Add missing PURE constraint.
1785 (resolve_ordinary_assign): Add check to avoid segfault.
1786
6a943ee7
PT
17872010-03-12 Paul Thomas <pault@gcc.gnu.org>
1788
1789 PR fortran/43291
1790 PR fortran/43326
1791 * resolve.c (resolve_compcall): Add new boolean dummy argument
1792 'class_members'. Only resolve expression at end if false.
1793 Remove redundant, static variable 'class_object'.
1794 (check_class_members): Add extra argument to call of
1795 resolve_compcall.
1796 (resolve_typebound_function): Renamed resolve_class_compcall.
1797 Do all the detection of class references here. Correct calls to
1798 resolve_compcall for extra argument.
1799 (resolve_typebound_subroutine): resolve_class_typebound_call
1800 renamed. Otherwise same as resolve_typebound_function.
1801 (gfc_resolve_expr): Call resolve_typebound_function.
1802 (resolve_code): Call resolve_typebound_subroutine.
1803
abf4d60b
TB
18042010-03-10 Tobias Burnus <burnus@net-b.de
1805
1806 PR fortran/43303
1807 * symbol.c (get_iso_c_sym): Set sym->result.
1808
b3d286ba
JW
18092010-03-08 Janus Weil <janus@gcc.gnu.org>
1810
1811 PR fortran/43256
1812 * resolve.c (resolve_compcall): Don't set 'value.function.name' here
1813 for TBPs, otherwise they will not be resolved properly.
1814 (resolve_function): Use 'value.function.esym' instead of
abf4d60b 1815 'value.function.name' to check if we're dealing with a TBP.
b3d286ba
JW
1816 (check_class_members): Set correct type of passed object for all TBPs,
1817 not only generic ones, except if the type is abstract.
1818
33344e0f
JW
18192010-03-04 Janus Weil <janus@gcc.gnu.org>
1820
1821 PR fortran/43244
1822 * decl.c (gfc_match_final_decl): Make sure variable names starting with
1823 'final...' are not misinterpreted as FINAL statements.
1824
ba461991
PT
18252010-03-03 Paul Thomas <pault@gcc.gnu.org>
1826
1827 PR fortran/43243
1828 * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
1829 allocatable ultimate components do not need temporaries, whilst
1830 ultimate pointer components do.
1831
d1039125
JW
18322010-03-03 Janus Weil <janus@gcc.gnu.org>
1833
1834 PR fortran/43169
1835 * resolve.c (resolve_code): Correctly set gfc_current_ns for
1836 EXEC_SELECT_TYPE.
1837 (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
1838 (gfc_pure): Ditto.
1839
2542496c
PT
18402010-03-02 Paul Thomas <pault@gcc.gnu.org>
1841
1842 PR fortran/43180
1843 * trans-array.c (gfc_conv_array_parameter): A full array of
1844 derived type need not be restricted to a symbol without an
1845 array spec to use the call to gfc_conv_expr_descriptor.
1846
1847 PR fortran/43173
1848 * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
1849 allocatable arrays do not need temporaries.
1850
fef06326
TB
18512010-03-01 Tobias Burnus <burnus@net-b.de>
1852
1853 PR fortran/43199
1854 * resolve.c (find_array_spec): Handle REF_COMPONENT with
1855 CLASS components.
1856
dfd65514
TB
18572010-02-28 Tobias Burnus <burnus@net-b.de>
1858
1859 PR fortran/43205
1860 * trans-expr.c (is_zero_initializer_p): Move up in the file.
1861 (gfc_conv_initializer): Handle zero initializer as special case.
1862
cea2d589
TB
18632010-02-27 Tobias Burnus <burnus@net-b.de>
1864
1865 PR fortran/43185
1866 * resolve.c (resolve_fl_variable_derived): Imply SAVE
1867 for module variables for Fortran 2008.
1868
06796564
JJ
18692010-02-25 Jakub Jelinek <jakub@redhat.com>
1870
1871 PR debug/43166
1872 * trans-common.c (build_common_decl): Also update DECL_MODE,
1873 and DECL_SIZE when encountering a larger common block and call
1874 layout_decl.
1875
feef2551 18762010-02-24 Tobias Burnus <burnus@net-b.de>
505a36f9
TB
1877
1878 PR fortran/43042
1879 * trans-expr.c (gfc_conv_initializer): Call directly
feef2551 1880 gfc_conv_constant for C_NULL_(FUN)PTR.
505a36f9 1881
f80c558f
PT
18822010-02-22 Paul Thomas <pault@gcc.gnu.org>
1883
1884 PR fortran/43072
1885 * dependency.c (gfc_full_array_ref_p): Check for contiguous by
1886 checking the rest of the dimensions for elements.
1887
72bd130e
TB
18882010-02-21 Tobias Burnus <burnus@net-b.de>
1889
1890 PR fortran/35259
1891 * gfortran.h (gfc_option_t): New flag -fprotect-parens.
1892 * lang.opt: Ditto.
1893 * option.c (gfc_init_options,gfc_handle_option): Ditto.
1894 * trans-expr.c (gfc_conv_expr_op): Use the flag.
1895 * invoke.texi: Document new -fno-protect-parens flag.
1896
f7172b55
PT
18972010-02-20 Paul Thomas <pault@gcc.gnu.org>
1898
1899 PR fortran/36932
1900 PR fortran/36933
1901 PR fortran/43072
1902 PR fortran/43111
1903 * dependency.c (gfc_check_argument_var_dependency): Use enum
1904 value instead of arithmetic vaue for 'elemental'.
1905 (check_data_pointer_types): New function.
1906 (gfc_check_dependency): Call check_data_pointer_types.
1907 * trans-array.h : Change fourth argument of
1908 gfc_conv_array_parameter to boolean.
1909 * trans-array.c (gfc_conv_array_parameter): A contiguous array
1910 can be a dummy but it must not be assumed shape or deferred.
1911 Change fourth argument to boolean. Array constructor exprs will
1912 always be contiguous and do not need packing and unpacking.
1913 * trans-expr.c (gfc_conv_procedure_call): Clean up some white
1914 space and change fourth argument of gfc_conv_array_parameter
1915 to boolean.
1916 (gfc_trans_arrayfunc_assign): Change fourth argument of
1917 gfc_conv_array_parameter to boolean.
1918 * trans-io.c (gfc_convert_array_to_string): The same.
1919 * trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
1920
22bdbb0f
TB
19212010-02-20 Tobias Burnus <burnus@net-b.de>
1922
1923 PR fortran/42958
1924 * libgfortran.h: Add GFC_RTCHECK_MEM.
1925 * invoke.texi (-fcheck=): Document -fcheck=mem.
1926 * tranc.c (gfc_call_malloc): Remove negative-size run-time error
1927 and enable malloc-success check only with -fcheck=mem.
1928 * option.c (gfc_handle_runtime_check_option): Add -fcheck=mem.
1929
7bc19392
TB
19302010-02-16 Tobias Burnus <burnus@net-b.de>
1931
1932 PR fortran/43040
1933 * gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA.
1934 * intrinsic.c (add_functions): Ditto.
1935 * iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma.
1936 * mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma".
1937
bc51e726
JD
19382010-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1939
1940 PR fortran/32382
1941 * trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to
1942 gfc_trans_do prototype.
1943 * trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in
1944 a loop exit condition. If exit condition is given, build the loop exit
1945 code, checking IO results of implied do loops in READ and WRITE.
1946 (gfc_trans_do): Likewise.
1947 * trans.c (trans_code): New static work function, previously
1948 gfc_trans_code. Passes exit condition to gfc_trans_do.
1949 (gfc_trans_code): Calls trans_code with NULL_TREE condition.
1950 (gfc_trans_code_cond): Calls trans_code with loop exit condition.
1951 * trans-io.c (build_dt): Build an exit condition to allow checking IO
1952 result status bits in the dtparm structure. Use this condition in call
1953 to gfc_trans_code_cond.
1954
17555e7e
PT
19552010-02-13 Paul Thomas <pault@gcc.gnu.org>
1956
1957 PR fortran/41113
1958 PR fortran/41117
1959 * trans-array.c (gfc_conv_array_parameter): Use
1960 gfc_full_array_ref_p to detect full and contiguous variable
1961 arrays. Full array components and contiguous arrays do not need
1962 internal_pack and internal_unpack.
1963
01e64c3d
JJ
19642010-02-11 Jakub Jelinek <jakub@redhat.com>
1965
a79ff094
JJ
1966 PR fortran/43030
1967 * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
1968
01e64c3d
JJ
1969 PR fortran/43029
1970 * decl.c (enumerator_decl): Don't call gfc_free_enum_history
1971 here.
1972 (gfc_match_enumerator_def): But here whenever enumerator_decl returns
1973 MATCH_ERROR.
1974
7fcd5ad5
TB
19752010-02-10 Joost VandeVondele <jv244@cam.ac.uk>
1976 Tobias Burnus <burnus@net-b.de>
1977
1978 PR fortran/40823
1979 * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at.
1980
975d3303
TB
19812010-02-10 Tobias Burnus <burnus@net-b.de>
1982
1983 PR fortran/43015
1984 * trans-decl.c (gfc_generate_function_code): Only check
1985 actual-vs.-dummy character bounds if not bind(C).
1986
45406a12
JJ
19872010-02-10 Jakub Jelinek <jakub@redhat.com>
1988
1989 PR fortran/42309
1990 * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
1991 info->dimen after info has been freed.
1992
cbb1ab10 19932010-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
db9633ec
JD
1994
1995 PR fortran/42999
1996 * array.c (gfc_constant_ac): Do not prevent expansion of constructors
1997 with iterators.
1998
b16be5f2
JJ
19992010-02-09 Jakub Jelinek <jakub@redhat.com>
2000
2001 * module.c (fix_mio_expr): Declare sym.
2002
6f117ca5
TB
20032010-02-09 Paul Thomas <pault@gcc.gnu.org>
2004
2005 PR fortran/41869
2006 * module.c (fix_mio_expr): Fix for private generic procedures.
2007
5e1d6b4c
DK
20082010-02-09 Daniel Kraft <d@domob.eu>
2009
2010 PR fortran/39171
2011 * resolve.c (resolve_charlen): Change warning about negative CHARACTER
2012 length to be correct and issue only with -Wsurprising.
2013 * invoke.texi (Wsurprising): Mention this new warning that is
2014 turned on by -Wsurprising.
2015
d0d4124c
DK
20162010-02-09 Daniel Kraft <d@domob.eu>
2017
2018 PR fortran/41507
2019 * intrinsic.texi (MAXVAL): Remove wrong claim that array argument
2020 can be CHARACTER type.
2021 (MINVAL), (MAXLOC), (MINLOC): Ditto.
2022
430f2d1f
PT
20232010-02-05 Paul Thomas <pault@gcc.gnu.org>
2024
2025 PR fortran/42309
2026 * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
2027 'formal_ptr'. If this is true, give returned descriptor unity
2028 lbounds, in all dimensions, and the appropriate offset.
2029 (gfc_conv_procedure_call); If formal is a pointer, set the last
2030 argument of gfc_conv_subref_array_arg to true.
2031 * trans.h : Add last argument for gfc_conv_subref_array_arg.
2032 * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
2033 new arg of gfc_conv_subref_array_arg to false.
2034 * trans-stmt.c (forall_make_variable_temp): The same.
2035
d8a8dab3
TB
20362010-02-03 Tobias Burnus <burnus@net-b.de>
2037
2038 PR fortran/42936
2039 * interface.c (compare_parameter): Disable rank-checking
2040 for NULL().
2041
096bfdb1
TB
20422010-02-02 Tobias Burnus <burnus@net-b.de>
2043
2044 PR fortran/42650
2045 * parse.c (decode_specification_statement): Use sym->result not sym.
2046
ade20620
TB
20472010-02-01 Tobias Burnus <burnus@net-b.de>
2048
2049 PR fortran/42922
2050 * decl.c (variable_decl): Allow default initializer in
2051 TYPE declarations in PURE functions.
2052
7adac79a
JW
20532010-01-31 Janus Weil <janus@gcc.gnu.org>
2054
2055 PR fortran/42888
2056 * resolve.c (resolve_allocate_expr): Move default initialization code
2057 here from gfc_trans_allocate.
2058 * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
2059 EXEC_INIT_ASSIGN.
2060 * trans-expr.c (gfc_trans_class_assign): Handle default initialization
2061 of CLASS variables via memcpy.
2062 * trans-stmt.c (gfc_trans_allocate): Move default initialization code
2063 to resolve_allocate_expr.
2064
b7d1d8b4
PT
20652010-01-31 Paul Thomas <pault@gcc.gnu.org>
2066
ade20620 2067 PR fortran/38324
b7d1d8b4
PT
2068 * expr.c (gfc_get_full_arrayspec_from_expr): New function.
2069 * gfortran.h : Add prototype for above.
ade20620 2070 * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
b7d1d8b4
PT
2071 (gfc_trans_subcomponent_assign): Call new function to replace
2072 the code to deal with allocatable components.
2073 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
2074 gfc_get_full_arrayspec_from_expr to replace existing code.
2075
03d838ba
TB
20762010-01-25 Tobias Burnus <burnus@net-b.de>
2077
2078 PR fortran/42858
2079 * array.c (gfc_array_dimen_size): Fix intrinsic procedure
2080 check.
2081
ff015c5b
PT
20822010-01-24 Paul Thomas <pault@gcc.gnu.org>
2083
2084 PR fortran/41044
2085 PR fortran/41167
2086 * expr.c (remove_subobject_ref): If the constructor is NULL use
2087 the expression as the source.
2088 (simplify_const_ref): Change the type of expression if
2089 there are component references. Allow for substring to be at
2090 the end of an arbitrarily long chain of references. If an
2091 element is found that is not in an EXPR_ARRAY, assume that this
2092 is scalar initialization of array. Call remove_subobject_ref in
2093 this case with NULL second argument.
2094
23f6293e
TB
20952010-01-24 Tobias Burnus <burnus@net-b.de>
2096
2097 PR fortran/39304
2098 * array.c (gfc_array_dimen_size): Use correct specific
2099 function in the check.
2100
3c3b62d1
PT
21012010-01-21 Paul Thomas <pault@gcc.gnu.org>
2102
2103 PR fortran/42736
2104 * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
2105 is required, turn any trailing array elements after a range
2106 into ranges so that offsets can be calculated.
2107
e80b7e74
JR
21082010-01-20 Joern Rennecke <amylaar@spamcop.net>
2109
2110 * module.c (mio_f2k_derived): Use enumerator as initializer of
2111 enum variable.
2112
204803dc
JR
2113 PR bootstrap/42812
2114 * gfortran.h (struct gfc_namespace) <resolved>: Change to signed
2115 bitfield of width 2.
2116
63894de2
JW
21172010-01-19 Janus Weil <janus@gcc.gnu.org>
2118
2119 PR fortran/42804
2120 * resolve.c (extract_compcall_passed_object): Set locus for
2121 passed-object argument.
2122 (extract_ppc_passed_object): Set locus and correctly remove PPC
2123 reference.
2124
702a738b
PT
21252010-01-19 Paul Thomas <pault@gcc.gnu.org>
2126
2127 PR fortran/42783
2128 * trans-decl.c (add_argument_checking): Do not use the backend
2129 decl directly to test for the presence of an optional dummy
2130 argument. Use gfc_conv_expr_present, remembering to set the
2131 symbol referenced.
2132
2133 PR fortran/42772
2134 * trans-decl.c (gfc_generate_function_code): Small white space
2135 changes. If 'recurcheckvar' is NULL do not try to reset it.
2136
f89cc1a3
JW
21372010-01-19 Janus Weil <janus@gcc.gnu.org>
2138
2139 PR fortran/42545
2140 * resolve.c (resolve_fl_derived): Set the accessibility of the parent
2141 component for extended types.
2142 * symbol.c (gfc_find_component): Remove a wrongly-worded error message
2143 and take care of parent component accessibility.
2144
ae7c61de
JW
21452010-01-17 Janus Weil <janus@gcc.gnu.org>
2146
2147 PR fortran/42677
2148 * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
2149 * interface.c (check_interface1): Move a warning message here from
2150 resolve_fl_procedure.
2151 (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
2152 * module.c (read_module): Remove call to gfc_check_interfaces, since
2153 this comes too early here.
2154 * resolve.c (resolve_fl_procedure): Move warning message to
2155 check_interface1.
2156
0175478d
JD
21572010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2158
2159 PR fortran/42684
2160 * interface.c (check_interface1): Pass symbol name rather than NULL to
2161 gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
2162 trap MULL.
2163 * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
2164 than NULL to gfc_compare_interfaces.
2165
40c32948
PT
21662010-01-14 Paul Thomas <pault@gcc.gnu.org>
2167
feef2551
TB
2168 PR fortran/41478
2169 * trans-array.c (duplicate_allocatable): Static version of
40c32948
PT
2170 gfc_duplicate_allocatable with provision to handle scalar
2171 components. New boolean argument to switch off call to malloc
2172 if true.
2173 (gfc_duplicate_allocatable): New function to call above with
2174 new argument false.
2175 (gfc_copy_allocatable_data): New function to call above with
2176 new argument true.
2177 (structure_alloc_comps): Do not apply indirect reference to
2178 scalar pointers. Add new section to copy allocatable components
2179 of arrays. Extend copying of allocatable components to include
2180 scalars.
2181 (gfc_copy_only_alloc_comp): New function to copy allocatable
2182 component derived types, without allocating the base structure.
2183 * trans-array.h : Add primitive for gfc_copy_allocatable_data.
2184 Add primitive for gfc_copy_only_alloc_comp.
2185 * trans-expr.c (gfc_conv_procedure_call): After calls to
2186 transformational functions with results that are derived types
2187 with allocatable components, copy the components in the result.
2188 (gfc_trans_arrayfunc_assign): Deallocate allocatable components
2189 of lhs derived types before allocation.
2190
08b02036
PT
21912010-01-14 Paul Thomas <pault@gcc.gnu.org>
2192
2193 PR fortran/42481
2194 * module.c (load_generic_interfaces): If a procedure that is
2195 use associated but not generic is given an interface that
2196 includes itself, then make it generic.
2197
feef2551 21982010-01-11 Joseph Myers <joseph@codesourcery.com>
f94e1d66
JM
2199 Shujing Zhao <pearly.zhao@oracle.com>
2200
2201 PR translation/42469
2202 * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
2203 finit-logical=, finit-real=, fmax-array-constructor=): Use tab
2204 character between option name and help text.
2205
f2ff577a
JD
22062010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2207
2208 PR fortran/20923
2209 PR fortran/32489
2210 * trans-array.c (gfc_conv_array_initializer): Change call to
2211 gfc_error_now to call to gfc_fatal_error.
2212 * array.c (count_elements): Whitespace. (extract_element): Whitespace.
2213 (is_constant_element): Changed name from constant_element.
2214 (gfc_constant_ac): Only use expand_construuctor for expression
2215 types of EXPR_ARRAY. If expression type is EXPR_CONSTANT, no need to
2216 call gfc_is_constant_expr.
2217 * expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
2218 message.
2219 * resolve.c (gfc_is_expandable_expr): New function that determiners if
2220 array expressions should have their constructors expanded.
2221 (gfc_resolve_expr): Use new function to determine whether or not to call
2222 gfc_expand_constructor.
2223
3d876aba
TB
22242010-01-09 Tobias Burnus <burnus@net-b.de>
2225
2226 PR fortran/41298
2227 * trans-expr.c (gfc_trans_structure_assign): Handle
2228 c_null_(fun)ptr.
2229 * symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
2230 to the constructor for c_null_(fun)ptr.
2231 * resolve.c (resolve_structure_cons): Add special case
2232 for c_null_(fun)ptr.
2233
bd5c3aa5
JJ
22342010-01-09 Jakub Jelinek <jakub@redhat.com>
2235
2236 * gfortranspec.c (lang_specific_driver): Update copyright notice
2237 dates.
2238
22392010-01-08 Tobias Burnus <burnus@net-b.de>
1eee5628
TB
2240
2241 PR/fortran 25829
2242 * symbol.c (check_conflict, gfc_copy_attr): Add
2243 ASYNCHRONOUS support.
2244 (gfc_add_asynchronous): New function.
2245 * decl.c (match_attr_spec): Add ASYNCHRONOUS support.
2246 (gfc_match_asynchronous): New function.
2247 * dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support.
2248 * gfortran.h (symbol_attribute): New ASYNCHRONOUS bit.
2249 (gfc_add_asynchronous): New Prototype.
2250 * module.c (ab_attribute, mio_symbol_attribute): Add
2251 ASYNCHRONOUS support.
2252 * resolve.c (was_declared): Ditto.
2253 * match.h (gfc_match_asynchronous): New prototype.
2254 * parse.c (decode_specification_statement,decode_statement):
2255 Add ASYNCHRONOUS support.
2256
2a3c437d
TB
22572010-01-07 Tobias Burnus <burnus@net-b.de>
2258
2259 PR fortran/42597
2260 * trans-decl.c (get_proc_pointer_decl): Fix call to
2261 gfc_conv_initializer for array-valued proc-pointer funcs.
2262
64b33a7e
TB
22632010-01-07 Tobias Burnus <burnus@net-b.de>
2264
2265 PR fortran/41872
2266 * trans-decl.c (gfc_trans_deferred_vars): Don't initialize
2267 allocatable scalars with SAVE attribute.
2268
653f6dc5
TB
22692010-01-05 Tobias Burnus <burnus@net-b.de>
2270
2271 PR fortran/42517
2272 * options.c (gfc_post_options): Set -frecursion
2273 when -fopenmp is used.
2274
11492349
TB
22752010-01-05 Tobias Burnus <burnus@net-b.de>
2276
2277 PR fortran/41872
2278 * trans-expr.c (gfc_conv_procedure_call): Nullify
2279 return value for allocatable-scalar character functions.
2280
d6de356a
TB
22812010-01-04 Tobias Burnus <burnus@net-b.de>
2282
2283 PR fortran/36161
2284 * error.c (error_printf, gfc_warning, gfc_notify_std,
2285 gfc_warning_now, gfc_error, gfc_error_now,
2286 gfc_fatal_error): Change argument name from nocmsgid to
2287 gmsgid to enable (x)gettext's % checking.
2288
93c71688
TB
22892010-01-04 Tobias Burnus <burnus@net-b.de>
2290
2291 * trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
2292
5b130807
TB
22932010-01-04 Tobias Burnus <burnus@net-b.de>
2294
2295 PR fortran/41872
2296 * trans-expr.c (gfc_conv_procedure_call): Add indirect ref
2297 for functions returning allocatable scalars.
2298 * trans-stmt.c (gfc_trans_allocate): Emmit error when
2299 reallocating an allocatable scalar.
2300 * trans.c (gfc_allocate_with_status): Fix pseudocode syntax
2301 in comment.
2302 * trans-decl.c (gfc_trans_deferred_vars): Nullify local
2303 allocatable scalars.
2304 (gfc_generate_function_code): Nullify result variable for
2305 allocatable scalars.
2306
2307 PR fortran/40849
2308 * module.c (gfc_use_module): Fix warning string to allow
2309 for translation.
2310
2311 PR fortran/42517
2312 * invoke.texi (-fcheck=recursion): Mention that the checking
2313 is also disabled for -frecursive.
2314 * trans-decl.c (gfc_generate_function_code): Disable
2315 -fcheck=recursion when -frecursive is used.
2316
2317 * intrinsic.texi (iso_c_binding): Improve wording.
ad41bd84
JM
2318
2319\f
0bdf1263 2320Copyright (C) 2010 Free Software Foundation, Inc.
ad41bd84
JM
2321
2322Copying and distribution of this file, with or without modification,
2323are permitted in any medium without royalty provided the copyright
2324notice and this notice are preserved.