]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
* output.h (__gcc_host_wide_int__): Move to hwint.h.
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
b5369b7d 12012-05-31 Steven Bosscher <steven@gcc.gnu.org>
2
3 * trans-common.c: Do not include output.h.
4 * trans-decl.c: Likewise.
5
9635c0c3 62012-05-31 Tobias Burnus <burnus@net-b.de>
7
8 PR fortran/53521
9 * trans.c (gfc_deallocate_scalar_with_status): Properly
10 handle the case size == 0.
11
d55c3689 122012-05-30 Tobias Burnus <burnus@net-b.de>
13
14 PR c/53502
15 * decl.c (match_attr_spec): Remove "typedef".
16
df084314 172012-05-30 Tobias Burnus <burnus@net-b.de>
18
19 * decl.c: Fix comment typos.
20 * expr.c: Ditto.
21 * frontend-passes.c: Ditto.
22 * match.c: Ditto.
23 * resolve.c: Ditto.
24 * trans-array.c: Ditto.
25 * trans-common.c: Ditto.
26 * trans-intrinsic.c: Ditto.
27 * trans-types.c: Ditto.
28
71f58d94 292012-05-23 Tobias Burnus <burnus@net-b.de>
30
31 PR fortran/51055
32 PR fortran/45170
33 * match.c (gfc_match_allocate): Set length_from_typespec
34 for characters.
35 * resolve.c (resolve_charlen): If set, don't check whether
36 the len is a specification expression.
37
9e64f226 382012-05-22 Tobias Burnus <burnus@net-b.de>
39
40 PR fortran/53389
41 * trans-array.c (gfc_add_loop_ss_code): Don't evaluate expression, if
42 ss->is_alloc_lhs is set.
43
43cbde16 442012-05-22 Dodji Seketeli <dodji@redhat.com>
45
46 PR c++/53322
47 * f95-lang.c (gfc_init_builtin_functions): Remove the unused
9e64f226 48 typedef builtin_type.
43cbde16 49
7f4f15dc 502012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
51
52 PR fortran/52428
53 * gfortran.texi: Update _gfortran_set_options documentation.
54 * invoke.texi: Remove runtime behavior description of
55 -fno-range-check.
56 * trans-decl.c (create_main_function): Don't pass the range-check
57 setting to the library.
58
774bbd60 592012-05-14 Tobias Burnus <burnus@net-b.de>
60
61 PR fortran/49110
62 PR fortran/51055
63 PR fortran/53329
64 * trans-expr.c (gfc_trans_assignment_1): Fix allocation
65 handling for assignment of function results to allocatable
66 deferred-length strings.
67 * trans-decl.c (gfc_create_string_length): For deferred-length
68 module variables, include module name in the assembler name.
69 (gfc_get_symbol_decl): Don't override the assembler name.
70
d3b7ee7c 712012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
72
73 PR 53063
74 * options.c (gfc_handle_option): Call lang-specific generated function.
75
62e307b5 762012-05-13 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
77 Tobias Burnus <burnus@net-b.de>
78
79 PR fortran/52158
80 PR fortran/45170
81 PR fortran/49430
82 * resolve.c (resolve_fl_derived0): Deferred character length
83 procedure components are supported.
84 * trans-expr.c (gfc_conv_procedure_call): Handle TBP with
85 deferred-length results.
86 (gfc_string_to_single_character): Add a new check to prevent
87 NULL read.
88 (gfc_conv_procedure_call): Remove unuseful checks on
89 symbol's attributes. Add new checks to prevent NULL read on
90 string length.
91
11820978 922012-05-12 Tobias Burnus <burnus@net-b.de>
93
94 PR fortran/49110
95 PR fortran/52843
96 * resolve.c (resolve_fl_procedure): Don't regard
97 character(len=:) as character(*) in the diagnostic.
98
eba36973 992012-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
100
101 PR fortran/52537
102 * frontend-passes.c (optimize_op): Change
103 old-style comparison operators to new-style, simplify
104 switch as a result.
105 (empty_string): New function.
106 (get_len_trim_call): New function.
107 (optimize_comparison): If comparing to an empty string,
108 use comparison of len_trim to zero.
109 Use new-style comparison operators only.
110 (optimize_trim): Use get_len_trim_call.
111
fbb6fbd8 1122012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
113
114 PR 53063
115 * options.c: Include diagnostics.h instead of
116 diagnostics-core.h.
117 (set_Wall): Do not see warn_unused here.
118 (gfc_handle_option): Set it here using handle_generated_option.
119
3d1c0354 1202012-05-08 Jan Hubicka <jh@suse.cz>
eba36973 121
3d1c0354 122 * trans-common.c (create_common): Do not fake TREE_ASM_WRITTEN.
123 * trans-decl.c (gfc_finish_cray_pointee): Likewise.
124
ad65d2f7 1252012-05-07 Tobias Burnus <burnus@net-b.de>
126
127 PR fortran/53255
128 * resolve.c (resolve_typebound_static): Fix handling
129 of overridden specific to generic operator.
130
431a19be 1312012-05-06 Tobias Burnus <burnus@net-b.de>
132
133 PR fortran/41587
134 * decl.c (build_struct): Don't ignore FAILED status.
135
49dcd9d0 1362012-05-05 Paul Thomas <pault@gcc.gnu.org>
137
138 PR fortran/41600
139 * trans-array.c (build_array_ref): New static function.
140 (gfc_conv_array_ref, gfc_get_dataptr_offset): Call it.
141 * trans-expr.c (gfc_get_vptr_from_expr): New function.
142 (gfc_conv_derived_to_class): Add a new argument for a caller
143 supplied vptr and use it if it is not NULL.
144 (gfc_conv_procedure_call): Add NULL to call to above.
145 symbol.c (gfc_is_associate_pointer): Return true if symbol is
146 a class object.
147 * trans-stmt.c (trans_associate_var): Handle class associate-
148 names.
149 * expr.c (gfc_get_variable_expr): Supply the array-spec if
150 possible.
151 * trans-types.c (gfc_typenode_for_spec): Set GFC_CLASS_TYPE_P
152 for class types.
153 * trans.h : Add prototypes for gfc_get_vptr_from_expr and
154 gfc_conv_derived_to_class. Define GFC_CLASS_TYPE_P.
155 * resolve.c (resolve_variable): For class arrays, ensure that
156 the target expression has all the necessary _data references.
157 (resolve_assoc_var): Throw a "not yet implemented" error for
158 class array selectors that need a temporary.
159 * match.c (copy_ts_from_selector_to_associate,
160 select_derived_set_tmp, select_class_set_tmp): New functions.
161 (select_type_set_tmp): Call one of last two new functions.
162 (gfc_match_select_type): Copy_ts_from_selector_to_associate is
163 called if associate-name is typed.
164
165 PR fortran/53191
166 * resolve.c (resolve_ref): C614 applied to class expressions.
167
fa0323b8 1682012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
169
170 PR fortran/49010
171 PR fortran/24518
172 * intrinsic.texi (MOD, MODULO): Mention sign and magnitude of result.
173 * simplify.c (gfc_simplify_mod): Use mpfr_fmod.
174 (gfc_simplify_modulo): Likewise, use copysign to fix the result if
175 zero.
176 * trans-intrinsic.c (gfc_conv_intrinsic_mod): Remove fallback as
177 builtin_fmod is always available. For modulo, call copysign to fix
178 the result when signed zeros are enabled.
179
a291e3b6 1802012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
181
182 * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain
183 algorithm for choosing temp directory.
184
87d9f569 1852012-05-04 Tobias Burnus <burnus@net-b.de>
186
187 PR fortran/53175
188 * resolve.c (resolve_variable): Set public_used
189 if a private module variable is used in a (public)
190 specification expression.
191 * trans-decl.c (gfc_finish_var_decl): Mark those
192 TREE_PUBLIC.
193
ae79d05f 1942012-05-04 Tobias Burnus <burnus@net-b.de>
195
196 PR fortran/53111
197 * resolve.c (resolve_fl_derived): Fix -std=f95
198 diagnostic for generic vs. DT names.
199
8b3d4556 2002012-05-03 Tobias Burnus <burnus@net-b.de>
201
202 PR fortran/52864
203 * interface.c (compare_parameter_intent): Remove.
204 (check_intents): Remove call, handle CLASS pointer.
205 (compare_actual_formal): Handle CLASS pointer.
206
cf951b1a 2072012-04-30 Jan Hubicka <jh@suse.cz>
208
209 * f95-lang.c (gfc_finish): Update comments.
210
b2fa4782 2112012-04-29 Thomas Koenig <tkoenig@gcc.gnu.org>
212
213 PR fortran/53148
214 * frontend-passes.c (create_var): If the statement has a label,
215 put the label around the block.
216
c78a1d18 2172012-04-25 Tobias Burnus <burnus@net-b.de>
218
219 PR fortran/52196
220 * lang.opt (Wrealloc-lhs, Wrealloc-lhs-all): New flags.
221 * gfortran.h (gfc_option_t): Add them.
222 * options.c (gfc_init_options, gfc_post_options,
223 gfc_handle_option): Handle them.
224 * invoke.texi: Document them.
225 * trans-expr.c (realloc_lhs_warning): New function.
226 (gfc_trans_arrayfunc_assign,
227 alloc_scalar_allocatable_for_assignment,
228 gfc_trans_assignment_1): Use it.
229
bfb10994 2302012-04-18 Steven Bosscher <steven@gcc.gnu.org>
231
232 * trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
233 with NULL_TREE type instead of void_type_node.
234 * trans-io.c (io_result): Likewise.
235 * trans-stmt.c (gfc_trans_integer_select,
236 gfc_trans_character_select): Likewise.
237
308fdd1f 2382012-04-16 Tobias Burnus <burnus@net-b.de>
239
240 PR fortran/52864
241 * expr.c (gfc_check_vardef_context): Fix assignment check for
242 pointer components.
243
a1b98906 2442012-04-16 Janus Weil <janus@gcc.gnu.org>
245
246 PR fortran/52968
247 * class.c (gfc_build_class_symbol): Make sure the 'f2k_derived'
248 namespace is present.
249
182f5311 2502012-04-15 Janus Weil <janus@gcc.gnu.org>
251
252 PR fortran/51082
253 * trans-expr.c (gfc_conv_expr_reference): Check if the expression is a
254 simple function call (or a more involved PPC reference).
255
b1f74325 2562012-04-15 Tobias Burnus <burnus@net-b.de>
257
258 PR fortran/52916
259 PR fortran/40973
260 * gfortran.h (symbol_attribute): Add public_used.
261 * interface.c (check_sym_interfaces, check_uop_interfaces,
262 gfc_check_interfaces): Set it.
263 * resolve.c (resolve_typebound_procedure): Ditto.
264 * trans-decl.c (build_function_decl): Use it.
265
f455901f 2662012-04-11 Tobias Burnus <burnus@net-b.de>
267
268 PR fortran/52729
269 * resolve.c (resolve_symbol): Fix searching for parent NS decl.
270
c5cb468c 2712012-04-08 Tobias Burnus <burnus@net-b.de>
272
273 PR fortran/52751
274 * trans-decl.c (gfc_finish_var_decl): Don't set TREE_PUBLIC
275 for PRIVATE module variables without C-binding label.
276
277 PR fortran/40973
278 * trans-decl.c (build_function_decl): Ditto for procedures.
279
d5db953f 2802012-04-07 Thomas Koenig <tkoenig@gcc.gnu.org>
281
282 PR fortran/52893
283 * frontend-passes.c: Keep track of wether we are in an implicit
284 DO loop; do not do function elimination if we are.
285
54d24bbe 2862012-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
287
288 PR fortran/52668
289 * module.c: Only mark symbols as use_only if they have been
290 imported via an only list.
291
4fec7f89 2922012-03-28 Paul Thomas <pault@gcc.gnu.org>
293 Tobias Burnus <burnus@gcc.gnu.org>
294
295 PR fortran/52652
296 * match.c (gfc_match_allocate, gfc_match_deallocate): Change
297 "not.. or" to "neither.. nor".
298 * parse.c (decode_specification_statement): Correct error in
54d24bbe 299 chpice of matching function for "allocatable".
4fec7f89 300
2d019699 3012012-03-23 Janne Blomqvist <jb@gcc.gnu.org>
302
303 * gfortran.h (GFC_MAX_LINE): Remove unused macro.
304
cb04125b 3052012-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
306
307 PR fortran/52559
308 * error.c (gfc_widechar_display_length): Consider tabs as
309 one character wide, as they're displayed as spaces.
310 (show_locus): Move tab handling to...
311 (print_wide_char_into_buffer): ... here.
312
4b17ee64 3132012-03-17 Tobias Burnus <burnus@net-b.de>
314
315 PR fortran/52585
316 * trans-intrinsic.c (gfc_conv_associated): Fix handling of
317 procpointer dummy arguments.
318
fb1fb9d3 3192012-03-16 Janne Blomqvist <jb@gcc.gnu.org>
320
321 * trans-intrinsic.c (build_round_expr): Don't use BUILT_IN_IROUND
322 for __float128.
323
f5fdea80 3242012-03-15 Janne Blomqvist <jb@gcc.gnu.org>
325
326 * f95-lang.c (gfc_init_builtin_functions): Initialize
327 BUILT_IN_IROUND.
328 * mathbuiltins.def: Add IROUND.
329 * trans-intrinsic.c (build_round_expr): Use BUILT_IN_IROUND if
330 type size matches.
331 (gfc_build_intrinsic_lib_fndecls): Build iround functions.
332
a51edb4c 3332012-03-12 Richard Guenther <rguenther@suse.de>
334
335 * f95-lang.c (builtin_type_for_size): Use gfc_type_for_size.
336
caa3ea40 3372012-03-12 Tobias Burnus <burnus@net-b.de>
338
339 PR fortran/52542
340 * decl.c (match_procedure_decl): If the interface
341 is bind(C), the procedure is as well.
342
5f2f65e6 3432012-03-10 Steven Bosscher <steven@gcc.gnu.org>
344
345 * convert.c (convert): Fold BOOLEAN_TYPE types to the proper variant.
346
c8cd357b 3472012-03-09 Steven Bosscher <steven@gcc.gnu.org>
348
349 * Make-lang.in (convert.o): Depend on convert.h.
350 * convert.c: Header and comment cleanups.
351 (gfc_thruthvalue_conversion): Rename static function
352 to truthvalue_conversion. Do not use 'internal_error' from here,
353 use 'gcc_unreachable' instead.
354 (convert): Do not use 'error' for conversions to void, use
355 'gcc_unreachable' instead. Likewise for conversions to non-scalar
356 types. Do not hanlde ENUMERAL_TYPE, the front end never creates them.
357 Clean up #if 0 code.
358
a333ee3a 3592012-03-08 Tobias Burnus <burnus@net-b.de>
360
361 PR fortran/52469
362 * trans-types.c (gfc_get_function_type): Handle backend_decl
363 of a procedure pointer.
364
cde2be84 3652012-03-06 Steven Bosscher <steven@gcc.gnu.org>
366
367 * f95-lang.c (yyerror, yylex): Remove.
368 (clear_binding_stack): Remove, fold into its only user.
369 (LANG_HOOKS_PRINT_IDENTIFIER): Do not re-define.
370 (ridpointers): Remove.
371 (gfc_eh_initialized_p): Make static.
372 (gfc_truthvalue_conversion): Move to convert.c.
373 (gfc_be_parse_file): Clear binding level stack when done.
374 (gfc_print_identifier): Remove.
375 (pushlevel): Remove ignored 'ignore' argument. Update all callers.
376 (poplevel): Remove unused 'reverse' argument. Update all callers.
377 (ggc_p): Remove.
378 (gfc_builtin_function): Make static. Do not attempt to make RTL for
379 builtin functions.
380 * convert.c (gfc_truthvalue_conversion): Moved here from f95-lang.c,
381 and made static.
382 * trans.h (pushlevel, poplevel): Adjust prototypes.
383 (gfc_truthvalue_conversion, gfc_builtin_function): Remove prototypes.
384 * trans-openmp.c: Update calls to pushlevel and poplevel.
385 * trans.c: Likewise.
386 * trans-decl.c: Likewise.
387
62b4f1e6 3882012-03-04 Mikael Morin <mikael@gcc.gnu.org>
389
390 PR fortran/50981
391 * gfortran.h (gfc_is_class_container_ref): New prototype.
392 * class.c (gfc_is_class_container_ref): New function.
393 * trans-expr.c (gfc_conv_procedure_call): Add a "_data" component
394 reference to polymorphic actual arguments.
395
de3e3c18 3962012-03-04 Mikael Morin <mikael@gcc.gnu.org>
397
398 PR fortran/50981
399 * trans-expr.c (gfc_conv_procedure_call): Save se->ss's value.
400 Handle the case of unallocated arrays passed to elemental procedures.
401
3017c394 4022012-03-04 Mikael Morin <mikael@gcc.gnu.org>
403
404 * trans.h (struct gfc_ss_info): Move can_be_null_ref component from
405 the data::scalar subcomponent to the toplevel.
406 * trans-expr.c (gfc_conv_expr): Update component reference.
407 * trans-array.c (gfc_add_loop_ss_code): Ditto.
408 (gfc_walk_elemental_function_args): Ditto. Move the conditional setting
409 the field out of the scalar-only block.
410
eb087c9e 4112012-03-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
412
413 PR fortran/36160
414 * error.c (gfc_widechar_display_length, gfc_wide_display_length):
415 New functions.
416 (print_wide_char_into_buffer): Return length written.
417 (show_locus): Fix locus displayed when wide characters are present.
418
c5afc79b 4192012-03-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
420
421 * module.c (gfc_use_module): Improve error message some more.
422
56342743 4232012-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
424
425 PR fortran/52313
426 * module.c (gfc_use_module): Improve error messages.
427
9b88f526 4282012-03-03 Tobias Burnus <burnus@net-b.de>
429
430 PR fortran/48820
431 * resolve.c (resolve_actual_arglist): Properly reset
432 assumed_type_expr_allowed.
433
8e618001 4342012-03-03 Tobias Burnus <burnus@net-b.de>
435
436 * lang.opt (Wc-binding-type): New flag.
437 * options.c (gfc_init_options, gfc_handle_option): Handle it.
438 * invoke.texi (Wc-binding-type): Document it.
439 * gfortran.h (gfc_option_t): Add warn_c_binding_type.
440 * decl.c (verify_bind_c_sym): Handle -Wc-binding-type.
441 * symbol.c (gfc_set_default_type, verify_bind_c_derived_type):
442 Ditto.
443
8c2d8d6d 4442012-03-03 Tobias Burnus <burnus@net-b.de>
445
446 PR fortran/48820
447 * decl.c (gfc_match_decl_type_spec): Support type(*).
448 (gfc_verify_c_interop): Allow type(*).
449 * dump-parse-tree.c (show_typespec): Handle type(*).
450 * expr.c (gfc_copy_expr): Ditto.
451 * interface.c (compare_type_rank, compare_parameter,
452 compare_actual_formal, gfc_procedure_use): Ditto.
453 * libgfortran.h (bt): Add BT_ASSUMED.
454 * misc.c (gfc_basic_typename, gfc_typename): Handle type(*).
455 * module.c (bt_types): Ditto.
456 * resolve.c (assumed_type_expr_allowed): New static variable.
457 (resolve_actual_arglist, resolve_variable, resolve_symbol):
458 Handle type(*).
459 * trans-expr.c (gfc_conv_procedure_call): Ditto.
460 * trans-types.c (gfc_typenode_for_spec, gfc_get_dtype): Ditto.
461
95e5c406 4622012-03-02 Tobias Burnus <burnus@net-b.de>
463
464 PR fortran/52325
465 * primary.c (gfc_match_varspec): Add missing ;.
466
7b8df29d 4672012-03-02 Tobias Burnus <burnus@net-b.de>
468
469 PR fortran/52325
470 * primary.c (gfc_match_varspec): Add diagnostic for % with
471 nonderived types.
472
8957a593 4732012-03-02 Tobias Burnus <burnus@net-b.de>
474
475 PR fortran/52270
476 * expr.c (gfc_check_vardef_context): Fix check for
477 intent-in polymorphic pointer .
478 * interface.c (compare_parameter): Allow passing TYPE to
479 intent-in polymorphic pointer.
480
1d7b6409 4812012-03-02 Tobias Burnus <burnus@net-b.de>
482
483 PR fortran/52452
484 * resolve.c (resolve_intrinsic): Don't search for a
485 function if we know that it is a subroutine.
486
f1f4c947 4872012-02-29 Paul Thomas <pault@gcc.gnu.org>
488
489 PR fortran/52386
490 * trans-expr.c (fcncall_realloc_result): Dereference the
491 descriptor if needed.
492
7b385032 4932012-02-22 Tobias Burnus <burnus@net-b.de>
494
495 PR fortran/52335
496 * io.c (gfc_match_open): Remove bogus F2003 DELIM= check.
497
6f10e990 4982012-02-18 Tobias Burnus <burnus@net-b.de>
499
500 PR fortran/52295
501 * interface.c (check_interface0): Internal procs in
502 generic interfaces are allowed in Fortran 2008.
503
58f44f3e 5042012-02-17 Tobias Burnus <burnus@net-b.de>
505 Roland Stigge <stigge@antcom.de>
506
507 PR translation/52273
508 * interface.c (compare_actual_formal): Fix typo "at at".
509
045c34c4 5102012-02-17 Tobias Burnus <burnus@net-b.de>
511
512 * gfortran.texi (Q exponent-letter): Fix grammar.
513
60472a3b 5142012-02-17 Tobias Burnus <burnus@net-b.de>
515
516 * gfortran.texi (Status): Fix typos.
517 * invoke.texi (ffixed-form, fstack-arrays): Spell Fortran with
518 a majuscule.
519
95c5276f 5202012-02-17 Tobias Burnus <burnus@net-b.de>
521 Roland Stigge <stigge@antcom.de>
522
523 PR translation/52232
524 PR translation/52234
525 PR translation/52245
526 PR translation/52246
527 PR translation/52262
528 PR translation/52273
529 * io.c (gfc_match_open): Fix typo.
530 * interface.c (compare_actual_formal): Ditto.
531 * lang.opt (freal-4-real-8, freal-4-real-16, freal-8-real-16): Ditto.
532 * match.c (alloc_opt_list, gfc_match_nullify): Ditto.
533 * check.c (gfc_check_associated, gfc_check_null): Ditto.
534
14957629 5352012-02-12 Mikael Morin <mikael@gcc.gnu.org>
536
537 PR fortran/50981
538 * trans-stmt.c (gfc_get_proc_ifc_for_call): New function.
539 (gfc_trans_call): Use gfc_get_proc_ifc_for_call.
540
ff32eb63 5412012-02-12 Mikael Morin <mikael@gcc.gnu.org>
542
543 * trans-array.c (gfc_walk_elemental_function_args,
544 gfc_walk_function_expr): Move call to gfc_get_proc_ifc_for_expr out
545 of gfc_walk_elemental_function_args.
546 * trans-stmt.c (gfc_trans_call): Ditto.
547 * trans-array.h (gfc_get_proc_ifc_for_expr): New prototype.
548 (gfc_walk_elemental_function_args): Update prototype.
549
bf16f69e 5502012-02-12 Mikael Morin <mikael@gcc.gnu.org>
551
552 * trans-array.c (gfc_get_proc_ifc_for_expr): New function.
553 (gfc_walk_elemental_function_args): Move code to
554 gfc_get_proc_ifc_for_expr and call it.
555
81a2362f 5562012-02-08 Tobias Burnus <burnus@net-b.de>
557
558 PR fortran/52151
559 * trans-expr.c (fcncall_realloc_result): Set also the stride.
560
48a3785b 5612012-02-07 Tobias Burnus <burnus@net-b.de>
562
563 PR fortran/51514
564 * trans-expr.c (gfc_conv_procedure_call): Add _data component
565 for calls of scalar CLASS actuals to TYPE dummies.
566
fc6338c7 5672012-02-05 Thomas König <tkoenig@gcc.gnu.org>
568
569 PR fortran/48847
570 * trans-decl.c: Warn about unused dummy procedure arguments
571 if -Wunused-dummy-argument is specified. Suppress middle-end
572 warnings about procedure arguments.
573
adb7de2d 5742012-02-05 Paul Thomas <pault@gcc.gnu.org>
575
576 * trans-array.c (gfc_array_allocate): Zero memory for all class
577 array allocations.
578 * trans-stmt.c (gfc_trans_allocate): Ditto for class scalars.
579
580 PR fortran/52102
581 * trans-stmt.c (gfc_trans_allocate): Before correcting a class
582 array reference, ensure that 'dataref' points to the _data
583 component that is followed by the array reference..
584
f3cd3c38 5852012-02-02 Mikael Morin <mikael@gcc.gnu.org>
586
587 PR fortran/41587
588 PR fortran/46356
589 PR fortran/51754
590 PR fortran/50981
591 * class.c (insert_component_ref, class_data_ref_missing,
592 gfc_fix_class_refs): New functions.
593 * gfortran.h (gfc_fix_class_refs): New prototype.
594 * trans-expr.c (gfc_conv_expr): Remove special case handling and call
595 gfc_fix_class_refs instead.
596
a79b122a 5972012-02-02 Paul Thomas <pault@gcc.gnu.org>
598
599 PR fortran/52012
600 * trans-expr.c (fcncall_realloc_result): If variable shape is
601 correct, retain the bounds, whatever they are.
602
d0da7abb 6032012-02-02 Tobias Burnus <burnus@net-b.de>
604
605 PR fortran/52093
606 * simplify.c (gfc_simplify_size): Handle INTRINSIC_PARENTHESES.
607
ecce8d80 6082012-02-01 Thomas König <tkoenig@gcc.gnu.org>
609
610 PR fortran/51958
611 * frontend-passes.c (convert_elseif): New function.
612 (optimize_namespace): Call it.
613
df9ff8bf 6142012-02-01 Tobias Burnus <burnus@net-b.de>
615
616 PR fortran/52024
617 * module.c (MOD_VERSION): Bump.
618 (mio_typebound_proc): Read/write is_operator from/to the
619 .mod file.
620
f3cd3c38 6212012-02-01 Tobias Burnus <burnus@net-b.de>
c3d4349a 622
623 PR fortran/52059
624 * trans-expr.c (gfc_conv_procedure_call): Add array ref
625 only to variables.
626
5c0f7d99 6272012-01-31 Tobias Burnus <burnus@net-b.de>
628
629 PR fortran/52024
630 * gfortran.h (gfc_tbp_generic): Store whether the
631 generic is an operator.
632 * decl.c (gfc_match_generic): Set that flag.
633 * resolve.c (check_generic_tbp_ambiguity): Use it in the
634 gfc_compare_interfaces check.
635
8116c900 6362012-01-31 Tobias Burnus <burnus@net-b.de>
637
638 PR fortran/52029
639 * class.c (gfc_find_derived_vtab): Mark _copy function as pure.
640
9e52f312 6412012-01-31 Tobias Burnus <burnus@net-b.de>
642
643 PR fortran/52013
644 * class.c (get_unique_hashed_string): Adapt trim length.
645 (gfc_build_class_symbol) Encode also corank in the container name.
646
49ad82f5 6472012-01-31 Paul Thomas <pault@gcc.gnu.org>
648
649 PR fortran/52012
650 * trans-expr.c (fcncall_realloc_result): Correct calculation of
651 result offset.
652
48409c9b 6532012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
654
655 * module.c (pointer_info): Make true_name and module pointers
656 rather than arrays, order pointers before other fields.
657 (free_pi_tree): free true_name and module as well.
658 (mio_read_string): Rename to read_string.
659 (mio_write_string): Remove.
660 (load_commons): Use read_string.
661 (read_module): Use read_string rather than mio_internal_string.
662 (write_blank_common): Call write_atom directly.
663 (write_symbol): Likewise.
664
4a4652dc 6652012-01-29 Tobias Burnus <burnus@net-b.de>
666
667 PR fortran/41600
668 * expr.c (gfc_default_initializer): Convert the values if
669 the type does not match.
670
067d5300 6712012-01-29 Tobias Burnus <burnus@net-b.de>
672
673 PR fortran/51972
674 * trans-array.c (structure_alloc_comps): Fix assignment of
675 polymorphic components (polymorphic deep copying).
676
1d8a57d8 6772012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
678
679 PR fortran/51808
680 * decl.c (set_binding_label): Make binding_label argument const.
681 (curr_binding_label): Constify.
682 * gfortran.h (gfc_symbol): Constify binding_label.
683 (gfc_common_head): Likewise.
684 (get_iso_c_sym): Likewise.
685 * match.c (gfc_match_name_C): Constify buffer argument.
686 * match.h (gfc_match_name_C): Likewise.
687 * resolve.c (set_name_and_label): Constify binding_label argument.
688 (gfc_iso_c_sub_interface): Constify binding_label variable.
689 * symbol.c (get_iso_c_sym): Constify binding_label argument.
690
7b2060ba 6912012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
692
693 PR fortran/51808
694 * decl.c (set_binding_label): Move prototype from match.h to here.
695 (curr_binding_label): Make a pointer rather than static array.
696 (build_sym): Check sym->binding_label pointer rather than array,
697 update set_binding_label call, handle curr_binding_label changes.
698 (set_binding_label): Handle new curr_binding_label, dest_label
699 double ptr, and sym->binding_label.
700 (verify_bind_c_sym): Handle sym->binding_label being a pointer.
701 (set_verify_bind_c_sym): Check sym->binding_label pointer rather
702 than array, update set_binding_label call.
703 (gfc_match_bind_c_stmt): Handle curr_binding_label change.
704 (match_procedure_decl): Update set_binding_label call.
705 (gfc_match_bind_c): Change binding_label to pointer, update
706 gfc_match_name_C call.
707 * gfortran.h (GFC_MAX_BINDING_LABEL_LEN): Remove macro.
708 (gfc_symbol): Make binding_label a pointer.
709 (gfc_common_head): Likewise.
710 * match.c (gfc_match_name_C): Heap allocate bind(C) name.
711 * match.h (gfc_match_name_C): Change prototype argument.
712 (set_binding_label): Move prototype to decl.c.
713 * module.c (struct pointer_info): Make binding_label a pointer.
714 (free_pi_tree): Free unused binding_label.
715 (mio_read_string): New function.
716 (mio_write_string): New function.
717 (load_commons): Redo reading of binding_label.
718 (read_module): Likewise.
719 (write_common_0): Change to write empty string instead of name if
720 no binding_label.
721 (write_blank_common): Write empty string for binding label.
722 (write_symbol): Change to write empty string instead of name if no
723 binding_label.
724 * resolve.c (gfc_iso_c_func_interface): Don't set binding_label.
725 (set_name_and_label): Make binding_label double pointer, use
726 asprintf.
727 (gfc_iso_c_sub_interface): Make binding_label a pointer.
728 (resolve_bind_c_comms): Handle cases if
729 gfc_common_head->binding_label is NULL.
730 (gfc_verify_binding_labels): sym->binding_label is a pointer.
1aaa0f21 731 * symbol.c (gfc_new_symbol): Rely on XCNEW zero init for
732 binding_label.
7b2060ba 733 (gen_special_c_interop_ptr): Don't set binding label.
734 (generate_isocbinding_symbol): Insert binding_label into symbol
735 table.
736 (get_iso_c_sym): Use pointer assignment instead of strcpy.
737 * trans-common.c (gfc_sym_mangled_common_id): Handle
738 com->binding_label being a pointer.
739 * trans-decl.c (gfc_sym_mangled_identifier): Handle
740 sym->binding_label being a pointer.
741 (gfc_sym_mangled_function_id): Likewise.
742
e9602c2c 7432012-01-29 Tobias Burnus <burnus@net-b.de>
744
745 PR fortran/52038
746 * resolve.c (symbol_as): Remove unused, accidentally
747 added function.
748
c595ed2f 7492012-01-28 Tobias Burnus <burnus@net-b.de>
750
751 PR fortran/51972
752 * trans-stmt.c (gfc_trans_allocate): Properly check whether
753 we have a BT_CLASS which needs to be memset.
754
44eb672e 7552012-01-27 Tobias Burnus <burnus@net-b.de>
756
757 PR fortran/52022
758 * trans-expr.c (gfc_conv_procedure_call): Fix passing
759 of functions, which return allocatables.
760
4289983a 7612012-01-27 Tobias Burnus <burnus@net-b.de>
762
763 PR fortran/52016
764 * resolve.c (resolve_formal_arglist): Fix elemental
765 constraint checks for polymorphic dummies also for
766 pointers.
7b2060ba 767
3a19c063 7682012-01-27 Tobias Burnus <burnus@net-b.de>
769
770 PR fortran/51970
771 PR fortran/51977
772 * primary.c (gfc_match_varspec. gfc_match_rvalue): Set
773 handle array spec for BT_CLASS.
774 * expr.c (gfc_get_variable_expr, gfc_lval_expr_from_sym)
775 * frontend-passes.c (create_var): Ditto.
776 * resolve.c (resolve_actual_arglist, resolve_assoc_var): Ditto.
777 * trans-decl.c (gfc_trans_deferred_vars): Use class_pointer
778 instead of attr.pointer.
779 (gfc_generate_function_code): Use CLASS_DATA (sym) for BT_CLASS.
780 * trans-intrinsic.c (conv_intrinsic_move_alloc): Move assert.
781 * trans-stmt.c (trans_associate_var): Ask for the descriptor.
782
cbd83bfb 7832012-01-27 Tobias Burnus <burnus@net-b.de>
784
785 PR fortran/51953
786 * match.c (gfc_match_allocate): Allow more than allocate
787 object with SOURCE=.
788
de1cb551 7892012-01-27 Tobias Burnus <burnus@net-b.de>
790
791 PR fortran/52016
792 * resolve.c (resolve_formal_arglist): Fix elemental
793 constraint checks for polymorphic dummies.
794
112437c1 7952012-01-27 Paul Thomas <pault@gcc.gnu.org>
796 Tobias Burnus <burnus@gcc.gnu.org>
797
798 PR fortran/48705
799 PR fortran/51870
800 PR fortran/51943
801 PR fortran/51946
802 * trans-array.c (gfc_array_init_size): Add two extra arguments
803 to convey the dynamic element size of a calls object and to
804 return the number of elements that have been allocated.
805 (gfc_array_allocate): Add the same arguments and use them to
806 call gfc_array_init_size. Before the allocation dereference
807 the data pointer, if necessary. Set the allocated array to zero
808 if the class element size or expr3 are non-null.
809 * trans-expr.c (gfc_conv_class_to_class): Give this function
810 global scope.
811 (get_class_array_ref): New function.
812 (gfc_copy_class_to_class): New function.
813 * trans-array.h : Update prototype for gfc_array_allocate.
814 * trans-stmt.c (gfc_trans_allocate): For non-variable class
815 STATUS expressions extract the class object and the dynamic
816 element size. Use the latter to call gfc_array_allocate and
817 the former for setting the vptr and, via
818 gfc_copy_class_to_clasfc_cs, to copy to the allocated data.
819 * trans.h : Prototypes for gfc_get_class_array_ref,
820 gfc_copy_class_to_class and gfc_conv_class_to_class.
de1cb551 821
8222012-01-25 Tobias Burnus <burnus@net-b.de>
823
824 * resolve.c (symbol_as): Check also for attr.class_ok.
825
9eb0ae6a 8262012-01-25 Tobias Burnus <burnus@net-b.de>
827
828 PR fortran/51995
829 * class.c (gfc_build_class_symbol): Fix invalid freeing
830 issue with fclass->f2k_derived.
831
324be76c 8322012-01-25 Tobias Burnus <burnus@net-b.de>
833
834 PR fortran/51995
835 * class.c (gfc_build_class_symbol): Ensure that
836 fclass->f2k_derived is set.
837
8382012-01-25 Tobias Burnus <burnus@net-b.de>
0c806cea 839
840 PR fortran/51966
841 * resolve.c (resolve_structure_cons): Only create an
842 array constructors for nonscalars.
843
ebb074af 8442012-01-23 Tobias Burnus <burnus@net-b.de>
845
846 PR fortran/51948
847 * check.c (variable_check): Fix checking for
848 variables and deeply nested BLOCKs.
849
17016aa7 8502012-01-21 Tobias Burnus <burnus@net-b.de>
851 Steven G. Kargl <kargl@gcc.gnu.org>
852
853 PR fortran/50556
854 * symbol.c (check_conflict): namelist-group-name cannot have the SAVE
4a4652dc 855 attribute.
17016aa7 856
1bf89755 8572012-01-21 Tobias Burnus <burnus@net-b.de>
858
859 PR fortran/51913
860 * interface.c (compare_parameter): Fix CLASS comparison.
861
009d27e9 8622012-01-20 Tobias Burnus <burnus@net-b.de>
863 Janus Weil <janus@gcc.gnu.org>
864
865 PR fortran/51056
866 * module.c (load_needed, read_module): Don't mark __vtab etc.
867 as use_only.
868
799347b4 8692012-01-19 Tobias Burnus <burnus@net-b.de>
870
871 PR fortran/51904
872 * expr.c (gfc_build_intrinsic_call): Also set the symtree.
873
66f7d4c1 8742012-01-18 Paul Thomas <pault@gcc.gnu.org>
875
876 PR fortran/51634
877 * trans-expr.c (gfc_conv_procedure_call): Deallocate allocatable
878 components of temporary class arguments.
879
42ddf4db 8802012-01-17 Tobias Burnus <burnus@net-b.de>
881 Janne Blomqvist <jb@gcc.gnu.org>
882
883 PR fortran/51869
884 * trans-expr.c (alloc_scalar_allocatable_for_assignment): Nullify
885 LHS after allocation, if it has allocatable components.
886 * f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_CALLOC.
887
37446c62 8882012-01-16 Mikael Morin <mikael@gcc.gnu.org>
889 Tobias Burnus <burnus@net-b.de>
890
891 PR fortran/50981
892 * trans-array.c (gfc_walk_elemental_function_args): Fix
893 passing of deallocated allocatables/pointers as absent argument.
894
98976ae1 8952012-01-16 Tobias Burnus <burnus@net-b.de>
896
897 PR fortran/51809
898 * class.c (gfc_find_derived_vtab): Mark __vtab and
899 __def_init as FL_VARIABLE not as FL_PARAMETER.
900 * expr.c (gfc_simplify_expr): Remove special
901 handling of __vtab.
902 * resolve.c (resolve_values): Ditto.
903 * trans-decl.c (gfc_get_symbol_decl): Mark __vtab
904 and __def_init as TREE_READONLY.
905
70640f89 9062012-01-16 Zydrunas Gimbutas <gimbutas@cims.nyu.edu>
907 Andreas Kloeckner <kloeckner@cims.nyu.edu>
908 Steven G. Kargl <kargl@gcc.gnu.org>
909
910 PR fortran/48426
911 * gfortran.h (gfc_option_t): Add members flag_*_kind to store kind.
912 * lang.opt: Add options -freal-4-real-8, -freal-4-real-10,
913 -freal-4-real-16, -freal-8-real-4, -freal-8-real-10, -freal-8-real-16
914 and -finteger-4-integer-8. User-desired type conversion information.
915 * decl.c (gfc_match_old_kind_spec,kind_expr): Type conversions
916 in declaration parsing.
917 * trans-types.c (gfc_init_kinds): User-specified type conversion
918 checked for current backend.
919 * primary.c (match_integer_constant,match_real_constant): Implement
920 type conversion in constant parsing.
921 * options.c (gfc_init_options,gfc_handle_option): Translate input
922 options to flags in internal options data structure.
923 * invoke.texi: Document new options. Re-order options in Options
924 summary section.
925
44e6e526 9262012-01-16 Paul Thomas <pault@gcc.gnu.org>
927
928 * trans-array.c (gfc_trans_create_temp_array): In the case of a
929 class array temporary, detect a null 'eltype' on entry and use
930 'initial' to provde the class reference and so, through the
931 vtable, the element size for the dynamic type.
932 * trans-stmt.c (gfc_conv_elemental_dependencies): For class
933 expressions, set 'eltype' to null and pass the values via the
934 'initial' expression.
935
3831e585 9362012-01-14 Tobias Burnus <burnus@net-b.de>
937
938 PR fortran/51800
939 * resolve.c (build_default_init_expr): Also initialize
940 nonconstant-length strings with -finit-character=<n>.
941
dde4fd90 9422011-01-14 Tobias Burnus <burnus@net-b.de>
943
944 PR fortran/51816
945 * module.c (read_module): Don't make nonexisting
946 intrinsic operators as found.
947 (rename_list_remove_duplicate): New function.
948 (gfc_use_modules): Use it.
949
a7bf3a59 9502012-01-13 Paul Thomas <pault@gcc.gnu.org>
951
952 PR fortran/48351
953 * trans-array.c (structure_alloc_comps): Suppress interative
954 call to self, when current component is deallocated using
955 gfc_trans_dealloc_allocated.
956 * class.c (gfc_build_class_symbol): Copy the 'alloc_comp'
957 attribute from the declared type to the class structure.
958
267a3e90 9592012-01-13 Tobias Burnus <burnus@net-b.de>
960
961 PR fortran/51842
962 * fortran/trans-types.c (gfc_init_kinds): Use PTRDIFF_TYPE
963 instead of a signed int of size POINTER_SIZE for
964 gfc_index_integer_kind.
965
cc4e1ef4 9662012-01-12 Tobias Burnus <burnus@net-b.de>
967
968 PR fortran/36755
969 * intrinsic.texi (CHMOD): Extend a bit and remove statement
970 that /bin/chmod is called.
971
b0f3ecc5 9722012-01-10 Gerald Pfeifer <gerald@pfeifer.com>
973
974 * gfortran.texi (Fortran 2003 Status): Fix grammar.
975
ee7e7076 9762012-01-10 Tobias Burnus <burnus@net-b.de>
977
978 PR fortran/51652
979 * resolve.c (resolve_allocate_expr): For non-deferred char lengths,
980 check whether type-spec matches declaration.
981
fa66599a 9822012-01-10 Tobias Burnus <burnus@net-b.de>
983
984 * resolve.c (resolve_ordinary_assign): Improve error wording.
985
96dfda99 9862012-01-09 Paul Thomas <pault@gcc.gnu.org>
987
988 PR fortran/51791
989 * interface.c (matching_typebound_op): Drill down through
990 possible parentheses to obtain base expression. Do not test for
991 'class_ok' but, instead for the class structure components.
992 * resolve.c (resolve_ordinary_assign): Extend error message for
993 polymorphic assignment to advise checking for specific
994 subroutine.
995
996 PR fortran/51792
997 * resolve.c (resolve_typebound_function): Restore 'static' to
998 declaration.
999
c0ef5bbc 10002012-01-09 Mikael Morin <mikael@gcc.gnu.org>
1001
1002 PR fortran/51758
1003 * trans-array.c (gfc_walk_elemental_function_args):
1004 Skip over NULL() actual arguments.
1005
511a786a 10062012-01-09 Tobias Burnus <burnus@net-b.de>
1007
1008 * gfortran.texi: Bump copyright year.
1009 (Fortran 2003 Status): Update polymorphism item, add
1010 item for generic interface with DT name.
1011
56739b7d 10122012-01-09 Tobias Burnus <burnus@net-b.de>
1013
1014 PR fortran/51578
1015 * gfortran.h (gfc_use_list):
1016 * match.h (gfc_use_module): Rename to ...
1017 (gfc_use_modules): ... this.
1018 * module.c (use_locus, specified_nonint, specified_int): Remove
1019 global variable.
1020 (module_name): Change type to const char*, used with gfc_get_string.
1021 (module_list): New global variable.
1022 (free_rename): Free argument not global var.
1023 (gfc_match_use): Save match to module_list.
1024 (load_generic_interfaces, read_module): Don't free symtree.
1025 (write_dt_extensions, gfc_dump_module): Fix module-name I/O due to the
1026 type change of module_name.
1027 (write_symbol0, write_generic): Optimize due to the type change.
1028 (import_iso_c_binding_module, use_iso_fortran_env_module): Use
1029 locus of rename->where.
1030 (gfc_use_module): Take module_list as argument.
1031 (gfc_use_modules): New function.
1032 (gfc_module_init_2, gfc_module_done_2): Init module_list, rename_list.
1033 * parse.c (last_was_use_stmt): New global variable.
1034 (use_modules): New function.
1035 (decode_specification_statement, decode_statement): Move USE match up
1036 and call use_modules.
1037 (next_free, next_fixed): Call use_modules.
1038 (accept_statement): Don't call gfc_module_use.
1039
d0d776fb 10402012-01-06 Tobias Burnus <burnus@net-b.de>
1041
1042 * trans-openmp.c (gfc_omp_clause_dtor, gfc_trans_omp_array_reduction):
1043 Update call to gfc_trans_dealloc_allocated.
1044 * trans.c (gfc_allocate_using_malloc): Fix spacing.
1045 (gfc_allocate_allocatable): For gfc_allocate_using_lib, jump to
1046 label_finish when an error occurs.
1047 (gfc_deallocate_with_status): Call caf_deregister for -fcoarray=lib.
1048 * trans.h (gfc_allocate_allocatable, gfc_deallocate_with_status):
1049 Update prototype.
1050 (gfor_fndecl_caf_deregister): New tree symbol.
1051 * trans-expr.c (gfc_conv_procedure_call): Update
1052 gfc_deallocate_with_status and gfc_trans_dealloc_allocated calls.
1053 * trans-array.c (gfc_array_allocate, gfc_trans_dealloc_allocated,
1054 structure_alloc_comps, gfc_trans_deferred_array): Ditto.
1055 (gfc_array_deallocate): Handle coarrays with -fcoarray=lib.
1056 * trans-array.h (gfc_array_deallocate, gfc_array_allocate,
1057 gfc_trans_dealloc_allocated): Update prototypes.
1058 * trans-stmt.c (gfc_trans_sync): Fix indentation.
1059 (gfc_trans_allocate): Fix errmsg padding and label handling.
1060 (gfc_trans_deallocate): Ditto and handle -fcoarray=lib.
1061 * expr.c (gfc_is_coarray): Fix algorithm for BT_CLASS.
1062 * libgfortran.h (GFC_STAT_STOPPED_IMAGE): Use large value
1063 to avoid other stats accidentally matching this one.
1064 * trans-decl.c (gfor_fndecl_caf_deregister): New global var.
1065 (gfc_build_builtin_function_decls): Fix prototype decl of caf_register
1066 and add decl for caf_deregister.
1067 (gfc_trans_deferred_vars): Handle CAF vars with -fcoarrays=lib.
1068 * trans-intrinsic.c (conv_intrinsic_move_alloc): Update call to
1069 gfc_deallocate_with_status.
1070
9749851b 10712012-01-05 Paul Thomas <pault@gcc.gnu.org>
1072
1073 PR fortran/PR48946
1074 * resolve.c (resolve_typebound_static): If the typebound
1075 procedure is 'deferred' try to find the correct specific
1076 procedure in the derived type operator space itself.
1077
4fd5163b 10782012-01-04 Mikael Morin <mikael@gcc.gnu.org>
1079
1080 PR fortran/50981
1081 * trans-array.h (gfc_walk_elemental_function_args): New argument.
1082 * trans-intrinsic.c (gfc_walk_intrinsic_function): Update call.
1083 * trans-stmt.c (gfc_trans_call): Ditto.
1084 * trans-array.c (gfc_walk_function_expr): Ditto.
1085 (gfc_walk_elemental_function_args): Get the dummy argument list
1086 if possible. Check that the dummy and the actual argument are both
1087 optional, and set can_be_null_ref accordingly.
1088
e2cac5e5 10892012-01-04 Mikael Morin <mikael@gcc.gnu.org>
1090
1091 PR fortran/50981
1092 * trans.h (struct gfc_ss_info): New field data::scalar::can_be_null_ref
1093 * trans-array.c: If the reference can be NULL, save the reference
1094 instead of the value.
1095 * trans-expr.c (gfc_conv_expr): If we have saved a reference,
1096 dereference it.
1097
29e4c389 10982012-01-04 Mikael Morin <mikael@gcc.gnu.org>
1099
1100 * trans-expr.c (gfc_conv_expr): Move address taking...
1101 (gfc_conv_expr_reference): ... here.
1102
637533b5 11032012-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
1104
1105 PR fortran/49693
1106 * trans-common.c (create_common): Update copyright years. Mark
1107 variables as used to avoid warnings about unused variables in
1108 common blocks.
1109
3d08115c 11102012-01-03 Hans-Peter Nilsson <hp@axis.com>
1111
1112 * gfortran.h (struct gfc_expr): Add missing "struct"
1113 qualifier for member base_expr.
1114
24980a98 11152012-01-02 Paul Thomas <pault@gcc.gnu.org>
1116
1117 PR fortran/51529
1118 * trans-array.c (gfc_array_allocate): Null allocated memory of
1119 newly allocted class arrays.
1120
1121 PR fortran/46262
1122 PR fortran/46328
1123 PR fortran/51052
1124 * interface.c(build_compcall_for_operator): Add a type to the
1125 expression.
1126 * trans-expr.c (conv_base_obj_fcn_val): New function.
1127 (gfc_conv_procedure_call): Use base_expr to detect non-variable
1128 base objects and, ensuring that there is a temporary variable,
1129 build up the typebound call using conv_base_obj_fcn_val.
1130 (gfc_trans_class_assign): Pick out class procedure pointer
1131 assignments and do the assignment with no further prcessing.
1132 (gfc_trans_class_array_init_assign, gfc_trans_class_init_assign
1133 gfc_trans_class_assign): Move to top of file.
1134 * gfortran.h : Add 'base_expr' field to gfc_expr.
1135 * resolve.c (get_declared_from_expr): Add 'types' argument to
1136 switch checking of derived types on or off.
1137 (resolve_typebound_generic_call): Set the new argument.
1138 (resolve_typebound_function, resolve_typebound_subroutine):
1139 Set 'types' argument for get_declared_from_expr appropriately.
1140 Identify base expression, if not a variable, in the argument
1141 list of class valued calls. Assign it to the 'base_expr' field
1142 of the final expression. Strip away all references after the
1143 last class reference.
1144
9a457ae7 11452012-01-02 Tobias Burnus <burnus@net-b.de>
1146
1147 PR fortran/51682
1148 * trans-intrinsic.c (trans_this_image, trans_image_index,
1149 trans_num_images, conv_intrinsic_cobound): Fold_convert the
1150 caf_num_images/caf_this_images variables to the correct int kind.
1151
ea87e586 11522012-01-01 Jakub Jelinek <jakub@redhat.com>
1153
1154 * gfortranspec.c (lang_specific_driver): Update copyright notice
1155 dates.
7dfbd804 1156\f
8dfa851a 1157Copyright (C) 2012 Free Software Foundation, Inc.
7dfbd804 1158
1159Copying and distribution of this file, with or without modification,
1160are permitted in any medium without royalty provided the copyright
1161notice and this notice are preserved.