12005-12-30 Erik Edelmann <eedelman@gcc.gnu.org> 2 3 PR fortran/22607 4 * trans-decl.c(gfc_get_extern_function_decl): Don't set 5 DECL_IS_PURE (fndecl) = 1 for return-by-reference 6 functions. 7 8 fortran/PR 25396 9 * interface.c (gfc_extend_expr): Initialize 10 e->value.function.name to NULL. 11 122005-12-29 Paul Thomas <pault@gcc.gnu.org> 13 14 PR fortran/25532 15 * trans-types.c (copy_dt_decls_ifequal): Copy declarations for 16 components of derived type components by recursing into 17 gfc_get_derived_type. 18 192005-12-28 Andrew Pinski <pinskia@physics.uc.edu> 20 21 PR fortran/25587 22 * trans-io.c (gfc_build_st_parameter): Correct off by one error. 23 242005-12-28 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> 25 26 * Make-lang.in: Remove distdir from comment. 27 282005-12-24 Paul Thomas <pault@gcc.gnu.org> 29 30 PR fortran/25029 31 PR fortran/21256 32 * resolve.c (check_assumed_size_reference, resolve_assumed_size_actual): 33 Remove because of regressions caused by patch. 34 (resolve_function, resolve_call, resolve_variable): Remove assumed size 35 checks because of regressionscaused by patch. 36 372005-12-23 Paul Thomas <pault@gcc.gnu.org> 38 39 PR fortran/25029 40 PR fortran/21256 41 *resolve.c(resolve_function): Remove assumed size checking for SIZE 42 and UBOUND and rely on their built-in checking. 43 442005-12-22 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 45 46 PR fortran/18990 47 * gfortran.h (gfc_charlen): Add resolved field. 48 * expr.c (gfc_specification_expr): Accept NULL argument. 49 * resolve.c (gfc_resolve_charlen, gfc_resolve_derived): New. 50 (gfc_resolve_symbol): Resolve derived type definitions. Use 51 resolve_charlen to resolve character lengths. 52 532005-12-22 Paul Thomas <pault@gcc.gnu.org> 54 55 PR fortran/20889 56 *resolve.c(resolve_structure_cons): Do not attempt to convert 57 the type of mismatched pointer type components, except when 58 the constructor component is BT_UNKNOWN; emit error instead. 59 60 PR fortran/25029 61 PR fortran/21256 62 *resolve.c(check_assumed_size_reference): New function to check for upper 63 bound in assumed size array references. 64 (resolve_assumed_size_actual): New function to do a very restricted scan 65 of actual argument expressions of those procedures for which incomplete 66 assumed size array references are not allowed. 67 (resolve_function, resolve_call): Switch off assumed size checking of 68 actual arguments, except for elemental procedures and array valued 69 intrinsics; excepting LBOUND. 70 (resolve_variable): Call check_assumed_size_reference. 71 72 PR fortran/19362 73 PR fortran/20244 74 PR fortran/20864 75 PR fortran/25391 76 *interface.c(gfc_compare_types): Broken into two. 77 (gfc_compare_derived_types): Second half of gfc_compare_types with 78 corrections for a missing check that module name is non-NULL and 79 a check for private components. 80 *symbol.c(gfc_free_dt_list): New function. 81 (gfc_free_namespace): Call gfc_free_dt_list. 82 *resolve.c(resolve_symbol): Build the list of derived types in the 83 symbols namespace. 84 *gfortran.h: Define the structure type gfc_dt_list. Add a new field, 85 derived_types to gfc_namespace. Provide a prototye for the new 86 function gfc_compare_derived_types. 87 *trans_types.c(gfc_get_derived_type): Test for the derived type being 88 available in the host namespace. In this case, the host backend 89 declaration is used for the structure and its components. If an 90 unbuilt, equal structure that is not use associated is found in the 91 host namespace, build it there and then. On exit,traverse the 92 namespace of the derived type to see if there are equal but unbuilt. 93 If so, copy the structure and its component declarations. 94 (copy_dt_decls_ifequal): New functions to copy declarations to other 95 equal structure types. 96 97 PR fortran/20862 98 * io.c (gfc_match_format): Make the appearance of a format statement 99 in a module specification block an error. 100 101 PR fortran/23152 102 * match.c (gfc_match_namelist): Set assumed shape arrays in 103 namelists as std=GFC_STD_GNU and assumed size arrays as an 104 unconditional error. 105 106 PR fortran/25069 107 * match.c (gfc_match_namelist): Set the respecification of a USE 108 associated namelist group as std=GFC_STD_GNU. Permit the concatenation 109 on no error. 110 111 PR fortran/25053 112 PR fortran/25063 113 PR fortran/25064 114 PR fortran/25066 115 PR fortran/25067 116 PR fortran/25068 117 PR fortran/25307 118 * io.c (resolve_tag): Change std on IOSTAT != default integer to 119 GFC_STD_GNU and change message accordingly. Add same error for 120 SIZE. 121 (match_dt_element, gfortran.h): Add field err_where to gfc_dt and 122 set it when tags are being matched. 123 (gfc_resolve_dt): Remove tests that can be done before resolution 124 and add some of the new ones here. 125 (check_io_constraints): New function that checks for most of the 126 data transfer constraints. Some of these were previously done in 127 match_io, from where this function is called, and some were done 128 in gfc_resolve_dt. 129 (match_io): Remove most of the tests of constraints and add the 130 call to check_io_constraints. 131 1322005-12-21 Erik Edelmann <eedelman@gcc.gnu.org> 133 134 PR fortran/25423 135 * parse.c (parse_where_block): break instead of "fall 136 through" after parsing nested WHERE construct. 137 1382005-12-18 Paul Thomas <pault@gcc.gnu.org> 139 140 PR fortran/25018 141 *expr.c(check_inquiry): Return FAILURE if there is no symtree to 142 provide a name. Error/warning for assumed character length argument 143 to LEN for an initialization expression, using GFC_GNU_STD. Add an 144 argument to flag that the expression is not restricted. 145 (check_init_expr): Improve the message for a failing variable. 146 (gfc_match_init_expr): Call check_enquiry again to make sure that 147 unsimplified expressions are not causing unnecessary errors. 148 1492005-12-17 Steven G. Kargl <kargls@comcast.net> 150 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> 151 152 PR fortran/25458 153 * simplify.c (gfc_simplify_ibset, gfc_simplify_not): Add call to 154 twos_complement. 155 1562005-12-17 Steven G. Kargl <kargls@comcast.net> 157 158 * decl.c (gfc_match_old_kind_spec,match_type_spec): Use gfc_std_notify 159 to report nonstandard intrinsic type declarations. 160 1612005-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> 162 163 PR fortran/24268 164 * io.c (format_lex): Allow whitespace within text of format specifier. 165 1662005-12-16 Steven G. Kargl <kargls@comcast.net> 167 168 PR fortran/25106 169 PR fortran/25055 170 * match.c (gfc_match_small_literal_int): Add cnt argument; 171 (gfc_match_st_label,gfc_match_stopcode): Account for cnt argument. 172 * match.h (gfc_match_small_literal_int): Update prototype. 173 * decl.c (match_char_length,gfc_match_old_kind_spec): Account for cnt. 174 * parse.c (next_free): Ditto. 175 * primary.c (match_kind_param): Ditto. 176 1772005-12-16 Richard Guenther <rguenther@suse.de> 178 179 * trans.h (tree): Remove declaration of gfc_build_function_call. 180 * trans.c (gfc_build_function_call): Remove. 181 (gfc_build_array_ref): Use build_function_call_expr. 182 (gfc_trans_runtime_check): Likewise. 183 * trans-array.c (gfc_trans_allocate_array_storage): Likewise. 184 (gfc_grow_array): Likewise. 185 (gfc_trans_array_ctor_element): Likewise. 186 (gfc_trans_array_constructor_value): Likewise. 187 (gfc_array_allocate): Likewise. 188 (gfc_array_deallocate): Likewise. 189 (gfc_trans_auto_array_allocation): Likewise. 190 (gfc_trans_dummy_array_bias): Likewise. 191 (gfc_conv_array_parameter): Likewise. 192 * trans-expr.c (gfc_conv_power_op): Likewise. 193 (gfc_conv_string_tmp): Likewise. 194 (gfc_conv_concat_op): Likewise. 195 (gfc_conv_expr_op): Likewise. 196 (gfc_trans_string_copy): Likewise. 197 * trans-decl.c (build_entry_thunks): Likewise. 198 (gfc_generate_function_code): Likewise. 199 (gfc_generate_constructors): Likewise. 200 * trans-io.c (gfc_trans_open): Likewise. 201 (gfc_trans_close): Likewise. 202 (build_filepos): Likewise. 203 (gfc_trans_inquire): Likewise. 204 (transfer_namelist_element): Likewise. 205 (build_dt): Likewise. 206 (gfc_trans_dt_end): Likewise. 207 (transfer_expr): Likewise. 208 (transfer_array_desc): Likewise. 209 * trans-stmt.c (gfc_trans_pause): Likewise. 210 (gfc_trans_stop): Likewise. 211 (gfc_trans_character_select): Likewise. 212 (gfc_do_allocate): Likewise. 213 (gfc_trans_assign_need_temp): Likewise. 214 (gfc_trans_pointer_assign_need_temp): Likewise. 215 (gfc_trans_forall_1): Likewise. 216 (gfc_trans_where): Likewise. 217 (gfc_trans_allocate): Likewise. 218 (gfc_trans_deallocate): Likewise. 219 * trans-intrinsic.c (gfc_conv_intrinsic_aint): Likewise. 220 (gfc_conv_intrinsic_lib_function): Likewise. 221 (gfc_conv_intrinsic_exponent): Likewise. 222 (gfc_conv_intrinsic_abs): Likewise. 223 (gfc_conv_intrinsic_sign): Likewise. 224 (gfc_conv_intrinsic_ctime): Likewise. 225 (gfc_conv_intrinsic_fdate): Likewise. 226 (gfc_conv_intrinsic_ttynam): Likewise. 227 (gfc_conv_intrinsic_ishftc): Likewise. 228 (gfc_conv_intrinsic_len_trim): Likewise. 229 (gfc_conv_intrinsic_index): Likewise. 230 (gfc_conv_intrinsic_size): Likewise. 231 (gfc_conv_intrinsic_strcmp): Likewise. 232 (gfc_conv_intrinsic_adjust): Likewise. 233 (gfc_conv_associated): Likewise. 234 (gfc_conv_intrinsic_scan): Likewise. 235 (gfc_conv_intrinsic_verify): Likewise. 236 (call_builtin_clz): Likewise. 237 (gfc_conv_intrinsic_si_kind): Likewise. 238 (gfc_conv_intrinsic_sr_kind): Likewise. 239 (gfc_conv_intrinsic_trim): Likewise. 240 (gfc_conv_intrinsic_repeat): Likewise. 241 (gfc_conv_intrinsic_iargc): Likewise. 242 2432005-12-16 Richard Guenther <rguenther@suse.de> 244 245 * trans.h (gfc_build_indirect_ref): Remove declaration. 246 * trans.c (gfc_build_indirect_ref): Remove. 247 * trans-array.c (gfc_trans_array_ctor_element): Use 248 build_fold_indirect_ref instead of gfc_build_indirect_ref. 249 (gfc_trans_array_constructor_value): Likewise. 250 (gfc_conv_array_index_offset): Likewise. 251 (gfc_conv_scalarized_array_ref): Likewise. 252 (gfc_conv_array_ref): Likewise. 253 (gfc_trans_dummy_array_bias): Likewise. 254 (gfc_conv_expr_descriptor): Likewise. 255 (gfc_conv_array_parameter): Likewise. 256 * trans-decl.c (gfc_finish_cray_pointee): Likewise. 257 (gfc_get_symbol_decl): Likewise. 258 * trans-expr.c (gfc_conv_substring): Likewise. 259 (gfc_conv_component_ref): Likewise. 260 (gfc_conv_variable): Likewise. 261 (gfc_add_interface_mapping): Likewise. 262 (gfc_conv_function_call): Likewise. 263 * trans-intrinsic.c (gfc_conv_intrinsic_ichar): Likewise. 264 (gfc_conv_intrinsic_transfer): Likewise. 265 * trans-io.c (nml_get_addr_expr): Likewise. 266 (transfer_namelist_element): Likewise. 267 (transfer_expr): Likewise. 268 * trans-stmt.c (gfc_trans_nested_forall_loop): Likewise. 269 (allocate_temp_for_forall_nest_1): Likewise. 270 (gfc_trans_forall_1): Likewise. 271 2722005-12-16 Richard Guenther <rguenther@suse.de> 273 274 * trans-array.c (gfc_conv_descriptor_data_addr): Use 275 build_fold_addr_expr where appropriate. 276 (gfc_trans_allocate_array_storage): Likewise. 277 (gfc_trans_array_constructor_value): Likewise. 278 (gfc_conv_array_data): Likewise. 279 (gfc_conv_expr_descriptor): Likewise. 280 (gfc_conv_array_parameter): Likewise. 281 * trans-expr.c (gfc_conv_variable): Likewise. 282 (gfc_conv_function_val): Likewise. 283 (gfc_conv_function_call): Likewise. 284 (gfc_conv_expr_reference): Likewise. 285 * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Likewise. 286 (gfc_conv_intrinsic_fdate): Likewise. 287 (gfc_conv_intrinsic_ttynam): Likewise. 288 (gfc_conv_intrinsic_si_kind): Likewise. 289 (gfc_conv_intrinsic_trim): Likewise. 290 * trans-io.c (set_parameter_ref): Likewise. 291 (gfc_convert_array_to_string): Likewise. 292 (gfc_trans_open): Likewise. 293 (gfc_trans_close): Likewise. 294 (build_filepos): Likewise. 295 (gfc_trans_inquire): Likewise. 296 (nml_get_addr_expr): Likewise. 297 (transfer_namelist_element): Likewise. 298 (build_dt): Likewise. 299 (gfc_trans_dt_end): Likewise. 300 (transfer_array_component): Likewise. 301 (transfer_expr): Likewise. 302 (transfer_array_desc): Likewise. 303 (gfc_trans_transfer): Likewise. 304 * trans-stmt.c (gfc_trans_allocate): Likewise. 305 (gfc_trans_deallocate): Likewise. 306 3072005-12-16 Kazu Hirata <kazu@codesourcery.com> 308 309 * dependency.c, resolve.c, trans-array.c: Fix comment typos. 310 * gfortran.texi: Fix typos. 311 3122005-12-14 Erik Edelmann <eedelman@gcc.gnu.org> 313 314 PR fortran/18197 315 * resolve.c (resolve_formal_arglist): Remove code to set 316 the type of a function symbol from it's result symbol. 317 3182005-12-13 Richard Guenther <rguenther@suse.de> 319 320 * trans-expr.c (gfc_conv_substring): Use fold_build2 and 321 build_int_cst. 322 3232005-12-13 Richard Sandiford <richard@codesourcery.com> 324 325 * Make-lang.in (fortran/trans-resolve.o): Depend on 326 fortran/dependency.h. 327 * gfortran.h (gfc_expr): Add an "inline_noncopying_intrinsic" flag. 328 * dependency.h (gfc_get_noncopying_intrinsic_argument): Declare. 329 (gfc_check_fncall_dependency): Change prototype. 330 * dependency.c (gfc_get_noncopying_intrinsic_argument): New function. 331 (gfc_check_argument_var_dependency): New function, split from 332 gfc_check_fncall_dependency. 333 (gfc_check_argument_dependency): New function. 334 (gfc_check_fncall_dependency): Replace the expression parameter with 335 separate symbol and argument list parameters. Generalize the function 336 to handle dependencies for any type of expression, not just variables. 337 Accept a further argument giving the intent of the expression being 338 tested. Ignore intent(in) arguments if that expression is also 339 intent(in). 340 * resolve.c: Include dependency.h. 341 (find_noncopying_intrinsics): New function. 342 (resolve_function, resolve_call): Call it on success. 343 * trans-array.h (gfc_conv_array_transpose): Declare. 344 (gfc_check_fncall_dependency): Remove prototype. 345 * trans-array.c (gfc_conv_array_transpose): New function. 346 * trans-intrinsic.c (gfc_conv_intrinsic_function): Don't use the 347 libcall handling if the expression is to be evaluated inline. 348 Add a case for handling inline transpose()s. 349 * trans-expr.c (gfc_trans_arrayfunc_assign): Adjust for the new 350 interface provided by gfc_check_fncall_dependency. 351 3522005-12-12 Steven G. Kargl <kargls@comcast.net> 353 354 PR fortran/25078 355 * match.c (gfc_match_equivalence): Count number of objects. 356 3572005-12-11 Aldy Hernandez <aldyh@redhat.com> 358 359 * lang.opt: Add RejectNegative to ffixed-form and ffree-form. 360 3612005-12-10 Francois-Xavier Coudert <coudert@clipper.ens.fr> 362 363 PR fortran/25068 364 * io.c (resolve_tag): Add correct diagnostic for F2003 feature. 365 3662005-12-10 Thomas Koenig <Thomas.Koenig@online.de> 367 368 PR fortran/23815 369 * io.c (top level): Add convert to io_tag. 370 (resolve_tag): convert is GFC_STD_GNU. 371 (match_open_element): Add convert. 372 (gfc_free_open): Likewise. 373 (gfc_resolve_open): Likewise. 374 (gfc_free_inquire): Likewise. 375 (match_inquire_element): Likewise. 376 * dump-parse-tree.c (gfc_show_code_node): Add 377 convet for open and inquire. 378 gfortran.h: Add convert to gfc_open and gfc_inquire. 379 * trans-io.c (gfc_trans_open): Add convert. 380 (gfc_trans_inquire): Likewise. 381 * ioparm.def: Add convert to open and inquire. 382 * gfortran.texi: Document CONVERT. 383 3842005-12-09 Roger Sayle <roger@eyesopen.com> 385 386 PR fortran/22527 387 * f95-lang.c (gfc_truthvalue_conversion): Use a zero of the correct 388 integer type when building an inequality. 389 3902005-12-09 Richard Guenther <rguenther@suse.de> 391 392 * f95-lang.c (build_builtin_fntypes): Use correct 393 return types, as indicated by comments. 394 3952005-12-08 Erik Edelmann <eedelman@gcc.gnu.org> 396 397 PR fortran/25292 398 * check.c (gfc_check_associated): Allow function results 399 as actual arguments to ASSOCIATED. Moved a misplaced 400 comment. 401 4022005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> 403 404 * Make-lang.in (fortran.all.build, fortran.install-normal): Remove. 405 4062005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> 407 408 * Make-lang.in: Remove all dependencies on s-gtype, except for 409 gt-fortran-trans.h. 410 4112005-12-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> 412 413 PR fortran/25106 414 * parse.c (next_free): Use new prototype for gfc_match_st_label. 415 Correctly emit hard error if a label is zero. 416 * match.c (gfc_match_st_label): Never allow zero as a valid 417 label. 418 (gfc_match, gfc_match_do, gfc_match_goto): Use new prototype for 419 gfc_match_st_label. 420 * primary.c (): Use new prototype for gfc_match_st_label. 421 * io.c (): Likewise. 422 * match.h: Likewise. 423 4242005-12-02 Richard Guenther <rguenther@suse.de> 425 426 * trans.h (build1_v): Use build1, not build to build the 427 void typed tree. 428 4292005-12-01 Erik Schnetter <schnetter@aei.mpg.de> 430 431 * decl.c (gfc_match_old_kind_spec): Improve handling of old style 432 COMPLEX*N 433 4342005-12-01 Paul Thomas <pault@gcc.gnu.org> 435 436 PR fortran/24789 437 * trans-decl.c (gfc_get_symbol_decl): Move the expression for 438 unit size of automatic character length, dummy pointer array 439 elements down a few lines from the version that fixed PR15809. 440 4412005-11-30 Bernhard Fischer <rep.nop@aon.at> 442 443 PR fortran/21302 444 * lang.opt: New options -ffree-line-length- and -ffree-line-length-none. 445 * gfortran.h: Add free_line_length and add description of 446 free_line_length and fixed_line_length. 447 * options.c (gfc_init_options, gfc_handle_option): Initialize 448 and set free_line_length and fixed_line_length. 449 * scanner.c (load_line): Set free_line_length to 132 and 450 fixed_line_length to 72 or user requested values. 451 * scanner.c: Typo in comment. 452 * invoke.texi: Document -ffree-line-length- and 453 -ffree-line-length-none 454 4552005-11-30 Paul Thomas <pault@gcc.gnu.org> 456 457 PR fortran/15809 458 * trans-decl.c (gfc_get_symbol_decl): In the case of automatic 459 character length, dummy pointer arrays, build an expression for 460 unit size of the array elements, to be picked up and used in the 461 descriptor dtype. 462 * trans-io.c (gfc_trans_transfer): Modify the detection of 463 components of derived type arrays to use the gfc_expr references 464 instead of the array descriptor dtype. This allows the latter 465 to contain expressions. 466 4672005-11-30 Erik Edelmann <erik.edelmann@iki.fi> 468 469 PR fortran/15809 470 * trans-array.c (gfc_trans_deferred_array): Allow PARM_DECLs past 471 in addition to VAR_DECLs. 472 4732005-11-29 Jakub Jelinek <jakub@redhat.com> 474 475 * io.c (gfc_resolve_open): RESOLVE_TAG access field as well. 476 4772005-11-27 Bernhard Fischer <rep.nop@aon.at> 478 479 * gfortran.h: remove superfluous whitespace and use GNU 480 comment-style for the documentation of backend_decl. 481 4822005-11-27 Steven G. Kargl <kargls@comcast.net> 483 484 PR fortran/24917 485 * primary.c (match_boz_constant): Implement postfix BOZ constants; 486 (match_string_constant): Peek for b, o, z, and x 487 4882005-11-27 Francois-Xavier Coudert <coudert@clipper.ens.fr> 489 490 PR fortran/23912 491 * iresolve.c (gfc_resolve_dim, gfc_resolve_mod, 492 gfc_resolve_modulo): When arguments have different kinds, fold 493 the lower one to the largest kind. 494 * check.c (gfc_check_a_p): Arguments of different kinds is not 495 a hard error, but an extension. 496 * simplify.c (gfc_simplify_dim, gfc_simplify_mod, 497 gfc_simplify_modulo): When arguments have different kinds, fold 498 the lower one to the largest kind. 499 5002005-11-21 Jakub Jelinek <jakub@redhat.com> 501 502 PR fortran/14943 503 PR fortran/21647 504 * Make-lang.in (fortran/trans-io.o): Depend on fortran/ioparm.def. 505 * dump-parse-tree.c (gfc_show_code_node): Dump c->block for 506 EXEC_{READ,WRITE,IOLENGTH} nodes. 507 * io.c (terminate_io, match_io, gfc_match_inquire): Put data 508 transfer commands into EXEC_{READ,WRITE,IOLENGTH}'s code->block. 509 * resolve.c (resolve_blocks): Handle EXEC_{READ,WRITE,IOLENGTH}. 510 * trans-io.c (ioparm_unit, ioparm_err, ioparm_end, ioparm_eor, 511 ioparm_list_format, ioparm_library_return, ioparm_iostat, 512 ioparm_exist, ioparm_opened, ioparm_number, ioparm_named, 513 ioparm_rec, ioparm_nextrec, ioparm_size, ioparm_recl_in, 514 ioparm_recl_out, ioparm_iolength, ioparm_file, ioparm_file_len, 515 ioparm_status, ioparm_status_len, ioparm_access, ioparm_access_len, 516 ioparm_form, ioparm_form_len, ioparm_blank, ioparm_blank_len, 517 ioparm_position, ioparm_position_len, ioparm_action, 518 ioparm_action_len, ioparm_delim, ioparm_delim_len, ioparm_pad, 519 ioparm_pad_len, ioparm_format, ioparm_format_len, ioparm_advance, 520 ioparm_advance_len, ioparm_name, ioparm_name_len, 521 ioparm_internal_unit, ioparm_internal_unit_len, 522 ioparm_internal_unit_desc, ioparm_sequential, ioparm_sequential_len, 523 ioparm_direct, ioparm_direct_len, ioparm_formatted, 524 ioparm_formatted_len, ioparm_unformatted, ioparm_unformatted_len, 525 ioparm_read, ioparm_read_len, ioparm_write, ioparm_write_len, 526 ioparm_readwrite, ioparm_readwrite_len, ioparm_namelist_name, 527 ioparm_namelist_name_len, ioparm_namelist_read_mode, ioparm_iomsg, 528 ioparm_iomsg_len, ioparm_var): Remove. 529 (enum ioparam_type, enum iofield_type, enum iofield, 530 enum iocall): New enums. 531 (gfc_st_parameter_field, gfc_st_parameter): New typedefs. 532 (st_parameter, st_parameter_field, iocall): New variables. 533 (ADD_FIELD, ADD_STRING): Remove. 534 (dt_parm, dt_post_end_block): New variables. 535 (gfc_build_st_parameter): New function. 536 (gfc_build_io_library_fndecls): Use it. Initialize iocall 537 array rather than ioparm_*, add extra first arguments to 538 the function types. 539 (set_parameter_const): New function. 540 (set_parameter_value): Add type argument, return a bitmask. 541 Changed to set a field in automatic structure variable rather 542 than set a field in a global _gfortran_ioparm variable. 543 (set_parameter_ref): Likewise. If requested var has different 544 size than what field should point to, call with a temporary and 545 then copy into the user variable. Add postblock argument. 546 (set_string): Remove var_len argument, add type argument, return 547 a bitmask. Changed to set fields in automatic structure variable 548 rather than set a field in a global _gfortran_ioparm variable. 549 (set_internal_unit): Remove iunit, iunit_len, iunit_desc arguments, 550 add var argument. Return a bitmask. Changed to set fields in 551 automatic structure variable rather than set a field in a global 552 _gfortran_ioparm variable. 553 (set_flag): Removed. 554 (io_result): Add var argument. Changed to read common.flags field 555 from automatic structure variable and bitwise AND it with 3. 556 (set_error_locus): Add var argument. Changed to set fields in 557 automatic structure variable rather than set a field in a global 558 _gfortran_{filename,line} variables. 559 (gfc_trans_open): Use gfc_start_block rather than gfc_init_block. 560 Create a temporary st_parameter_* structure. Adjust callers of 561 all above mentioned functions. Pass address of the temporary 562 variable as first argument to the generated function call. 563 Use iocall array rather than ioparm_* separate variables. 564 (gfc_trans_close, build_filepos, gfc_trans_inquire): Likewise. 565 (build_dt): Likewise. Change first argument to tree from tree *. 566 Don't dereference code->ext.dt if last_dt == INQUIRE. Emit 567 IOLENGTH argument setup here. Set dt_parm/dt_post_end_block 568 variables and gfc_trans_code the nested data transfer commands 569 in code->block. 570 (gfc_trans_iolength): Just set last_dt and call build_dt immediately. 571 (transfer_namelist_element): Pass address of dt_parm variable 572 to generated functions. Use iocall array rather than ioparm_* 573 separate variables. 574 (gfc_trans_backspace, gfc_trans_endfile, gfc_trans_rewind, 575 gfc_trans_flush, gfc_trans_read, gfc_trans_write): Use iocall array 576 rather than ioparm_* separate variables. 577 (gfc_trans_dt_end): Likewise. Pass address of dt_parm variable 578 as first argument to generated function. Adjust io_result caller. 579 Prepend dt_post_end_block before io_result code. 580 (transfer_expr): Use iocall array rather than ioparm_* separate 581 variables. Pass address of dt_parm variables as first argument 582 to generated functions. 583 * ioparm.def: New file. 584 5852005-11-21 Paul Thomas <pault@gcc.gnu.org> 586 587 PR fortran/24223 588 * resolve.c (resolve_contained_fntype) Error if an internal 589 function is assumed character length. 590 591 PR fortran/24705 592 * trans-decl.c (gfc_create_module_variable) Skip ICE in 593 when backend decl has been built and the symbol is marked 594 as being in an equivalence statement. 595 5962005-11-20 Toon Moene <toon@moene.indiv.nluug.nl> 597 598 * invoke.texi: Remove superfluous @item. 599 6002005-11-19 Janne Blomqvist <jb@gcc.gnu.org> 601 602 PR fortran/24862 603 * trans-io.c (gfc_trans_transfer): Handle arrays of derived type. 604 6052005-11-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> 606 607 PR fortran/20811 608 * scanner.c (gfc_open_included_file): Add an extra include_cwd 609 argument. Only include files in the current working directory if 610 its value is true. 611 * gfortran.h: Change prototype for gfc_open_included_file. 612 (load_file): Don't search for include files in the current working 613 directory. 614 * options.c (gfc_post_options): Add the directory of the source file 615 to the list of paths for included files. 616 * module.c (gfc_use_module): Look for module files in the current 617 directory. 618 6192005-11-16 Alan Modra <amodra@bigpond.net.au> 620 621 PR fortran/24096 622 * trans-types.c (gfc_init_kinds): Use one less for max_exponent 623 of IBM extended double format. 624 6252005-11-13 Francois-Xavier Coudert <coudert@clipper.ens.fr> 626 627 * intrinsic.c (add_functions): Add COMPLEX, FTELL, FGETC, FGET, 628 FPUTC, FPUT, AND, XOR and OR intrinsic functions. 629 (add_subroutines): Add FGETC, FGET, FPUTC, FPUT and FTELL intrinsic 630 subroutines. 631 * gfortran.h: Add GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET, 632 GFC_ISYM_FGETC, GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL, 633 GFC_ISYM_OR, GFC_ISYM_XOR. 634 * iresolve.c (gfc_resolve_and, gfc_resolve_complex, 635 gfc_resolve_or, gfc_resolve_fgetc, gfc_resolve_fget, 636 gfc_resolve_fputc, gfc_resolve_fput, gfc_resolve_ftell, 637 gfc_resolve_xor, gfc_resolve_fgetc_sub, gfc_resolve_fget_sub, 638 gfc_resolve_fputc_sub, gfc_resolve_fput_sub, gfc_resolve_ftell_sub): 639 New functions. 640 * check.c (gfc_check_complex, gfc_check_fgetputc_sub, 641 gfc_check_fgetputc, gfc_check_fgetput_sub, gfc_check_fgetput, 642 gfc_check_ftell, gfc_check_ftell_sub, gfc_check_and): New functions. 643 * simplify.c (gfc_simplify_and, gfc_simplify_complex, gfc_simplify_or, 644 gfc_simplify_xor): New functions. 645 * trans-intrinsic.c (gfc_conv_intrinsic_function): Add cases for 646 GFC_ISYM_AND, GFC_ISYM_COMPLEX, GFC_ISYM_FGET, GFC_ISYM_FGETC, 647 GFC_ISYM_FPUT, GFC_ISYM_FPUTC, GFC_ISYM_FTELL, GFC_ISYM_OR and 648 GFC_ISYM_XOR. 649 * intrinsic.h: Add prototypes for all functions added to iresolve.c, 650 simplify.c and check.c. 651 6522005-11-10 Paul Thomas <pault@gcc.gnu.org> 653 Steven G. Kargl <kargls@comcast.net> 654 655 PR fortran/15976 656 * resolve.c (resolve_symbol): Disallow automatic arrays in module scope. 657 6582005-11-10 Paul Thomas <pault@gcc.gnu.org> 659 660 PR fortran/24655 661 PR fortran/24755 662 * match.c (recursive_stmt_fcn): Add checks that symtree exists 663 for the expression to weed out inline intrinsic functions and 664 parameters. 665 666 PR fortran/24409 667 * module.c (mio_symtree_ref): Correct the patch of 0923 so that 668 a symbol is not substituted for by a the symbol for the module 669 itself and to prevent the promotion of a formal argument. 670 6712005-11-10 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 672 673 PR fortran/24643 674 * primary.c (match_varspec): Check for implicitly typed CHARACTER 675 variables before matching substrings. 676 6772005-11-09 Steven G. Kargl <kargls@comcast.net> 678 679 * trans-intrinsic.c: Typo in comment. 680 6812005-11-09 Erik Edelmann <eedelman@gcc.gnu.org> 682 683 PR fortran/22607 684 * trans-decl.c(build_function_decl): Don't set 685 DECL_IS_PURE (fndecl) = 1 for return-by-reference 686 functions. 687 6882005-11-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 689 690 * dump-parse-tree.c: Fix comment typo, add a few blank lines. 691 6922005-11-07 Steven G. Kargl <kargls@comcast.net> 693 694 * error.c: Use flag_fatal_error. 695 * invoke.texi: Remove -Werror from list of options. 696 6972005-11-06 Paul Thomas <pault@gcc.gnu.org> 698 699 PR fortran/24534 700 * resolve.c (resolve_symbol): Exclude case of PRIVATE declared 701 within derived type from error associated with PRIVATE type 702 components within derived type. 703 704 PR fortran/20838 705 PR fortran/20840 706 * gfortran.h: Add prototype for gfc_has_vector_index. 707 * io.c (gfc_resolve_dt): Error if internal unit has a vector index. 708 * expr.c (gfc_has_vector_index): New function to check if any of 709 the array references of an expression have vector inidices. 710 (gfc_check_pointer_assign): Error if internal unit has a vector index. 711 712 PR fortran/17737 713 * data.c (gfc_assign_data_value): Remove gcc_assert that caused the ICE 714 and replace by a standard dependent warning/error if overwriting an 715 existing initialization. 716 * decl.c (gfc_data_variable): Remove old error for already initialized 717 variable and the unused error check for common block variables. Add 718 error for hots associated variable and standard dependent error for 719 common block variables, outside of blockdata. 720 * symbol.c (check_conflict): Add constraints for DATA statement. 721 7222005-11-06 Janne Blomqvist <jb@gcc.gnu.org> 723 724 PR fortran/24174 725 PR fortran/24305 726 * fortran/trans-io.c (gfc_build_io_library_fndecls): Add kind 727 argument to transfer_array. 728 (transfer_array_desc): Add kind argument. 729 7302005-11-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> 731 732 * intrinsic.c (add_functions): Add ctime and fdate intrinsics. 733 (add_subroutines): Likewise. 734 * intrinsic.h: Prototypes for gfc_check_ctime, 735 gfc_check_ctime_sub, gfc_check_fdate_sub, gfc_resolve_ctime, 736 gfc_resolve_fdate, gfc_resolve_ctime_sub, gfc_resolve_fdate_sub. 737 * gfortran.h: Add GFC_ISYM_CTIME and GFC_ISYM_FDATE. 738 * iresolve.c (gfc_resolve_ctime, gfc_resolve_fdate, 739 gfc_resolve_ctime_sub, gfc_resolve_fdate_sub): New functions. 740 * trans-decl.c (gfc_build_intrinsic_function_decls): Add 741 gfor_fndecl_fdate and gfor_fndecl_ctime. 742 * check.c (gfc_check_ctime, gfc_check_ctime_sub, 743 gfc_check_fdate_sub): New functions. 744 * trans-intrinsic.c (gfc_conv_intrinsic_ctime, 745 gfc_conv_intrinsic_fdate): New functions. 746 (gfc_conv_intrinsic_function): Add cases for GFC_ISYM_CTIME 747 and GFC_ISYM_FDATE. 748 * intrinsic.texi: Documentation for the new CTIME and FDATE 749 intrinsics. 750 * trans.h: Declarations for gfor_fndecl_ctime and gfor_fndecl_fdate. 751 7522005-11-05 Kazu Hirata <kazu@codesourcery.com> 753 754 * decl.c, trans-decl.c: Fix comment typos. 755 * gfortran.texi: Fix a typo. 756 7572005-11-05 Francois-Xavier Coudert <coudert@clipper.ens.fr> 758 759 * intrinsic.c (add_functions): Add function version of TTYNAM. 760 * intrinsic.h: Add prototypes for gfc_check_ttynam and 761 gfc_resolve_ttynam. 762 * gfortran.h: Add case for GFC_ISYM_TTYNAM. 763 * iresolve.c (gfc_resolve_ttynam): New function. 764 * trans-decl.c (gfc_build_intrinsic_function_decls): Add a tree 765 for function call to library ttynam. 766 * check.c (gfc_check_ttynam): New function. 767 * trans-intrinsic.c (gfc_conv_intrinsic_ttynam): New function. 768 (): Call gfc_conv_intrinsic_ttynam. 769 * trans.h: Add prototype for gfor_fndecl_ttynam. 770 7712005-11-04 Steven G. Kargl <kargls@comcast.net> 772 773 PR fortran/24636 774 * match.c (gfc_match_stopcode): Set stop_code = -1. 775 7762005-11-04 Francois-Xavier Coudert <coudert@clipper.ens.fr> 777 778 PR fortran/18452 779 * lang-specs.h: Pass -lang-fortran to the preprocessor. 780 7812005-11-02 Andrew Pinski <pinskia@physics.uc.edu> 782 783 PR fortran/18157 784 * trans-array.c (gfc_conv_resolve_dependencies): Use the correct 785 type for the temporary array. 786 * trans-expr.c (gfc_trans_assignment): Pass lss 787 instead of lss_section 788 to gfc_conv_resolve_dependencies to get the 789 correct type. 790 7912005-11-02 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 792 793 * decl.c (gfc_match_entry): Function entries don't need an argument 794 list if there's no RESULT clause. 795 7962005-11-01 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 797 798 PR fortran/24008 799 * decl.c (gfc_match_entry): Function entries need an argument list. 800 8012005-11-01 Erik Edelmann <eedelman@gcc.gnu.org> 802 803 PR 24245 804 * trans.c (gfc_generate_code): Move code to create a main 805 program symbol from here ... 806 * parse.c (main_program_symbol): ... to this new 807 function, setting the locus from gfc_current_locus 808 instead of ns->code->loc. 809 (gfc_parse_file): Call main_program_symbol for main programs. 810 8112005-11-01 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 812 813 PR fortran/24404 814 * resolve.c (resolve_symbol): Output symbol names in more error 815 messages, clarify error message. 816 8172005-11-01 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 818 819 * dump-parse-tree.c (show_symtree): Revert change unintentionally 820 committed in r106246. 821 8222005-11-01 Paul Thomas <pault@gcc.gnu.org> 823 824 PR fortran/21565 825 * symbol.c (check_conflict): An object cannot be in a namelist and in 826 block data. 827 828 PR fortran/18737 829 * resolve.c (resolve_symbol): Set the error flag to 830 gfc_set_default_type, in the case of an external symbol, so that 831 an error message is emitted if IMPLICIT NONE is set. 832 833 PR fortran/14994 834 * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SECNDS to enum. 835 * check.c (gfc_check_secnds): New function. 836 * intrinsic.c (add_functions): Add call to secnds. 837 * iresolve.c (gfc_resolve_secnds): New function. 838 * trans-intrinsic (gfc_conv_intrinsic_function): Add call to 839 secnds via case GFC_ISYM_SECNDS. 840 * intrinsic.texi: Add documentation for secnds. 841 8422005-10-31 Andreas Schwab <schwab@suse.de> 843 844 * Make-lang.in (GFORTRAN_TARGET_INSTALL_NAME): Define. 845 (GFORTRAN_CROSS_NAME): Remove. 846 (fortran.install-common): Correctly install a cross compiler. 847 (fortran.uninstall): Use GFORTRAN_TARGET_INSTALL_NAME instead of 848 GFORTRAN_CROSS_NAME. 849 8502005-10-30 Erik Edelmann <eedelman@gcc.gnu.org> 851 852 * gfortran.texi: Update contributors. 853 8542005-10-30 Erik Edelmann <eedelman@gcc.gnu.org> 855 856 PR fortran/18883 857 * trans-decl.c (gfc_finish_var_decl): Add decl to the 858 current function, rather than the parent. Make 859 assertion accept fake result variables. 860 * trans-expr.c (gfc_conv_variable): If the character 861 length of an ENTRY isn't set, get the length from 862 the master function instead. 863 8642005-10-30 Thomas Koenig <Thomas.Koenig@online.de> 865 866 * gfortran.texi: Remove reservations about I/O usability. Document 867 that array intrinsics mostly work. 868 8692005-10-30 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 870 871 * gfortran.texi: Move license stuff to back. Add information 872 on ENUM and ENUMERATOR. 873 * invoke.texi: Document -fshort-enums. 874 8752005-10-30 Gaurav Gautam <gauravga@noida.hcltech.com> 876 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 877 878 * arith.c (gfc_enum_initializer): New function. 879 (gfc_check_integer_range): Made extern. 880 * decl.c (enumerator_history): New typedef. 881 (last_initializer, enum_history, max_enum): New variables. 882 (create_enum_history, gfc_free_enum_history): New functions. 883 (add_init_expr_to_sym): Call create_enum_history if parsing ENUM. 884 (variable_decl): Modified to parse enumerator definition. 885 (match_attr_spec): Add PARAMETER attribute to ENUMERATORs. 886 (gfc_match_data_decl): Issues error, if match_type_spec do not 887 return desired return values. 888 (set_enum_kind, gfc_match_enum, gfc_match_enumerator_def): New 889 functions. 890 (gfc_match_end): Deal with END ENUM. 891 * gfortran.h (gfc_statement): ST_ENUM, ST_ENUMERATOR, ST_END_ENUM 892 added. 893 (symbol_attribute): Bit field for enumerator added. 894 (gfc_options): Add fshort_enums. 895 (gfc_enum_initializer, gfc_check_integer_range): Add prototypes. 896 * options.c: Include target.h 897 (gfc_init_options): Initialize fshort_enums. 898 (gfc_handle_option): Deal with fshort_enums. 899 * parse.c (decode_statement): Match ENUM and ENUMERATOR statement. 900 (gfc_ascii_statement): Deal with the enumerator statements. 901 (parse_enum): New function to parse enum construct. 902 (parse_spec): Added case ST_ENUM. 903 * parse.h (gfc_compile_state): COMP_ENUM added. 904 (gfc_match_enum, gfc_match_enumerator_def, gfc_free_enum_history): 905 Prototype added. 906 * symbol.c (gfc_copy_attr): Copy enumeration attribute. 907 * lang.opt (fshort-enums): Option added. 908 9092005-10-30 Francois-Xavier Coudert <coudert@clipper.ens.fr> 910 911 * check.c (gfc_check_malloc, gfc_check_free): New functions. 912 * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_MALLOC. 913 * intrinsic.c (add_functions): Add symbols for MALLOC function. 914 (add_subroutines): Add symbol for FREE subroutine. 915 * intrinsic.h: Prototypes for gfc_check_malloc, gfc_check_free, 916 gfc_resolve_malloc and gfc_resolve_free. 917 * intrinsic.texi: Add doc for FREE and MALLOC intrinsics. 918 * iresolve.c (gfc_resolve_malloc, gfc_resolve_free): New 919 functions. 920 * trans-intrinsic.c (gfc_conv_intrinsic_function): Add case for 921 GFC_ISYM_MALLOC. 922 9232005-10-30 Steven Bosscher <stevenb@suse.de> 924 925 * gfortran.texi: Update contributors. 926 9272005-10-29 Steven Bosscher <stevenb@suse.de> 928 929 * interface.c: Fix previous checkin (an incomplete patch 930 was commited for me). 931 9322005-10-29 Joseph S. Myers <joseph@codesourcery.com> 933 934 * intrinsic.texi: Remove empty @cindex line. 935 9362005-10-28 Francois-Xavier Coudert <coudert@clipper.ens.fr> 937 938 * check.c (gfc_check_alarm_sub, gfc_check_signal, 939 gfc_check_signal_sub): New functions. 940 * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIGNAL. 941 * intrinsic.c (add_functions): Add signal intrinsic. 942 (add_subroutines): Add signal and alarm intrinsics. 943 * intrinsic.texi: Document the new intrinsics. 944 * iresolve.c (gfc_resolve_signal, gfc_resolve_alarm_sub, 945 gfc_resolve_signal_sub): New functions. 946 * trans-intrinsic.c (gfc_conv_intrinsic_function): Add case 947 for GFC_ISYM_SIGNAL. 948 * intrinsic.h: Add prototypes for gfc_check_alarm_sub, 949 gfc_check_signal, gfc_check_signal_sub, gfc_resolve_signal, 950 gfc_resolve_alarm_sub, gfc_resolve_signal_sub. 951 9522005-10-28 Steven Bosscher <stevenb@suse.de> 953 954 PR fortran/24545 955 * interface.c (gfc_match_end_interface): Fix typo in 956 INTERFACE_USER_OP case. 957 9582005-10-26 Francois-Xavier Coudert <coudert@clipper.ens.fr> 959 960 PR fortran/15586 961 * resolve.c (resolve_symbol): Remove the use of whynot, so that 962 error messages are not built from pieces. 963 9642005-10-26 Paul Thomas <pault@gcc.gnu.org> 965 966 PR fortran/24158 967 * decl.c (gfc_match_data_decl): Correct broken bit of code 968 that prevents undefined derived types from being used as 969 components of another derived type. 970 * resolve.c (resolve_symbol): Add backstop error when derived 971 type variables arrive here with a type that has no components. 972 9732005-10-25 Jakub Jelinek <jakub@redhat.com> 974 975 * trans.h (gfc_conv_cray_pointee): Remove. 976 * trans-expr.c (gfc_conv_variable): Revert 2005-10-24 change. 977 * trans-array.c (gfc_conv_array_parameter): Likewise. 978 * trans-decl.c (gfc_conv_cray_pointee): Remove. 979 (gfc_finish_cray_pointee): New function. 980 (gfc_finish_var_decl): Use it. Don't return early for Cray 981 pointees. 982 (gfc_create_module_variable): Revert 2005-10-24 change. 983 * decl.c (cray_pointer_decl): Update comment. 984 * gfortran.texi: Don't mention Cray pointees aren't visible in the 985 debugger. 986 987 * symbol.c (check_conflict): Add conflict between cray_pointee 988 and in_common resp. in_equivalence. 989 * resolve.c (resolve_equivalence): Revert 2005-10-24 change. 990 991 * module.c (ab_attribute): Add AB_CRAY_POINTER and AB_CRAY_POINTEE. 992 (attr_bits): Likewise. 993 (mio_symbol_attribute): Save and restore cray_pointe{r,e} attributes. 994 (mio_symbol): For cray_pointee write/read cp_pointer reference. 995 9962005-10-25 Feng Wang <fengwang@nudt.edu.cn> 997 998 PR fortran/22290 999 * trans-decl.c (gfc_add_assign_aux_vars): New function. Add two 1000 auxiliary variables. 1001 (gfc_get_symbol_decl): Use it when a variable, including dummy 1002 argument, is assigned a label. 1003 (gfc_trans_assign_aux_var): New function. Set initial value of 1004 the auxiliary variable explicitly. 1005 (gfc_trans_deferred_vars): Use it. 1006 * trans-stmt.c (gfc_conv_label_variable): Handle dummy argument. 1007 10082005-10-24 Asher Langton <langton2@llnl.gov> 1009 1010 PR fortran/17031 1011 PR fortran/22282 1012 * check.c (gfc_check_loc): New function. 1013 * decl.c (variable_decl): New variables cp_as and sym. Added a 1014 check for variables that have already been declared as Cray 1015 Pointers, so we can get the necessary attributes without adding 1016 a new symbol. 1017 (attr_decl1): Added code to catch pointee symbols and "fix" 1018 their array specs. 1019 (cray_pointer_decl): New method. 1020 (gfc_match_pointer): Added Cray pointer parsing code. 1021 (gfc_mod_pointee_as): New method. 1022 * expr.c (gfc_check_assign): Added a check to catch vector-type 1023 assignments to pointees with an unspecified final dimension. 1024 * gfortran.h: (GFC_ISYM_LOC): New. 1025 (symbol_attribute): Added cray_pointer and cray_pointee bits. 1026 (gfc_array_spec): Added cray_pointee and cp_was_assumed bools. 1027 (gfc_symbol): Added gfc_symbol *cp_pointer. 1028 (gfc_option): Added flag_cray_pointer. 1029 (gfc_add_cray_pointee): Declare. 1030 (gfc_add_cray_pointer ): Declare. 1031 (gfc_mod_pointee_as): Declare. 1032 * intrinsic.c (add_functions): Add code for loc() intrinsic. 1033 * intrinsic.h (gfc_check_loc): Declare. 1034 (gfc_resolve_loc): Declare. 1035 * iresolve.c (gfc_resolve_loc): New. 1036 * lang.opt: Added fcray-pointer flag. 1037 * options.c (gfc_init_options): Initialized. 1038 gfc_match_option.flag_cray_pointer. 1039 (gfc_handle_option): Deal with -fcray-pointer. 1040 * parse.c:(resolve_equivalence): Added code prohibiting Cray 1041 pointees in equivalence statements. 1042 * resolve.c (resolve_array_ref): Added code to prevent bounds 1043 checking for Cray Pointee arrays. 1044 (resolve_equivalence): Prohibited pointees in equivalence 1045 statements. 1046 * symbol.c (check_conflict): Added Cray pointer/pointee 1047 attribute checking. 1048 (gfc_add_cray_pointer): New. 1049 (gfc_add_cray_pointee): New. 1050 (gfc_copy_attr): New code for Cray pointers and pointees. 1051 * trans-array.c (gfc_trans_auto_array_allocation): Added code to 1052 prevent space from being allocated for pointees. 1053 (gfc_conv_array_parameter): Added code to catch pointees and 1054 correctly set their base address. 1055 * trans-decl.c (gfc_finish_var_decl): Added code to prevent 1056 pointee declarations from making it to the back end. 1057 (gfc_create_module_variable): Same. 1058 * trans-expr.c (gfc_conv_variable): Added code to detect and 1059 translate pointees. 1060 (gfc_conv_cray_pointee): New. 1061 * trans-intrinsic.c (gfc_conv_intrinsic_loc): New. 1062 (gfc_conv_intrinsic_function): Added entry point for loc 1063 translation. 1064 * trans.h (gfc_conv_cray_pointee): Declare. 1065 1066 * gfortran.texi: Added section on Cray pointers, removed Cray 1067 pointers from list of proposed extensions. 1068 * intrinsic.texi: Added documentation for loc intrinsic. 1069 * invoke.texi: Documented -fcray-pointer flag. 1070 10712005-10-24 Asher Langton <langton2@llnl.gov> 1072 1073 * decl.c (gfc_match_save): Changed duplicate SAVE errors to 1074 warnings in the absence of strict standard conformance 1075 * symbol.c (gfc_add_save): Same. 1076 10772005-10-24 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1078 1079 PR fortran/15586 1080 * arith.c (gfc_arith_error): Change message to include locus. 1081 (check_result, eval_intrinsic, gfc_int2int, gfc_real2real, 1082 gfc_real2complex, gfc_complex2real, gfc_complex2complex): Use 1083 the new gfc_arith_error. 1084 (arith_error): Rewrite full error messages instead of building 1085 them from pieces. 1086 * check.c (must_be): Removed. 1087 (type_check, numeric_check, int_or_real_check, real_or_complex_check, 1088 kind_check, double_check, logical_array_check, array_check, 1089 scalar_check, same_type_check, rank_check, kind_value_check, 1090 variable_check, gfc_check_allocated, gfc_check_associated, 1091 gfc_check_cmplx, gfc_check_dcmplx, gfc_check_dot_product, 1092 gfc_check_index, gfc_check_kind, gfc_check_matmul, gfc_check_null, 1093 gfc_check_pack, gfc_check_precision, gfc_check_present, 1094 gfc_check_spread): Rewrite full error messages instead of 1095 building them from pieces. 1096 * decl.c (gfc_match_entry): Rewrite full error messages instead 1097 of building them from pieces. 1098 * parse.c (gfc_state_name): Remove. 1099 * parse.h: Remove prototype for gfc_state_name. 1100 11012005-10-23 Andrew Pinski <pinskia@physics.uc.edu> 1102 1103 PR fortran/23635 1104 * check.c (gfc_check_ichar_iachar): Move the code around so 1105 that the check on the length is after check for 1106 references. 1107 11082005-10-23 Asher Langton <langton2@llnl.gov> 1109 1110 * decl.c (match_type_spec): Add a BYTE type as an extension. 1111 11122005-10-23 Paul Thomas <pault@gcc.gnu.org> 1113 1114 PR fortran/18022 1115 * trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL 1116 if there is a component ref during an array ref to force 1117 use of temporary in assignment. 1118 1119 PR fortran/24311 1120 PR fortran/24384 1121 * fortran/iresolve.c (check_charlen_present): New function to 1122 add a charlen to the typespec, in the case of constant 1123 expressions. 1124 (gfc_resolve_merge, gfc_resolve_spread): Call.the above. 1125 (gfc_resolve_spread): Make calls to library functions that 1126 handle the case of the spread intrinsic with a scalar source. 1127 11282005-10-22 Erik Edelmann <eedelman@gcc.gnu.org> 1129 1130 PR fortran/24426 1131 * decl.c (variable_decl): Don't assign default initializers to 1132 pointers. 1133 11342005-10-21 Jakub Jelinek <jakub@redhat.com> 1135 1136 * interface.c (compare_actual_formal): Issue error when attempting 1137 to pass an assumed-size array as assumed-shape array argument. 1138 11392005-10-20 Erik Edelmann <erik.edelmann@iki.fi> 1140 1141 PR fortran/21625 1142 * resolve.c (expr_to_initialize): New function. 1143 (resolve_allocate_expr): Take current statement as new 1144 argument. Add default initializers to variables of 1145 derived types, if they need it. 1146 (resolve_code): Provide current statement as argument to 1147 resolve_allocate_expr(). 1148 11492005-10-19 Paul Thomas <pault@gcc.gnu.org> 1150 1151 PR fortran/24440 1152 * resolve.c (resolve_symbol): Correct error in check for 1153 assumed size array with default initializer by testing 1154 for arrayspec before dereferencing it. 1155 11562005-10-17 Paul Thomas <pault@gcc.gnu.org> 1157 1158 PR fortran/23446 1159 * gfortran.h: Primitive for gfc_is_formal_arg. 1160 * resolve.c(gfc_is_formal_arg): New function to signal across 1161 several function calls that formal argument lists are being 1162 processed. 1163 (resolve_formal_arglist): Set/reset the flag for gfc_is_formal_arg. 1164 *expr.c(check_restricted): Add check, via gfc_is_formal_arg, if 1165 symbol is part of an formal argument declaration. 1166 1167 PR fortran/21459 1168 * decl.c (add_init_expr_to_sym): Make a new character 1169 length for each variable, when the expression is NULL 1170 and link to cl_list. 1171 1172 PR fortran/20866 1173 * match.c (recursive_stmt_fcn): New function that tests if 1174 a statement function resurses through itself or other other 1175 statement functions. 1176 (gfc_match_st_function): Call recursive_stmt_fcn to check 1177 if this is recursive and to raise error if so. 1178 1179 PR fortran/20849 1180 PR fortran/20853 1181 * resolve.c (resolve_symbol): Errors for assumed size arrays 1182 with default initializer and for external objects with an 1183 initializer. 1184 1185 PR fortran/20837 1186 * decl.c (match_attr_spec): Prevent PUBLIC from being used 1187 outside a module. 1188 11892005-10-16 Erik Edelmann <erik.edelmann@iki.fi> 1190 1191 PR 22273 1192 * expr.c (check_inquiry): Add "len" to inquiry_function. 1193 11942005-10-14 Jakub Jelinek <jakub@redhat.com> 1195 1196 * primary.c (match_boz_constant): Add missing break after gfc_error. 1197 11982005-10-12 Paul Thomas <pault@gcc.gnu.org> 1199 1200 PR fortran/24092 1201 * trans-types.c (gfc_get_derived_type): Insert code to obtain backend 1202 declaration for derived types, building if necessary. Return the 1203 derived type if the fields have been built by this process. Otherwise, 1204 continue as before but using the already obtained backend_decls for the 1205 derived type components. Change the gcc_assert to act on the field. 1206 12072005-10-12 Paul Thomas <pault@gcc.gnu.org> 1208 1209 PR fortran/18082 1210 * decl.c (variable_decl): Make a new copy of the character 1211 length for each variable, when the expression is not a 1212 constant. 1213 12142005-10-12 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1215 1216 * gfortran.h: Add bitmasks for different FPE traps. Add fpe 1217 member to options_t. 1218 * invoke.texi: Document the new -ffpe-trap option. 1219 * lang.opt: Add -ffpe-trap option. 1220 * options.c (gfc_init_options): Initialize the FPE option. 1221 (gfc_handle_fpe_trap_option): New function to parse the argument 1222 of the -ffpe-trap option. 1223 (gfc_handle_option): Add case for -ffpe-trap. 1224 * trans-decl.c: Declare a tree for the set_fpe library function. 1225 (gfc_build_builtin_function_decls): Build this tree. 1226 (gfc_generate_function_code): Generate a call to set_fpe at 1227 the beginning of the main program. 1228 * trans.h: New tree for the set_fpe library function. 1229 12302005-10-12 Paul Thomas <pault@gcc.gnu.org> 1231 1232 PR fortran/20847 1233 PR fortran/20856 1234 * symbol.c (check_conflict): Prevent common variables and 1235 function results from having the SAVE attribute,as required 1236 by the standard. 1237 12382005-10-12 Paul Thomas <pault@gcc.gnu.org> 1239 1240 PR fortran/24207 1241 * resolve.c (resolve_symbol): Exclude use and host associated 1242 symbols from the test for private objects in a public namelist. 1243 12442005-10-12 Jakub Jelinek <jakub@redhat.com> 1245 1246 * trans-common.c (build_field): Fix comment typo. 1247 (create_common): Set backend_decl of COMMON or EQUIVALENCEd 1248 variables to a VAR_DECL with the COMPONENT_REF in 1249 DECL_HAS_VALUE_EXPR rather than COMPONENT_REF directly. 1250 * f95-lang.c (gfc_expand_function): Emit debug info for 1251 EQUIVALENCEd variables if the equiv union is going to be output. 1252 12532005-10-11 Steven G. Kargl <kargls@comcast.net> 1254 1255 PR fortran/20786 1256 * iresolve.c (gfc_resolve_aint, gfc_resolve_anint): Type conversion 1257 of the argument. 1258 12592005-10-11 Jakub Jelinek <jakub@redhat.com> 1260 1261 * f95-lang.c (gfc_init_decl_processing): Initialize 1262 void_list_node. 1263 12642005-10-07 Erik Edelmann <erik.edelmann@iki.fi> 1265 1266 PR 18568 1267 * resolve.c (find_array_spec): Search through the list of 1268 components in the symbol of the type instead of the symbol of the 1269 variable. 1270 12712005-10-05 Richard Guenther <rguenther@suse.de> 1272 1273 PR fortran/24176 1274 * parse.c (gfc_parse_file): Exit early for empty files. 1275 12762005-10-03 Steve Ellcey <sje@cup.hp.com> 1277 1278 * fortran/trans-types.c (gfc_init_kinds): Only pass float, double, 1279 and long double floating point types through to Fortran compiler. 1280 12812005-10-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1282 1283 PR fortran/20120 1284 * f95-lang.c (DO_DEFINE_MATH_BUILTIN): Add support for long 1285 double builtin function. 1286 (gfc_init_builtin_functions): Add mfunc_longdouble, 1287 mfunc_clongdouble and func_clongdouble_longdouble trees. Build 1288 them for round, trunc, cabs, copysign and pow functions. 1289 * iresolve.c (gfc_resolve_reshape, gfc_resolve_transpose): Add 1290 case for kind 10 and 16. 1291 * trans-decl.c: Add trees for cpowl10, cpowl16, ishftc16, 1292 exponent10 and exponent16. 1293 (gfc_build_intrinsic_function_decls): Build nodes for int16, 1294 real10, real16, complex10 and complex16 types. Build all possible 1295 combinations for function _gfortran_pow_?n_?n. Build function 1296 calls cpowl10, cpowl16, ishftc16, exponent10 and exponent16. 1297 * trans-expr.c (gfc_conv_power_op): Add case for integer(16), 1298 real(10) and real(16). 1299 * trans-intrinsic.c: Add suppport for long double builtin 1300 functions in BUILT_IN_FUNCTION, LIBM_FUNCTION and LIBF_FUNCTION 1301 macros. 1302 (gfc_conv_intrinsic_aint): Add case for integer(16), real(10) and 1303 real(16) kinds. 1304 (gfc_build_intrinsic_lib_fndecls): Add support for real10_decl 1305 and real16_decl in library functions. 1306 (gfc_get_intrinsic_lib_fndecl): Add cases for real and complex 1307 kinds 10 and 16. 1308 (gfc_conv_intrinsic_exponent): Add cases for real(10) and real(16) 1309 kinds. 1310 (gfc_conv_intrinsic_sign): Likewise. 1311 (gfc_conv_intrinsic_ishftc): Add case for integer(16) kind. 1312 * trans-types.c (gfc_get_int_type, gfc_get_real_type, 1313 gfc_get_complex_type, gfc_get_logical_type): Doesn't error out in 1314 the case of kinds not available. 1315 * trans.h: Declare trees for cpowl10, cpowl16, ishftc16, 1316 exponent10 and exponent16. 1317 13182005-10-01 Paul Thomas <pault@gcc.gnu.org> 1319 1320 PR fortran/16404 1321 PR fortran/20835 1322 PR fortran/20890 1323 PR fortran/20899 1324 PR fortran/20900 1325 PR fortran/20901 1326 PR fortran/20902 1327 * gfortran.h: Prototype for gfc_add_in_equivalence. 1328 * match.c (gfc_match_equivalence): Make a structure component 1329 an explicit,rather than a syntax, error in an equivalence 1330 group. Call gfc_add_in_equivalence to add the constraints 1331 imposed in check_conflict. 1332 * resolve.c (resolve_symbol): Add constraints: No public 1333 structures with private-type components and no public 1334 procedures with private-type dummy arguments. 1335 (resolve_equivalence_derived): Add constraint that prevents 1336 a structure equivalence member from having a default 1337 initializer. 1338 (sequence_type): New static function to determine whether an 1339 object is default numeric, default character, non-default 1340 or mixed sequence. Add corresponding enum typespec. 1341 (resolve_equivalence): Add constraints to equivalence groups 1342 or their members: No more than one initialized member and 1343 that different types are not equivalenced for std=f95. All 1344 the simple constraints have been moved to check_conflict. 1345 * symbol.c (check_conflict): Simple equivalence constraints 1346 added, including those removed from resolve_symbol. 1347 (gfc_add_in_equivalence): New function to interface calls 1348 match_equivalence to check_conflict. 1349 13502005-09-27 Jakub Jelinek <jakub@redhat.com> 1351 1352 PR fortran/18518 1353 * trans-common.c (build_equiv_decl): Add IS_SAVED argument. 1354 If it is true, set TREE_STATIC on the decl. 1355 (create_common): If any symbol in equivalence has SAVE attribute, 1356 pass true as last argument to build_equiv_decl. 1357 13582005-09-24 Janne Blomqvist <jblomqvi@cc.hut.fi> 1359 1360 * trans-io.c (gfc_build_io_library_fndecls): Add entry 1361 iocall_x_array for transfer_array. 1362 (transfer_array_desc): New function. 1363 (gfc_trans_transfer): Add code to call transfer_array_desc. 1364 13652005-09-26 Jakub Jelinek <jakub@redhat.com> 1366 1367 PR fortran/23677 1368 * symbol.c (gfc_is_var_automatic): Return true if character length 1369 is non-constant rather than constant. 1370 * resolve.c (gfc_resolve): Don't handle !gfc_option.flag_automatic 1371 here. 1372 * options.c (gfc_post_options): Set gfc_option.flag_max_stack_var_size 1373 to 0 for -fno-automatic. 1374 13752005-09-23 Paul Thomas <pault@gcc.gnu.org> 1376 1377 PR fortran/16861 1378 * module.c (mio_component_ref): Return if the symbol is NULL 1379 and wait for another iteration during module reads. 1380 (mio_symtree_ref): Suppress the writing of contained symbols, 1381 when a symbol is available in the main namespace. 1382 (read_module): Restrict scope of special treatment of contained 1383 symbols to variables only and suppress redundant call to 1384 find_true_name. 1385 13862005-09-22 Steven G. Kargl <kargls@comcast.net> 1387 1388 PR fortran/24005 1389 * interface.c (check_interface1): Fix NULL dereference. 1390 13912005-09-22 Erik Edelmann <erik.edelmann@iki.fi> 1392 1393 PR fortran/23843 1394 * resolve.c (derived_inaccessible): New function. 1395 (resolve_transfer): Use it to check for private 1396 components. 1397 13982005-09-22 Steven G. Kargl <kargls@comcast.net> 1399 1400 PR fortran/23516 1401 * intrinsic.c (add_function): Add IMAG, IMAGPART, and REALPART 1402 intrinsics. 1403 * intrinsic.h: Prototypes for gfc_simplify_realpart and 1404 gfc_resolve_realpart. 1405 * intrinsic.texi: Document intrinsic procedures. 1406 * simplify.c (gfc_simplify_realpart): New function. 1407 * irseolve.c (gfc_resolve_realpart): New function. 1408 14092005-09-21 Erik Edelmann <erik.edelmann@iki.fi> 1410 1411 PR fortran/19929 1412 * trans-stmt.c (gfc_trans_deallocate): Check if the 1413 object to be deallocated is an array by looking at 1414 expr->rank instead of expr->symtree->n.sym->attr.dimension. 1415 14162005-09-20 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 1417 1418 PR fortran/23420 1419 * io.c (resolve_tag): Don't allow non-CHARACTER constants as formats. 1420 (match_io): Fix usage of gfc_find_symbol. 1421 14222005-09-20 Jakub Jelinek <jakub@redhat.com> 1423 1424 PR fortran/23663 1425 * primary.c (match_actual_arg): Handle ENTRY the same way 1426 as FUNCTION. 1427 14282005-09-18 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1429 1430 * Make-lang.in: Make check-fortran alias for check-gfortran. 1431 14322005-09-18 Andreas Jaeger <aj@suse.de> 1433 1434 * module.c (read_module): Add missed line from last patch. 1435 14362005-09-18 Erik Edelmann <erik.edelmann@iki.fi> 1437 1438 PR fortran/15975 1439 * resolve.c (resolve_symbol): Don't assign default 1440 initializer to pointers. 1441 14422005-09-18 Paul Thomas <pault@gcc.gnu.org> 1443 1444 PR fortran/16861 1445 * module.c (read_module): Give symbols from module procedures 1446 different true_name entries to those from the module proper. 1447 14482005-09-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1449 1450 PR fortran/15586 1451 * arith.c (gfc_arith_error): Add translation support for error 1452 messages. 1453 * array.c (gfc_match_array_ref): Likewise. 1454 (gfc_match_array_spec): Likewise. 1455 * check.c (must_be): Add msgid convention to third argument. 1456 (same_type_check): Add translation support for error message. 1457 (rank_check): Likewise. 1458 (kind_value_check): Likewise. 1459 (gfc_check_associated): Correct typo. 1460 (gfc_check_reshape): Add translation support for error message. 1461 (gfc_check_spread): Likewise. 1462 * error.c (error_printf): Add nocmsgid convention to argument. 1463 (gfc_warning, gfc_notify_std, gfc_warning_now, gfc_warning_check) 1464 (gfc_error, gfc_error_now): Likewise. 1465 (gfc_status): Add cmsgid convention to argument. 1466 * expr.c (gfc_extract_int): Add translation support for error 1467 messages. 1468 (gfc_check_conformance): Add msgid convention to argument. 1469 (gfc_check_pointer_assign): Correct tabbing. 1470 * gfortran.h: Include intl.h header. Remove prototype for gfc_article. 1471 * gfortranspec.c: Include intl.h header. 1472 (lang_specific_driver): Add translation support for --version. 1473 * io.c (check_format): Add translation support for error message. 1474 (format_item_1): Likewise. 1475 (data_desc): Likewise. 1476 * matchexp.c: Likewise. 1477 * misc.c (gfc_article): Remove function. 1478 * module.c (bad_module): Use msgid convention. Add translation support 1479 for error messages. 1480 (require_atom): Add translation support for error messages. 1481 * parse.c (gfc_ascii_statement): Likewise. 1482 (gfc_state_name): Likewise. 1483 * primary.c (match_boz_constant): Reorganise error messages for 1484 translations. 1485 * resolve.c (resolve_entries): Likewise. 1486 (resolve_operator): Add translation support for error messages. 1487 (gfc_resolve_expr): Use msgid convention. Reorganise error messages 1488 for translations. 1489 (resolve_symbol): Add translation support for error messages. 1490 * symbol.c (gfc_add_procedure): Remove use of gfc_article function. 1491 * trans-const.c (gfc_build_string_const): Use msgid convention. 1492 14932005-09-16 Paul Brook <paul@codesourcery.com> 1494 1495 PR fortran/23906 1496 * dependency.c (transform_sections): Divide by correct value. 1497 Elaborate comment. 1498 14992005-09-14 Paul Thomas <pault@gcc.gnu.org> 1500 1501 PR fortran/21875 Internal Unit Array I/O, NIST 1502 * fortran/trans-io.c (gfc_build_io_library_fndecls): Add field for 1503 array descriptor to IOPARM structure. 1504 * fortran/trans-io.c (set_internal_unit): New function to generate code 1505 to store the character (array) and the character length for an internal 1506 unit. 1507 * fortran/trans-io (build_dt): Use the new function set_internal_unit. 1508 15092005-09-14 Paul Thomas <pault@gcc.gnu.org> 1510 1511 PR fortran/19358 1512 * trans-array.c (gfc_trans_dummy_array_bias): correct the typo 1513 which uses dim[i].upper for lbound, rather than dim[i].lower. 1514 15152005-09-13 Erik Edelmann <erik.edelmann@iki.fi> 1516 1517 PR fortran/17740 1518 * trans-expr.c (gfc_trans_arrayfunc_assign): Check value 1519 of attr.elemental for specific function instead of generic name. 1520 15212005-09-13 Richard Sandiford <richard@codesourcery.com> 1522 1523 PR fortran/18899 1524 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Move initialization 1525 of argse. Remove now-redundant want_pointer assignment. 1526 * trans-array.c (gfc_conv_expr_descriptor): When not assigning to 1527 a pointer, keep the original bounds of a full array reference. 1528 15292005-09-13 Richard Sandiford <richard@codesourcery.com> 1530 1531 PR target/19269 1532 * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift) 1533 (gfc_resolve_pack, gfc_resolve_reshape, gfc_resolve_spread) 1534 (gfc_resolve_transpose, gfc_resolve_unpack): Add "_char" to the name 1535 for character-based operations. 1536 (gfc_resolve_pack): Remove ATTRIBUTE_UNUSED from array argument. 1537 (gfc_resolve_unpack): Copy the whole typespec from the vector. 1538 * trans-array.c (gfc_conv_expr_descriptor): In the EXPR_FUNCTION 1539 case, get the string length from the scalarization state. 1540 15412005-09-14 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1542 1543 * Make-lang.in: Change targets prefixes from f95 to fortran. 1544 * config-lang.in: Change language name to "fortran". 1545 * lang.opt: Change language name to "fortran". 1546 * options.c: Change CL_F95 to CL_Fortran. 1547 15482005-09-09 Thomas Koenig <Thomas.Koenig@online.de> 1549 1550 gfortran.texi: Document IOSTAT= specifier. 1551 15522005-09-09 Thomas Koenig <Thomas.Koenig@online.de> 1553 1554 * gfortran.h: Add iomsg to gfc_open, gfc_close, gfc_filepos, 1555 gfc_inquire and gfc_dt. 1556 * dump-parse-tree.c (gfc_show_code_node): Add iomsg 1557 for open, close, file positioning, inquire and namelist. 1558 * io.c (io_tag): Add tag_iomsg. 1559 (resolve_tag): Add standards warning for iomsg. 1560 (match_open_element): Add iomsg. 1561 (gfc_free_open): Add iomsg. 1562 (gfc_resolve_open): Add iomsg. 1563 (gfc_free_close): Add iomsg. 1564 (match_close_element): Add iomsg. 1565 (gfc_resolve_close): Add iomsg. 1566 (gfc_free_filepos): Add iomsg. 1567 (match_file_element): Add iomsg. 1568 (gfc_resolve_filepos): Add iostat and iomsg. 1569 (match-dt_element): Add iomsg. 1570 (gfc_free_dt): Add iomsg. 1571 (gfc_resolve_dt): Add iomsg. 1572 (gfc_free_inquire): Add iomsg. 1573 (match_inquire_element): Add iomsg. 1574 (gfc_resolve_inquire): Add iomsg. 1575 * trans_io.c: Add ioparm_iomsg and ioparm_iomsg_len. 1576 (gfc_build_io_library_fndecls): Add iomsg as last field. 1577 (gfc_trans_open): Add iomsg. 1578 (gfc_trans_close): Add iomsg. 1579 (build_fileos): Call set_string for iomsg. 1580 (gfc_trans_inquire): Add iomsg. 1581 (build_dt): Add iomsg. 1582 15832005-09-09 Richard Sandiford <richard@codesourcery.com> 1584 1585 * match.h (gfc_match_equiv_variable): Declare. 1586 15872005-09-09 Richard Sandiford <richard@codesourcery.com> 1588 1589 PR fortran/19239 1590 * Makefile.in (fortran/trans-expr.o): Depend on dependency.h. 1591 * dependency.h (gfc_ref_needs_temporary_p): Declare. 1592 * dependency.c (gfc_ref_needs_temporary_p): New function. 1593 (gfc_check_fncall_dependency): Use it instead of inlined check. 1594 By so doing, take advantage of the fact that character substrings 1595 within an array reference also need a temporary. 1596 * trans.h (GFC_SS_VECTOR): Adjust comment. 1597 * trans-array.c (gfc_free_ss): Remove GFC_SS_VECTOR case. 1598 (gfc_set_vector_loop_bounds): New function. 1599 (gfc_add_loop_ss_code): Call it after evaluating the subscripts of 1600 a GFC_SS_SECTION. Deal with the GFC_SS_VECTOR case by evaluating 1601 the vector expression and caching its descriptor for use within 1602 the loop. 1603 (gfc_conv_array_index_ref, gfc_conv_vector_array_index): Delete. 1604 (gfc_conv_array_index_offset): Handle scalar, vector and range 1605 dimensions as separate cases of a switch statement. In the vector 1606 case, use the loop variable to calculate a vector index and use the 1607 referenced element as the dimension's index. Perform bounds checking 1608 on this final index. 1609 (gfc_conv_section_upper_bound): Return null for vector indexes. 1610 (gfc_conv_section_startstride): Give vector indexes a start value 1611 of 0 and a stride of 1. 1612 (gfc_conv_ss_startstride): Adjust for new GFC_SS_VECTOR representation. 1613 (gfc_conv_expr_descriptor): Expand comments. Generalize the 1614 handling of the !want_pointer && !direct_byref case. Use 1615 gfc_ref_needs_temporary_p to decide whether the variable case 1616 needs a temporary. 1617 (gfc_walk_variable_expr): Handle DIMEN_VECTOR by creating a 1618 GFC_SS_VECTOR index. 1619 * trans-expr.c: Include dependency.h. 1620 (gfc_trans_arrayfunc_assign): Fail if the target needs a temporary. 1621 16222005-09-09 Richard Sandiford <richard@codesourcery.com> 1623 1624 PR fortran/21104 1625 * trans.h (gfc_interface_sym_mapping, gfc_interface_mapping): Moved 1626 from trans-expr.c. 1627 (gfc_init_interface_mapping, gfc_free_interface_mapping) 1628 (gfc_add_interface_mapping, gfc_finish_interface_mapping) 1629 (gfc_apply_interface_mapping): Declare. 1630 * trans-array.h (gfc_set_loop_bounds_from_array_spec): Declare. 1631 (gfc_trans_allocate_temp_array): Add pre and post block arguments. 1632 * trans-array.c (gfc_set_loop_bounds_from_array_spec): New function. 1633 (gfc_trans_allocate_array_storage): Replace loop argument with 1634 separate pre and post blocks. 1635 (gfc_trans_allocate_temp_array): Add pre and post block arguments. 1636 Update call to gfc_trans_allocate_array_storage. 1637 (gfc_trans_array_constructor, gfc_conv_loop_setup): Adjust for new 1638 interface to gfc_trans_allocate_temp_array. 1639 * trans-expr.c (gfc_interface_sym_mapping, gfc_interface_mapping): 1640 Moved to trans.h. 1641 (gfc_init_interface_mapping, gfc_free_interface_mapping) 1642 (gfc_add_interface_mapping, gfc_finish_interface_mapping) 1643 (gfc_apply_interface_mapping): Make extern. 1644 (gfc_conv_function_call): Build an interface mapping for array 1645 return values too. Call gfc_set_loop_bounds_from_array_spec. 1646 Adjust call to gfc_trans_allocate_temp_array so that code is 1647 added to SE rather than LOOP. 1648 16492005-09-09 Richard Sandiford <richard@codesourcery.com> 1650 1651 PR fortran/12840 1652 * trans.h (gfor_fndecl_internal_realloc): Declare. 1653 (gfor_fndecl_internal_realloc64): Declare. 1654 * trans-decl.c (gfor_fndecl_internal_realloc): New variable. 1655 (gfor_fndecl_internal_realloc64): New variable. 1656 (gfc_build_builtin_function_decls): Initialize them. 1657 * trans-array.h (gfc_trans_allocate_temp_array): Add a fourth argument. 1658 * trans-array.c (gfc_trans_allocate_array_storage): Add an argument 1659 to say whether the array can grow later. Don't allocate the array 1660 on the stack if so. Don't call malloc for zero-sized arrays. 1661 (gfc_trans_allocate_temp_array): Add a similar argument here. 1662 Pass it along to gfc_trans_allocate_array_storage. 1663 (gfc_get_iteration_count, gfc_grow_array): New functions. 1664 (gfc_iterator_has_dynamic_bounds): New function. 1665 (gfc_get_array_constructor_element_size): New function. 1666 (gfc_get_array_constructor_size): New function. 1667 (gfc_trans_array_ctor_element): Replace pointer argument with 1668 a descriptor tree. 1669 (gfc_trans_array_constructor_subarray): Likewise. Take an extra 1670 argument to say whether the variable-sized part of the constructor 1671 must be allocated using realloc. Grow the array when this 1672 argument is true. 1673 (gfc_trans_array_constructor_value): Likewise. 1674 (gfc_get_array_cons_size): Delete. 1675 (gfc_trans_array_constructor): If the loop bound has not been set, 1676 split the allocation into a static part and a dynamic part. Set 1677 loop->to to the bounds for static part before allocating the 1678 temporary. Adjust call to gfc_trans_array_constructor_value. 1679 (gfc_conv_loop_setup): Allow any constructor to determine the 1680 loop bounds. Check whether the constructor has a dynamic size 1681 and prefer to use something else if so. Expect the loop bound 1682 to be set later. Adjust call to gfc_trans_allocate_temp_array. 1683 * trans-expr.c (gfc_conv_function_call): Adjust another call here. 1684 16852005-09-09 Paul Thomas <pault@gcc.gnu.org> 1686 1687 PR fortran/18878 1688 * module.c (find_use_name_n): Based on original 1689 find_use_name. Either counts number of use names for a 1690 given real name or returns use name n. 1691 (find_use_name, number_use_names): Interfaces to the 1692 function find_use_name_n. 1693 (read_module): Add the logic and calls to these functions, 1694 so that mutiple reuses of the same real name are loaded. 1695 16962005-09-09 Paul Thomas <pault@gcc.gnu.org> 1697 1698 PR fortran/22304 1699 PR fortran/23270 1700 PR fortran/18870 1701 PR fortran/16511 1702 PR fortran/17917 1703 * gfortran.h: Move definition of BLANK_COMMON_NAME from trans- 1704 common.c so that it is accessible to module.c. Add common_head 1705 field to gfc_symbol structure. Add field for the equivalence 1706 name AND new attr field, in_equivalence. 1707 * match.c (gfc_match_common, gfc_match_equivalence): In loops 1708 that flag common block equivalences, emit an error if the 1709 common blocks are different, using sym->common_head as the 1710 common block identifier. Ensure that symbols that are equivalence 1711 associated with a common block are marked as being in_common. 1712 * module.c (write_blank_common): New. 1713 (write_common): Use unmangled common block name. 1714 (load_equiv): New function ported from g95. 1715 (read_module): Call load_equiv. 1716 (write_equiv): New function ported from g95. Correct 1717 string referencing for gfc functions. Give module 1718 equivalences a unique name. 1719 (write_module): Call write_equiv and write_blank_common. 1720 * primary.c (match_variable) Old gfc_match_variable, made 1721 static and third argument provided to indicate if parent 1722 namespace to be visited or not. 1723 (gfc_match_variable) New. Interface to match_variable. 1724 (gfc_match_equiv_variable) New. Interface to match_variable. 1725 * trans-common.c (finish_equivalences): Provide the call 1726 to create_common with a gfc_common_header so that 1727 module equivalences are made external, rather than local. 1728 (find_equivalences): Ensure that all members in common block 1729 equivalences are marked as used. This prevents the subsequent 1730 call to this function from making local unions. 1731 * trans-decl.c (gfc_generate_function_code): Move the call to 1732 gfc_generate_contained_functions to after the call to 1733 gfc_trans_common so the use-associated, contained common 1734 blocks produce the correct references. 1735 (gfc_create_module_variable): Return for equivalenced symbols 1736 with existing backend declaration. 1737 17382005-09-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 1739 1740 PR fortran/23765 1741 * match.c (gfc_match_common): Remove unnecessary / wrong special 1742 cases for end-of-statement. 1743 17442005-09-08 Janne Blomqvist <jblomqvi@cc.hut.fi> 1745 1746 * gfortran.texi: Add section about implemented F2003 features. 1747 17482005-09-08 Richard Sandiford <richard@codesourcery.com> 1749 1750 PR fortran/15326 1751 * trans-array.c (gfc_add_loop_ss_code): Set ss->string_length in 1752 the GFC_SS_FUNCTION case too. 1753 * trans-expr.c (gfc_conv_function_val): Allow symbols to be bound 1754 to function pointers as well as function decls. 1755 (gfc_interface_sym_mapping, gfc_interface_mapping): New structures. 1756 (gfc_init_interface_mapping, gfc_free_interface_mapping) 1757 (gfc_get_interface_mapping_charlen, gfc_get_interface_mapping_array) 1758 (gfc_set_interface_mapping_bounds, gfc_add_interface_mapping) 1759 (gfc_finish_interface_mapping, gfc_apply_interface_mapping_to_cons) 1760 (gfc_apply_interface_mapping_to_ref) 1761 (gfc_apply_interface_mapping_to_expr) 1762 (gfc_apply_interface_mapping): New functions. 1763 (gfc_conv_function_call): Evaluate the arguments before working 1764 out where the result should go. Make the null pointer case provide 1765 the string length in parmse.string_length. Cope with non-constant 1766 string lengths, using the above functions to evaluate such lengths. 1767 Use a temporary typespec; don't assign to sym->cl->backend_decl. 1768 Don't assign to se->string_length when returning a cached array 1769 descriptor. 1770 17712005-09-08 Richard Sandiford <richard@codesourcery.com> 1772 1773 PR fortran/19928 1774 * trans-array.c (gfc_conv_array_ref): Call gfc_advance_se_ss_chain 1775 after handling scalarized references. Make "indexse" inherit from 1776 "se" when handling AR_ELEMENTs. 1777 (gfc_walk_variable_expr): Add GFC_SS_SCALAR entries for each 1778 substring or scalar reference that follows an array section. 1779 * trans-expr.c (gfc_conv_variable): When called from within a 1780 scalarization loop, start out with "ref" pointing to the scalarized 1781 part of the reference. Don't call gfc_advance_se_ss_chain here. 1782 17832005-09-07 Richard Sandiford <richard@codesourcery.com> 1784 1785 PR fortran/23373 1786 * trans-expr.c (gfc_trans_pointer_assignment): Assign to a temporary 1787 descriptor if the rhs is not a null pointer or variable. 1788 17892005-09-07 Thomas Koenig <Thomas.Koenig@online.de> 1790 1791 PR fortran/20848 1792 * symbol.c(check_conflict): Add conflict for parameter/save, 1793 17942005-09-06 Richard Sandiford <richard@codesourcery.com> 1795 1796 PR fortran/19269 1797 * simplify.c (gfc_simplify_transpose): Set the result's typespec from 1798 the source, not the first element of the return value. 1799 18002005-09-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 1801 1802 PR fortran/23661 1803 * io.c (match_io): Correctly backup if PRINT followed by 1804 symbol which is not a namelist. Force blank between PRINT 1805 and namelist in free form. 1806 18072005-08-31 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1808 1809 PR fortran/20592 1810 * gfortran.h (gfc_option_t): Add flag_automatic. 1811 * invoke.texi: Document the -fno-automatic option. 1812 * lang.opt: Add a -fautomatic option. 1813 * options.c (gfc_init_options): Default for -fautomatic is on. 1814 (gfc_handle_option): Add handling of -fautomatic option. 1815 * resolve.c (gfc_resolve): When -fno-automatic is used, mark 1816 needed variables as SAVE. 1817 18182005-08-27 Erik Edelmann <erik.edelmann@iki.fi> 1819 1820 * trans-array.c (gfc_trans_deferred_array): Fix comments. 1821 18222005-08-27 Erik Schnetter <schnetter@aei.mpg.de> 1823 1824 * primary.c (match_charkind_name): Fix typo in comment leading to 1825 function. 1826 18272005-08-25 Erik Edelmann <eedelman@acclab.helsinki.fi> 1828 1829 PR fortran/20363 1830 * symbol.c (find_special): Remove. 1831 (build_sym, add_init_expr, attr_decl1): Remove calls to 1832 find_special in favor of calls to gfc_get_symbol. 1833 18342005-08-24 Thomas Koenig <Thomas.Koenig@online.de> 1835 1836 PR fortran/17758 1837 * gfortran.h (symbol_attribute): Add noreturn to the structure. 1838 (gfc_intrinsic_sym): Add noreturn to the structure. 1839 * intrinsic.c (make_noreturn): New function. 1840 (add_subroutines): Mark subroutines abort and exit as noreturn. 1841 (gfc_intrinsic_sub_interface): Copy noreturn attribute from 1842 isym to the resolved symbol. 1843 * trans-decl.c (gfc_get_extern_function_decl): Set function 1844 as VOLATILE (== noreturn) if the noreturn attribute is set. 1845 18462005-08-21 Steven G. Kargl <kargls@comcast.net> 1847 1848 * decl.c: Typo in comment. 1849 18502005-08-21 Steven G. Kargl <kargls@comcast.net> 1851 1852 * array.c: Bump GFC_MAX_AC_EXPAND from 100 to 65535. 1853 18542005-08-21 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 1855 1856 * gfortran.h (gfc_option_t): Remove source field. Add 1857 flag_d_lines field. 1858 (gfc_new_file): Remove arguments in prototype. 1859 (gfc_source_file): Make 'const char *'. 1860 * f95-lang.c (gfc_init): Use gfc_source_file instead of 1861 gfc_option.source. Call gfc_new_file without arguments. 1862 * invoke.texi: Document new options '-fd-lines-as-code' and 1863 '-fd-lines-as-comment'. 1864 * lang.opt: Add new options. Alphabetize. 1865 * options.c (gfc_init_options): Initialize gfc_source_file instead 1866 of gfc_option.source. Initialize gfc_option.flag_d_lines. 1867 (form_from_filename): Move here from scanner.c. Make 1868 'filename' argument 'const'. 1869 (gfc_post_options): Set gfc_source_file. Determine source form. 1870 Warn if 'd-lines*' are used in free form. 1871 * scanner.c (gfc_source_file): Constify. 1872 (skip_fixed_comments): Deal with d-lines. 1873 (get_file): Constify argument 'name'. 1874 (load_file): Constify argument 'filename'. 1875 (form_from_filename): Moved to options.c. 1876 (gfc_new_file): Remove arguments. Don't initialize 1877 gfc_source_file, don't determine source form. 1878 * trans-const.c (gfc_init_constants): Use gfc_source_file instead 1879 of gfc_option.source. 1880 18812005-08-19 Steven G. Kargl <kargls@comcast.net> 1882 1883 PR fortran/23065 1884 * gfortran.h: Remove PATH_MAX definition. 1885 * module.c (write_module, gfc_dump_module): Use alloca to allocate 1886 buffers. 1887 * scanner.c (gfc_release_include_path, form_from_filename): Ditto. 1888 18892005-08-16 Huang Chun <chunhuang73@hotmail.com> 1890 1891 * trans-expr.c (gfc_conv_power_op): Evaluate the expression before 1892 expand. 1893 18942005-08-14 Asher Langton <langton2@llnl.gov> 1895 1896 * parse.c (match): Enclose macro in do...while(0) and braces. 1897 18982005-08-14 Paul Thomas <pault@gcc.gnu.org> 1899 1900 PR fortran/21432. 1901 * gfortran.texi: Document PRINT namelist. 1902 19032005-08-14 Paul Thomas <pault@gcc.gnu.org> 1904 1905 PR fortran/21432. 1906 * io.c (match_io): Add code to implement PRINT namelist. 1907 19082005-08-14 Canqun Yang <canqun@nudt.edu.cn> 1909 1910 * trans-stmt.c (gfc_trans_arithmetic_if): Optimized in case of equal 1911 labels. 1912 19132005-08-11 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1914 Steven Bosscher <stevenb@suse.de> 1915 1916 PR libfortran/20006 1917 * gfortran.h: Add is_main_program member to symbol_attribute. 1918 * trans-decl: Add a gfor_fndecl_set_std tree. 1919 (gfc_build_builtin_function_decls): Create it. 1920 (gfc_generate_function_code): Add this call at the beginning of 1921 the main program. 1922 * trans.c (gfc_generate_code): Move main_program and attr. 1923 * trans.h: Add declaration for gfor_fndecl_set_std. 1924 19252005-08-10 Thomas Koenig <Thomas.Koenig@online.de> 1926 1927 PR libfortran/22143 1928 gfortran.h: Declare new function gfc_resolve_dim_arg. 1929 resolve.c: New function gfc_resolve_dim_arg. 1930 iresolve.c (gfc_resolve_all): Use gfc_resolve_dim_arg. 1931 (gfc_resolve_any): Likewise. 1932 (gfc_resolve_count): Likewise. 1933 (gfc_resolve_cshift): Likewise. If the kind of shift is less 1934 gfc_default_integer_kind, convert it to default integer type. 1935 (gfc_resolve_eoshift): Likewise. 1936 (gfc_resolve_maxloc): Use gfc_resolve_dim_arg. 1937 (gfc_resolve_maxval): Likewise. 1938 (gfc_resolve_minloc): Likewise. 1939 (gfc_resolve_minval): Likewise. 1940 (gfc_resolve_product): Likewise. 1941 (gfc_resolve_spread): Likewise. 1942 (gfc_resolve_sum): Likewise. 1943 19442005-08-09 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1945 1946 * check.c (gfc_check_ttynam_sub, gfc_check_isatty): Add check 1947 functions for new intrinsics TTYNAM and ISATTY. 1948 * intrinsic.c (add_functions, add_subroutines): Add new 1949 intrinsics. 1950 * intrinsic.h: Add prototypes for new check and resolve 1951 functions. 1952 * iresolve.c (gfc_resolve_isatty, gfc_resolve_ttynam_sub): New 1953 resolve functions for intrinsics TTYNAM and ISATTY. 1954 * gfortran.h (gfc_generic_isym_id): Add symbol for ISATTY. 1955 * trans-intrinsic.c: Add case for GFC_ISYM_ISATTY. 1956 19572005-08-09 Jakub Jelinek <jakub@redhat.com> 1958 1959 * scanner.c (preprocessor_line): Don't write beyond the end of flag 1960 buffer. 1961 19622005-08-07 Janne Blomqvist <jblomqvi@cc.hut.fi> 1963 1964 PR fortran/22390 1965 * dump-parse-tree.c (gfc_show_code_node): Add case for FLUSH. 1966 * gfortran.h: Add enums for FLUSH. 1967 * io.c (gfc_free_filepos,match_file_element,match_filepos): Modify 1968 comment appropriately. (gfc_match_flush): New function. 1969 * match.c (gfc_match_if): Add match for flush. 1970 * match.h: Add prototype. 1971 * parse.c (decode_statement): Add flush to 'f' case. 1972 (next_statement): Add case for flush. (gfc_ascii_statement): Likewise. 1973 * resolve.c (resolve_code): Add flush case. 1974 * st.c (gfc_free_statement): Add flush case. 1975 * trans-io.c: Add prototype for flush. 1976 (gfc_build_io_library_fndecls): Build fndecl for flush. 1977 (gfc_trans_flush): New function. 1978 * trans-stmt.h: Add prototype. 1979 * trans.c (gfc_trans_code): Add case for flush. 1980 19812005-08-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1982 1983 * primary.c (match_hollerith_constant): Fix typo. 1984 19852005-08-06 Kazu Hirata <kazu@codesourcery.com> 1986 1987 * decl.c, dump-parse-tree.c, gfortran.texi, intrinsic.texi, 1988 invoke.texi, resolve.c, trans-array.c, trans-array.h, 1989 trans-common.c, trans-expr.c, trans-io.c, trans.h: Fix 1990 comment/doc typos. Follow spelling conventions. 1991 19922005-08-06 Jakub Jelinek <jakub@redhat.com> 1993 1994 PR fortran/18833 1995 PR fortran/20850 1996 * primary.c (match_varspec): If equiv_flag, don't look at sym's 1997 attributes, call gfc_match_array_ref up to twice and don't do any 1998 substring or component processing. 1999 * resolve.c (resolve_equivalence): Transform REF_ARRAY into 2000 REF_SUBSTRING or nothing if needed. Check that substrings 2001 don't have zero length. 2002 20032005-08-05 Thomas Koenig <Thomas.Koenig@online.de> 2004 2005 * trans-expr.c (gfc_build_builtin_function_decls): Mark 2006 stop_numeric and stop_string as non-returning. 2007 20082005-08-04 Paul Brook <paul@codesourcery.com> 2009 2010 * trans-expr.c (gfc_conv_expr, gfc_conv_expr_type): Update comments. 2011 (gfc_conv_expr_lhs): Fix assertion. 2012 (gfc_conv_expr_val): Merge post block. Set se.expr to new value. 2013 20142005-08-02 David Edelsohn <edelsohn@gnu.org> 2015 2016 PR fortran/22491 2017 * expr.c (simplify_parameter_variable): Do not copy the subobject 2018 references if the expression value is a constant. 2019 2020 * expr.c (gfc_simplify_expr): Evaluate constant substrings. 2021 20222005-07-31 Jerry DeLisle <jvdelisle@verizon.net> 2023 2024 * intrinsic.texi: Add documentation for exponent, floor, and fnum and 2025 fix description of ceiling in index. 2026 20272005-07-31 Steven Bosscher <stevenb@suse.de> 2028 2029 * trans-decl.c (gfc_build_builtin_function_decls): Give the internal 2030 malloc functions the 'malloc' attribute. Give runtime_error the 2031 'noreturn' attribute. 2032 20332005-07-31 Steven Bosscher <stevenb@suse.de> 2034 2035 * trans-stmt.c (gfc_trans_goto): Jump to the known label instead 2036 of the assigned goto variable. 2037 20382005-07-29 Steven Bosscher <stevenb@suse.de> 2039 2040 * trans-types.h (gfc_array_range_type): Add missing GTY decl for this. 2041 20422005-07-28 Andrew Pinski <pinskia@physics.uc.edu> 2043 2044 * fortran/f95-lang.c (language_function): Remove 2045 named_labels, shadowed_labels, returns_value, returns_abnormally, 2046 warn_about_return_type, and extern_inline fields. 2047 (named_labels): Remove variable. 2048 (gfc_init_decl_processing): Remove setting of named_labels. 2049 20502005-07-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 2051 2052 PR fortran/22503 2053 * resolve.c (resolve_operator): Improve diagnostic for comparison 2054 of logicals with invalid operator. 2055 20562005-07-25 Jakub Jelinek <jakub@redhat.com> 2057 2058 PR fortran/20063 2059 * data.c (gfc_assign_data_value_range): Call 2060 create_character_initializer if last_ts is a character type. 2061 20622005-07-22 Manfred Hollstein <mh@suse.com> 2063 2064 * match.c (gfc_match_symbol): Fix uninitialised warnings. 2065 * matchexp.c (gfc_match_expr): Likewise. 2066 20672005-07-20 Giovanni Bajo <giovannibajo@libero.it> 2068 2069 Make CONSTRUCTOR use VEC to store initializers. 2070 * trans-array.c (gfc_build_null_descriptor, 2071 gfc_trans_array_constructor_value, gfc_conv_array_initializer): 2072 Update to cope with VEC in CONSTRUCTOR_ELTS. 2073 * trans-common.c (create_common): Likewise. 2074 * trans-expr.c (gfc_conv_structure): Likewise. 2075 * trans-stmt.c (gfc_trans_character_select): Use 2076 build_constructor_from_list instead of build_constructor. 2077 20782005-07-19 Paul Thomas <pault@gcc.gnu.org> 2079 2080 PR fortran/16940 2081 * resolve.c (resolve_symbol): A symbol with FL_UNKNOWN 2082 is matched against interfaces in parent namespaces. If there 2083 the symtree is set to point to the interface. 2084 20852005-07-16 David Edelsohn <edelsohn@gnu.org> 2086 2087 PR fortran/21730 2088 * decl.c (do_parm): Adjust character initializer to character length 2089 of symbol before assigning. 2090 20912005-07-14 Steve Ellcey <sje@cup.hp.com> 2092 2093 * trans-types.c (MAX_REAL_KINDS): Increase from 4 to 5. 2094 20952005-07-14 Jakub Jelinek <jakub@redhat.com> 2096 2097 * gfortran.h (MAX_ERROR_MESSAGE): Remove. 2098 (gfc_error_buf): Add allocated and index fields. Change message 2099 field from array to a pointer. 2100 * error.c (use_warning_buffer, error_ptr, warning_ptr): Remove. 2101 (cur_error_buffer): New variable. 2102 (error_char): Use cur_error_buffer->{message,index} instead of 2103 {warning,error}_{buffer.message,ptr}. Reallocate message buffer 2104 if too small. 2105 (gfc_warning, gfc_notify_std, gfc_error, gfc_error_now): Setup 2106 cur_error_buffer and its index rather than {warning,error}_ptr 2107 and use_warning_buffer. 2108 (gfc_warning_check, gfc_error_check): Don't print anything if 2109 message is NULL. 2110 (gfc_push_error): Allocate saved message with xstrdup. 2111 (gfc_pop_error): Free saved message with gfc_free. 2112 (gfc_free_error): New function. 2113 * primary.c (match_complex_constant): Call gfc_free_error if 2114 gfc_pop_error will not be called. 2115 * match.c (gfc_match_st_function): Likewise. 2116 2117 PR fortran/22417 2118 * scanner.c (preprocessor_line): Don't treat flag 3 as the start of a new 2119 file. Fix file left but not entered warning. 2120 21212005-07-14 Feng Wang <fengwang@nudt.edu.cn> 2122 Steven G. Kargl <kargls@comcast.net> 2123 2124 * array.c (resolve_character_array_constructor): Allocate gfc_charlen 2125 for the array and attach to namespace list for automatic deallocation. 2126 21272005-07-13 Andreas Schwab <schwab@suse.de> 2128 2129 * Make-lang.in (fortran/dependency.o): Depend on 2130 $(GFORTRAN_TRANS_DEPS). 2131 21322005-07-11 Jakub Jelinek <jakub@redhat.com> 2133 2134 * trans-stmt.c (gfc_trans_forall_loop): Clear maskindex before 2135 the outermost loop. 2136 (gfc_trans_assign_need_temp, gfc_trans_pointer_assign_need_temp, 2137 gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_2): 2138 Don't clear maskindexes here. 2139 21402005-07-08 Daniel Berlin <dberlin@dberlin.org> 2141 2142 * trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN 2143 is removed. 2144 21452005-07-08 Jakub Jelinek <jakub@redhat.com> 2146 2147 * primary.c (gfc_match_rvalue): Handle ENTRY the same way 2148 as FUNCTION. 2149 21502005-07-07 Jakub Jelinek <jakub@redhat.com> 2151 2152 * scanner.c (load_line): Add pbuflen argument, don't make 2153 buflen static. If maxlen == 0 or preprocessor_flag, 2154 don't truncate at buflen, but at maxlen. In xrealloc add 2155 1 byte at the end for the terminating '\0'. Don't fill 2156 with spaces up to buflen, but gfc_option.fixed_line_length. 2157 (load_file): Adjust load_line caller. Add line_len variable. 2158 2159 * scanner.c (preprocessor_line): Only set current_file->line when errors 2160 have not been encountered. Warn and don't crash if a file leave 2161 preprocessor line has no corresponding entering line. Formatting. 2162 21632005-07-07 Steven Bosscher <stevenb@suse.de> 2164 2165 * primary.c (match_hollerith_constant): Use int, not unsigned int, 2166 for the hollerith length. Fix indentation. 2167 21682005-07-07 Feng Wang <fengwang@nudt.edu.cn> 2169 2170 PR fortran/16531 2171 PR fortran/15966 2172 PR fortran/18781 2173 * arith.c (gfc_hollerith2int, gfc_hollerith2real, 2174 gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical): 2175 New functions. 2176 (eval_intrinsic): Don't evaluate if Hollerith constant arguments exist. 2177 * arith.h (gfc_hollerith2int, gfc_hollerith2real, 2178 gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical): 2179 Add prototypes. 2180 * expr.c (free_expr0): Free memery allocated for Hollerith constant. 2181 (gfc_copy_expr): Allocate and copy string if Expr is from Hollerith. 2182 (gfc_check_assign): Enable conversion from Hollerith to other. 2183 * gfortran.h (bt): Add BT_HOLLERITH. 2184 (gfc_expr): Add from_H flag. 2185 * intrinsic.c (gfc_type_letter): Return 'h' for BT_HOLLERITH. 2186 (add_conversions): Add conversions from Hollerith constant to other. 2187 (do_simplify): Don't simplify if Hollerith constant arguments exist. 2188 * io.c (resolve_tag): Enable array in FORMAT tag under GFC_STD_GNU. 2189 * misc.c (gfc_basetype_name): Return "HOLLERITH" for BT_HOLLERITH. 2190 (gfc_type_name): Print "HOLLERITH" for BT_HOLLERITH. 2191 * primary.c (match_hollerith_constant): New function. 2192 (gfc_match_literal_constant): Add match Hollerith before Integer. 2193 * simplify.c (gfc_convert_constant): Add conversion from Hollerith 2194 to other. 2195 * trans-const.c (gfc_conv_constant_to_tree): Use VIEW_CONVERT_EXPR to 2196 convert Hollerith constant to tree. 2197 * trans-io.c (gfc_convert_array_to_string): Get array's address and 2198 length to set string expr. 2199 (set_string): Deal with array assigned Hollerith constant and character 2200 array. 2201 * gfortran.texi: Document Hollerith constants as extention support. 2202 22032005-07-07 Feng Wang <fengwang@nudt.edu.cn> 2204 2205 PR fortran/22327 2206 * trans-array.c (gfc_trans_array_constructor_value): Fix index of data. 2207 22082005-07-07 Jakub Jelinek <jakub@redhat.com> 2209 2210 * decl.c (gfc_match_entry): Allow ENTRY without parentheses 2211 even in FUNCTIONs. 2212 22132005-07-03 Kazu Hirata <kazu@codesourcery.com> 2214 2215 * gfortran.texi, intrinsic.texi: Fix typos. 2216 * symbol.c: Fix a comment typo. 2217 22182005-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2219 2220 * error.c (error_printf, error_print): Use ATTRIBUTE_GCC_GFC. 2221 * gfortran.h (ATTRIBUTE_GCC_GFC): New. 2222 (gfc_warning, gfc_warning_now, gfc_error, gfc_error_now, 2223 gfc_fatal_error, gfc_internal_error, gfc_notify_std): Use 2224 ATTRIBUTE_GCC_GFC. 2225 22262005-07-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2227 2228 PR fortran/20842 2229 * io.c (match_dt_element): Do not allow END tag in PRINT or 2230 WRITE statement. 2231 22322005-07-02 Joseph S. Myers <joseph@codesourcery.com> 2233 2234 * lang.opt: Remove "." from end of help texts. 2235 22362005-07-01 Jerry DeLisle <jvdelisle@verizon.net> 2237 2238 * gfortran.texi: Fix typos and grammar. 2239 * invoke.texi: Fix typos and grammar. 2240 * intrinsic.texi: Add documentaion for eoshift, epsilon, etime, and 2241 exit. Fixed alignment of text for dtime syntax. Fixed a few line 2242 lengths. 2243 22442005-06-25 Jakub Jelinek <jakub@redhat.com> 2245 2246 * trans-stmt.c (gfc_trans_forall_1): Prefer to use smaller logical 2247 type than boolean_type_node. 2248 22492005-06-25 Kelley Cook <kcook@gcc.gnu.org> 2250 2251 * all files: Update FSF address in copyright headers. 2252 22532005-06-24 Jerry DeLisle <jvdelisle@verizon.net> 2254 2255 PR fortran/21915 2256 * gfortran.h: Add symbols for new intrinsic functions. 2257 * intrinsic.c: Add new functions acosh, asinh, and atanh. 2258 * intrinsic.h: Add prototypes for the new functions. 2259 * iresolve.c (gfc_resolve_acosh): New function. 2260 (gfc_resolve_asinh): New function. 2261 (gfc_resolve_atanh): New function. 2262 * mathbuiltins.def: Add defines. 2263 * simplify.c (gfc_simplify_acosh): New function. 2264 (gfc_simplify_asinh): New function. 2265 (gfc_simplify_atanh): New function. 2266 22672005-06-24 Feng Wang <fengwang@nudt.edu.cn> 2268 2269 * simplify.c (gfc_simplify_modulo): Don't clear before get result. 2270 22712005-06-22 Paul Brook <paul@codesourcery.com> 2272 2273 PR fortran/21034 2274 * symbol.c (gfc_is_var_automatic): New function. 2275 (save_symbol): Use it. 2276 22772005-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> 2278 Paul Thomas <pault@gcc.gnu.org> 2279 2280 PR fortran/22010 2281 Port from g95. 2282 * module.c (mio_namelist): New function. Correct to set 2283 namelist_tail and to give error on renaming namelist by use 2284 association. 2285 (mio_symbol): Call mio_namelist. 2286 22872005-06-19 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2288 2289 * gfortran.h: Add flag_backslash compile-time option. 2290 * lang.opt: Add support for -fbackslash option. 2291 * options.c: Likewise. 2292 * primary.c: Implement behavior for -fno-backslash. 2293 * invoke.texi: Add doc for -fbackslash option. 2294 * gfortran.texi: Remove mention of -fno-backslash as a 2295 possible extension. 2296 22972005-06-20 Steven G. Kargl <kargls@comcast.net> 2298 (port from g95) 2299 2300 PR fortran/21257 2301 * match.c (gfc_match_label): Detect duplicate labels. 2302 2303 23042005-06-20 Erik Edelmann <erik.edelmann@iki.fi> 2305 2306 * intrinsic.c (check_intrinsic_standard): Fix spelling error 2307 in a warning message. 2308 23092005-06-18 Erik Edelman <eedelman@acclab.helsinki.fi> 2310 Steven G. Kargl <kargls@comast.net> 2311 2312 PR fortran/19926 2313 * primary.c (gfc_match_rvalue): expr_type can be EXPR_CONSTANT 2314 for an array; check that sym->as is NULL. 2315 2316 23172005-06-18 Steven G. Kargl <kargls@comcast.net> 2318 2319 * intrinsic.c (gfc_intrinsic_func_interface): Enable errors for generic 2320 functions whose simplification routine return FAILURE. 2321 23222005-06-13 Geoffrey Keating <geoffk@apple.com> 2323 2324 * Make-lang.in (fortran.install-man): Doesn't depend on installdirs. 2325 (rule for installing f95.1 manpage): Does depend on installdirs. 2326 23272005-06-13 Jakub Jelinek <jakub@redhat.com> 2328 2329 PR fortran/22038 2330 * trans-stmt.c (gfc_trans_forall_loop): Only increment maskindex 2331 in the innermost loop. 2332 2333 * trans-expr.c (gfc_conv_function_call): Return int instead of 2334 void. Use a local variable for has_alternate_specifier and 2335 return it. Avoid modification of function type's return value 2336 in place, since it may be shared. 2337 * trans.h (has_alternate_specifier): Remove. 2338 (gfc_conv_function_call): Change return type. 2339 * trans-stmt.c (has_alternate_specifier): Remove. 2340 (gfc_trans_call): Add a local has_alternate_specifier variable, 2341 set it from gfc_conv_function_call return value. 2342 23432005-06-12 Richard Henderson <rth@redhat.com> 2344 2345 * trans-array.c (gfc_conv_descriptor_data_get): Rename from 2346 gfc_conv_descriptor_data. Cast the result to the DATAPTR type. 2347 (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): New. 2348 (gfc_trans_allocate_array_storage): Use them. 2349 (gfc_array_allocate, gfc_array_deallocate): Likewise. 2350 (gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor): Likewise. 2351 (gfc_trans_deferred_array): Likewise. 2352 * trans-expr.c (gfc_conv_function_call): Likewise. 2353 (gfc_trans_subcomponent_assign): Likewise. 2354 (gfc_trans_pointer_assignment): Likewise. 2355 * trans-intrinsic.c (gfc_conv_allocated): Likewise. 2356 * trans-types.c (gfc_array_descriptor_base): New. 2357 (gfc_get_element_type): Use GFC_TYPE_ARRAY_DATAPTR_TYPE. 2358 (gfc_get_array_descriptor_base): Break out from ... 2359 (gfc_get_array_type_bounds): ... here. Create type variants. 2360 * trans-array.h (gfc_conv_descriptor_data_get): Declare. 2361 (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): Declare. 2362 23632005-06-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2364 2365 * trans-expr.c (gfc_conv_variable): POINTER results don't need f2c 2366 calling conventions. Look at sym instead of sym->result. 2367 * trans-types.c (gfc_sym_type): Remove workaround for frontend bug. 2368 Remove condition which is always false with workaround removed. 2369 (gfc_return_by_reference): Always look at sym, never at sym->result. 2370 23712005-06-11 Steven G. Kargl <kargls@comcast.net> 2372 2373 PR fortran/17792 2374 PR fortran/21375 2375 * trans-array.c (gfc_array_deallocate): pstat is new argument 2376 (gfc_array_allocate): update gfc_array_deallocate() call. 2377 (gfc_trans_deferred_array): ditto. 2378 * trans-array.h: update gfc_array_deallocate() prototype. 2379 * trans-decl.c (gfc_build_builtin_function_decls): update declaration 2380 * trans-stmt.c (gfc_trans_deallocate): Implement STAT= feature. 2381 23822005-06-07 Jerry DeLisle <jvdelisle@verizon.net> 2383 2384 * intrinsic.texi: Add documentation for dcmplx, digits, 2385 dim, idim, ddim, dot_product, dprod, dreal, and dtime. 2386 23872005-06-05 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2388 2389 PR fortran/21912 2390 * trans-array.c (gfc_trans_array_constructor_value): Slightly reorder. 2391 Generate correct exit condition in case of negative steps in 2392 implied-do loops. 2393 2394 * invoke.texi: Fix description of flags required for compatibility 2395 with g77. 2396 23972005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2398 Erik Schnetter <schnetter@aei.mpg.de> 2399 2400 PR fortran/19195 2401 * trans.c (gfc_get_backend_locus): Remove unnecessary adjustment, 2402 remove FIXME comment. 2403 24042005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2405 2406 * match.c (match_forall_iterator): Don't immediately give error if '=' 2407 is not followed by an expression. 2408 24092005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2410 Erik Edelmann <erik.edelmann@iki.fi> 2411 2412 * array.c (gfc_match_array_constructor): Disallow empty array 2413 constructor. 2414 24152005-06-03 Jerry DeLisle <jvdelisle@verizon.net> 2416 2417 * fortran/intrinsic.texi: Add documentation for 2418 command_argument_count, conjg, dconjg, count, 2419 cpu_time, cshift, date_and_time, dble, dfloat. 2420 24212005-06-01 Roger Sayle <roger@eyesopen.com> 2422 2423 * intrinsic.c (add_conv): No longer take a "simplify" argument as 2424 its always gfc_convert_constant, instead take a "standard" argument. 2425 (add_conversions): Change all existing calls of add_conv to pass 2426 GFC_STD_F77 as appropriate. Additionally, if we're allowing GNU 2427 extensions support integer-logical and logical-integer conversions. 2428 (gfc_convert_type_warn): Warn about use the use of these conversions 2429 as a extension when appropriate, i.e. with -pedantic. 2430 * simplify.c (gfc_convert_constant): Add support for integer to 2431 logical and logical to integer conversions, using gfc_int2log and 2432 gfc_log2int. 2433 * arith.c (gfc_log2int, gfc_int2log): New functions. 2434 * arith.h (gfc_log2int, gfc_int2log): Prototype here. 2435 * gfortran.texi: Document this new GNU extension. 2436 24372005-06-01 Paul Thomas <pault@gcc.gnu.org> 2438 2439 * fortran/trans-expr.c (gfc_conv_variable): Clean up bracketting. 2440 * fortran/trans-expr.c (gfc_conv_function_call): Insert spaces. 2441 Correct comments and replace convert of integer_one_node with 2442 build_int_cst. 2443 24442005-06-01 Jakub Jelinek <jakub@redhat.com> 2445 2446 PR fortran/21729 2447 * resolve.c (resolve_contained_fntype): Use sym->attr.untyped 2448 to avoid giving error multiple times. 2449 (resolve_entries): Don't error about BT_UNKNOWN here. 2450 (resolve_unknown_f): Capitalize IMPLICIT for consistency. 2451 (resolve_fntype): New function. 2452 (gfc_resolve): Call resolve_fntype. 2453 24542005-06-01 Feng Wang <fengwang@nudt.edu.cn> 2455 2456 PR fortran/20883 2457 * fortran/io.c (resolve_tag): Fix error message. 2458 24592005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2460 2461 * fortran/trans-decl.c: Don't include errors.h. 2462 * fortran/Make-lang.in: Updates dependencies. 2463 24642005-05-31 Paul Thomas <pault@gcc.gnu.org> 2465 2466 PR fortran/18109 2467 PR fortran/18283 2468 PR fortran/19107 2469 * fortran/trans-array.c (gfc_conv_expr_descriptor): Obtain the 2470 string length from the expression typespec character length value 2471 and set temp_ss->stringlength and backend_decl. Obtain the 2472 tree expression from gfc_conv_expr rather than gfc_conv_expr_val. 2473 Dereference the expression to obtain the character. 2474 * fortran/trans-expr.c (gfc_conv_component_ref): Remove the 2475 dereference of scalar character pointer structure components. 2476 * fortran/trans-expr.c (gfc_trans_subarray_assign): Obtain the 2477 string length for the structure component from the component 2478 expression. 2479 24802005-05-30 Roger Sayle <roger@eyesopen.com> 2481 2482 * gfortran.h (GFC_STD_LEGACY): New "standard" macro. Reindent. 2483 * options.c (gfc_init_options): By default, allow legacy extensions 2484 but warn about them. 2485 (gfc_post_options): Make -pedantic warn about legacy extensions 2486 even with -std=legacy. 2487 (gfc_handle_option): Make -std=gnu follow the default behaviour 2488 of warning about legacy extensions, but allowing them. Make the 2489 new -std=legacy accept everything and warn about nothing. 2490 * lang.opt (std=legacy): New F95 command line option. 2491 * invoke.texi: Document both -std=f2003 and -std=legacy. 2492 * gfortran.texi: Explain the two types of extensions and document 2493 how they are affected by the various -std= command line options. 2494 24952005-05-30 Kazu Hirata <kazu@cs.umass.edu> 2496 2497 * trans-expr.c: Remove trailing ^M. 2498 2499 * trans-expr.c: Fix comment typos. 2500 25012005-05-29 Paul Thomas <pault@gcc.gnu.org> 2502 2503 PR fortran/16939 2504 PR fortran/17192 2505 PR fortran/17193 2506 PR fortran/17202 2507 PR fortran/18689 2508 PR fortran/18890 2509 * fortran/trans-array.c (gfc_conv_resolve_dependencies): Add string 2510 length to temp_ss for character pointer array assignments. 2511 * fortran/trans-expr.c (gfc_conv_variable): Correct errors in 2512 dereferencing of characters and character pointers. 2513 * fortran/trans-expr.c (gfc_conv_function_call): Provide string 2514 length as return argument for various kinds of handling of return. 2515 Return a char[]* temporary for character pointer functions and 2516 dereference the temporary upon return. 2517 25182005-05-29 Janne Blomqvist <jblomqvi@vipunen.hut.fi> 2519 Steven G. Kargl <kargls@comcast.net> 2520 2521 fortran/PR20846 2522 * io.c (gfc_match_inquire): Implement constraints on UNIT and FILE usage. 2523 25242005-05-29 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2525 2526 PR libfortran/20006 2527 * io.c (format_item_1): Add check and extension warning for 2528 $ edit descriptor. 2529 25302005-05-28 Steven G. Kargl <kargls@comcast.net> 2531 2532 * arith.c (gfc_arith_init_1): Fix off by one problem; 2533 (gfc_check_integer_range): Chop extra bits in subnormal numbers. 2534 25352005-05-28 Jerry DeLisle <jvdelisle@verizon.net> 2536 Steven G. Kargl <kargls@comcast.net> 2537 2538 * intrinsic.texi: added documentation for BIT_SIZE, BTEST, CHAR, CEILING 2539 and CMPLX 2540 25412005-05-27 Steven G. Kargl <kargls@comcast.net> 2542 2543 * trans-array.c (gfc_trans_deferred_array): Use build_int_cst to force 2544 like types in comparsion. 2545 25462005-05-26 Kazu Hirata <kazu@cs.umass.edu> 2547 2548 * data.c, parse.c, trans-array.c, trans-decl.c, 2549 trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c, 2550 trans.h: Fix comment typos. Follow spelling conventions. 2551 25522005-05-22 Roger Sayle <roger@eyesopen.com> 2553 2554 * gfortran.texi: Document some more GNU extensions. 2555 25562005-05-22 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2557 2558 * error.c (gfc_warning): Fix typo in comment. 2559 25602005-05-18 Thomas Koenig <Thomas.Koenig@online.de> 2561 2562 PR libfortran/21127 2563 * fortran/iresolve.c (gfc_resolve_reshape): Add 2564 gfc_type_letter (BT_COMPLEX) for complex to 2565 to resolved function name. 2566 25672005-05-18 Erik Edelmann <erik.edelmann@iki.fi> 2568 2569 * array.c (gfc_match_array_constructor): Support [ ... ] 2570 style array constructors. 2571 25722005-05-18 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2573 2574 * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_TRUNC 2575 and BUILT_IN_TRUNCF instead of BUILT_IN_FLOOR and BUILT_IN_FLOORF. 2576 * trans-intrinsic.c (build_fix_expr): Change 'op' argument 2577 to correct enum type. 2578 (gfc_conv_intrinsic_aint): Likewise. Clarify comment in front of 2579 function. Add default case to switch, deal with FIX_TRUNC_EXPR 2580 instead of FIX_FLOOR_EXPR. 2581 25822005-05-18 Feng Wang <fengwang@nudt.edu.cn> 2583 2584 PR fortran/20954 2585 * trans-const.c (gfc_conv_const_charlen): Use gfc_charlen_type_node to 2586 build character length. 2587 25882005-05-17 Zdenek Dvorak <dvorakz@suse.cz> 2589 2590 * trans-types.c (gfc_array_range_type): New variable. 2591 (gfc_init_types): Initialize gfc_array_range_type. 2592 (gfc_get_array_type_bounds): Use gfc_array_range_type. 2593 25942005-05-17 Jakub Jelinek <jakub@redhat.com> 2595 2596 PR fortran/15080 2597 * trans-stmt.c (generate_loop_for_temp_to_lhs): Remove SIZE and COUNT2 2598 arguments. If LSS is gfc_ss_terminator, increment COUNT1 by 1, instead 2599 of incrementing COUNT2 and using COUNT1+COUNT2 increment COUNT1 and use 2600 just that as index. 2601 (generate_loop_for_rhs_to_temp): Likewise. 2602 (compute_overall_iter_number): Add INNER_SIZE_BODY argument. 2603 It non-NULL, add it to body. 2604 (allocate_temp_for_forall_nest_1): New function, split from 2605 allocate_temp_for_forall_nest. 2606 (allocate_temp_for_forall_nest): Add INNER_SIZE_BODY argument, 2607 propagate it down to compute_overall_iter_number. Use 2608 allocate_temp_for_forall_nest_1. 2609 (gfc_trans_assign_need_temp): Remove COUNT2. Call 2610 compute_inner_temp_size into a new stmtblock_t. Adjust calls to 2611 allocate_temp_for_forall_nest, generate_loop_for_rhs_to_temp 2612 and generate_loop_for_temp_to_lhs. 2613 (gfc_trans_pointer_assign_need_temp): Adjust calls to 2614 allocate_temp_for_forall_nest. 2615 (gfc_evaluate_where_mask): Call compute_inner_temp_size into a new 2616 stmtblock_t. Call compute_overall_iter_number just once, then 2617 allocate_temp_for_forall_nest_1 twice with the same size. 2618 Initialize mask indexes if nested_forall_info != NULL. 2619 (gfc_trans_where_2): Initialize mask indexes before calling 2620 gfc_trans_nested_forall_loop. 2621 26222005-05-15 Feng Wang <fengwang@nudt.edu.cn> 2623 Jerry DeLisle <jvdelisle@verizon.net> 2624 2625 PR fortran/17432 2626 * trans-stmt.c (gfc_trans_label_assign): fix pointer type, to 2627 resolve ICE on assign of format label. 2628 * trans-io.c (set_string): add fold-convert to properly 2629 handle assigned format label in write. 2630 26312005-05-13 Paul Brook <paul@codesourcery.com> 2632 2633 * trans-stmt.c (gfc_trans_forall_1): Fix comment typo. 2634 26352005-05-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2636 2637 * trans-types.c (gfc_is_nodesc_array): Remove redundant check. 2638 26392005-05-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2640 2641 PR fortran/21260 2642 * io.c (check_format): Look for literal characters inside 2643 hollerith constant. 2644 26452005-05-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2646 2647 * resolve.c (resolve_symbol): Copy 'pointer' and 'dimension' 2648 attribute from result symbol to function symbol. 2649 * trans-expr.c (gfc_conv_function_call): Look at sym->attr.dimension 2650 instead of sym->result->attr.dimension. 2651 26522005-05-10 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2653 2654 PR fortran/20178 2655 * gfortran.h (gfc_option): Add flag_f2c. 2656 * invoke.texi: Document '-ff2c' command line option. Adapt 2657 documentation for '-fno-second-underscore' and '-fno-underscoring'. 2658 * lang.opt (ff2c): New entry. 2659 * options.c (gfc-init_options): Set default calling convention 2660 to -fno-f2c. Mark -fsecond-underscore unset. 2661 (gfc_post_options): Set -fsecond-underscore if not explicitly set 2662 by user. 2663 (handle_options): Set gfc_option.flag_f2c according to requested 2664 calling convention. 2665 * trans-decl.c (gfc_get_extern_function_decl): Use special f2c 2666 intrinsics where necessary. 2667 (gfc_trans_deferred_vars): Change todo error to assertion. 2668 * trans-expr.c (gfc_conv_variable): Dereference access 2669 to hidden result argument. 2670 (gfc_conv_function_call): Add hidden result argument to argument 2671 list if f2c calling conventions requested. Slightly restructure 2672 tests. Convert result of default REAL function to requested type 2673 if f2c calling conventions are used. Dereference COMPLEX result 2674 if f2c cc are used. 2675 * trans-types.c (gfc_sym_type): Return double for default REAL 2676 function if f2c cc are used. 2677 (gfc_return_by_reference): Slightly restructure logic. Return 2678 COMPLEX by reference depending on calling conventions. 2679 (gfc_get_function_type): Correctly make hidden result argument a 2680 pass-by-reference argument for COMPLEX. Remove old code which does 2681 this for derived types. 2682 26832005-05-09 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2684 2685 * match.c (gfc_match_return): Only require space after keyword when 2686 it is obligatory. Only give stdwarn to after matching is successful. 2687 * dump-parse-tree.c (gfc_show_symbol): Deal with alternate returns. 2688 26892005-05-08 Kazu Hirata <kazu@cs.umass.edu> 2690 2691 * intrinsic.texi: Fix typos. 2692 26932005-05-07 Steven G. Kargl <kargls@comcast.net> 2694 2695 * intrinsic.texi: Document ASSOCIATED and ATAN2. Update Bessel function 2696 description to include information about scalar arguments. 2697 26982005-05-03 Kazu Hirata <kazu@cs.umass.edu> 2699 2700 * Make-lang.in, dump-parse-tree.c, invoke.texi, lang.opt, 2701 match.h, trans-array.h: Update copyright. 2702 27032005-04-29 Tom Tromey <tromey@redhat.com> 2704 2705 * f95-lang.c (poplevel): Updated for change to build_block. 2706 27072005-04-29 Jakub Jelinek <jakub@redhat.com> 2708 2709 PR fortran/13082 2710 PR fortran/18824 2711 * trans-expr.c (gfc_conv_variable): Handle return values in functions 2712 with alternate entry points. 2713 * resolve.c (resolve_entries): Remove unnecessary string termination 2714 after snprintf. Set result of entry master. 2715 If all entries have the same type, set entry master's type 2716 to that common type, otherwise set mixed_entry_master attribute. 2717 * trans-types.c (gfc_get_mixed_entry_union): New function. 2718 (gfc_get_function_type): Use it for mixed_entry_master functions. 2719 * gfortran.h (symbol_attribute): Add mixed_entry_master bit. 2720 * decl.c (gfc_match_entry): Set entry->result properly for 2721 function ENTRY. 2722 * trans-decl.c (gfc_get_symbol_decl): For entry_master, skip over 2723 __entry argument. 2724 (build_entry_thunks): Handle return values in entry thunks. 2725 Clear BT_CHARACTER's ts.cl->backend_decl, so that it is not 2726 shared between multiple contexts. 2727 (gfc_get_fake_result_decl): Use DECL_ARGUMENTS from 2728 current_function_decl instead of sym->backend_decl. Skip over 2729 entry master's entry id argument. For mixed_entry_master entries or 2730 their results, return a COMPONENT_REF of the fake result. 2731 (gfc_trans_deferred_vars): Don't warn about missing return value if 2732 at least one entry point uses RESULT. 2733 (gfc_generate_function_code): For entry master returning 2734 CHARACTER, copy ts.cl->backend_decl to all entry result syms. 2735 * trans-array.c (gfc_trans_dummy_array_bias): Don't consider return 2736 values optional just because they are in entry master. 2737 27382005-04-29 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2739 2740 * gfortran.h (gfc_namespace): Add seen_implicit_none field, 2741 Tobias forgot this in previous commit. 2742 27432005-04-29 Paul Brook <paul@codesourcery.com> 2744 2745 * trans-expr.c (gfc_conv_expr_present): Fix broken assert. Update 2746 comment. 2747 27482005-04-29 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2749 2750 * gfortran.h (gfc_namespace): Add seen_implicit_none field. 2751 * symbol.c (gfc_set_implicit_none): Give error if there's a previous 2752 IMPLICIT NONE, set seen_implicit_none. 2753 (gfc_merge_new_implicit): Error if there's an IMPLICIT NONE statement. 2754 27552005-04-28 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2756 2757 * gfortran.h (gfc_gsymbol): Make name a const char *. 2758 * symbol.c (gfc_get_gsymbol): Allocate gsymbol name via 2759 gfc_get_string. 2760 27612005-04-28 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2762 2763 PR fortran/20865 2764 * resolve.c (resolve_actual_arglist): Issue an error if a statement 2765 functions is used as actual argument. 2766 27672005-04-27 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2768 2769 PR fortran/21177 2770 * interface.c (compare_parameter): Ignore type for EXPR_NULL 2771 only if type is BT_UNKNOWN. 2772 27732005-04-25 Paul Brook <paul@codesourcery.com> 2774 Steven G. Kargl <kargls@comcast.net> 2775 2776 PR fortran/20879 2777 * check.c (gfc_check_ichar_iachar): New function. 2778 * instinsic.h (gfc_check_ichar_iachar): Add prototype. 2779 * intrinsic.c (add_functions): Use it. 2780 * primary.c (match_varspec, gfc_match_rvalue): Clear incorrect 2781 character expression lengths. 2782 27832005-04-24 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2784 2785 PR fortran/20059 2786 * trans-common.c (translate_common): Cast offset and 2787 common_segment->offset to type int for warning message. 2788 27892005-04-23 DJ Delorie <dj@redhat.com> 2790 2791 * trans-decl.c: Adjust warning() callers. 2792 27932005-04-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2794 2795 * trans-const.c (gfc_conv_mpfr_to_tree): Use hexadecimal string as 2796 intermediate representation. Fix typo in comment. 2797 27982005-04-21 Steven G. Kargl <kargls@comcast.net> 2799 2800 * trans-const.c (gfc_conv_mpfr_to_tree): Remove unneeded computation; 2801 simplify logic; Add a gcc_assert. 2802 28032005-04-19 Steven G. Kargl <kargls@comcast.net> 2804 2805 * trans-const.c (gfc_conv_mpz_to_tree): Fix comment. 2806 28072005-04-19 Arnaud Desitter <arnaud.desitter@ouce.ox.ac.uk> 2808 Steven G. Kargl <kargls@comcast.net> 2809 2810 * invoke.texi: Update -Waliasing description 2811 28122005-04-19 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2813 2814 PR fortran/16861 2815 * resolve.c (resolve_variable): If e->symtree is not set, this 2816 ought to be a FAILURE, and not a segfault. 2817 28182005-04-17 Paul Thomas <pault@gcc.gnu.org> 2819 2820 PR fortran/17472 2821 PR fortran/18209 2822 PR fortran/18396 2823 PR fortran/19467 2824 PR fortran/19657 2825 * fortran/trans-io.c (gfc_build_io_library_fndecls): Create 2826 declaration for st_set_nml_var and st_set_nml_var_dim. Remove 2827 declarations of old namelist functions. 2828 (build_dt): Simplified call to transfer_namelist_element. 2829 (nml_get_addr_expr): Generates address expression for start of 2830 object data. New function. 2831 (nml_full_name): Qualified name for derived type components. New 2832 function. 2833 (transfer_namelist_element): Modified for calls to new functions 2834 and improved derived type handling. 2835 28362005-04-17 Richard Guenther <rguenth@gcc.gnu.org> 2837 2838 * scanner.c (gfc_next_char_literal): Reset truncation flag 2839 for lines ending in a comment for both fixed and free form. 2840 (load_line): Do not set truncated flag if only truncating 2841 the EOL marker. 2842 28432005-04-15 Richard Guenther <rguenth@gcc.gnu.org> 2844 2845 PR fortran/14569 2846 * gfortran.h (gfc_linebuf): Add truncated field. 2847 * parse.c (next_statement): Handle warning for truncated 2848 lines. 2849 * scanner.c (load_line): Return if line was truncated. 2850 No longer warn for truncated lines. Remove unused parameters. 2851 (load_file): Store load_line return value to linebuf. 2852 (gfc_error_recovery): Do not advance line at the end. 2853 28542005-04-14 Steven G. Kargl <kargls@comcast.net> 2855 2856 * gfortran.h (gfc_real_info): Add subnormal struct member. 2857 * arith.c (gfc_arith_init_1): Set it. 2858 (gfc_check_real_range): Use it. 2859 * simplify.c (gfc_simplify_nearest): Fix nearest(0.,1.). 2860 28612005-04-12 Kazu Hirata <kazu@cs.umass.edu> 2862 2863 * simplify.c: Fix a comment typo. 2864 28652005-04-11 Richard Sandiford <rsandifo@redhat.com> 2866 2867 * lang.opt: Refer to the GCC internals documentation instead of c.opt. 2868 28692005-04-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2870 2871 * simplify.c (gfc_simplify_nearest): Overhaul. 2872 28732005-04-10 Kazu Hirata <kazu@cs.umass.edu> 2874 2875 * interface.c: Fix a comment typo. 2876 28772005-04-10 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2878 2879 * match.c (match_arithmetic_if): Arithmetic IF is obsolete in 2880 Fortran 95. 2881 28822005-04-09 Steven G. Kargl <kargls@comcast.net> 2883 2884 * simplify.c (gfc_simplify_anint): Use mpfr_round() 2885 (gfc_simplify_dnint): ditto. 2886 (gfc_simplify_nint): ditto. 2887 28882005-04-09 Andrew Pinski <pinskia@physics.uc.edu> 2889 2890 PR fortran/13257 2891 * io.c (check_format): Allow an optional comma 2892 between descriptors. 2893 28942005-04-09 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2895 2896 * match.c (match_arithmetic_if): Remove gfc_ prefix and correct 2897 comment according to GNU coding style. 2898 (gfc_match_if): Remove gfc_ prefix in call to 2899 match_arithmetic_if. 2900 29012005-04-08 Diego Novillo <dnovillo@redhat.com> 2902 2903 * match.c (gfc_match_arithmetic_if): Declare static. 2904 29052005-04-08 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2906 2907 PR fortran/17229 2908 * match.c (gfc_match_arithmetic_if): New function to match an 2909 arithmetic IF statement. 2910 (gfc_match_if): Use gfc_match_arithmetic_if to match an 2911 arithmetic IF statement embedded in a simple IF statement. 2912 29132005-04-07 Steven G. Kargl <kargls@comcast.net> 2914 2915 * simplify.c (gfc_simplify_exponent): Fix exponent(tiny(x)) 2916 29172005-04-06 Steven G. Kargl <kargls@comcast.net> 2918 2919 * invoke.texi: Remove documentation of -std=f90 2920 29212005-04-06 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2922 2923 * expr.c (gfc_check_assign): Don't allow NULL as rhs in a 2924 non-pointer assignment. 2925 29262005-04-05 Feng Wang <fengwang@nudt.edu.cn> 2927 2928 PR fortran/15959 2929 PR fortran/20713 2930 2931 * array.c (resolve_character_array_constructor): New function. Set 2932 constant character array's character length. 2933 (gfc_resolve_array_constructor): Use it. 2934 * decl.c (add_init_expr_to_sym): Set symbol and initializer character 2935 length. 2936 (gfc_set_constant_character_len): New function. Set constant character 2937 expression according the given length. 2938 * match.h (gfc_set_constant_character_len): Add prototype. 2939 29402005-04-04 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2941 2942 * intrinsic.texi: BES?? functions are not in the f95 standard. 2943 29442005-04-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2945 2946 * intrinsic.texi: Document COS, EXP, LOG, LOG10, SIN, SQRT, TAN. 2947 29482005-04-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2949 2950 * intrinsic.texi: Document BESJ0, BESJ1, BESJN, BESY0, BESY1, 2951 BESYN, ATAN, COSH, ERF, ERC, SINH, TANH. 2952 29532005-04-02 Steven G. Kargl <kargls@comcast.net> 2954 2955 * intrinsic.texi: Document ALLOCATED, ANINT, ANY, ASIN; fix typos 2956 29572005-04-01 Kazu Hirata <kazu@cs.umass.edu> 2958 2959 * decl.c, f95-lang.c, interface.c, module.c, trans-stmt.c, 2960 trans.h: Fix comment typos. 2961 29622005-03-29 Steven G. Kargl <kargls@comcast.net> 2963 2964 * gfortran.h (option_t): Change d8, i8, r8 to flag_default_double, 2965 flag_default_integer, flag_default_real 2966 * invoke.texi: Update documentation 2967 * lang.opt: Remove d8, i8, r8 definitions; Add fdefault-double-8 2968 fdefault-integer-8, and fdefault-real-8 definitions. 2969 * options.c (gfc_init_options): Set option defaults 2970 (gfc_handle_option): Handle command line options. 2971 * trans-types.c (gfc_init_kinds): Use options. 2972 29732005-03-29 Keith Besaw <kbesaw@us.ibm.com> 2974 2975 * f95-lang.c (builtin_function): Process the attrs parameter 2976 and apply the "const" attribute to the builtin if found. 2977 29782005-03-27 Steven G. Kargl <kargls@comcast.net> 2979 2980 * intrinsic.texi: Document AIMAG, AINT, ALL 2981 29822005-03-26 Steven G. Kargl <kargls@comcast.net> 2983 2984 * arith.c (check_result): Fix illogical logic. 2985 29862005-03-26 Canqun Yang <canqun@nudt.edu.cn> 2987 2988 * trans-common.c (create_common): Build RECORD_NODE for common blocks 2989 contain no equivalence objects. 2990 (add_equivalences): New argument saw_equiv. 2991 (trans_common): New local variable saw_equiv. 2992 (finish_equivalences): Add a local variable dummy, Always pass true 2993 for the 3rd parameter to create_common. 2994 29952005-03-25 Steven G. Kargl <kargls@comcast.net> 2996 2997 * intrinsic.texi: Fix "make dvi" 2998 29992005-03-24 Steven G. Kargl <kargls@comcast.net> 3000 3001 * intrinsic.texi: New file. 3002 * gfortran.texi: Include it; white space change; fix typo. 3003 30042005-03-23 Joseph S. Myers <joseph@codesourcery.com> 3005 3006 * f95-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove. 3007 30082005-03-23 Steven Bosscher <stevenb@suse.de> 3009 3010 * convert.c (convert): Replace fold (buildN (...)) with fold_buildN. 3011 * trans-array.c (gfc_trans_allocate_array_storage, 3012 gfc_trans_allocate_temp_array gfc_trans_array_constructor_value, 3013 gfc_conv_array_index_ref, gfc_trans_array_bound_check, 3014 gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref, 3015 gfc_conv_array_ref, gfc_trans_preloop_setup, gfc_conv_ss_startstride, 3016 gfc_conv_loop_setup, gfc_array_init_size, gfc_trans_array_bounds, 3017 gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias, 3018 gfc_conv_expr_descriptor): Likewise. 3019 * trans-expr.c (gfc_conv_powi, gfc_conv_string_tmp, 3020 gfc_conv_concat_op, gfc_conv_expr_op): Likewise. 3021 * trans-intrinsic.c (build_round_expr, gfc_conv_intrinsic_bound, 3022 gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_sign, 3023 gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval, 3024 gfc_conv_intrinsic_btest, gfc_conv_intrinsic_bitop, 3025 gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits, 3026 gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_ishftc, 3027 gfc_conv_intrinsic_merge, prepare_arg_info, 3028 gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_repeat): Likewise. 3029 * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do, gfc_trans_do_while, 3030 gfc_trans_forall_loop, gfc_do_allocate, generate_loop_for_temp_to_lhs, 3031 generate_loop_for_rhs_to_temp, compute_inner_temp_size, 3032 allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp, 3033 gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_assign): 3034 Likewise. 3035 * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Likewise. 3036 * trans.c (gfc_add_modify_expr): Likewise. 3037 30382005-03-22 Francois-Xavier Coudert <coudert@clipper.ens.fr> 3039 3040 * check.c (gfc_check_chdir, gfc_check_chdir_sub, gfc_check_kill, 3041 gfc_check_kill_sub, gfc_check_link, gfc_check_link_sub, 3042 gfc_check_symlnk, gfc_check_symlnk_sub, gfc_check_rename, 3043 gfc_check_rename_sub, gfc_check_sleep_sub, gfc_check_gerror, 3044 gfc_check_getlog, gfc_check_hostnm, gfc_check_hostnm_sub, 3045 gfc_check_perror): new functions to check newly implemented 3046 g77 intrinsics. 3047 * gfortran.h: adding symbols for new intrinsics. 3048 * intrinsic.c (add_functions): adding new intrinsics. 3049 (add_subroutines): adding new intrinsics. 3050 * intrinsic.h: prototype for all checking and resolving 3051 functions. 3052 * iresolve.c (gfc_resolve_chdir, gfc_resolve_chdir_sub, 3053 gfc_resolve_hostnm, gfc_resolve_ierrno, gfc_resolve_kill, 3054 gfc_resolve_link, gfc_resolve_rename, gfc_resolve_symlnk, 3055 gfc_resolve_time, gfc_resolve_time8, gfc_resolve_rename_sub, 3056 gfc_resolve_kill_sub, gfc_resolve_link_sub, 3057 gfc_resolve_symlnk_sub, gfc_resolve_sleep_sub, 3058 gfc_resolve_gerror, gfc_resolve_getlog, gfc_resolve_hostnm_sub, 3059 gfc_resolve_perror): new functions to resolve intrinsics. 3060 * trans-intrinsic.c (gfc_conv_intrinsic_function): add case 3061 for new symbols. 3062 30632005-03-19 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3064 3065 * dump-parse-tree.c (gfc_show_expr): Dump name of namespace 3066 in which the variable is declared. 3067 3068 PR fortran/18525 3069 * resolve.c (was_declared): Also check for dummy attribute. 3070 30712005-03-19 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3072 3073 * gfortran.h (arith): Remove ARITH_0TO0. 3074 * arith.c (gfc_arith_error): Remove handling of ARITH_0TO0. 3075 (gfc_arith_power): Remove special casing of zero to integral 3076 power zero. 3077 30782005-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 3079 3080 * Make-lang.in (fortran-warn): Remove -Wno-error. 3081 (expr.o-warn, resolve.o-warn, simplify.o-warn, 3082 trans-common.o-warn): Specify -Wno-error. 3083 30842005-03-17 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3085 3086 * trans-array.c (gfc_trans_static_array_pointer, 3087 get_array_ctor_var_strlen, gfc_conv_array_index_offset): Fix 3088 comment and formatting typos. 3089 30902005-03-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> 3091 3092 * invoke.texi: Fix typos. 3093 30942005-03-15 Zack Weinberg <zack@codesourcery.com> 3095 3096 * Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi. 3097 30982005-03-15 Feng Wang <fengwang@nudt.edu.cn> 3099 3100 * trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag 3101 to zero on label_tree. 3102 31032005-03-15 Feng Wang <fengwang@nudt.edu.cn> 3104 3105 PR fortran/18827 3106 * io.c (resolve_tag): Add checking on assigned label. 3107 (match_dt_format): Does not set symbol assign attribute. 3108 * match.c (gfc_match_goto):Does not set symbol assign attribute. 3109 * resolve.c (resolve_code): Add checking on assigned label. 3110 * trans-common.c (build_field): Deals with common variable assigned 3111 a label. 3112 * trans-stmt.c (gfc_conv_label_variable): New function. 3113 (gfc_trans_label_assign): Use it. 3114 (gfc_trans_goto): Ditto. 3115 * trans-io.c (set_string): Ditto. 3116 * trans.h (gfc_conv_label_variable): Add prototype. 3117 31182005-03-14 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3119 3120 PR fortran/20467 3121 * symbol.c (check_conflict): A dummy argument can't be a statement 3122 function. 3123 31242005-03-14 Zdenek Dvorak <dvorakz@suse.cz> 3125 3126 * fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert 3127 the argument of the shift to the unsigned type. 3128 31292005-03-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3130 3131 PR fortran/16907 3132 * resolve.c (gfc_resolve_index): Allow REAL indices as an extension. 3133 31342005-03-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3135 3136 PR fortran/20323 3137 * resolve.c (gfc_resolve): Check if character lengths are 3138 specification expressions. 3139 31402005-03-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3141 3142 PR fortran/20361 3143 * trans-array.c (gfc_stack_space_left): Remove unused variable. 3144 (gfc_can_put_var_on_stack): Move to trans-decl.c, remove #if 0'ed 3145 code. 3146 * trans-array.h (gfc_stack_space_left, gfc_can_put_var_on_stack): 3147 Remove declaration / prototype. 3148 * trans-common.c (build_equiv_decl): Give union a name. Check if 3149 it can be put on the stack. 3150 * trans-decl.c (gfc_stack_space_left): Move function here. 3151 (gfc_build_qualified_array): Fix comment typo. 3152 * trans.h (gfc_put_var_on_stack): Add prototype. 3153 31542005-03-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 3155 3156 * Make-lang.in (fortran-warn): Set to $(STRICT_WARN) -Wno-error. 3157 * decl.c, trans.c: Don't use C++ style comments. 3158 * gfortran.h (sym_flavor, procedure_type, sym_intent, gfc_access, 3159 ifsrc): Give names to enums and use ENUM_BITFIELD. 3160 (gfc_access): Remove trailing comma. 3161 31622005-03-05 Steven G. Kargl <kargls@comcast.net> 3163 3164 PR 19936 3165 * primary.c (match_complex_constant): Mangled complex constant may 3166 be an implied do-loop. Give implied do-loop matcher a chance. 3167 31682005-03-05 Steven G. Kargl <kargls@comcast.net> 3169 3170 PR fortran/19754 3171 * resolve.c (compare_shapes): New function. 3172 (resolve_operator): Use it. 3173 31742005-03-05 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3175 3176 * trans-const.c (gfc_conv_constant_to_tree): Use correct tree 3177 type for COMPLEX constants. 3178 31792005-03-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3180 3181 PR fortran/19673 3182 * trans-expr.c (gfc_conv_function_call): Correctly dereference 3183 argument from a pointer function also if it has a result clause. 3184 31852005-03-04 Steven G. Kargl <kargls@comcast.net> 3186 3187 * expr.c (gfc_copy_shape_excluding): Change && to ||. 3188 31892005-03-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3190 3191 * trans-intrinsic.c (gfc_get_symbol_for_expr): Fix comment typo, 3192 clarify comment. 3193 31942005-02-28 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3195 (port from g95) 3196 3197 PR fortran/19479 3198 * simplify.c (gfc_simplify_bound): Rename to ... 3199 (simplify_bound): ... this and overhaul. 3200 32012005-02-28 Steven G. Kargl <kargl@gcc.gnu.org> 3202 3203 * trans-intrinsic.c (gfc_conv_intrinsic_iargc): remove boolean argument. 3204 (gfc_conv_intrinsic_function): update function calls 3205 32062005-02-27 Steven G. Kargl <kargl@gcc.gnu.org> 3207 3208 PR fortran/20058 3209 * trans-types.c (gfc_max_integer_kind): Declare 3210 (gfc_init_kinds): Initialize it. 3211 * gfortran.h (gfc_max_integer_kind): extern it. 3212 * primary.c (match_boz_constant): Use it; remove gfortran extension 3213 of kind suffixes on BOZ literal constants 3214 3215 32162005-02-27 Steven G. Kargl <kargls@comcast.net> 3217 3218 * arith.c (gfc_check_real_range): Remove multiple returns 3219 (check_result): New function. 3220 (gfc_arith_uminus,gfc_arith_plus,gfc_arith_times, 3221 gfc_arith_divide,gfc_arith_power,gfc_arith_minus): Use it. 3222 3223 32242005-02-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de> 3225 3226 * decl.c, resolve.c, trans-array.c, trans.h: Fix comment typo(s). 3227 3228 32292005-02-24 Tobias Schl"uter <tobias.schlueter@physik.uni-meunchen.de> 3230 3231 Unrevert previously reverted patch. Adding this fix: 3232 * module.c (find_true_name): Deal with NULL module. 3233 32342005-02-24 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3235 3236 Revert yesterday's patch: 3237 2005-02-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3238 3239 * gfortran.h (gfc_component, gfc_actual_arglist, ... 3240 ... argument. Copy string instead of pointing to it. 3241 32422005-02-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3243 3244 * gfortran.h (gfc_get_namespace): Add second argument to prototype. 3245 * intrinsic.c (gfc_intrinsic_init_1): Pass second argument to 3246 gfc_get_namespace. 3247 * module.c (mio_namespace_ref, load_needed): Likewise. 3248 * parse.c (parse_interface, parse_contained): Likewise. Here the 3249 correct second argument matters. 3250 * symbol.c (gfc_get_namespace): Add parent_types argument, only copy 3251 parent's implicit types if this is set. 3252 (gfc_symbol_init_2): Pass second argument to gfc_get_namespace. 3253 * trans-common.c (build_common_decl): Likewise. 3254 3255 * gfortran.h (symbol_attribute): New 'untyped' field, fix comment 3256 formatting. 3257 * symbol.c (gfc_set_default_type): Issue error only once, by setting 3258 and checking 'untyped' attribute. 3259 3260 * gfortran.h (gfc_expr): Move 'operator', 'op1', 'op2', and 'uop' 3261 fields into new struct 'op' inside the 'value' union. 3262 * arith.c (eval_intrinsic): Adapt all users. 3263 * dependency.c (gfc_check_dependency): Likewise. 3264 * dump-parse-tree.c (gfc_show_expr): Likewise. 3265 * expr.c (gfc_get_expr): Don't clear removed fields. 3266 (free_expr0, gfc_copy_expr, gfc_type_convert_binary, 3267 gfc_is_constant_expr, simplify_intrinsic_op, check_init_expr, 3268 check_intrinsic_op): Adapt to new field names. 3269 * interface.c (gfc_extend_expr): Likewise. Also explicitly 3270 nullify 'esym' and 'isym' fields of new function call. 3271 * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul): 3272 Adapt to renamed structure fields. 3273 * matchexp.c (build_node, match_level_1, match_expr): Likewise. 3274 * module.c (mio_expr): Likewise. 3275 * resolve.c (resolve_operator): Likewise. 3276 (gfc_find_forall_index): Likewise. Only look through operands 3277 if dealing with EXPR_OP 3278 * trans-array.c (gfc_walk_op_expr): Adapt to renamed fields. 3279 * trans-expr.c (gfc_conv_unary_op, gfc_conv_power_op, 3280 gfc_conv_concat_op, gfc_conv_expr_op): Likewise. 3281 3282 [ Reverted ] 3283 * gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Make 3284 'name' a 'const char *'. 3285 (gfc_symbol): Likewise, also for 'module'. 3286 (gfc_symtree): Make 'name' a 'const char *'. 3287 (gfc_intrinsic_sym): Likewise, also for 'lib_name'. 3288 (gfc_get_gsymbol, gfc_find_gsymbol): Add 'const' qualifier to 3289 'char *' argument. 3290 (gfc_intrinsic_symbol): Use 'gfc_get_string' instead of 'strcpy' to 3291 initialize 'SYM->module'. 3292 * check.c (gfc_check_minloc_maxloc, check_reduction): Check for NULL 3293 pointer instead of empty string. 3294 * dump-parse-tree.c (gfc_show_actual_arglist): Likewise. 3295 * interface.c (gfc_compare_types): Adapt check to account for possible 3296 NULL pointer. 3297 (compare_actual_formal): Check for NULL pointer instead of empty 3298 string. 3299 * intrinsic.c (gfc_current_intrinsic, gfc_current_intrinsic_arg): 3300 Add 'const' qualifier. 3301 (conv_name): Return a heap allocated string. 3302 (find_conv): Add 'const' qualifier to 'target'. 3303 (add_sym): Use 'gfc_get_string' instead of 'strcpy'. 3304 (make_generic): Check for NULL pointer instead of empty string. 3305 (make_alias): Use 'gfc_get_string' instead of 'strcpy'. 3306 (add_conv): No need to strcpy result from 'conv_name'. 3307 (sort_actual): Check for NULL pointer instead of empty string. 3308 * intrinsic.h (gfc_current_intrinsic, gfc_current_intrinsic_arg): 3309 Adapt prototype. 3310 * module.c (compare_true_names): Compare pointers instead of strings 3311 for 'module' member. 3312 (find_true_name): Initialize string fields with gfc_get_string. 3313 (mio_pool_string): New function. 3314 (mio_internal_string): Adapt comment. 3315 (mio_component_ref, mio_component, mio_actual_arg): Use 3316 'mio_pool_string' instead of 'mio_internal_string'. 3317 (mio_symbol_interface): Add 'const' qualifier to string arguments. 3318 Add level of indirection. Use 'mio_pool_string' instead of 3319 'mio_internal_string'. 3320 (load_needed, read_module): Use 'gfc_get_string' instead of 'strcpy'. 3321 (write_common, write_symbol): Use 'mio_pool_string' instead of 3322 'mio_internal_string'. 3323 (write_symbol0, write_symbol1): Likewise, also check for NULL pointer 3324 instead of empty string. 3325 (write_operator, write_generic): Pass correct type variable to 3326 'mio_symbol_interface'. 3327 (write_symtree): Use 'mio_pool_string' instead of 3328 'mio_internal_string'. 3329 * primary.c (match_keyword_arg): Adapt check to possible 3330 case of NULL pointer. Use 'gfc_get_string' instead of 'strcpy'. 3331 * symbol.c (gfc_add_component, gfc_new_symtree, delete_symtree, 3332 gfc_get_uop, gfc_new_symbol): Use 'gfc_get_string' instead of 3333 'strcpy'. 3334 (ambiguous_symbol): Check for NULL pointer instead of empty string. 3335 (gfc_find_gsymbol, gfc_get_gsymbol): Add 'const' qualifier on string 3336 arguments. 3337 * trans-array.c (gfc_trans_auto_array_allocation): Check for NULL 3338 pointer instead of empty string. 3339 * trans-decl.c (gfc_sym_mangled_identifier, 3340 gfc_sym_mangled_function_id, gfc_finish_var_decl, gfc_get_symbol_decl, 3341 gfc_get_symbol_decl): Likewise. 3342 * trans-io.c (gfc_new_nml_name_expr): Add 'const' qualifier to 3343 argument. Copy string instead of pointing to it. 3344 33452005-02-23 Kazu Hirata <kazu@cs.umass.edu> 3346 3347 * intrinsic.h, st.c: Update copyright. 3348 33492005-02-20 Steven G. Kargl <kargls@comcast.net> 3350 3351 * symbol.c: Typos in comments. 3352 33532005-02-20 Steven G. Kargl <kargls@comcast.net> 3354 3355 * expr.c (gfc_type_convert_binary): Typo in comment. 3356 33572005-02-19 Steven G. Kargl <kargls@comcast.net> 3358 3359 * check.c (gfc_check_selected_int_kind): New function. 3360 * intrinsic.h: Prototype it. 3361 * intrinsic.c (add_function): Use it. 3362 * simplify (gfc_simplify_ceiling,gfc_simplify_floor): Change 3363 BT_REAL to BT_INTEGER and use gfc_default_integer_kind. 3364 33652005-02-19 Steven G. Kargl <kargls@comcast.net> 3366 3367 * check.c (gfc_check_int): improve checking of optional kind 3368 * simplify.c (gfc_simplify_int): Change BT_REAL to BT_INTEGER 3369 33702005-02-19 Steven G. Kargl <kargls@comcast.net> 3371 3372 * check.c (gfc_check_achar): New function 3373 * intrinsic.h: Prototype it. 3374 * intrinsic.c (add_function): Use it. 3375 33762005-02-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3377 3378 * trans-stmt.c (generate_loop_for_temp_to_lhs, 3379 generate_loop_for_rhs_to_temp): Remove if whose condition is 3380 always true. 3381 33822005-02-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3383 3384 * symbol.c (gfc_use_ha_derived): Remove, fold functionality into ... 3385 (gfc_use_derived): ... this function. 3386 33872005-02-09 Richard Henderson <rth@redhat.com> 3388 3389 * f95-lang.c (gfc_init_builtin_functions): Call 3390 build_common_builtin_nodes; do not define any functions handled 3391 by it. 3392 33932005-02-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3394 3395 * expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for 3396 EXPR_SUBSTRING. 3397 (gfc_is_constant_expr): Check 'ref' to determine if substring 3398 reference is constant. 3399 (gfc_simplify_expr): Simplify 'ref' instead of 'op1' and 'op2'. 3400 (check_init_expr, check_restricted): Check 'ref' instead of 'op1' 3401 and 'op2'. 3402 * module.c (mio_expr): Read / write 'ref' instead of 'op1' and 'op2'. 3403 34042005-02-07 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3405 3406 * gfortran.h (gfc_add_dimension, gfc_add_result, gfc_add_save, 3407 gfc_add_dummy, gfc_add_generic, gfc_add_in_common, gfc_add_data, 3408 gfc_add_in_namelist, gfc_add_sequence, gfc_add_function, 3409 gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry, 3410 gfc_add_procedure): Add argument. 3411 * array.c (gfc_set_array_spec), decl.c (var_element, get_proc_name, 3412 gfc_match_null, match_type_spec, match_attr_spec, 3413 gfc_match_formal_arglist, match_result, gfc_match_function_decl): 3414 Update callers to match. 3415 (gfc_match_entry): Likewise, fix comment typo. 3416 (gfc_match_subroutine, attr_decl1, gfc_add_dimension, 3417 access_attr_decl, do_parm, gfc_match_save, gfc_match_modproc, 3418 gfc_match_derived_decl): Update callers. 3419 * interface.c (gfc_match_interface): Likewise. 3420 * match.c (gfc_match_label, gfc_add_flavor, 3421 gfc_match_call, gfc_match_common, gfc_match_block_data, 3422 gfc_match_namelist, gfc_match_module, gfc_match_st_function): 3423 Likewise. 3424 * parse.c (parse_derived, parse_interface, parse_contained), 3425 primary.c (gfc_match_rvalue, gfc_match_variable): Likewise. 3426 * resolve.c (resolve_formal_arglist, resolve_entries): Update callers. 3427 * symbol.c (check_conflict, check_used): Add new 'name' argument, 3428 use when printing error message. 3429 (gfc_add_dimension, gfc_add_result, gfc_add_save, gfc_add_dummy, 3430 gfc_add_generic, gfc_add_in_common, gfc_add_data, 3431 gfc_add_in_namelist, gfc_add_sequence, gfc_add_function, 3432 gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry, 3433 gfc_add_procedure): Add new 'name' argument. Pass along to 3434 check_conflict and check_used. 3435 (gfc_add_allocatable, gfc_add_external, gfc_add_intrinsic, 3436 gfc_add_optional, gfc_add_pointer, gfc_add_target, gfc_add_elemental, 3437 gfc_add_pure, gfc_add_recursive, gfc_add_intent, 3438 gfc_add_explicit_interface, gfc_copy_attr): Pass NULL for new 3439 argument in calls to any of the modified functions. 3440 34412005-02-06 Joseph S. Myers <joseph@codesourcery.com> 3442 3443 * gfortran.texi: Don't give last update date. 3444 34452005-01-30 Richard Henderson <rth@redhat.com> 3446 3447 * options.c (gfc_init_options): Zero flag_errno_math. 3448 34492005-01-29 Paul Brook <paul@codesourcery.com> 3450 3451 PR fortran/18565 3452 * check.c (real_or_complex_check): New function. 3453 (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): New functions. 3454 * intrinsic.c (add_functions): Use new check functions. 3455 * intrinsic.h (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): 3456 Add prototypes. 3457 34582005-01-29 Steven G. Kargl <kargls@comcast.net> 3459 3460 PR fortran/19589 3461 * expr.c (gfc_check_assign): Check for conformance of logical operands 3462 34632005-01-27 Steven Bosscher <stevenb@suse.de> 3464 3465 * trans-decl.c (gfc_build_label_decl): Set DECL_ARTIFICAL and 3466 TREE_USED for all labels. 3467 (gfc_trans_entry_master_switch): Use it instead of building a 3468 label by hand. 3469 * trans-io.c (add_case): Likewise. 3470 * trans-stmt.c (gfc_trans_integer_select): Likewise. 3471 34722005-01-23 Paul Brook <paul@codesourcery.com> 3473 Steven G. Kargl <kargls@comcast.net> 3474 3475 PR fortran/17941 3476 * arith.c (gfc_convert_real): Remove sign handling. 3477 * primary.c (match_digits): Allow whitespace after initial sign. 3478 (match_real_const): Handle signs here. Allow whitespace after 3479 initial sign. Remove dead code. 3480 (match_const_complex_part): Remove. 3481 (match_complex_part): Use match_{real,integer}_const. 3482 (match_complex_constant): Cross-promote integer types. 3483 34842005-01-23 James A. Morrison <phython@gcc.gnu.org> 3485 3486 PR fortran/19294 3487 * iresolve.c (gfc_resolve_transpose): Resolve to transpose_c4 or 3488 transpose_c8 for complex types. 3489 34902005-01-23 Kazu Hirata <kazu@cs.umass.edu> 3491 3492 * data.c, dependency.c, f95-lang.c, io.c, trans-array.c, 3493 trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-io.c, 3494 trans-stmt.c, trans-types.c, trans.h: Fix comment typos. 3495 Follow spelling conventions. 3496 34972005-01-22 Bud Davis <bdavis9659@comcast.net> 3498 3499 PR fortran/19313 3500 * trans-io.c (gfc_trans_inquire): Added code to support 3501 pad. 3502 35032005-01-22 Steven G. Kargl <kargls@comcast.net> 3504 3505 * intrinsic.c (make_alias): Add standard argument. 3506 (add_functions): Update make_alias calls. 3507 35082005-01-22 Paul Brook <paul@codesourcery.com> 3509 3510 * trans-expr.c (gfc_conv_function_call): Remove bogus TODO. 3511 35122005-01-22 Paul Brook <paul@codesourcery.com> 3513 3514 * gfortran.h (gfc_check_access): Add prototype. 3515 * match.c (gfc_match_namelist): Remove TODO. 3516 * module.c (check_access): Rename ... 3517 (gfc_check_access): ... to this. Boolify. Update callers. 3518 * resolve.c (resolve_symbol): Check for private objects in public 3519 namelists. 3520 35212005-01-22 Paul Brook <paul@codesourcery.com> 3522 3523 * primary.c (gfc_match_rvalue): Only apply implicit type if variable 3524 does not have an explicit type. 3525 (gfc_match_variable): Resolve implicit derived types in all cases. 3526 Resolve contained function types from their own namespace, not the 3527 parent. 3528 * resolve.c (resolve_contained_fntype): Remove duplicate sym->result 3529 checking. Resolve from the contained namespace, not the parent. 3530 35312005-01-22 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3532 3533 PR fortran/19543 3534 * trans-const.c (gfc_conv_constant_to_tree): Give logical 3535 constants the correct type. 3536 3537 PR fortran/19194 3538 * trans-io.c (ADD_STRING): Use gfc_charlen_type_node for string 3539 length parameters. 3540 (gfc_build_io_library_fndecls): 'rec' and 'recl_in' are not 3541 pointer fields. 3542 35432005-01-18 Kazu Hirata <kazu@cs.umass.edu> 3544 3545 * arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c, 3546 gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c, 3547 match.c, matchexp.c, misc.c, module.c, options.c, parse.c, 3548 scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c, 3549 trans-io.c, trans-stmt.c, trans.c: Update copyright. 3550 35512005-01-17 Ira Rosen <irar@il.ibm.com> 3552 3553 * f95-lang.c (gfc_init_builtin_functions): Call targetm.init_builtins. 3554 35552005-01-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> 3556 3557 PR fortran/19182 3558 * error.c (error_char): Line-buffer errors / warnings. 3559 35602005-01-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> 3561 3562 * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Fix signed / 3563 unsigned issue. Use build_int_cst instead of converting 3564 integer_zero_node. Remove unnecessary conversion. 3565 3566 * trans-types.c (gfc_get_character_type_len): Use 3567 gfc_charlen_type_node as basic type for the range field. 3568 3569 * trans-intrinsic.c (build_fixbound_expr, 3570 gfc_conv_intrinsic_bound, gfc_conv_intrinsic_anyall, 3571 gfc_conv_intrinsic_count, gfc_conv_intrinsic_btest, 3572 gfc_conv_intrinsic_singlebitop): Use 'build_int_cst' instead 3573 of converting 'integer_zero_node' or 'integer_one_node' 3574 respectively. 3575 (gfc_conv_intrinsic_ishftc): Same, but store in local variable to 3576 evade re-building. 3577 (gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_rrspacing, 3578 gfc_conv_intrinsic_trim, gfc_conv_intrinsic_iargc): Use 3579 'build_int_cst' instead of converting 'integer_zero_node' or 3580 'integer_one_node' respectively. 3581 3582 * trans-intrinsic.c (gfc_conv_intrinsic_index, 3583 gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove 3584 'gfc'-prefix from local variable, remove dead code, use correct 3585 type when inserting argument. 3586 3587 * trans-intrinsic.c, trans-types.c: Update copyright years. 3588 35892005-01-16 Steven G. Kargl <kargls@comcast.net> 3590 3591 PR 19168 3592 * resolve.c (check_case_overlap): Typo in comment. 3593 (validate_case_label_expr): Fix up kinds of case values 3594 (resolve_select): Properly handle kind mismatches. 3595 35962005-01-16 Paul Brook <paul@codesourcery.com> 3597 3598 PR fortran/17675 3599 * trans-common.c (translate_common): Remove duplicate function call. 3600 (finish_equivalences): Preserve alignment when biasing offsets. 3601 36022005-01-15 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de 3603 3604 * primary.c (check_digit): Call 'ISXDIGIT' instead of assuming 3605 ASCII-like character encoding. 3606 36072005-01-14 Steven G. Kargl <kargls@comcast.net> 3608 3609 * resolve.c (compare_case): Cleanup. 3610 36112005-01-14 Steven G. Kargl <kargls@comcast.net> 3612 3613 * resolve.c (compare_case): Give arguments correct type. 3614 36152005-01-13 Kazu Hirata <kazu@cs.umass.edu> 3616 3617 * iresolve.c, trans-common.c, trans-types.c: Fix comment 3618 typos. 3619 36202005-01-09 Paul Brook <paul@codesourcery.com> 3621 3622 PR fortran/17675 3623 * trans-common.c (current_common, current_offset): Remove. 3624 (create_common): Add head argument. 3625 (align_segment): New function. 3626 (apply_segment_offset): New function. 3627 (translate_common): Merge code from new_segment. Handle alignment. 3628 (new_segment): Remove. 3629 (finish_equivalences): Ensure proper alignment. 3630 36312005-01-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3632 3633 * trans-const.c: Don't include unused math.h. 3634 3635 * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl, 3636 gfc_conv_intrinsic_bound, gfc_conv_intrinsic_minmaxloc, 3637 gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_len): Remove 3638 trailing whitespace. 3639 (prepare_arg_info): Fix formatting, indenting and remove trailing 3640 whitespace. 3641 (gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_trim): Remove 3642 trailing whitespace. 3643 3644 * arith.c (arctangent2, gfc_arith_init_1, gfc_arith_done_1, 3645 gfc_constant_result, gfc_range_check, gfc_arith_power, 3646 eval_type_intrinsic0, eval_intrinsic_f2, gfc_real2real, 3647 gfc_real2complex, gfc_complex2int, gfc_complex2real, 3648 gfc_complex2complex): Fix whitespace issues. 3649 * check.c (must_be, type_check, numeric_check, int_or_real_check, 3650 logical_array_check, array_check, scalar_check, nonoptional_check, 3651 variable_check, dim_check, check_a_kind, gfc_check_a_ikind, 3652 gfc_check_a_xkind, gfc_check_abs, gfc_check_all_any, 3653 gfc_check_allocated, gfc_check_a_p, gfc_check_besn, 3654 gfc_check_btest, gfc_check_char, gfc_check_cmplx, gfc_check_count, 3655 gfc_check_cshift, gfc_check_dcmplx, gfc_check_dble, 3656 gfc_check_digits, gfc_check_dot_product, gfc_check_eoshift, 3657 gfc_check_fnum, gfc_check_g77_math1, gfc_check_huge, gfc_check_i, 3658 gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset, 3659 gfc_check_idnint, gfc_check_ieor, gfc_check_index, gfc_check_int, 3660 gfc_check_ior, gfc_check_ishft, gfc_check_ishftc, gfc_check_kind, 3661 gfc_check_lbound, gfc_check_logical, min_max_args, 3662 gfc_check_min_max_integer, gfc_check_min_max_real, 3663 gfc_check_min_max_double, gfc_check_matmul, 3664 gfc_check_minval_maxval, gfc_check_merge, gfc_check_nearest, 3665 gfc_check_pack, gfc_check_precision, gfc_check_radix, 3666 gfc_check_range, gfc_check_real, gfc_check_repeat, 3667 gfc_check_scale, gfc_check_scan, gfc_check_selected_real_kind, 3668 gfc_check_set_exponent): Fix formatting issues. 3669 (gfc_check_size, gfc_check_sign): Alphabetize function order, 3670 remove whitespace-only line. 3671 (gfc_check_fstat, gfc_check_fstat_sub, gfc_check_stat, 3672 gfc_check_stat_sub, gfc_check_transfer, gfc_check_transpose, 3673 gfc_check_ubound, gfc_check_unpack, gfc_check_verify, gfc_check_x, 3674 gfc_check_cpu_time, gfc_check_date_and_time, gfc_check_mvbits, 3675 gfc_check_random_number, gfc_check_random_seed, 3676 gfc_check_second_sub, gfc_check_system_clock, 3677 gfc_check_getcwd_sub, gfc_check_exit, gfc_check_flush, 3678 gfc_check_umask, gfc_check_umask_sub, gfc_check_unlink, 3679 gfc_check_unlink_sub): Fix formatting issues. 3680 36812005-01-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 3682 3683 * gfortran.h: Remove outdated comment. Don't include stdio.h 3684 explicitly. 3685 36862005-01-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> 3687 3688 * gfortranspec.c (lang_specific_driver): Change year to 2005 in 3689 output of 'gfortran --version'. 3690 36912005-01-03 Steven G. Kargl <kargls@comcast.net> 3692 3693 * arith.c: Add system.h; remove string.h 3694 * decl.c: Ditto 3695 * matchexp.c: Ditto 3696 * parse.c: Ditto 3697 * resolve.c: Ditto 3698 * st.c: Ditto 3699 * check.c: Remove stdlib.h and stdarg.h 3700 * error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h 3701 * expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h 3702 * f95-lang.c: Add system.h; remove stdio.h 3703 * interface.c: Add system.h; remove stdlib.h and string.h 3704 * intrinsic.c: Remove stdarg.h, stdio.h, and string.h 3705 * io.c: Remove string.h 3706 * simplify.c: Ditto 3707 * match.c: Remove stdarg.h and string.h 3708 * misc.c: Update copyright; add system.h; remove stdlib.h, 3709 string.h, and sys/stat.h 3710 * module.c: Add system.h; remove string.h, stdio.h, errno.h, 3711 unistd.h, and time.h 3712 * option.c: Remove string.h and stdlib.h 3713 * primary.c: Ditto 3714 * scanner.c: Update copyright; add system.h; remove stdlib.h, 3715 stdio.h, string.h, and strings.h 3716 * symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h 3717 * trans-array.c: Remove stdio.h and gmp.h 3718 * trans-const.c: Ditto 3719 * trans-expr.c: Ditto 3720 * trans-io.c: Ditto 3721 * trans-stmt.c: Ditto 3722 * trans.c: Ditto 3723 * trans-intrinsic.c: Remove stdio.h and string.h 3724 3725 3726Copyright (C) 2005 Free Software Foundation, Inc. 3727 3728Copying and distribution of this file, with or without modification, 3729are permitted in any medium without royalty provided the copyright 3730notice and this notice are preserved. 3731