12013-12-30 Janus Weil <janus@gcc.gnu.org> 2 3 PR fortran/58998 4 * resolve.c (resolve_symbol): Check that symbol is not only flavorless 5 but also untyped. 6 72013-12-29 Janus Weil <janus@gcc.gnu.org> 8 9 PR fortran/59612 10 * dump-parse-tree.c (show_typespec): Check for charlen. 11 * invoke.texi: Fix documentation of -fdump-fortran-optimized and 12 -fdump-parse-tree. 13 142013-12-18 Janus Weil <janus@gcc.gnu.org> 15 16 PR fortran/59493 17 * gfortran.h (gfc_find_intrinsic_vtab): Removed prototype. 18 (gfc_find_vtab): New prototype. 19 * class.c (gfc_find_intrinsic_vtab): Rename to 'find_intrinsic_vtab' and 20 make static. Minor modifications. 21 (gfc_find_vtab): New function. 22 (gfc_class_initializer): Use new function 'gfc_find_vtab'. 23 * check.c (gfc_check_move_alloc): Ditto. 24 * expr.c (gfc_check_pointer_assign): Ditto. 25 * interface.c (compare_actual_formal): Ditto. 26 * resolve.c (resolve_allocate_expr, resolve_select_type): Ditto. 27 * trans-expr.c (gfc_conv_intrinsic_to_class, gfc_trans_class_assign): 28 Ditto. 29 * trans-intrinsic.c (conv_intrinsic_move_alloc): Ditto. 30 * trans-stmt.c (gfc_trans_allocate): Ditto. 31 322013-12-16 Janus Weil <janus@gcc.gnu.org> 33 34 PR fortran/54949 35 * symbol.c (check_conflict): Forbid abstract procedure pointers. 36 (gfc_add_abstract): Check for attribute conflicts. 37 382013-12-16 Jakub Jelinek <jakub@redhat.com> 39 40 PR libgomp/59337 41 * openmp.c (resolve_omp_atomic): Adjust error message. 42 432013-12-15 Janus Weil <janus@gcc.gnu.org> 44 45 PR fortran/59493 46 * class.c (gfc_find_intrinsic_vtab): Handle BT_CLASS. 47 482013-12-14 Janus Weil <janus@gcc.gnu.org> 49 50 PR fortran/59502 51 * primary.c (gfc_match_varspec): Check for 'class_ok'. 52 532013-12-14 Janus Weil <janus@gcc.gnu.org> 54 55 PR fortran/59450 56 * module.c (mio_expr): Handle type-bound function expressions. 57 582013-12-12 Tobias Burnus <burnus@net-b.de> 59 60 PR fortran/59440 61 * trans-decl.c (generate_namelist_decl): Ensure debug DIE 62 is created by setting DECL_IGNORED_P to 0. 63 642013-12-11 Janus Weil <janus@gcc.gnu.org> 65 66 PR fortran/58916 67 * resolve.c (conformable_arrays): Treat scalar 'e2'. 68 (resolve_allocate_expr): Check rank also for unlimited-polymorphic 69 variables. 70 712013-12-10 Janus Weil <janus@gcc.gnu.org> 72 73 PR fortran/35831 74 * interface.c (check_dummy_characteristics): Add checks for several 75 attributes. 76 772013-12-10 Janus Weil <janus@gcc.gnu.org> 78 79 * gfortran.texi: Add possible kind values (and default) for 80 DOUBLE PRECISION. 81 * invoke.texi: Correct documentation of -fdefault-integer-8, 82 -fdefault-real-8 and -fdefault-double-8. 83 842013-12-10 Janus Weil <janus@gcc.gnu.org> 85 86 * gfortran.texi: Modify documentation of kind type parameters. 87 * invoke.texi: Extend documentation of -fdefault-integer-8 and 88 -fdefault-real-8. 89 902013-12-10 Janus Weil <janus@gcc.gnu.org> 91 92 * invoke.texi: Add -freal-4-real-16. Rearrange kind promotion options. 93 942013-12-08 Tobias Burnus <burnus@net-b.de> 95 Janus Weil <janus@gcc.gnu.org> 96 97 PR fortran/58099 98 PR fortran/58676 99 PR fortran/41724 100 * resolve.c (gfc_resolve_intrinsic): Set elemental/pure. 101 (resolve_fl_procedure): Reject pure dummy procedures/procedure 102 pointers. 103 (gfc_explicit_interface_required): Don't require a 104 match of ELEMENTAL for intrinsics. 105 1062013-12-07 Janus Weil <janus@gcc.gnu.org> 107 108 PR fortran/59414 109 * resolve.c (resolve_specific_f0): Handle CLASS-valued functions. 110 1112013-12-04 Tobias Burnus <burnus@net-b.de> 112 113 PR debug/37132 114 * trans-decl.c (generate_namelist_decl, create_module_nml_decl): 115 New static functions. 116 (gfc_generate_module_vars, generate_local_vars): Call them. 117 (gfc_trans_use_stmts): Handle namelists for debug genertion. 118 1192013-12-01 Paul Thomas <pault@gcc.gnu.org> 120 121 PR fortran/57354 122 * trans-array.c (gfc_conv_resolve_dependencies): For other than 123 SS_SECTION, do a dependency check if the lhs is liable to be 124 reallocated. 125 1262013-12-01 Paul Thomas <pault@gcc.gnu.org> 127 128 PR fortran/58410 129 * trans-array.c (gfc_alloc_allocatable_for_assignment): Do not 130 use the array bounds of an unallocated array but set its size 131 to zero instead. 132 1332013-12-01 Paul Thomas <pault@gcc.gnu.org> 134 135 PR fortran/34547 136 * resolve.c (resolve_transfer): EXPR_NULL is always in an 137 invalid context in a transfer statement. 138 1392013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com> 140 141 * lang.opt (Wopenmp-simd): New. 142 1432013-11-25 Janus Weil <janus@gcc.gnu.org> 144 145 PR fortran/59143 146 * interface.c (get_expr_storage_size): Handle array-valued type-bound 147 procedures. 148 1492013-11-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 150 151 * scanner.c (gfc_open_intrinsic_module): Remove function. 152 * gfortran.h (gfc_open_intrinsic_module): Remove prototype. 153 1542013-11-23 Janus Weil <janus@gcc.gnu.org> 155 156 PR fortran/59228 157 * interface.c (compare_parameter): Check for array spec. 158 1592013-11-22 Andrew MacLeod <amacleod@redhat.com> 160 161 * trans.c: Add required include files from gimple.h. 162 * trans-expr.c: Likewise 163 * trans-openmp.c: Likewise 164 1652013-11-22 David Malcolm <dmalcolm@redhat.com> 166 167 * trans.c (trans_runtime_error_vararg): Remove use of input_line 168 macro. 169 1702013-11-17 Andrew MacLeod <amacleod@redhat.com> 171 172 * fortran/trans-intrinsic.c: Include tree-nested.h. 173 1742013-11-14 Andrew MacLeod <amacleod@redhat.com> 175 176 * trans-expr.c: Include only gimplify.h and gimple.h as needed. 177 * trans-openmp.c: Likewise. 178 1792013-11-14 Diego Novillo <dnovillo@google.com> 180 181 * decl.c: Include stringpool.h. 182 * iresolve.c: Include stringpool.h. 183 * match.c: Include stringpool.h. 184 * module.c: Include stringpool.h. 185 * target-memory.c: Include stor-layout.h. 186 * trans-common.c: Include stringpool.h. 187 Include stor-layout.h. 188 Include varasm.h. 189 * trans-const.c: Include stor-layout.h. 190 * trans-decl.c: Include stringpool.h. 191 Include stor-layout.h. 192 Include varasm.h. 193 Include attribs.h. 194 * trans-expr.c: Include stringpool.h. 195 * trans-intrinsic.c: Include stringpool.h. 196 Include tree-nested.h. 197 Include stor-layout.h. 198 * trans-io.c: Include stringpool.h. 199 Include stor-layout.h. 200 * trans-openmp.c: Include stringpool.h. 201 * trans-stmt.c: Include stringpool.h. 202 * trans-types.c: Include stor-layout.h. 203 Include stringpool.h. 204 * trans.c: Include stringpool.h. 205 2062013-11-12 Andrew MacLeod <amacleod@redhat.com> 207 208 * f95-lang.c: Don't include gimple.h. 209 * trans-array.c: Include gimple-expr.h instead of gimple.h. 210 * trans.c: Likewise. 211 * trans-decl.c: Likewise. 212 * trans-expr.c: Include gimplify.h. 213 * trans-openmp.c: Likewise. 214 2152013-11-07 Janus Weil <janus@gcc.gnu.org> 216 217 PR fortran/58471 218 * primary.c (gfc_expr_attr): Check for result symbol. 219 2202013-11-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 221 222 * gfortran.texi: Fix typo. 223 2242013-11-05 Tobias Burnus <burnus@net-b.de> 225 226 * lang.opt (-Wdate-time): New option 227 * cpp.c (gfc_cpp_option_data): Add warn_date_time. 228 (gfc_cpp_init_options, gfc_cpp_handle_option, 229 gfc_cpp_post_options): Handle it and pass on to libcpp. 230 2312013-11-05 Steven G. Kargl <kargl@gcc.gnu.org> 232 233 PR fortran/58989 234 * check.c (gfc_check_reshape): ensure that shape is a constant 235 expression. 236 2372013-11-05 Tobias Burnus <burnus@net-b.de> 238 239 * lang.opt (fopenmp-simd): New option. 240 * gfortran.h (gfc_option_t): Add gfc_flag_openmp_simd. 241 * options.c (gfc_handle_option): Handle it. 242 2432013-11-04 Ian Lance Taylor <iant@google.com> 244 245 * f95-lang.c (ATTR_LEAF_LIST): Define. 246 2472013-11-04 Paul Thomas <pault@gcc.gnu.org> 248 249 PR fortran/58771 250 * trans-io.c (transfer_expr): If the backend_decl for a derived 251 type is missing, build it with gfc_typenode_for_spec. 252 2532013-11-04 Paul Thomas <pault@gcc.gnu.org> 254 255 PR fortran/57445 256 * trans-expr.c (gfc_conv_class_to_class): Remove spurious 257 assert. 258 2592013-10-29 Tobias Burnus <burnus@net-b.de> 260 261 PR fortran/44350 262 * parse.c (parse_spec): Add C1116 constraint 263 check for BLOCK DATA. 264 2652013-10-29 Paul Thomas <pault@gcc.gnu.org> 266 267 PR fortran/58793 268 * trans-types.c (gfc_typenode_for_spec): Add typenode for 269 BT_HOLLERITH. Note that the length is incorrect but unusable. 270 271 PR fortran/58858 272 * target-memory.c (gfc_element_size): Add element sizes for 273 BT_VOID and BT_ASSUMED, using gfc_typenode_for_spec. 274 2752013-10-24 Tobias Burnus <burnus@net-b.de> 276 277 PR fortran/44646 278 * trans-stmt.c (struct forall_info): Add do_concurrent field. 279 (gfc_trans_forall_1): Set it for do concurrent. 280 (gfc_trans_forall_loop): Mark those as annot_expr_ivdep_kind. 281 2822013-10-23 Tobias Burnus <burnus@net-b.de> 283 284 PR fortran/58793 285 * interface.c (compare_parameter): Reject passing TYPE(*) 286 to CLASS(*). 287 2882013-10-22 Paul Thomas <pault@gcc.gnu.org> 289 290 PR fortran 57893 291 * class.c : Include target-memory.h. 292 (gfc_find_intrinsic_vtab) Build a minimal expression so that 293 gfc_element_size can be used to obtain the storage size, rather 294 that the kind value. 295 2962013-10-21 Tobias Burnus <burnus@net-b.de> 297 298 PR fortran/58803 299 * decl.c (match_ppc_decl): Prevent later 300 double free. 301 3022013-10-17 Andrew MacLeod <amacleod@redhat.com> 303 304 * trans-openmp.c: Include omp-low.h. 305 3062013-10-16 Tobias Burnus <burnus@net-b.de> 307 308 PR fortran/58652 309 * interface.c (compare_parameter): Accept passing CLASS(*) 310 to CLASS(*). 311 3122013-10-16 Tobias Burnus <burnus@net-b.de> 313 314 * intrinsic.texi (OpenMP Modules): Update to OpenMPv4. 315 Document omp_proc_bind_kind. 316 3172013-10-15 Tobias Burnus <burnus@net-b.de> 318 319 PR fortran/58652 320 * trans-intrinsic.c (conv_intrinsic_move_alloc): Fix handling 321 of CLASS(*) variables. 322 3232013-10-14 Tobias Burnus <burnus@net-b.de> 324 325 PR fortran/58658 326 * expr.c (gfc_check_vardef_context): Fix pointer diagnostic 327 for CLASS(*). 328 3292013-10-11 Jakub Jelinek <jakub@redhat.com> 330 331 * trans-openmp.c (gfc_omp_clause_default_ctor, 332 gfc_omp_clause_dtor): Return NULL for OMP_CLAUSE_REDUCTION. 333 * f95-lang.c (ATTR_NULL, DEF_FUNCTION_TYPE_8): Define. 334 * types.def (DEF_FUNCTION_TYPE_8): Document. 335 (BT_FN_VOID_OMPFN_PTR_UINT, 336 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG, 337 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG, 338 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): Remove. 339 (BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT, 340 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT, 341 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT, 342 BT_FN_BOOL_INT, BT_FN_BOOL_INT_BOOL, BT_FN_VOID_UINT_UINT, 343 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR, 344 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR, 345 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): New. 346 3472013-10-10 Tobias Burnus <burnus@net-b.de> 348 349 PR fortran/58226 350 * options.c (gfc_get_option_string): Handle zero arg case. 351 3522013-10-02 Tobias Burnus <burnus@net-b.de> 353 354 PR fortran/58593 355 * trans-expr.c (gfc_conv_string_tmp): Fix obtaining 356 the byte size of a single character. 357 3582013-10-01 Tobias Burnus <burnus@net-b.de> 359 360 PR fortran/58579 361 * trans-expr.c (gfc_conv_string_tmp): Correctly obtain 362 the byte size of a single character. 363 3642013-09-27 Janne Blomqvist <jb@gcc.gnu.org> 365 366 * intrinsic.texi (DATE_AND_TIME): Fix example. 367 3682013-09-25 Tobias Burnus <burnus@net-b.de> 369 370 PR fortran/58436 371 * class.c (generate_finalization_wrapper): Handle CLASS(*). 372 3732013-09-25 Tobias Burnus <burnus@net-b.de> 374 375 PR fortran/57697 376 PR fortran/58469 377 * resolve.c (generate_component_assignments): Avoid double free 378 at runtime and freeing a still-being used expr. 379 3802013-09-25 Tom Tromey <tromey@redhat.com> 381 382 * Make-lang.in (fortran_OBJS): Use fortran/gfortranspec.o. 383 (gfortranspec.o): Remove. 384 (CFLAGS-fortran/gfortranspec.o): New variable. 385 (GFORTRAN_D_OBJS): Update. 386 ($(F95_PARSER_OBJS), fortran/openmp.o, GFORTRAN_TRANS_DEPS) 387 (fortran/f95-lang.o, fortran/scanner.o, fortran/convert.o) 388 (fortran/frontend-passes.o, fortran/trans.o, fortran/trans-decl.o) 389 (fortran/trans-types, fortran/trans-const.o, fortran/trans-expr.o) 390 (fortran/trans-stmt.o, fortran/trans-openmp.o, fortran/trans-io.o) 391 (fortran/trans-array.o, fortran/trans-intrinsic.o) 392 (fortran/dependency.o, fortran/trans-common.o, fortran/resolve.o) 393 (fortran/data.o, fortran/options.o, fortran/cpp.o) 394 (fortran/scanner.o, fortran/module.o): Remove. 395 3962013-09-25 Tom Tromey <tromey@redhat.com> 397 398 * Make-lang.in (gfortranspec.o): Don't use subshell. 399 4002013-09-23 Janus Weil <janus@gcc.gnu.org> 401 402 PR fortran/58355 403 * decl.c (check_extended_derived_type): Prevent segfault, modify error 404 message. 405 4062013-09-20 Janus Weil <janus@gcc.gnu.org> 407 408 PR fortran/58099 409 * expr.c (gfc_check_pointer_assign): Remove second call to 410 'gfc_compare_interfaces' with swapped arguments. 411 * interface.c (gfc_compare_interfaces): Symmetrize the call to 412 'check_result_characteristics' by calling it with swapped arguments. 413 4142013-09-18 Tobias Burnus <burnus@net-b.de> 415 416 * expr.c (gfc_check_assign_symbol): Free lvalue.ref. 417 4182013-09-18 Tobias Burnus <burnus@net-b.de> 419 420 PR fortran/43366 421 * primary.c (gfc_variable_attr): Also handle codimension. 422 * resolve.c (resolve_ordinary_assign): Add invalid-diagnostic for 423 polymorphic assignment. 424 4252013-09-16 Tobias Burnus <burnus@net-b.de> 426 427 PR fortran/58356 428 * class.c (generate_finalization_wrapper): Init proc_tree if 429 not yet resolved. 430 4312013-09-16 Tobias Burnus <burnus@net-b.de> 432 433 PR fortran/57697 434 * resolve.c (generate_component_assignments): Correctly handle the 435 case that the LHS is not allocated. 436 4372013-09-15 Tobias Burnus <burnus@net-b.de> 438 439 PR fortran/57697 440 * resolve.c (generate_component_assignments): Handle unallocated 441 LHS with defined assignment of components. 442 4432013-09-12 Brooks Moses <bmoses@google.com> 444 445 PR driver/42955 446 * Make-lang.in: Do not install driver binaries in $(target)/bin. 447 4482013-09-09 Tobias Burnus <burnus@net-b.de> 449 450 * invoke.texi (Error and Warning Options): Add hyphen. 451 4522013-09-02 Thomas Koenig <tkoenig@gcc.gnu.org> 453 454 PR fortran/PR56519 455 * gfortran.h: Declare gfc_do_concurrent_flag as extern. 456 * resolve.c: Rename do_concurrent_flag to gfc_do_concurrent_flag 457 and make non-static. 458 (resolve_function): Use gfc_do_concurrent_flag instead of 459 do_concurrent_flag. 460 (pure_subroutine): Likewise. 461 (resolve_code): Likewise. 462 (resolve_types): Likewise. 463 * intrinsic.c (gfc_intrinsic_sub_interface): Raise error for 464 non-pure intrinsic subroutines within DO CONCURRENT. 465 4662013-08-29 Thomas Koenig <tkoenig@gcc.gnu.org> 467 468 PR fortran/52243 469 * trans-expr.c (is_runtime_conformable): New function. 470 * gfc_trans_assignment_1: Use it. 471 4722013-08-26 Thomas Koenig <tkoenig@gcc.gnu.org> 473 474 PR fortran/58146 475 * array.c (gfc_ref_dimen_size): If possible, use 476 gfc_dep_difference to calculate array refrence 477 sizes. Fall back to integer code otherwise. 478 * dependency.c (discard_nops). Move up. 479 Also discarde widening integer conversions. 480 (gfc_dep_compare_expr): Use discard_nops. 481 4822013-08-23 Mikael Morin <mikael@gcc.gnu.org> 483 484 PR fortran/57798 485 * trans-array.c (gfc_conv_ss_startstride, set_loop_bounds, 486 gfc_set_delta): Generate preliminary code before the outermost loop. 487 4882013-08-23 Janus Weil <janus@gcc.gnu.org> 489 490 PR fortran/57843 491 * interface.c (gfc_extend_assign): Look for type-bound assignment 492 procedures before non-typebound. 493 4942013-08-23 Mikael Morin <mikael@gcc.gnu.org> 495 496 * trans-array.c (gfc_conv_section_startstride): Move &loop->pre access 497 to the callers. 498 (gfc_conv_ss_startstride, gfc_conv_expr_descriptor): Update callers. 499 5002013-08-22 Janus Weil <janus@gcc.gnu.org> 501 502 PR fortran/58185 503 * match.c (copy_ts_from_selector_to_associate): Only build class 504 container for polymorphic selector. Some cleanup. 505 5062013-08-20 Janus Weil <janus@gcc.gnu.org> 507 508 PR fortran/53655 509 * trans-decl.c (generate_local_decl): Check if type has any components. 510 5112013-08-19 Janus Weil <janus@gcc.gnu.org> 512 513 PR fortran/46271 514 * openmp.c (resolve_omp_clauses): Bugfix for procedure pointers. 515 5162013-08-12 Thomas Koenig <tkoenig@gcc.gnu.org> 517 518 PR fortran/56666 519 * gfortran.h (gfc_option_t): Add warn_zerotrip. 520 * invoke.texi (-Wzerotrip): Document option. 521 * lang.opt (Wzerotrip): Add. 522 * options.c (gfc_init_options): Initialize warn_zerotrip. 523 (set_Wall): Add handling of warn_zerotrip. 524 (gfc_handle_option): Handle OPT_Wzerotrip. 525 * resolve.c (gfc_resolve_iterator): Honor 526 gfc_option.warn_zerotrip; update error message to show 527 how to suppress the warning. 528 5292013-08-09 Janus Weil <janus@gcc.gnu.org> 530 531 * gfortran.h (gfc_get_code): Modified prototype. 532 * class.c (finalize_component, finalization_scalarizer, 533 finalization_get_offset, finalizer_insert_packed_call, 534 generate_finalization_wrapper, gfc_find_derived_vtab, 535 gfc_find_intrinsic_vtab): Use 'gfc_get_code'. 536 * io.c (match_io_iterator, match_io_element, terminate_io, get_io_list, 537 gfc_match_inquire): Call 'gfc_get_code' with argument. 538 * match.c (match_simple_forall, gfc_match_forall, gfc_match_goto, 539 gfc_match_nullify, gfc_match_call, match_simple_where, gfc_match_where): 540 Ditto. 541 * parse.c (new_level): Ditto. 542 (add_statement): Use XCNEW. 543 * resolve.c (resolve_entries, resolve_allocate_expr, 544 resolve_select_type, build_assignment, build_init_assign): Call 545 'gfc_get_code' with argument. 546 * st.c (gfc_get_code): Add argument 'op'. 547 * trans-expr.c (gfc_trans_class_array_init_assign): Call 'gfc_get_code' 548 with argument. 549 * trans-stmt.c (gfc_trans_allocate): Ditto. 550 5512013-08-09 Janus Weil <janus@gcc.gnu.org> 552 553 PR fortran/58058 554 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Free the temporary 555 string, if necessary. 556 5572013-08-06 Martin Jambor <mjambor@suse.cz> 558 559 PR fortran/57987 560 * trans-decl.c (gfc_generate_function_code): Never call 561 cgraph_finalize_function on nested functions. 562 5632013-08-06 Janus Weil <janus@gcc.gnu.org> 564 565 PR fortran/57306 566 * class.c (gfc_class_null_initializer): Rename to 567 'gfc_class_initializer'. Treat non-NULL init-exprs. 568 * gfortran.h (gfc_class_null_initializer): Update prototype. 569 * trans-decl.c (gfc_get_symbol_decl): Treat class variables. 570 * trans-expr.c (gfc_conv_initializer): Ditto. 571 (gfc_trans_subcomponent_assign): Renamed gfc_class_null_initializer. 572 5732013-07-30 Tobias Burnus <burnus@net-b.de> 574 575 PR fortran/57530 576 * symbol.c (gfc_type_compatible): A type is type compatible with 577 a class if both have the same declared type. 578 * interface.c (compare_type): Reject CLASS/TYPE even if they 579 are type compatible. 580 5812013-07-30 Tobias Burnus <burnus@net-b.de> 582 583 PR fortran/57530 584 * trans-expr.c (gfc_trans_class_assign): Handle CLASS array 585 functions. 586 (gfc_trans_pointer_assign): Ditto and support pointer assignment of 587 a polymorphic var to a nonpolymorphic var. 588 5892013-07-22 Po Chang <pchang9@cs.wisc.edu> 590 591 * match.c (gfc_match_call): Exit loop after setting i. 592 593 * resolve.c (resolve_variable): Exit loop after setting seen. 594 595 * expr.c (gfc_check_pointer_assign): Exit loop after setting warn. 596 597 * trans-array.c (set_loop_bounds): Exit loop after setting 598 nonoptional_arr. 599 600 * trans-io.c (gfc_trans_transfer): Exit loop after setting seen_vector. 601 6022013-07-28 Thomas Koenig <tkoenig@gcc.gnu.org> 603 604 PR fortran/58009 605 * expr.c (gfc_check_vardef_context): Check for same values in 606 vector expression subscripts. 607 6082013-07-27 Tobias Burnus <burnus@net-b.de> 609 610 PR fortran/57991 611 * interface.c (check_some_aliasing): Also warn for intent OUT/OUT. 612 6132013-07-27 Janus Weil <janus@gcc.gnu.org> 614 615 PR fortran/57285 616 * check.c (dim_rank_check): Re-enable this check for CLASS arrays. 617 6182013-07-25 Janus Weil <janus@gcc.gnu.org> 619 620 PR fortran/57966 621 * resolve.c (resolve_typebound_function): Make sure the declared type, 622 including its type-bound procedures, is resolved before resolving the 623 actual type-bound call. 624 6252013-07-25 Janus Weil <janus@gcc.gnu.org> 626 627 PR fortran/57639 628 * interface.c (compare_parameter): Check for class_ok. 629 * simplify.c (gfc_simplify_same_type_as): Ditto. 630 6312013-07-23 Ondřej Bílka <neleai@seznam.cz> 632 633 * decl.c: Fix comment typos. 634 * interface.c: Likewise. 635 * trans-array.c: Likewise. 636 * trans.c: Likewise. 637 6382013-07-22 Tobias Burnus <burnus@net-b.de> 639 640 PR fortran/57906 641 PR fortran/52052 642 * class.c (gfc_build_class_symbol): Set coarray_comp. 643 * trans-array.c (structure_alloc_comps): For coarrays, 644 directly use the data pointer address. 645 6462013-07-22 Chang <pchang9@cs.wisc.edu> 647 648 * trans-decl.c (gfc_build_dummy_array_decl): Exit loop after 649 setting PACKED_PARTIAL. 650 6512013-07-22 Tobias Burnus <burnus@net-b.de> 652 653 * trans-array.c (gfc_array_allocate): Correct memory-leak patch. 654 6552013-07-22 Tobias Burnus <burnus@net-b.de> 656 657 * trans-array.c (gfc_array_allocate, 658 gfc_trans_deferred_array): Plug memory leak. 659 6602013-07-21 Ondřej Bílka <neleai@seznam.cz> 661 662 * trans-decl.c: Fix comment typos. 663 * trans-expr.c: Ditto. 664 6652013-07-21 Thomas Koenig <tkoenig@gcc.gnu.org> 666 667 PR fortran/56937 668 * dependency.c (gfc_dep_resolver): Treat identical 669 array subscripts as identical; don't unconditionally 670 return a dependency if an array subscript is found. 671 6722013-07-21 Tobias Burnus <burnus@net-b.de> 673 674 PR fortran/35862 675 * libgfortran.h (GFC_FPE_DOWNWARD, GFC_FPE_TONEAREST, 676 GFC_FPE_TOWARDZERO, GFC_FPE_UPWARD): New defines. 677 6782013-07-21 Tobias Burnus <burnus@net-b.de> 679 680 PR fortran/57894 681 * check.c (min_max_args): Add keyword= check. 682 6832013-07-17 Mikael Morin <mikael@gcc.gnu.org> 684 Tobias Burnus <burnus@net-b.de> 685 686 PR fortran/57895 687 * match.c (gfc_match_name): Ensure that the error 688 message regarding -fdollar-ok gets printed. 689 (gfc_match_common): Avoid multiple freeing. 690 6912013-07-16 Tobias Burnus <burnus@net-b.de> 692 693 PR fortran/57912 694 * trans-expr.c (gfc_trans_scalar_assign): Correct if 695 condition for caf realloc. 696 6972013-07-15 Tobias Burnus <burnus@net-b.de> 698 699 * trans-array.h (gfc_deallocate_alloc_comp_no_caf, 700 gfc_reassign_alloc_comp_caf): New prototype. 701 * trans-array.c (enum): Add DEALLOCATE_ALLOC_COMP_NO_CAF 702 and COPY_ALLOC_COMP_CAF. 703 (structure_alloc_comps): Handle it. 704 (gfc_reassign_alloc_comp_caf, 705 gfc_deallocate_alloc_comp_no_caf): New function. 706 (gfc_alloc_allocatable_for_assignment): Call it. 707 * trans-expr.c (gfc_trans_scalar_assign, 708 gfc_trans_arrayfunc_assign, gfc_trans_assignment_1): Ditto. 709 * parse.c (parse_derived): Correctly set coarray_comp. 710 * resolve.c (resolve_symbol): Improve error wording. 711 7122013-07-15 Tobias Burnus <burnus@net-b.de> 713 714 PR fortran/37336 715 * trans.c (gfc_add_comp_finalizer_call): New function. 716 * trans.h (gfc_add_comp_finalizer_call): New prototype. 717 * trans-array.c (structure_alloc_comps): Call it. 718 7192013-07-14 Thomas Koenig <tkoenig@gcc.gnu.org> 720 Tobias Burnus <burnus@gcc.gnu.org> 721 722 PR fortran/52669 723 * trans-decl.c (gfc_finish_var_decl): Move setting of 724 PRIVATE for a module variable if the module has a private 725 default or -fmodule-private is given to... 726 (gfc_create_module_variable): here. Optionally 727 warn about private module variable which is not used. 728 7292013-07-08 Tobias Burnus <burnus@net-b.de> 730 731 PR fortran/57834 732 * check.c (is_c_interoperable): Add special case for c_f_pointer. 733 (explicit-size, gfc_check_c_f_pointer, gfc_check_c_loc): Update 734 call. 735 7362013-07-08 Tobias Burnus <burnus@net-b.de> 737 738 PR fortran/50554 739 * io.c (match_inquire_element): Add missing do-var check. 740 7412013-07-08 Tobias Burnus <burnus@net-b.de> 742 743 PR fortran/57785 744 * simplify.c (compute_dot_product): Complex conjugate for 745 dot_product. 746 (gfc_simplify_dot_product, gfc_simplify_matmul): Update call. 747 7482013-07-08 Tobias Burnus <burnus@net-b.de> 749 750 PR fortran/57469 751 * trans-decl.c (generate_local_decl): Don't warn that 752 a dummy is unused, when it is in a namelist. 753 7542013-07-01 Dominique d'Humieres <dominiq@lps.ens.fr> 755 756 PR fortran/54788 757 * array.c (spec_size): handle the case as==NULL. 758 7592013-06-26 Tobias Burnus <burnus@net-b.de> 760 761 PR fortran/29800 762 * trans-array.c (gfc_conv_array_ref): Improve out-of-bounds 763 diagnostic message. 764 * trans-array.c (gfc_conv_array_ref): Update prototype. 765 * trans-expr.c (gfc_conv_variable): Update call. 766 7672013-06-24 Steven G. Kargl <sgk@troutmask.apl.washington.edu> 768 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 769 Dominique d'Humieres <dominiq@lps.ens.fr> 770 771 PR fortran/52413 772 * simplify.c (gfc_simplify_fraction): Fix the sign of negative values. 773 7742013-06-21 Tobias Burnus <burnus@net-b.de> 775 776 PR fortran/37336 777 * trans-array.c (gfc_trans_deferred_array): Call the 778 finalizer for nonallocatable local variables. 779 * trans-decl.c (gfc_get_symbol_decl): Add local 780 finalizable vars to the deferred list. 781 (gfc_trans_deferred_vars): Call gfc_trans_deferred_array 782 for those. 783 7842013-06-21 Tobias Burnus <burnus@net-b.de> 785 786 * trans-array.c (gfc_alloc_allocatable_for_assignment): Allocate 787 at least one byte. 788 * trans-expr.c (alloc_scalar_allocatable_for_assignment): Ditto. 789 7902013-06-20 Tobias Burnus <burnus@net-b.de> 791 792 * resolve.c (get_temp_from_expr): Don't set FL_VARIABLE twice. 793 7942013-06-17 Tobias Burnus <burnus@net-b.de> 795 796 * gfortran.h (gfc_option_t): Add fpe_summary. 797 * gfortran.texi (_gfortran_set_options): Update. 798 * invoke.texi (-ffpe-summary): Add doc. 799 * lang.opt (ffpe-summary): Add flag. 800 * options.c (gfc_init_options, gfc_handle_option): Handle it. 801 (gfc_handle_fpe_option): Renamed from gfc_handle_fpe_trap_option, 802 also handle fpe_summary. 803 * trans-decl.c (create_main_function): Update 804 _gfortran_set_options call. 805 8062013-06-15 Mikael Morin <mikael@gcc.gnu.org> 807 808 PR fortran/49074 809 PR fortran/56136 810 * dependency.c (gfc_check_argument_var_dependency): Return 0 in the 811 array constructor case. 812 8132013-06-14 Tobias Burnus <burnus@net-b.de> 814 815 PR fortran/57508 816 * resolve.c (get_temp_from_expr): Don't copy function 817 result attributes to temporary. 818 8192013-06-14 Tobias Burnus <burnus@net-b.de> 820 821 PR fortran/57596 822 * trans-decl.c (gfc_trans_deferred_vars): Honor OPTIONAL 823 for nullify and deferred-strings' length variable. 824 8252013-06-13 Mikael Morin <mikael@gcc.gnu.org> 826 827 PR fortran/49074 828 * trans-expr.c (gfc_conv_variable): Don't walk the reference chain. 829 Handle NULL array references. 830 (gfc_conv_procedure_call): Remove code handling NULL array references. 831 8322013-06-11 Tobias Burnus <burnus@net-b.de> 833 834 PR fortran/57535 835 * trans-array.c (build_class_array_ref): Fix ICE for 836 function result variables. 837 8382013-06-08 Tobias Burnus <burnus@net-b.de> 839 840 PR fortran/37336 841 * trans-decl.c (init_intent_out_dt): Call finalizer 842 when appropriate. 843 8442013-06-08 Tobias Burnus <burnus@net-b.de> 845 846 PR fortran/57553 847 * simplify.c (gfc_simplify_storage_size): Handle literal 848 strings. 849 * trans-intrinsic.c (gfc_conv_intrinsic_storage_size): 850 Add missing fold_convert. 851 8522013-06-07 Tobias Burnus <burnus@net-b.de> 853 854 PR fortran/57549 855 * array.c (gfc_match_array_constructor): Call 856 gfc_match_type_spec instead of gfc_match_decl_type_spec. 857 * match.c (gfc_match_type_spec): Renamed from match_type_spec. 858 (gfc_match_type_is, gfc_match_allocate): Update call. 859 * match.h (gfc_match_type_spec): Add prototype. 860 8612013-06-07 Tobias Burnus <burnus@net-b.de> 862 863 PR fortran/57556 864 * trans.c (gfc_build_final_call): Init block before use. 865 8662013-06-06 Tobias Burnus <burnus@net-b.de> 867 868 PR fortran/57542 869 * trans.c (gfc_build_final_call): Add se.pre to the block 870 and modify the assert. 871 8722013-06-04 Tobias Burnus <burnus@net-b.de> 873 874 PR fortran/37336 875 * trans.h (gfc_build_final_call): Remove prototype. 876 (gfc_add_finalizer_call): Add prototype. 877 * trans-array.c (gfc_trans_dealloc_allocated): Support finalization. 878 (structure_alloc_comps): Update caller. 879 (gfc_trans_deferred_array): Call finalizer. 880 * trans-array.h (gfc_trans_dealloc_allocated): Update prototype. 881 * trans-decl.c (gfc_trans_deferred_vars): Don't deallocate/finalize 882 variables of the main program. 883 * trans-expr.c (gfc_conv_procedure_call): Support finalization. 884 * trans-openmp.c (gfc_omp_clause_dtor, 885 gfc_trans_omp_array_reduction): Update calls. 886 * trans-stmt.c (gfc_trans_deallocate): Avoid double deallocation 887 of alloc components. 888 * trans.c (gfc_add_finalizer_call): New function. 889 (gfc_deallocate_with_status, 890 gfc_deallocate_scalar_with_status): Call it 891 (gfc_build_final_call): Fix handling of scalar coarrays, 892 move up in the file and make static. 893 8942013-06-01 Janus Weil <janus@gcc.gnu.org> 895 Mikael Morin <mikael@gcc.gnu.org> 896 897 * error.c (get_terminal_width): Only limit the width if we're 898 outputting to a terminal. Try to determine width via ioctl. 899 9002013-06-01 Tobias Burnus <burnus@net-b.de> 901 902 * decl.c (add_global_entry): Take locus. 903 (gfc_match_entry): Update call. 904 (gfc_match_end): Better error location. 905 * parse.c (parse_block_data, parse_module, add_global_procedure, 906 add_global_program): Use better locus data. 907 9082013-05-31 Tobias Burnus <burnus@net-b.de> 909 910 PR fortran/57456 911 * trans-array.c (gfc_array_init_size): Use passed type spec, 912 when available. 913 (gfc_array_allocate): Pass typespec on. 914 * trans-array.h (gfc_array_allocate): Update prototype. 915 * trans-stmt.c (gfc_trans_allocate): Pass typespec on. 916 9172013-05-31 Janus Weil <janus@gcc.gnu.org> 918 919 PR fortran/54190 920 PR fortran/57217 921 * gfortran.h (gfc_terminal_width): Remove prototype. 922 * error.c (get_terminal_width): Moved here from misc.c. Renamed. 923 Try to determine terminal width from environment variable. 924 * interface.c (compare_type, compare_rank): New functions. Fix assumed 925 type/rank handling. 926 (compare_type_rank, check_dummy_characteristics, 927 check_result_characteristics, gfc_compare_interfaces): Use them. 928 (symbol_rank): Slightly modified and moved. 929 * misc.c (gfc_terminal_width): Moved to error.c. 930 9312013-05-30 Janus Weil <janus@gcc.gnu.org> 932 933 PR fortran/54189 934 * resolve.c (check_assumed_size_reference): Check for e->ref. 935 9362013-05-30 Tobias Burnus <burnus@net-b.de> 937 938 PR fortran/57458 939 * interface.c (compare_parameter): Update C1239/C1240 constraint 940 check for assumed-rank/TS29113. 941 9422013-05-29 Tobias Burnus <burnus@net-b.de> 943 944 PR fortran/37336 945 * class.c (finalize_component): Fix coarray array refs. 946 (generate_finalization_wrapper): Only gfc_convert_type_warn 947 when the kind value is different. 948 (gfc_find_intrinsic_vtab): _copy's dst is now intent(inout). 949 (gfc_find_derived_vtab): Ditto. Enable finalization-wrapper 950 generation. 951 * module.c (MOD_VERSION): Bump. 952 (gfc_dump_module, gfc_use_module): Remove empty line in .mod. 953 * trans-array.c (gfc_conv_descriptor_token): Accept nonrestricted 954 void pointer. 955 (gfc_array_allocate, structure_alloc_comps): Don't nullify for 956 BT_CLASS allocations. 957 * trans-stmt.c (gfc_trans_allocate): Ditto. 958 9592013-05-29 Tobias Burnus <burnus@net-b.de> 960 961 PR fortran/37336 962 * resolve.c (gfc_resolve_finalizers): Remove not implemented error. 963 9642013-05-28 Tobias Burnus <burnus@net-b.de> 965 966 * trans-expr.c (gfc_conv_procedure_call): Deallocate 967 polymorphic arrays for allocatable intent(out) dummies. 968 (gfc_reset_vptr): New function, moved from trans-stmt.c 969 and extended. 970 * trans-stmt.c (reset_vptr): Remove. 971 (gfc_trans_deallocate): Update calls. 972 * trans.h (gfc_reset_vptr): New prototype. 973 9742013-05-28 Dominique d'Humieres <dominiq@lps.ens.fr> 975 976 PR fortran/57435 977 * module.c (check_for_ambiguous): Avoid null pointer deref. 978 9792013-05-28 Janus Weil <janus@gcc.gnu.org> 980 Tobias Burnus <burnus@net-b.de> 981 982 PR fortran/57217 983 * interface.c (check_dummy_characteristics): Symmetrize type check. 984 9852013-05-27 Bud Davis <jmdavis@link.com> 986 987 PR fortran/50405 988 * resolve.c (resolve_formal_arglist): Detect error when an argument 989 has the same name as the function. 990 9912013-05-27 Tobias Burnus <burnus@net-b.de> 992 993 * expr.c (gfc_build_intrinsic_call): Make symbol as attr.artificial. 994 * intrinsic.c (gfc_is_intrinsic): Disable std check for those. 995 9962013-05-22 Tobias Burnus <burnus@net-b.de> 997 998 * resolve.c (get_temp_from_expr): Change mangling to 999 start always with a _. 1000 10012013-05-22 Tobias Burnus <burnus@net-b.de> 1002 1003 * resolve.c (get_temp_from_expr): Fix temp var mangling. 1004 10052013-05-22 Tobias Burnus <burnus@net-b.de> 1006 1007 PR fortran/57364 1008 * resolve.c (get_temp_from_expr): Commit created sym. 1009 10102013-05-22 Tobias Burnus <burnus@net-b.de> 1011 1012 PR fortran/57338 1013 * intrinsic.c (do_check): Move some checks to ... 1014 (do_ts29113_check): ... this new function. 1015 (check_specific, gfc_intrinsic_sub_interface): Call it. 1016 10172013-05-22 Janne Blomqvist <jb@gcc.gnu.org> 1018 1019 * intrinsic.texi (RANDOM_SEED): Improve example. 1020 10212013-05-21 Tobias Burnus <burnus@net-b.de> 1022 1023 PR fortran/57035 1024 * intrinsic.c (do_check): Add constraint check for 1025 NO_ARG_CHECK, assumed rank and assumed type. 1026 * gfortran.texi (NO_ARG_CHECK): Minor wording change, 1027 allow PRESENT intrinsic. 1028 10292013-05-20 Tobias Burnus <burnus@net-b.de> 1030 1031 PR fortran/48858 1032 PR fortran/55465 1033 * decl.c (add_global_entry): Add sym_name. 1034 * parse.c (add_global_procedure): Ditto. 1035 * resolve.c (resolve_bind_c_derived_types): Handle multiple decl for 1036 a procedure. 1037 (resolve_global_procedure): Handle gsym->ns pointing to a module. 1038 * trans-decl.c (gfc_get_extern_function_decl): Ditto. 1039 10402013-05-20 Tobias Burnus <burnus@net-b.de> 1041 1042 PR fortran/48858 1043 * decl.c (add_global_entry): Use nonbinding name 1044 only for F2003 or if no binding label exists. 1045 (gfc_match_entry): Update calls. 1046 * parse.c (gfc_global_used): Improve error message. 1047 (add_global_procedure): Use nonbinding name 1048 only for F2003 or if no binding label exists. 1049 (gfc_parse_file): Update call. 1050 * resolve.c (resolve_global_procedure): Use binding 1051 name when available. 1052 * trans-decl.c (gfc_get_extern_function_decl): Ditto. 1053 10542013-05-20 Tobias Burnus <burnus@net-b.de> 1055 1056 PR fortran/48858 1057 * decl.c (gfc_match_bind_c_stmt): Add gfc_notify_std. 1058 * match.c (gfc_match_common): Don't add commons to gsym. 1059 * resolve.c (resolve_common_blocks): Add to gsym and 1060 add checks. 1061 (resolve_bind_c_comms): Remove. 1062 (resolve_types): Remove call to the latter. 1063 * trans-common.c (gfc_common_ns): Remove static var. 1064 (gfc_map_of_all_commons): Add static var. 1065 (build_common_decl): Correctly handle binding label. 1066 10672013-05-16 Jason Merrill <jason@redhat.com> 1068 1069 * Make-lang.in (f951$(exeext)): Use link mutex. 1070 10712013-05-05 Tobias Burnus <burnus@net-b.de> 1072 1073 * resolve.c (conformable_arrays): Avoid segfault 1074 when ar.start[i] == NULL. 1075 10762013-05-05 Tobias Burnus <burnus@net-b.de> 1077 1078 PR fortran/57141 1079 * decl.c (gfc_match_null): Permit use-associated 1080 NULL intrinsic. 1081 10822013-05-04 Tobias Burnus <burnus@net-b.de> 1083 1084 * decl.c (gfc_verify_c_interop_param): Permit allocatable 1085 and pointer with -std=f2008ts. 1086 10872013-05-02 Tobias Burnus <burnus@net-b.de> 1088 1089 PR fortran/57142 1090 * simplify.c (gfc_simplify_size): Renamed from 1091 simplify_size; fix kind=8 handling. 1092 (gfc_simplify_size): New function. 1093 (gfc_simplify_shape): Add range check. 1094 * resolve.c (resolve_function): Fix handling 1095 for ISYM_SIZE. 1096 10972013-05-01 Thomas Koenig <tkoenig@gcc.gnu.org> 1098 1099 * frontend-passes.c (optimize_power): Fix typo 1100 in comment. 1101 11022013-04-30 Thomas Koenig <tkoenig@gcc.gnu.org> 1103 1104 PR fortran/57071 1105 * frontend-passes.c (optimize_power): Simplify 1106 1**k to 1. 1107 11082013-04-28 Tobias Burnus <burnus@net-b.de> 1109 1110 PR fortran/57114 1111 * intrinsic.texi (RANK): Correct syntax description and 1112 expected result. 1113 11142013-04-28 Tobias Burnus <burnus@net-b.de> 1115 1116 PR fortran/57093 1117 * trans-types.c (gfc_get_element_type): Fix handling 1118 of scalar coarrays of type character. 1119 * intrinsic.texi (PACK): Add missing ")". 1120 11212013-04-28 Thomas Koenig <tkoenig@gcc.gnu.org> 1122 1123 PR fortran/57071 1124 * frontend-passes (optimize_power): New function. 1125 (optimize_op): Use it. 1126 11272013-04-25 Janne Blomqvist <jb@gcc.gnu.org> 1128 1129 PR bootstrap/57028 1130 * Make-lang.in (f951): Link in ZLIB. 1131 (CFLAGS-fortran/module.o): Add zlib include directory. 1132 11332013-04-22 Janus Weil <janus@gcc.gnu.org> 1134 1135 PR fortran/53685 1136 PR fortran/57022 1137 * check.c (gfc_calculate_transfer_sizes): Fix for array-valued SOURCE 1138 expressions. 1139 * simplify.c (gfc_simplify_sizeof,gfc_simplify_storage_size): Get rid 1140 of special treatment for EXPR_ARRAY. 1141 * target-memory.h (gfc_element_size): New prototype. 1142 * target-memory.c (size_array): Remove. 1143 (gfc_element_size): New function. 1144 (gfc_target_expr_size): Modified to always return the full size of the 1145 expression. 1146 11472013-04-20 Tobias Burnus <burnus@net-b.de> 1148 1149 PR fortran/56907 1150 * trans-intrinsic.c (conv_isocbinding_function): Don't pack array 1151 passed to C_LOC 1152 11532013-04-19 Thomas Koenig <tkoenig@gcc.gnu.org> 1154 Mikael Morin <mikael@gcc.gnu.org> 1155 1156 PR fortran/56872 1157 * frontend-passes.c (copy_walk_reduction_arg): Change argument type 1158 to gfc_constructor. If it has an iterator, wrap the copy of its 1159 expression in an array constructor with that iterator. Don't special 1160 case function expressions. 1161 (callback_reduction): Update caller. Don't return early if there is 1162 an iterator. 1163 11642013-04-18 Tobias Burnus <burnus@net-b.de> 1165 1166 * expr.c (find_array_element): Don't copy expr. 1167 * data.c (create_character_initializer): Free expr. 1168 * frontend-passes.c (combine_array_constructor): Ditto. 1169 * match.c (match_typebound_call, gfc_match_select_type): Ditto. 1170 * resolve.c (resolve_typebound_function): Free gfc_ref. 1171 11722013-04-18 Tobias Burnus <burnus@net-b.de> 1173 1174 PR fortran/56994 1175 * invoke.texi (NEAREST): S argument is not optional. 1176 11772013-04-17 Janus Weil <janus@gcc.gnu.org> 1178 1179 PR fortran/56814 1180 * interface.c (check_result_characteristics): Get result from interface 1181 if present. 1182 11832013-04-17 Janne Blomqvist <jb@gcc.gnu.org> 1184 1185 PR fortran/40958 1186 * scanner.h: New file. 1187 * Make-lang.in: Dependencies on scanner.h. 1188 * scanner.c (gfc_directorylist): Move to scanner.h. 1189 * module.c: Don't include md5.h, include scanner.h and zlib.h. 1190 (MOD_VERSION): Add comment about backwards compatibility. 1191 (module_fp): Change type to gzFile. 1192 (ctx): Remove. 1193 (gzopen_included_file_1): New function. 1194 (gzopen_included_file): New function. 1195 (gzopen_intrinsic_module): New function. 1196 (write_char): Use gzputc. 1197 (read_crc32_from_module_file): New function. 1198 (read_md5_from_module_file): Remove. 1199 (gfc_dump_module): Use gz* functions instead of stdio, check gzip 1200 crc32 instead of md5. 1201 (read_module_to_tmpbuf): Use gz* functions instead of stdio. 1202 (gfc_use_module): Use gz* functions. 1203 12042013-04-16 Tobias Burnus <burnus@net-b.de> 1205 1206 PR fortran/39505 1207 * decl.c (ext_attr_list): Add EXT_ATTR_NO_ARG_CHECK. 1208 * gfortran.h (ext_attr_id_t): Ditto. 1209 * gfortran.texi (GNU Fortran Compiler Directives): 1210 Document it. 1211 * interface.c (compare_type_rank): Ignore rank for NO_ARG_CHECK. 1212 (compare_parameter): Ditto - and regard as unlimited polymorphic. 1213 * resolve.c (resolve_symbol, resolve_variable): Add same constraint 1214 checks as for TYPE(*); turn dummy to TYPE(*),dimension(*). 1215 (gfc_explicit_interface_required): Require explicit interface 1216 for NO_ARG_CHECK. 1217 12182013-04-16 Janus Weil <janus@gcc.gnu.org> 1219 1220 PR fortran/56968 1221 * expr.c (gfc_check_pointer_assign): Handle generic functions returning 1222 procedure pointers. 1223 12242013-04-16 Tobias Burnus <burnus@net-b.de> 1225 1226 PR fortran/56969 1227 * intrinsic.c (gfc_intrinsic_func_interface): Don't set 1228 module name to "(intrinsic)" for intrinsics from intrinsic 1229 modules. 1230 12312013-04-15 Tobias Burnus <burnus@net-b.de> 1232 1233 * intrinsic.texi (SYSTEM_CLOCK): Recommend kind=8. 1234 12352013-04-15 Janne Blomqvist <jb@gcc.gnu.org> 1236 1237 PR fortran/56919 1238 * intrinsics.texi (SYSTEM_CLOCK): Update documentation. 1239 12402013-04-15 Tobias Burnus <burnus@net-b.de> 1241 1242 * class.c (gfc_find_intrinsic_vtab): Removed unused var. 1243 * dependency.c (check_data_pointer_types): Fix check. 1244 * frontend-passes.c (check_data_pointer_types): Remove 1245 superfluous statement. 1246 * parse.c (decode_omp_directive): Add missing break. 1247 * resolve.c (resolve_typebound_subroutine: Free variable. 1248 * trans-decl.c (create_function_arglist): Correct condition. 1249 12502013-04-14 Mikael Morin <mikael@gcc.gnu.org> 1251 1252 PR fortran/56816 1253 * match.c (gfc_match_select_type): Add syntax error. Move namespace 1254 allocation and cleanup... 1255 * parse.c (decode_statement): ... here. 1256 12572013-04-13 Janus Weil <janus@gcc.gnu.org> 1258 1259 PR fortran/55959 1260 * expr.c (gfc_simplify_expr): Branch is not unreachable. 1261 12622013-04-12 Janus Weil <janus@gcc.gnu.org> 1263 1264 PR fortran/56266 1265 * primary.c (gfc_match_varspec): Turn gcc_assert into MATCH_ERROR. 1266 12672013-04-12 Tobias Burnus <burnus@net-b.de> 1268 1269 PR fortran/56929 1270 * trans-array.c (duplicate_allocatable): Fix handling 1271 of scalar coarrays. 1272 12732013-04-12 Janus Weil <janus@gcc.gnu.org> 1274 1275 PR fortran/56261 1276 * gfortran.h (gfc_explicit_interface_required): New prototype. 1277 * expr.c (gfc_check_pointer_assign): Check if an explicit interface is 1278 required in a proc-ptr assignment. 1279 * interface.c (check_result_characteristics): Extra check. 1280 * resolve.c (gfc_explicit_interface_required): New function. 1281 (resolve_global_procedure): Use new function 1282 'gfc_explicit_interface_required'. Do a full interface check. 1283 12842013-04-12 Tobias Burnus <burnus@net-b.de> 1285 1286 PR fortran/56845 1287 * trans-decl.c (gfc_trans_deferred_vars): Restrict 1288 static CLASS init to SAVE and -fno-automatic. 1289 12902013-04-12 Tobias Burnus <burnus@net-b.de> 1291 1292 PR fortran/56845 1293 * trans-decl.c (gfc_trans_deferred_vars): Set _vptr for 1294 allocatable static BT_CLASS. 1295 * trans-expr.c (gfc_class_set_static_fields): New function. 1296 * trans.h (gfc_class_set_static_fields): New prototype. 1297 12982013-04-11 Janne Blomqvist <jb@gcc.gnu.org> 1299 1300 * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type. 1301 * arith.c: Replace gfc_try with bool type. 1302 * array.c: Likewise. 1303 * check.c: Likewise. 1304 * class.c: Likewise. 1305 * cpp.c: Likewise. 1306 * cpp.h: Likewise. 1307 * data.c: Likewise. 1308 * data.h: Likewise. 1309 * decl.c: Likewise. 1310 * error.c: Likewise. 1311 * expr.c: Likewise. 1312 * f95-lang.c: Likewise. 1313 * interface.c: Likewise. 1314 * intrinsic.c: Likewise. 1315 * intrinsic.h: Likewise. 1316 * io.c: Likewise. 1317 * match.c: Likewise. 1318 * match.h: Likewise. 1319 * module.c: Likewise. 1320 * openmp.c: Likewise. 1321 * parse.c: Likewise. 1322 * parse.h: Likewise. 1323 * primary.c: Likewise. 1324 * resolve.c: Likewise. 1325 * scanner.c: Likewise. 1326 * simplify.c: Likewise. 1327 * symbol.c: Likewise. 1328 * trans-intrinsic.c: Likewise. 1329 * trans-openmp.c: Likewise. 1330 * trans-stmt.c: Likewise. 1331 * trans-types.c: Likewise. 1332 13332013-04-09 Tobias Burnus <burnus@net-b.de> 1334 1335 * gfortran.texi (KIND Type Parameters, 1336 Internal representation of LOGICAL variables): Add crossrefs. 1337 (Intrinsic Types): Mention issues with _Bool interop. 1338 (Naming and argument-passing conventions): New section. 1339 13402013-04-08 Thomas Koenig <tkoenig@gcc.gnu.org> 1341 1342 PR fortran/56782 1343 * frontend-passes.c (callback_reduction): Don't do 1344 any simplification if there is only a single element 1345 which has an iterator. 1346 13472013-04-07 Tobias Burnus <burnus@net-b.de> 1348 1349 PR fortran/56849 1350 * iresolve.c (gfc_resolve_reshape): Set shape also 1351 with order=. 1352 13532013-04-04 Janus Weil <janus@gcc.gnu.org> 1354 1355 PR fortran/40881 1356 * match.c (gfc_match_return): Remove standard notification. 1357 * primary.c (gfc_match_actual_arglist): Add standard notification. 1358 13592013-04-04 Tobias Burnus <burnus@net-b.de> 1360 1361 PR fortran/50269 1362 * gcc/fortran/check.c (is_c_interoperable, 1363 gfc_check_c_loc): Correct c_loc array checking 1364 for Fortran 2003 and Fortran 2008. 1365 13662013-04-03 Janus Weil <janus@gcc.gnu.org> 1367 1368 PR fortran/56284 1369 PR fortran/40881 1370 * decl.c (gfc_match_formal_arglist): Warn about alternate-return 1371 arguments. 1372 * interface.c (check_dummy_characteristics): Return if symbols are NULL. 1373 13742013-04-01 Janus Weil <janus@gcc.gnu.org> 1375 1376 PR fortran/56500 1377 * symbol.c (gfc_set_default_type): Build class container for 1378 IMPLICIT CLASS. 1379 13802013-03-31 Tobias Burnus <burnus@net-b.de> 1381 1382 * class.c (finalization_scalarizer, finalizer_insert_packed_call, 1383 generate_finalization_wrapper): Avoid segfault with absent SIZE= 1384 argument to TRANSFER and use correct result kind for SIZE. 1385 * intrinsic.c (gfc_isym_id_by_intmod): Also handle ids of 1386 nonmodules. 1387 * trans.c (gfc_build_final_call): Handle coarrays. 1388 13892013-03-30 Thomas Koenig <tkoenig@gcc.gnu.org> 1390 1391 * trans-expr.c (build_memcmp_call): New function. 1392 (gfc_build_compare_string): If the strings 1393 compared have constant and equal lengths and 1394 the strings are kind=1, or, for kind=4 strings, 1395 the test is for (in)equality, use memcmp(). 1396 13972013-03-29 Tobias Burnus <burnus@net-b.de> 1398 1399 PR fortran/35203 1400 * trans-decl.c (create_function_arglist): Pass hidden argument 1401 for passed-by-value optional+value dummies. 1402 * trans-expr.c (gfc_conv_expr_present, 1403 gfc_conv_procedure_call): Handle those. 1404 14052013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org> 1406 1407 PR fortran/45159 1408 * gfortran.h (gfc_dep_difference): Add prototype. 1409 * dependency.c (discard_nops): New function. 1410 (gfc_dep_difference): New function. 1411 (check_section_vs_section): Use gfc_dep_difference 1412 to calculate the difference of starting indices. 1413 * trans-expr.c (gfc_conv_substring): Use 1414 gfc_dep_difference to calculate the length of 1415 substrings where possible. 1416 14172013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org> 1418 1419 PR fortran/55806 1420 * frontend-passes.c (optimize_code): Keep track of 1421 current code to make code insertion possible. 1422 (combine_array_constructor): New function. 1423 (optimize_op): Call it. 1424 14252013-03-27 Tobias Burnus <burnus@net-b.de> 1426 1427 PR fortran/56650 1428 PR fortran/36437 1429 * check.c (gfc_check_sizeof, gfc_check_c_sizeof, 1430 gfc_check_storage_size): Update checks. 1431 * intrinsic.texi (SIZEOF): Correct class. 1432 * intrinsic.h (gfc_simplify_sizeof, 1433 gfc_simplify_storage_size): New prototypes. 1434 * intrinsic.c (add_functions): Use them. 1435 * simplify.c (gfc_simplify_sizeof, 1436 gfc_simplify_storage_size): New functions. 1437 14382013-03-27 Janne Blomqvist <jb@gcc.gnu.org> 1439 1440 PR fortran/25708 1441 * module.c (module_locus): Use long for position. 1442 (module_content): New variable. 1443 (module_pos): Likewise. 1444 (prev_character): Remove. 1445 (bad_module): Free data instead of closing mod file. 1446 (set_module_locus): Use module_pos. 1447 (get_module_locus): Likewise. 1448 (module_char): use buffer rather than stdio file. 1449 (module_unget_char): Likewise. 1450 (read_module_to_tmpbuf): New function. 1451 (gfc_use_module): Call read_module_to_tmpbuf. 1452 14532013-03-26 Tobias Burnus <burnus@net-b.de> 1454 1455 PR fortran/56649 1456 * simplify.c (gfc_simplify_merge): Simplify more. 1457 14582013-03-25 Tobias Burnus <burnus@net-b.de> 1459 1460 PR fortran/38536 1461 PR fortran/38813 1462 PR fortran/38894 1463 PR fortran/39288 1464 PR fortran/40963 1465 PR fortran/45824 1466 PR fortran/47023 1467 PR fortran/47034 1468 PR fortran/49023 1469 PR fortran/50269 1470 PR fortran/50612 1471 PR fortran/52426 1472 PR fortran/54263 1473 PR fortran/55343 1474 PR fortran/55444 1475 PR fortran/55574 1476 PR fortran/56079 1477 PR fortran/56378 1478 * check.c (gfc_var_strlen): Properly handle 0-sized string. 1479 (gfc_check_c_sizeof): Use is_c_interoperable, add checks. 1480 (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer, 1481 gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New 1482 functions. 1483 * expr.c (check_inquiry): Add c_sizeof, compiler_version and 1484 compiler_options. 1485 (gfc_check_pointer_assign): Refine function result check. 1486 gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED, 1487 GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC, 1488 GFC_ISYM_C_LOC. 1489 (iso_fortran_env_symbol, iso_c_binding_symbol): Handle 1490 NAMED_SUBROUTINE. 1491 (generate_isocbinding_symbol): Update prototype. 1492 (get_iso_c_sym): Remove. 1493 (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes. 1494 * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function. 1495 (gfc_intrinsic_sub_interface): Use it. 1496 (add_functions, add_subroutines): Add missing C-binding intrinsics. 1497 (gfc_intrinsic_func_interface): Add special case for c_loc. 1498 gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions. 1499 (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them. 1500 * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer, 1501 gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc, 1502 gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes. 1503 * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New 1504 functions. 1505 * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and 1506 NAMED_FUNCTION. 1507 * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness. 1508 * module.c (create_intrinsic_function): Support subroutines and 1509 derived-type results. 1510 (use_iso_fortran_env_module): Update calls. 1511 (import_iso_c_binding_module): Ditto; update calls to 1512 generate_isocbinding_symbol. 1513 * resolve.c (find_arglists): Skip for intrinsic symbols. 1514 (gfc_resolve_intrinsic): Find intrinsic subs via id. 1515 (is_scalar_expr_ptr, gfc_iso_c_func_interface, 1516 set_name_and_label, gfc_iso_c_sub_interface): Remove. 1517 (resolve_function, resolve_specific_s0): Remove calls to those. 1518 (resolve_structure_cons): Fix handling. 1519 * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr 1520 generation. 1521 (gen_cptr_param, gen_fptr_param, gen_shape_param, 1522 build_formal_args, get_iso_c_sym): Remove. 1523 (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE. 1524 (generate_isocbinding_symbol): Support hidden symbols and 1525 using c_ptr/c_funptr symtrees for nullptr defs. 1526 * target-memory.c (gfc_target_encode_expr): Fix handling 1527 of c_ptr/c_funptr. 1528 * trans-expr.c (conv_isocbinding_procedure): Remove. 1529 (gfc_conv_procedure_call): Remove call to it. 1530 (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling 1531 of c_ptr/c_funptr. 1532 * trans-intrinsic.c (conv_isocbinding_function, 1533 conv_isocbinding_subroutine): New. 1534 (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine): 1535 Call them. 1536 * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr. 1537 * trans-types.c (gfc_typenode_for_spec, 1538 gfc_get_derived_type): Ditto. 1539 (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE. 1540 15412013-03-18 Tobias Burnus <burnus@net-b.de> 1542 1543 * gfortran.h (gfc_option_t): Remove flag_whole_file. 1544 * invoke.texi (-fno-whole-file): Remove. 1545 * lang.opt (fwhole-file): Change to Ignore. 1546 * options.c (gfc_init_options, gfc_post_options, 1547 gfc_handle_option): Remove !flag_whole_file handling 1548 * parse.c (resolve_all_program_units, translate_all_program_units, 1549 gfc_parse_file): Ditto. 1550 * resolve.c (resolve_global_procedure): Ditto. 1551 * trans-decl.c (gfc_get_symbol_decl, gfc_get_extern_function_decl, 1552 gfc_create_module_variable): Ditto. 1553 * trans-types.c (gfc_get_derived_type): Ditto. 1554 15552013-03-15 Tobias Burnus <burnus@net-b.de> 1556 1557 PR fortran/56615 1558 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays 1559 if they are not simply contiguous. 1560 15612013-03-11 Tobias Burnus <burnus@net-b.de> 1562 1563 * gfortran.texi (STRUCTURE and RECORD): State more clearly how 1564 to convert them into derived types. 1565 15662013-03-10 Paul Thomas <pault@gcc.gnu.org> 1567 1568 PR fortran/56575 1569 * expr.c (gfc_default_initializer): Check that a class declared 1570 type has any components. 1571 * resolve.c (resolve_fl_derived0): On failing the test for C437 1572 set the type to BT_UNKNOWN to prevent repeat error messages. 1573 15742013-03-03 Mikael Morin <mikael@gcc.gnu.org> 1575 1576 PR fortran/56477 1577 * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference. 1578 15792013-03-03 Mikael Morin <mikael@gcc.gnu.org> 1580 1581 PR fortran/54730 1582 * array.c (gfc_match_array_constructor): Set a checkpoint before 1583 matching a typespec. Drop it on success, restore it otherwise. 1584 15852013-03-03 Mikael Morin <mikael@gcc.gnu.org> 1586 1587 PR fortran/54730 1588 * gfortran.h (struct gfc_undo_change_set): New field 'previous'. 1589 (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint, 1590 gfc_restore_last_undo_checkpoint): New prototypes. 1591 * symbol.c (default_undo_chgset_var): Update initialization. 1592 (single_undo_checkpoint_p, gfc_new_undo_checkpoint, 1593 free_undo_change_set_data, pop_undo_change_set, 1594 gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint): 1595 New functions. 1596 (save_symbol_data): Handle multiple change sets. Make sure old_symbol 1597 field's previous value is not overwritten. Clear gfc_new field. 1598 (restore_old_symbol): Restore previous old_symbol field. 1599 (gfc_restore_last_undo_checkpoint): New function, using body renamed 1600 from gfc_undo_symbols. Restore the previous change set as current one. 1601 (gfc_undo_symbols): New body. 1602 (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state): 1603 Call enforce_single_undo_checkpoint. 1604 (gfc_symbol_done_2): Ditto. Free change set data. 1605 16062013-03-03 Mikael Morin <mikael@gcc.gnu.org> 1607 1608 * symbol.c (restore_old_symbol): Fix thinko. 1609 16102013-03-03 Mikael Morin <mikael@gcc.gnu.org> 1611 1612 * symbol.c (gfc_undo_symbols): Move code... 1613 (restore_old_symbol): ... here as a new function. 1614 16152013-03-03 Mikael Morin <mikael@gcc.gnu.org> 1616 1617 * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h. 1618 * gfortran.h: Include vec.h. 1619 (gfc_undo_change_set): New struct. 1620 * symbol.c (tentative_tbp): Remove struct. 1621 (changed_syms, tentative_tbp_list): Remove variables. 1622 (default_undo_chgset_var, latest_undo_chgset): New variables. 1623 (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols, 1624 gfc_commit_symbols, gfc_commit_symbol, 1625 gfc_enforce_clean_symbol_state, gfc_get_typebound_proc): 1626 Use latest_undo_chgset instead of changed_syms and tentative_tbp_list. 1627 16282013-03-01 Tobias Burnus <burnus@net-b.de> 1629 1630 PR fortran/56491 1631 * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup. 1632 * symbol.c (free_components): Free proc-pointer components. 1633 16342013-03-01 Tobias Burnus <burnus@net-b.de> 1635 1636 * trans-decl.c (gfc_trans_deferred_vars): Free expr after use. 1637 * trans-io.c (build_dt): Ditto. 1638 16392013-02-24 Joseph Myers <joseph@codesourcery.com> 1640 1641 * resolve.c (generate_component_assignments): Don't use UTF-8 1642 ligature in diagnostic. 1643 16442013-02-21 Janus Weil <janus@gcc.gnu.org> 1645 1646 PR fortran/56385 1647 * trans-array.c (structure_alloc_comps): Handle procedure-pointer 1648 components with allocatable result. 1649 16502013-02-21 Tobias Burnus <burnus@net-b.de> 1651 1652 PR fortran/56416 1653 * gfortran.texi (Part II: Language Reference, Extensions, 1654 Non-Fortran Main Program): Sort @menu to match actual section order. 1655 * intrinsic.texi (Intrinsic Procedures): Ditto. 1656 (C_F_POINTER, PRECISION): Move to the alphabetically correct place. 1657 16582013-02-15 Tobias Burnus <burnus@net-b.de> 1659 Mikael Morin <mikael@gcc.gnu.org> 1660 1661 PR fortran/56318 1662 * simplify.c (gfc_simplify_matmul): Fix result shape 1663 and matmul result. 1664 16652013-02-15 Tobias Burnus <burnus@net-b.de> 1666 1667 PR fortran/53818 1668 * resolve.c (apply_default_init_local): Don't create an 1669 initializer for a result variable. 1670 16712013-02-14 Thomas Koenig <tkoenig@gcc.gnu.org> 1672 1673 PR fortran/56224 1674 * gfortran.h (gfc_add_include_path): Add boolean argument 1675 for warn. 1676 * scanner.c (gfc_add_include_path): Pass along warn argument 1677 to add_path_to_list. 1678 * options.c (gfc_post_options): Add true warn argument to 1679 gfc_add_include_path. 1680 (gfc_handle_module_path_options): Likewise. 1681 (gfc_handle_option): Also gfc_add_include_path for intrinsic 1682 modules, without warning. 1683 16842013-02-14 Paul Thomas <pault@gcc.gnu.org> 1685 Tobias Burnus <burnus@net-b.de> 1686 1687 PR testsuite/56138 1688 * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length 1689 results for functions without extra result variable. 1690 1691 Revert: 1692 2013-01-30 Tobias Burnus <burnus@net-b.de> 1693 1694 PR fortran/56138 1695 * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length 1696 results for functions without extra result variable. 1697 16982013-02-12 Janus Weil <janus@gcc.gnu.org> 1699 1700 PR fortran/46952 1701 * resolve.c (resolve_call): Do not check deferred procedures for 1702 recursiveness. 1703 17042013-02-09 Paul Thomas <pault@gcc.gnu.org> 1705 1706 PR fortran/55362 1707 * check.c (array_check): It is an error if a procedure is 1708 passed. 1709 17102013-02-08 Mikael Morin <mikael@gcc.gnu.org> 1711 1712 PR fortran/54107 1713 * trans-types.c (gfc_get_function_type): Change a NULL backend_decl 1714 to error_mark_node on entry. Detect recursive types. Build a variadic 1715 procedure type if the type is recursive. Restore the initial 1716 backend_decl. 1717 17182013-02-07 Tobias Burnus <burnus@net-b.de> 1719 1720 PR fortran/54339 1721 * gfortran.texi (Standards): Mention TS29113. 1722 (Varying Length Character): Mention deferred-length 1723 strings. 1724 (Fortran 2003 Status): Add unlimited polymorphic. 1725 (TS 29113 Status): Add TYPE(*) and DIMENSION(..). 1726 (C Interop): Update the section about TS29113. 1727 17282013-02-06 Paul Thomas <pault@gcc.gnu.org> 1729 1730 PR fortran/55789 1731 * trans-array.c (trans_array_constructor): Remove condition 1732 'dynamic' = true if the loop ubound is a VAR_DECL. 1733 17342013-02-04 Paul Thomas <pault@gcc.gnu.org> 1735 1736 PR fortran/56008 1737 PR fortran/47517 1738 * trans-array.c (gfc_alloc_allocatable_for_assignment): Save 1739 the lhs descriptor before it is modified for reallocation. Use 1740 it to deallocate allocatable components in the reallocation 1741 block. Nullify allocatable components for newly (re)allocated 1742 arrays. 1743 17442013-02-04 Mikael Morin <mikael@gcc.gnu.org> 1745 1746 PR fortran/54195 1747 * resolve.c (resolve_typebound_procedures): Recurse through 1748 resolve_symbol. 1749 17502013-02-04 Mikael Morin <mikael@gcc.gnu.org> 1751 1752 PR fortran/54107 1753 PR fortran/54195 1754 * gfortran.h (struct gfc_symbol): New field 'resolved'. 1755 * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols. 1756 (resolve_symbol): Skip duplicate calls. Don't check the current 1757 namespace. 1758 17592013-02-02 Thomas Koenig <tkoenig@gcc.gnu.org> 1760 1761 PR fortran/50627 1762 PR fortran/56054 1763 * decl.c (gfc_match_end): Remove half-ready namespace 1764 from parent if the end of a block is missing. 1765 * parse.c (parse_module): Do not put namespace into 1766 gsymbol on error. 1767 17682013-01-30 Tobias Burnus <burnus@net-b.de> 1769 1770 PR fortran/56138 1771 * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length 1772 results for functions without extra result variable. 1773 17742013-01-29 Janus Weil <janus@gcc.gnu.org> 1775 Mikael Morin <mikael@gcc.gnu.org> 1776 1777 PR fortran/54107 1778 * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'. 1779 (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols, 1780 gfc_expr_replace_comp): Delete. 1781 (gfc_sym_get_dummy_args): New prototype. 1782 * dependency.c (gfc_check_fncall_dependency): Use 1783 'gfc_sym_get_dummy_args'. 1784 * expr.c (gfc_is_constant_expr): Ditto. 1785 (replace_symbol,gfc_expr_replace_symbols,replace_comp, 1786 gfc_expr_replace_comp): Deleted. 1787 * frontend-passes.c (doloop_code,do_function): Use 1788 'gfc_sym_get_dummy_args'. 1789 * interface.c (gfc_check_operator_interface,gfc_compare_interfaces, 1790 gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol, 1791 gfc_check_typebound_override): Ditto. 1792 * module.c (MOD_VERSION): Bump module version. 1793 (mio_component): Do not read/write 'formal' and 'formal_ns'. 1794 * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not 1795 copy formal args, but just keep a pointer to the interface. 1796 (resolve_function,resolve_call,resolve_typebound_generic_call, 1797 resolve_ppc_call,resolve_expr_ppc,generate_component_assignments, 1798 resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity, 1799 resolve_typebound_procedure,check_uop_procedure): Use 1800 'gfc_sym_get_dummy_args'. 1801 * symbol.c (free_components): Do not free 'formal' and 'formal_ns'. 1802 (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted. 1803 (gfc_sym_get_dummy_args): New function. 1804 * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args): 1805 Use 'gfc_sym_get_dummy_args'. 1806 * trans-decl.c (build_function_decl,create_function_arglist, 1807 build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars, 1808 add_argument_checking): Ditto. 1809 * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call, 1810 gfc_conv_statement_function): Ditto. 1811 * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto. 1812 * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto. 1813 18142013-01-28 Tobias Burnus <burnus@net-b.de> 1815 Mikael Morin <mikael@gcc.gnu.org> 1816 1817 PR fortran/53537 1818 * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an 1819 interface block. 1820 (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace. 1821 * decl.c (gfc_match_data_decl): Ditto. 1822 (variable_decl): Remove undeclared type error. 1823 (gfc_match_import): Use renamed instead of original name. 1824 18252013-01-27 Paul Thomas <pault@gcc.gnu.org> 1826 1827 PR fortran/55984 1828 PR fortran/56047 1829 * gfortran.h : Add associate_var to symbol_attr. 1830 * resolve.c (resolve_assoc_var): Set associate_var attribute. 1831 If the target class_ok is set, set it for the associate 1832 variable. 1833 * check.c (allocatable_check): Associate variables should not 1834 have the allocatable attribute even if their symbols do. 1835 * class.c (gfc_build_class_symbol): Symbols with associate_var 1836 set will always have a good class container. 1837 18382013-01-23 Janus Weil <janus@gcc.gnu.org> 1839 1840 PR fortran/56081 1841 * resolve.c (resolve_select): Add argument 'select_type', reject 1842 non-scalar expressions. 1843 (resolve_select_type,resolve_code): Pass new argument to 1844 'resolve_select'. 1845 18462013-01-23 Jakub Jelinek <jakub@redhat.com> 1847 1848 PR fortran/56052 1849 * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL 1850 and DECL_IGNORED_P on select_type_temporary and don't set 1851 DECL_BY_REFERENCE. 1852 18532013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org> 1854 1855 PR fortran/55919 1856 * scanner.c (add_path_to_list): Copy path to temporary and strip 1857 trailing directory separators before calling stat(). 1858 18592013-01-17 Richard Biener <rguenther@suse.de> 1860 1861 * trans-stmt.c (gfc_trans_do): Conditionally compute countm1 1862 dependent on sign of step, avoids repeated evaluation of 1863 step sign test. Avoid undefined overflow issues by using unsigned 1864 arithmetic. 1865 18662013-01-16 Janus Weil <janus@gcc.gnu.org> 1867 1868 PR fortran/55983 1869 * class.c (find_typebound_proc_uop): Check for f2k_derived instead of 1870 asserting it. 1871 18722013-01-16 Jakub Jelinek <jakub@redhat.com> 1873 Tobias Burnus <burnus@net-b.de> 1874 1875 PR driver/55884 1876 * lang.opt (fintrinsic-modules-path): Don't accept Joined. 1877 (fintrinsic-modules-path=): New. 1878 * options.c (gfc_handle_option, gfc_get_option_string, 1879 gfc_get_option_string): Handle the latter. 1880 18812013-01-16 Jakub Jelinek <jakub@redhat.com> 1882 1883 PR fortran/52865 1884 * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional 1885 and use value of countm1 before the decrement in the condition. 1886 18872013-01-15 Paul Thomas <pault@gcc.gnu.org> 1888 1889 PR fortran/54286 1890 * expr.c (gfc_check_pointer_assign): Check for presence of 1891 's2' before using it. 1892 18932013-01-14 Thomas Koenig <tkoenig@gcc.gnu.org> 1894 1895 PR fortran/55806 1896 * frontend-passes.c (optimize_reduction): New function, 1897 including prototype. 1898 (callback_reduction): Likewise. 1899 (gfc_run_passes): Also run optimize_reduction. 1900 (copy_walk_reduction_arg): New function. 1901 (dummy_code_callback): New function. 1902 19032013-01-13 Jakub Jelinek <jakub@redhat.com> 1904 1905 PR fortran/55935 1906 * trans-expr.c (gfc_conv_structure): Call 1907 unshare_expr_without_location on the ctor elements. 1908 19092013-01-13 Paul Thomas <pault@gcc.gnu.org> 1910 1911 PR fortran/54286 1912 * expr.c (gfc_check_pointer_assign): Ensure that both lvalue 1913 and rvalue interfaces are presented to gfc_compare_interfaces. 1914 Simplify references to interface names by using the symbols 1915 themselves. Call gfc_compare_interfaces with s1 and s2 inter- 1916 changed to overcome the asymmetry of this function. Do not 1917 repeat the check for the presence of s1 and s2. 1918 19192013-01-12 Janus Weil <janus@gcc.gnu.org> 1920 1921 PR fortran/55072 1922 * trans-array.c (gfc_conv_array_parameter): No packing was done for 1923 full arrays of derived type. 1924 19252013-01-08 Paul Thomas <pault@gcc.gnu.org> 1926 1927 PR fortran/55868 1928 * class.c (get_unique_type_string): Change $tar to STAR and 1929 replace sprintf by strcpy where there is no formatting. 1930 * decl.c (gfc_match_decl_type_spec): Change $tar to STAR. 1931 19322013-01-09 Mikael Morin <mikael@gcc.gnu.org> 1933 1934 PR fortran/47203 1935 * module.c (check_for_ambiguous): Get the current program unit using 1936 gfc_current_ns. 1937 19382013-01-09 Tobias Burnus <burnus@net-b.de> 1939 1940 PR fortran/55758 1941 * resolve.c (resolve_symbol): Reject non-C_Bool logicals 1942 in BIND(C) procedures with -std=f*. 1943 19442013-01-08 Paul Thomas <pault@gcc.gnu.org> 1945 1946 PR fortran/55618 1947 * trans-expr.c (gfc_conv_procedure_call): Dereference scalar 1948 character function arguments to elemental procedures in 1949 scalarization loops. 1950 19512013-01-07 Tobias Burnus <burnus@net-b.de> 1952 1953 PR fortran/55763 1954 * gfortran.h (gfc_check_assign_symbol): Update prototype. 1955 * decl.c (add_init_expr_to_sym, do_parm): Update call. 1956 * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and 1957 improve error location; support components. 1958 (gfc_check_pointer_assign): Handle component assignments. 1959 * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol. 1960 (resolve_values): Update call. 1961 (resolve_structure_cons): Avoid double diagnostic. 1962 19632013-01-07 Tobias Burnus <burnus@net-b.de> 1964 Thomas Koenig <tkoenig@gcc.gnu.org> 1965 1966 PR fortran/55852 1967 * expr.c (gfc_build_intrinsic_call): Avoid clashes 1968 with user's procedures. 1969 * gfortran.h (gfc_build_intrinsic_call): Update prototype. 1970 * simplify.c (gfc_simplify_size): Update call. 1971 * class.c (finalization_scalarizer, finalization_get_offset, 1972 finalizer_insert_packed_call, generate_finalization_wrapper): 1973 Clean up by using gfc_build_intrinsic_call. 1974 19752013-01-07 Tobias Burnus <burnus@net-b.de> 1976 1977 PR fortran/55763 1978 * resolve.c (resolve_select_type): Reject intrinsic types for 1979 a non-unlimited-polymorphic selector. 1980 19812013-01-06 Paul Thomas <pault@gcc.gnu.org> 1982 1983 PR fortran/53876 1984 PR fortran/54990 1985 PR fortran/54992 1986 * trans-array.c (build_array_ref): Check the TYPE_CANONICAL 1987 to see if it is GFC_CLASS_TYPE_P. 1988 * trans-expr.c (gfc_get_vptr_from_expr): The same. 1989 (gfc_conv_class_to_class): If the types are not the same, 1990 cast parmese->expr to the type of ctree. 1991 * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of 1992 CLASS components must be set. 1993 19942013-01-06 Mikael Morin <mikael@gcc.gnu.org> 1995 1996 PR fortran/42769 1997 PR fortran/45836 1998 PR fortran/45900 1999 * module.c (read_module): Don't reuse local symtree if the associated 2000 symbol isn't exactly the one wanted. Don't reuse local symtree if it is 2001 ambiguous. 2002 * resolve.c (resolve_call): Use symtree's name instead of symbol's to 2003 lookup the symtree. 2004 20052013-01-05 Steven G. Kargl <kargl@gcc.gnu.org> 2006 Mikael Morin <mikael@gcc.gnu.org> 2007 2008 PR fortran/55827 2009 * class.c (gfc_fix_class_refs): Adapt ts initialization for the case 2010 e->symtree == NULL. 2011 * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it. 2012 20132013-01-05 Tobias Burnus <burnus@net-b.de> 2014 2015 * class.c (finalize_component): Used passed offset expr. 2016 (finalization_get_offset): New static function. 2017 (finalizer_insert_packed_call, generate_finalization_wrapper): Use it 2018 to handle noncontiguous arrays. 2019 20202013-01-04 Tobias Burnus <burnus@net-b.de> 2021 2022 * trans.c (gfc_build_final_call): New function. 2023 * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor): 2024 New function prototypes. 2025 * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from 2026 conv_scalar_to_descriptor, removed static attribute. 2027 (gfc_conv_procedure_call): Honor renaming. 2028 20292013-01-04 Tobias Burnus <burnus@net-b.de> 2030 2031 * intrinsic.c (add_functions): New internal intrinsic 2032 function GFC_PREFIX ("stride"). 2033 * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE. 2034 * intrinsic.h (gfc_resolve_stride): New prototypes. 2035 * iresolve.c (gfc_resolve_stride): New function. 2036 * trans-intrinsic.c (conv_intrinsic_stride): New static 2037 function. 2038 (gfc_conv_intrinsic_function): Use it. 2039 20402013-01-04 Tobias Burnus <burnus@net-b.de> 2041 2042 * class.c (gfc_find_intrinsic_vtab): Add _final 2043 component. 2044 * decl.c (gfc_match_null): Remove superfluous 2045 variadic argument to gfc_match. 2046 20472013-01-04 Paul Thomas <pault@gcc.gnu.org> 2048 2049 PR fortran/55172 2050 * match.c (copy_ts_from_selector_to_associate): Remove call to 2051 gfc_resolve_expr and replace it with explicit setting of the 2052 array reference type. 2053 * resolve.c (resolve_select_type): It is an error if the 2054 selector is coindexed. 2055 20562013-01-04 Tobias Burnus <burnus@net-b.de> 2057 2058 PR fortran/55763 2059 * decl.c (gfc_match_null): Parse and reject MOLD. 2060 20612013-01-04 Tobias Burnus <burnus@net-b.de> 2062 2063 PR fortran/55854 2064 PR fortran/55763 2065 * class.c (gfc_class_null_initializer): Fix finding the vtab. 2066 (gfc_find_intrinsic_vtab): Use BT_VOID for some components. 2067 20682013-01-03 Janus Weil <janus@gcc.gnu.org> 2069 2070 PR fortran/55855 2071 * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes 2072 of rvalue. Correct hyphenation in error message. 2073 20742013-01-03 Jakub Jelinek <jakub@redhat.com> 2075 2076 * gfortranspec.c (lang_specific_driver): Update copyright notice 2077 dates. 2078 2079Copyright (C) 2013 Free Software Foundation, Inc. 2080 2081Copying and distribution of this file, with or without modification, 2082are permitted in any medium without royalty provided the copyright 2083notice and this notice are preserved. 2084