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